From d2462f64f29170d4740c4d8aa9437470e0c69181 Mon Sep 17 00:00:00 2001 From: Matt Brzezinski Date: Mon, 30 Mar 2020 10:48:39 -0500 Subject: [PATCH 01/13] Added dependencies to the Project.toml --- Project.toml | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/Project.toml b/Project.toml index 0c727cb57f..7907d6fffb 100644 --- a/Project.toml +++ b/Project.toml @@ -1,4 +1,12 @@ name = "AWS" uuid = "fbe9abb3-538b-5e4e-ba9e-bc94f4f92ebc" license = "MIT" -version = "1.0.0" \ No newline at end of file +version = "1.0.0" + +[deps] +AWSCore = "4f1ea46c-232b-54a6-9b17-cc2d0f3e6598" +DataStructures = "864edb3b-99cc-5e75-8d2d-829cb0a9cfe8" +HTTP = "cd3eb016-35fb-5094-929b-558a96fad6f3" +JSON = "682c06a0-de6a-54ab-a142-c8b1cf79cde6" +SymDict = "2da68c74-98d7-5633-99d6-8493888d7b1e" +Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" From fbdd6900f103c4b802756f85fdff1747cbd89bb6 Mon Sep 17 00:00:00 2001 From: Matt Brzezinski Date: Mon, 30 Mar 2020 10:51:32 -0500 Subject: [PATCH 02/13] Ignoring .DS_STORE --- .gitignore | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index ceceecedf5..245ab05cec 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ Manifest.toml -.idea/* \ No newline at end of file +.idea/* +.DS_Store \ No newline at end of file From 00d95abf8c4ff4f99a601c1ccd901f2fcfbef33b Mon Sep 17 00:00:00 2001 From: Matt Brzezinski Date: Mon, 30 Mar 2020 10:54:05 -0500 Subject: [PATCH 03/13] Generate AWS Services in Julia code --- src/AWS.jl | 95 ++++ src/AWSExceptions.jl | 15 + src/AWSMetadata.jl | 96 ++++ src/AWSMetadataUtilities.jl | 377 +++++++++++++++ src/metadata.json | 882 ++++++++++++++++++++++++++++++++++++ 5 files changed, 1465 insertions(+) create mode 100644 src/AWS.jl create mode 100644 src/AWSExceptions.jl create mode 100644 src/AWSMetadata.jl create mode 100644 src/AWSMetadataUtilities.jl create mode 100644 src/metadata.json diff --git a/src/AWS.jl b/src/AWS.jl new file mode 100644 index 0000000000..0984dbfcef --- /dev/null +++ b/src/AWS.jl @@ -0,0 +1,95 @@ +module AWS + +include("AWSMetadataUtilities.jl") + +export @service, AWSServices, RestJSONService, JSONService, RestXMLService, QueryService + +using AWSCore +using SymDict + +macro service(module_name::Symbol) + service_name = "services/" * lowercase(string(module_name)) * ".jl" + service_name = joinpath(@__DIR__, service_name) + + return Expr(:toplevel, + :(module ($(esc(module_name))) + Base.include($(esc(module_name)), $(esc(service_name))) + end)) +end + +mutable struct RestXMLService + name::String + api_version::String +end + +mutable struct QueryService + name::String + api_version::String +end + +mutable struct JSONService + name::String + api_version::String + + json_version::String + target::String +end + +mutable struct RestJSONService + name::String + api_version::String +end + +function (service::RestXMLService)(aws::AWSConfig, request_method::String, request_uri::String, args=[]) + return AWSCore.service_rest_xml( + aws; + service=service.name, + version=service.api_version, + verb=request_method, + resource=request_uri, + args=args + ) +end +(service::RestXMLService)(request_method::String, request_uri::String, args=[]) = service(default_aws_config(), request_method, request_uri, args) +(service::RestXMLService)(a...; b...) = service(a..., b) + +function (service::QueryService)(aws::AWSConfig, operation, args=[]) + return AWSCore.service_query( + aws; + service=service.name, + version=service.api_version, + operation=operation, + args=args + ) +end +(service::QueryService)(operation, args=[]) = service(default_aws_config(), operation, args) +(service::QueryService)(a...; b...) = service(a..., b) + +function (service::JSONService)(aws::AWSConfig, operation, args=[]) + return AWSCore.service_json( + aws; + service=service.name, + version=service.api_version, + json_version=service.json_version, + target=service.target, + operation=operation, + args=args + ) +end +(service::JSONService)(operation, args=[]) = service(default_aws_config(), operation, args) +(service::JSONService)(a...; b...) = service(a..., b) + +function (service::RestJSONService)(aws::AWSConfig, request_method::String, request_uri::String, args=[]) + return AWSCore.service_rest_json( + aws; + service=service.name, + version=service.api_version, + verb=request_method, + resource=request_uri, + args=args + ) +end +(service::RestJSONService)(request_method::String, request_uri::String, args=[]) = service(default_aws_config(), request_method, request_uri, args) +(service::RestJSONService)(a...; b...) = service(a..., b) + +end # module AWS \ No newline at end of file diff --git a/src/AWSExceptions.jl b/src/AWSExceptions.jl new file mode 100644 index 0000000000..73f97b84c5 --- /dev/null +++ b/src/AWSExceptions.jl @@ -0,0 +1,15 @@ +module AWSExceptions + +export ProtocolNotDefined, InvalidFileName + +struct ProtocolNotDefined <: Exception + message::String +end +show(io::IO, e::ProtocolNotDefined) = println(io, e.message) + +struct InvalidFileName <: Exception + message::String +end +show(io::IO, e::InvalidFileName) = println(io, e.message) + +end \ No newline at end of file diff --git a/src/AWSMetadata.jl b/src/AWSMetadata.jl new file mode 100644 index 0000000000..6def0fdc4b --- /dev/null +++ b/src/AWSMetadata.jl @@ -0,0 +1,96 @@ +module AWSMetadata + +using DataStructures: OrderedDict +using HTTP +using JSON + +include("AWSMetadataUtilities.jl") + +function parse_aws_metadata() + function _process_service(file::OrderedDict{String, Any}, version::String) + data_changed = true + push!(metadata, file["name"] => Dict("version" => version, "sha" => file["sha"])) + push!(services_modified, file) + end + + metadata_path = joinpath(@__DIR__, "metadata.json") + metadata = JSON.parsefile(metadata_path, dicttype=OrderedDict) + + files = AWSMetadataUtilities._get_aws_sdk_js_files() + + data_changed = false + services_modified = OrderedDict[] + + for file in files + service_name, version = AWSMetadataUtilities._get_service_and_version(file["name"]) + filename = file["name"] + + # AWS has released a new service API + if !haskey(metadata, filename) + println(service_name, " does not exist in metadata.") + _process_service(file, version) + else + # Check if the service API has changed since the last run + if metadata[filename]["sha"] != file["sha"] + println(service_name, " sha hashes do not match, updating.") + _process_service(file, version) + end + end + end + + if data_changed + _generate_low_level_wrappers(files) + _generate_high_level_wrapper(services_modified) + open(metadata_path, "w") do f + print(f, json(OrderedDict(metadata), 2)) + end + end +end + +function _generate_low_level_wrappers(services::Array{OrderedDict}) + service_definitions = AWSMetadataUtilities._generate_low_level_definitions(services) + + template = """ + # This is file is auto-generated by AWSMetadata.jl + + module AWSServices + + include("AWS.jl") + + $(join(service_definitions, "\n")) + + end + """ + + services_path = joinpath(@__DIR__, "AWSServices.jl") + open(services_path, "w") do f + print(f, template) + end + + return template +end + +function _generate_high_level_wrapper(services::Array{OrderedDict}) + for service in services + service_name = service["name"] + println("Generating high level wrapper for $service_name") + service = JSON.parse(String(HTTP.get(service["download_url"]).body)) + service_name = lowercase(service["metadata"]["serviceId"]) + service_name = replace(service_name, ' ' => '_') + operations = service["operations"] + shapes = service["shapes"] + + protocol = service["metadata"]["protocol"] + + operations = AWSMetadataUtilities._generate_high_level_definitions(service_name, protocol, operations, shapes) + + service_path = joinpath(@__DIR__, "services/$service_name.jl") + open(service_path, "w") do f + println(f, "include(\"../AWSServices.jl\")") + println(f, "using .AWSServices: $service_name\n") + print(f, join(operations, "\n")) + end + end +end + +end \ No newline at end of file diff --git a/src/AWSMetadataUtilities.jl b/src/AWSMetadataUtilities.jl new file mode 100644 index 0000000000..6750e957f1 --- /dev/null +++ b/src/AWSMetadataUtilities.jl @@ -0,0 +1,377 @@ +module AWSMetadataUtilities + +include("AWSExceptions.jl") + +using .AWSExceptions +using DataStructures: OrderedDict +using HTTP +using JSON + +export _get_aws_sdk_js_files, _get_service_and_version, _filter_latest_service_version, + _generate_low_level_definition, _documentation_cleaning, _get_function_parameters, + _generate_high_level_definition, _generate_high_level_definitions, + InvalidFileName, ProtocolNotDefined + +""" + _get_aws_api_definitions() + +Get a list of all AWS service API definition files from the `awsk-sdk-js` GitHub repository. + +# Returns +- ``: List of AWS service API definition files +""" +function _get_aws_sdk_js_files() + headers = ["User-Agent" => "JuliaCloud/AWS.jl"] + url = "https://api.github.com/repos/aws/aws-sdk-js/contents/apis" + + req = HTTP.get(url, headers) + files = JSON.parse(String(req.body), dicttype=OrderedDict) + filter!(f -> occursin(r".normal.json$", f["name"]), files) # Only get ${Service}.normal.json files + files = _filter_latest_service_version(files) + + return files +end + +""" + _filter_latest_service_version(services::Array{Any}) + +Return a list of all AWS Services and their latest version. + +# Arguments +- `services::Array)`: List of all AWS APIs and their versions + +# Returns +- `latest_versions::Dict[]`: List of the latest AWS Service definitions +""" +function _filter_latest_service_version(services::Array) + seen_services = String[] + latest_versions = OrderedDict[] + + services = reverse(services) + + for service in services + service_name, _ = _get_service_and_version(service["name"]) + + if !(service_name in seen_services) + push!(seen_services, service_name) + push!(latest_versions, service) + end + end + + return latest_versions +end + +""" + _get_service_and_version(filename::String) + +Get the `service` and `version` from a filename. + +# Arguments +- `filename`: Name of the file, ex. `{Service}-{Version}.normal.json` + +# Returns +- `Tuple`: (`service`, `version`) +""" +function _get_service_and_version(filename::String) + try + service_and_version = join(split(filename, '.')[1:end-2],'.') + service_and_version = split(service_and_version, '-') + service = join(service_and_version[1:end-3], '-') + version = join(service_and_version[end-2:end], '-') + + return (service, version) + catch BoundsError + throw(InvalidFileName("$filename is an invalid AWS JSON filename.")) + end +end + +""" + _generate_low_level_definitions(services::Array{OrderedDict{String, Any}}) + +Get the low-level definitions for all AWS Services. + +# Arguments +- `services::Array{OrderedDict{String, Any}}`: List of AWS Services to generate low-level definitions + +# Returns +- `String[]`: List of low-level service code to be written into `AWSServices.jl` +""" +function _generate_low_level_definitions(services::Array{OrderedDict}) + service_definitions = String[] + + for service in services + service_name = service["name"] + println("Generating low level wrapper for $service_name") + + # Get the contents of the ${Service}.normal.json file + request = HTTP.get(service["download_url"]) + service_metadata = JSON.parse(String(request.body))["metadata"] + + definition = _generate_low_level_definition(service_metadata) + push!(service_definitions, definition) + end + + return service_definitions +end + +""" + _generate_low_level_definition(service::Dict{String, Any}) + +Get the low-level definition for an AWS Service. + +# Arguments +- `service::Dict{String, Any}`: AWS Service to generate the low-level code definition + +# Returns +- `String`: Low-level definition for the AWS Service + +# Throws +- `ProtocolNotFound`: If `service` is using a protocol that's not either `[rest-xml, rest-json, json, query]` +""" +function _generate_low_level_definition(service::Dict) + protocol = service["protocol"] + service_name = service["endpointPrefix"] + service_id = replace(lowercase(service["serviceId"]), ' ' => '_') + api_version = service["apiVersion"] + + if protocol == "rest-xml" + return "const $service_id = AWS.RestXMLService(\"$service_name\", \"$api_version\")" + elseif protocol in ["ec2", "query"] + return "const $service_id = AWS.QueryService(\"$service_name\", \"$api_version\")" + elseif protocol == "rest-json" + return "const $service_id = AWS.RestJSONService(\"$service_name\", \"$api_version\")" + elseif protocol == "json" + json_version = service["jsonVersion"] + target = service["targetPrefix"] + return "const $service_id = AWS.JSONService(\"$service_name\", \"$api_version\", \"$json_version\", \"$target\")" + else + throw(ProtocolNotDefined("$service_id is using a new protocol; $protocol which is not supported.")) + end +end + +""" + _documentation_cleaning(documentation::String) + +Clean up the documentation to make it Julia compiler and human-readable. + +- Remove anything in-between <> HTML tags +- Remove any dollar signs +- Remove any \\ + +# Arguments +- `documentation::String`: Documentation to be cleaned + +# Returns +- `String`: Cleaned documentation string +""" +function _documentation_cleaning(documentation::String) + documentation = replace(documentation, r"\<.*?\>" => "") + documentation = replace(documentation, '$' => ' ') + documentation = replace(documentation, "\\" => ' ') + + return documentation +end + +""" + _get_function_parameters(input, shapes) + +Get the required and optional parameters for a given operation. + +# Arguments +- `input::String`: The input object for the given operation +- `shapes::Dict{String, Any}`: Dictionary of all shapes for this AWS Service + +# Returns +- `Tuple(Dict, Dict)`: (required_parameters, optional_parameters) +""" +function _get_function_parameters(input::String, shapes::Dict) + required_parameters = Dict() + optional_parameters = Dict() + + input_shape = shapes[input] + + if haskey(input_shape, "required") + for parameter in input_shape["required"] + required_parameters[parameter] = _documentation_cleaning(get(input_shape["members"][parameter], "documentation", "")) + end + end + + if haskey(input_shape, "members") + for parameter in input_shape["members"] + parameter_name = parameter[1] + + if !haskey(required_parameters, parameter_name) + optional_parameters[parameter_name] = _documentation_cleaning(get(parameter[2], "documentation", "")) + end + end + end + + return (required_parameters, optional_parameters) +end + +""" + _generate_high_level_definitions( + service_name::String, + protocol::String, + operations::Dict{String, Any}, + shapes::Dict{String, Any} + ) + +Generate high-level definitions for the `service`. + +# Arguments +- `service_name::String`: AWS `service` +- `protocol::String`: API protocol type +- `operations::Dict{String, Any}`: Service API operations +- `shapes::Dict{String, Any}`: All input shapes for this service + +# Return +- `List`: List of all high-level definitions and documentation to be written into `services/{Service}.jl` +""" +function _generate_high_level_definitions( + service_name::String, + protocol::String, + operations::Dict, + shapes::Dict +) + operation_definitions = [] + + for operation in operations + operation = operation[2] + name = operation["name"] + method = operation["http"]["method"] + request_uri = operation["http"]["requestUri"] + + documentation = "" + + if haskey(operation, "documentation") + documentation = _documentation_cleaning(operation["documentation"]) + end + + required_parameters = Dict() + optional_parameters = Dict() + + if haskey(operation, "input") + required_parameters, optional_parameters = _get_function_parameters(operation["input"]["shape"], shapes) + end + + operation_definition = _generate_high_level_definition( + service_name, + protocol, + name, + method, + request_uri, + required_parameters, + optional_parameters, + documentation + ) + + push!(operation_definitions, operation_definition) + end + + return operation_definitions +end + +""" + _generate_high_level_definition( + service_name::String, + protocol::String, + name::String, + method::String, + request_uri::String, + required_parameters::Dict, + optional_parameters::Dict, + documentation::String + ) + +Generate the high-level definition for a services function. + +# Arguments +- `name::String`: Name of this services function +- `service_name::String`: Name of the AWS Service +- `protocol::String`: Request protocol for the AWS Service +- `method::String`: Request method for this services function +- `request_uri::String`: Endpoint for this services function +- `required_parameters::Dict{Any, Any}`: Required parameters for this services function +- `optional_parameters::Dict{Any, Any}`: Optional parameters for this services function +- `documentation::String`: Documentation for this services function + +# Return +- `String`: High-level definition in Julia code for the services function +""" +function _generate_high_level_definition( + service_name::String, + protocol::String, + name::String, + method::String, + request_uri::String, + required_parameters::Dict, + optional_parameters::Dict, + documentation::String +) + required_param_keys = collect(keys(required_parameters)) + + operation_definition = """ + \"\"\" + $name() + + $documentation + """ + + # Add in the required parameters if applicable + if !isempty(required_parameters) + operation_definition = operation_definition * """ + + Required Parameters + $(json(required_parameters, 2))""" + end + + # Add in the optional parameters if applicable + if !isempty(optional_parameters) + operation_definition = operation_definition * """ + + Optional Parameters + $(json(optional_parameters, 2))""" + end + + operation_definition = operation_definition * "\"\"\"" + + # Depending on the protocol type of the operation we need to generate a different definition + if protocol in ["json", "query", "ec2"] + if !isempty(required_parameters) + operation_definition = operation_definition * "\n$name(args) = $service_name(\"$name\", args)\n" + else + operation_definition = operation_definition * """\n + $name() = $service_name(\"$name\") + $name(args) = $service_name(\"$name\", args) + """ + end + elseif protocol == "rest-json" + if !isempty(required_parameters) + operation_definition = operation_definition * "\n$name(args) = $service_name(\"$method\", \"$request_uri\", args)\n" + else + operation_definition = operation_definition * """\n + $name() = $service_name(\"$method\", \"$request_uri\") + $name(args) = $service_name(\"$method\", \"$request_uri\", args) + """ + end + elseif protocol == "rest-xml" + if !isempty(required_parameters) + operation_definition = operation_definition * """\n + $name($(join(required_param_keys, ", "))) = $service_name(\"$method\", \"$request_uri\") + $name($(join(required_param_keys, ", ")), args) = $service_name(\"$method\", \"$request_uri\", args) + $name(a...; b...) = $name(a..., b) + """ + else + operation_definition = operation_definition * """\n + $name() = $service_name(\"$method\", \"$request_uri\") + $name(args) = $service_name(\"$method\", \"$request_uri\", args) + $name(a...; b...) = $name(a..., b) + """ + end + end + + return operation_definition +end + +end diff --git a/src/metadata.json b/src/metadata.json new file mode 100644 index 0000000000..55ec56eda5 --- /dev/null +++ b/src/metadata.json @@ -0,0 +1,882 @@ +{ + "xray-2016-04-12.normal.json": { + "sha": "3de33f32448b808e23bdf5eb209036a65908c510", + "version": "2016-04-12" + }, + "workspaces-2015-04-08.normal.json": { + "sha": "4d37833e07619482fb5f73fe405d9a92f4dfc719", + "version": "2015-04-08" + }, + "workmailmessageflow-2019-05-01.normal.json": { + "sha": "1a9844ffbdefb4d7ec1d70a576d1e436b51495ce", + "version": "2019-05-01" + }, + "workmail-2017-10-01.normal.json": { + "sha": "49f48b3b62ce372bfc7051272ac7bb16b45b2573", + "version": "2017-10-01" + }, + "worklink-2018-09-25.normal.json": { + "sha": "9f50522e2e6e8c6ca4aa46a4c43f29779e030540", + "version": "2018-09-25" + }, + "workdocs-2016-05-01.normal.json": { + "sha": "a497ced1f852c2997294ddb85b606e0abea9559e", + "version": "2016-05-01" + }, + "wafv2-2019-07-29.normal.json": { + "sha": "45b7dc1aa731fe842f25b7c54c1b658d27b46c06", + "version": "2019-07-29" + }, + "waf-regional-2016-11-28.normal.json": { + "sha": "7e23e46cca0946b275d514f4abfdc974466d025a", + "version": "2016-11-28" + }, + "waf-2015-08-24.normal.json": { + "sha": "a479ad9112b306de7f6a9fc5225b091192fcf4f4", + "version": "2015-08-24" + }, + "translate-2017-07-01.normal.json": { + "sha": "06fe6c51787deb6f11c6fc0104c1ee2bd06222d3", + "version": "2017-07-01" + }, + "transfer-2018-11-05.normal.json": { + "sha": "d9c9115f7db295032d22d006c60125285a81a2ea", + "version": "2018-11-05" + }, + "transcribe-2017-10-26.normal.json": { + "sha": "1273911354ffa18b54b9f496191f594dd212fe11", + "version": "2017-10-26" + }, + "textract-2018-06-27.normal.json": { + "sha": "c87d7cebe08acd426390a648f8a8380c4a361528", + "version": "2018-06-27" + }, + "swf-2012-01-25.normal.json": { + "sha": "3490934fd2d2a030463a3eee09f1df4ddb5446ac", + "version": "2012-01-25" + }, + "support-2013-04-15.normal.json": { + "sha": "24f2868df5adb4d75b1a96f48755733a4a8fc2fb", + "version": "2013-04-15" + }, + "sts-2011-06-15.normal.json": { + "sha": "91661845174faa5f24959bf337a6dccb3d4fda2c", + "version": "2011-06-15" + }, + "streams.dynamodb-2012-08-10.normal.json": { + "sha": "c8112d651e345d2a7377395b6b1f35d7255bdda4", + "version": "2012-08-10" + }, + "storagegateway-2013-06-30.normal.json": { + "sha": "c0a9d68f721967f024051e29dd62f00060d3c17b", + "version": "2013-06-30" + }, + "states-2016-11-23.normal.json": { + "sha": "932253ce567993ce2204987d30adb4a377743bb2", + "version": "2016-11-23" + }, + "sso-oidc-2019-06-10.normal.json": { + "sha": "0ba7cb7acd25efa5f177008fc593adba0738647c", + "version": "2019-06-10" + }, + "sso-2019-06-10.normal.json": { + "sha": "2e5d984d31268d6282e84f31bdbde7cd76e2761a", + "version": "2019-06-10" + }, + "ssm-2014-11-06.normal.json": { + "sha": "6652656a0bb3aa5f38346d1a087edd94689d5747", + "version": "2014-11-06" + }, + "sqs-2012-11-05.normal.json": { + "sha": "6135114ce100b8fb578f5b278b9d63444fde145e", + "version": "2012-11-05" + }, + "sns-2010-03-31.normal.json": { + "sha": "89541b949f16019e760d6d1ece565f4709e9d2a6", + "version": "2010-03-31" + }, + "snowball-2016-06-30.normal.json": { + "sha": "cafeaaa3f06bfe567ae4330c278f68249f09585a", + "version": "2016-06-30" + }, + "sms-voice-2018-09-05.normal.json": { + "sha": "74f103380b377cec24a01d85c0f1561afa386b2f", + "version": "2018-09-05" + }, + "sms-2016-10-24.normal.json": { + "sha": "d0fe728aee8145bcb25e53a596af6058225ff41e", + "version": "2016-10-24" + }, + "signer-2017-08-25.normal.json": { + "sha": "f649cbfef1ddb92dee8dac94d797fef80cc1e2ee", + "version": "2017-08-25" + }, + "shield-2016-06-02.normal.json": { + "sha": "80d36b88a9a60f4937a13616514d5743be014ca5", + "version": "2016-06-02" + }, + "sesv2-2019-09-27.normal.json": { + "sha": "5c0ec759ec653d13ca89510f631553435ad9aeea", + "version": "2019-09-27" + }, + "servicediscovery-2017-03-14.normal.json": { + "sha": "8ea2720796e15672cdcd98d8981a8e88c25bdad4", + "version": "2017-03-14" + }, + "servicecatalog-2015-12-10.normal.json": { + "sha": "841b2e2dc2c6de81004607dcefd89f4149d10d72", + "version": "2015-12-10" + }, + "service-quotas-2019-06-24.normal.json": { + "sha": "358afb8098cc2f0b1d39c9d66977f2a18796effd", + "version": "2019-06-24" + }, + "serverlessrepo-2017-09-08.normal.json": { + "sha": "44dde70b3d96fddbeb328c4104a0b2abdb565e02", + "version": "2017-09-08" + }, + "securityhub-2018-10-26.normal.json": { + "sha": "b19f5733944dc8016c77c2d2cc3bcd9b6fa40692", + "version": "2018-10-26" + }, + "secretsmanager-2017-10-17.normal.json": { + "sha": "4d289f62f92cbc0fca29fd030427eeb77c8e42f3", + "version": "2017-10-17" + }, + "sdb-2009-04-15.normal.json": { + "sha": "a3331fb4f3f0d485ba6c575e43234f1683e84df1", + "version": "2009-04-15" + }, + "schemas-2019-12-02.normal.json": { + "sha": "b5c801343fe310aeb9b40bce88b010f947be1eac", + "version": "2019-12-02" + }, + "savingsplans-2019-06-28.normal.json": { + "sha": "d2245b65fbce7ad8f69b664f813c51d21c29dbdf", + "version": "2019-06-28" + }, + "sagemaker-a2i-runtime-2019-11-07.normal.json": { + "sha": "a72a669bc16f13d2f59e19cdad7458747af25560", + "version": "2019-11-07" + }, + "sagemaker-2017-07-24.normal.json": { + "sha": "9597554691716a95c41e7dfa1c3383b20c657e34", + "version": "2017-07-24" + }, + "s3control-2018-08-20.normal.json": { + "sha": "09bcacb28a344b10b9673a2f39c5785c7a00e986", + "version": "2018-08-20" + }, + "s3-2006-03-01.normal.json": { + "sha": "23a0dc57c68656488bc26ac0ea7dc993dd2a47e9", + "version": "2006-03-01" + }, + "runtime.sagemaker-2017-05-13.normal.json": { + "sha": "c6c022a1541e8e961fb181d04d82d0d3be31a375", + "version": "2017-05-13" + }, + "runtime.lex-2016-11-28.normal.json": { + "sha": "2f23cc3dd4e38ebfb7ae964880c1490646f64ca3", + "version": "2016-11-28" + }, + "route53resolver-2018-04-01.normal.json": { + "sha": "59fc20dceeb44e280184db7a991896ea02cdd09e", + "version": "2018-04-01" + }, + "route53domains-2014-05-15.normal.json": { + "sha": "4a7dfc942e1aa7519eeb3b7b4340955a720accfc", + "version": "2014-05-15" + }, + "route53-2013-04-01.normal.json": { + "sha": "2d8d9fe969b8aa0818bf8a0276784330ba110291", + "version": "2013-04-01" + }, + "robomaker-2018-06-29.normal.json": { + "sha": "dec88c921ab3f6e6dd31436016e8078c638e2e82", + "version": "2018-06-29" + }, + "resourcegroupstaggingapi-2017-01-26.normal.json": { + "sha": "66700d78673dfddcac798767d8d6daed80cd6b12", + "version": "2017-01-26" + }, + "resource-groups-2017-11-27.normal.json": { + "sha": "1c77c2e51eefbff9f94dae16dd93b5438a7d3d22", + "version": "2017-11-27" + }, + "rekognition-2016-06-27.normal.json": { + "sha": "728bba13c27316f23e10409e63771bef6749d094", + "version": "2016-06-27" + }, + "redshift-2012-12-01.normal.json": { + "sha": "4c9a8b73b4249be577203d1d3512e7bc1ed14018", + "version": "2012-12-01" + }, + "rds-data-2018-08-01.normal.json": { + "sha": "0a0f54f072691ada36234d4fa21eddf0794523a6", + "version": "2018-08-01" + }, + "rds-2014-10-31.normal.json": { + "sha": "b7e24a4de09c3fa976b520f34714dfd69e0f8792", + "version": "2014-10-31" + }, + "ram-2018-01-04.normal.json": { + "sha": "9c6ded832b1d78d49d04f204f5e2b0807ba54b3e", + "version": "2018-01-04" + }, + "quicksight-2018-04-01.normal.json": { + "sha": "8715e2a7252c3533fa6dc0a61d05699907dfc85c", + "version": "2018-04-01" + }, + "qldb-session-2019-07-11.normal.json": { + "sha": "4c2effd65a98688d7a37c6412cae34c79b5636d0", + "version": "2019-07-11" + }, + "qldb-2019-01-02.normal.json": { + "sha": "a366f6be2e4be0054cd302e5ee42effd6de07fd5", + "version": "2019-01-02" + }, + "pricing-2017-10-15.normal.json": { + "sha": "bc77bc673e1019f0003af235b309601153895a1d", + "version": "2017-10-15" + }, + "polly-2016-06-10.normal.json": { + "sha": "2519feb96f9bbdffdd085952cc4a995cbeb9199b", + "version": "2016-06-10" + }, + "pinpoint-email-2018-07-26.normal.json": { + "sha": "a5914a18d190b3ae0d61b40889655d899558e655", + "version": "2018-07-26" + }, + "pinpoint-2016-12-01.normal.json": { + "sha": "b0c5571e43c923f1258cabd8cd512839ce1a690e", + "version": "2016-12-01" + }, + "pi-2018-02-27.normal.json": { + "sha": "3253917f9b27407f2c5f560229cd756b94436d41", + "version": "2018-02-27" + }, + "personalize-runtime-2018-05-22.normal.json": { + "sha": "19bf31923217e495fb3ce8591578fdc655992841", + "version": "2018-05-22" + }, + "personalize-events-2018-03-22.normal.json": { + "sha": "3bee03a6f0b68bc2e705f9bc671867697c31a5aa", + "version": "2018-03-22" + }, + "personalize-2018-05-22.normal.json": { + "sha": "f4967f89d9e3aef7bb63bcd6305c67d8e0be37bc", + "version": "2018-05-22" + }, + "outposts-2019-12-03.normal.json": { + "sha": "c984f9dfa75b546363a126f5a2cf7d35f84f07c7", + "version": "2019-12-03" + }, + "organizations-2016-11-28.normal.json": { + "sha": "5f4a5d2ef910e7a4fa7181ab00838a2b0bab5726", + "version": "2016-11-28" + }, + "opsworkscm-2016-11-01.normal.json": { + "sha": "8e65c1759e83b684911404ca26cb799156a935e2", + "version": "2016-11-01" + }, + "opsworks-2013-02-18.normal.json": { + "sha": "aca1f4cf6d611ca556ddaf280e6d8efc71d95f9f", + "version": "2013-02-18" + }, + "networkmanager-2019-07-05.normal.json": { + "sha": "0ea5954199fa335a65dd7fefa46467ff7bc7727f", + "version": "2019-07-05" + }, + "neptune-2014-10-31.normal.json": { + "sha": "6134e7f95f3498701955545ba365064872157ef8", + "version": "2014-10-31" + }, + "mturk-requester-2017-01-17.normal.json": { + "sha": "77db25a932383149e060269eddf16438bf211f32", + "version": "2017-01-17" + }, + "mq-2017-11-27.normal.json": { + "sha": "fc29a08b059956db07d9657ebfe5b4f977420bf1", + "version": "2017-11-27" + }, + "monitoring-2010-08-01.normal.json": { + "sha": "11fadb2db22c439cdee396fe2b046c98947437a8", + "version": "2010-08-01" + }, + "mobileanalytics-2014-06-05.normal.json": { + "sha": "9b22f45bc17988e3e8550965637f1fab71590800", + "version": "2014-06-05" + }, + "mobile-2017-07-01.normal.json": { + "sha": "b588798ebce9705cebcdd62192c19206ab54f1ad", + "version": "2017-07-01" + }, + "migrationhub-config-2019-06-30.normal.json": { + "sha": "8caaa5aea9853150155dbffc5972a0c278170af0", + "version": "2019-06-30" + }, + "meteringmarketplace-2016-01-14.normal.json": { + "sha": "ce5dbe28235beeddc74620c38e1dc485a7c2fdf8", + "version": "2016-01-14" + }, + "mediatailor-2018-04-23.normal.json": { + "sha": "e3a69ce069b5aff07300680b2b1c570fbbe85262", + "version": "2018-04-23" + }, + "mediastore-data-2017-09-01.normal.json": { + "sha": "fdbbe5f2f307c7f189eed08faf8e63afa557538f", + "version": "2017-09-01" + }, + "mediastore-2017-09-01.normal.json": { + "sha": "c65cd9558ef1f2fe0a161ae5e7fd972368db4d1e", + "version": "2017-09-01" + }, + "mediapackage-vod-2018-11-07.normal.json": { + "sha": "7ff6fd62bab4ce2ecf0cdf826a219151a1e2999e", + "version": "2018-11-07" + }, + "mediapackage-2017-10-12.normal.json": { + "sha": "19df04043fe30e96a11f61140e3a433c74a3e1aa", + "version": "2017-10-12" + }, + "medialive-2017-10-14.normal.json": { + "sha": "e9aa9e1ed8d2c7b9f1325b39911748b6bef68802", + "version": "2017-10-14" + }, + "mediaconvert-2017-08-29.normal.json": { + "sha": "c23b869d4768c41c0fb4c014b191e40f2bfc2780", + "version": "2017-08-29" + }, + "mediaconnect-2018-11-14.normal.json": { + "sha": "d5730aa653843384c80d93c3882d5f9f8f7b0e75", + "version": "2018-11-14" + }, + "marketplacecommerceanalytics-2015-07-01.normal.json": { + "sha": "a91191be8b3a88e4f819ffbbb0ea5c7a6101edf0", + "version": "2015-07-01" + }, + "marketplace-catalog-2018-09-17.normal.json": { + "sha": "dd6e1afe06f66e34ed3d0ea73527cf69c2b3119c", + "version": "2018-09-17" + }, + "managedblockchain-2018-09-24.normal.json": { + "sha": "d86657311a2bb6a70311e0d06bd68aab99f3eb96", + "version": "2018-09-24" + }, + "macie-2017-12-19.normal.json": { + "sha": "c3114b69b02d1545950485db90be4e3ccafc412e", + "version": "2017-12-19" + }, + "machinelearning-2014-12-12.normal.json": { + "sha": "5e849383c2edfbf5020bab6f2110bc73a64fbd6f", + "version": "2014-12-12" + }, + "logs-2014-03-28.normal.json": { + "sha": "d04702750fcb11acb80df1820099fd05993e9373", + "version": "2014-03-28" + }, + "lightsail-2016-11-28.normal.json": { + "sha": "6dc18ab946669503ec42a4033d453f605c2cfe3f", + "version": "2016-11-28" + }, + "license-manager-2018-08-01.normal.json": { + "sha": "4960826c2d33cf286b2620bcbb70b2e0f4dcaaef", + "version": "2018-08-01" + }, + "lex-models-2017-04-19.normal.json": { + "sha": "29c8093248119e88ec8b6b1c4b2b3896e14759fc", + "version": "2017-04-19" + }, + "lambda-2015-03-31.normal.json": { + "sha": "9a922f4eb8f38dd796b347c1e85bcf3d37875c0d", + "version": "2015-03-31" + }, + "lakeformation-2017-03-31.normal.json": { + "sha": "68056a613df1daede85c528a75207c78c49d2ae7", + "version": "2017-03-31" + }, + "kms-2014-11-01.normal.json": { + "sha": "3c186fca2d4831b653eb9fa94ac701f30aca4130", + "version": "2014-11-01" + }, + "kinesisvideo-2017-09-30.normal.json": { + "sha": "810988a685d04bd65dd02afec78225c2287edb4f", + "version": "2017-09-30" + }, + "kinesisanalyticsv2-2018-05-23.normal.json": { + "sha": "1148413f384823d8f1d6ec0379ca35733e03e284", + "version": "2018-05-23" + }, + "kinesisanalytics-2015-08-14.normal.json": { + "sha": "2c29c95dccd1903252bac2f2df1fc3a1b14617db", + "version": "2015-08-14" + }, + "kinesis-video-signaling-2019-12-04.normal.json": { + "sha": "342c676d870a1346b9077df13d1c38a6df34f9ef", + "version": "2019-12-04" + }, + "kinesis-video-media-2017-09-30.normal.json": { + "sha": "0c4c487080afbe9dc92b1c0ba61767fe2b42db50", + "version": "2017-09-30" + }, + "kinesis-video-archived-media-2017-09-30.normal.json": { + "sha": "cec74aafec5ed07f3da603472d482372bbc9b842", + "version": "2017-09-30" + }, + "kinesis-2013-12-02.normal.json": { + "sha": "da4fd0a710dbaf07540f8a51a9d3e8cb2b9f6342", + "version": "2013-12-02" + }, + "kendra-2019-02-03.normal.json": { + "sha": "9598ca46d3b1e494f693d9d2562998368fc5fd64", + "version": "2019-02-03" + }, + "kafka-2018-11-14.normal.json": { + "sha": "b7d62107e88836dbe01fda57f9674ccbcf6fbecc", + "version": "2018-11-14" + }, + "iotthingsgraph-2018-09-06.normal.json": { + "sha": "06832a1a22e8b748e1e7634142d936fa4f7434a4", + "version": "2018-09-06" + }, + "iotsecuretunneling-2018-10-05.normal.json": { + "sha": "37b053a935e30819dc286150d4b06698d42e3549", + "version": "2018-10-05" + }, + "iotevents-data-2018-10-23.normal.json": { + "sha": "a23087f37b3187f90041bd56136e1fb9292b6f52", + "version": "2018-10-23" + }, + "iotevents-2018-07-27.normal.json": { + "sha": "7bb3a0f0c53f5574b1ef69218e4310bc6fe91c58", + "version": "2018-07-27" + }, + "iotanalytics-2017-11-27.normal.json": { + "sha": "e54a8bff6a93a2865b34fb53dac5fb39905d478e", + "version": "2017-11-27" + }, + "iot1click-projects-2018-05-14.normal.json": { + "sha": "23c263bebd315b7654ccf71c23aeb370b5c12e2e", + "version": "2018-05-14" + }, + "iot1click-devices-2018-05-14.normal.json": { + "sha": "e0bbe8cb1f3726b232a8174fe1e5cfb6b20d7a9c", + "version": "2018-05-14" + }, + "iot-jobs-data-2017-09-29.normal.json": { + "sha": "88034e73ef4c773f288b3526e03bbb104960c26c", + "version": "2017-09-29" + }, + "iot-data-2015-05-28.normal.json": { + "sha": "88fba6cd551cf437561cd70730e9cc7066148c2e", + "version": "2015-05-28" + }, + "iot-2015-05-28.normal.json": { + "sha": "47205564738169f736648004a9c53c26e91042fe", + "version": "2015-05-28" + }, + "inspector-2016-02-16.normal.json": { + "sha": "221c7cfcf32cf1791ce42128a230e461d5122eed", + "version": "2016-02-16" + }, + "importexport-2010-06-01.normal.json": { + "sha": "64d0ad1123c745b2c9a9b1bc5febcc42e6841d75", + "version": "2010-06-01" + }, + "imagebuilder-2019-12-02.normal.json": { + "sha": "4f4b31b4b5bc87d0377683552e818c176b91824f", + "version": "2019-12-02" + }, + "iam-2010-05-08.normal.json": { + "sha": "5f7bbbccf626dee80cf462b93f79be0307c20293", + "version": "2010-05-08" + }, + "health-2016-08-04.normal.json": { + "sha": "26191656c1dc4685aae61bd9f1d97ef1c0327cf0", + "version": "2016-08-04" + }, + "guardduty-2017-11-28.normal.json": { + "sha": "809b6f500ca4d81104fdde53700564e5c02dfe83", + "version": "2017-11-28" + }, + "groundstation-2019-05-23.normal.json": { + "sha": "1e6301dd4c14809a27e532f7d9942030e6e9ef00", + "version": "2019-05-23" + }, + "greengrass-2017-06-07.normal.json": { + "sha": "75397fdd47aab5129aebb0213dab6be7211fe37a", + "version": "2017-06-07" + }, + "glue-2017-03-31.normal.json": { + "sha": "f8439e869b645c79655e7d23440d5ef06c4256af", + "version": "2017-03-31" + }, + "globalaccelerator-2018-08-08.normal.json": { + "sha": "e150e5cc70552788d3754974678c65280fca3a4d", + "version": "2018-08-08" + }, + "glacier-2012-06-01.normal.json": { + "sha": "852b9162a4b9a887c5256ffb1d0aa51a5b69d590", + "version": "2012-06-01" + }, + "gamelift-2015-10-01.normal.json": { + "sha": "364468fc2bb59780dde5e502c4d35793bebe101a", + "version": "2015-10-01" + }, + "fsx-2018-03-01.normal.json": { + "sha": "bd941ae99cefb46a6b198c54605e8cc175b301c7", + "version": "2018-03-01" + }, + "frauddetector-2019-11-15.normal.json": { + "sha": "4ecad672021137771aed3fde6606455e12ea2dd1", + "version": "2019-11-15" + }, + "forecastquery-2018-06-26.normal.json": { + "sha": "de577f3db09c59b88005ce6b04edc9676bf88881", + "version": "2018-06-26" + }, + "forecast-2018-06-26.normal.json": { + "sha": "4e7d9838e531024febef3da3f142825cf8328947", + "version": "2018-06-26" + }, + "fms-2018-01-01.normal.json": { + "sha": "cf41158a08253f5f3a9b6804c3545bc52dc258f3", + "version": "2018-01-01" + }, + "firehose-2015-08-04.normal.json": { + "sha": "2a6b84bd9a7a12e432a5e11766cd0c2f88808fd8", + "version": "2015-08-04" + }, + "events-2015-10-07.normal.json": { + "sha": "40a132585db38e11dc646d832fb733303646c9e3", + "version": "2015-10-07" + }, + "eventbridge-2015-10-07.normal.json": { + "sha": "bd9ca131f443fcdf2ff36d5d58517108e6455459", + "version": "2015-10-07" + }, + "es-2015-01-01.normal.json": { + "sha": "3a6f327eef675e7c927353125aa3b660fbdb8bc4", + "version": "2015-01-01" + }, + "entitlement.marketplace-2017-01-11.normal.json": { + "sha": "acdee343058780da92a5a84d2e7930553443cc08", + "version": "2017-01-11" + }, + "email-2010-12-01.normal.json": { + "sha": "9d523fc5106d9f28710b0811e24e234589f5c76b", + "version": "2010-12-01" + }, + "elastictranscoder-2012-09-25.normal.json": { + "sha": "e8f12be43e112530fc03c169053eb90c88a31b49", + "version": "2012-09-25" + }, + "elasticmapreduce-2009-03-31.normal.json": { + "sha": "70d8bdf79c370151d1025e7bfac4da93b8c6898a", + "version": "2009-03-31" + }, + "elasticloadbalancingv2-2015-12-01.normal.json": { + "sha": "5619b35cc664cbbe9006aa1353f0571d9ed143dc", + "version": "2015-12-01" + }, + "elasticloadbalancing-2012-06-01.normal.json": { + "sha": "ede5aeaca21f4ea3ca92cb38a4bb2c27f9fff2e3", + "version": "2012-06-01" + }, + "elasticfilesystem-2015-02-01.normal.json": { + "sha": "d2b3acdb454f60b6179132c11b20ff30c1d78613", + "version": "2015-02-01" + }, + "elasticbeanstalk-2010-12-01.normal.json": { + "sha": "6ec7b5e57a60774120a45c92ff995625a5635335", + "version": "2010-12-01" + }, + "elasticache-2015-02-02.normal.json": { + "sha": "a35c34ec33a43d6df71239ffe9bd089f439aa3cc", + "version": "2015-02-02" + }, + "elastic-inference-2017-07-25.normal.json": { + "sha": "a42819e0136a61bb4a31b4323274c2aeb0f200a6", + "version": "2017-07-25" + }, + "eks-2017-11-01.normal.json": { + "sha": "a53d1453c5fdeabf8561462ca45ab289019f4f07", + "version": "2017-11-01" + }, + "ecs-2014-11-13.normal.json": { + "sha": "e0e19151d34ec23eda5a3703877fa144f35d2f25", + "version": "2014-11-13" + }, + "ecr-2015-09-21.normal.json": { + "sha": "e69c7c12c4ab9e3b93305bef050732ad65861cfb", + "version": "2015-09-21" + }, + "ec2-instance-connect-2018-04-02.normal.json": { + "sha": "391ca5b36bd1b035956606a3e5ddd358ba44ca34", + "version": "2018-04-02" + }, + "ec2-2016-11-15.normal.json": { + "sha": "29ee3efd53bd4dab0497e37ec3612a2627f2cc49", + "version": "2016-11-15" + }, + "ebs-2019-11-02.normal.json": { + "sha": "7fe161f3d3d2327793340af39481c32fd7adaf90", + "version": "2019-11-02" + }, + "dynamodb-2012-08-10.normal.json": { + "sha": "7324b47d9f198b8044b54a852b4de4298985df88", + "version": "2012-08-10" + }, + "ds-2015-04-16.normal.json": { + "sha": "2228818bb61306502727ebd50e6c2257fffd3972", + "version": "2015-04-16" + }, + "docdb-2014-10-31.normal.json": { + "sha": "d8bd3feb03747e93604388e041184bfbed611eb5", + "version": "2014-10-31" + }, + "dms-2016-01-01.normal.json": { + "sha": "b8e85b998f9ff8fddbae845acb6a45cba35da441", + "version": "2016-01-01" + }, + "dlm-2018-01-12.normal.json": { + "sha": "97b73552c52bd3467287a17c435371571678bb74", + "version": "2018-01-12" + }, + "discovery-2015-11-01.normal.json": { + "sha": "9a142fdeaf4aa7d974d6e296b1b694847898dc87", + "version": "2015-11-01" + }, + "directconnect-2012-10-25.normal.json": { + "sha": "aa7fdfad834d0d850d3a6fb5d4bf28c45d409932", + "version": "2012-10-25" + }, + "devicefarm-2015-06-23.normal.json": { + "sha": "94f60bad19fe9af591bee8f42efbd8a7fe9c3bae", + "version": "2015-06-23" + }, + "detective-2018-10-26.normal.json": { + "sha": "f46832f40965afd0d75e6af81c830f6475610ca7", + "version": "2018-10-26" + }, + "dax-2017-04-19.normal.json": { + "sha": "88d075eecdca1d7da15b83d913a121fc35dbdd5a", + "version": "2017-04-19" + }, + "datasync-2018-11-09.normal.json": { + "sha": "2b8d21ea576594e1750416940e64d2bc5f06d86f", + "version": "2018-11-09" + }, + "datapipeline-2012-10-29.normal.json": { + "sha": "55298952574f0e87c7daca295bb485e2e38d4545", + "version": "2012-10-29" + }, + "dataexchange-2017-07-25.normal.json": { + "sha": "b40ac05f8dd2035540cdc913db8a3c0c37d603d6", + "version": "2017-07-25" + }, + "cur-2017-01-06.normal.json": { + "sha": "9ac8cb8974e4f1fae7ef75f2ee9b0691b4d348ab", + "version": "2017-01-06" + }, + "connectparticipant-2018-09-07.normal.json": { + "sha": "69fb9f7b49ed223e6573f8127fc474794370b456", + "version": "2018-09-07" + }, + "connect-2017-08-08.normal.json": { + "sha": "25cccf53d1000813ccb7b01c5a1f668a95cad582", + "version": "2017-08-08" + }, + "config-2014-11-12.normal.json": { + "sha": "01e738f076b2f3dbafc6d09bc4b0ce3c2cd4aaba", + "version": "2014-11-12" + }, + "compute-optimizer-2019-11-01.normal.json": { + "sha": "b851429951a28cbe509abf201b298b0626a4509e", + "version": "2019-11-01" + }, + "comprehendmedical-2018-10-30.normal.json": { + "sha": "f66607f4be5f3c0011183c205e5d6f315d2be553", + "version": "2018-10-30" + }, + "comprehend-2017-11-27.normal.json": { + "sha": "9cc90eac1d97f265355d27062360842c16253175", + "version": "2017-11-27" + }, + "cognito-sync-2014-06-30.normal.json": { + "sha": "68c5ab5bc3206296718a175c55cf430229474b74", + "version": "2014-06-30" + }, + "cognito-idp-2016-04-18.normal.json": { + "sha": "b5504723d979160816318265b778102a7f073d69", + "version": "2016-04-18" + }, + "cognito-identity-2014-06-30.normal.json": { + "sha": "aadb4952f26932558dcf7d13c930d8f1287de7ab", + "version": "2014-06-30" + }, + "codestar-notifications-2019-10-15.normal.json": { + "sha": "4464f41a93f274ec80386877774a19586c36cbb8", + "version": "2019-10-15" + }, + "codestar-connections-2019-12-01.normal.json": { + "sha": "1a16f9943c06e07f8cac591a2d2cc79a917c510c", + "version": "2019-12-01" + }, + "codestar-2017-04-19.normal.json": { + "sha": "a1517537e6f5f88da9be83742076d8ddf03ed918", + "version": "2017-04-19" + }, + "codepipeline-2015-07-09.normal.json": { + "sha": "d5d2a266f46d7d956e1d597eb5331972bbd8aa2c", + "version": "2015-07-09" + }, + "codeguruprofiler-2019-07-18.normal.json": { + "sha": "6ed4599a223b9d02e6bf49bbe5f7291a97314779", + "version": "2019-07-18" + }, + "codeguru-reviewer-2019-09-19.normal.json": { + "sha": "ccd87f5bae934bc2e81ff5582d5077721726f065", + "version": "2019-09-19" + }, + "codedeploy-2014-10-06.normal.json": { + "sha": "a3b6ada87a0ffbea621cea218e096ff31ad0a3c8", + "version": "2014-10-06" + }, + "codecommit-2015-04-13.normal.json": { + "sha": "537ae9311a6307e4ea3a43928ff31712f89f5ade", + "version": "2015-04-13" + }, + "codebuild-2016-10-06.normal.json": { + "sha": "3fd98f10006e4883f4b1f44b547bc336e495b730", + "version": "2016-10-06" + }, + "cloudtrail-2013-11-01.normal.json": { + "sha": "cdb9eeda8baa8498759d4bac0116af12d4b95457", + "version": "2013-11-01" + }, + "cloudsearchdomain-2013-01-01.normal.json": { + "sha": "018b114d5fe224278278227a178c308d0be8cce5", + "version": "2013-01-01" + }, + "cloudsearch-2013-01-01.normal.json": { + "sha": "981d5bb352f401ac411462a0b1dc45f55687c979", + "version": "2013-01-01" + }, + "cloudhsmv2-2017-04-28.normal.json": { + "sha": "82ff26a97855fd370277deb7a6874522234bce53", + "version": "2017-04-28" + }, + "cloudhsm-2014-05-30.normal.json": { + "sha": "139daddb6746aba6898f37f5b73273f490a7c733", + "version": "2014-05-30" + }, + "cloudfront-2019-03-26.normal.json": { + "sha": "bd7c01f10fb0f02dfc6b4bdaaa2be467ee04e5c2", + "version": "2019-03-26" + }, + "cloudformation-2010-05-15.normal.json": { + "sha": "12760a6018394fd8ecbca5a662b74f7cc0aa00e5", + "version": "2010-05-15" + }, + "clouddirectory-2017-01-11.normal.json": { + "sha": "5a9ce6a524f1131cef94ecf48c6fb78f3ebff6f4", + "version": "2017-01-11" + }, + "cloud9-2017-09-23.normal.json": { + "sha": "43d28859a22bda24e1717859370d83e64e19fe26", + "version": "2017-09-23" + }, + "chime-2018-05-01.normal.json": { + "sha": "b8b8b671f36bdc589833d16e3a8e966a6200e157", + "version": "2018-05-01" + }, + "ce-2017-10-25.normal.json": { + "sha": "82da8aa49a09ff28453ab609742dad68583e1698", + "version": "2017-10-25" + }, + "budgets-2016-10-20.normal.json": { + "sha": "d6ec39470fe03b529604e6062524c868f14eb250", + "version": "2016-10-20" + }, + "batch-2016-08-10.normal.json": { + "sha": "0317690469b89ab7bb98e30dbb2acc28dca37fa5", + "version": "2016-08-10" + }, + "backup-2018-11-15.normal.json": { + "sha": "f13c2c05754b41c73b92bee3f4b390fc0fe634c0", + "version": "2018-11-15" + }, + "autoscaling-plans-2018-01-06.normal.json": { + "sha": "ea69289877d6da25b3b8141a12454cbfefd69904", + "version": "2018-01-06" + }, + "autoscaling-2011-01-01.normal.json": { + "sha": "bb3667a7a988dcaf6920fb3dcfb191e2d501b2fa", + "version": "2011-01-01" + }, + "athena-2017-05-18.normal.json": { + "sha": "c7a55048578592a0c76c36bffaf9d3731cf7cde0", + "version": "2017-05-18" + }, + "appsync-2017-07-25.normal.json": { + "sha": "a79e1a2a8834b0ffade7b5d2f41b12d7ae0f2cd2", + "version": "2017-07-25" + }, + "appstream-2016-12-01.normal.json": { + "sha": "023e0ed556380c666f0a7a1070fc142539786a93", + "version": "2016-12-01" + }, + "appmesh-2019-01-25.normal.json": { + "sha": "3a56a018b9a0c3933f9b7742b631564e5fece89e", + "version": "2019-01-25" + }, + "application-insights-2018-11-25.normal.json": { + "sha": "4ac46d5130913f373eed248a8a26becd5dc6fcd2", + "version": "2018-11-25" + }, + "application-autoscaling-2016-02-06.normal.json": { + "sha": "f0b4dc2198833bfce4810537cdc80dc45bcfbf81", + "version": "2016-02-06" + }, + "appconfig-2019-10-09.normal.json": { + "sha": "e8411f839b3f78ad5cdaa2cad91f4c127b1f8b22", + "version": "2019-10-09" + }, + "apigatewayv2-2018-11-29.normal.json": { + "sha": "eecf6b59872fd994d6783982115c811915a05492", + "version": "2018-11-29" + }, + "apigatewaymanagementapi-2018-11-29.normal.json": { + "sha": "b69b80dcfdd873f116e4e2554555115f6f73f303", + "version": "2018-11-29" + }, + "apigateway-2015-07-09.normal.json": { + "sha": "bfa3c2f682a21e6058da7d1fd0922ef9cacaefb2", + "version": "2015-07-09" + }, + "amplify-2017-07-25.normal.json": { + "sha": "dcd2c64fd51e30cf8baabfe58ff157dd79581401", + "version": "2017-07-25" + }, + "alexaforbusiness-2017-11-09.normal.json": { + "sha": "3d4728441d4e84b61467e18fb827345536bca476", + "version": "2017-11-09" + }, + "acm-pca-2017-08-22.normal.json": { + "sha": "a3507a64ad3ab72535d392fbdf55daa8a6b64e7e", + "version": "2017-08-22" + }, + "acm-2015-12-08.normal.json": { + "sha": "63f09b4053dfa075d950fae9ea8afa97eeda5c86", + "version": "2015-12-08" + }, + "accessanalyzer-2019-11-01.normal.json": { + "sha": "b6ebd1d99059bf23f094439dde54648f495f589f", + "version": "2019-11-01" + }, + "AWSMigrationHub-2017-05-31.normal.json": { + "sha": "263b52e6da13ebb12781581d7ef272e85ffc6a75", + "version": "2017-05-31" + } +} From 2af1ec824c6d72669174982be7f14b2c0e863a6d Mon Sep 17 00:00:00 2001 From: Matt Brzezinski Date: Mon, 30 Mar 2020 10:54:26 -0500 Subject: [PATCH 04/13] Initial generation of AWS Services --- src/AWSServices.jl | 228 + src/services/accessanalyzer.jl | 289 + src/services/acm.jl | 187 + src/services/acm_pca.jl | 311 + src/services/alexa_for_business.jl | 1446 ++++ src/services/amplify.jl | 645 ++ src/services/api_gateway.jl | 1989 +++++ src/services/apigatewaymanagementapi.jl | 39 + src/services/apigatewayv2.jl | 1209 +++ src/services/app_mesh.jl | 567 ++ src/services/appconfig.jl | 470 ++ src/services/application_auto_scaling.jl | 195 + src/services/application_discovery_service.jl | 355 + src/services/application_insights.jl | 414 + src/services/appstream.jl | 744 ++ src/services/appsync.jl | 685 ++ src/services/athena.jl | 288 + src/services/auto_scaling.jl | 876 ++ src/services/auto_scaling_plans.jl | 103 + src/services/backup.jl | 685 ++ src/services/batch.jl | 265 + src/services/budgets.jl | 226 + src/services/chime.jl | 1347 +++ src/services/cloud9.jl | 189 + src/services/clouddirectory.jl | 1062 +++ src/services/cloudformation.jl | 965 +++ src/services/cloudfront.jl | 720 ++ src/services/cloudhsm.jl | 281 + src/services/cloudhsm_v2.jl | 201 + src/services/cloudsearch.jl | 362 + src/services/cloudsearch_domain.jl | 62 + src/services/cloudtrail.jl | 276 + src/services/cloudwatch.jl | 506 ++ src/services/cloudwatch_events.jl | 480 ++ src/services/cloudwatch_logs.jl | 594 ++ src/services/codebuild.jl | 549 ++ src/services/codecommit.jl | 1249 +++ src/services/codedeploy.jl | 702 ++ src/services/codeguru_reviewer.jl | 61 + src/services/codeguruprofiler.jl | 151 + src/services/codepipeline.jl | 564 ++ src/services/codestar.jl | 294 + src/services/codestar_connections.jl | 54 + src/services/codestar_notifications.jl | 201 + src/services/cognito_identity.jl | 339 + src/services/cognito_identity_provider.jl | 1693 ++++ src/services/cognito_sync.jl | 256 + src/services/comprehend.jl | 751 ++ src/services/comprehendmedical.jl | 184 + src/services/compute_optimizer.jl | 92 + src/services/config_service.jl | 1224 +++ src/services/connect.jl | 477 ++ src/services/connectparticipant.jl | 92 + src/services/cost_and_usage_report_service.jl | 54 + src/services/cost_explorer.jl | 360 + src/services/data_pipeline.jl | 314 + src/services/database_migration_service.jl | 798 ++ src/services/dataexchange.jl | 324 + src/services/datasync.jl | 451 + src/services/dax.jl | 344 + src/services/detective.jl | 161 + src/services/device_farm.jl | 1189 +++ src/services/direct_connect.jl | 785 ++ src/services/directory_service.jl | 863 ++ src/services/dlm.jl | 121 + src/services/docdb.jl | 751 ++ src/services/dynamodb.jl | 699 ++ src/services/dynamodb_streams.jl | 71 + src/services/ebs.jl | 55 + src/services/ec2.jl | 7283 +++++++++++++++++ src/services/ec2_instance_connect.jl | 17 + src/services/ecr.jl | 514 ++ src/services/ecs.jl | 877 ++ src/services/efs.jl | 354 + src/services/eks.jl | 355 + src/services/elastic_beanstalk.jl | 725 ++ src/services/elastic_inference.jl | 40 + src/services/elastic_load_balancing.jl | 408 + src/services/elastic_load_balancing_v2.jl | 527 ++ src/services/elastic_transcoder.jl | 269 + src/services/elasticache.jl | 1010 +++ src/services/elasticsearch_service.jl | 451 + src/services/emr.jl | 452 + src/services/eventbridge.jl | 480 ++ src/services/firehose.jl | 199 + src/services/fms.jl | 223 + src/services/forecast.jl | 375 + src/services/forecastquery.jl | 22 + src/services/frauddetector.jl | 498 ++ src/services/fsx.jl | 245 + src/services/gamelift.jl | 1209 +++ src/services/glacier.jl | 526 ++ src/services/global_accelerator.jl | 383 + src/services/glue.jl | 2014 +++++ src/services/greengrass.jl | 1367 ++++ src/services/groundstation.jl | 372 + src/services/guardduty.jl | 774 ++ src/services/health.jl | 196 + src/services/iam.jl | 2054 +++++ src/services/imagebuilder.jl | 671 ++ src/services/importexport.jl | 118 + src/services/inspector.jl | 546 ++ src/services/iot.jl | 3089 +++++++ src/services/iot_1click_devices_service.jl | 202 + src/services/iot_1click_projects.jl | 237 + src/services/iot_data_plane.jl | 57 + src/services/iot_events.jl | 238 + src/services/iot_events_data.jl | 62 + src/services/iot_jobs_data_plane.jl | 75 + src/services/iotanalytics.jl | 512 ++ src/services/iotsecuretunneling.jl | 100 + src/services/iotthingsgraph.jl | 534 ++ src/services/kafka.jl | 364 + src/services/kendra.jl | 339 + src/services/kinesis.jl | 399 + src/services/kinesis_analytics.jl | 284 + src/services/kinesis_analytics_v2.jl | 385 + src/services/kinesis_video.jl | 321 + src/services/kinesis_video_archived_media.jl | 75 + src/services/kinesis_video_media.jl | 20 + src/services/kinesis_video_signaling.jl | 35 + src/services/kms.jl | 733 ++ src/services/lakeformation.jl | 213 + src/services/lambda.jl | 840 ++ src/services/lex_model_building_service.jl | 616 ++ src/services/lex_runtime_service.jl | 101 + src/services/license_manager.jl | 256 + src/services/lightsail.jl | 1642 ++++ src/services/machine_learning.jl | 456 ++ src/services/macie.jl | 106 + src/services/managedblockchain.jl | 327 + src/services/marketplace_catalog.jl | 101 + .../marketplace_commerce_analytics.jl | 46 + .../marketplace_entitlement_service.jl | 21 + src/services/marketplace_metering.jl | 65 + src/services/mediaconnect.jl | 306 + src/services/mediaconvert.jl | 399 + src/services/medialive.jl | 667 ++ src/services/mediapackage.jl | 277 + src/services/mediapackage_vod.jl | 171 + src/services/mediastore.jl | 231 + src/services/mediastore_data.jl | 79 + src/services/mediatailor.jl | 100 + src/services/migration_hub.jl | 296 + src/services/migrationhub_config.jl | 45 + src/services/mobile.jl | 134 + src/services/mobile_analytics.jl | 20 + src/services/mq.jl | 352 + src/services/mturk.jl | 653 ++ src/services/neptune.jl | 1102 +++ src/services/networkmanager.jl | 471 ++ src/services/opsworks.jl | 1218 +++ src/services/opsworkscm.jl | 318 + src/services/organizations.jl | 722 ++ src/services/outposts.jl | 104 + src/services/personalize.jl | 544 ++ src/services/personalize_events.jl | 21 + src/services/personalize_runtime.jl | 41 + src/services/pi.jl | 51 + src/services/pinpoint.jl | 1596 ++++ src/services/pinpoint_email.jl | 608 ++ src/services/pinpoint_sms_voice.jl | 119 + src/services/polly.jl | 146 + src/services/pricing.jl | 54 + src/services/qldb.jl | 224 + src/services/qldb_session.jl | 22 + src/services/quicksight.jl | 1145 +++ src/services/ram.jl | 406 + src/services/rds.jl | 2526 ++++++ src/services/rds_data.jl | 116 + src/services/redshift.jl | 1521 ++++ src/services/rekognition.jl | 709 ++ src/services/resource_groups.jl | 177 + src/services/resource_groups_tagging_api.jl | 116 + src/services/robomaker.jl | 613 ++ src/services/route53resolver.jl | 324 + src/services/route_53.jl | 917 +++ src/services/route_53_domains.jl | 373 + src/services/s3.jl | 1731 ++++ src/services/s3_control.jl | 325 + src/services/sagemaker.jl | 2218 +++++ src/services/sagemaker_a2i_runtime.jl | 78 + src/services/sagemaker_runtime.jl | 23 + src/services/savingsplans.jl | 144 + src/services/schemas.jl | 453 + src/services/secrets_manager.jl | 291 + src/services/securityhub.jl | 547 ++ .../serverlessapplicationrepository.jl | 254 + src/services/service_catalog.jl | 1491 ++++ src/services/service_quotas.jl | 223 + src/services/servicediscovery.jl | 313 + src/services/ses.jl | 977 +++ src/services/sesv2.jl | 712 ++ src/services/sfn.jl | 331 + src/services/shield.jl | 228 + src/services/signer.jl | 177 + src/services/simpledb.jl | 153 + src/services/sms.jl | 410 + src/services/snowball.jl | 290 + src/services/sns.jl | 472 ++ src/services/sqs.jl | 292 + src/services/ssm.jl | 2104 +++++ src/services/sso.jl | 65 + src/services/sso_oidc.jl | 57 + src/services/storage_gateway.jl | 1166 +++ src/services/sts.jl | 137 + src/services/support.jl | 220 + src/services/swf.jl | 644 ++ src/services/textract.jl | 107 + src/services/transcribe.jl | 221 + src/services/transfer.jl | 284 + src/services/translate.jl | 142 + src/services/waf.jl | 1039 +++ src/services/waf_regional.jl | 1093 +++ src/services/wafv2.jl | 587 ++ src/services/workdocs.jl | 780 ++ src/services/worklink.jl | 453 + src/services/workmail.jl | 599 ++ src/services/workmailmessageflow.jl | 14 + src/services/workspaces.jl | 565 ++ src/services/xray.jl | 305 + 221 files changed, 116688 insertions(+) create mode 100644 src/AWSServices.jl create mode 100644 src/services/accessanalyzer.jl create mode 100644 src/services/acm.jl create mode 100644 src/services/acm_pca.jl create mode 100644 src/services/alexa_for_business.jl create mode 100644 src/services/amplify.jl create mode 100644 src/services/api_gateway.jl create mode 100644 src/services/apigatewaymanagementapi.jl create mode 100644 src/services/apigatewayv2.jl create mode 100644 src/services/app_mesh.jl create mode 100644 src/services/appconfig.jl create mode 100644 src/services/application_auto_scaling.jl create mode 100644 src/services/application_discovery_service.jl create mode 100644 src/services/application_insights.jl create mode 100644 src/services/appstream.jl create mode 100644 src/services/appsync.jl create mode 100644 src/services/athena.jl create mode 100644 src/services/auto_scaling.jl create mode 100644 src/services/auto_scaling_plans.jl create mode 100644 src/services/backup.jl create mode 100644 src/services/batch.jl create mode 100644 src/services/budgets.jl create mode 100644 src/services/chime.jl create mode 100644 src/services/cloud9.jl create mode 100644 src/services/clouddirectory.jl create mode 100644 src/services/cloudformation.jl create mode 100644 src/services/cloudfront.jl create mode 100644 src/services/cloudhsm.jl create mode 100644 src/services/cloudhsm_v2.jl create mode 100644 src/services/cloudsearch.jl create mode 100644 src/services/cloudsearch_domain.jl create mode 100644 src/services/cloudtrail.jl create mode 100644 src/services/cloudwatch.jl create mode 100644 src/services/cloudwatch_events.jl create mode 100644 src/services/cloudwatch_logs.jl create mode 100644 src/services/codebuild.jl create mode 100644 src/services/codecommit.jl create mode 100644 src/services/codedeploy.jl create mode 100644 src/services/codeguru_reviewer.jl create mode 100644 src/services/codeguruprofiler.jl create mode 100644 src/services/codepipeline.jl create mode 100644 src/services/codestar.jl create mode 100644 src/services/codestar_connections.jl create mode 100644 src/services/codestar_notifications.jl create mode 100644 src/services/cognito_identity.jl create mode 100644 src/services/cognito_identity_provider.jl create mode 100644 src/services/cognito_sync.jl create mode 100644 src/services/comprehend.jl create mode 100644 src/services/comprehendmedical.jl create mode 100644 src/services/compute_optimizer.jl create mode 100644 src/services/config_service.jl create mode 100644 src/services/connect.jl create mode 100644 src/services/connectparticipant.jl create mode 100644 src/services/cost_and_usage_report_service.jl create mode 100644 src/services/cost_explorer.jl create mode 100644 src/services/data_pipeline.jl create mode 100644 src/services/database_migration_service.jl create mode 100644 src/services/dataexchange.jl create mode 100644 src/services/datasync.jl create mode 100644 src/services/dax.jl create mode 100644 src/services/detective.jl create mode 100644 src/services/device_farm.jl create mode 100644 src/services/direct_connect.jl create mode 100644 src/services/directory_service.jl create mode 100644 src/services/dlm.jl create mode 100644 src/services/docdb.jl create mode 100644 src/services/dynamodb.jl create mode 100644 src/services/dynamodb_streams.jl create mode 100644 src/services/ebs.jl create mode 100644 src/services/ec2.jl create mode 100644 src/services/ec2_instance_connect.jl create mode 100644 src/services/ecr.jl create mode 100644 src/services/ecs.jl create mode 100644 src/services/efs.jl create mode 100644 src/services/eks.jl create mode 100644 src/services/elastic_beanstalk.jl create mode 100644 src/services/elastic_inference.jl create mode 100644 src/services/elastic_load_balancing.jl create mode 100644 src/services/elastic_load_balancing_v2.jl create mode 100644 src/services/elastic_transcoder.jl create mode 100644 src/services/elasticache.jl create mode 100644 src/services/elasticsearch_service.jl create mode 100644 src/services/emr.jl create mode 100644 src/services/eventbridge.jl create mode 100644 src/services/firehose.jl create mode 100644 src/services/fms.jl create mode 100644 src/services/forecast.jl create mode 100644 src/services/forecastquery.jl create mode 100644 src/services/frauddetector.jl create mode 100644 src/services/fsx.jl create mode 100644 src/services/gamelift.jl create mode 100644 src/services/glacier.jl create mode 100644 src/services/global_accelerator.jl create mode 100644 src/services/glue.jl create mode 100644 src/services/greengrass.jl create mode 100644 src/services/groundstation.jl create mode 100644 src/services/guardduty.jl create mode 100644 src/services/health.jl create mode 100644 src/services/iam.jl create mode 100644 src/services/imagebuilder.jl create mode 100644 src/services/importexport.jl create mode 100644 src/services/inspector.jl create mode 100644 src/services/iot.jl create mode 100644 src/services/iot_1click_devices_service.jl create mode 100644 src/services/iot_1click_projects.jl create mode 100644 src/services/iot_data_plane.jl create mode 100644 src/services/iot_events.jl create mode 100644 src/services/iot_events_data.jl create mode 100644 src/services/iot_jobs_data_plane.jl create mode 100644 src/services/iotanalytics.jl create mode 100644 src/services/iotsecuretunneling.jl create mode 100644 src/services/iotthingsgraph.jl create mode 100644 src/services/kafka.jl create mode 100644 src/services/kendra.jl create mode 100644 src/services/kinesis.jl create mode 100644 src/services/kinesis_analytics.jl create mode 100644 src/services/kinesis_analytics_v2.jl create mode 100644 src/services/kinesis_video.jl create mode 100644 src/services/kinesis_video_archived_media.jl create mode 100644 src/services/kinesis_video_media.jl create mode 100644 src/services/kinesis_video_signaling.jl create mode 100644 src/services/kms.jl create mode 100644 src/services/lakeformation.jl create mode 100644 src/services/lambda.jl create mode 100644 src/services/lex_model_building_service.jl create mode 100644 src/services/lex_runtime_service.jl create mode 100644 src/services/license_manager.jl create mode 100644 src/services/lightsail.jl create mode 100644 src/services/machine_learning.jl create mode 100644 src/services/macie.jl create mode 100644 src/services/managedblockchain.jl create mode 100644 src/services/marketplace_catalog.jl create mode 100644 src/services/marketplace_commerce_analytics.jl create mode 100644 src/services/marketplace_entitlement_service.jl create mode 100644 src/services/marketplace_metering.jl create mode 100644 src/services/mediaconnect.jl create mode 100644 src/services/mediaconvert.jl create mode 100644 src/services/medialive.jl create mode 100644 src/services/mediapackage.jl create mode 100644 src/services/mediapackage_vod.jl create mode 100644 src/services/mediastore.jl create mode 100644 src/services/mediastore_data.jl create mode 100644 src/services/mediatailor.jl create mode 100644 src/services/migration_hub.jl create mode 100644 src/services/migrationhub_config.jl create mode 100644 src/services/mobile.jl create mode 100644 src/services/mobile_analytics.jl create mode 100644 src/services/mq.jl create mode 100644 src/services/mturk.jl create mode 100644 src/services/neptune.jl create mode 100644 src/services/networkmanager.jl create mode 100644 src/services/opsworks.jl create mode 100644 src/services/opsworkscm.jl create mode 100644 src/services/organizations.jl create mode 100644 src/services/outposts.jl create mode 100644 src/services/personalize.jl create mode 100644 src/services/personalize_events.jl create mode 100644 src/services/personalize_runtime.jl create mode 100644 src/services/pi.jl create mode 100644 src/services/pinpoint.jl create mode 100644 src/services/pinpoint_email.jl create mode 100644 src/services/pinpoint_sms_voice.jl create mode 100644 src/services/polly.jl create mode 100644 src/services/pricing.jl create mode 100644 src/services/qldb.jl create mode 100644 src/services/qldb_session.jl create mode 100644 src/services/quicksight.jl create mode 100644 src/services/ram.jl create mode 100644 src/services/rds.jl create mode 100644 src/services/rds_data.jl create mode 100644 src/services/redshift.jl create mode 100644 src/services/rekognition.jl create mode 100644 src/services/resource_groups.jl create mode 100644 src/services/resource_groups_tagging_api.jl create mode 100644 src/services/robomaker.jl create mode 100644 src/services/route53resolver.jl create mode 100644 src/services/route_53.jl create mode 100644 src/services/route_53_domains.jl create mode 100644 src/services/s3.jl create mode 100644 src/services/s3_control.jl create mode 100644 src/services/sagemaker.jl create mode 100644 src/services/sagemaker_a2i_runtime.jl create mode 100644 src/services/sagemaker_runtime.jl create mode 100644 src/services/savingsplans.jl create mode 100644 src/services/schemas.jl create mode 100644 src/services/secrets_manager.jl create mode 100644 src/services/securityhub.jl create mode 100644 src/services/serverlessapplicationrepository.jl create mode 100644 src/services/service_catalog.jl create mode 100644 src/services/service_quotas.jl create mode 100644 src/services/servicediscovery.jl create mode 100644 src/services/ses.jl create mode 100644 src/services/sesv2.jl create mode 100644 src/services/sfn.jl create mode 100644 src/services/shield.jl create mode 100644 src/services/signer.jl create mode 100644 src/services/simpledb.jl create mode 100644 src/services/sms.jl create mode 100644 src/services/snowball.jl create mode 100644 src/services/sns.jl create mode 100644 src/services/sqs.jl create mode 100644 src/services/ssm.jl create mode 100644 src/services/sso.jl create mode 100644 src/services/sso_oidc.jl create mode 100644 src/services/storage_gateway.jl create mode 100644 src/services/sts.jl create mode 100644 src/services/support.jl create mode 100644 src/services/swf.jl create mode 100644 src/services/textract.jl create mode 100644 src/services/transcribe.jl create mode 100644 src/services/transfer.jl create mode 100644 src/services/translate.jl create mode 100644 src/services/waf.jl create mode 100644 src/services/waf_regional.jl create mode 100644 src/services/wafv2.jl create mode 100644 src/services/workdocs.jl create mode 100644 src/services/worklink.jl create mode 100644 src/services/workmail.jl create mode 100644 src/services/workmailmessageflow.jl create mode 100644 src/services/workspaces.jl create mode 100644 src/services/xray.jl diff --git a/src/AWSServices.jl b/src/AWSServices.jl new file mode 100644 index 0000000000..a5739ac53b --- /dev/null +++ b/src/AWSServices.jl @@ -0,0 +1,228 @@ +# This is file is auto-generated by AWSMetadata.jl + +module AWSServices + +include("AWS.jl") + +const xray = AWS.RestJSONService("xray", "2016-04-12") +const workspaces = AWS.JSONService("workspaces", "2015-04-08", "1.1", "WorkspacesService") +const workmailmessageflow = AWS.RestJSONService("workmailmessageflow", "2019-05-01") +const workmail = AWS.JSONService("workmail", "2017-10-01", "1.1", "WorkMailService") +const worklink = AWS.RestJSONService("worklink", "2018-09-25") +const workdocs = AWS.RestJSONService("workdocs", "2016-05-01") +const wafv2 = AWS.JSONService("wafv2", "2019-07-29", "1.1", "AWSWAF_20190729") +const waf_regional = AWS.JSONService("waf-regional", "2016-11-28", "1.1", "AWSWAF_Regional_20161128") +const waf = AWS.JSONService("waf", "2015-08-24", "1.1", "AWSWAF_20150824") +const translate = AWS.JSONService("translate", "2017-07-01", "1.1", "AWSShineFrontendService_20170701") +const transfer = AWS.JSONService("transfer", "2018-11-05", "1.1", "TransferService") +const transcribe = AWS.JSONService("transcribe", "2017-10-26", "1.1", "Transcribe") +const textract = AWS.JSONService("textract", "2018-06-27", "1.1", "Textract") +const swf = AWS.JSONService("swf", "2012-01-25", "1.0", "SimpleWorkflowService") +const support = AWS.JSONService("support", "2013-04-15", "1.1", "AWSSupport_20130415") +const sts = AWS.QueryService("sts", "2011-06-15") +const dynamodb_streams = AWS.JSONService("streams.dynamodb", "2012-08-10", "1.0", "DynamoDBStreams_20120810") +const storage_gateway = AWS.JSONService("storagegateway", "2013-06-30", "1.1", "StorageGateway_20130630") +const sfn = AWS.JSONService("states", "2016-11-23", "1.0", "AWSStepFunctions") +const sso_oidc = AWS.RestJSONService("oidc", "2019-06-10") +const sso = AWS.RestJSONService("portal.sso", "2019-06-10") +const ssm = AWS.JSONService("ssm", "2014-11-06", "1.1", "AmazonSSM") +const sqs = AWS.QueryService("sqs", "2012-11-05") +const sns = AWS.QueryService("sns", "2010-03-31") +const snowball = AWS.JSONService("snowball", "2016-06-30", "1.1", "AWSIESnowballJobManagementService") +const pinpoint_sms_voice = AWS.RestJSONService("sms-voice.pinpoint", "2018-09-05") +const sms = AWS.JSONService("sms", "2016-10-24", "1.1", "AWSServerMigrationService_V2016_10_24") +const signer = AWS.RestJSONService("signer", "2017-08-25") +const shield = AWS.JSONService("shield", "2016-06-02", "1.1", "AWSShield_20160616") +const sesv2 = AWS.RestJSONService("email", "2019-09-27") +const servicediscovery = AWS.JSONService("servicediscovery", "2017-03-14", "1.1", "Route53AutoNaming_v20170314") +const service_catalog = AWS.JSONService("servicecatalog", "2015-12-10", "1.1", "AWS242ServiceCatalogService") +const service_quotas = AWS.JSONService("servicequotas", "2019-06-24", "1.1", "ServiceQuotasV20190624") +const serverlessapplicationrepository = AWS.RestJSONService("serverlessrepo", "2017-09-08") +const securityhub = AWS.RestJSONService("securityhub", "2018-10-26") +const secrets_manager = AWS.JSONService("secretsmanager", "2017-10-17", "1.1", "secretsmanager") +const simpledb = AWS.QueryService("sdb", "2009-04-15") +const schemas = AWS.RestJSONService("schemas", "2019-12-02") +const savingsplans = AWS.RestJSONService("savingsplans", "2019-06-28") +const sagemaker_a2i_runtime = AWS.RestJSONService("a2i-runtime.sagemaker", "2019-11-07") +const sagemaker = AWS.JSONService("api.sagemaker", "2017-07-24", "1.1", "SageMaker") +const s3_control = AWS.RestXMLService("s3-control", "2018-08-20") +const s3 = AWS.RestXMLService("s3", "2006-03-01") +const sagemaker_runtime = AWS.RestJSONService("runtime.sagemaker", "2017-05-13") +const lex_runtime_service = AWS.RestJSONService("runtime.lex", "2016-11-28") +const route53resolver = AWS.JSONService("route53resolver", "2018-04-01", "1.1", "Route53Resolver") +const route_53_domains = AWS.JSONService("route53domains", "2014-05-15", "1.1", "Route53Domains_v20140515") +const route_53 = AWS.RestXMLService("route53", "2013-04-01") +const robomaker = AWS.RestJSONService("robomaker", "2018-06-29") +const resource_groups_tagging_api = AWS.JSONService("tagging", "2017-01-26", "1.1", "ResourceGroupsTaggingAPI_20170126") +const resource_groups = AWS.RestJSONService("resource-groups", "2017-11-27") +const rekognition = AWS.JSONService("rekognition", "2016-06-27", "1.1", "RekognitionService") +const redshift = AWS.QueryService("redshift", "2012-12-01") +const rds_data = AWS.RestJSONService("rds-data", "2018-08-01") +const rds = AWS.QueryService("rds", "2014-10-31") +const ram = AWS.RestJSONService("ram", "2018-01-04") +const quicksight = AWS.RestJSONService("quicksight", "2018-04-01") +const qldb_session = AWS.JSONService("session.qldb", "2019-07-11", "1.0", "QLDBSession") +const qldb = AWS.RestJSONService("qldb", "2019-01-02") +const pricing = AWS.JSONService("api.pricing", "2017-10-15", "1.1", "AWSPriceListService") +const polly = AWS.RestJSONService("polly", "2016-06-10") +const pinpoint_email = AWS.RestJSONService("email", "2018-07-26") +const pinpoint = AWS.RestJSONService("pinpoint", "2016-12-01") +const pi = AWS.JSONService("pi", "2018-02-27", "1.1", "PerformanceInsightsv20180227") +const personalize_runtime = AWS.RestJSONService("personalize-runtime", "2018-05-22") +const personalize_events = AWS.RestJSONService("personalize-events", "2018-03-22") +const personalize = AWS.JSONService("personalize", "2018-05-22", "1.1", "AmazonPersonalize") +const outposts = AWS.RestJSONService("outposts", "2019-12-03") +const organizations = AWS.JSONService("organizations", "2016-11-28", "1.1", "AWSOrganizationsV20161128") +const opsworkscm = AWS.JSONService("opsworks-cm", "2016-11-01", "1.1", "OpsWorksCM_V2016_11_01") +const opsworks = AWS.JSONService("opsworks", "2013-02-18", "1.1", "OpsWorks_20130218") +const networkmanager = AWS.RestJSONService("networkmanager", "2019-07-05") +const neptune = AWS.QueryService("rds", "2014-10-31") +const mturk = AWS.JSONService("mturk-requester", "2017-01-17", "1.1", "MTurkRequesterServiceV20170117") +const mq = AWS.RestJSONService("mq", "2017-11-27") +const cloudwatch = AWS.QueryService("monitoring", "2010-08-01") +const mobile_analytics = AWS.RestJSONService("mobileanalytics", "2014-06-05") +const mobile = AWS.RestJSONService("mobile", "2017-07-01") +const migrationhub_config = AWS.JSONService("migrationhub-config", "2019-06-30", "1.1", "AWSMigrationHubMultiAccountService") +const marketplace_metering = AWS.JSONService("metering.marketplace", "2016-01-14", "1.1", "AWSMPMeteringService") +const mediatailor = AWS.RestJSONService("api.mediatailor", "2018-04-23") +const mediastore_data = AWS.RestJSONService("data.mediastore", "2017-09-01") +const mediastore = AWS.JSONService("mediastore", "2017-09-01", "1.1", "MediaStore_20170901") +const mediapackage_vod = AWS.RestJSONService("mediapackage-vod", "2018-11-07") +const mediapackage = AWS.RestJSONService("mediapackage", "2017-10-12") +const medialive = AWS.RestJSONService("medialive", "2017-10-14") +const mediaconvert = AWS.RestJSONService("mediaconvert", "2017-08-29") +const mediaconnect = AWS.RestJSONService("mediaconnect", "2018-11-14") +const marketplace_commerce_analytics = AWS.JSONService("marketplacecommerceanalytics", "2015-07-01", "1.1", "MarketplaceCommerceAnalytics20150701") +const marketplace_catalog = AWS.RestJSONService("catalog.marketplace", "2018-09-17") +const managedblockchain = AWS.RestJSONService("managedblockchain", "2018-09-24") +const macie = AWS.JSONService("macie", "2017-12-19", "1.1", "MacieService") +const machine_learning = AWS.JSONService("machinelearning", "2014-12-12", "1.1", "AmazonML_20141212") +const cloudwatch_logs = AWS.JSONService("logs", "2014-03-28", "1.1", "Logs_20140328") +const lightsail = AWS.JSONService("lightsail", "2016-11-28", "1.1", "Lightsail_20161128") +const license_manager = AWS.JSONService("license-manager", "2018-08-01", "1.1", "AWSLicenseManager") +const lex_model_building_service = AWS.RestJSONService("models.lex", "2017-04-19") +const lambda = AWS.RestJSONService("lambda", "2015-03-31") +const lakeformation = AWS.JSONService("lakeformation", "2017-03-31", "1.1", "AWSLakeFormation") +const kms = AWS.JSONService("kms", "2014-11-01", "1.1", "TrentService") +const kinesis_video = AWS.RestJSONService("kinesisvideo", "2017-09-30") +const kinesis_analytics_v2 = AWS.JSONService("kinesisanalytics", "2018-05-23", "1.1", "KinesisAnalytics_20180523") +const kinesis_analytics = AWS.JSONService("kinesisanalytics", "2015-08-14", "1.1", "KinesisAnalytics_20150814") +const kinesis_video_signaling = AWS.RestJSONService("kinesisvideo", "2019-12-04") +const kinesis_video_media = AWS.RestJSONService("kinesisvideo", "2017-09-30") +const kinesis_video_archived_media = AWS.RestJSONService("kinesisvideo", "2017-09-30") +const kinesis = AWS.JSONService("kinesis", "2013-12-02", "1.1", "Kinesis_20131202") +const kendra = AWS.JSONService("kendra", "2019-02-03", "1.1", "AWSKendraFrontendService") +const kafka = AWS.RestJSONService("kafka", "2018-11-14") +const iotthingsgraph = AWS.JSONService("iotthingsgraph", "2018-09-06", "1.1", "IotThingsGraphFrontEndService") +const iotsecuretunneling = AWS.JSONService("api.tunneling.iot", "2018-10-05", "1.1", "IoTSecuredTunneling") +const iot_events_data = AWS.RestJSONService("data.iotevents", "2018-10-23") +const iot_events = AWS.RestJSONService("iotevents", "2018-07-27") +const iotanalytics = AWS.RestJSONService("iotanalytics", "2017-11-27") +const iot_1click_projects = AWS.RestJSONService("projects.iot1click", "2018-05-14") +const iot_1click_devices_service = AWS.RestJSONService("devices.iot1click", "2018-05-14") +const iot_jobs_data_plane = AWS.RestJSONService("data.jobs.iot", "2017-09-29") +const iot_data_plane = AWS.RestJSONService("data.iot", "2015-05-28") +const iot = AWS.RestJSONService("iot", "2015-05-28") +const inspector = AWS.JSONService("inspector", "2016-02-16", "1.1", "InspectorService") +const importexport = AWS.QueryService("importexport", "2010-06-01") +const imagebuilder = AWS.RestJSONService("imagebuilder", "2019-12-02") +const iam = AWS.QueryService("iam", "2010-05-08") +const health = AWS.JSONService("health", "2016-08-04", "1.1", "AWSHealth_20160804") +const guardduty = AWS.RestJSONService("guardduty", "2017-11-28") +const groundstation = AWS.RestJSONService("groundstation", "2019-05-23") +const greengrass = AWS.RestJSONService("greengrass", "2017-06-07") +const glue = AWS.JSONService("glue", "2017-03-31", "1.1", "AWSGlue") +const global_accelerator = AWS.JSONService("globalaccelerator", "2018-08-08", "1.1", "GlobalAccelerator_V20180706") +const glacier = AWS.RestJSONService("glacier", "2012-06-01") +const gamelift = AWS.JSONService("gamelift", "2015-10-01", "1.1", "GameLift") +const fsx = AWS.JSONService("fsx", "2018-03-01", "1.1", "AWSSimbaAPIService_v20180301") +const frauddetector = AWS.JSONService("frauddetector", "2019-11-15", "1.1", "AWSHawksNestServiceFacade") +const forecastquery = AWS.JSONService("forecastquery", "2018-06-26", "1.1", "AmazonForecastRuntime") +const forecast = AWS.JSONService("forecast", "2018-06-26", "1.1", "AmazonForecast") +const fms = AWS.JSONService("fms", "2018-01-01", "1.1", "AWSFMS_20180101") +const firehose = AWS.JSONService("firehose", "2015-08-04", "1.1", "Firehose_20150804") +const cloudwatch_events = AWS.JSONService("events", "2015-10-07", "1.1", "AWSEvents") +const eventbridge = AWS.JSONService("events", "2015-10-07", "1.1", "AWSEvents") +const elasticsearch_service = AWS.RestJSONService("es", "2015-01-01") +const marketplace_entitlement_service = AWS.JSONService("entitlement.marketplace", "2017-01-11", "1.1", "AWSMPEntitlementService") +const ses = AWS.QueryService("email", "2010-12-01") +const elastic_transcoder = AWS.RestJSONService("elastictranscoder", "2012-09-25") +const emr = AWS.JSONService("elasticmapreduce", "2009-03-31", "1.1", "ElasticMapReduce") +const elastic_load_balancing_v2 = AWS.QueryService("elasticloadbalancing", "2015-12-01") +const elastic_load_balancing = AWS.QueryService("elasticloadbalancing", "2012-06-01") +const efs = AWS.RestJSONService("elasticfilesystem", "2015-02-01") +const elastic_beanstalk = AWS.QueryService("elasticbeanstalk", "2010-12-01") +const elasticache = AWS.QueryService("elasticache", "2015-02-02") +const elastic_inference = AWS.RestJSONService("api.elastic-inference", "2017-07-25") +const eks = AWS.RestJSONService("eks", "2017-11-01") +const ecs = AWS.JSONService("ecs", "2014-11-13", "1.1", "AmazonEC2ContainerServiceV20141113") +const ecr = AWS.JSONService("api.ecr", "2015-09-21", "1.1", "AmazonEC2ContainerRegistry_V20150921") +const ec2_instance_connect = AWS.JSONService("ec2-instance-connect", "2018-04-02", "1.1", "AWSEC2InstanceConnectService") +const ec2 = AWS.QueryService("ec2", "2016-11-15") +const ebs = AWS.RestJSONService("ebs", "2019-11-02") +const dynamodb = AWS.JSONService("dynamodb", "2012-08-10", "1.0", "DynamoDB_20120810") +const directory_service = AWS.JSONService("ds", "2015-04-16", "1.1", "DirectoryService_20150416") +const docdb = AWS.QueryService("rds", "2014-10-31") +const database_migration_service = AWS.JSONService("dms", "2016-01-01", "1.1", "AmazonDMSv20160101") +const dlm = AWS.RestJSONService("dlm", "2018-01-12") +const application_discovery_service = AWS.JSONService("discovery", "2015-11-01", "1.1", "AWSPoseidonService_V2015_11_01") +const direct_connect = AWS.JSONService("directconnect", "2012-10-25", "1.1", "OvertureService") +const device_farm = AWS.JSONService("devicefarm", "2015-06-23", "1.1", "DeviceFarm_20150623") +const detective = AWS.RestJSONService("api.detective", "2018-10-26") +const dax = AWS.JSONService("dax", "2017-04-19", "1.1", "AmazonDAXV3") +const datasync = AWS.JSONService("datasync", "2018-11-09", "1.1", "FmrsService") +const data_pipeline = AWS.JSONService("datapipeline", "2012-10-29", "1.1", "DataPipeline") +const dataexchange = AWS.RestJSONService("dataexchange", "2017-07-25") +const cost_and_usage_report_service = AWS.JSONService("cur", "2017-01-06", "1.1", "AWSOrigamiServiceGatewayService") +const connectparticipant = AWS.RestJSONService("participant.connect", "2018-09-07") +const connect = AWS.RestJSONService("connect", "2017-08-08") +const config_service = AWS.JSONService("config", "2014-11-12", "1.1", "StarlingDoveService") +const compute_optimizer = AWS.JSONService("compute-optimizer", "2019-11-01", "1.0", "ComputeOptimizerService") +const comprehendmedical = AWS.JSONService("comprehendmedical", "2018-10-30", "1.1", "ComprehendMedical_20181030") +const comprehend = AWS.JSONService("comprehend", "2017-11-27", "1.1", "Comprehend_20171127") +const cognito_sync = AWS.RestJSONService("cognito-sync", "2014-06-30") +const cognito_identity_provider = AWS.JSONService("cognito-idp", "2016-04-18", "1.1", "AWSCognitoIdentityProviderService") +const cognito_identity = AWS.JSONService("cognito-identity", "2014-06-30", "1.1", "AWSCognitoIdentityService") +const codestar_notifications = AWS.RestJSONService("codestar-notifications", "2019-10-15") +const codestar_connections = AWS.JSONService("codestar-connections", "2019-12-01", "1.0", "com.amazonaws.codestar.connections.CodeStar_connections_20191201") +const codestar = AWS.JSONService("codestar", "2017-04-19", "1.1", "CodeStar_20170419") +const codepipeline = AWS.JSONService("codepipeline", "2015-07-09", "1.1", "CodePipeline_20150709") +const codeguruprofiler = AWS.RestJSONService("codeguru-profiler", "2019-07-18") +const codeguru_reviewer = AWS.RestJSONService("codeguru-reviewer", "2019-09-19") +const codedeploy = AWS.JSONService("codedeploy", "2014-10-06", "1.1", "CodeDeploy_20141006") +const codecommit = AWS.JSONService("codecommit", "2015-04-13", "1.1", "CodeCommit_20150413") +const codebuild = AWS.JSONService("codebuild", "2016-10-06", "1.1", "CodeBuild_20161006") +const cloudtrail = AWS.JSONService("cloudtrail", "2013-11-01", "1.1", "com.amazonaws.cloudtrail.v20131101.CloudTrail_20131101") +const cloudsearch_domain = AWS.RestJSONService("cloudsearchdomain", "2013-01-01") +const cloudsearch = AWS.QueryService("cloudsearch", "2013-01-01") +const cloudhsm_v2 = AWS.JSONService("cloudhsmv2", "2017-04-28", "1.1", "BaldrApiService") +const cloudhsm = AWS.JSONService("cloudhsm", "2014-05-30", "1.1", "CloudHsmFrontendService") +const cloudfront = AWS.RestXMLService("cloudfront", "2019-03-26") +const cloudformation = AWS.QueryService("cloudformation", "2010-05-15") +const clouddirectory = AWS.RestJSONService("clouddirectory", "2017-01-11") +const cloud9 = AWS.JSONService("cloud9", "2017-09-23", "1.1", "AWSCloud9WorkspaceManagementService") +const chime = AWS.RestJSONService("chime", "2018-05-01") +const cost_explorer = AWS.JSONService("ce", "2017-10-25", "1.1", "AWSInsightsIndexService") +const budgets = AWS.JSONService("budgets", "2016-10-20", "1.1", "AWSBudgetServiceGateway") +const batch = AWS.RestJSONService("batch", "2016-08-10") +const backup = AWS.RestJSONService("backup", "2018-11-15") +const auto_scaling_plans = AWS.JSONService("autoscaling-plans", "2018-01-06", "1.1", "AnyScaleScalingPlannerFrontendService") +const auto_scaling = AWS.QueryService("autoscaling", "2011-01-01") +const athena = AWS.JSONService("athena", "2017-05-18", "1.1", "AmazonAthena") +const appsync = AWS.RestJSONService("appsync", "2017-07-25") +const appstream = AWS.JSONService("appstream2", "2016-12-01", "1.1", "PhotonAdminProxyService") +const app_mesh = AWS.RestJSONService("appmesh", "2019-01-25") +const application_insights = AWS.JSONService("applicationinsights", "2018-11-25", "1.1", "EC2WindowsBarleyService") +const application_auto_scaling = AWS.JSONService("application-autoscaling", "2016-02-06", "1.1", "AnyScaleFrontendService") +const appconfig = AWS.RestJSONService("appconfig", "2019-10-09") +const apigatewayv2 = AWS.RestJSONService("apigateway", "2018-11-29") +const apigatewaymanagementapi = AWS.RestJSONService("execute-api", "2018-11-29") +const api_gateway = AWS.RestJSONService("apigateway", "2015-07-09") +const amplify = AWS.RestJSONService("amplify", "2017-07-25") +const alexa_for_business = AWS.JSONService("a4b", "2017-11-09", "1.1", "AlexaForBusiness") +const acm_pca = AWS.JSONService("acm-pca", "2017-08-22", "1.1", "ACMPrivateCA") +const acm = AWS.JSONService("acm", "2015-12-08", "1.1", "CertificateManager") +const accessanalyzer = AWS.RestJSONService("access-analyzer", "2019-11-01") +const migration_hub = AWS.JSONService("mgh", "2017-05-31", "1.1", "AWSMigrationHub") + +end diff --git a/src/services/accessanalyzer.jl b/src/services/accessanalyzer.jl new file mode 100644 index 0000000000..18839eb1e4 --- /dev/null +++ b/src/services/accessanalyzer.jl @@ -0,0 +1,289 @@ +include("../AWSServices.jl") +using .AWSServices: accessanalyzer + +""" + ListTagsForResource() + +Retrieves a list of tags applied to the specified resource. + +Required Parameters +{ + "resourceArn": "The ARN of the resource to retrieve tags from." +} +""" +ListTagsForResource(args) = accessanalyzer("GET", "/tags/{resourceArn}", args) + +""" + GetAnalyzedResource() + +Retrieves information about a resource that was analyzed. + +Required Parameters +{ + "resourceArn": "The ARN of the resource to retrieve information about.", + "analyzerArn": "The ARN of the analyzer to retrieve information from." +} +""" +GetAnalyzedResource(args) = accessanalyzer("GET", "/analyzed-resource", args) + +""" + CreateAnalyzer() + +Creates an analyzer for your account. + +Required Parameters +{ + "analyzerName": "The name of the analyzer to create.", + "type": "The type of analyzer to create. Only ACCOUNT analyzers are supported. You can create only one analyzer per account per Region." +} + +Optional Parameters +{ + "clientToken": "A client token.", + "archiveRules": "Specifies the archive rules to add for the analyzer. Archive rules automatically archive findings that meet the criteria you define for the rule.", + "tags": "The tags to apply to the analyzer." +} +""" +CreateAnalyzer(args) = accessanalyzer("PUT", "/analyzer", args) + +""" + ListFindings() + +Retrieves a list of findings generated by the specified analyzer. + +Required Parameters +{ + "analyzerArn": "The ARN of the analyzer to retrieve findings from." +} + +Optional Parameters +{ + "sort": "The sort order for the findings returned.", + "filter": "A filter to match for the findings to return.", + "maxResults": "The maximum number of results to return in the response.", + "nextToken": "A token used for pagination of results returned." +} +""" +ListFindings(args) = accessanalyzer("POST", "/finding", args) + +""" + GetFinding() + +Retrieves information about the specified finding. + +Required Parameters +{ + "id": "The ID of the finding to retrieve.", + "analyzerArn": "The ARN of the analyzer that generated the finding." +} +""" +GetFinding(args) = accessanalyzer("GET", "/finding/{id}", args) + +""" + ListArchiveRules() + +Retrieves a list of archive rules created for the specified analyzer. + +Required Parameters +{ + "analyzerName": "The name of the analyzer to retrieve rules from." +} + +Optional Parameters +{ + "maxResults": "The maximum number of results to return in the request.", + "nextToken": "A token used for pagination of results returned." +} +""" +ListArchiveRules(args) = accessanalyzer("GET", "/analyzer/{analyzerName}/archive-rule", args) + +""" + StartResourceScan() + +Immediately starts a scan of the policies applied to the specified resource. + +Required Parameters +{ + "resourceArn": "The ARN of the resource to scan.", + "analyzerArn": "The ARN of the analyzer to use to scan the policies applied to the specified resource." +} +""" +StartResourceScan(args) = accessanalyzer("POST", "/resource/scan", args) + +""" + ListAnalyzers() + +Retrieves a list of analyzers. + +Optional Parameters +{ + "maxResults": "The maximum number of results to return in the response.", + "nextToken": "A token used for pagination of results returned.", + "type": "The type of analyzer." +} +""" +ListAnalyzers() = accessanalyzer("GET", "/analyzer") +ListAnalyzers(args) = accessanalyzer("GET", "/analyzer", args) + +""" + GetAnalyzer() + +Retrieves information about the specified analyzer. + +Required Parameters +{ + "analyzerName": "The name of the analyzer retrieved." +} +""" +GetAnalyzer(args) = accessanalyzer("GET", "/analyzer/{analyzerName}", args) + +""" + TagResource() + +Adds a tag to the specified resource. + +Required Parameters +{ + "resourceArn": "The ARN of the resource to add the tag to.", + "tags": "The tags to add to the resource." +} +""" +TagResource(args) = accessanalyzer("POST", "/tags/{resourceArn}", args) + +""" + UntagResource() + +Removes a tag from the specified resource. + +Required Parameters +{ + "resourceArn": "The ARN of the resource to remove the tag from.", + "tagKeys": "The key for the tag to add." +} +""" +UntagResource(args) = accessanalyzer("DELETE", "/tags/{resourceArn}", args) + +""" + CreateArchiveRule() + +Creates an archive rule for the specified analyzer. Archive rules automatically archive findings that meet the criteria you define when you create the rule. + +Required Parameters +{ + "analyzerName": "The name of the created analyzer.", + "ruleName": "The name of the rule to create.", + "filter": "The criteria for the rule." +} + +Optional Parameters +{ + "clientToken": "A client token." +} +""" +CreateArchiveRule(args) = accessanalyzer("PUT", "/analyzer/{analyzerName}/archive-rule", args) + +""" + GetArchiveRule() + +Retrieves information about an archive rule. + +Required Parameters +{ + "analyzerName": "The name of the analyzer to retrieve rules from.", + "ruleName": "The name of the rule to retrieve." +} +""" +GetArchiveRule(args) = accessanalyzer("GET", "/analyzer/{analyzerName}/archive-rule/{ruleName}", args) + +""" + DeleteArchiveRule() + +Deletes the specified archive rule. + +Required Parameters +{ + "analyzerName": "The name of the analyzer that associated with the archive rule to delete.", + "ruleName": "The name of the rule to delete." +} + +Optional Parameters +{ + "clientToken": "A client token." +} +""" +DeleteArchiveRule(args) = accessanalyzer("DELETE", "/analyzer/{analyzerName}/archive-rule/{ruleName}", args) + +""" + DeleteAnalyzer() + +Deletes the specified analyzer. When you delete an analyzer, Access Analyzer is disabled for the account in the current or specific Region. All findings that were generated by the analyzer are deleted. You cannot undo this action. + +Required Parameters +{ + "analyzerName": "The name of the analyzer to delete." +} + +Optional Parameters +{ + "clientToken": "A client token." +} +""" +DeleteAnalyzer(args) = accessanalyzer("DELETE", "/analyzer/{analyzerName}", args) + +""" + ListAnalyzedResources() + +Retrieves a list of resources of the specified type that have been analyzed by the specified analyzer.. + +Required Parameters +{ + "analyzerArn": "The ARN of the analyzer to retrieve a list of analyzed resources from." +} + +Optional Parameters +{ + "maxResults": "The maximum number of results to return in the response.", + "resourceType": "The type of resource.", + "nextToken": "A token used for pagination of results returned." +} +""" +ListAnalyzedResources(args) = accessanalyzer("POST", "/analyzed-resource", args) + +""" + UpdateArchiveRule() + +Updates the criteria and values for the specified archive rule. + +Required Parameters +{ + "analyzerName": "The name of the analyzer to update the archive rules for.", + "ruleName": "The name of the rule to update.", + "filter": "A filter to match for the rules to update. Only rules that match the filter are updated." +} + +Optional Parameters +{ + "clientToken": "A client token." +} +""" +UpdateArchiveRule(args) = accessanalyzer("PUT", "/analyzer/{analyzerName}/archive-rule/{ruleName}", args) + +""" + UpdateFindings() + +Updates the status for the specified findings. + +Required Parameters +{ + "status": "The state represents the action to take to update the finding Status. Use ARCHIVE to change an Active finding to an Archived finding. Use ACTIVE to change an Archived finding to an Active finding.", + "analyzerArn": "The ARN of the analyzer that generated the findings to update." +} + +Optional Parameters +{ + "ids": "The IDs of the findings to update.", + "resourceArn": "The ARN of the resource identified in the finding.", + "clientToken": "A client token." +} +""" +UpdateFindings(args) = accessanalyzer("PUT", "/finding", args) diff --git a/src/services/acm.jl b/src/services/acm.jl new file mode 100644 index 0000000000..ae44a20503 --- /dev/null +++ b/src/services/acm.jl @@ -0,0 +1,187 @@ +include("../AWSServices.jl") +using .AWSServices: acm + +""" + DeleteCertificate() + +Deletes a certificate and its associated private key. If this action succeeds, the certificate no longer appears in the list that can be displayed by calling the ListCertificates action or be retrieved by calling the GetCertificate action. The certificate will not be available for use by AWS services integrated with ACM. You cannot delete an ACM certificate that is being used by another AWS service. To delete a certificate that is in use, the certificate association must first be removed. + +Required Parameters +{ + "CertificateArn": "String that contains the ARN of the ACM certificate to be deleted. This must be of the form: arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012 For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces." +} +""" +DeleteCertificate(args) = acm("DeleteCertificate", args) + +""" + GetCertificate() + +Retrieves an Amazon-issued certificate and its certificate chain. The chain consists of the certificate of the issuing CA and the intermediate certificates of any other subordinate CAs. All of the certificates are base64 encoded. You can use OpenSSL to decode the certificates and inspect individual fields. + +Required Parameters +{ + "CertificateArn": "String that contains a certificate ARN in the following format: arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012 For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces." +} +""" +GetCertificate(args) = acm("GetCertificate", args) + +""" + ExportCertificate() + +Exports a private certificate issued by a private certificate authority (CA) for use anywhere. The exported file contains the certificate, the certificate chain, and the encrypted private 2048-bit RSA key associated with the public key that is embedded in the certificate. For security, you must assign a passphrase for the private key when exporting it. For information about exporting and formatting a certificate using the ACM console or CLI, see Export a Private Certificate. + +Required Parameters +{ + "Passphrase": "Passphrase to associate with the encrypted exported private key. If you want to later decrypt the private key, you must have the passphrase. You can use the following OpenSSL command to decrypt a private key: openssl rsa -in encrypted_key.pem -out decrypted_key.pem ", + "CertificateArn": "An Amazon Resource Name (ARN) of the issued certificate. This must be of the form: arn:aws:acm:region:account:certificate/12345678-1234-1234-1234-123456789012 " +} +""" +ExportCertificate(args) = acm("ExportCertificate", args) + +""" + DescribeCertificate() + +Returns detailed metadata about the specified ACM certificate. + +Required Parameters +{ + "CertificateArn": "The Amazon Resource Name (ARN) of the ACM certificate. The ARN must have the following form: arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012 For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces." +} +""" +DescribeCertificate(args) = acm("DescribeCertificate", args) + +""" + AddTagsToCertificate() + +Adds one or more tags to an ACM certificate. Tags are labels that you can use to identify and organize your AWS resources. Each tag consists of a key and an optional value. You specify the certificate on input by its Amazon Resource Name (ARN). You specify the tag by using a key-value pair. You can apply a tag to just one certificate if you want to identify a specific characteristic of that certificate, or you can apply the same tag to multiple certificates if you want to filter for a common relationship among those certificates. Similarly, you can apply the same tag to multiple resources if you want to specify a relationship among those resources. For example, you can add the same tag to an ACM certificate and an Elastic Load Balancing load balancer to indicate that they are both used by the same website. For more information, see Tagging ACM certificates. To remove one or more tags, use the RemoveTagsFromCertificate action. To view all of the tags that have been applied to the certificate, use the ListTagsForCertificate action. + +Required Parameters +{ + "Tags": "The key-value pair that defines the tag. The tag value is optional.", + "CertificateArn": "String that contains the ARN of the ACM certificate to which the tag is to be applied. This must be of the form: arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012 For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces. " +} +""" +AddTagsToCertificate(args) = acm("AddTagsToCertificate", args) + +""" + RemoveTagsFromCertificate() + +Remove one or more tags from an ACM certificate. A tag consists of a key-value pair. If you do not specify the value portion of the tag when calling this function, the tag will be removed regardless of value. If you specify a value, the tag is removed only if it is associated with the specified value. To add tags to a certificate, use the AddTagsToCertificate action. To view all of the tags that have been applied to a specific ACM certificate, use the ListTagsForCertificate action. + +Required Parameters +{ + "Tags": "The key-value pair that defines the tag to remove.", + "CertificateArn": "String that contains the ARN of the ACM Certificate with one or more tags that you want to remove. This must be of the form: arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012 For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces. " +} +""" +RemoveTagsFromCertificate(args) = acm("RemoveTagsFromCertificate", args) + +""" + RequestCertificate() + +Requests an ACM certificate for use with other AWS services. To request an ACM certificate, you must specify a fully qualified domain name (FQDN) in the DomainName parameter. You can also specify additional FQDNs in the SubjectAlternativeNames parameter. If you are requesting a private certificate, domain validation is not required. If you are requesting a public certificate, each domain name that you specify must be validated to verify that you own or control the domain. You can use DNS validation or email validation. We recommend that you use DNS validation. ACM issues public certificates after receiving approval from the domain owner. + +Required Parameters +{ + "DomainName": " Fully qualified domain name (FQDN), such as www.example.com, that you want to secure with an ACM certificate. Use an asterisk (*) to create a wildcard certificate that protects several sites in the same domain. For example, *.example.com protects www.example.com, site.example.com, and images.example.com. The first domain name you enter cannot exceed 64 octets, including periods. Each subsequent Subject Alternative Name (SAN), however, can be up to 253 octets in length. " +} + +Optional Parameters +{ + "SubjectAlternativeNames": "Additional FQDNs to be included in the Subject Alternative Name extension of the ACM certificate. For example, add the name www.example.net to a certificate for which the DomainName field is www.example.com if users can reach your site by using either name. The maximum number of domain names that you can add to an ACM certificate is 100. However, the initial quota is 10 domain names. If you need more than 10 names, you must request a quota increase. For more information, see Quotas. The maximum length of a SAN DNS name is 253 octets. The name is made up of multiple labels separated by periods. No label can be longer than 63 octets. Consider the following examples: (63 octets).(63 octets).(63 octets).(61 octets) is legal because the total length is 253 octets (63+1+63+1+63+1+61) and no label exceeds 63 octets. (64 octets).(63 octets).(63 octets).(61 octets) is not legal because the total length exceeds 253 octets (64+1+63+1+63+1+61) and the first label exceeds 63 octets. (63 octets).(63 octets).(63 octets).(62 octets) is not legal because the total length of the DNS name (63+1+63+1+63+1+62) exceeds 253 octets. ", + "ValidationMethod": "The method you want to use if you are requesting a public certificate to validate that you own or control domain. You can validate with DNS or validate with email. We recommend that you use DNS validation. ", + "IdempotencyToken": "Customer chosen string that can be used to distinguish between calls to RequestCertificate. Idempotency tokens time out after one hour. Therefore, if you call RequestCertificate multiple times with the same idempotency token within one hour, ACM recognizes that you are requesting only one certificate and will issue only one. If you change the idempotency token for each call, ACM recognizes that you are requesting multiple certificates.", + "CertificateAuthorityArn": "The Amazon Resource Name (ARN) of the private certificate authority (CA) that will be used to issue the certificate. If you do not provide an ARN and you are trying to request a private certificate, ACM will attempt to issue a public certificate. For more information about private CAs, see the AWS Certificate Manager Private Certificate Authority (PCA) user guide. The ARN must have the following form: arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 ", + "Tags": "One or more resource tags to associate with the certificate.", + "DomainValidationOptions": "The domain name that you want ACM to use to send you emails so that you can validate domain ownership.", + "Options": "Currently, you can use this parameter to specify whether to add the certificate to a certificate transparency log. Certificate transparency makes it possible to detect SSL/TLS certificates that have been mistakenly or maliciously issued. Certificates that have not been logged typically produce an error message in a browser. For more information, see Opting Out of Certificate Transparency Logging." +} +""" +RequestCertificate(args) = acm("RequestCertificate", args) + +""" + UpdateCertificateOptions() + +Updates a certificate. Currently, you can use this function to specify whether to opt in to or out of recording your certificate in a certificate transparency log. For more information, see Opting Out of Certificate Transparency Logging. + +Required Parameters +{ + "CertificateArn": "ARN of the requested certificate to update. This must be of the form: arn:aws:acm:us-east-1:account:certificate/12345678-1234-1234-1234-123456789012 ", + "Options": "Use to update the options for your certificate. Currently, you can specify whether to add your certificate to a transparency log. Certificate transparency makes it possible to detect SSL/TLS certificates that have been mistakenly or maliciously issued. Certificates that have not been logged typically produce an error message in a browser. " +} +""" +UpdateCertificateOptions(args) = acm("UpdateCertificateOptions", args) + +""" + ImportCertificate() + +Imports a certificate into AWS Certificate Manager (ACM) to use with services that are integrated with ACM. Note that integrated services allow only certificate types and keys they support to be associated with their resources. Further, their support differs depending on whether the certificate is imported into IAM or into ACM. For more information, see the documentation for each service. For more information about importing certificates into ACM, see Importing Certificates in the AWS Certificate Manager User Guide. ACM does not provide managed renewal for certificates that you import. Note the following guidelines when importing third party certificates: You must enter the private key that matches the certificate you are importing. The private key must be unencrypted. You cannot import a private key that is protected by a password or a passphrase. If the certificate you are importing is not self-signed, you must enter its certificate chain. If a certificate chain is included, the issuer must be the subject of one of the certificates in the chain. The certificate, private key, and certificate chain must be PEM-encoded. The current time must be between the Not Before and Not After certificate fields. The Issuer field must not be empty. The OCSP authority URL, if present, must not exceed 1000 characters. To import a new certificate, omit the CertificateArn argument. Include this argument only when you want to replace a previously imported certifica When you import a certificate by using the CLI, you must specify the certificate, the certificate chain, and the private key by their file names preceded by file://. For example, you can specify a certificate saved in the C: temp folder as file://C: temp certificate_to_import.pem. If you are making an HTTP or HTTPS Query request, include these arguments as BLOBs. When you import a certificate by using an SDK, you must specify the certificate, the certificate chain, and the private key files in the manner required by the programming language you're using. The cryptographic algorithm of an imported certificate must match the algorithm of the signing CA. For example, if the signing CA key type is RSA, then the certificate key type must also be RSA. This operation returns the Amazon Resource Name (ARN) of the imported certificate. + +Required Parameters +{ + "PrivateKey": "The private key that matches the public key in the certificate.", + "Certificate": "The certificate to import." +} + +Optional Parameters +{ + "Tags": "One or more resource tags to associate with the imported certificate. Note: You cannot apply tags when reimporting a certificate.", + "CertificateChain": "The PEM encoded certificate chain.", + "CertificateArn": "The Amazon Resource Name (ARN) of an imported certificate to replace. To import a new certificate, omit this field. " +} +""" +ImportCertificate(args) = acm("ImportCertificate", args) + +""" + ResendValidationEmail() + +Resends the email that requests domain ownership validation. The domain owner or an authorized representative must approve the ACM certificate before it can be issued. The certificate can be approved by clicking a link in the mail to navigate to the Amazon certificate approval website and then clicking I Approve. However, the validation email can be blocked by spam filters. Therefore, if you do not receive the original mail, you can request that the mail be resent within 72 hours of requesting the ACM certificate. If more than 72 hours have elapsed since your original request or since your last attempt to resend validation mail, you must request a new certificate. For more information about setting up your contact email addresses, see Configure Email for your Domain. + +Required Parameters +{ + "ValidationDomain": "The base validation domain that will act as the suffix of the email addresses that are used to send the emails. This must be the same as the Domain value or a superdomain of the Domain value. For example, if you requested a certificate for site.subdomain.example.com and specify a ValidationDomain of subdomain.example.com, ACM sends email to the domain registrant, technical contact, and administrative contact in WHOIS and the following five addresses: admin@subdomain.example.com administrator@subdomain.example.com hostmaster@subdomain.example.com postmaster@subdomain.example.com webmaster@subdomain.example.com ", + "CertificateArn": "String that contains the ARN of the requested certificate. The certificate ARN is generated and returned by the RequestCertificate action as soon as the request is made. By default, using this parameter causes email to be sent to all top-level domains you specified in the certificate request. The ARN must be of the form: arn:aws:acm:us-east-1:123456789012:certificate/12345678-1234-1234-1234-123456789012 ", + "Domain": "The fully qualified domain name (FQDN) of the certificate that needs to be validated." +} +""" +ResendValidationEmail(args) = acm("ResendValidationEmail", args) + +""" + ListCertificates() + +Retrieves a list of certificate ARNs and domain names. You can request that only certificates that match a specific status be listed. You can also filter by specific attributes of the certificate. Default filtering returns only RSA_2048 certificates. For more information, see Filters. + +Optional Parameters +{ + "NextToken": "Use this parameter only when paginating results and only in a subsequent request after you receive a response with truncated results. Set it to the value of NextToken from the response you just received.", + "CertificateStatuses": "Filter the certificate list by status value.", + "Includes": "Filter the certificate list. For more information, see the Filters structure.", + "MaxItems": "Use this parameter when paginating results to specify the maximum number of items to return in the response. If additional items exist beyond the number you specify, the NextToken element is sent in the response. Use this NextToken value in a subsequent request to retrieve additional items." +} +""" +ListCertificates() = acm("ListCertificates") +ListCertificates(args) = acm("ListCertificates", args) + +""" + RenewCertificate() + +Renews an eligable ACM certificate. At this time, only exported private certificates can be renewed with this operation. In order to renew your ACM PCA certificates with ACM, you must first grant the ACM service principal permission to do so. For more information, see Testing Managed Renewal in the ACM User Guide. + +Required Parameters +{ + "CertificateArn": "String that contains the ARN of the ACM certificate to be renewed. This must be of the form: arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012 For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces." +} +""" +RenewCertificate(args) = acm("RenewCertificate", args) + +""" + ListTagsForCertificate() + +Lists the tags that have been applied to the ACM certificate. Use the certificate's Amazon Resource Name (ARN) to specify the certificate. To add a tag to an ACM certificate, use the AddTagsToCertificate action. To delete a tag, use the RemoveTagsFromCertificate action. + +Required Parameters +{ + "CertificateArn": "String that contains the ARN of the ACM certificate for which you want to list the tags. This must have the following form: arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012 For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces. " +} +""" +ListTagsForCertificate(args) = acm("ListTagsForCertificate", args) diff --git a/src/services/acm_pca.jl b/src/services/acm_pca.jl new file mode 100644 index 0000000000..4b75f5d81e --- /dev/null +++ b/src/services/acm_pca.jl @@ -0,0 +1,311 @@ +include("../AWSServices.jl") +using .AWSServices: acm_pca + +""" + UntagCertificateAuthority() + +Remove one or more tags from your private CA. A tag consists of a key-value pair. If you do not specify the value portion of the tag when calling this action, the tag will be removed regardless of value. If you specify a value, the tag is removed only if it is associated with the specified value. To add tags to a private CA, use the TagCertificateAuthority. Call the ListTags action to see what tags are associated with your CA. + +Required Parameters +{ + "CertificateAuthorityArn": "The Amazon Resource Name (ARN) that was returned when you called CreateCertificateAuthority. This must be of the form: arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 ", + "Tags": "List of tags to be removed from the CA." +} +""" +UntagCertificateAuthority(args) = acm_pca("UntagCertificateAuthority", args) + +""" + ListPermissions() + +Lists all the permissions, if any, that have been assigned by a private CA. Permissions can be granted with the CreatePermission action and revoked with the DeletePermission action. + +Required Parameters +{ + "CertificateAuthorityArn": "The Amazon Resource Number (ARN) of the private CA to inspect. You can find the ARN by calling the ListCertificateAuthorities action. This must be of the form: arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 You can get a private CA's ARN by running the ListCertificateAuthorities action." +} + +Optional Parameters +{ + "MaxResults": "When paginating results, use this parameter to specify the maximum number of items to return in the response. If additional items exist beyond the number you specify, the NextToken element is sent in the response. Use this NextToken value in a subsequent request to retrieve additional items.", + "NextToken": "When paginating results, use this parameter in a subsequent request after you receive a response with truncated results. Set it to the value of NextToken from the response you just received." +} +""" +ListPermissions(args) = acm_pca("ListPermissions", args) + +""" + GetCertificate() + +Retrieves a certificate from your private CA. The ARN of the certificate is returned when you call the IssueCertificate action. You must specify both the ARN of your private CA and the ARN of the issued certificate when calling the GetCertificate action. You can retrieve the certificate if it is in the ISSUED state. You can call the CreateCertificateAuthorityAuditReport action to create a report that contains information about all of the certificates issued and revoked by your private CA. + +Required Parameters +{ + "CertificateAuthorityArn": "The Amazon Resource Name (ARN) that was returned when you called CreateCertificateAuthority. This must be of the form: arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 . ", + "CertificateArn": "The ARN of the issued certificate. The ARN contains the certificate serial number and must be in the following form: arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012/certificate/286535153982981100925020015808220737245 " +} +""" +GetCertificate(args) = acm_pca("GetCertificate", args) + +""" + GetCertificateAuthorityCertificate() + +Retrieves the certificate and certificate chain for your private certificate authority (CA). Both the certificate and the chain are base64 PEM-encoded. The chain does not include the CA certificate. Each certificate in the chain signs the one before it. + +Required Parameters +{ + "CertificateAuthorityArn": "The Amazon Resource Name (ARN) of your private CA. This is of the form: arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 . " +} +""" +GetCertificateAuthorityCertificate(args) = acm_pca("GetCertificateAuthorityCertificate", args) + +""" + TagCertificateAuthority() + +Adds one or more tags to your private CA. Tags are labels that you can use to identify and organize your AWS resources. Each tag consists of a key and an optional value. You specify the private CA on input by its Amazon Resource Name (ARN). You specify the tag by using a key-value pair. You can apply a tag to just one private CA if you want to identify a specific characteristic of that CA, or you can apply the same tag to multiple private CAs if you want to filter for a common relationship among those CAs. To remove one or more tags, use the UntagCertificateAuthority action. Call the ListTags action to see what tags are associated with your CA. + +Required Parameters +{ + "CertificateAuthorityArn": "The Amazon Resource Name (ARN) that was returned when you called CreateCertificateAuthority. This must be of the form: arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 ", + "Tags": "List of tags to be associated with the CA." +} +""" +TagCertificateAuthority(args) = acm_pca("TagCertificateAuthority", args) + +""" + RestoreCertificateAuthority() + +Restores a certificate authority (CA) that is in the DELETED state. You can restore a CA during the period that you defined in the PermanentDeletionTimeInDays parameter of the DeleteCertificateAuthority action. Currently, you can specify 7 to 30 days. If you did not specify a PermanentDeletionTimeInDays value, by default you can restore the CA at any time in a 30 day period. You can check the time remaining in the restoration period of a private CA in the DELETED state by calling the DescribeCertificateAuthority or ListCertificateAuthorities actions. The status of a restored CA is set to its pre-deletion status when the RestoreCertificateAuthority action returns. To change its status to ACTIVE, call the UpdateCertificateAuthority action. If the private CA was in the PENDING_CERTIFICATE state at deletion, you must use the ImportCertificateAuthorityCertificate action to import a certificate authority into the private CA before it can be activated. You cannot restore a CA after the restoration period has ended. + +Required Parameters +{ + "CertificateAuthorityArn": "The Amazon Resource Name (ARN) that was returned when you called the CreateCertificateAuthority action. This must be of the form: arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 " +} +""" +RestoreCertificateAuthority(args) = acm_pca("RestoreCertificateAuthority", args) + +""" + RevokeCertificate() + +Revokes a certificate that was issued inside ACM Private CA. If you enable a certificate revocation list (CRL) when you create or update your private CA, information about the revoked certificates will be included in the CRL. ACM Private CA writes the CRL to an S3 bucket that you specify. For more information about revocation, see the CrlConfiguration structure. ACM Private CA also writes revocation information to the audit report. For more information, see CreateCertificateAuthorityAuditReport. You cannot revoke a root CA self-signed certificate. + +Required Parameters +{ + "CertificateAuthorityArn": "Amazon Resource Name (ARN) of the private CA that issued the certificate to be revoked. This must be of the form: arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 ", + "CertificateSerial": "Serial number of the certificate to be revoked. This must be in hexadecimal format. You can retrieve the serial number by calling GetCertificate with the Amazon Resource Name (ARN) of the certificate you want and the ARN of your private CA. The GetCertificate action retrieves the certificate in the PEM format. You can use the following OpenSSL command to list the certificate in text format and copy the hexadecimal serial number. openssl x509 -in file_path -text -noout You can also copy the serial number from the console or use the DescribeCertificate action in the AWS Certificate Manager API Reference. ", + "RevocationReason": "Specifies why you revoked the certificate." +} +""" +RevokeCertificate(args) = acm_pca("RevokeCertificate", args) + +""" + DeleteCertificateAuthority() + +Deletes a private certificate authority (CA). You must provide the Amazon Resource Name (ARN) of the private CA that you want to delete. You can find the ARN by calling the ListCertificateAuthorities action. Deleting a CA will invalidate other CAs and certificates below it in your CA hierarchy. Before you can delete a CA that you have created and activated, you must disable it. To do this, call the UpdateCertificateAuthority action and set the CertificateAuthorityStatus parameter to DISABLED. Additionally, you can delete a CA if you are waiting for it to be created (that is, the status of the CA is CREATING). You can also delete it if the CA has been created but you haven't yet imported the signed certificate into ACM Private CA (that is, the status of the CA is PENDING_CERTIFICATE). When you successfully call DeleteCertificateAuthority, the CA's status changes to DELETED. However, the CA won't be permanently deleted until the restoration period has passed. By default, if you do not set the PermanentDeletionTimeInDays parameter, the CA remains restorable for 30 days. You can set the parameter from 7 to 30 days. The DescribeCertificateAuthority action returns the time remaining in the restoration window of a private CA in the DELETED state. To restore an eligible CA, call the RestoreCertificateAuthority action. + +Required Parameters +{ + "CertificateAuthorityArn": "The Amazon Resource Name (ARN) that was returned when you called CreateCertificateAuthority. This must have the following form: arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 . " +} + +Optional Parameters +{ + "PermanentDeletionTimeInDays": "The number of days to make a CA restorable after it has been deleted. This can be anywhere from 7 to 30 days, with 30 being the default." +} +""" +DeleteCertificateAuthority(args) = acm_pca("DeleteCertificateAuthority", args) + +""" + IssueCertificate() + +Uses your private certificate authority (CA) to issue a client certificate. This action returns the Amazon Resource Name (ARN) of the certificate. You can retrieve the certificate by calling the GetCertificate action and specifying the ARN. You cannot use the ACM ListCertificateAuthorities action to retrieve the ARNs of the certificates that you issue by using ACM Private CA. + +Required Parameters +{ + "CertificateAuthorityArn": "The Amazon Resource Name (ARN) that was returned when you called CreateCertificateAuthority. This must be of the form: arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 ", + "Csr": "The certificate signing request (CSR) for the certificate you want to issue. You can use the following OpenSSL command to create the CSR and a 2048 bit RSA private key. openssl req -new -newkey rsa:2048 -days 365 -keyout private/test_cert_priv_key.pem -out csr/test_cert_.csr If you have a configuration file, you can use the following OpenSSL command. The usr_cert block in the configuration file contains your X509 version 3 extensions. openssl req -new -config openssl_rsa.cnf -extensions usr_cert -newkey rsa:2048 -days -365 -keyout private/test_cert_priv_key.pem -out csr/test_cert_.csr ", + "Validity": "The type of the validity period.", + "SigningAlgorithm": "The name of the algorithm that will be used to sign the certificate to be issued." +} + +Optional Parameters +{ + "IdempotencyToken": "Custom string that can be used to distinguish between calls to the IssueCertificate action. Idempotency tokens time out after one hour. Therefore, if you call IssueCertificate multiple times with the same idempotency token within 5 minutes, ACM Private CA recognizes that you are requesting only one certificate and will issue only one. If you change the idempotency token for each call, PCA recognizes that you are requesting multiple certificates.", + "TemplateArn": "Specifies a custom configuration template to use when issuing a certificate. If this parameter is not provided, ACM Private CA defaults to the EndEntityCertificate/V1 template. The following service-owned TemplateArn values are supported by ACM Private CA: arn:aws:acm-pca:::template/EndEntityCertificate/V1 arn:aws:acm-pca:::template/SubordinateCACertificate_PathLen0/V1 arn:aws:acm-pca:::template/SubordinateCACertificate_PathLen1/V1 arn:aws:acm-pca:::template/SubordinateCACertificate_PathLen2/V1 arn:aws:acm-pca:::template/SubordinateCACertificate_PathLen3/V1 arn:aws:acm-pca:::template/RootCACertificate/V1 For more information, see Using Templates." +} +""" +IssueCertificate(args) = acm_pca("IssueCertificate", args) + +""" + CreateCertificateAuthorityAuditReport() + +Creates an audit report that lists every time that your CA private key is used. The report is saved in the Amazon S3 bucket that you specify on input. The IssueCertificate and RevokeCertificate actions use the private key. + +Required Parameters +{ + "CertificateAuthorityArn": "The Amazon Resource Name (ARN) of the CA to be audited. This is of the form: arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 .", + "AuditReportResponseFormat": "The format in which to create the report. This can be either JSON or CSV.", + "S3BucketName": "The name of the S3 bucket that will contain the audit report." +} +""" +CreateCertificateAuthorityAuditReport(args) = acm_pca("CreateCertificateAuthorityAuditReport", args) + +""" + ImportCertificateAuthorityCertificate() + +Imports a signed private CA certificate into ACM Private CA. This action is used when you are using a chain of trust whose root is located outside ACM Private CA. Before you can call this action, the following preparations must in place: In ACM Private CA, call the CreateCertificateAuthority action to create the private CA that that you plan to back with the imported certificate. Call the GetCertificateAuthorityCsr action to generate a certificate signing request (CSR). Sign the CSR using a root or intermediate CA hosted either by an on-premises PKI hierarchy or a commercial CA.. Create a certificate chain and copy the signed certificate and the certificate chain to your working directory. The following requirements apply when you import a CA certificate. You cannot import a non-self-signed certificate for use as a root CA. You cannot import a self-signed certificate for use as a subordinate CA. Your certificate chain must not include the private CA certificate that you are importing. Your ACM Private CA-hosted or on-premises CA certificate must be the last certificate in your chain. The subordinate certificate, if any, that your root CA signed must be next to last. The subordinate certificate signed by the preceding subordinate CA must come next, and so on until your chain is built. The chain must be PEM-encoded. + +Required Parameters +{ + "CertificateAuthorityArn": "The Amazon Resource Name (ARN) that was returned when you called CreateCertificateAuthority. This must be of the form: arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 ", + "Certificate": "The PEM-encoded certificate for a private CA. This may be a self-signed certificate in the case of a root CA, or it may be signed by another CA that you control." +} + +Optional Parameters +{ + "CertificateChain": "A PEM-encoded file that contains all of your certificates, other than the certificate you're importing, chaining up to your root CA. Your ACM Private CA-hosted or on-premises root certificate is the last in the chain, and each certificate in the chain signs the one preceding. This parameter must be supplied when you import a subordinate CA. When you import a root CA, there is no chain." +} +""" +ImportCertificateAuthorityCertificate(args) = acm_pca("ImportCertificateAuthorityCertificate", args) + +""" + UpdateCertificateAuthority() + +Updates the status or configuration of a private certificate authority (CA). Your private CA must be in the ACTIVE or DISABLED state before you can update it. You can disable a private CA that is in the ACTIVE state or make a CA that is in the DISABLED state active again. + +Required Parameters +{ + "CertificateAuthorityArn": "Amazon Resource Name (ARN) of the private CA that issued the certificate to be revoked. This must be of the form: arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 " +} + +Optional Parameters +{ + "RevocationConfiguration": "Revocation information for your private CA.", + "Status": "Status of your private CA." +} +""" +UpdateCertificateAuthority(args) = acm_pca("UpdateCertificateAuthority", args) + +""" + DeletePermission() + +Revokes permissions that a private CA assigned to a designated AWS service. Permissions can be created with the CreatePermission action and listed with the ListPermissions action. + +Required Parameters +{ + "CertificateAuthorityArn": "The Amazon Resource Number (ARN) of the private CA that issued the permissions. You can find the CA's ARN by calling the ListCertificateAuthorities action. This must have the following form: arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 . ", + "Principal": "The AWS service or identity that will have its CA permissions revoked. At this time, the only valid service principal is acm.amazonaws.com " +} + +Optional Parameters +{ + "SourceAccount": "The AWS account that calls this action." +} +""" +DeletePermission(args) = acm_pca("DeletePermission", args) + +""" + CreatePermission() + +Assigns permissions from a private CA to a designated AWS service. Services are specified by their service principals and can be given permission to create and retrieve certificates on a private CA. Services can also be given permission to list the active permissions that the private CA has granted. For ACM to automatically renew your private CA's certificates, you must assign all possible permissions from the CA to the ACM service principal. At this time, you can only assign permissions to ACM (acm.amazonaws.com). Permissions can be revoked with the DeletePermission action and listed with the ListPermissions action. + +Required Parameters +{ + "Actions": "The actions that the specified AWS service principal can use. These include IssueCertificate, GetCertificate, and ListPermissions.", + "CertificateAuthorityArn": "The Amazon Resource Name (ARN) of the CA that grants the permissions. You can find the ARN by calling the ListCertificateAuthorities action. This must have the following form: arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 . ", + "Principal": "The AWS service or identity that receives the permission. At this time, the only valid principal is acm.amazonaws.com." +} + +Optional Parameters +{ + "SourceAccount": "The ID of the calling account." +} +""" +CreatePermission(args) = acm_pca("CreatePermission", args) + +""" + ListCertificateAuthorities() + +Lists the private certificate authorities that you created by using the CreateCertificateAuthority action. + +Optional Parameters +{ + "MaxResults": "Use this parameter when paginating results to specify the maximum number of items to return in the response on each page. If additional items exist beyond the number you specify, the NextToken element is sent in the response. Use this NextToken value in a subsequent request to retrieve additional items.", + "NextToken": "Use this parameter when paginating results in a subsequent request after you receive a response with truncated results. Set it to the value of the NextToken parameter from the response you just received." +} +""" +ListCertificateAuthorities() = acm_pca("ListCertificateAuthorities") +ListCertificateAuthorities(args) = acm_pca("ListCertificateAuthorities", args) + +""" + DescribeCertificateAuthority() + +Lists information about your private certificate authority (CA). You specify the private CA on input by its ARN (Amazon Resource Name). The output contains the status of your CA. This can be any of the following: CREATING - ACM Private CA is creating your private certificate authority. PENDING_CERTIFICATE - The certificate is pending. You must use your ACM Private CA-hosted or on-premises root or subordinate CA to sign your private CA CSR and then import it into PCA. ACTIVE - Your private CA is active. DISABLED - Your private CA has been disabled. EXPIRED - Your private CA certificate has expired. FAILED - Your private CA has failed. Your CA can fail because of problems such a network outage or backend AWS failure or other errors. A failed CA can never return to the pending state. You must create a new CA. DELETED - Your private CA is within the restoration period, after which it is permanently deleted. The length of time remaining in the CA's restoration period is also included in this action's output. + +Required Parameters +{ + "CertificateAuthorityArn": "The Amazon Resource Name (ARN) that was returned when you called CreateCertificateAuthority. This must be of the form: arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 . " +} +""" +DescribeCertificateAuthority(args) = acm_pca("DescribeCertificateAuthority", args) + +""" + ListTags() + +Lists the tags, if any, that are associated with your private CA. Tags are labels that you can use to identify and organize your CAs. Each tag consists of a key and an optional value. Call the TagCertificateAuthority action to add one or more tags to your CA. Call the UntagCertificateAuthority action to remove tags. + +Required Parameters +{ + "CertificateAuthorityArn": "The Amazon Resource Name (ARN) that was returned when you called the CreateCertificateAuthority action. This must be of the form: arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 " +} + +Optional Parameters +{ + "MaxResults": "Use this parameter when paginating results to specify the maximum number of items to return in the response. If additional items exist beyond the number you specify, the NextToken element is sent in the response. Use this NextToken value in a subsequent request to retrieve additional items.", + "NextToken": "Use this parameter when paginating results in a subsequent request after you receive a response with truncated results. Set it to the value of NextToken from the response you just received." +} +""" +ListTags(args) = acm_pca("ListTags", args) + +""" + DescribeCertificateAuthorityAuditReport() + +Lists information about a specific audit report created by calling the CreateCertificateAuthorityAuditReport action. Audit information is created every time the certificate authority (CA) private key is used. The private key is used when you call the IssueCertificate action or the RevokeCertificate action. + +Required Parameters +{ + "CertificateAuthorityArn": "The Amazon Resource Name (ARN) of the private CA. This must be of the form: arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 . ", + "AuditReportId": "The report ID returned by calling the CreateCertificateAuthorityAuditReport action." +} +""" +DescribeCertificateAuthorityAuditReport(args) = acm_pca("DescribeCertificateAuthorityAuditReport", args) + +""" + GetCertificateAuthorityCsr() + +Retrieves the certificate signing request (CSR) for your private certificate authority (CA). The CSR is created when you call the CreateCertificateAuthority action. Sign the CSR with your ACM Private CA-hosted or on-premises root or subordinate CA. Then import the signed certificate back into ACM Private CA by calling the ImportCertificateAuthorityCertificate action. The CSR is returned as a base64 PEM-encoded string. + +Required Parameters +{ + "CertificateAuthorityArn": "The Amazon Resource Name (ARN) that was returned when you called the CreateCertificateAuthority action. This must be of the form: arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 " +} +""" +GetCertificateAuthorityCsr(args) = acm_pca("GetCertificateAuthorityCsr", args) + +""" + CreateCertificateAuthority() + +Creates a root or subordinate private certificate authority (CA). You must specify the CA configuration, the certificate revocation list (CRL) configuration, the CA type, and an optional idempotency token to avoid accidental creation of multiple CAs. The CA configuration specifies the name of the algorithm and key size to be used to create the CA private key, the type of signing algorithm that the CA uses, and X.500 subject information. The CRL configuration specifies the CRL expiration period in days (the validity period of the CRL), the Amazon S3 bucket that will contain the CRL, and a CNAME alias for the S3 bucket that is included in certificates issued by the CA. If successful, this action returns the Amazon Resource Name (ARN) of the CA. + +Required Parameters +{ + "CertificateAuthorityConfiguration": "Name and bit size of the private key algorithm, the name of the signing algorithm, and X.500 certificate subject information.", + "CertificateAuthorityType": "The type of the certificate authority." +} + +Optional Parameters +{ + "RevocationConfiguration": "Contains a Boolean value that you can use to enable a certification revocation list (CRL) for the CA, the name of the S3 bucket to which ACM Private CA will write the CRL, and an optional CNAME alias that you can use to hide the name of your bucket in the CRL Distribution Points extension of your CA certificate. For more information, see the CrlConfiguration structure. ", + "IdempotencyToken": "Alphanumeric string that can be used to distinguish between calls to CreateCertificateAuthority. Idempotency tokens time out after five minutes. Therefore, if you call CreateCertificateAuthority multiple times with the same idempotency token within a five minute period, ACM Private CA recognizes that you are requesting only one certificate. As a result, ACM Private CA issues only one. If you change the idempotency token for each call, however, ACM Private CA recognizes that you are requesting multiple certificates.", + "Tags": "Key-value pairs that will be attached to the new private CA. You can associate up to 50 tags with a private CA. For information using tags with IAM to manage permissions, see Controlling Access Using IAM Tags." +} +""" +CreateCertificateAuthority(args) = acm_pca("CreateCertificateAuthority", args) diff --git a/src/services/alexa_for_business.jl b/src/services/alexa_for_business.jl new file mode 100644 index 0000000000..2a5a46fee4 --- /dev/null +++ b/src/services/alexa_for_business.jl @@ -0,0 +1,1446 @@ +include("../AWSServices.jl") +using .AWSServices: alexa_for_business + +""" + GetDevice() + +Gets the details of a device by device ARN. + +Optional Parameters +{ + "DeviceArn": "The ARN of the device for which to request details. Required." +} +""" +GetDevice() = alexa_for_business("GetDevice") +GetDevice(args) = alexa_for_business("GetDevice", args) + +""" + ListGateways() + +Retrieves a list of gateway summaries. Use GetGateway to retrieve details of a specific gateway. An optional gateway group ARN can be provided to only retrieve gateway summaries of gateways that are associated with that gateway group ARN. + +Optional Parameters +{ + "MaxResults": "The maximum number of gateway summaries to return. The default is 50.", + "NextToken": "The token used to paginate though multiple pages of gateway summaries.", + "GatewayGroupArn": "The gateway group ARN for which to list gateways." +} +""" +ListGateways() = alexa_for_business("ListGateways") +ListGateways(args) = alexa_for_business("ListGateways", args) + +""" + PutConferencePreference() + +Sets the conference preferences on a specific conference provider at the account level. + +Required Parameters +{ + "ConferencePreference": "The conference preference of a specific conference provider." +} +""" +PutConferencePreference(args) = alexa_for_business("PutConferencePreference", args) + +""" + SearchNetworkProfiles() + +Searches network profiles and lists the ones that meet a set of filter and sort criteria. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved. ", + "NextToken": "An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to the value specified by MaxResults. ", + "SortCriteria": "The sort order to use to list the specified set of network profiles. Valid sort criteria includes NetworkProfileName, Ssid, and SecurityType.", + "Filters": "The filters to use to list a specified set of network profiles. Valid filters are NetworkProfileName, Ssid, and SecurityType." +} +""" +SearchNetworkProfiles() = alexa_for_business("SearchNetworkProfiles") +SearchNetworkProfiles(args) = alexa_for_business("SearchNetworkProfiles", args) + +""" + CreateUser() + +Creates a user. + +Required Parameters +{ + "UserId": "The ARN for the user." +} + +Optional Parameters +{ + "Email": "The email address for the user.", + "ClientRequestToken": "A unique, user-specified identifier for this request that ensures idempotency. ", + "Tags": "The tags for the user.", + "LastName": "The last name for the user.", + "FirstName": "The first name for the user." +} +""" +CreateUser(args) = alexa_for_business("CreateUser", args) + +""" + DeleteGatewayGroup() + +Deletes a gateway group. + +Required Parameters +{ + "GatewayGroupArn": "The ARN of the gateway group to delete." +} +""" +DeleteGatewayGroup(args) = alexa_for_business("DeleteGatewayGroup", args) + +""" + SearchProfiles() + +Searches room profiles and lists the ones that meet a set of filter criteria. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.", + "NextToken": "An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to the value specified by MaxResults.", + "SortCriteria": "The sort order to use in listing the specified set of room profiles. Supported sort keys are ProfileName and Address.", + "Filters": "The filters to use to list a specified set of room profiles. Supported filter keys are ProfileName and Address. Required. " +} +""" +SearchProfiles() = alexa_for_business("SearchProfiles") +SearchProfiles(args) = alexa_for_business("SearchProfiles", args) + +""" + ApproveSkill() + +Associates a skill with the organization under the customer's AWS account. If a skill is private, the user implicitly accepts access to this skill during enablement. + +Required Parameters +{ + "SkillId": "The unique identifier of the skill." +} +""" +ApproveSkill(args) = alexa_for_business("ApproveSkill", args) + +""" + RegisterAVSDevice() + +Registers an Alexa-enabled device built by an Original Equipment Manufacturer (OEM) using Alexa Voice Service (AVS). + +Required Parameters +{ + "ClientId": "The client ID of the OEM used for code-based linking authorization on an AVS device.", + "DeviceSerialNumber": "The key generated by the OEM that uniquely identifies a specified instance of your AVS device.", + "UserCode": "The code that is obtained after your AVS device has made a POST request to LWA as a part of the Device Authorization Request component of the OAuth code-based linking specification.", + "ProductId": "The product ID used to identify your AVS device during authorization.", + "AmazonId": "The device type ID for your AVS device generated by Amazon when the OEM creates a new product on Amazon's Developer Console." +} +""" +RegisterAVSDevice(args) = alexa_for_business("RegisterAVSDevice", args) + +""" + DeleteRoomSkillParameter() + +Deletes room skill parameter details by room, skill, and parameter key ID. + +Required Parameters +{ + "SkillId": "The ID of the skill from which to remove the room skill parameter details.", + "ParameterKey": "The room skill parameter key for which to remove details." +} + +Optional Parameters +{ + "RoomArn": "The ARN of the room from which to remove the room skill parameter details." +} +""" +DeleteRoomSkillParameter(args) = alexa_for_business("DeleteRoomSkillParameter", args) + +""" + TagResource() + +Adds metadata tags to a specified resource. + +Required Parameters +{ + "Arn": "The ARN of the resource to which to add metadata tags. Required. ", + "Tags": "The tags to be added to the specified resource. Do not provide system tags. Required. " +} +""" +TagResource(args) = alexa_for_business("TagResource", args) + +""" + DeleteContact() + +Deletes a contact by the contact ARN. + +Required Parameters +{ + "ContactArn": "The ARN of the contact to delete." +} +""" +DeleteContact(args) = alexa_for_business("DeleteContact", args) + +""" + ListSkills() + +Lists all enabled skills in a specific skill group. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.", + "NextToken": "An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to the value specified by MaxResults.", + "SkillGroupArn": "The ARN of the skill group for which to list enabled skills.", + "EnablementType": "Whether the skill is enabled under the user's account.", + "SkillType": "Whether the skill is publicly available or is a private skill." +} +""" +ListSkills() = alexa_for_business("ListSkills") +ListSkills(args) = alexa_for_business("ListSkills", args) + +""" + SearchAddressBooks() + +Searches address books and lists the ones that meet a set of filter and sort criteria. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.", + "NextToken": "An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response only includes results beyond the token, up to the value specified by MaxResults.", + "SortCriteria": "The sort order to use in listing the specified set of address books. The supported sort key is AddressBookName.", + "Filters": "The filters to use to list a specified set of address books. The supported filter key is AddressBookName." +} +""" +SearchAddressBooks() = alexa_for_business("SearchAddressBooks") +SearchAddressBooks(args) = alexa_for_business("SearchAddressBooks", args) + +""" + UpdateGatewayGroup() + +Updates the details of a gateway group. If any optional field is not provided, the existing corresponding value is left unmodified. + +Required Parameters +{ + "GatewayGroupArn": "The ARN of the gateway group to update." +} + +Optional Parameters +{ + "Description": "The updated description of the gateway group.", + "Name": "The updated name of the gateway group." +} +""" +UpdateGatewayGroup(args) = alexa_for_business("UpdateGatewayGroup", args) + +""" + AssociateContactWithAddressBook() + +Associates a contact with a given address book. + +Required Parameters +{ + "ContactArn": "The ARN of the contact to associate with an address book.", + "AddressBookArn": "The ARN of the address book with which to associate the contact." +} +""" +AssociateContactWithAddressBook(args) = alexa_for_business("AssociateContactWithAddressBook", args) + +""" + UpdateRoom() + +Updates room details by room ARN. + +Optional Parameters +{ + "RoomName": "The updated name for the room.", + "Description": "The updated description for the room.", + "ProviderCalendarId": "The updated provider calendar ARN for the room.", + "ProfileArn": "The updated profile ARN for the room.", + "RoomArn": "The ARN of the room to update. " +} +""" +UpdateRoom() = alexa_for_business("UpdateRoom") +UpdateRoom(args) = alexa_for_business("UpdateRoom", args) + +""" + SendAnnouncement() + +Triggers an asynchronous flow to send text, SSML, or audio announcements to rooms that are identified by a search or filter. + +Required Parameters +{ + "ClientRequestToken": "The unique, user-specified identifier for the request that ensures idempotency.", + "Content": "The announcement content. This can contain only one of the three possible announcement types (text, SSML or audio).", + "RoomFilters": "The filters to use to send an announcement to a specified list of rooms. The supported filter keys are RoomName, ProfileName, RoomArn, and ProfileArn. To send to all rooms, specify an empty RoomFilters list." +} + +Optional Parameters +{ + "TimeToLiveInSeconds": "The time to live for an announcement. Default is 300. If delivery doesn't occur within this time, the announcement is not delivered." +} +""" +SendAnnouncement(args) = alexa_for_business("SendAnnouncement", args) + +""" + CreateConferenceProvider() + +Adds a new conference provider under the user's AWS account. + +Required Parameters +{ + "ConferenceProviderType": "Represents a type within a list of predefined types.", + "ConferenceProviderName": "The name of the conference provider.", + "MeetingSetting": "The meeting settings for the conference provider." +} + +Optional Parameters +{ + "ClientRequestToken": "The request token of the client.", + "IPDialIn": "The IP endpoint and protocol for calling.", + "PSTNDialIn": "The information for PSTN conferencing." +} +""" +CreateConferenceProvider(args) = alexa_for_business("CreateConferenceProvider", args) + +""" + ListBusinessReportSchedules() + +Lists the details of the schedules that a user configured. A download URL of the report associated with each schedule is returned every time this action is called. A new download URL is returned each time, and is valid for 24 hours. + +Optional Parameters +{ + "MaxResults": "The maximum number of schedules listed in the call.", + "NextToken": "The token used to list the remaining schedules from the previous API call." +} +""" +ListBusinessReportSchedules() = alexa_for_business("ListBusinessReportSchedules") +ListBusinessReportSchedules(args) = alexa_for_business("ListBusinessReportSchedules", args) + +""" + AssociateSkillWithUsers() + +Makes a private skill available for enrolled users to enable on their devices. + +Required Parameters +{ + "SkillId": "The private skill ID you want to make available to enrolled users." +} +""" +AssociateSkillWithUsers(args) = alexa_for_business("AssociateSkillWithUsers", args) + +""" + CreateGatewayGroup() + +Creates a gateway group with the specified details. + +Required Parameters +{ + "ClientRequestToken": " A unique, user-specified identifier for the request that ensures idempotency.", + "Name": "The name of the gateway group." +} + +Optional Parameters +{ + "Description": "The description of the gateway group." +} +""" +CreateGatewayGroup(args) = alexa_for_business("CreateGatewayGroup", args) + +""" + CreateContact() + +Creates a contact with the specified details. + +Required Parameters +{ + "FirstName": "The first name of the contact that is used to call the contact on the device." +} + +Optional Parameters +{ + "PhoneNumbers": "The list of phone numbers for the contact.", + "ClientRequestToken": "A unique, user-specified identifier for this request that ensures idempotency.", + "PhoneNumber": "The phone number of the contact in E.164 format. The phone number type defaults to WORK. You can specify PhoneNumber or PhoneNumbers. We recommend that you use PhoneNumbers, which lets you specify the phone number type and multiple numbers.", + "DisplayName": "The name of the contact to display on the console.", + "LastName": "The last name of the contact that is used to call the contact on the device.", + "SipAddresses": "The list of SIP addresses for the contact." +} +""" +CreateContact(args) = alexa_for_business("CreateContact", args) + +""" + CreateNetworkProfile() + +Creates a network profile with the specified details. + +Required Parameters +{ + "SecurityType": "The security type of the Wi-Fi network. This can be WPA2_ENTERPRISE, WPA2_PSK, WPA_PSK, WEP, or OPEN.", + "ClientRequestToken": "", + "Ssid": "The SSID of the Wi-Fi network.", + "NetworkProfileName": "The name of the network profile associated with a device." +} + +Optional Parameters +{ + "CurrentPassword": "The current password of the Wi-Fi network.", + "Description": "Detailed information about a device's network profile.", + "CertificateAuthorityArn": "The ARN of the Private Certificate Authority (PCA) created in AWS Certificate Manager (ACM). This is used to issue certificates to the devices. ", + "NextPassword": "The next, or subsequent, password of the Wi-Fi network. This password is asynchronously transmitted to the device and is used when the password of the network changes to NextPassword. ", + "TrustAnchors": "The root certificates of your authentication server that is installed on your devices and used to trust your authentication server during EAP negotiation. ", + "EapMethod": "The authentication standard that is used in the EAP framework. Currently, EAP_TLS is supported." +} +""" +CreateNetworkProfile(args) = alexa_for_business("CreateNetworkProfile", args) + +""" + DeleteSkillAuthorization() + +Unlinks a third-party account from a skill. + +Required Parameters +{ + "SkillId": "The unique identifier of a skill." +} + +Optional Parameters +{ + "RoomArn": "The room that the skill is authorized for." +} +""" +DeleteSkillAuthorization(args) = alexa_for_business("DeleteSkillAuthorization", args) + +""" + ResolveRoom() + +Determines the details for the room from which a skill request was invoked. This operation is used by skill developers. + +Required Parameters +{ + "SkillId": "The ARN of the skill that was requested. Required.", + "UserId": "The ARN of the user. Required." +} +""" +ResolveRoom(args) = alexa_for_business("ResolveRoom", args) + +""" + UpdateConferenceProvider() + +Updates an existing conference provider's settings. + +Required Parameters +{ + "ConferenceProviderType": "The type of the conference provider.", + "ConferenceProviderArn": "The ARN of the conference provider.", + "MeetingSetting": "The meeting settings for the conference provider." +} + +Optional Parameters +{ + "IPDialIn": "The IP endpoint and protocol for calling.", + "PSTNDialIn": "The information for PSTN conferencing." +} +""" +UpdateConferenceProvider(args) = alexa_for_business("UpdateConferenceProvider", args) + +""" + UpdateAddressBook() + +Updates address book details by the address book ARN. + +Required Parameters +{ + "AddressBookArn": "The ARN of the room to update." +} + +Optional Parameters +{ + "Description": "The updated description of the room.", + "Name": "The updated name of the room." +} +""" +UpdateAddressBook(args) = alexa_for_business("UpdateAddressBook", args) + +""" + ListGatewayGroups() + +Retrieves a list of gateway group summaries. Use GetGatewayGroup to retrieve details of a specific gateway group. + +Optional Parameters +{ + "MaxResults": "The maximum number of gateway group summaries to return. The default is 50.", + "NextToken": "The token used to paginate though multiple pages of gateway group summaries." +} +""" +ListGatewayGroups() = alexa_for_business("ListGatewayGroups") +ListGatewayGroups(args) = alexa_for_business("ListGatewayGroups", args) + +""" + DeleteUser() + +Deletes a specified user by user ARN and enrollment ARN. + +Required Parameters +{ + "EnrollmentId": "The ARN of the user's enrollment in the organization. Required." +} + +Optional Parameters +{ + "UserArn": "The ARN of the user to delete in the organization. Required." +} +""" +DeleteUser(args) = alexa_for_business("DeleteUser", args) + +""" + ListSkillsStoreSkillsByCategory() + +Lists all skills in the Alexa skill store by category. + +Required Parameters +{ + "CategoryId": "The category ID for which the skills are being retrieved from the skill store." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of skills returned per paginated calls.", + "NextToken": "The tokens used for pagination." +} +""" +ListSkillsStoreSkillsByCategory(args) = alexa_for_business("ListSkillsStoreSkillsByCategory", args) + +""" + DeleteBusinessReportSchedule() + +Deletes the recurring report delivery schedule with the specified schedule ARN. + +Required Parameters +{ + "ScheduleArn": "The ARN of the business report schedule." +} +""" +DeleteBusinessReportSchedule(args) = alexa_for_business("DeleteBusinessReportSchedule", args) + +""" + SearchUsers() + +Searches users and lists the ones that meet a set of filter and sort criteria. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved. Required.", + "NextToken": "An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to the value specified by MaxResults. Required.", + "SortCriteria": "The sort order to use in listing the filtered set of users. Required. Supported sort keys are UserId, FirstName, LastName, Email, and EnrollmentStatus.", + "Filters": "The filters to use for listing a specific set of users. Required. Supported filter keys are UserId, FirstName, LastName, Email, and EnrollmentStatus." +} +""" +SearchUsers() = alexa_for_business("SearchUsers") +SearchUsers(args) = alexa_for_business("SearchUsers", args) + +""" + DeleteConferenceProvider() + +Deletes a conference provider. + +Required Parameters +{ + "ConferenceProviderArn": "The ARN of the conference provider." +} +""" +DeleteConferenceProvider(args) = alexa_for_business("DeleteConferenceProvider", args) + +""" + UntagResource() + +Removes metadata tags from a specified resource. + +Required Parameters +{ + "Arn": "The ARN of the resource from which to remove metadata tags. Required. ", + "TagKeys": "The tags to be removed from the specified resource. Do not provide system tags. Required. " +} +""" +UntagResource(args) = alexa_for_business("UntagResource", args) + +""" + PutRoomSkillParameter() + +Updates room skill parameter details by room, skill, and parameter key ID. Not all skills have a room skill parameter. + +Required Parameters +{ + "SkillId": "The ARN of the skill associated with the room skill parameter. Required.", + "RoomSkillParameter": "The updated room skill parameter. Required." +} + +Optional Parameters +{ + "RoomArn": "The ARN of the room associated with the room skill parameter. Required." +} +""" +PutRoomSkillParameter(args) = alexa_for_business("PutRoomSkillParameter", args) + +""" + ListDeviceEvents() + +Lists the device event history, including device connection status, for up to 30 days. + +Required Parameters +{ + "DeviceArn": "The ARN of a device." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of results to include in the response. The default value is 50. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved. ", + "NextToken": "An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response only includes results beyond the token, up to the value specified by MaxResults. When the end of results is reached, the response has a value of null.", + "EventType": "The event type to filter device events. If EventType isn't specified, this returns a list of all device events in reverse chronological order. If EventType is specified, this returns a list of device events for that EventType in reverse chronological order. " +} +""" +ListDeviceEvents(args) = alexa_for_business("ListDeviceEvents", args) + +""" + CreateAddressBook() + +Creates an address book with the specified details. + +Required Parameters +{ + "Name": "The name of the address book." +} + +Optional Parameters +{ + "Description": "The description of the address book.", + "ClientRequestToken": "A unique, user-specified identifier for the request that ensures idempotency." +} +""" +CreateAddressBook(args) = alexa_for_business("CreateAddressBook", args) + +""" + AssociateDeviceWithNetworkProfile() + +Associates a device with the specified network profile. + +Required Parameters +{ + "NetworkProfileArn": "The ARN of the network profile to associate with a device.", + "DeviceArn": "The device ARN." +} +""" +AssociateDeviceWithNetworkProfile(args) = alexa_for_business("AssociateDeviceWithNetworkProfile", args) + +""" + CreateRoom() + +Creates a room with the specified details. + +Required Parameters +{ + "RoomName": "The name for the room." +} + +Optional Parameters +{ + "Description": "The description for the room.", + "ProfileArn": "The profile ARN for the room.", + "ProviderCalendarId": "The calendar ARN for the room.", + "ClientRequestToken": "A unique, user-specified identifier for this request that ensures idempotency. ", + "Tags": "The tags for the room." +} +""" +CreateRoom(args) = alexa_for_business("CreateRoom", args) + +""" + AssociateSkillGroupWithRoom() + +Associates a skill group with a given room. This enables all skills in the associated skill group on all devices in the room. + +Optional Parameters +{ + "SkillGroupArn": "The ARN of the skill group to associate with a room. Required.", + "RoomArn": "The ARN of the room with which to associate the skill group. Required." +} +""" +AssociateSkillGroupWithRoom() = alexa_for_business("AssociateSkillGroupWithRoom") +AssociateSkillGroupWithRoom(args) = alexa_for_business("AssociateSkillGroupWithRoom", args) + +""" + DeleteDevice() + +Removes a device from Alexa For Business. + +Required Parameters +{ + "DeviceArn": "The ARN of the device for which to request details." +} +""" +DeleteDevice(args) = alexa_for_business("DeleteDevice", args) + +""" + RejectSkill() + +Disassociates a skill from the organization under a user's AWS account. If the skill is a private skill, it moves to an AcceptStatus of PENDING. Any private or public skill that is rejected can be added later by calling the ApproveSkill API. + +Required Parameters +{ + "SkillId": "The unique identifier of the skill." +} +""" +RejectSkill(args) = alexa_for_business("RejectSkill", args) + +""" + CreateBusinessReportSchedule() + +Creates a recurring schedule for usage reports to deliver to the specified S3 location with a specified daily or weekly interval. + +Required Parameters +{ + "ContentRange": "The content range of the reports.", + "Format": "The format of the generated report (individual CSV files or zipped files of individual files)." +} + +Optional Parameters +{ + "Recurrence": "The recurrence of the reports. If this isn't specified, the report will only be delivered one time when the API is called. ", + "ClientRequestToken": "The client request token.", + "S3BucketName": "The S3 bucket name of the output reports. If this isn't specified, the report can be retrieved from a download link by calling ListBusinessReportSchedule. ", + "ScheduleName": "The name identifier of the schedule.", + "S3KeyPrefix": "The S3 key where the report is delivered." +} +""" +CreateBusinessReportSchedule(args) = alexa_for_business("CreateBusinessReportSchedule", args) + +""" + GetGateway() + +Retrieves the details of a gateway. + +Required Parameters +{ + "GatewayArn": "The ARN of the gateway to get." +} +""" +GetGateway(args) = alexa_for_business("GetGateway", args) + +""" + UpdateContact() + +Updates the contact details by the contact ARN. + +Required Parameters +{ + "ContactArn": "The ARN of the contact to update." +} + +Optional Parameters +{ + "PhoneNumbers": "The list of phone numbers for the contact.", + "PhoneNumber": "The updated phone number of the contact. The phone number type defaults to WORK. You can either specify PhoneNumber or PhoneNumbers. We recommend that you use PhoneNumbers, which lets you specify the phone number type and multiple numbers.", + "DisplayName": "The updated display name of the contact.", + "LastName": "The updated last name of the contact.", + "FirstName": "The updated first name of the contact.", + "SipAddresses": "The list of SIP addresses for the contact." +} +""" +UpdateContact(args) = alexa_for_business("UpdateContact", args) + +""" + DisassociateSkillFromSkillGroup() + +Disassociates a skill from a skill group. + +Required Parameters +{ + "SkillId": "The ARN of a skill group to associate to a skill." +} + +Optional Parameters +{ + "SkillGroupArn": "The unique identifier of a skill. Required." +} +""" +DisassociateSkillFromSkillGroup(args) = alexa_for_business("DisassociateSkillFromSkillGroup", args) + +""" + AssociateDeviceWithRoom() + +Associates a device with a given room. This applies all the settings from the room profile to the device, and all the skills in any skill groups added to that room. This operation requires the device to be online, or else a manual sync is required. + +Optional Parameters +{ + "DeviceArn": "The ARN of the device to associate to a room. Required.", + "RoomArn": "The ARN of the room with which to associate the device. Required." +} +""" +AssociateDeviceWithRoom() = alexa_for_business("AssociateDeviceWithRoom") +AssociateDeviceWithRoom(args) = alexa_for_business("AssociateDeviceWithRoom", args) + +""" + DeleteDeviceUsageData() + +When this action is called for a specified shared device, it allows authorized users to delete the device's entire previous history of voice input data and associated response data. This action can be called once every 24 hours for a specific shared device. + +Required Parameters +{ + "DeviceArn": "The ARN of the device.", + "DeviceUsageType": "The type of usage data to delete." +} +""" +DeleteDeviceUsageData(args) = alexa_for_business("DeleteDeviceUsageData", args) + +""" + DisassociateContactFromAddressBook() + +Disassociates a contact from a given address book. + +Required Parameters +{ + "ContactArn": "The ARN of the contact to disassociate from an address book.", + "AddressBookArn": "The ARN of the address from which to disassociate the contact." +} +""" +DisassociateContactFromAddressBook(args) = alexa_for_business("DisassociateContactFromAddressBook", args) + +""" + ListSkillsStoreCategories() + +Lists all categories in the Alexa skill store. + +Optional Parameters +{ + "MaxResults": "The maximum number of categories returned, per paginated calls.", + "NextToken": "The tokens used for pagination." +} +""" +ListSkillsStoreCategories() = alexa_for_business("ListSkillsStoreCategories") +ListSkillsStoreCategories(args) = alexa_for_business("ListSkillsStoreCategories", args) + +""" + DeleteNetworkProfile() + +Deletes a network profile by the network profile ARN. + +Required Parameters +{ + "NetworkProfileArn": "The ARN of the network profile associated with a device." +} +""" +DeleteNetworkProfile(args) = alexa_for_business("DeleteNetworkProfile", args) + +""" + UpdateNetworkProfile() + +Updates a network profile by the network profile ARN. + +Required Parameters +{ + "NetworkProfileArn": "The ARN of the network profile associated with a device." +} + +Optional Parameters +{ + "CurrentPassword": "The current password of the Wi-Fi network.", + "Description": "Detailed information about a device's network profile.", + "CertificateAuthorityArn": "The ARN of the Private Certificate Authority (PCA) created in AWS Certificate Manager (ACM). This is used to issue certificates to the devices. ", + "NextPassword": "The next, or subsequent, password of the Wi-Fi network. This password is asynchronously transmitted to the device and is used when the password of the network changes to NextPassword. ", + "TrustAnchors": "The root certificate(s) of your authentication server that will be installed on your devices and used to trust your authentication server during EAP negotiation. ", + "NetworkProfileName": "The name of the network profile associated with a device." +} +""" +UpdateNetworkProfile(args) = alexa_for_business("UpdateNetworkProfile", args) + +""" + GetSkillGroup() + +Gets skill group details by skill group ARN. + +Optional Parameters +{ + "SkillGroupArn": "The ARN of the skill group for which to get details. Required." +} +""" +GetSkillGroup() = alexa_for_business("GetSkillGroup") +GetSkillGroup(args) = alexa_for_business("GetSkillGroup", args) + +""" + GetRoom() + +Gets room details by room ARN. + +Optional Parameters +{ + "RoomArn": "The ARN of the room for which to request details. Required." +} +""" +GetRoom() = alexa_for_business("GetRoom") +GetRoom(args) = alexa_for_business("GetRoom", args) + +""" + CreateSkillGroup() + +Creates a skill group with a specified name and description. + +Required Parameters +{ + "SkillGroupName": "The name for the skill group." +} + +Optional Parameters +{ + "Description": "The description for the skill group.", + "ClientRequestToken": "A unique, user-specified identifier for this request that ensures idempotency. " +} +""" +CreateSkillGroup(args) = alexa_for_business("CreateSkillGroup", args) + +""" + GetRoomSkillParameter() + +Gets room skill parameter details by room, skill, and parameter key ARN. + +Required Parameters +{ + "SkillId": "The ARN of the skill from which to get the room skill parameter details. Required.", + "ParameterKey": "The room skill parameter key for which to get details. Required." +} + +Optional Parameters +{ + "RoomArn": "The ARN of the room from which to get the room skill parameter details. " +} +""" +GetRoomSkillParameter(args) = alexa_for_business("GetRoomSkillParameter", args) + +""" + GetContact() + +Gets the contact details by the contact ARN. + +Required Parameters +{ + "ContactArn": "The ARN of the contact for which to request details." +} +""" +GetContact(args) = alexa_for_business("GetContact", args) + +""" + StartDeviceSync() + +Resets a device and its account to the known default settings. This clears all information and settings set by previous users in the following ways: Bluetooth - This unpairs all bluetooth devices paired with your echo device. Volume - This resets the echo device's volume to the default value. Notifications - This clears all notifications from your echo device. Lists - This clears all to-do items from your echo device. Settings - This internally syncs the room's profile (if the device is assigned to a room), contacts, address books, delegation access for account linking, and communications (if enabled on the room profile). + +Required Parameters +{ + "Features": "Request structure to start the device sync. Required." +} + +Optional Parameters +{ + "DeviceArn": "The ARN of the device to sync. Required.", + "RoomArn": "The ARN of the room with which the device to sync is associated. Required." +} +""" +StartDeviceSync(args) = alexa_for_business("StartDeviceSync", args) + +""" + SearchRooms() + +Searches rooms and lists the ones that meet a set of filter and sort criteria. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved. ", + "NextToken": "An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to the value specified by MaxResults.", + "SortCriteria": "The sort order to use in listing the specified set of rooms. The supported sort keys are RoomName and ProfileName.", + "Filters": "The filters to use to list a specified set of rooms. The supported filter keys are RoomName and ProfileName." +} +""" +SearchRooms() = alexa_for_business("SearchRooms") +SearchRooms(args) = alexa_for_business("SearchRooms", args) + +""" + DisassociateDeviceFromRoom() + +Disassociates a device from its current room. The device continues to be connected to the Wi-Fi network and is still registered to the account. The device settings and skills are removed from the room. + +Optional Parameters +{ + "DeviceArn": "The ARN of the device to disassociate from a room. Required." +} +""" +DisassociateDeviceFromRoom() = alexa_for_business("DisassociateDeviceFromRoom") +DisassociateDeviceFromRoom(args) = alexa_for_business("DisassociateDeviceFromRoom", args) + +""" + CreateProfile() + +Creates a new room profile with the specified details. + +Required Parameters +{ + "Timezone": "The time zone used by a room profile.", + "ProfileName": "The name of a room profile.", + "Address": "The valid address for the room.", + "WakeWord": "A wake word for Alexa, Echo, Amazon, or a computer.", + "TemperatureUnit": "The temperature unit to be used by devices in the profile.", + "DistanceUnit": "The distance unit to be used by devices in the profile." +} + +Optional Parameters +{ + "SetupModeDisabled": "Whether room profile setup is enabled.", + "ClientRequestToken": "The user-specified token that is used during the creation of a profile.", + "Locale": "The locale of the room profile. (This is currently only available to a limited preview audience.)", + "MaxVolumeLimit": "The maximum volume limit for a room profile.", + "PSTNEnabled": "Whether PSTN calling is enabled.", + "MeetingRoomConfiguration": "The meeting room settings of a room profile." +} +""" +CreateProfile(args) = alexa_for_business("CreateProfile", args) + +""" + PutSkillAuthorization() + +Links a user's account to a third-party skill provider. If this API operation is called by an assumed IAM role, the skill being linked must be a private skill. Also, the skill must be owned by the AWS account that assumed the IAM role. + +Required Parameters +{ + "SkillId": "The unique identifier of a skill.", + "AuthorizationResult": "The authorization result specific to OAUTH code grant output. \"Code” must be populated in the AuthorizationResult map to establish the authorization." +} + +Optional Parameters +{ + "RoomArn": "The room that the skill is authorized for." +} +""" +PutSkillAuthorization(args) = alexa_for_business("PutSkillAuthorization", args) + +""" + StartSmartHomeApplianceDiscovery() + +Initiates the discovery of any smart home appliances associated with the room. + +Required Parameters +{ + "RoomArn": "The room where smart home appliance discovery was initiated." +} +""" +StartSmartHomeApplianceDiscovery(args) = alexa_for_business("StartSmartHomeApplianceDiscovery", args) + +""" + UpdateSkillGroup() + +Updates skill group details by skill group ARN. + +Optional Parameters +{ + "SkillGroupName": "The updated name for the skill group.", + "Description": "The updated description for the skill group.", + "SkillGroupArn": "The ARN of the skill group to update. " +} +""" +UpdateSkillGroup() = alexa_for_business("UpdateSkillGroup") +UpdateSkillGroup(args) = alexa_for_business("UpdateSkillGroup", args) + +""" + GetAddressBook() + +Gets address the book details by the address book ARN. + +Required Parameters +{ + "AddressBookArn": "The ARN of the address book for which to request details." +} +""" +GetAddressBook(args) = alexa_for_business("GetAddressBook", args) + +""" + GetConferenceProvider() + +Gets details about a specific conference provider. + +Required Parameters +{ + "ConferenceProviderArn": "The ARN of the newly created conference provider." +} +""" +GetConferenceProvider(args) = alexa_for_business("GetConferenceProvider", args) + +""" + UpdateDevice() + +Updates the device name by device ARN. + +Optional Parameters +{ + "DeviceName": "The updated device name. Required.", + "DeviceArn": "The ARN of the device to update. Required." +} +""" +UpdateDevice() = alexa_for_business("UpdateDevice") +UpdateDevice(args) = alexa_for_business("UpdateDevice", args) + +""" + GetInvitationConfiguration() + +Retrieves the configured values for the user enrollment invitation email template. +""" +GetInvitationConfiguration() = alexa_for_business("GetInvitationConfiguration") +GetInvitationConfiguration(args) = alexa_for_business("GetInvitationConfiguration", args) + +""" + UpdateGateway() + +Updates the details of a gateway. If any optional field is not provided, the existing corresponding value is left unmodified. + +Required Parameters +{ + "GatewayArn": "The ARN of the gateway to update." +} + +Optional Parameters +{ + "Description": "The updated description of the gateway.", + "SoftwareVersion": "The updated software version of the gateway. The gateway automatically updates its software version during normal operation.", + "Name": "The updated name of the gateway." +} +""" +UpdateGateway(args) = alexa_for_business("UpdateGateway", args) + +""" + GetNetworkProfile() + +Gets the network profile details by the network profile ARN. + +Required Parameters +{ + "NetworkProfileArn": "The ARN of the network profile associated with a device." +} +""" +GetNetworkProfile(args) = alexa_for_business("GetNetworkProfile", args) + +""" + GetProfile() + +Gets the details of a room profile by profile ARN. + +Optional Parameters +{ + "ProfileArn": "The ARN of the room profile for which to request details. Required." +} +""" +GetProfile() = alexa_for_business("GetProfile") +GetProfile(args) = alexa_for_business("GetProfile", args) + +""" + RevokeInvitation() + +Revokes an invitation and invalidates the enrollment URL. + +Optional Parameters +{ + "EnrollmentId": "The ARN of the enrollment invitation to revoke. Required.", + "UserArn": "The ARN of the user for whom to revoke an enrollment invitation. Required." +} +""" +RevokeInvitation() = alexa_for_business("RevokeInvitation") +RevokeInvitation(args) = alexa_for_business("RevokeInvitation", args) + +""" + SearchSkillGroups() + +Searches skill groups and lists the ones that meet a set of filter and sort criteria. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved. ", + "NextToken": "An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to the value specified by MaxResults. Required.", + "SortCriteria": "The sort order to use in listing the specified set of skill groups. The supported sort key is SkillGroupName. ", + "Filters": "The filters to use to list a specified set of skill groups. The supported filter key is SkillGroupName. " +} +""" +SearchSkillGroups() = alexa_for_business("SearchSkillGroups") +SearchSkillGroups(args) = alexa_for_business("SearchSkillGroups", args) + +""" + GetGatewayGroup() + +Retrieves the details of a gateway group. + +Required Parameters +{ + "GatewayGroupArn": "The ARN of the gateway group to get." +} +""" +GetGatewayGroup(args) = alexa_for_business("GetGatewayGroup", args) + +""" + PutInvitationConfiguration() + +Configures the email template for the user enrollment invitation with the specified attributes. + +Required Parameters +{ + "OrganizationName": "The name of the organization sending the enrollment invite to a user." +} + +Optional Parameters +{ + "ContactEmail": "The email ID of the organization or individual contact that the enrolled user can use. ", + "PrivateSkillIds": "The list of private skill IDs that you want to recommend to the user to enable in the invitation." +} +""" +PutInvitationConfiguration(args) = alexa_for_business("PutInvitationConfiguration", args) + +""" + DeleteRoom() + +Deletes a room by the room ARN. + +Optional Parameters +{ + "RoomArn": "The ARN of the room to delete. Required." +} +""" +DeleteRoom() = alexa_for_business("DeleteRoom") +DeleteRoom(args) = alexa_for_business("DeleteRoom", args) + +""" + SendInvitation() + +Sends an enrollment invitation email with a URL to a user. The URL is valid for 30 days or until you call this operation again, whichever comes first. + +Optional Parameters +{ + "UserArn": "The ARN of the user to whom to send an invitation. Required." +} +""" +SendInvitation() = alexa_for_business("SendInvitation") +SendInvitation(args) = alexa_for_business("SendInvitation", args) + +""" + ListConferenceProviders() + +Lists conference providers under a specific AWS account. + +Optional Parameters +{ + "MaxResults": "The maximum number of conference providers to be returned, per paginated calls.", + "NextToken": "The tokens used for pagination." +} +""" +ListConferenceProviders() = alexa_for_business("ListConferenceProviders") +ListConferenceProviders(args) = alexa_for_business("ListConferenceProviders", args) + +""" + DeleteSkillGroup() + +Deletes a skill group by skill group ARN. + +Optional Parameters +{ + "SkillGroupArn": "The ARN of the skill group to delete. Required." +} +""" +DeleteSkillGroup() = alexa_for_business("DeleteSkillGroup") +DeleteSkillGroup(args) = alexa_for_business("DeleteSkillGroup", args) + +""" + ForgetSmartHomeAppliances() + +Forgets smart home appliances associated to a room. + +Required Parameters +{ + "RoomArn": "The room that the appliances are associated with." +} +""" +ForgetSmartHomeAppliances(args) = alexa_for_business("ForgetSmartHomeAppliances", args) + +""" + GetConferencePreference() + +Retrieves the existing conference preferences. +""" +GetConferencePreference() = alexa_for_business("GetConferencePreference") +GetConferencePreference(args) = alexa_for_business("GetConferencePreference", args) + +""" + DisassociateSkillFromUsers() + +Makes a private skill unavailable for enrolled users and prevents them from enabling it on their devices. + +Required Parameters +{ + "SkillId": " The private skill ID you want to make unavailable for enrolled users." +} +""" +DisassociateSkillFromUsers(args) = alexa_for_business("DisassociateSkillFromUsers", args) + +""" + SearchContacts() + +Searches contacts and lists the ones that meet a set of filter and sort criteria. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.", + "NextToken": "An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response only includes results beyond the token, up to the value specified by MaxResults.", + "SortCriteria": "The sort order to use in listing the specified set of contacts. The supported sort keys are DisplayName, FirstName, and LastName.", + "Filters": "The filters to use to list a specified set of address books. The supported filter keys are DisplayName, FirstName, LastName, and AddressBookArns." +} +""" +SearchContacts() = alexa_for_business("SearchContacts") +SearchContacts(args) = alexa_for_business("SearchContacts", args) + +""" + SearchDevices() + +Searches devices and lists the ones that meet a set of filter criteria. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.", + "NextToken": "An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to the value specified by MaxResults.", + "SortCriteria": "The sort order to use in listing the specified set of devices. Supported sort keys are DeviceName, DeviceStatus, RoomName, DeviceType, DeviceSerialNumber, ConnectionStatus, NetworkProfileName, NetworkProfileArn, Feature, and FailureCode.", + "Filters": "The filters to use to list a specified set of devices. Supported filter keys are DeviceName, DeviceStatus, DeviceStatusDetailCode, RoomName, DeviceType, DeviceSerialNumber, UnassociatedOnly, ConnectionStatus (ONLINE and OFFLINE), NetworkProfileName, NetworkProfileArn, Feature, and FailureCode." +} +""" +SearchDevices() = alexa_for_business("SearchDevices") +SearchDevices(args) = alexa_for_business("SearchDevices", args) + +""" + ListTags() + +Lists all tags for the specified resource. + +Required Parameters +{ + "Arn": "The ARN of the specified resource for which to list tags." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.", + "NextToken": "An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to the value specified by MaxResults. " +} +""" +ListTags(args) = alexa_for_business("ListTags", args) + +""" + DeleteAddressBook() + +Deletes an address book by the address book ARN. + +Required Parameters +{ + "AddressBookArn": "The ARN of the address book to delete." +} +""" +DeleteAddressBook(args) = alexa_for_business("DeleteAddressBook", args) + +""" + ListSmartHomeAppliances() + +Lists all of the smart home appliances associated with a room. + +Required Parameters +{ + "RoomArn": "The room that the appliances are associated with." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of appliances to be returned, per paginated calls.", + "NextToken": "The tokens used for pagination." +} +""" +ListSmartHomeAppliances(args) = alexa_for_business("ListSmartHomeAppliances", args) + +""" + DisassociateSkillGroupFromRoom() + +Disassociates a skill group from a specified room. This disables all skills in the skill group on all devices in the room. + +Optional Parameters +{ + "SkillGroupArn": "The ARN of the skill group to disassociate from a room. Required.", + "RoomArn": "The ARN of the room from which the skill group is to be disassociated. Required." +} +""" +DisassociateSkillGroupFromRoom() = alexa_for_business("DisassociateSkillGroupFromRoom") +DisassociateSkillGroupFromRoom(args) = alexa_for_business("DisassociateSkillGroupFromRoom", args) + +""" + UpdateBusinessReportSchedule() + +Updates the configuration of the report delivery schedule with the specified schedule ARN. + +Required Parameters +{ + "ScheduleArn": "The ARN of the business report schedule." +} + +Optional Parameters +{ + "Format": "The format of the generated report (individual CSV files or zipped files of individual files).", + "Recurrence": "The recurrence of the reports.", + "S3BucketName": "The S3 location of the output reports.", + "ScheduleName": "The name identifier of the schedule.", + "S3KeyPrefix": "The S3 key where the report is delivered." +} +""" +UpdateBusinessReportSchedule(args) = alexa_for_business("UpdateBusinessReportSchedule", args) + +""" + UpdateProfile() + +Updates an existing room profile by room profile ARN. + +Optional Parameters +{ + "Timezone": "The updated timezone for the room profile.", + "ProfileName": "The updated name for the room profile.", + "IsDefault": "Sets the profile as default if selected. If this is missing, no update is done to the default status.", + "Locale": "The updated locale for the room profile. (This is currently only available to a limited preview audience.)", + "MaxVolumeLimit": "The updated maximum volume limit for the room profile.", + "PSTNEnabled": "Whether the PSTN setting of the room profile is enabled.", + "MeetingRoomConfiguration": "The updated meeting room settings of a room profile.", + "Address": "The updated address for the room profile.", + "WakeWord": "The updated wake word for the room profile.", + "TemperatureUnit": "The updated temperature unit for the room profile.", + "DistanceUnit": "The updated distance unit for the room profile.", + "SetupModeDisabled": "Whether the setup mode of the profile is enabled.", + "ProfileArn": "The ARN of the room profile to update. Required." +} +""" +UpdateProfile() = alexa_for_business("UpdateProfile") +UpdateProfile(args) = alexa_for_business("UpdateProfile", args) + +""" + DeleteProfile() + +Deletes a room profile by the profile ARN. + +Optional Parameters +{ + "ProfileArn": "The ARN of the room profile to delete. Required." +} +""" +DeleteProfile() = alexa_for_business("DeleteProfile") +DeleteProfile(args) = alexa_for_business("DeleteProfile", args) + +""" + AssociateSkillWithSkillGroup() + +Associates a skill with a skill group. + +Required Parameters +{ + "SkillId": "The unique identifier of the skill." +} + +Optional Parameters +{ + "SkillGroupArn": "The ARN of the skill group to associate the skill to. Required." +} +""" +AssociateSkillWithSkillGroup(args) = alexa_for_business("AssociateSkillWithSkillGroup", args) diff --git a/src/services/amplify.jl b/src/services/amplify.jl new file mode 100644 index 0000000000..587467089f --- /dev/null +++ b/src/services/amplify.jl @@ -0,0 +1,645 @@ +include("../AWSServices.jl") +using .AWSServices: amplify + +""" + ListTagsForResource() + + List tags for resource. + +Required Parameters +{ + "resourceArn": " Resource arn used to list tags. " +} +""" +ListTagsForResource(args) = amplify("GET", "/tags/{resourceArn}", args) + +""" + StopJob() + + Stop a job that is in progress, for an Amplify branch, part of Amplify App. + +Required Parameters +{ + "appId": " Unique Id for an Amplify App. ", + "jobId": " Unique Id for the Job. ", + "branchName": " Name for the branch, for the Job. " +} +""" +StopJob(args) = amplify("DELETE", "/apps/{appId}/branches/{branchName}/jobs/{jobId}/stop", args) + +""" + UpdateDomainAssociation() + + Create a new DomainAssociation on an App + +Required Parameters +{ + "appId": " Unique Id for an Amplify App. ", + "subDomainSettings": " Setting structure for the Subdomain. ", + "domainName": " Name of the domain. " +} + +Optional Parameters +{ + "enableAutoSubDomain": " Enables automated creation of Subdomains for branches. (Currently not supported) " +} +""" +UpdateDomainAssociation(args) = amplify("POST", "/apps/{appId}/domains/{domainName}", args) + +""" + StartDeployment() + + Start a deployment for manual deploy apps. (Apps are not connected to repository) + +Required Parameters +{ + "appId": " Unique Id for an Amplify App. ", + "branchName": " Name for the branch, for the Job. " +} + +Optional Parameters +{ + "jobId": " The job id for this deployment, generated by create deployment request. ", + "sourceUrl": " The sourceUrl for this deployment, used when calling start deployment without create deployment. SourceUrl can be any HTTP GET url that is public accessible and downloads a single zip. " +} +""" +StartDeployment(args) = amplify("POST", "/apps/{appId}/branches/{branchName}/deployments/start", args) + +""" + CreateDeployment() + + Create a deployment for manual deploy apps. (Apps are not connected to repository) + +Required Parameters +{ + "appId": " Unique Id for an Amplify App. ", + "branchName": " Name for the branch, for the Job. " +} + +Optional Parameters +{ + "fileMap": " Optional file map that contains file name as the key and file content md5 hash as the value. If this argument is provided, the service will generate different upload url per file. Otherwise, the service will only generate a single upload url for the zipped files. " +} +""" +CreateDeployment(args) = amplify("POST", "/apps/{appId}/branches/{branchName}/deployments", args) + +""" + GetWebhook() + + Retrieves webhook info that corresponds to a webhookId. + +Required Parameters +{ + "webhookId": " Unique Id for a webhook. " +} +""" +GetWebhook(args) = amplify("GET", "/webhooks/{webhookId}", args) + +""" + DeleteApp() + + Delete an existing Amplify App by appId. + +Required Parameters +{ + "appId": " Unique Id for an Amplify App. " +} +""" +DeleteApp(args) = amplify("DELETE", "/apps/{appId}", args) + +""" + GetBackendEnvironment() + + Retrieves a backend environment for an Amplify App. + +Required Parameters +{ + "appId": " Unique Id for an Amplify App. ", + "environmentName": " Name for the backend environment. " +} +""" +GetBackendEnvironment(args) = amplify("GET", "/apps/{appId}/backendenvironments/{environmentName}", args) + +""" + StartJob() + + Starts a new job for a branch, part of an Amplify App. + +Required Parameters +{ + "appId": " Unique Id for an Amplify App. ", + "branchName": " Name for the branch, for the Job. ", + "jobType": " Type for the Job. Available JobTypes are: n \"RELEASE\": Start a new job with the latest change from the specified branch. Only available for apps that have connected to a repository. \"RETRY\": Retry an existing job. JobId is required for this type of job. " +} + +Optional Parameters +{ + "jobId": " Unique Id for an existing job. Required for \"RETRY\" JobType. ", + "jobReason": " Descriptive reason for starting this job. ", + "commitId": " Commit Id from 3rd party repository provider for the Job. ", + "commitTime": " Commit date / time for the Job. ", + "commitMessage": " Commit message from 3rd party repository provider for the Job. " +} +""" +StartJob(args) = amplify("POST", "/apps/{appId}/branches/{branchName}/jobs", args) + +""" + ListApps() + + Lists existing Amplify Apps. + +Optional Parameters +{ + "maxResults": " Maximum number of records to list in a single response. ", + "nextToken": " Pagination token. If non-null pagination token is returned in a result, then pass its value in another request to fetch more entries. " +} +""" +ListApps() = amplify("GET", "/apps") +ListApps(args) = amplify("GET", "/apps", args) + +""" + CreateBranch() + + Creates a new Branch for an Amplify App. + +Required Parameters +{ + "appId": " Unique Id for an Amplify App. ", + "branchName": " Name for the branch. " +} + +Optional Parameters +{ + "enableAutoBuild": " Enables auto building for the branch. ", + "basicAuthCredentials": " Basic Authorization credentials for the branch. ", + "backendEnvironmentArn": " ARN for a Backend Environment, part of an Amplify App. ", + "enableBasicAuth": " Enables Basic Auth for the branch. ", + "environmentVariables": " Environment Variables for the branch. ", + "displayName": " Display name for a branch, will use as the default domain prefix. ", + "ttl": " The content TTL for the website in seconds. ", + "framework": " Framework for the branch. ", + "description": " Description for the branch. ", + "buildSpec": " BuildSpec for the branch. ", + "enableNotification": " Enables notifications for the branch. ", + "stage": " Stage for the branch. ", + "enablePullRequestPreview": " Enables Pull Request Preview for this branch. ", + "tags": " Tag for the branch. ", + "pullRequestEnvironmentName": " The Amplify Environment name for the pull request. " +} +""" +CreateBranch(args) = amplify("POST", "/apps/{appId}/branches", args) + +""" + ListWebhooks() + + List webhooks with an app. + +Required Parameters +{ + "appId": " Unique Id for an Amplify App. " +} + +Optional Parameters +{ + "maxResults": " Maximum number of records to list in a single response. ", + "nextToken": " Pagination token. Set to null to start listing webhooks from start. If non-null pagination token is returned in a result, then pass its value in here to list more webhooks. " +} +""" +ListWebhooks(args) = amplify("GET", "/apps/{appId}/webhooks", args) + +""" + TagResource() + + Tag resource with tag key and value. + +Required Parameters +{ + "resourceArn": " Resource arn used to tag resource. ", + "tags": " Tags used to tag resource. " +} +""" +TagResource(args) = amplify("POST", "/tags/{resourceArn}", args) + +""" + DeleteBackendEnvironment() + + Delete backend environment for an Amplify App. + +Required Parameters +{ + "appId": " Unique Id of an Amplify App. ", + "environmentName": " Name of a backend environment of an Amplify App. " +} +""" +DeleteBackendEnvironment(args) = amplify("DELETE", "/apps/{appId}/backendenvironments/{environmentName}", args) + +""" + CreateWebhook() + + Create a new webhook on an App. + +Required Parameters +{ + "appId": " Unique Id for an Amplify App. ", + "branchName": " Name for a branch, part of an Amplify App. " +} + +Optional Parameters +{ + "description": " Description for a webhook. " +} +""" +CreateWebhook(args) = amplify("POST", "/apps/{appId}/webhooks", args) + +""" + DeleteWebhook() + + Deletes a webhook. + +Required Parameters +{ + "webhookId": " Unique Id for a webhook. " +} +""" +DeleteWebhook(args) = amplify("DELETE", "/webhooks/{webhookId}", args) + +""" + GenerateAccessLogs() + + Retrieve website access logs for a specific time range via a pre-signed URL. + +Required Parameters +{ + "appId": " Unique Id for an Amplify App. ", + "domainName": " Name of the domain. " +} + +Optional Parameters +{ + "startTime": " The time at which the logs should start, inclusive. ", + "endTime": " The time at which the logs should end, inclusive. " +} +""" +GenerateAccessLogs(args) = amplify("POST", "/apps/{appId}/accesslogs", args) + +""" + GetJob() + + Get a job for a branch, part of an Amplify App. + +Required Parameters +{ + "appId": " Unique Id for an Amplify App. ", + "jobId": " Unique Id for the Job. ", + "branchName": " Name for the branch, for the Job. " +} +""" +GetJob(args) = amplify("GET", "/apps/{appId}/branches/{branchName}/jobs/{jobId}", args) + +""" + UntagResource() + + Untag resource with resourceArn. + +Required Parameters +{ + "resourceArn": " Resource arn used to untag resource. ", + "tagKeys": " Tag keys used to untag resource. " +} +""" +UntagResource(args) = amplify("DELETE", "/tags/{resourceArn}", args) + +""" + UpdateApp() + + Updates an existing Amplify App. + +Required Parameters +{ + "appId": " Unique Id for an Amplify App. " +} + +Optional Parameters +{ + "basicAuthCredentials": " Basic Authorization credentials for an Amplify App. ", + "enableBasicAuth": " Enables Basic Authorization for an Amplify App. ", + "iamServiceRoleArn": " IAM service role for an Amplify App. ", + "enableAutoBranchCreation": " Enables automated branch creation for the Amplify App. ", + "autoBranchCreationPatterns": " Automated branch creation glob patterns for the Amplify App. ", + "oauthToken": " OAuth token for 3rd party source control system for an Amplify App, used to create webhook and read-only deploy key. OAuth token is not stored. ", + "repository": " Repository for an Amplify App ", + "environmentVariables": " Environment Variables for an Amplify App. ", + "name": " Name for an Amplify App. ", + "customRules": " Custom redirect / rewrite rules for an Amplify App. ", + "platform": " Platform for an Amplify App. ", + "description": " Description for an Amplify App. ", + "buildSpec": " BuildSpec for an Amplify App. ", + "enableBranchAutoBuild": " Enables branch auto-building for an Amplify App. ", + "accessToken": " Personal Access token for 3rd party source control system for an Amplify App, used to create webhook and read-only deploy key. Token is not stored. ", + "autoBranchCreationConfig": " Automated branch creation branchConfig for the Amplify App. " +} +""" +UpdateApp(args) = amplify("POST", "/apps/{appId}", args) + +""" + UpdateBranch() + + Updates a branch for an Amplify App. + +Required Parameters +{ + "appId": " Unique Id for an Amplify App. ", + "branchName": " Name for the branch. " +} + +Optional Parameters +{ + "enableAutoBuild": " Enables auto building for the branch. ", + "basicAuthCredentials": " Basic Authorization credentials for the branch. ", + "backendEnvironmentArn": " ARN for a Backend Environment, part of an Amplify App. ", + "enableBasicAuth": " Enables Basic Auth for the branch. ", + "environmentVariables": " Environment Variables for the branch. ", + "displayName": " Display name for a branch, will use as the default domain prefix. ", + "ttl": " The content TTL for the website in seconds. ", + "framework": " Framework for the branch. ", + "description": " Description for the branch. ", + "buildSpec": " BuildSpec for the branch. ", + "enableNotification": " Enables notifications for the branch. ", + "stage": " Stage for the branch. ", + "enablePullRequestPreview": " Enables Pull Request Preview for this branch. ", + "pullRequestEnvironmentName": " The Amplify Environment name for the pull request. " +} +""" +UpdateBranch(args) = amplify("POST", "/apps/{appId}/branches/{branchName}", args) + +""" + CreateBackendEnvironment() + + Creates a new backend environment for an Amplify App. + +Required Parameters +{ + "appId": " Unique Id for an Amplify App. ", + "environmentName": " Name for the backend environment. " +} + +Optional Parameters +{ + "deploymentArtifacts": " Name of deployment artifacts. ", + "stackName": " CloudFormation stack name of backend environment. " +} +""" +CreateBackendEnvironment(args) = amplify("POST", "/apps/{appId}/backendenvironments", args) + +""" + GetBranch() + + Retrieves a branch for an Amplify App. + +Required Parameters +{ + "appId": " Unique Id for an Amplify App. ", + "branchName": " Name for the branch. " +} +""" +GetBranch(args) = amplify("GET", "/apps/{appId}/branches/{branchName}", args) + +""" + ListDomainAssociations() + + List domains with an app + +Required Parameters +{ + "appId": " Unique Id for an Amplify App. " +} + +Optional Parameters +{ + "maxResults": " Maximum number of records to list in a single response. ", + "nextToken": " Pagination token. Set to null to start listing Apps from start. If non-null pagination token is returned in a result, then pass its value in here to list more projects. " +} +""" +ListDomainAssociations(args) = amplify("GET", "/apps/{appId}/domains", args) + +""" + CreateApp() + + Creates a new Amplify App. + +Required Parameters +{ + "name": " Name for the Amplify App " +} + +Optional Parameters +{ + "basicAuthCredentials": " Credentials for Basic Authorization for an Amplify App. ", + "enableBasicAuth": " Enable Basic Authorization for an Amplify App, this will apply to all branches part of this App. ", + "iamServiceRoleArn": " AWS IAM service role for an Amplify App ", + "enableAutoBranchCreation": " Enables automated branch creation for the Amplify App. ", + "autoBranchCreationPatterns": " Automated branch creation glob patterns for the Amplify App. ", + "oauthToken": " OAuth token for 3rd party source control system for an Amplify App, used to create webhook and read-only deploy key. OAuth token is not stored. ", + "repository": " Repository for an Amplify App ", + "environmentVariables": " Environment variables map for an Amplify App. ", + "customRules": " Custom rewrite / redirect rules for an Amplify App. ", + "platform": " Platform / framework for an Amplify App ", + "description": " Description for an Amplify App ", + "buildSpec": " BuildSpec for an Amplify App ", + "enableBranchAutoBuild": " Enable the auto building of branches for an Amplify App. ", + "accessToken": " Personal Access token for 3rd party source control system for an Amplify App, used to create webhook and read-only deploy key. Token is not stored. ", + "tags": " Tag for an Amplify App ", + "autoBranchCreationConfig": " Automated branch creation config for the Amplify App. " +} +""" +CreateApp(args) = amplify("POST", "/apps", args) + +""" + UpdateWebhook() + + Update a webhook. + +Required Parameters +{ + "webhookId": " Unique Id for a webhook. " +} + +Optional Parameters +{ + "branchName": " Name for a branch, part of an Amplify App. ", + "description": " Description for a webhook. " +} +""" +UpdateWebhook(args) = amplify("POST", "/webhooks/{webhookId}", args) + +""" + GetDomainAssociation() + + Retrieves domain info that corresponds to an appId and domainName. + +Required Parameters +{ + "appId": " Unique Id for an Amplify App. ", + "domainName": " Name of the domain. " +} +""" +GetDomainAssociation(args) = amplify("GET", "/apps/{appId}/domains/{domainName}", args) + +""" + GetArtifactUrl() + + Retrieves artifact info that corresponds to a artifactId. + +Required Parameters +{ + "artifactId": " Unique Id for a artifact. " +} +""" +GetArtifactUrl(args) = amplify("GET", "/artifacts/{artifactId}", args) + +""" + DeleteDomainAssociation() + + Deletes a DomainAssociation. + +Required Parameters +{ + "appId": " Unique Id for an Amplify App. ", + "domainName": " Name of the domain. " +} +""" +DeleteDomainAssociation(args) = amplify("DELETE", "/apps/{appId}/domains/{domainName}", args) + +""" + ListBranches() + + Lists branches for an Amplify App. + +Required Parameters +{ + "appId": " Unique Id for an Amplify App. " +} + +Optional Parameters +{ + "maxResults": " Maximum number of records to list in a single response. ", + "nextToken": " Pagination token. Set to null to start listing branches from start. If a non-null pagination token is returned in a result, then pass its value in here to list more branches. " +} +""" +ListBranches(args) = amplify("GET", "/apps/{appId}/branches", args) + +""" + DeleteJob() + + Delete a job, for an Amplify branch, part of Amplify App. + +Required Parameters +{ + "appId": " Unique Id for an Amplify App. ", + "jobId": " Unique Id for the Job. ", + "branchName": " Name for the branch, for the Job. " +} +""" +DeleteJob(args) = amplify("DELETE", "/apps/{appId}/branches/{branchName}/jobs/{jobId}", args) + +""" + GetApp() + + Retrieves an existing Amplify App by appId. + +Required Parameters +{ + "appId": " Unique Id for an Amplify App. " +} +""" +GetApp(args) = amplify("GET", "/apps/{appId}", args) + +""" + DeleteBranch() + + Deletes a branch for an Amplify App. + +Required Parameters +{ + "appId": " Unique Id for an Amplify App. ", + "branchName": " Name for the branch. " +} +""" +DeleteBranch(args) = amplify("DELETE", "/apps/{appId}/branches/{branchName}", args) + +""" + ListArtifacts() + + List artifacts with an app, a branch, a job and an artifact type. + +Required Parameters +{ + "appId": " Unique Id for an Amplify App. ", + "jobId": " Unique Id for an Job. ", + "branchName": " Name for a branch, part of an Amplify App. " +} + +Optional Parameters +{ + "maxResults": " Maximum number of records to list in a single response. ", + "nextToken": " Pagination token. Set to null to start listing artifacts from start. If non-null pagination token is returned in a result, then pass its value in here to list more artifacts. " +} +""" +ListArtifacts(args) = amplify("GET", "/apps/{appId}/branches/{branchName}/jobs/{jobId}/artifacts", args) + +""" + ListBackendEnvironments() + + Lists backend environments for an Amplify App. + +Required Parameters +{ + "appId": " Unique Id for an amplify App. " +} + +Optional Parameters +{ + "maxResults": " Maximum number of records to list in a single response. ", + "nextToken": " Pagination token. Set to null to start listing backen environments from start. If a non-null pagination token is returned in a result, then pass its value in here to list more backend environments. ", + "environmentName": " Name of the backend environment " +} +""" +ListBackendEnvironments(args) = amplify("GET", "/apps/{appId}/backendenvironments", args) + +""" + ListJobs() + + List Jobs for a branch, part of an Amplify App. + +Required Parameters +{ + "appId": " Unique Id for an Amplify App. ", + "branchName": " Name for a branch. " +} + +Optional Parameters +{ + "maxResults": " Maximum number of records to list in a single response. ", + "nextToken": " Pagination token. Set to null to start listing steps from start. If a non-null pagination token is returned in a result, then pass its value in here to list more steps. " +} +""" +ListJobs(args) = amplify("GET", "/apps/{appId}/branches/{branchName}/jobs", args) + +""" + CreateDomainAssociation() + + Create a new DomainAssociation on an App + +Required Parameters +{ + "appId": " Unique Id for an Amplify App. ", + "subDomainSettings": " Setting structure for the Subdomain. ", + "domainName": " Domain name for the Domain Association. " +} + +Optional Parameters +{ + "enableAutoSubDomain": " Enables automated creation of Subdomains for branches. (Currently not supported) " +} +""" +CreateDomainAssociation(args) = amplify("POST", "/apps/{appId}/domains", args) diff --git a/src/services/api_gateway.jl b/src/services/api_gateway.jl new file mode 100644 index 0000000000..182d782411 --- /dev/null +++ b/src/services/api_gateway.jl @@ -0,0 +1,1989 @@ +include("../AWSServices.jl") +using .AWSServices: api_gateway + +""" + CreateStage() + +Creates a new Stage resource that references a pre-existing Deployment for the API. + +Required Parameters +{ + "stageName": "[Required] The name for the Stage resource. Stage names can only contain alphanumeric characters, hyphens, and underscores. Maximum length is 128 characters.", + "restApiId": "[Required] The string identifier of the associated RestApi.", + "deploymentId": "[Required] The identifier of the Deployment resource for the Stage resource." +} + +Optional Parameters +{ + "tracingEnabled": "Specifies whether active tracing with X-ray is enabled for the Stage.", + "variables": "A map that defines the stage variables for the new Stage resource. Variable names can have alphanumeric and underscore characters, and the values must match [A-Za-z0-9-._~:/?#&=,]+.", + "documentationVersion": "The version of the associated API documentation.", + "canarySettings": "The canary deployment settings of this stage.", + "tags": "The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The tag key can be up to 128 characters and must not start with aws:. The tag value can be up to 256 characters.", + "cacheClusterSize": "The stage's cache cluster size.", + "description": "The description of the Stage resource.", + "cacheClusterEnabled": "Whether cache clustering is enabled for the stage." +} +""" +CreateStage(args) = api_gateway("POST", "/restapis/{restapi_id}/stages", args) + +""" + GetRestApi() + +Lists the RestApi resource in the collection. + +Required Parameters +{ + "restApiId": "[Required] The string identifier of the associated RestApi." +} +""" +GetRestApi(args) = api_gateway("GET", "/restapis/{restapi_id}", args) + +""" + PutMethod() + +Add a method to an existing Resource resource. + +Required Parameters +{ + "restApiId": "[Required] The string identifier of the associated RestApi.", + "resourceId": "[Required] The Resource identifier for the new Method resource.", + "authorizationType": "[Required] The method's authorization type. Valid values are NONE for open access, AWS_IAM for using AWS IAM permissions, CUSTOM for using a custom authorizer, or COGNITO_USER_POOLS for using a Cognito user pool.", + "httpMethod": "[Required] Specifies the method request's HTTP method type." +} + +Optional Parameters +{ + "requestParameters": "A key-value map defining required or optional method request parameters that can be accepted by API Gateway. A key defines a method request parameter name matching the pattern of method.request.{location}.{name}, where location is querystring, path, or header and name is a valid and unique parameter name. The value associated with the key is a Boolean flag indicating whether the parameter is required (true) or optional (false). The method request parameter names defined here are available in Integration to be mapped to integration request parameters or body-mapping templates.", + "requestModels": "Specifies the Model resources used for the request's content type. Request models are represented as a key/value map, with a content type as the key and a Model name as the value.", + "authorizationScopes": "A list of authorization scopes configured on the method. The scopes are used with a COGNITO_USER_POOLS authorizer to authorize the method invocation. The authorization works by matching the method scopes against the scopes parsed from the access token in the incoming request. The method invocation is authorized if any method scopes matches a claimed scope in the access token. Otherwise, the invocation is not authorized. When the method scope is configured, the client must provide an access token instead of an identity token for authorization purposes.", + "apiKeyRequired": "Specifies whether the method required a valid ApiKey.", + "authorizerId": "Specifies the identifier of an Authorizer to use on this Method, if the type is CUSTOM or COGNITO_USER_POOLS. The authorizer identifier is generated by API Gateway when you created the authorizer.", + "operationName": "A human-friendly operation identifier for the method. For example, you can assign the operationName of ListPets for the GET /pets method in the PetStore example.", + "requestValidatorId": "The identifier of a RequestValidator for validating the method request." +} +""" +PutMethod(args) = api_gateway("PUT", "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}", args) + +""" + UpdateDocumentationPart() + + + +Required Parameters +{ + "documentationPartId": "[Required] The identifier of the to-be-updated documentation part.", + "restApiId": "[Required] The string identifier of the associated RestApi." +} + +Optional Parameters +{ + "patchOperations": "A list of update operations to be applied to the specified resource and in the order specified in this list." +} +""" +UpdateDocumentationPart(args) = api_gateway("PATCH", "/restapis/{restapi_id}/documentation/parts/{part_id}", args) + +""" + DeleteStage() + +Deletes a Stage resource. + +Required Parameters +{ + "stageName": "[Required] The name of the Stage resource to delete.", + "restApiId": "[Required] The string identifier of the associated RestApi." +} +""" +DeleteStage(args) = api_gateway("DELETE", "/restapis/{restapi_id}/stages/{stage_name}", args) + +""" + ImportApiKeys() + +Import API keys from an external source, such as a CSV-formatted file. + +Required Parameters +{ + "body": "The payload of the POST request to import API keys. For the payload format, see API Key File Format.", + "format": "A query parameter to specify the input format to imported API keys. Currently, only the csv format is supported." +} + +Optional Parameters +{ + "failOnWarnings": "A query parameter to indicate whether to rollback ApiKey importation (true) or not (false) when error is encountered." +} +""" +ImportApiKeys(args) = api_gateway("POST", "/apikeys?mode=import", args) + +""" + UpdateUsage() + +Grants a temporary extension to the remaining quota of a usage plan associated with a specified API key. + +Required Parameters +{ + "keyId": "[Required] The identifier of the API key associated with the usage plan in which a temporary extension is granted to the remaining quota.", + "usagePlanId": "[Required] The Id of the usage plan associated with the usage data." +} + +Optional Parameters +{ + "patchOperations": "A list of update operations to be applied to the specified resource and in the order specified in this list." +} +""" +UpdateUsage(args) = api_gateway("PATCH", "/usageplans/{usageplanId}/keys/{keyId}/usage", args) + +""" + CreateRestApi() + +Creates a new RestApi resource. + +Required Parameters +{ + "name": "[Required] The name of the RestApi." +} + +Optional Parameters +{ + "cloneFrom": "The ID of the RestApi that you want to clone from.", + "minimumCompressionSize": "A nullable integer that is used to enable compression (with non-negative between 0 and 10485760 (10M) bytes, inclusive) or disable compression (with a null value) on an API. When compression is enabled, compression or decompression is not applied on the payload if the payload size is smaller than this value. Setting it to zero allows compression for any payload size.", + "apiKeySource": "The source of the API key for metering requests according to a usage plan. Valid values are: HEADER to read the API key from the X-API-Key header of a request. AUTHORIZER to read the API key from the UsageIdentifierKey from a custom authorizer. ", + "endpointConfiguration": "The endpoint configuration of this RestApi showing the endpoint types of the API. ", + "binaryMediaTypes": "The list of binary media types supported by the RestApi. By default, the RestApi supports only UTF-8-encoded text payloads.", + "policy": "A stringified JSON policy document that applies to this RestApi regardless of the caller and Method configuration.", + "tags": "The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The tag key can be up to 128 characters and must not start with aws:. The tag value can be up to 256 characters.", + "description": "The description of the RestApi.", + "version": "A version identifier for the API." +} +""" +CreateRestApi(args) = api_gateway("POST", "/restapis", args) + +""" + UpdateVpcLink() + +Updates an existing VpcLink of a specified identifier. + +Required Parameters +{ + "vpcLinkId": "[Required] The identifier of the VpcLink. It is used in an Integration to reference this VpcLink." +} + +Optional Parameters +{ + "patchOperations": "A list of update operations to be applied to the specified resource and in the order specified in this list." +} +""" +UpdateVpcLink(args) = api_gateway("PATCH", "/vpclinks/{vpclink_id}", args) + +""" + CreateDomainName() + +Creates a new domain name. + +Required Parameters +{ + "domainName": "[Required] The name of the DomainName resource." +} + +Optional Parameters +{ + "certificateChain": "[Deprecated] The intermediate certificates and optionally the root certificate, one after the other without any blank lines, used by an edge-optimized endpoint for this domain name. If you include the root certificate, your certificate chain must start with intermediate certificates and end with the root certificate. Use the intermediate certificates that were provided by your certificate authority. Do not include any intermediaries that are not in the chain of trust path.", + "certificateArn": "The reference to an AWS-managed certificate that will be used by edge-optimized endpoint for this domain name. AWS Certificate Manager is the only supported source.", + "endpointConfiguration": "The endpoint configuration of this DomainName showing the endpoint types of the domain name. ", + "certificateBody": "[Deprecated] The body of the server certificate that will be used by edge-optimized endpoint for this domain name provided by your certificate authority.", + "securityPolicy": "The Transport Layer Security (TLS) version + cipher suite for this DomainName. The valid values are TLS_1_0 and TLS_1_2.", + "regionalCertificateName": "The user-friendly name of the certificate that will be used by regional endpoint for this domain name.", + "certificateName": "The user-friendly name of the certificate that will be used by edge-optimized endpoint for this domain name.", + "certificatePrivateKey": "[Deprecated] Your edge-optimized endpoint's domain name certificate's private key.", + "tags": "The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The tag key can be up to 128 characters and must not start with aws:. The tag value can be up to 256 characters.", + "regionalCertificateArn": "The reference to an AWS-managed certificate that will be used by regional endpoint for this domain name. AWS Certificate Manager is the only supported source." +} +""" +CreateDomainName(args) = api_gateway("POST", "/domainnames", args) + +""" + GetModel() + +Describes an existing model defined for a RestApi resource. + +Required Parameters +{ + "restApiId": "[Required] The RestApi identifier under which the Model exists.", + "modelName": "[Required] The name of the model as an identifier." +} + +Optional Parameters +{ + "flatten": "A query parameter of a Boolean value to resolve (true) all external model references and returns a flattened model schema or not (false) The default is false." +} +""" +GetModel(args) = api_gateway("GET", "/restapis/{restapi_id}/models/{model_name}", args) + +""" + CreateVpcLink() + +Creates a VPC link, under the caller's account in a selected region, in an asynchronous operation that typically takes 2-4 minutes to complete and become operational. The caller must have permissions to create and update VPC Endpoint services. + +Required Parameters +{ + "name": "[Required] The name used to label and identify the VPC link.", + "targetArns": "[Required] The ARNs of network load balancers of the VPC targeted by the VPC link. The network load balancers must be owned by the same AWS account of the API owner." +} + +Optional Parameters +{ + "tags": "The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The tag key can be up to 128 characters and must not start with aws:. The tag value can be up to 256 characters.", + "description": "The description of the VPC link." +} +""" +CreateVpcLink(args) = api_gateway("POST", "/vpclinks", args) + +""" + GetStage() + +Gets information about a Stage resource. + +Required Parameters +{ + "stageName": "[Required] The name of the Stage resource to get information about.", + "restApiId": "[Required] The string identifier of the associated RestApi." +} +""" +GetStage(args) = api_gateway("GET", "/restapis/{restapi_id}/stages/{stage_name}", args) + +""" + UpdateMethod() + +Updates an existing Method resource. + +Required Parameters +{ + "restApiId": "[Required] The string identifier of the associated RestApi.", + "resourceId": "[Required] The Resource identifier for the Method resource.", + "httpMethod": "[Required] The HTTP verb of the Method resource." +} + +Optional Parameters +{ + "patchOperations": "A list of update operations to be applied to the specified resource and in the order specified in this list." +} +""" +UpdateMethod(args) = api_gateway("PATCH", "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}", args) + +""" + GetGatewayResponses() + +Gets the GatewayResponses collection on the given RestApi. If an API developer has not added any definitions for gateway responses, the result will be the API Gateway-generated default GatewayResponses collection for the supported response types. + +Required Parameters +{ + "restApiId": "[Required] The string identifier of the associated RestApi." +} + +Optional Parameters +{ + "position": "The current pagination position in the paged result set. The GatewayResponse collection does not support pagination and the position does not apply here.", + "limit": "The maximum number of returned results per page. The default value is 25 and the maximum value is 500. The GatewayResponses collection does not support pagination and the limit does not apply here." +} +""" +GetGatewayResponses(args) = api_gateway("GET", "/restapis/{restapi_id}/gatewayresponses", args) + +""" + GetUsagePlan() + +Gets a usage plan of a given plan identifier. + +Required Parameters +{ + "usagePlanId": "[Required] The identifier of the UsagePlan resource to be retrieved." +} +""" +GetUsagePlan(args) = api_gateway("GET", "/usageplans/{usageplanId}", args) + +""" + GetAuthorizer() + +Describe an existing Authorizer resource. AWS CLI + +Required Parameters +{ + "restApiId": "[Required] The string identifier of the associated RestApi.", + "authorizerId": "[Required] The identifier of the Authorizer resource." +} +""" +GetAuthorizer(args) = api_gateway("GET", "/restapis/{restapi_id}/authorizers/{authorizer_id}", args) + +""" + GetDocumentationPart() + + + +Required Parameters +{ + "documentationPartId": "[Required] The string identifier of the associated RestApi.", + "restApiId": "[Required] The string identifier of the associated RestApi." +} +""" +GetDocumentationPart(args) = api_gateway("GET", "/restapis/{restapi_id}/documentation/parts/{part_id}", args) + +""" + GetModels() + +Describes existing Models defined for a RestApi resource. + +Required Parameters +{ + "restApiId": "[Required] The string identifier of the associated RestApi." +} + +Optional Parameters +{ + "position": "The current pagination position in the paged result set.", + "limit": "The maximum number of returned results per page. The default value is 25 and the maximum value is 500." +} +""" +GetModels(args) = api_gateway("GET", "/restapis/{restapi_id}/models", args) + +""" + TagResource() + +Adds or updates a tag on a given resource. + +Required Parameters +{ + "resourceArn": "[Required] The ARN of a resource that can be tagged. The resource ARN must be URL-encoded.", + "tags": "[Required] The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The tag key can be up to 128 characters and must not start with aws:. The tag value can be up to 256 characters." +} +""" +TagResource(args) = api_gateway("PUT", "/tags/{resource_arn}", args) + +""" + DeleteIntegrationResponse() + +Represents a delete integration response. + +Required Parameters +{ + "restApiId": "[Required] The string identifier of the associated RestApi.", + "resourceId": "[Required] Specifies a delete integration response request's resource identifier.", + "httpMethod": "[Required] Specifies a delete integration response request's HTTP method.", + "statusCode": "[Required] Specifies a delete integration response request's status code." +} +""" +DeleteIntegrationResponse(args) = api_gateway("DELETE", "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration/responses/{status_code}", args) + +""" + GetAccount() + +Gets information about the current Account resource. +""" +GetAccount() = api_gateway("GET", "/account") +GetAccount(args) = api_gateway("GET", "/account", args) + +""" + GetSdkTypes() + + + +Optional Parameters +{ + "position": "The current pagination position in the paged result set.", + "limit": "The maximum number of returned results per page. The default value is 25 and the maximum value is 500." +} +""" +GetSdkTypes() = api_gateway("GET", "/sdktypes") +GetSdkTypes(args) = api_gateway("GET", "/sdktypes", args) + +""" + UpdateApiKey() + +Changes information about an ApiKey resource. + +Required Parameters +{ + "apiKey": "[Required] The identifier of the ApiKey resource to be updated." +} + +Optional Parameters +{ + "patchOperations": "A list of update operations to be applied to the specified resource and in the order specified in this list." +} +""" +UpdateApiKey(args) = api_gateway("PATCH", "/apikeys/{api_Key}", args) + +""" + CreateResource() + +Creates a Resource resource. + +Required Parameters +{ + "parentId": "[Required] The parent resource's identifier.", + "restApiId": "[Required] The string identifier of the associated RestApi.", + "pathPart": "The last path segment for this resource." +} +""" +CreateResource(args) = api_gateway("POST", "/restapis/{restapi_id}/resources/{parent_id}", args) + +""" + GetBasePathMappings() + +Represents a collection of BasePathMapping resources. + +Required Parameters +{ + "domainName": "[Required] The domain name of a BasePathMapping resource." +} + +Optional Parameters +{ + "position": "The current pagination position in the paged result set.", + "limit": "The maximum number of returned results per page. The default value is 25 and the maximum value is 500." +} +""" +GetBasePathMappings(args) = api_gateway("GET", "/domainnames/{domain_name}/basepathmappings", args) + +""" + PutMethodResponse() + +Adds a MethodResponse to an existing Method resource. + +Required Parameters +{ + "restApiId": "[Required] The string identifier of the associated RestApi.", + "resourceId": "[Required] The Resource identifier for the Method resource.", + "httpMethod": "[Required] The HTTP verb of the Method resource.", + "statusCode": "[Required] The method response's status code." +} + +Optional Parameters +{ + "responseModels": "Specifies the Model resources used for the response's content type. Response models are represented as a key/value map, with a content type as the key and a Model name as the value.", + "responseParameters": "A key-value map specifying required or optional response parameters that API Gateway can send back to the caller. A key defines a method response header name and the associated value is a Boolean flag indicating whether the method response parameter is required or not. The method response header names must match the pattern of method.response.header.{name}, where name is a valid and unique header name. The response parameter names defined here are available in the integration response to be mapped from an integration response header expressed in integration.response.header.{name}, a static value enclosed within a pair of single quotes (e.g., 'application/json'), or a JSON expression from the back-end response payload in the form of integration.response.body.{JSON-expression}, where JSON-expression is a valid JSON expression without the prefix.)" +} +""" +PutMethodResponse(args) = api_gateway("PUT", "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/responses/{status_code}", args) + +""" + UpdateAuthorizer() + +Updates an existing Authorizer resource. AWS CLI + +Required Parameters +{ + "restApiId": "[Required] The string identifier of the associated RestApi.", + "authorizerId": "[Required] The identifier of the Authorizer resource." +} + +Optional Parameters +{ + "patchOperations": "A list of update operations to be applied to the specified resource and in the order specified in this list." +} +""" +UpdateAuthorizer(args) = api_gateway("PATCH", "/restapis/{restapi_id}/authorizers/{authorizer_id}", args) + +""" + GetDocumentationVersions() + + + +Required Parameters +{ + "restApiId": "[Required] The string identifier of the associated RestApi." +} + +Optional Parameters +{ + "position": "The current pagination position in the paged result set.", + "limit": "The maximum number of returned results per page. The default value is 25 and the maximum value is 500." +} +""" +GetDocumentationVersions(args) = api_gateway("GET", "/restapis/{restapi_id}/documentation/versions", args) + +""" + UpdateDomainName() + +Changes information about the DomainName resource. + +Required Parameters +{ + "domainName": "[Required] The name of the DomainName resource to be changed." +} + +Optional Parameters +{ + "patchOperations": "A list of update operations to be applied to the specified resource and in the order specified in this list." +} +""" +UpdateDomainName(args) = api_gateway("PATCH", "/domainnames/{domain_name}", args) + +""" + GetDocumentationParts() + + + +Required Parameters +{ + "restApiId": "[Required] The string identifier of the associated RestApi." +} + +Optional Parameters +{ + "nameQuery": "The name of API entities of the to-be-retrieved documentation parts.", + "position": "The current pagination position in the paged result set.", + "locationStatus": "The status of the API documentation parts to retrieve. Valid values are DOCUMENTED for retrieving DocumentationPart resources with content and UNDOCUMENTED for DocumentationPart resources without content.", + "type": "The type of API entities of the to-be-retrieved documentation parts. ", + "path": "The path of API entities of the to-be-retrieved documentation parts.", + "limit": "The maximum number of returned results per page. The default value is 25 and the maximum value is 500." +} +""" +GetDocumentationParts(args) = api_gateway("GET", "/restapis/{restapi_id}/documentation/parts", args) + +""" + CreateDocumentationPart() + + + +Required Parameters +{ + "location": "[Required] The location of the targeted API entity of the to-be-created documentation part.", + "restApiId": "[Required] The string identifier of the associated RestApi.", + "properties": "[Required] The new documentation content map of the targeted API entity. Enclosed key-value pairs are API-specific, but only OpenAPI-compliant key-value pairs can be exported and, hence, published." +} +""" +CreateDocumentationPart(args) = api_gateway("POST", "/restapis/{restapi_id}/documentation/parts", args) + +""" + DeleteApiKey() + +Deletes the ApiKey resource. + +Required Parameters +{ + "apiKey": "[Required] The identifier of the ApiKey resource to be deleted." +} +""" +DeleteApiKey(args) = api_gateway("DELETE", "/apikeys/{api_Key}", args) + +""" + DeleteMethodResponse() + +Deletes an existing MethodResponse resource. + +Required Parameters +{ + "restApiId": "[Required] The string identifier of the associated RestApi.", + "resourceId": "[Required] The Resource identifier for the MethodResponse resource.", + "httpMethod": "[Required] The HTTP verb of the Method resource.", + "statusCode": "[Required] The status code identifier for the MethodResponse resource." +} +""" +DeleteMethodResponse(args) = api_gateway("DELETE", "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/responses/{status_code}", args) + +""" + PutGatewayResponse() + +Creates a customization of a GatewayResponse of a specified response type and status code on the given RestApi. + +Required Parameters +{ + "responseType": "[Required] The response type of the associated GatewayResponse. Valid values are ACCESS_DENIEDAPI_CONFIGURATION_ERRORAUTHORIZER_FAILURE AUTHORIZER_CONFIGURATION_ERRORBAD_REQUEST_PARAMETERSBAD_REQUEST_BODYDEFAULT_4XXDEFAULT_5XXEXPIRED_TOKENINVALID_SIGNATUREINTEGRATION_FAILUREINTEGRATION_TIMEOUTINVALID_API_KEYMISSING_AUTHENTICATION_TOKEN QUOTA_EXCEEDEDREQUEST_TOO_LARGERESOURCE_NOT_FOUNDTHROTTLEDUNAUTHORIZEDUNSUPPORTED_MEDIA_TYPE ", + "restApiId": "[Required] The string identifier of the associated RestApi." +} + +Optional Parameters +{ + "responseParameters": "Response parameters (paths, query strings and headers) of the GatewayResponse as a string-to-string map of key-value pairs.", + "statusCode": "The HTTP status code of the GatewayResponse.", + "responseTemplates": "Response templates of the GatewayResponse as a string-to-string map of key-value pairs." +} +""" +PutGatewayResponse(args) = api_gateway("PUT", "/restapis/{restapi_id}/gatewayresponses/{response_type}", args) + +""" + GetDeployment() + +Gets information about a Deployment resource. + +Required Parameters +{ + "restApiId": "[Required] The string identifier of the associated RestApi.", + "deploymentId": "[Required] The identifier of the Deployment resource to get information about." +} + +Optional Parameters +{ + "embed": "A query parameter to retrieve the specified embedded resources of the returned Deployment resource in the response. In a REST API call, this embed parameter value is a list of comma-separated strings, as in GET /restapis/{restapi_id}/deployments/{deployment_id}?embed=var1,var2. The SDK and other platform-dependent libraries might use a different format for the list. Currently, this request supports only retrieval of the embedded API summary this way. Hence, the parameter value must be a single-valued list containing only the \"apisummary\" string. For example, GET /restapis/{restapi_id}/deployments/{deployment_id}?embed=apisummary." +} +""" +GetDeployment(args) = api_gateway("GET", "/restapis/{restapi_id}/deployments/{deployment_id}", args) + +""" + CreateDeployment() + +Creates a Deployment resource, which makes a specified RestApi callable over the internet. + +Required Parameters +{ + "restApiId": "[Required] The string identifier of the associated RestApi." +} + +Optional Parameters +{ + "tracingEnabled": "Specifies whether active tracing with X-ray is enabled for the Stage.", + "stageName": "The name of the Stage resource for the Deployment resource to create.", + "variables": "A map that defines the stage variables for the Stage resource that is associated with the new deployment. Variable names can have alphanumeric and underscore characters, and the values must match [A-Za-z0-9-._~:/?#&=,]+.", + "canarySettings": "The input configuration for the canary deployment when the deployment is a canary release deployment. ", + "cacheClusterSize": "Specifies the cache cluster size for the Stage resource specified in the input, if a cache cluster is enabled.", + "stageDescription": "The description of the Stage resource for the Deployment resource to create.", + "description": "The description for the Deployment resource to create.", + "cacheClusterEnabled": "Enables a cache cluster for the Stage resource specified in the input." +} +""" +CreateDeployment(args) = api_gateway("POST", "/restapis/{restapi_id}/deployments", args) + +""" + UpdateUsagePlan() + +Updates a usage plan of a given plan Id. + +Required Parameters +{ + "usagePlanId": "[Required] The Id of the to-be-updated usage plan." +} + +Optional Parameters +{ + "patchOperations": "A list of update operations to be applied to the specified resource and in the order specified in this list." +} +""" +UpdateUsagePlan(args) = api_gateway("PATCH", "/usageplans/{usageplanId}", args) + +""" + GetUsagePlans() + +Gets all the usage plans of the caller's account. + +Optional Parameters +{ + "keyId": "The identifier of the API key associated with the usage plans.", + "position": "The current pagination position in the paged result set.", + "limit": "The maximum number of returned results per page. The default value is 25 and the maximum value is 500." +} +""" +GetUsagePlans() = api_gateway("GET", "/usageplans") +GetUsagePlans(args) = api_gateway("GET", "/usageplans", args) + +""" + DeleteMethod() + +Deletes an existing Method resource. + +Required Parameters +{ + "restApiId": "[Required] The string identifier of the associated RestApi.", + "resourceId": "[Required] The Resource identifier for the Method resource.", + "httpMethod": "[Required] The HTTP verb of the Method resource." +} +""" +DeleteMethod(args) = api_gateway("DELETE", "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}", args) + +""" + DeleteResource() + +Deletes a Resource resource. + +Required Parameters +{ + "restApiId": "[Required] The string identifier of the associated RestApi.", + "resourceId": "[Required] The identifier of the Resource resource." +} +""" +DeleteResource(args) = api_gateway("DELETE", "/restapis/{restapi_id}/resources/{resource_id}", args) + +""" + GetAuthorizers() + +Describe an existing Authorizers resource. AWS CLI + +Required Parameters +{ + "restApiId": "[Required] The string identifier of the associated RestApi." +} + +Optional Parameters +{ + "position": "The current pagination position in the paged result set.", + "limit": "The maximum number of returned results per page. The default value is 25 and the maximum value is 500." +} +""" +GetAuthorizers(args) = api_gateway("GET", "/restapis/{restapi_id}/authorizers", args) + +""" + DeleteDomainName() + +Deletes the DomainName resource. + +Required Parameters +{ + "domainName": "[Required] The name of the DomainName resource to be deleted." +} +""" +DeleteDomainName(args) = api_gateway("DELETE", "/domainnames/{domain_name}", args) + +""" + GetDomainNames() + +Represents a collection of DomainName resources. + +Optional Parameters +{ + "position": "The current pagination position in the paged result set.", + "limit": "The maximum number of returned results per page. The default value is 25 and the maximum value is 500." +} +""" +GetDomainNames() = api_gateway("GET", "/domainnames") +GetDomainNames(args) = api_gateway("GET", "/domainnames", args) + +""" + UpdateAccount() + +Changes information about the current Account resource. + +Optional Parameters +{ + "patchOperations": "A list of update operations to be applied to the specified resource and in the order specified in this list." +} +""" +UpdateAccount() = api_gateway("PATCH", "/account") +UpdateAccount(args) = api_gateway("PATCH", "/account", args) + +""" + FlushStageAuthorizersCache() + +Flushes all authorizer cache entries on a stage. + +Required Parameters +{ + "stageName": "The name of the stage to flush.", + "restApiId": "The string identifier of the associated RestApi." +} +""" +FlushStageAuthorizersCache(args) = api_gateway("DELETE", "/restapis/{restapi_id}/stages/{stage_name}/cache/authorizers", args) + +""" + DeleteVpcLink() + +Deletes an existing VpcLink of a specified identifier. + +Required Parameters +{ + "vpcLinkId": "[Required] The identifier of the VpcLink. It is used in an Integration to reference this VpcLink." +} +""" +DeleteVpcLink(args) = api_gateway("DELETE", "/vpclinks/{vpclink_id}", args) + +""" + UntagResource() + +Removes a tag from a given resource. + +Required Parameters +{ + "resourceArn": "[Required] The ARN of a resource that can be tagged. The resource ARN must be URL-encoded.", + "tagKeys": "[Required] The Tag keys to delete." +} +""" +UntagResource(args) = api_gateway("DELETE", "/tags/{resource_arn}", args) + +""" + CreateModel() + +Adds a new Model resource to an existing RestApi resource. + +Required Parameters +{ + "name": "[Required] The name of the model. Must be alphanumeric.", + "restApiId": "[Required] The RestApi identifier under which the Model will be created.", + "contentType": "[Required] The content-type for the model." +} + +Optional Parameters +{ + "description": "The description of the model.", + "schema": "The schema for the model. For application/json models, this should be JSON schema draft 4 model." +} +""" +CreateModel(args) = api_gateway("POST", "/restapis/{restapi_id}/models", args) + +""" + GetClientCertificates() + +Gets a collection of ClientCertificate resources. + +Optional Parameters +{ + "position": "The current pagination position in the paged result set.", + "limit": "The maximum number of returned results per page. The default value is 25 and the maximum value is 500." +} +""" +GetClientCertificates() = api_gateway("GET", "/clientcertificates") +GetClientCertificates(args) = api_gateway("GET", "/clientcertificates", args) + +""" + DeleteRequestValidator() + +Deletes a RequestValidator of a given RestApi. + +Required Parameters +{ + "restApiId": "[Required] The string identifier of the associated RestApi.", + "requestValidatorId": "[Required] The identifier of the RequestValidator to be deleted." +} +""" +DeleteRequestValidator(args) = api_gateway("DELETE", "/restapis/{restapi_id}/requestvalidators/{requestvalidator_id}", args) + +""" + UpdateRestApi() + +Changes information about the specified API. + +Required Parameters +{ + "restApiId": "[Required] The string identifier of the associated RestApi." +} + +Optional Parameters +{ + "patchOperations": "A list of update operations to be applied to the specified resource and in the order specified in this list." +} +""" +UpdateRestApi(args) = api_gateway("PATCH", "/restapis/{restapi_id}", args) + +""" + CreateUsagePlanKey() + +Creates a usage plan key for adding an existing API key to a usage plan. + +Required Parameters +{ + "keyId": "[Required] The identifier of a UsagePlanKey resource for a plan customer.", + "keyType": "[Required] The type of a UsagePlanKey resource for a plan customer.", + "usagePlanId": "[Required] The Id of the UsagePlan resource representing the usage plan containing the to-be-created UsagePlanKey resource representing a plan customer." +} +""" +CreateUsagePlanKey(args) = api_gateway("POST", "/usageplans/{usageplanId}/keys", args) + +""" + ImportRestApi() + +A feature of the API Gateway control service for creating a new API from an external API definition file. + +Required Parameters +{ + "body": "[Required] The POST request body containing external API definitions. Currently, only OpenAPI definition JSON/YAML files are supported. The maximum size of the API definition file is 2MB." +} + +Optional Parameters +{ + "parameters": "A key-value map of context-specific query string parameters specifying the behavior of different API importing operations. The following shows operation-specific parameters and their supported values. To exclude DocumentationParts from the import, set parameters as ignore=documentation. To configure the endpoint type, set parameters as endpointConfigurationTypes=EDGE, endpointConfigurationTypes=REGIONAL, or endpointConfigurationTypes=PRIVATE. The default endpoint type is EDGE. To handle imported basepath, set parameters as basepath=ignore, basepath=prepend or basepath=split. For example, the AWS CLI command to exclude documentation from the imported API is: aws apigateway import-rest-api --parameters ignore=documentation --body 'file:///path/to/imported-api-body.json' The AWS CLI command to set the regional endpoint on the imported API is: aws apigateway import-rest-api --parameters endpointConfigurationTypes=REGIONAL --body 'file:///path/to/imported-api-body.json'", + "failOnWarnings": "A query parameter to indicate whether to rollback the API creation (true) or not (false) when a warning is encountered. The default value is false." +} +""" +ImportRestApi(args) = api_gateway("POST", "/restapis?mode=import", args) + +""" + UpdateStage() + +Changes information about a Stage resource. + +Required Parameters +{ + "stageName": "[Required] The name of the Stage resource to change information about.", + "restApiId": "[Required] The string identifier of the associated RestApi." +} + +Optional Parameters +{ + "patchOperations": "A list of update operations to be applied to the specified resource and in the order specified in this list." +} +""" +UpdateStage(args) = api_gateway("PATCH", "/restapis/{restapi_id}/stages/{stage_name}", args) + +""" + CreateUsagePlan() + +Creates a usage plan with the throttle and quota limits, as well as the associated API stages, specified in the payload. + +Required Parameters +{ + "name": "[Required] The name of the usage plan." +} + +Optional Parameters +{ + "quota": "The quota of the usage plan.", + "tags": "The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The tag key can be up to 128 characters and must not start with aws:. The tag value can be up to 256 characters.", + "description": "The description of the usage plan.", + "apiStages": "The associated API stages of the usage plan.", + "throttle": "The throttling limits of the usage plan." +} +""" +CreateUsagePlan(args) = api_gateway("POST", "/usageplans", args) + +""" + GetVpcLink() + +Gets a specified VPC link under the caller's account in a region. + +Required Parameters +{ + "vpcLinkId": "[Required] The identifier of the VpcLink. It is used in an Integration to reference this VpcLink." +} +""" +GetVpcLink(args) = api_gateway("GET", "/vpclinks/{vpclink_id}", args) + +""" + GetExport() + +Exports a deployed version of a RestApi in a specified format. + +Required Parameters +{ + "stageName": "[Required] The name of the Stage that will be exported.", + "restApiId": "[Required] The string identifier of the associated RestApi.", + "exportType": "[Required] The type of export. Acceptable values are 'oas30' for OpenAPI 3.0.x and 'swagger' for Swagger/OpenAPI 2.0." +} + +Optional Parameters +{ + "accepts": "The content-type of the export, for example application/json. Currently application/json and application/yaml are supported for exportType ofoas30 and swagger. This should be specified in the Accept header for direct API requests.", + "parameters": "A key-value map of query string parameters that specify properties of the export, depending on the requested exportType. For exportType oas30 and swagger, any combination of the following parameters are supported: extensions='integrations' or extensions='apigateway' will export the API with x-amazon-apigateway-integration extensions. extensions='authorizers' will export the API with x-amazon-apigateway-authorizer extensions. postman will export the API with Postman extensions, allowing for import to the Postman tool" +} +""" +GetExport(args) = api_gateway("GET", "/restapis/{restapi_id}/stages/{stage_name}/exports/{export_type}", args) + +""" + GetVpcLinks() + +Gets the VpcLinks collection under the caller's account in a selected region. + +Optional Parameters +{ + "position": "The current pagination position in the paged result set.", + "limit": "The maximum number of returned results per page. The default value is 25 and the maximum value is 500." +} +""" +GetVpcLinks() = api_gateway("GET", "/vpclinks") +GetVpcLinks(args) = api_gateway("GET", "/vpclinks", args) + +""" + GetMethod() + +Describe an existing Method resource. + +Required Parameters +{ + "restApiId": "[Required] The string identifier of the associated RestApi.", + "resourceId": "[Required] The Resource identifier for the Method resource.", + "httpMethod": "[Required] Specifies the method request's HTTP method type." +} +""" +GetMethod(args) = api_gateway("GET", "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}", args) + +""" + TestInvokeAuthorizer() + +Simulate the execution of an Authorizer in your RestApi with headers, parameters, and an incoming request body. Use Lambda Function as Authorizer Use Cognito User Pool as Authorizer + +Required Parameters +{ + "restApiId": "[Required] The string identifier of the associated RestApi.", + "authorizerId": "[Required] Specifies a test invoke authorizer request's Authorizer ID." +} + +Optional Parameters +{ + "headers": "[Required] A key-value map of headers to simulate an incoming invocation request. This is where the incoming authorization token, or identity source, should be specified.", + "body": "[Optional] The simulated request body of an incoming invocation request.", + "pathWithQueryString": "[Optional] The URI path, including query string, of the simulated invocation request. Use this to specify path parameters and query string parameters.", + "stageVariables": "A key-value map of stage variables to simulate an invocation on a deployed Stage.", + "multiValueHeaders": "[Optional] The headers as a map from string to list of values to simulate an incoming invocation request. This is where the incoming authorization token, or identity source, may be specified.", + "additionalContext": "[Optional] A key-value map of additional context variables." +} +""" +TestInvokeAuthorizer(args) = api_gateway("POST", "/restapis/{restapi_id}/authorizers/{authorizer_id}", args) + +""" + UpdateIntegrationResponse() + +Represents an update integration response. + +Required Parameters +{ + "restApiId": "[Required] The string identifier of the associated RestApi.", + "resourceId": "[Required] Specifies an update integration response request's resource identifier.", + "httpMethod": "[Required] Specifies an update integration response request's HTTP method.", + "statusCode": "[Required] Specifies an update integration response request's status code." +} + +Optional Parameters +{ + "patchOperations": "A list of update operations to be applied to the specified resource and in the order specified in this list." +} +""" +UpdateIntegrationResponse(args) = api_gateway("PATCH", "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration/responses/{status_code}", args) + +""" + DeleteDeployment() + +Deletes a Deployment resource. Deleting a deployment will only succeed if there are no Stage resources associated with it. + +Required Parameters +{ + "restApiId": "[Required] The string identifier of the associated RestApi.", + "deploymentId": "[Required] The identifier of the Deployment resource to delete." +} +""" +DeleteDeployment(args) = api_gateway("DELETE", "/restapis/{restapi_id}/deployments/{deployment_id}", args) + +""" + GetResources() + +Lists information about a collection of Resource resources. + +Required Parameters +{ + "restApiId": "[Required] The string identifier of the associated RestApi." +} + +Optional Parameters +{ + "embed": "A query parameter used to retrieve the specified resources embedded in the returned Resources resource in the response. This embed parameter value is a list of comma-separated strings. Currently, the request supports only retrieval of the embedded Method resources this way. The query parameter value must be a single-valued list and contain the \"methods\" string. For example, GET /restapis/{restapi_id}/resources?embed=methods.", + "position": "The current pagination position in the paged result set.", + "limit": "The maximum number of returned results per page. The default value is 25 and the maximum value is 500." +} +""" +GetResources(args) = api_gateway("GET", "/restapis/{restapi_id}/resources", args) + +""" + GetRestApis() + +Lists the RestApis resources for your collection. + +Optional Parameters +{ + "position": "The current pagination position in the paged result set.", + "limit": "The maximum number of returned results per page. The default value is 25 and the maximum value is 500." +} +""" +GetRestApis() = api_gateway("GET", "/restapis") +GetRestApis(args) = api_gateway("GET", "/restapis", args) + +""" + DeleteDocumentationVersion() + + + +Required Parameters +{ + "restApiId": "[Required] The string identifier of the associated RestApi.", + "documentationVersion": "[Required] The version identifier of a to-be-deleted documentation snapshot." +} +""" +DeleteDocumentationVersion(args) = api_gateway("DELETE", "/restapis/{restapi_id}/documentation/versions/{doc_version}", args) + +""" + GetDeployments() + +Gets information about a Deployments collection. + +Required Parameters +{ + "restApiId": "[Required] The string identifier of the associated RestApi." +} + +Optional Parameters +{ + "position": "The current pagination position in the paged result set.", + "limit": "The maximum number of returned results per page. The default value is 25 and the maximum value is 500." +} +""" +GetDeployments(args) = api_gateway("GET", "/restapis/{restapi_id}/deployments", args) + +""" + GetTags() + +Gets the Tags collection for a given resource. + +Required Parameters +{ + "resourceArn": "[Required] The ARN of a resource that can be tagged. The resource ARN must be URL-encoded." +} + +Optional Parameters +{ + "position": "(Not currently supported) The current pagination position in the paged result set.", + "limit": "(Not currently supported) The maximum number of returned results per page. The default value is 25 and the maximum value is 500." +} +""" +GetTags(args) = api_gateway("GET", "/tags/{resource_arn}", args) + +""" + GetIntegrationResponse() + +Represents a get integration response. + +Required Parameters +{ + "restApiId": "[Required] The string identifier of the associated RestApi.", + "resourceId": "[Required] Specifies a get integration response request's resource identifier.", + "httpMethod": "[Required] Specifies a get integration response request's HTTP method.", + "statusCode": "[Required] Specifies a get integration response request's status code." +} +""" +GetIntegrationResponse(args) = api_gateway("GET", "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration/responses/{status_code}", args) + +""" + GetIntegration() + +Get the integration settings. + +Required Parameters +{ + "restApiId": "[Required] The string identifier of the associated RestApi.", + "resourceId": "[Required] Specifies a get integration request's resource identifier", + "httpMethod": "[Required] Specifies a get integration request's HTTP method." +} +""" +GetIntegration(args) = api_gateway("GET", "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration", args) + +""" + GetUsage() + +Gets the usage data of a usage plan in a specified time interval. + +Required Parameters +{ + "startDate": "[Required] The starting date (e.g., 2016-01-01) of the usage data.", + "usagePlanId": "[Required] The Id of the usage plan associated with the usage data.", + "endDate": "[Required] The ending date (e.g., 2016-12-31) of the usage data." +} + +Optional Parameters +{ + "keyId": "The Id of the API key associated with the resultant usage data.", + "position": "The current pagination position in the paged result set.", + "limit": "The maximum number of returned results per page. The default value is 25 and the maximum value is 500." +} +""" +GetUsage(args) = api_gateway("GET", "/usageplans/{usageplanId}/usage", args) + +""" + GetSdkType() + + + +Required Parameters +{ + "id": "[Required] The identifier of the queried SdkType instance." +} +""" +GetSdkType(args) = api_gateway("GET", "/sdktypes/{sdktype_id}", args) + +""" + GetClientCertificate() + +Gets information about the current ClientCertificate resource. + +Required Parameters +{ + "clientCertificateId": "[Required] The identifier of the ClientCertificate resource to be described." +} +""" +GetClientCertificate(args) = api_gateway("GET", "/clientcertificates/{clientcertificate_id}", args) + +""" + CreateRequestValidator() + +Creates a ReqeustValidator of a given RestApi. + +Required Parameters +{ + "restApiId": "[Required] The string identifier of the associated RestApi." +} + +Optional Parameters +{ + "name": "The name of the to-be-created RequestValidator.", + "validateRequestBody": "A Boolean flag to indicate whether to validate request body according to the configured model schema for the method (true) or not (false).", + "validateRequestParameters": "A Boolean flag to indicate whether to validate request parameters, true, or not false." +} +""" +CreateRequestValidator(args) = api_gateway("POST", "/restapis/{restapi_id}/requestvalidators", args) + +""" + GetStages() + +Gets information about one or more Stage resources. + +Required Parameters +{ + "restApiId": "[Required] The string identifier of the associated RestApi." +} + +Optional Parameters +{ + "deploymentId": "The stages' deployment identifiers." +} +""" +GetStages(args) = api_gateway("GET", "/restapis/{restapi_id}/stages", args) + +""" + GetApiKeys() + +Gets information about the current ApiKeys resource. + +Optional Parameters +{ + "customerId": "The identifier of a customer in AWS Marketplace or an external system, such as a developer portal.", + "nameQuery": "The name of queried API keys.", + "position": "The current pagination position in the paged result set.", + "includeValues": "A boolean flag to specify whether (true) or not (false) the result contains key values.", + "limit": "The maximum number of returned results per page. The default value is 25 and the maximum value is 500." +} +""" +GetApiKeys() = api_gateway("GET", "/apikeys") +GetApiKeys(args) = api_gateway("GET", "/apikeys", args) + +""" + CreateAuthorizer() + +Adds a new Authorizer resource to an existing RestApi resource. AWS CLI + +Required Parameters +{ + "name": "[Required] The name of the authorizer.", + "restApiId": "[Required] The string identifier of the associated RestApi.", + "type": "[Required] The authorizer type. Valid values are TOKEN for a Lambda function using a single authorization token submitted in a custom header, REQUEST for a Lambda function using incoming request parameters, and COGNITO_USER_POOLS for using an Amazon Cognito user pool." +} + +Optional Parameters +{ + "authorizerCredentials": "Specifies the required credentials as an IAM role for API Gateway to invoke the authorizer. To specify an IAM role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To use resource-based permissions on the Lambda function, specify null.", + "providerARNs": "A list of the Amazon Cognito user pool ARNs for the COGNITO_USER_POOLS authorizer. Each element is of this format: arn:aws:cognito-idp:{region}:{account_id}:userpool/{user_pool_id}. For a TOKEN or REQUEST authorizer, this is not defined. ", + "identityValidationExpression": "A validation expression for the incoming identity token. For TOKEN authorizers, this value is a regular expression. For COGNITO_USER_POOLS authorizers, API Gateway will match the aud field of the incoming token from the client against the specified regular expression. It will invoke the authorizer's Lambda function when there is a match. Otherwise, it will return a 401 Unauthorized response without calling the Lambda function. The validation expression does not apply to the REQUEST authorizer.", + "authType": "Optional customer-defined field, used in OpenAPI imports and exports without functional impact.", + "identitySource": "The identity source for which authorization is requested. For a TOKEN or COGNITO_USER_POOLS authorizer, this is required and specifies the request header mapping expression for the custom header holding the authorization token submitted by the client. For example, if the token header name is Auth, the header mapping expression is method.request.header.Auth.For the REQUEST authorizer, this is required when authorization caching is enabled. The value is a comma-separated string of one or more mapping expressions of the specified request parameters. For example, if an Auth header, a Name query string parameter are defined as identity sources, this value is method.request.header.Auth, method.request.querystring.Name. These parameters will be used to derive the authorization caching key and to perform runtime validation of the REQUEST authorizer by verifying all of the identity-related request parameters are present, not null and non-empty. Only when this is true does the authorizer invoke the authorizer Lambda function, otherwise, it returns a 401 Unauthorized response without calling the Lambda function. The valid value is a string of comma-separated mapping expressions of the specified request parameters. When the authorization caching is not enabled, this property is optional.", + "authorizerResultTtlInSeconds": "The TTL in seconds of cached authorizer results. If it equals 0, authorization caching is disabled. If it is greater than 0, API Gateway will cache authorizer responses. If this field is not set, the default value is 300. The maximum value is 3600, or 1 hour.", + "authorizerUri": "Specifies the authorizer's Uniform Resource Identifier (URI). For TOKEN or REQUEST authorizers, this must be a well-formed Lambda function URI, for example, arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:{account_id}:function:{lambda_function_name}/invocations. In general, the URI has this form arn:aws:apigateway:{region}:lambda:path/{service_api}, where {region} is the same as the region hosting the Lambda function, path indicates that the remaining substring in the URI should be treated as the path to the resource, including the initial /. For Lambda functions, this is usually of the form /2015-03-31/functions/[FunctionARN]/invocations." +} +""" +CreateAuthorizer(args) = api_gateway("POST", "/restapis/{restapi_id}/authorizers", args) + +""" + GetUsagePlanKey() + +Gets a usage plan key of a given key identifier. + +Required Parameters +{ + "keyId": "[Required] The key Id of the to-be-retrieved UsagePlanKey resource representing a plan customer.", + "usagePlanId": "[Required] The Id of the UsagePlan resource representing the usage plan containing the to-be-retrieved UsagePlanKey resource representing a plan customer." +} +""" +GetUsagePlanKey(args) = api_gateway("GET", "/usageplans/{usageplanId}/keys/{keyId}", args) + +""" + GetResource() + +Lists information about a resource. + +Required Parameters +{ + "restApiId": "[Required] The string identifier of the associated RestApi.", + "resourceId": "[Required] The identifier for the Resource resource." +} + +Optional Parameters +{ + "embed": "A query parameter to retrieve the specified resources embedded in the returned Resource representation in the response. This embed parameter value is a list of comma-separated strings. Currently, the request supports only retrieval of the embedded Method resources this way. The query parameter value must be a single-valued list and contain the \"methods\" string. For example, GET /restapis/{restapi_id}/resources/{resource_id}?embed=methods." +} +""" +GetResource(args) = api_gateway("GET", "/restapis/{restapi_id}/resources/{resource_id}", args) + +""" + GetGatewayResponse() + +Gets a GatewayResponse of a specified response type on the given RestApi. + +Required Parameters +{ + "responseType": "[Required] The response type of the associated GatewayResponse. Valid values are ACCESS_DENIEDAPI_CONFIGURATION_ERRORAUTHORIZER_FAILURE AUTHORIZER_CONFIGURATION_ERRORBAD_REQUEST_PARAMETERSBAD_REQUEST_BODYDEFAULT_4XXDEFAULT_5XXEXPIRED_TOKENINVALID_SIGNATUREINTEGRATION_FAILUREINTEGRATION_TIMEOUTINVALID_API_KEYMISSING_AUTHENTICATION_TOKEN QUOTA_EXCEEDEDREQUEST_TOO_LARGERESOURCE_NOT_FOUNDTHROTTLEDUNAUTHORIZEDUNSUPPORTED_MEDIA_TYPE ", + "restApiId": "[Required] The string identifier of the associated RestApi." +} +""" +GetGatewayResponse(args) = api_gateway("GET", "/restapis/{restapi_id}/gatewayresponses/{response_type}", args) + +""" + DeleteDocumentationPart() + + + +Required Parameters +{ + "documentationPartId": "[Required] The identifier of the to-be-deleted documentation part.", + "restApiId": "[Required] The string identifier of the associated RestApi." +} +""" +DeleteDocumentationPart(args) = api_gateway("DELETE", "/restapis/{restapi_id}/documentation/parts/{part_id}", args) + +""" + UpdateMethodResponse() + +Updates an existing MethodResponse resource. + +Required Parameters +{ + "restApiId": "[Required] The string identifier of the associated RestApi.", + "resourceId": "[Required] The Resource identifier for the MethodResponse resource.", + "httpMethod": "[Required] The HTTP verb of the Method resource.", + "statusCode": "[Required] The status code for the MethodResponse resource." +} + +Optional Parameters +{ + "patchOperations": "A list of update operations to be applied to the specified resource and in the order specified in this list." +} +""" +UpdateMethodResponse(args) = api_gateway("PATCH", "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/responses/{status_code}", args) + +""" + DeleteUsagePlan() + +Deletes a usage plan of a given plan Id. + +Required Parameters +{ + "usagePlanId": "[Required] The Id of the to-be-deleted usage plan." +} +""" +DeleteUsagePlan(args) = api_gateway("DELETE", "/usageplans/{usageplanId}", args) + +""" + GetModelTemplate() + +Generates a sample mapping template that can be used to transform a payload into the structure of a model. + +Required Parameters +{ + "restApiId": "[Required] The string identifier of the associated RestApi.", + "modelName": "[Required] The name of the model for which to generate a template." +} +""" +GetModelTemplate(args) = api_gateway("GET", "/restapis/{restapi_id}/models/{model_name}/default_template", args) + +""" + UpdateClientCertificate() + +Changes information about an ClientCertificate resource. + +Required Parameters +{ + "clientCertificateId": "[Required] The identifier of the ClientCertificate resource to be updated." +} + +Optional Parameters +{ + "patchOperations": "A list of update operations to be applied to the specified resource and in the order specified in this list." +} +""" +UpdateClientCertificate(args) = api_gateway("PATCH", "/clientcertificates/{clientcertificate_id}", args) + +""" + UpdateDeployment() + +Changes information about a Deployment resource. + +Required Parameters +{ + "restApiId": "[Required] The string identifier of the associated RestApi.", + "deploymentId": "The replacement identifier for the Deployment resource to change information about." +} + +Optional Parameters +{ + "patchOperations": "A list of update operations to be applied to the specified resource and in the order specified in this list." +} +""" +UpdateDeployment(args) = api_gateway("PATCH", "/restapis/{restapi_id}/deployments/{deployment_id}", args) + +""" + GenerateClientCertificate() + +Generates a ClientCertificate resource. + +Optional Parameters +{ + "tags": "The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The tag key can be up to 128 characters and must not start with aws:. The tag value can be up to 256 characters.", + "description": "The description of the ClientCertificate." +} +""" +GenerateClientCertificate() = api_gateway("POST", "/clientcertificates") +GenerateClientCertificate(args) = api_gateway("POST", "/clientcertificates", args) + +""" + GetBasePathMapping() + +Describe a BasePathMapping resource. + +Required Parameters +{ + "basePath": "[Required] The base path name that callers of the API must provide as part of the URL after the domain name. This value must be unique for all of the mappings across a single API. Specify '(none)' if you do not want callers to specify any base path name after the domain name.", + "domainName": "[Required] The domain name of the BasePathMapping resource to be described." +} +""" +GetBasePathMapping(args) = api_gateway("GET", "/domainnames/{domain_name}/basepathmappings/{base_path}", args) + +""" + GetApiKey() + +Gets information about the current ApiKey resource. + +Required Parameters +{ + "apiKey": "[Required] The identifier of the ApiKey resource." +} + +Optional Parameters +{ + "includeValue": "A boolean flag to specify whether (true) or not (false) the result contains the key value." +} +""" +GetApiKey(args) = api_gateway("GET", "/apikeys/{api_Key}", args) + +""" + DeleteGatewayResponse() + +Clears any customization of a GatewayResponse of a specified response type on the given RestApi and resets it with the default settings. + +Required Parameters +{ + "responseType": "[Required] The response type of the associated GatewayResponse. Valid values are ACCESS_DENIEDAPI_CONFIGURATION_ERRORAUTHORIZER_FAILURE AUTHORIZER_CONFIGURATION_ERRORBAD_REQUEST_PARAMETERSBAD_REQUEST_BODYDEFAULT_4XXDEFAULT_5XXEXPIRED_TOKENINVALID_SIGNATUREINTEGRATION_FAILUREINTEGRATION_TIMEOUTINVALID_API_KEYMISSING_AUTHENTICATION_TOKEN QUOTA_EXCEEDEDREQUEST_TOO_LARGERESOURCE_NOT_FOUNDTHROTTLEDUNAUTHORIZEDUNSUPPORTED_MEDIA_TYPE ", + "restApiId": "[Required] The string identifier of the associated RestApi." +} +""" +DeleteGatewayResponse(args) = api_gateway("DELETE", "/restapis/{restapi_id}/gatewayresponses/{response_type}", args) + +""" + UpdateDocumentationVersion() + + + +Required Parameters +{ + "restApiId": "[Required] The string identifier of the associated RestApi..", + "documentationVersion": "[Required] The version identifier of the to-be-updated documentation version." +} + +Optional Parameters +{ + "patchOperations": "A list of update operations to be applied to the specified resource and in the order specified in this list." +} +""" +UpdateDocumentationVersion(args) = api_gateway("PATCH", "/restapis/{restapi_id}/documentation/versions/{doc_version}", args) + +""" + DeleteBasePathMapping() + +Deletes the BasePathMapping resource. + +Required Parameters +{ + "basePath": "[Required] The base path name of the BasePathMapping resource to delete. To specify an empty base path, set this parameter to '(none)'.", + "domainName": "[Required] The domain name of the BasePathMapping resource to delete." +} +""" +DeleteBasePathMapping(args) = api_gateway("DELETE", "/domainnames/{domain_name}/basepathmappings/{base_path}", args) + +""" + FlushStageCache() + +Flushes a stage's cache. + +Required Parameters +{ + "stageName": "[Required] The name of the stage to flush its cache.", + "restApiId": "[Required] The string identifier of the associated RestApi." +} +""" +FlushStageCache(args) = api_gateway("DELETE", "/restapis/{restapi_id}/stages/{stage_name}/cache/data", args) + +""" + PutRestApi() + +A feature of the API Gateway control service for updating an existing API with an input of external API definitions. The update can take the form of merging the supplied definition into the existing API or overwriting the existing API. + +Required Parameters +{ + "body": "[Required] The PUT request body containing external API definitions. Currently, only OpenAPI definition JSON/YAML files are supported. The maximum size of the API definition file is 2MB.", + "restApiId": "[Required] The string identifier of the associated RestApi." +} + +Optional Parameters +{ + "parameters": "Custom header parameters as part of the request. For example, to exclude DocumentationParts from an imported API, set ignore=documentation as a parameters value, as in the AWS CLI command of aws apigateway import-rest-api --parameters ignore=documentation --body 'file:///path/to/imported-api-body.json'.", + "mode": "The mode query parameter to specify the update mode. Valid values are \"merge\" and \"overwrite\". By default, the update mode is \"merge\".", + "failOnWarnings": "A query parameter to indicate whether to rollback the API update (true) or not (false) when a warning is encountered. The default value is false." +} +""" +PutRestApi(args) = api_gateway("PUT", "/restapis/{restapi_id}", args) + +""" + UpdateGatewayResponse() + +Updates a GatewayResponse of a specified response type on the given RestApi. + +Required Parameters +{ + "responseType": "[Required] The response type of the associated GatewayResponse. Valid values are ACCESS_DENIEDAPI_CONFIGURATION_ERRORAUTHORIZER_FAILURE AUTHORIZER_CONFIGURATION_ERRORBAD_REQUEST_PARAMETERSBAD_REQUEST_BODYDEFAULT_4XXDEFAULT_5XXEXPIRED_TOKENINVALID_SIGNATUREINTEGRATION_FAILUREINTEGRATION_TIMEOUTINVALID_API_KEYMISSING_AUTHENTICATION_TOKEN QUOTA_EXCEEDEDREQUEST_TOO_LARGERESOURCE_NOT_FOUNDTHROTTLEDUNAUTHORIZEDUNSUPPORTED_MEDIA_TYPE ", + "restApiId": "[Required] The string identifier of the associated RestApi." +} + +Optional Parameters +{ + "patchOperations": "A list of update operations to be applied to the specified resource and in the order specified in this list." +} +""" +UpdateGatewayResponse(args) = api_gateway("PATCH", "/restapis/{restapi_id}/gatewayresponses/{response_type}", args) + +""" + GetUsagePlanKeys() + +Gets all the usage plan keys representing the API keys added to a specified usage plan. + +Required Parameters +{ + "usagePlanId": "[Required] The Id of the UsagePlan resource representing the usage plan containing the to-be-retrieved UsagePlanKey resource representing a plan customer." +} + +Optional Parameters +{ + "nameQuery": "A query parameter specifying the name of the to-be-returned usage plan keys.", + "position": "The current pagination position in the paged result set.", + "limit": "The maximum number of returned results per page. The default value is 25 and the maximum value is 500." +} +""" +GetUsagePlanKeys(args) = api_gateway("GET", "/usageplans/{usageplanId}/keys", args) + +""" + CreateApiKey() + +Create an ApiKey resource. AWS CLI + +Optional Parameters +{ + "name": "The name of the ApiKey.", + "stageKeys": "DEPRECATED FOR USAGE PLANS - Specifies stages associated with the API key.", + "customerId": "An AWS Marketplace customer identifier , when integrating with the AWS SaaS Marketplace.", + "enabled": "Specifies whether the ApiKey can be used by callers.", + "generateDistinctId": "Specifies whether (true) or not (false) the key identifier is distinct from the created API key value.", + "value": "Specifies a value of the API key.", + "description": "The description of the ApiKey.", + "tags": "The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The tag key can be up to 128 characters and must not start with aws:. The tag value can be up to 256 characters." +} +""" +CreateApiKey() = api_gateway("POST", "/apikeys") +CreateApiKey(args) = api_gateway("POST", "/apikeys", args) + +""" + GetDomainName() + +Represents a domain name that is contained in a simpler, more intuitive URL that can be called. + +Required Parameters +{ + "domainName": "[Required] The name of the DomainName resource." +} +""" +GetDomainName(args) = api_gateway("GET", "/domainnames/{domain_name}", args) + +""" + TestInvokeMethod() + +Simulate the execution of a Method in your RestApi with headers, parameters, and an incoming request body. + +Required Parameters +{ + "restApiId": "[Required] The string identifier of the associated RestApi.", + "resourceId": "[Required] Specifies a test invoke method request's resource ID.", + "httpMethod": "[Required] Specifies a test invoke method request's HTTP method." +} + +Optional Parameters +{ + "headers": "A key-value map of headers to simulate an incoming invocation request.", + "body": "The simulated request body of an incoming invocation request.", + "pathWithQueryString": "The URI path, including query string, of the simulated invocation request. Use this to specify path parameters and query string parameters.", + "stageVariables": "A key-value map of stage variables to simulate an invocation on a deployed Stage.", + "multiValueHeaders": "The headers as a map from string to list of values to simulate an incoming invocation request.", + "clientCertificateId": "A ClientCertificate identifier to use in the test invocation. API Gateway will use the certificate when making the HTTPS request to the defined back-end endpoint." +} +""" +TestInvokeMethod(args) = api_gateway("POST", "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}", args) + +""" + DeleteUsagePlanKey() + +Deletes a usage plan key and remove the underlying API key from the associated usage plan. + +Required Parameters +{ + "keyId": "[Required] The Id of the UsagePlanKey resource to be deleted.", + "usagePlanId": "[Required] The Id of the UsagePlan resource representing the usage plan containing the to-be-deleted UsagePlanKey resource representing a plan customer." +} +""" +DeleteUsagePlanKey(args) = api_gateway("DELETE", "/usageplans/{usageplanId}/keys/{keyId}", args) + +""" + GetRequestValidator() + +Gets a RequestValidator of a given RestApi. + +Required Parameters +{ + "restApiId": "[Required] The string identifier of the associated RestApi.", + "requestValidatorId": "[Required] The identifier of the RequestValidator to be retrieved." +} +""" +GetRequestValidator(args) = api_gateway("GET", "/restapis/{restapi_id}/requestvalidators/{requestvalidator_id}", args) + +""" + DeleteIntegration() + +Represents a delete integration. + +Required Parameters +{ + "restApiId": "[Required] The string identifier of the associated RestApi.", + "resourceId": "[Required] Specifies a delete integration request's resource identifier.", + "httpMethod": "[Required] Specifies a delete integration request's HTTP method." +} +""" +DeleteIntegration(args) = api_gateway("DELETE", "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration", args) + +""" + DeleteRestApi() + +Deletes the specified API. + +Required Parameters +{ + "restApiId": "[Required] The string identifier of the associated RestApi." +} +""" +DeleteRestApi(args) = api_gateway("DELETE", "/restapis/{restapi_id}", args) + +""" + PutIntegration() + +Sets up a method's integration. + +Required Parameters +{ + "restApiId": "[Required] The string identifier of the associated RestApi.", + "resourceId": "[Required] Specifies a put integration request's resource ID.", + "httpMethod": "[Required] Specifies a put integration request's HTTP method.", + "type": "[Required] Specifies a put integration input's type." +} + +Optional Parameters +{ + "passthroughBehavior": "Specifies the pass-through behavior for incoming requests based on the Content-Type header in the request, and the available mapping templates specified as the requestTemplates property on the Integration resource. There are three valid values: WHEN_NO_MATCH, WHEN_NO_TEMPLATES, and NEVER. WHEN_NO_MATCH passes the request body for unmapped content types through to the integration back end without transformation. NEVER rejects unmapped content types with an HTTP 415 'Unsupported Media Type' response. WHEN_NO_TEMPLATES allows pass-through when the integration has NO content types mapped to templates. However if there is at least one content type defined, unmapped content types will be rejected with the same 415 response. ", + "integrationHttpMethod": "Specifies a put integration HTTP method. When the integration type is HTTP or AWS, this field is required.", + "connectionType": "The type of the network connection to the integration endpoint. The valid value is INTERNET for connections through the public routable internet or VPC_LINK for private connections between API Gateway and a network load balancer in a VPC. The default value is INTERNET.", + "cacheNamespace": "A list of request parameters whose values are to be cached.", + "requestParameters": "A key-value map specifying request parameters that are passed from the method request to the back end. The key is an integration request parameter name and the associated value is a method request parameter value or static value that must be enclosed within single quotes and pre-encoded as required by the back end. The method request parameter value must match the pattern of method.request.{location}.{name}, where location is querystring, path, or header and name must be a valid and unique method request parameter name.", + "requestTemplates": "Represents a map of Velocity templates that are applied on the request payload based on the value of the Content-Type header sent by the client. The content type value is the key in this map, and the template (as a String) is the value.", + "cacheKeyParameters": "An API-specific tag group of related cached parameters.", + "contentHandling": "Specifies how to handle request payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors: CONVERT_TO_BINARY: Converts a request payload from a Base64-encoded string to the corresponding binary blob. CONVERT_TO_TEXT: Converts a request payload from a binary blob to a Base64-encoded string. If this property is not defined, the request payload will be passed through from the method request to integration request without modification, provided that the passthroughBehavior is configured to support payload pass-through.", + "connectionId": "The (id) of the VpcLink used for the integration when connectionType=VPC_LINK and undefined, otherwise.", + "uri": "Specifies Uniform Resource Identifier (URI) of the integration endpoint. For HTTP or HTTP_PROXY integrations, the URI must be a fully formed, encoded HTTP(S) URL according to the RFC-3986 specification, for either standard integration, where connectionType is not VPC_LINK, or private integration, where connectionType is VPC_LINK. For a private HTTP integration, the URI is not used for routing. For AWS or AWS_PROXY integrations, the URI is of the form arn:aws:apigateway:{region}:{subdomain.service|service}:path|action/{service_api}. Here, {Region} is the API Gateway region (e.g., us-east-1); {service} is the name of the integrated AWS service (e.g., s3); and {subdomain} is a designated subdomain supported by certain AWS service for fast host-name lookup. action can be used for an AWS service action-based API, using an Action={name}&{p1}={v1}&p2={v2}... query string. The ensuing {service_api} refers to a supported action {name} plus any required input parameters. Alternatively, path can be used for an AWS service path-based API. The ensuing service_api refers to the path to an AWS service resource, including the region of the integrated AWS service, if applicable. For example, for integration with the S3 API of GetObject, the uri can be either arn:aws:apigateway:us-west-2:s3:action/GetObject&Bucket={bucket}&Key={key} or arn:aws:apigateway:us-west-2:s3:path/{bucket}/{key} ", + "credentials": "Specifies whether credentials are required for a put integration.", + "timeoutInMillis": "Custom timeout between 50 and 29,000 milliseconds. The default value is 29,000 milliseconds or 29 seconds." +} +""" +PutIntegration(args) = api_gateway("PUT", "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration", args) + +""" + DeleteModel() + +Deletes a model. + +Required Parameters +{ + "restApiId": "[Required] The string identifier of the associated RestApi.", + "modelName": "[Required] The name of the model to delete." +} +""" +DeleteModel(args) = api_gateway("DELETE", "/restapis/{restapi_id}/models/{model_name}", args) + +""" + UpdateModel() + +Changes information about a model. + +Required Parameters +{ + "restApiId": "[Required] The string identifier of the associated RestApi.", + "modelName": "[Required] The name of the model to update." +} + +Optional Parameters +{ + "patchOperations": "A list of update operations to be applied to the specified resource and in the order specified in this list." +} +""" +UpdateModel(args) = api_gateway("PATCH", "/restapis/{restapi_id}/models/{model_name}", args) + +""" + GetMethodResponse() + +Describes a MethodResponse resource. + +Required Parameters +{ + "restApiId": "[Required] The string identifier of the associated RestApi.", + "resourceId": "[Required] The Resource identifier for the MethodResponse resource.", + "httpMethod": "[Required] The HTTP verb of the Method resource.", + "statusCode": "[Required] The status code for the MethodResponse resource." +} +""" +GetMethodResponse(args) = api_gateway("GET", "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/responses/{status_code}", args) + +""" + GetSdk() + +Generates a client SDK for a RestApi and Stage. + +Required Parameters +{ + "stageName": "[Required] The name of the Stage that the SDK will use.", + "restApiId": "[Required] The string identifier of the associated RestApi.", + "sdkType": "[Required] The language for the generated SDK. Currently java, javascript, android, objectivec (for iOS), swift (for iOS), and ruby are supported." +} + +Optional Parameters +{ + "parameters": "A string-to-string key-value map of query parameters sdkType-dependent properties of the SDK. For sdkType of objectivec or swift, a parameter named classPrefix is required. For sdkType of android, parameters named groupId, artifactId, artifactVersion, and invokerPackage are required. For sdkType of java, parameters named serviceName and javaPackageName are required. " +} +""" +GetSdk(args) = api_gateway("GET", "/restapis/{restapi_id}/stages/{stage_name}/sdks/{sdk_type}", args) + +""" + UpdateBasePathMapping() + +Changes information about the BasePathMapping resource. + +Required Parameters +{ + "basePath": "[Required] The base path of the BasePathMapping resource to change. To specify an empty base path, set this parameter to '(none)'.", + "domainName": "[Required] The domain name of the BasePathMapping resource to change." +} + +Optional Parameters +{ + "patchOperations": "A list of update operations to be applied to the specified resource and in the order specified in this list." +} +""" +UpdateBasePathMapping(args) = api_gateway("PATCH", "/domainnames/{domain_name}/basepathmappings/{base_path}", args) + +""" + UpdateResource() + +Changes information about a Resource resource. + +Required Parameters +{ + "restApiId": "[Required] The string identifier of the associated RestApi.", + "resourceId": "[Required] The identifier of the Resource resource." +} + +Optional Parameters +{ + "patchOperations": "A list of update operations to be applied to the specified resource and in the order specified in this list." +} +""" +UpdateResource(args) = api_gateway("PATCH", "/restapis/{restapi_id}/resources/{resource_id}", args) + +""" + UpdateRequestValidator() + +Updates a RequestValidator of a given RestApi. + +Required Parameters +{ + "restApiId": "[Required] The string identifier of the associated RestApi.", + "requestValidatorId": "[Required] The identifier of RequestValidator to be updated." +} + +Optional Parameters +{ + "patchOperations": "A list of update operations to be applied to the specified resource and in the order specified in this list." +} +""" +UpdateRequestValidator(args) = api_gateway("PATCH", "/restapis/{restapi_id}/requestvalidators/{requestvalidator_id}", args) + +""" + PutIntegrationResponse() + +Represents a put integration. + +Required Parameters +{ + "restApiId": "[Required] The string identifier of the associated RestApi.", + "resourceId": "[Required] Specifies a put integration response request's resource identifier.", + "httpMethod": "[Required] Specifies a put integration response request's HTTP method.", + "statusCode": "[Required] Specifies the status code that is used to map the integration response to an existing MethodResponse." +} + +Optional Parameters +{ + "responseParameters": "A key-value map specifying response parameters that are passed to the method response from the back end. The key is a method response header parameter name and the mapped value is an integration response header value, a static value enclosed within a pair of single quotes, or a JSON expression from the integration response body. The mapping key must match the pattern of method.response.header.{name}, where name is a valid and unique header name. The mapped non-static value must match the pattern of integration.response.header.{name} or integration.response.body.{JSON-expression}, where name must be a valid and unique response header name and JSON-expression a valid JSON expression without the prefix.", + "selectionPattern": "Specifies the selection pattern of a put integration response.", + "contentHandling": "Specifies how to handle response payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors: CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded string to the corresponding binary blob. CONVERT_TO_TEXT: Converts a response payload from a binary blob to a Base64-encoded string. If this property is not defined, the response payload will be passed through from the integration response to the method response without modification.", + "responseTemplates": "Specifies a put integration response's templates." +} +""" +PutIntegrationResponse(args) = api_gateway("PUT", "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration/responses/{status_code}", args) + +""" + GetRequestValidators() + +Gets the RequestValidators collection of a given RestApi. + +Required Parameters +{ + "restApiId": "[Required] The string identifier of the associated RestApi." +} + +Optional Parameters +{ + "position": "The current pagination position in the paged result set.", + "limit": "The maximum number of returned results per page. The default value is 25 and the maximum value is 500." +} +""" +GetRequestValidators(args) = api_gateway("GET", "/restapis/{restapi_id}/requestvalidators", args) + +""" + ImportDocumentationParts() + + + +Required Parameters +{ + "body": "[Required] Raw byte array representing the to-be-imported documentation parts. To import from an OpenAPI file, this is a JSON object.", + "restApiId": "[Required] The string identifier of the associated RestApi." +} + +Optional Parameters +{ + "mode": "A query parameter to indicate whether to overwrite (OVERWRITE) any existing DocumentationParts definition or to merge (MERGE) the new definition into the existing one. The default value is MERGE.", + "failOnWarnings": "A query parameter to specify whether to rollback the documentation importation (true) or not (false) when a warning is encountered. The default value is false." +} +""" +ImportDocumentationParts(args) = api_gateway("PUT", "/restapis/{restapi_id}/documentation/parts", args) + +""" + UpdateIntegration() + +Represents an update integration. + +Required Parameters +{ + "restApiId": "[Required] The string identifier of the associated RestApi.", + "resourceId": "[Required] Represents an update integration request's resource identifier.", + "httpMethod": "[Required] Represents an update integration request's HTTP method." +} + +Optional Parameters +{ + "patchOperations": "A list of update operations to be applied to the specified resource and in the order specified in this list." +} +""" +UpdateIntegration(args) = api_gateway("PATCH", "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration", args) + +""" + GetDocumentationVersion() + + + +Required Parameters +{ + "restApiId": "[Required] The string identifier of the associated RestApi.", + "documentationVersion": "[Required] The version identifier of the to-be-retrieved documentation snapshot." +} +""" +GetDocumentationVersion(args) = api_gateway("GET", "/restapis/{restapi_id}/documentation/versions/{doc_version}", args) + +""" + CreateDocumentationVersion() + + + +Required Parameters +{ + "restApiId": "[Required] The string identifier of the associated RestApi.", + "documentationVersion": "[Required] The version identifier of the new snapshot." +} + +Optional Parameters +{ + "stageName": "The stage name to be associated with the new documentation snapshot.", + "description": "A description about the new documentation snapshot." +} +""" +CreateDocumentationVersion(args) = api_gateway("POST", "/restapis/{restapi_id}/documentation/versions", args) + +""" + CreateBasePathMapping() + +Creates a new BasePathMapping resource. + +Required Parameters +{ + "restApiId": "[Required] The string identifier of the associated RestApi.", + "domainName": "[Required] The domain name of the BasePathMapping resource to create." +} + +Optional Parameters +{ + "basePath": "The base path name that callers of the API must provide as part of the URL after the domain name. This value must be unique for all of the mappings across a single API. Specify '(none)' if you do not want callers to specify a base path name after the domain name.", + "stage": "The name of the API's stage that you want to use for this mapping. Specify '(none)' if you do not want callers to explicitly specify the stage name after any base path name." +} +""" +CreateBasePathMapping(args) = api_gateway("POST", "/domainnames/{domain_name}/basepathmappings", args) + +""" + DeleteClientCertificate() + +Deletes the ClientCertificate resource. + +Required Parameters +{ + "clientCertificateId": "[Required] The identifier of the ClientCertificate resource to be deleted." +} +""" +DeleteClientCertificate(args) = api_gateway("DELETE", "/clientcertificates/{clientcertificate_id}", args) + +""" + DeleteAuthorizer() + +Deletes an existing Authorizer resource. AWS CLI + +Required Parameters +{ + "restApiId": "[Required] The string identifier of the associated RestApi.", + "authorizerId": "[Required] The identifier of the Authorizer resource." +} +""" +DeleteAuthorizer(args) = api_gateway("DELETE", "/restapis/{restapi_id}/authorizers/{authorizer_id}", args) diff --git a/src/services/apigatewaymanagementapi.jl b/src/services/apigatewaymanagementapi.jl new file mode 100644 index 0000000000..a56cd2b887 --- /dev/null +++ b/src/services/apigatewaymanagementapi.jl @@ -0,0 +1,39 @@ +include("../AWSServices.jl") +using .AWSServices: apigatewaymanagementapi + +""" + GetConnection() + +Get information about the connection with the provided id. + +Required Parameters +{ + "ConnectionId": "" +} +""" +GetConnection(args) = apigatewaymanagementapi("GET", "/@connections/{connectionId}", args) + +""" + PostToConnection() + +Sends the provided data to the specified connection. + +Required Parameters +{ + "ConnectionId": "The identifier of the connection that a specific client is using.", + "Data": "The data to be sent to the client specified by its connection id." +} +""" +PostToConnection(args) = apigatewaymanagementapi("POST", "/@connections/{connectionId}", args) + +""" + DeleteConnection() + +Delete the connection with the provided id. + +Required Parameters +{ + "ConnectionId": "" +} +""" +DeleteConnection(args) = apigatewaymanagementapi("DELETE", "/@connections/{connectionId}", args) diff --git a/src/services/apigatewayv2.jl b/src/services/apigatewayv2.jl new file mode 100644 index 0000000000..8fd12daba8 --- /dev/null +++ b/src/services/apigatewayv2.jl @@ -0,0 +1,1209 @@ +include("../AWSServices.jl") +using .AWSServices: apigatewayv2 + +""" + CreateStage() + +Creates a Stage for an API. + +Required Parameters +{ + "StageName": "The name of the stage.", + "ApiId": "The API identifier." +} + +Optional Parameters +{ + "AccessLogSettings": "Settings for logging access in this stage.", + "ClientCertificateId": "The identifier of a client certificate for a Stage. Supported only for WebSocket APIs.", + "RouteSettings": "Route settings for the stage, by routeKey.", + "Tags": "The collection of tags. Each tag element is associated with a given resource.", + "Description": "The description for the API stage.", + "DeploymentId": "The deployment identifier of the API stage.", + "DefaultRouteSettings": "The default route settings for the stage.", + "StageVariables": "A map that defines the stage variables for a Stage. Variable names can have alphanumeric and underscore characters, and the values must match [A-Za-z0-9-._~:/?#&=,]+.", + "AutoDeploy": "Specifies whether updates to an API automatically trigger a new deployment. The default value is false." +} +""" +CreateStage(args) = apigatewayv2("POST", "/v2/apis/{apiId}/stages", args) + +""" + DeleteStage() + +Deletes a Stage. + +Required Parameters +{ + "StageName": "The stage name. Stage names can only contain alphanumeric characters, hyphens, and underscores. Maximum length is 128 characters.", + "ApiId": "The API identifier." +} +""" +DeleteStage(args) = apigatewayv2("DELETE", "/v2/apis/{apiId}/stages/{stageName}", args) + +""" + CreateApi() + +Creates an Api resource. + +Required Parameters +{ + "ProtocolType": "The API protocol.", + "Name": "The name of the API." +} + +Optional Parameters +{ + "RouteKey": "This property is part of quick create. If you don't specify a routeKey, a default route of default is created. The default route acts as a catch-all for any request made to your API, for a particular stage. The default route key can't be modified. You can add routes after creating the API, and you can update the route keys of additional routes. Supported only for HTTP APIs.", + "Description": "The description of the API.", + "Tags": "The collection of tags. Each tag element is associated with a given resource.", + "RouteSelectionExpression": "The route selection expression for the API. For HTTP APIs, the routeSelectionExpression must be {request.method} {request.path}. If not provided, this will be the default for HTTP APIs. This property is required for WebSocket APIs.", + "ApiKeySelectionExpression": "An API key selection expression. Supported only for WebSocket APIs. See API Key Selection Expressions.", + "Version": "A version identifier for the API.", + "CorsConfiguration": "A CORS configuration. Supported only for HTTP APIs. See Configuring CORS for more information.", + "CredentialsArn": "This property is part of quick create. It specifies the credentials required for the integration, if any. For a Lambda integration, three options are available. To specify an IAM Role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify arn:aws:iam::*:user/*. To use resource-based permissions on supported AWS services, specify null. Currently, this property is not used for HTTP integrations. Supported only for HTTP APIs.", + "DisableSchemaValidation": "Avoid validating models when creating a deployment. Supported only for WebSocket APIs.", + "Target": "This property is part of quick create. Quick create produces an API with an integration, a default catch-all route, and a default stage which is configured to automatically deploy changes. For HTTP integrations, specify a fully qualified URL. For Lambda integrations, specify a function ARN. The type of the integration will be HTTP_PROXY or AWS_PROXY, respectively. Supported only for HTTP APIs." +} +""" +CreateApi(args) = apigatewayv2("POST", "/v2/apis", args) + +""" + UpdateVpcLink() + +Updates a VPC link. + +Required Parameters +{ + "VpcLinkId": "The ID of the VPC link." +} + +Optional Parameters +{ + "Name": "The name of the VPC link." +} +""" +UpdateVpcLink(args) = apigatewayv2("PATCH", "/v2/vpclinks/{vpcLinkId}", args) + +""" + CreateDomainName() + +Creates a domain name. + +Required Parameters +{ + "DomainName": "The domain name." +} + +Optional Parameters +{ + "Tags": "The collection of tags associated with a domain name.", + "DomainNameConfigurations": "The domain name configurations." +} +""" +CreateDomainName(args) = apigatewayv2("POST", "/v2/domainnames", args) + +""" + GetModel() + +Gets a Model. + +Required Parameters +{ + "ModelId": "The model ID.", + "ApiId": "The API identifier." +} +""" +GetModel(args) = apigatewayv2("GET", "/v2/apis/{apiId}/models/{modelId}", args) + +""" + CreateVpcLink() + +Creates a VPC link. + +Required Parameters +{ + "SubnetIds": "A list of subnet IDs to include in the VPC link.", + "Name": "The name of the VPC link." +} + +Optional Parameters +{ + "SecurityGroupIds": "A list of security group IDs for the VPC link.", + "Tags": "A list of tags." +} +""" +CreateVpcLink(args) = apigatewayv2("POST", "/v2/vpclinks", args) + +""" + GetStage() + +Gets a Stage. + +Required Parameters +{ + "StageName": "The stage name. Stage names can only contain alphanumeric characters, hyphens, and underscores. Maximum length is 128 characters.", + "ApiId": "The API identifier." +} +""" +GetStage(args) = apigatewayv2("GET", "/v2/apis/{apiId}/stages/{stageName}", args) + +""" + TagResource() + +Creates a new Tag resource to represent a tag. + +Required Parameters +{ + "ResourceArn": "The resource ARN for the tag." +} + +Optional Parameters +{ + "Tags": "The collection of tags. Each tag element is associated with a given resource." +} +""" +TagResource(args) = apigatewayv2("POST", "/v2/tags/{resource-arn}", args) + +""" + UpdateDomainName() + +Updates a domain name. + +Required Parameters +{ + "DomainName": "The domain name." +} + +Optional Parameters +{ + "DomainNameConfigurations": "The domain name configurations." +} +""" +UpdateDomainName(args) = apigatewayv2("PATCH", "/v2/domainnames/{domainName}", args) + +""" + GetAuthorizer() + +Gets an Authorizer. + +Required Parameters +{ + "AuthorizerId": "The authorizer identifier.", + "ApiId": "The API identifier." +} +""" +GetAuthorizer(args) = apigatewayv2("GET", "/v2/apis/{apiId}/authorizers/{authorizerId}", args) + +""" + GetModels() + +Gets the Models for an API. + +Required Parameters +{ + "ApiId": "The API identifier." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of elements to be returned for this resource.", + "NextToken": "The next page of elements from this collection. Not valid for the last element of the collection." +} +""" +GetModels(args) = apigatewayv2("GET", "/v2/apis/{apiId}/models", args) + +""" + DeleteIntegrationResponse() + +Deletes an IntegrationResponses. + +Required Parameters +{ + "IntegrationResponseId": "The integration response ID.", + "ApiId": "The API identifier.", + "IntegrationId": "The integration ID." +} +""" +DeleteIntegrationResponse(args) = apigatewayv2("DELETE", "/v2/apis/{apiId}/integrations/{integrationId}/integrationresponses/{integrationResponseId}", args) + +""" + UpdateAuthorizer() + +Updates an Authorizer. + +Required Parameters +{ + "AuthorizerId": "The authorizer identifier.", + "ApiId": "The API identifier." +} + +Optional Parameters +{ + "IdentitySource": "The identity source for which authorization is requested. For a REQUEST authorizer, this is optional. The value is a set of one or more mapping expressions of the specified request parameters. Currently, the identity source can be headers, query string parameters, stage variables, and context parameters. For example, if an Auth header and a Name query string parameter are defined as identity sources, this value is route.request.header.Auth, route.request.querystring.Name. These parameters will be used to perform runtime validation for Lambda-based authorizers by verifying all of the identity-related request parameters are present in the request, not null, and non-empty. Only when this is true does the authorizer invoke the authorizer Lambda function. Otherwise, it returns a 401 Unauthorized response without calling the Lambda function. For JWT, a single entry that specifies where to extract the JSON Web Token (JWT) from inbound requests. Currently only header-based and query parameter-based selections are supported, for example \" request.header.Authorization\".", + "AuthorizerUri": "The authorizer's Uniform Resource Identifier (URI). For REQUEST authorizers, this must be a well-formed Lambda function URI, for example, arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:{account_id}:function:{lambda_function_name}/invocations. In general, the URI has this form: arn:aws:apigateway:{region}:lambda:path/{service_api}\n , where {region} is the same as the region hosting the Lambda function, path indicates that the remaining substring in the URI should be treated as the path to the resource, including the initial /. For Lambda functions, this is usually of the form /2015-03-31/functions/[FunctionARN]/invocations. Supported only for REQUEST authorizers.", + "AuthorizerType": "The authorizer type. For WebSocket APIs, specify REQUEST for a Lambda function using incoming request parameters. For HTTP APIs, specify JWT to use JSON Web Tokens.", + "IdentityValidationExpression": "This parameter is not used.", + "AuthorizerResultTtlInSeconds": "Authorizer caching is not currently supported. Don't specify this value for authorizers.", + "Name": "The name of the authorizer.", + "AuthorizerCredentialsArn": "Specifies the required credentials as an IAM role for API Gateway to invoke the authorizer. To specify an IAM role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To use resource-based permissions on the Lambda function, specify null.", + "JwtConfiguration": "Represents the configuration of a JWT authorizer. Required for the JWT authorizer type. Supported only for HTTP APIs." +} +""" +UpdateAuthorizer(args) = apigatewayv2("PATCH", "/v2/apis/{apiId}/authorizers/{authorizerId}", args) + +""" + CreateRoute() + +Creates a Route for an API. + +Required Parameters +{ + "RouteKey": "The route key for the route.", + "ApiId": "The API identifier." +} + +Optional Parameters +{ + "RequestModels": "The request models for the route. Supported only for WebSocket APIs.", + "AuthorizationScopes": "The authorization scopes supported by this route.", + "ModelSelectionExpression": "The model selection expression for the route. Supported only for WebSocket APIs.", + "AuthorizerId": "The identifier of the Authorizer resource to be associated with this route. The authorizer identifier is generated by API Gateway when you created the authorizer.", + "RouteResponseSelectionExpression": "The route response selection expression for the route. Supported only for WebSocket APIs.", + "RequestParameters": "The request parameters for the route. Supported only for WebSocket APIs.", + "ApiKeyRequired": "Specifies whether an API key is required for the route. Supported only for WebSocket APIs.", + "AuthorizationType": "The authorization type for the route. For WebSocket APIs, valid values are NONE for open access, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda authorizer For HTTP APIs, valid values are NONE for open access, or JWT for using JSON Web Tokens.", + "OperationName": "The operation name for the route.", + "Target": "The target for the route." +} +""" +CreateRoute(args) = apigatewayv2("POST", "/v2/apis/{apiId}/routes", args) + +""" + CreateIntegration() + +Creates an Integration. + +Required Parameters +{ + "IntegrationType": "The integration type of an integration. One of the following: AWS: for integrating the route or method request with an AWS service action, including the Lambda function-invoking action. With the Lambda function-invoking action, this is referred to as the Lambda custom integration. With any other AWS service action, this is known as AWS integration. Supported only for WebSocket APIs. AWS_PROXY: for integrating the route or method request with the Lambda function-invoking action with the client request passed through as-is. This integration is also referred to as Lambda proxy integration. HTTP: for integrating the route or method request with an HTTP endpoint. This integration is also referred to as the HTTP custom integration. Supported only for WebSocket APIs. HTTP_PROXY: for integrating the route or method request with an HTTP endpoint, with the client request passed through as-is. This is also referred to as HTTP proxy integration. For HTTP API private integrations, use an HTTP_PROXY integration. MOCK: for integrating the route or method request with API Gateway as a \"loopback\" endpoint without invoking any backend. Supported only for WebSocket APIs.", + "ApiId": "The API identifier." +} + +Optional Parameters +{ + "ConnectionType": "The type of the network connection to the integration endpoint. Specify INTERNET for connections through the public routable internet or VPC_LINK for private connections between API Gateway and resources in a VPC. The default value is INTERNET.", + "IntegrationUri": "For a Lambda integration, specify the URI of a Lambda function. For an HTTP integration, specify a fully-qualified URL. For an HTTP API private integration, specify the ARN of an Application Load Balancer listener, Network Load Balancer listener, or AWS Cloud Map service. If you specify the ARN of an AWS Cloud Map service, API Gateway uses DiscoverInstances to identify resources. You can use query parameters to target specific resources. To learn more, see DiscoverInstances. For private integrations, all resources must be owned by the same AWS account.", + "CredentialsArn": "Specifies the credentials required for the integration, if any. For AWS integrations, three options are available. To specify an IAM Role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify the string arn:aws:iam::*:user/*. To use resource-based permissions on supported AWS services, specify null.", + "TlsConfig": "The TLS configuration for a private integration. If you specify a TLS configuration, private integration traffic uses the HTTPS protocol. Supported only for HTTP APIs.", + "ContentHandlingStrategy": "Supported only for WebSocket APIs. Specifies how to handle response payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors: CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded string to the corresponding binary blob. CONVERT_TO_TEXT: Converts a response payload from a binary blob to a Base64-encoded string. If this property is not defined, the response payload will be passed through from the integration response to the route response or method response without modification.", + "TemplateSelectionExpression": "The template selection expression for the integration.", + "PayloadFormatVersion": "Specifies the format of the payload sent to an integration. Required for HTTP APIs.", + "ConnectionId": "The ID of the VPC link for a private integration. Supported only for HTTP APIs.", + "PassthroughBehavior": "Specifies the pass-through behavior for incoming requests based on the Content-Type header in the request, and the available mapping templates specified as the requestTemplates property on the Integration resource. There are three valid values: WHEN_NO_MATCH, WHEN_NO_TEMPLATES, and NEVER. Supported only for WebSocket APIs. WHEN_NO_MATCH passes the request body for unmapped content types through to the integration backend without transformation. NEVER rejects unmapped content types with an HTTP 415 Unsupported Media Type response. WHEN_NO_TEMPLATES allows pass-through when the integration has no content types mapped to templates. However, if there is at least one content type defined, unmapped content types will be rejected with the same HTTP 415 Unsupported Media Type response.", + "RequestParameters": "A key-value map specifying request parameters that are passed from the method request to the backend. The key is an integration request parameter name and the associated value is a method request parameter value or static value that must be enclosed within single quotes and pre-encoded as required by the backend. The method request parameter value must match the pattern of method.request.{location}.{name}\n , where \n {location}\n is querystring, path, or header; and \n {name}\n must be a valid and unique method request parameter name. Supported only for WebSocket APIs.", + "IntegrationMethod": "Specifies the integration's HTTP method type.", + "Description": "The description of the integration.", + "RequestTemplates": "Represents a map of Velocity templates that are applied on the request payload based on the value of the Content-Type header sent by the client. The content type value is the key in this map, and the template (as a String) is the value. Supported only for WebSocket APIs.", + "TimeoutInMillis": "Custom timeout between 50 and 29,000 milliseconds for WebSocket APIs and between 50 and 30,000 milliseconds for HTTP APIs. The default timeout is 29 seconds for WebSocket APIs and 30 seconds for HTTP APIs." +} +""" +CreateIntegration(args) = apigatewayv2("POST", "/v2/apis/{apiId}/integrations", args) + +""" + DeleteRouteSettings() + +Deletes the RouteSettings for a stage. + +Required Parameters +{ + "RouteKey": "The route key.", + "StageName": "The stage name. Stage names can only contain alphanumeric characters, hyphens, and underscores. Maximum length is 128 characters.", + "ApiId": "The API identifier." +} +""" +DeleteRouteSettings(args) = apigatewayv2("DELETE", "/v2/apis/{apiId}/stages/{stageName}/routesettings/{routeKey}", args) + +""" + GetIntegrations() + +Gets the Integrations for an API. + +Required Parameters +{ + "ApiId": "The API identifier." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of elements to be returned for this resource.", + "NextToken": "The next page of elements from this collection. Not valid for the last element of the collection." +} +""" +GetIntegrations(args) = apigatewayv2("GET", "/v2/apis/{apiId}/integrations", args) + +""" + GetRoutes() + +Gets the Routes for an API. + +Required Parameters +{ + "ApiId": "The API identifier." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of elements to be returned for this resource.", + "NextToken": "The next page of elements from this collection. Not valid for the last element of the collection." +} +""" +GetRoutes(args) = apigatewayv2("GET", "/v2/apis/{apiId}/routes", args) + +""" + UpdateApiMapping() + +The API mapping. + +Required Parameters +{ + "DomainName": "The domain name.", + "ApiMappingId": "The API mapping identifier.", + "ApiId": "The API identifier." +} + +Optional Parameters +{ + "Stage": "The API stage.", + "ApiMappingKey": "The API mapping key." +} +""" +UpdateApiMapping(args) = apigatewayv2("PATCH", "/v2/domainnames/{domainName}/apimappings/{apiMappingId}", args) + +""" + GetDeployment() + +Gets a Deployment. + +Required Parameters +{ + "DeploymentId": "The deployment ID.", + "ApiId": "The API identifier." +} +""" +GetDeployment(args) = apigatewayv2("GET", "/v2/apis/{apiId}/deployments/{deploymentId}", args) + +""" + CreateDeployment() + +Creates a Deployment for an API. + +Required Parameters +{ + "ApiId": "The API identifier." +} + +Optional Parameters +{ + "Description": "The description for the deployment resource.", + "StageName": "The name of the Stage resource for the Deployment resource to create." +} +""" +CreateDeployment(args) = apigatewayv2("POST", "/v2/apis/{apiId}/deployments", args) + +""" + DeleteApiMapping() + +Deletes an API mapping. + +Required Parameters +{ + "DomainName": "The domain name.", + "ApiMappingId": "The API mapping identifier." +} +""" +DeleteApiMapping(args) = apigatewayv2("DELETE", "/v2/domainnames/{domainName}/apimappings/{apiMappingId}", args) + +""" + GetAuthorizers() + +Gets the Authorizers for an API. + +Required Parameters +{ + "ApiId": "The API identifier." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of elements to be returned for this resource.", + "NextToken": "The next page of elements from this collection. Not valid for the last element of the collection." +} +""" +GetAuthorizers(args) = apigatewayv2("GET", "/v2/apis/{apiId}/authorizers", args) + +""" + DeleteDomainName() + +Deletes a domain name. + +Required Parameters +{ + "DomainName": "The domain name." +} +""" +DeleteDomainName(args) = apigatewayv2("DELETE", "/v2/domainnames/{domainName}", args) + +""" + GetDomainNames() + +Gets the domain names for an AWS account. + +Optional Parameters +{ + "MaxResults": "The maximum number of elements to be returned for this resource.", + "NextToken": "The next page of elements from this collection. Not valid for the last element of the collection." +} +""" +GetDomainNames() = apigatewayv2("GET", "/v2/domainnames") +GetDomainNames(args) = apigatewayv2("GET", "/v2/domainnames", args) + +""" + UntagResource() + +Deletes a Tag. + +Required Parameters +{ + "ResourceArn": "The resource ARN for the tag.", + "TagKeys": "The Tag keys to delete" +} +""" +UntagResource(args) = apigatewayv2("DELETE", "/v2/tags/{resource-arn}", args) + +""" + DeleteVpcLink() + +Deletes a VPC link. + +Required Parameters +{ + "VpcLinkId": "The ID of the VPC link." +} +""" +DeleteVpcLink(args) = apigatewayv2("DELETE", "/v2/vpclinks/{vpcLinkId}", args) + +""" + CreateModel() + +Creates a Model for an API. + +Required Parameters +{ + "Schema": "The schema for the model. For application/json models, this should be JSON schema draft 4 model.", + "ApiId": "The API identifier.", + "Name": "The name of the model. Must be alphanumeric." +} + +Optional Parameters +{ + "Description": "The description of the model.", + "ContentType": "The content-type for the model, for example, \"application/json\"." +} +""" +CreateModel(args) = apigatewayv2("POST", "/v2/apis/{apiId}/models", args) + +""" + DeleteRouteResponse() + +Deletes a RouteResponse. + +Required Parameters +{ + "RouteResponseId": "The route response ID.", + "RouteId": "The route ID.", + "ApiId": "The API identifier." +} +""" +DeleteRouteResponse(args) = apigatewayv2("DELETE", "/v2/apis/{apiId}/routes/{routeId}/routeresponses/{routeResponseId}", args) + +""" + UpdateStage() + +Updates a Stage. + +Required Parameters +{ + "StageName": "The stage name. Stage names can only contain alphanumeric characters, hyphens, and underscores. Maximum length is 128 characters.", + "ApiId": "The API identifier." +} + +Optional Parameters +{ + "AccessLogSettings": "Settings for logging access in this stage.", + "ClientCertificateId": "The identifier of a client certificate for a Stage.", + "Description": "The description for the API stage.", + "RouteSettings": "Route settings for the stage.", + "DeploymentId": "The deployment identifier for the API stage. Can't be updated if autoDeploy is enabled.", + "DefaultRouteSettings": "The default route settings for the stage.", + "StageVariables": "A map that defines the stage variables for a Stage. Variable names can have alphanumeric and underscore characters, and the values must match [A-Za-z0-9-._~:/?#&=,]+.", + "AutoDeploy": "Specifies whether updates to an API automatically trigger a new deployment. The default value is false." +} +""" +UpdateStage(args) = apigatewayv2("PATCH", "/v2/apis/{apiId}/stages/{stageName}", args) + +""" + GetVpcLink() + +Gets a VPC link. + +Required Parameters +{ + "VpcLinkId": "The ID of the VPC link." +} +""" +GetVpcLink(args) = apigatewayv2("GET", "/v2/vpclinks/{vpcLinkId}", args) + +""" + UpdateApi() + +Updates an Api resource. + +Required Parameters +{ + "ApiId": "The API identifier." +} + +Optional Parameters +{ + "RouteKey": "This property is part of quick create. If not specified, the route created using quick create is kept. Otherwise, this value replaces the route key of the quick create route. Additional routes may still be added after the API is updated. Supported only for HTTP APIs.", + "Target": "This property is part of quick create. For HTTP integrations, specify a fully qualified URL. For Lambda integrations, specify a function ARN. The type of the integration will be HTTP_PROXY or AWS_PROXY, respectively. The value provided updates the integration URI and integration type. You can update a quick-created target, but you can't remove it from an API. Supported only for HTTP APIs.", + "Description": "The description of the API.", + "RouteSelectionExpression": "The route selection expression for the API. For HTTP APIs, the routeSelectionExpression must be {request.method} {request.path}. If not provided, this will be the default for HTTP APIs. This property is required for WebSocket APIs.", + "ApiKeySelectionExpression": "An API key selection expression. Supported only for WebSocket APIs. See API Key Selection Expressions.", + "Version": "A version identifier for the API.", + "CorsConfiguration": "A CORS configuration. Supported only for HTTP APIs.", + "CredentialsArn": "This property is part of quick create. It specifies the credentials required for the integration, if any. For a Lambda integration, three options are available. To specify an IAM Role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify arn:aws:iam::*:user/*. To use resource-based permissions on supported AWS services, specify null. Currently, this property is not used for HTTP integrations. If provided, this value replaces the credentials associated with the quick create integration. Supported only for HTTP APIs.", + "DisableSchemaValidation": "Avoid validating models when creating a deployment. Supported only for WebSocket APIs.", + "Name": "The name of the API." +} +""" +UpdateApi(args) = apigatewayv2("PATCH", "/v2/apis/{apiId}", args) + +""" + UpdateRouteResponse() + +Updates a RouteResponse. + +Required Parameters +{ + "RouteResponseId": "The route response ID.", + "RouteId": "The route ID.", + "ApiId": "The API identifier." +} + +Optional Parameters +{ + "ModelSelectionExpression": "The model selection expression for the route response. Supported only for WebSocket APIs.", + "ResponseParameters": "The route response parameters.", + "RouteResponseKey": "The route response key.", + "ResponseModels": "The response models for the route response." +} +""" +UpdateRouteResponse(args) = apigatewayv2("PATCH", "/v2/apis/{apiId}/routes/{routeId}/routeresponses/{routeResponseId}", args) + +""" + GetVpcLinks() + +Gets a collection of VPC links. + +Optional Parameters +{ + "MaxResults": "The maximum number of elements to be returned for this resource.", + "NextToken": "The next page of elements from this collection. Not valid for the last element of the collection." +} +""" +GetVpcLinks() = apigatewayv2("GET", "/v2/vpclinks") +GetVpcLinks(args) = apigatewayv2("GET", "/v2/vpclinks", args) + +""" + UpdateIntegrationResponse() + +Updates an IntegrationResponses. + +Required Parameters +{ + "IntegrationResponseId": "The integration response ID.", + "ApiId": "The API identifier.", + "IntegrationId": "The integration ID." +} + +Optional Parameters +{ + "IntegrationResponseKey": "The integration response key.", + "ContentHandlingStrategy": "Supported only for WebSocket APIs. Specifies how to handle response payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors: CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded string to the corresponding binary blob. CONVERT_TO_TEXT: Converts a response payload from a binary blob to a Base64-encoded string. If this property is not defined, the response payload will be passed through from the integration response to the route response or method response without modification.", + "TemplateSelectionExpression": "The template selection expression for the integration response. Supported only for WebSocket APIs.", + "ResponseTemplates": "The collection of response templates for the integration response as a string-to-string map of key-value pairs. Response templates are represented as a key/value map, with a content-type as the key and a template as the value.", + "ResponseParameters": "A key-value map specifying response parameters that are passed to the method response from the backend. The key is a method response header parameter name and the mapped value is an integration response header value, a static value enclosed within a pair of single quotes, or a JSON expression from the integration response body. The mapping key must match the pattern of method.response.header.{name}\n , where name is a valid and unique header name. The mapped non-static value must match the pattern of integration.response.header.{name}\n or integration.response.body.{JSON-expression}\n , where \n {name}\n is a valid and unique response header name and \n {JSON-expression}\n is a valid JSON expression without the prefix." +} +""" +UpdateIntegrationResponse(args) = apigatewayv2("PATCH", "/v2/apis/{apiId}/integrations/{integrationId}/integrationresponses/{integrationResponseId}", args) + +""" + DeleteDeployment() + +Deletes a Deployment. + +Required Parameters +{ + "DeploymentId": "The deployment ID.", + "ApiId": "The API identifier." +} +""" +DeleteDeployment(args) = apigatewayv2("DELETE", "/v2/apis/{apiId}/deployments/{deploymentId}", args) + +""" + ImportApi() + +Imports an API. + +Required Parameters +{ + "Body": "The OpenAPI definition. Supported only for HTTP APIs." +} + +Optional Parameters +{ + "Basepath": "Specifies how to interpret the base path of the API during import. Valid values are ignore, prepend, and split. The default value is ignore. To learn more, see Set the OpenAPI basePath Property. Supported only for HTTP APIs.", + "FailOnWarnings": "Specifies whether to rollback the API creation (true) or not (false) when a warning is encountered. The default value is false." +} +""" +ImportApi(args) = apigatewayv2("PUT", "/v2/apis", args) + +""" + GetApiMapping() + +Gets an API mapping. + +Required Parameters +{ + "DomainName": "The domain name.", + "ApiMappingId": "The API mapping identifier." +} +""" +GetApiMapping(args) = apigatewayv2("GET", "/v2/domainnames/{domainName}/apimappings/{apiMappingId}", args) + +""" + GetDeployments() + +Gets the Deployments for an API. + +Required Parameters +{ + "ApiId": "The API identifier." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of elements to be returned for this resource.", + "NextToken": "The next page of elements from this collection. Not valid for the last element of the collection." +} +""" +GetDeployments(args) = apigatewayv2("GET", "/v2/apis/{apiId}/deployments", args) + +""" + GetIntegrationResponse() + +Gets an IntegrationResponses. + +Required Parameters +{ + "IntegrationResponseId": "The integration response ID.", + "ApiId": "The API identifier.", + "IntegrationId": "The integration ID." +} +""" +GetIntegrationResponse(args) = apigatewayv2("GET", "/v2/apis/{apiId}/integrations/{integrationId}/integrationresponses/{integrationResponseId}", args) + +""" + GetRouteResponses() + +Gets the RouteResponses for a Route. + +Required Parameters +{ + "RouteId": "The route ID.", + "ApiId": "The API identifier." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of elements to be returned for this resource.", + "NextToken": "The next page of elements from this collection. Not valid for the last element of the collection." +} +""" +GetRouteResponses(args) = apigatewayv2("GET", "/v2/apis/{apiId}/routes/{routeId}/routeresponses", args) + +""" + GetTags() + +Gets a collection of Tag resources. + +Required Parameters +{ + "ResourceArn": "The resource ARN for the tag." +} +""" +GetTags(args) = apigatewayv2("GET", "/v2/tags/{resource-arn}", args) + +""" + GetIntegration() + +Gets an Integration. + +Required Parameters +{ + "ApiId": "The API identifier.", + "IntegrationId": "The integration ID." +} +""" +GetIntegration(args) = apigatewayv2("GET", "/v2/apis/{apiId}/integrations/{integrationId}", args) + +""" + GetApi() + +Gets an Api resource. + +Required Parameters +{ + "ApiId": "The API identifier." +} +""" +GetApi(args) = apigatewayv2("GET", "/v2/apis/{apiId}", args) + +""" + GetStages() + +Gets the Stages for an API. + +Required Parameters +{ + "ApiId": "The API identifier." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of elements to be returned for this resource.", + "NextToken": "The next page of elements from this collection. Not valid for the last element of the collection." +} +""" +GetStages(args) = apigatewayv2("GET", "/v2/apis/{apiId}/stages", args) + +""" + CreateAuthorizer() + +Creates an Authorizer for an API. + +Required Parameters +{ + "IdentitySource": "The identity source for which authorization is requested. For a REQUEST authorizer, this is optional. The value is a set of one or more mapping expressions of the specified request parameters. Currently, the identity source can be headers, query string parameters, stage variables, and context parameters. For example, if an Auth header and a Name query string parameter are defined as identity sources, this value is route.request.header.Auth, route.request.querystring.Name. These parameters will be used to perform runtime validation for Lambda-based authorizers by verifying all of the identity-related request parameters are present in the request, not null, and non-empty. Only when this is true does the authorizer invoke the authorizer Lambda function. Otherwise, it returns a 401 Unauthorized response without calling the Lambda function. For JWT, a single entry that specifies where to extract the JSON Web Token (JWT )from inbound requests. Currently only header-based and query parameter-based selections are supported, for example \" request.header.Authorization\".", + "AuthorizerType": "The authorizer type. For WebSocket APIs, specify REQUEST for a Lambda function using incoming request parameters. For HTTP APIs, specify JWT to use JSON Web Tokens.", + "ApiId": "The API identifier.", + "Name": "The name of the authorizer." +} + +Optional Parameters +{ + "AuthorizerUri": "The authorizer's Uniform Resource Identifier (URI). For REQUEST authorizers, this must be a well-formed Lambda function URI, for example, arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:{account_id}:function:{lambda_function_name}/invocations. In general, the URI has this form: arn:aws:apigateway:{region}:lambda:path/{service_api}\n , where {region} is the same as the region hosting the Lambda function, path indicates that the remaining substring in the URI should be treated as the path to the resource, including the initial /. For Lambda functions, this is usually of the form /2015-03-31/functions/[FunctionARN]/invocations. Supported only for REQUEST authorizers.", + "IdentityValidationExpression": "This parameter is not used.", + "JwtConfiguration": "Represents the configuration of a JWT authorizer. Required for the JWT authorizer type. Supported only for HTTP APIs.", + "AuthorizerResultTtlInSeconds": "Authorizer caching is not currently supported. Don't specify this value for authorizers.", + "AuthorizerCredentialsArn": "Specifies the required credentials as an IAM role for API Gateway to invoke the authorizer. To specify an IAM role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To use resource-based permissions on the Lambda function, specify null. Supported only for REQUEST authorizers." +} +""" +CreateAuthorizer(args) = apigatewayv2("POST", "/v2/apis/{apiId}/authorizers", args) + +""" + GetApis() + +Gets a collection of Api resources. + +Optional Parameters +{ + "MaxResults": "The maximum number of elements to be returned for this resource.", + "NextToken": "The next page of elements from this collection. Not valid for the last element of the collection." +} +""" +GetApis() = apigatewayv2("GET", "/v2/apis") +GetApis(args) = apigatewayv2("GET", "/v2/apis", args) + +""" + DeleteRoute() + +Deletes a Route. + +Required Parameters +{ + "RouteId": "The route ID.", + "ApiId": "The API identifier." +} +""" +DeleteRoute(args) = apigatewayv2("DELETE", "/v2/apis/{apiId}/routes/{routeId}", args) + +""" + CreateRouteResponse() + +Creates a RouteResponse for a Route. + +Required Parameters +{ + "RouteId": "The route ID.", + "RouteResponseKey": "The route response key.", + "ApiId": "The API identifier." +} + +Optional Parameters +{ + "ModelSelectionExpression": "The model selection expression for the route response. Supported only for WebSocket APIs.", + "ResponseParameters": "The route response parameters.", + "ResponseModels": "The response models for the route response." +} +""" +CreateRouteResponse(args) = apigatewayv2("POST", "/v2/apis/{apiId}/routes/{routeId}/routeresponses", args) + +""" + DeleteAccessLogSettings() + +Deletes the AccessLogSettings for a Stage. To disable access logging for a Stage, delete its AccessLogSettings. + +Required Parameters +{ + "StageName": "The stage name. Stage names can only contain alphanumeric characters, hyphens, and underscores. Maximum length is 128 characters.", + "ApiId": "The API identifier." +} +""" +DeleteAccessLogSettings(args) = apigatewayv2("DELETE", "/v2/apis/{apiId}/stages/{stageName}/accesslogsettings", args) + +""" + GetModelTemplate() + +Gets a model template. + +Required Parameters +{ + "ModelId": "The model ID.", + "ApiId": "The API identifier." +} +""" +GetModelTemplate(args) = apigatewayv2("GET", "/v2/apis/{apiId}/models/{modelId}/template", args) + +""" + UpdateDeployment() + +Updates a Deployment. + +Required Parameters +{ + "DeploymentId": "The deployment ID.", + "ApiId": "The API identifier." +} + +Optional Parameters +{ + "Description": "The description for the deployment resource." +} +""" +UpdateDeployment(args) = apigatewayv2("PATCH", "/v2/apis/{apiId}/deployments/{deploymentId}", args) + +""" + UpdateRoute() + +Updates a Route. + +Required Parameters +{ + "RouteId": "The route ID.", + "ApiId": "The API identifier." +} + +Optional Parameters +{ + "RouteKey": "The route key for the route.", + "ModelSelectionExpression": "The model selection expression for the route. Supported only for WebSocket APIs.", + "RequestModels": "The request models for the route. Supported only for WebSocket APIs.", + "AuthorizerId": "The identifier of the Authorizer resource to be associated with this route. The authorizer identifier is generated by API Gateway when you created the authorizer.", + "ApiKeyRequired": "Specifies whether an API key is required for the route. Supported only for WebSocket APIs.", + "Target": "The target for the route.", + "RequestParameters": "The request parameters for the route. Supported only for WebSocket APIs.", + "AuthorizationType": "The authorization type for the route. For WebSocket APIs, valid values are NONE for open access, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda authorizer For HTTP APIs, valid values are NONE for open access, or JWT for using JSON Web Tokens.", + "AuthorizationScopes": "The authorization scopes supported by this route.", + "RouteResponseSelectionExpression": "The route response selection expression for the route. Supported only for WebSocket APIs.", + "OperationName": "The operation name for the route." +} +""" +UpdateRoute(args) = apigatewayv2("PATCH", "/v2/apis/{apiId}/routes/{routeId}", args) + +""" + GetIntegrationResponses() + +Gets the IntegrationResponses for an Integration. + +Required Parameters +{ + "ApiId": "The API identifier.", + "IntegrationId": "The integration ID." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of elements to be returned for this resource.", + "NextToken": "The next page of elements from this collection. Not valid for the last element of the collection." +} +""" +GetIntegrationResponses(args) = apigatewayv2("GET", "/v2/apis/{apiId}/integrations/{integrationId}/integrationresponses", args) + +""" + GetRouteResponse() + +Gets a RouteResponse. + +Required Parameters +{ + "RouteResponseId": "The route response ID.", + "RouteId": "The route ID.", + "ApiId": "The API identifier." +} +""" +GetRouteResponse(args) = apigatewayv2("GET", "/v2/apis/{apiId}/routes/{routeId}/routeresponses/{routeResponseId}", args) + +""" + GetApiMappings() + +Gets API mappings. + +Required Parameters +{ + "DomainName": "The domain name." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of elements to be returned for this resource.", + "NextToken": "The next page of elements from this collection. Not valid for the last element of the collection." +} +""" +GetApiMappings(args) = apigatewayv2("GET", "/v2/domainnames/{domainName}/apimappings", args) + +""" + GetRoute() + +Gets a Route. + +Required Parameters +{ + "RouteId": "The route ID.", + "ApiId": "The API identifier." +} +""" +GetRoute(args) = apigatewayv2("GET", "/v2/apis/{apiId}/routes/{routeId}", args) + +""" + DeleteRouteRequestParameter() + +Deletes a route request parameter. + +Required Parameters +{ + "RouteId": "The route ID.", + "ApiId": "The API identifier.", + "RequestParameterKey": "The route request parameter key." +} +""" +DeleteRouteRequestParameter(args) = apigatewayv2("DELETE", "/v2/apis/{apiId}/routes/{routeId}/requestparameters/{requestParameterKey}", args) + +""" + GetDomainName() + +Gets a domain name. + +Required Parameters +{ + "DomainName": "The domain name." +} +""" +GetDomainName(args) = apigatewayv2("GET", "/v2/domainnames/{domainName}", args) + +""" + DeleteIntegration() + +Deletes an Integration. + +Required Parameters +{ + "ApiId": "The API identifier.", + "IntegrationId": "The integration ID." +} +""" +DeleteIntegration(args) = apigatewayv2("DELETE", "/v2/apis/{apiId}/integrations/{integrationId}", args) + +""" + DeleteModel() + +Deletes a Model. + +Required Parameters +{ + "ModelId": "The model ID.", + "ApiId": "The API identifier." +} +""" +DeleteModel(args) = apigatewayv2("DELETE", "/v2/apis/{apiId}/models/{modelId}", args) + +""" + CreateApiMapping() + +Creates an API mapping. + +Required Parameters +{ + "DomainName": "The domain name.", + "Stage": "The API stage.", + "ApiId": "The API identifier." +} + +Optional Parameters +{ + "ApiMappingKey": "The API mapping key." +} +""" +CreateApiMapping(args) = apigatewayv2("POST", "/v2/domainnames/{domainName}/apimappings", args) + +""" + UpdateModel() + +Updates a Model. + +Required Parameters +{ + "ModelId": "The model ID.", + "ApiId": "The API identifier." +} + +Optional Parameters +{ + "Description": "The description of the model.", + "Schema": "The schema for the model. For application/json models, this should be JSON schema draft 4 model.", + "ContentType": "The content-type for the model, for example, \"application/json\".", + "Name": "The name of the model." +} +""" +UpdateModel(args) = apigatewayv2("PATCH", "/v2/apis/{apiId}/models/{modelId}", args) + +""" + DeleteApi() + +Deletes an Api resource. + +Required Parameters +{ + "ApiId": "The API identifier." +} +""" +DeleteApi(args) = apigatewayv2("DELETE", "/v2/apis/{apiId}", args) + +""" + UpdateIntegration() + +Updates an Integration. + +Required Parameters +{ + "ApiId": "The API identifier.", + "IntegrationId": "The integration ID." +} + +Optional Parameters +{ + "ConnectionType": "The type of the network connection to the integration endpoint. Specify INTERNET for connections through the public routable internet or VPC_LINK for private connections between API Gateway and resources in a VPC. The default value is INTERNET.", + "IntegrationUri": "For a Lambda integration, specify the URI of a Lambda function. For an HTTP integration, specify a fully-qualified URL. For an HTTP API private integration, specify the ARN of an Application Load Balancer listener, Network Load Balancer listener, or AWS Cloud Map service. If you specify the ARN of an AWS Cloud Map service, API Gateway uses DiscoverInstances to identify resources. You can use query parameters to target specific resources. To learn more, see DiscoverInstances. For private integrations, all resources must be owned by the same AWS account.", + "CredentialsArn": "Specifies the credentials required for the integration, if any. For AWS integrations, three options are available. To specify an IAM Role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify the string arn:aws:iam::*:user/*. To use resource-based permissions on supported AWS services, specify null.", + "TlsConfig": "The TLS configuration for a private integration. If you specify a TLS configuration, private integration traffic uses the HTTPS protocol. Supported only for HTTP APIs.", + "IntegrationType": "The integration type of an integration. One of the following: AWS: for integrating the route or method request with an AWS service action, including the Lambda function-invoking action. With the Lambda function-invoking action, this is referred to as the Lambda custom integration. With any other AWS service action, this is known as AWS integration. Supported only for WebSocket APIs. AWS_PROXY: for integrating the route or method request with the Lambda function-invoking action with the client request passed through as-is. This integration is also referred to as Lambda proxy integration. HTTP: for integrating the route or method request with an HTTP endpoint. This integration is also referred to as the HTTP custom integration. Supported only for WebSocket APIs. HTTP_PROXY: for integrating the route or method request with an HTTP endpoint, with the client request passed through as-is. This is also referred to as HTTP proxy integration. For HTTP API private integrations, use an HTTP_PROXY integration. MOCK: for integrating the route or method request with API Gateway as a \"loopback\" endpoint without invoking any backend. Supported only for WebSocket APIs.", + "ContentHandlingStrategy": "Supported only for WebSocket APIs. Specifies how to handle response payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors: CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded string to the corresponding binary blob. CONVERT_TO_TEXT: Converts a response payload from a binary blob to a Base64-encoded string. If this property is not defined, the response payload will be passed through from the integration response to the route response or method response without modification.", + "TemplateSelectionExpression": "The template selection expression for the integration.", + "PayloadFormatVersion": "Specifies the format of the payload sent to an integration. Required for HTTP APIs.", + "ConnectionId": "The ID of the VPC link for a private integration. Supported only for HTTP APIs.", + "PassthroughBehavior": "Specifies the pass-through behavior for incoming requests based on the Content-Type header in the request, and the available mapping templates specified as the requestTemplates property on the Integration resource. There are three valid values: WHEN_NO_MATCH, WHEN_NO_TEMPLATES, and NEVER. Supported only for WebSocket APIs. WHEN_NO_MATCH passes the request body for unmapped content types through to the integration backend without transformation. NEVER rejects unmapped content types with an HTTP 415 Unsupported Media Type response. WHEN_NO_TEMPLATES allows pass-through when the integration has no content types mapped to templates. However, if there is at least one content type defined, unmapped content types will be rejected with the same HTTP 415 Unsupported Media Type response.", + "RequestParameters": "A key-value map specifying request parameters that are passed from the method request to the backend. The key is an integration request parameter name and the associated value is a method request parameter value or static value that must be enclosed within single quotes and pre-encoded as required by the backend. The method request parameter value must match the pattern of method.request.{location}.{name}\n , where \n {location}\n is querystring, path, or header; and \n {name}\n must be a valid and unique method request parameter name. Supported only for WebSocket APIs.", + "IntegrationMethod": "Specifies the integration's HTTP method type.", + "Description": "The description of the integration", + "RequestTemplates": "Represents a map of Velocity templates that are applied on the request payload based on the value of the Content-Type header sent by the client. The content type value is the key in this map, and the template (as a String) is the value. Supported only for WebSocket APIs.", + "TimeoutInMillis": "Custom timeout between 50 and 29,000 milliseconds for WebSocket APIs and between 50 and 30,000 milliseconds for HTTP APIs. The default timeout is 29 seconds for WebSocket APIs and 30 seconds for HTTP APIs." +} +""" +UpdateIntegration(args) = apigatewayv2("PATCH", "/v2/apis/{apiId}/integrations/{integrationId}", args) + +""" + CreateIntegrationResponse() + +Creates an IntegrationResponses. + +Required Parameters +{ + "IntegrationResponseKey": "The integration response key.", + "ApiId": "The API identifier.", + "IntegrationId": "The integration ID." +} + +Optional Parameters +{ + "ContentHandlingStrategy": "Specifies how to handle response payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors: CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded string to the corresponding binary blob. CONVERT_TO_TEXT: Converts a response payload from a binary blob to a Base64-encoded string. If this property is not defined, the response payload will be passed through from the integration response to the route response or method response without modification.", + "TemplateSelectionExpression": "The template selection expression for the integration response. Supported only for WebSocket APIs.", + "ResponseTemplates": "The collection of response templates for the integration response as a string-to-string map of key-value pairs. Response templates are represented as a key/value map, with a content-type as the key and a template as the value.", + "ResponseParameters": "A key-value map specifying response parameters that are passed to the method response from the backend. The key is a method response header parameter name and the mapped value is an integration response header value, a static value enclosed within a pair of single quotes, or a JSON expression from the integration response body. The mapping key must match the pattern of method.response.header.{name}, where {name} is a valid and unique header name. The mapped non-static value must match the pattern of integration.response.header.{name} or integration.response.body.{JSON-expression}, where {name} is a valid and unique response header name and {JSON-expression} is a valid JSON expression without the prefix." +} +""" +CreateIntegrationResponse(args) = apigatewayv2("POST", "/v2/apis/{apiId}/integrations/{integrationId}/integrationresponses", args) + +""" + ReimportApi() + +Puts an Api resource. + +Required Parameters +{ + "Body": "The OpenAPI definition. Supported only for HTTP APIs.", + "ApiId": "The API identifier." +} + +Optional Parameters +{ + "Basepath": "Specifies how to interpret the base path of the API during import. Valid values are ignore, prepend, and split. The default value is ignore. To learn more, see Set the OpenAPI basePath Property. Supported only for HTTP APIs.", + "FailOnWarnings": "Specifies whether to rollback the API creation (true) or not (false) when a warning is encountered. The default value is false." +} +""" +ReimportApi(args) = apigatewayv2("PUT", "/v2/apis/{apiId}", args) + +""" + DeleteCorsConfiguration() + +Deletes a CORS configuration. + +Required Parameters +{ + "ApiId": "The API identifier." +} +""" +DeleteCorsConfiguration(args) = apigatewayv2("DELETE", "/v2/apis/{apiId}/cors", args) + +""" + DeleteAuthorizer() + +Deletes an Authorizer. + +Required Parameters +{ + "AuthorizerId": "The authorizer identifier.", + "ApiId": "The API identifier." +} +""" +DeleteAuthorizer(args) = apigatewayv2("DELETE", "/v2/apis/{apiId}/authorizers/{authorizerId}", args) diff --git a/src/services/app_mesh.jl b/src/services/app_mesh.jl new file mode 100644 index 0000000000..cfe755b84c --- /dev/null +++ b/src/services/app_mesh.jl @@ -0,0 +1,567 @@ +include("../AWSServices.jl") +using .AWSServices: app_mesh + +""" + ListTagsForResource() + +List the tags for an App Mesh resource. + +Required Parameters +{ + "resourceArn": "The Amazon Resource Name (ARN) that identifies the resource to list the tags for." +} + +Optional Parameters +{ + "nextToken": "The nextToken value returned from a previous paginated\n ListTagsForResource request where limit was used and the\n results exceeded the value of that parameter. Pagination continues from the end of the\n previous results that returned the nextToken value.", + "limit": "The maximum number of tag results returned by ListTagsForResource in\n paginated output. When this parameter is used, ListTagsForResource returns\n only limit results in a single page along with a nextToken\n response element. You can see the remaining results of the initial request by sending\n another ListTagsForResource request with the returned nextToken\n value. This value can be between 1 and 100. If you don't use\n this parameter, ListTagsForResource returns up to 100\n results and a nextToken value if applicable." +} +""" +ListTagsForResource(args) = app_mesh("GET", "/v20190125/tags", args) + +""" + DescribeMesh() + +Describes an existing service mesh. + +Required Parameters +{ + "meshName": "The name of the service mesh to describe." +} + +Optional Parameters +{ + "meshOwner": "The AWS IAM account ID of the service mesh owner. If the account ID is not your own, then it's\n the ID of the account that shared the mesh with your account. For more information about mesh sharing, see Working with Shared Meshes." +} +""" +DescribeMesh(args) = app_mesh("GET", "/v20190125/meshes/{meshName}", args) + +""" + DescribeVirtualService() + +Describes an existing virtual service. + +Required Parameters +{ + "meshName": "The name of the service mesh that the virtual service resides in.", + "virtualServiceName": "The name of the virtual service to describe." +} + +Optional Parameters +{ + "meshOwner": "The AWS IAM account ID of the service mesh owner. If the account ID is not your own, then it's\n the ID of the account that shared the mesh with your account. For more information about mesh sharing, see Working with Shared Meshes." +} +""" +DescribeVirtualService(args) = app_mesh("GET", "/v20190125/meshes/{meshName}/virtualServices/{virtualServiceName}", args) + +""" + DeleteVirtualService() + +Deletes an existing virtual service. + +Required Parameters +{ + "meshName": "The name of the service mesh to delete the virtual service in.", + "virtualServiceName": "The name of the virtual service to delete." +} + +Optional Parameters +{ + "meshOwner": "The AWS IAM account ID of the service mesh owner. If the account ID is not your own, then it's\n the ID of the account that shared the mesh with your account. For more information about mesh sharing, see Working with Shared Meshes." +} +""" +DeleteVirtualService(args) = app_mesh("DELETE", "/v20190125/meshes/{meshName}/virtualServices/{virtualServiceName}", args) + +""" + DescribeVirtualRouter() + +Describes an existing virtual router. + +Required Parameters +{ + "meshName": "The name of the service mesh that the virtual router resides in.", + "virtualRouterName": "The name of the virtual router to describe." +} + +Optional Parameters +{ + "meshOwner": "The AWS IAM account ID of the service mesh owner. If the account ID is not your own, then it's\n the ID of the account that shared the mesh with your account. For more information about mesh sharing, see Working with Shared Meshes." +} +""" +DescribeVirtualRouter(args) = app_mesh("GET", "/v20190125/meshes/{meshName}/virtualRouters/{virtualRouterName}", args) + +""" + DescribeVirtualNode() + +Describes an existing virtual node. + +Required Parameters +{ + "virtualNodeName": "The name of the virtual node to describe.", + "meshName": "The name of the service mesh that the virtual node resides in." +} + +Optional Parameters +{ + "meshOwner": "The AWS IAM account ID of the service mesh owner. If the account ID is not your own, then it's\n the ID of the account that shared the mesh with your account. For more information about mesh sharing, see Working with Shared Meshes." +} +""" +DescribeVirtualNode(args) = app_mesh("GET", "/v20190125/meshes/{meshName}/virtualNodes/{virtualNodeName}", args) + +""" + CreateVirtualRouter() + +Creates a virtual router within a service mesh. + Any inbound traffic that your virtual router expects should be specified as a + listener. + Virtual routers handle traffic for one or more virtual services within your mesh. After + you create your virtual router, create and associate routes for your virtual router that + direct incoming requests to different virtual nodes. + For more information about virtual routers, see Virtual Routers. + +Required Parameters +{ + "spec": "The virtual router specification to apply.", + "meshName": "The name of the service mesh to create the virtual router in.", + "virtualRouterName": "The name to use for the virtual router." +} + +Optional Parameters +{ + "clientToken": "Unique, case-sensitive identifier that you provide to ensure the idempotency of the\nrequest. Up to 36 letters, numbers, hyphens, and underscores are allowed.", + "tags": "Optional metadata that you can apply to the virtual router to assist with categorization\n and organization. Each tag consists of a key and an optional value, both of which you\n define. Tag keys can have a maximum character length of 128 characters, and tag values can have\n a maximum length of 256 characters.", + "meshOwner": "The AWS IAM account ID of the service mesh owner. If the account ID is not your own, then\n the account that you specify must share the mesh with your account before you can create \n the resource in the service mesh. For more information about mesh sharing, see Working with Shared Meshes." +} +""" +CreateVirtualRouter(args) = app_mesh("PUT", "/v20190125/meshes/{meshName}/virtualRouters", args) + +""" + ListMeshes() + +Returns a list of existing service meshes. + +Optional Parameters +{ + "nextToken": "The nextToken value returned from a previous paginated\n ListMeshes request where limit was used and the results\n exceeded the value of that parameter. Pagination continues from the end of the previous\n results that returned the nextToken value. \n \n This token should be treated as an opaque identifier that is used only to\n retrieve the next items in a list and not for other programmatic purposes.\n ", + "limit": "The maximum number of results returned by ListMeshes in paginated output.\n When you use this parameter, ListMeshes returns only limit\n results in a single page along with a nextToken response element. You can see\n the remaining results of the initial request by sending another ListMeshes\n request with the returned nextToken value. This value can be between\n 1 and 100. If you don't use this parameter,\n ListMeshes returns up to 100 results and a\n nextToken value if applicable." +} +""" +ListMeshes() = app_mesh("GET", "/v20190125/meshes") +ListMeshes(args) = app_mesh("GET", "/v20190125/meshes", args) + +""" + UpdateMesh() + +Updates an existing service mesh. + +Required Parameters +{ + "meshName": "The name of the service mesh to update." +} + +Optional Parameters +{ + "spec": "The service mesh specification to apply.", + "clientToken": "Unique, case-sensitive identifier that you provide to ensure the idempotency of the\nrequest. Up to 36 letters, numbers, hyphens, and underscores are allowed." +} +""" +UpdateMesh(args) = app_mesh("PUT", "/v20190125/meshes/{meshName}", args) + +""" + DescribeRoute() + +Describes an existing route. + +Required Parameters +{ + "routeName": "The name of the route to describe.", + "meshName": "The name of the service mesh that the route resides in.", + "virtualRouterName": "The name of the virtual router that the route is associated with." +} + +Optional Parameters +{ + "meshOwner": "The AWS IAM account ID of the service mesh owner. If the account ID is not your own, then it's\n the ID of the account that shared the mesh with your account. For more information about mesh sharing, see Working with Shared Meshes." +} +""" +DescribeRoute(args) = app_mesh("GET", "/v20190125/meshes/{meshName}/virtualRouter/{virtualRouterName}/routes/{routeName}", args) + +""" + UpdateVirtualNode() + +Updates an existing virtual node in a specified service mesh. + +Required Parameters +{ + "spec": "The new virtual node specification to apply. This overwrites the existing data.", + "virtualNodeName": "The name of the virtual node to update.", + "meshName": "The name of the service mesh that the virtual node resides in." +} + +Optional Parameters +{ + "clientToken": "Unique, case-sensitive identifier that you provide to ensure the idempotency of the\nrequest. Up to 36 letters, numbers, hyphens, and underscores are allowed.", + "meshOwner": "The AWS IAM account ID of the service mesh owner. If the account ID is not your own, then it's\n the ID of the account that shared the mesh with your account. For more information about mesh sharing, see Working with Shared Meshes." +} +""" +UpdateVirtualNode(args) = app_mesh("PUT", "/v20190125/meshes/{meshName}/virtualNodes/{virtualNodeName}", args) + +""" + DeleteVirtualRouter() + +Deletes an existing virtual router. + You must delete any routes associated with the virtual router before you can delete the + router itself. + +Required Parameters +{ + "meshName": "The name of the service mesh to delete the virtual router in.", + "virtualRouterName": "The name of the virtual router to delete." +} + +Optional Parameters +{ + "meshOwner": "The AWS IAM account ID of the service mesh owner. If the account ID is not your own, then it's\n the ID of the account that shared the mesh with your account. For more information about mesh sharing, see Working with Shared Meshes." +} +""" +DeleteVirtualRouter(args) = app_mesh("DELETE", "/v20190125/meshes/{meshName}/virtualRouters/{virtualRouterName}", args) + +""" + UpdateVirtualRouter() + +Updates an existing virtual router in a specified service mesh. + +Required Parameters +{ + "spec": "The new virtual router specification to apply. This overwrites the existing data.", + "meshName": "The name of the service mesh that the virtual router resides in.", + "virtualRouterName": "The name of the virtual router to update." +} + +Optional Parameters +{ + "clientToken": "Unique, case-sensitive identifier that you provide to ensure the idempotency of the\nrequest. Up to 36 letters, numbers, hyphens, and underscores are allowed.", + "meshOwner": "The AWS IAM account ID of the service mesh owner. If the account ID is not your own, then it's\n the ID of the account that shared the mesh with your account. For more information about mesh sharing, see Working with Shared Meshes." +} +""" +UpdateVirtualRouter(args) = app_mesh("PUT", "/v20190125/meshes/{meshName}/virtualRouters/{virtualRouterName}", args) + +""" + TagResource() + +Associates the specified tags to a resource with the specified resourceArn. + If existing tags on a resource aren't specified in the request parameters, they aren't + changed. When a resource is deleted, the tags associated with that resource are also + deleted. + +Required Parameters +{ + "resourceArn": "The Amazon Resource Name (ARN) of the resource to add tags to.", + "tags": "The tags to add to the resource. A tag is an array of key-value pairs.\n Tag keys can have a maximum character length of 128 characters, and tag values can have\n a maximum length of 256 characters." +} +""" +TagResource(args) = app_mesh("PUT", "/v20190125/tag", args) + +""" + UntagResource() + +Deletes specified tags from a resource. + +Required Parameters +{ + "resourceArn": "The Amazon Resource Name (ARN) of the resource to delete tags from.", + "tagKeys": "The keys of the tags to be removed." +} +""" +UntagResource(args) = app_mesh("PUT", "/v20190125/untag", args) + +""" + CreateVirtualNode() + +Creates a virtual node within a service mesh. + A virtual node acts as a logical pointer to a particular task group, such as an Amazon ECS + service or a Kubernetes deployment. When you create a virtual node, you can specify the + service discovery information for your task group. + Any inbound traffic that your virtual node expects should be specified as a + listener. Any outbound traffic that your virtual node expects to reach + should be specified as a backend. + The response metadata for your new virtual node contains the arn that is + associated with the virtual node. Set this value (either the full ARN or the truncated + resource name: for example, mesh/default/virtualNode/simpleapp) as the + APPMESH_VIRTUAL_NODE_NAME environment variable for your task group's Envoy + proxy container in your task definition or pod spec. This is then mapped to the + node.id and node.cluster Envoy parameters. + + If you require your Envoy stats or tracing to use a different name, you can override + the node.cluster value that is set by + APPMESH_VIRTUAL_NODE_NAME with the + APPMESH_VIRTUAL_NODE_CLUSTER environment variable. + + For more information about virtual nodes, see Virtual Nodes. + +Required Parameters +{ + "spec": "The virtual node specification to apply.", + "virtualNodeName": "The name to use for the virtual node.", + "meshName": "The name of the service mesh to create the virtual node in." +} + +Optional Parameters +{ + "clientToken": "Unique, case-sensitive identifier that you provide to ensure the idempotency of the\nrequest. Up to 36 letters, numbers, hyphens, and underscores are allowed.", + "tags": "Optional metadata that you can apply to the virtual node to assist with categorization\n and organization. Each tag consists of a key and an optional value, both of which you\n define. Tag keys can have a maximum character length of 128 characters, and tag values can have\n a maximum length of 256 characters.", + "meshOwner": "The AWS IAM account ID of the service mesh owner. If the account ID is not your own, then\n the account that you specify must share the mesh with your account before you can create \n the resource in the service mesh. For more information about mesh sharing, see Working with Shared Meshes." +} +""" +CreateVirtualNode(args) = app_mesh("PUT", "/v20190125/meshes/{meshName}/virtualNodes", args) + +""" + CreateMesh() + +Creates a service mesh. A service mesh is a logical boundary for network traffic between + the services that reside within it. + After you create your service mesh, you can create virtual services, virtual nodes, + virtual routers, and routes to distribute traffic between the applications in your + mesh. + +Required Parameters +{ + "meshName": "The name to use for the service mesh." +} + +Optional Parameters +{ + "spec": "The service mesh specification to apply.", + "clientToken": "Unique, case-sensitive identifier that you provide to ensure the idempotency of the\nrequest. Up to 36 letters, numbers, hyphens, and underscores are allowed.", + "tags": "Optional metadata that you can apply to the service mesh to assist with categorization\n and organization. Each tag consists of a key and an optional value, both of which you\n define. Tag keys can have a maximum character length of 128 characters, and tag values can have\n a maximum length of 256 characters." +} +""" +CreateMesh(args) = app_mesh("PUT", "/v20190125/meshes", args) + +""" + DeleteMesh() + +Deletes an existing service mesh. + You must delete all resources (virtual services, routes, virtual routers, and virtual + nodes) in the service mesh before you can delete the mesh itself. + +Required Parameters +{ + "meshName": "The name of the service mesh to delete." +} +""" +DeleteMesh(args) = app_mesh("DELETE", "/v20190125/meshes/{meshName}", args) + +""" + DeleteRoute() + +Deletes an existing route. + +Required Parameters +{ + "routeName": "The name of the route to delete.", + "meshName": "The name of the service mesh to delete the route in.", + "virtualRouterName": "The name of the virtual router to delete the route in." +} + +Optional Parameters +{ + "meshOwner": "The AWS IAM account ID of the service mesh owner. If the account ID is not your own, then it's\n the ID of the account that shared the mesh with your account. For more information about mesh sharing, see Working with Shared Meshes." +} +""" +DeleteRoute(args) = app_mesh("DELETE", "/v20190125/meshes/{meshName}/virtualRouter/{virtualRouterName}/routes/{routeName}", args) + +""" + UpdateRoute() + +Updates an existing route for a specified service mesh and virtual router. + +Required Parameters +{ + "routeName": "The name of the route to update.", + "spec": "The new route specification to apply. This overwrites the existing data.", + "meshName": "The name of the service mesh that the route resides in.", + "virtualRouterName": "The name of the virtual router that the route is associated with." +} + +Optional Parameters +{ + "clientToken": "Unique, case-sensitive identifier that you provide to ensure the idempotency of the\nrequest. Up to 36 letters, numbers, hyphens, and underscores are allowed.", + "meshOwner": "The AWS IAM account ID of the service mesh owner. If the account ID is not your own, then it's\n the ID of the account that shared the mesh with your account. For more information about mesh sharing, see Working with Shared Meshes." +} +""" +UpdateRoute(args) = app_mesh("PUT", "/v20190125/meshes/{meshName}/virtualRouter/{virtualRouterName}/routes/{routeName}", args) + +""" + DeleteVirtualNode() + +Deletes an existing virtual node. + You must delete any virtual services that list a virtual node as a service provider + before you can delete the virtual node itself. + +Required Parameters +{ + "virtualNodeName": "The name of the virtual node to delete.", + "meshName": "The name of the service mesh to delete the virtual node in." +} + +Optional Parameters +{ + "meshOwner": "The AWS IAM account ID of the service mesh owner. If the account ID is not your own, then it's\n the ID of the account that shared the mesh with your account. For more information about mesh sharing, see Working with Shared Meshes." +} +""" +DeleteVirtualNode(args) = app_mesh("DELETE", "/v20190125/meshes/{meshName}/virtualNodes/{virtualNodeName}", args) + +""" + CreateRoute() + +Creates a route that is associated with a virtual router. + You can use the prefix parameter in your route specification for path-based + routing of requests. For example, if your virtual service name is + my-service.local and you want the route to match requests to + my-service.local/metrics, your prefix should be + /metrics. + If your route matches a request, you can distribute traffic to one or more target + virtual nodes with relative weighting. + For more information about routes, see Routes. + +Required Parameters +{ + "routeName": "The name to use for the route.", + "spec": "The route specification to apply.", + "meshName": "The name of the service mesh to create the route in.", + "virtualRouterName": "The name of the virtual router in which to create the route. If the virtual router is in a shared mesh,\n then you must be the owner of the virtual router resource." +} + +Optional Parameters +{ + "clientToken": "Unique, case-sensitive identifier that you provide to ensure the idempotency of the\nrequest. Up to 36 letters, numbers, hyphens, and underscores are allowed.", + "tags": "Optional metadata that you can apply to the route to assist with categorization and\n organization. Each tag consists of a key and an optional value, both of which you define.\n Tag keys can have a maximum character length of 128 characters, and tag values can have\n a maximum length of 256 characters.", + "meshOwner": "The AWS IAM account ID of the service mesh owner. If the account ID is not your own, then\n the account that you specify must share the mesh with your account before you can create \n the resource in the service mesh. For more information about mesh sharing, see Working with Shared Meshes." +} +""" +CreateRoute(args) = app_mesh("PUT", "/v20190125/meshes/{meshName}/virtualRouter/{virtualRouterName}/routes", args) + +""" + ListVirtualServices() + +Returns a list of existing virtual services in a service mesh. + +Required Parameters +{ + "meshName": "The name of the service mesh to list virtual services in." +} + +Optional Parameters +{ + "limit": "The maximum number of results returned by ListVirtualServices in paginated\n output. When you use this parameter, ListVirtualServices returns only\n limit results in a single page along with a nextToken response\n element. You can see the remaining results of the initial request by sending another\n ListVirtualServices request with the returned nextToken value.\n This value can be between 1 and 100. If you don't use this\n parameter, ListVirtualServices returns up to 100 results and\n a nextToken value if applicable.", + "nextToken": "The nextToken value returned from a previous paginated\n ListVirtualServices request where limit was used and the\n results exceeded the value of that parameter. Pagination continues from the end of the\n previous results that returned the nextToken value.", + "meshOwner": "The AWS IAM account ID of the service mesh owner. If the account ID is not your own, then it's\n the ID of the account that shared the mesh with your account. For more information about mesh sharing, see Working with Shared Meshes." +} +""" +ListVirtualServices(args) = app_mesh("GET", "/v20190125/meshes/{meshName}/virtualServices", args) + +""" + ListVirtualNodes() + +Returns a list of existing virtual nodes. + +Required Parameters +{ + "meshName": "The name of the service mesh to list virtual nodes in." +} + +Optional Parameters +{ + "limit": "The maximum number of results returned by ListVirtualNodes in paginated\n output. When you use this parameter, ListVirtualNodes returns only\n limit results in a single page along with a nextToken response\n element. You can see the remaining results of the initial request by sending another\n ListVirtualNodes request with the returned nextToken value.\n This value can be between 1 and 100. If you don't use this\n parameter, ListVirtualNodes returns up to 100 results and a\n nextToken value if applicable.", + "nextToken": "The nextToken value returned from a previous paginated\n ListVirtualNodes request where limit was used and the results\n exceeded the value of that parameter. Pagination continues from the end of the previous\n results that returned the nextToken value.", + "meshOwner": "The AWS IAM account ID of the service mesh owner. If the account ID is not your own, then it's\n the ID of the account that shared the mesh with your account. For more information about mesh sharing, see Working with Shared Meshes." +} +""" +ListVirtualNodes(args) = app_mesh("GET", "/v20190125/meshes/{meshName}/virtualNodes", args) + +""" + ListRoutes() + +Returns a list of existing routes in a service mesh. + +Required Parameters +{ + "meshName": "The name of the service mesh to list routes in.", + "virtualRouterName": "The name of the virtual router to list routes in." +} + +Optional Parameters +{ + "limit": "The maximum number of results returned by ListRoutes in paginated output.\n When you use this parameter, ListRoutes returns only limit\n results in a single page along with a nextToken response element. You can see\n the remaining results of the initial request by sending another ListRoutes\n request with the returned nextToken value. This value can be between\n 1 and 100. If you don't use this parameter,\n ListRoutes returns up to 100 results and a\n nextToken value if applicable.", + "nextToken": "The nextToken value returned from a previous paginated\n ListRoutes request where limit was used and the results\n exceeded the value of that parameter. Pagination continues from the end of the previous\n results that returned the nextToken value.", + "meshOwner": "The AWS IAM account ID of the service mesh owner. If the account ID is not your own, then it's\n the ID of the account that shared the mesh with your account. For more information about mesh sharing, see Working with Shared Meshes." +} +""" +ListRoutes(args) = app_mesh("GET", "/v20190125/meshes/{meshName}/virtualRouter/{virtualRouterName}/routes", args) + +""" + CreateVirtualService() + +Creates a virtual service within a service mesh. + A virtual service is an abstraction of a real service that is provided by a virtual node + directly or indirectly by means of a virtual router. Dependent services call your virtual + service by its virtualServiceName, and those requests are routed to the + virtual node or virtual router that is specified as the provider for the virtual + service. + For more information about virtual services, see Virtual Services. + +Required Parameters +{ + "spec": "The virtual service specification to apply.", + "meshName": "The name of the service mesh to create the virtual service in.", + "virtualServiceName": "The name to use for the virtual service." +} + +Optional Parameters +{ + "clientToken": "Unique, case-sensitive identifier that you provide to ensure the idempotency of the\nrequest. Up to 36 letters, numbers, hyphens, and underscores are allowed.", + "tags": "Optional metadata that you can apply to the virtual service to assist with\n categorization and organization. Each tag consists of a key and an optional value, both of\n which you define. Tag keys can have a maximum character length of 128 characters, and tag values can have\n a maximum length of 256 characters.", + "meshOwner": "The AWS IAM account ID of the service mesh owner. If the account ID is not your own, then\n the account that you specify must share the mesh with your account before you can create \n the resource in the service mesh. For more information about mesh sharing, see Working with Shared Meshes." +} +""" +CreateVirtualService(args) = app_mesh("PUT", "/v20190125/meshes/{meshName}/virtualServices", args) + +""" + UpdateVirtualService() + +Updates an existing virtual service in a specified service mesh. + +Required Parameters +{ + "spec": "The new virtual service specification to apply. This overwrites the existing\n data.", + "meshName": "The name of the service mesh that the virtual service resides in.", + "virtualServiceName": "The name of the virtual service to update." +} + +Optional Parameters +{ + "clientToken": "Unique, case-sensitive identifier that you provide to ensure the idempotency of the\nrequest. Up to 36 letters, numbers, hyphens, and underscores are allowed.", + "meshOwner": "The AWS IAM account ID of the service mesh owner. If the account ID is not your own, then it's\n the ID of the account that shared the mesh with your account. For more information about mesh sharing, see Working with Shared Meshes." +} +""" +UpdateVirtualService(args) = app_mesh("PUT", "/v20190125/meshes/{meshName}/virtualServices/{virtualServiceName}", args) + +""" + ListVirtualRouters() + +Returns a list of existing virtual routers in a service mesh. + +Required Parameters +{ + "meshName": "The name of the service mesh to list virtual routers in." +} + +Optional Parameters +{ + "limit": "The maximum number of results returned by ListVirtualRouters in paginated\n output. When you use this parameter, ListVirtualRouters returns only\n limit results in a single page along with a nextToken response\n element. You can see the remaining results of the initial request by sending another\n ListVirtualRouters request with the returned nextToken value.\n This value can be between 1 and 100. If you don't use this\n parameter, ListVirtualRouters returns up to 100 results and\n a nextToken value if applicable.", + "nextToken": "The nextToken value returned from a previous paginated\n ListVirtualRouters request where limit was used and the\n results exceeded the value of that parameter. Pagination continues from the end of the\n previous results that returned the nextToken value.", + "meshOwner": "The AWS IAM account ID of the service mesh owner. If the account ID is not your own, then it's\n the ID of the account that shared the mesh with your account. For more information about mesh sharing, see Working with Shared Meshes." +} +""" +ListVirtualRouters(args) = app_mesh("GET", "/v20190125/meshes/{meshName}/virtualRouters", args) diff --git a/src/services/appconfig.jl b/src/services/appconfig.jl new file mode 100644 index 0000000000..fd80ff9fbc --- /dev/null +++ b/src/services/appconfig.jl @@ -0,0 +1,470 @@ +include("../AWSServices.jl") +using .AWSServices: appconfig + +""" + GetDeploymentStrategy() + +Retrieve information about a deployment strategy. A deployment strategy defines important criteria for rolling out your configuration to the designated targets. A deployment strategy includes: the overall duration required, a percentage of targets to receive the deployment during each interval, an algorithm that defines how percentage grows, and bake time. + +Required Parameters +{ + "DeploymentStrategyId": "The ID of the deployment strategy to get." +} +""" +GetDeploymentStrategy(args) = appconfig("GET", "/deploymentstrategies/{DeploymentStrategyId}", args) + +""" + ListTagsForResource() + +Retrieves the list of key-value tags assigned to the resource. + +Required Parameters +{ + "ResourceArn": "The resource ARN." +} +""" +ListTagsForResource(args) = appconfig("GET", "/tags/{ResourceArn}", args) + +""" + StopDeployment() + +Stops a deployment. This API action works only on deployments that have a status of DEPLOYING. This action moves the deployment to a status of ROLLED_BACK. + +Required Parameters +{ + "ApplicationId": "The application ID.", + "EnvironmentId": "The environment ID.", + "DeploymentNumber": "The sequence number of the deployment." +} +""" +StopDeployment(args) = appconfig("DELETE", "/applications/{ApplicationId}/environments/{EnvironmentId}/deployments/{DeploymentNumber}", args) + +""" + CreateDeploymentStrategy() + +A deployment strategy defines important criteria for rolling out your configuration to the designated targets. A deployment strategy includes: the overall duration required, a percentage of targets to receive the deployment during each interval, an algorithm that defines how percentage grows, and bake time. + +Required Parameters +{ + "DeploymentDurationInMinutes": "Total amount of time for a deployment to last.", + "GrowthFactor": "The percentage of targets to receive a deployed configuration during each interval.", + "Name": "A name for the deployment strategy.", + "ReplicateTo": "Save the deployment strategy to a Systems Manager (SSM) document." +} + +Optional Parameters +{ + "Description": "A description of the deployment strategy.", + "FinalBakeTimeInMinutes": "The amount of time AppConfig monitors for alarms before considering the deployment to be complete and no longer eligible for automatic roll back.", + "Tags": "Metadata to assign to the deployment strategy. Tags help organize and categorize your AppConfig resources. Each tag consists of a key and an optional value, both of which you define.", + "GrowthType": "The algorithm used to define how percentage grows over time. AWS AppConfig supports the following growth types: Linear: For this type, AppConfig processes the deployment by dividing the total number of targets by the value specified for Step percentage. For example, a linear deployment that uses a Step percentage of 10 deploys the configuration to 10 percent of the hosts. After those deployments are complete, the system deploys the configuration to the next 10 percent. This continues until 100% of the targets have successfully received the configuration. Exponential: For this type, AppConfig processes the deployment exponentially using the following formula: G*(2^N). In this formula, G is the growth factor specified by the user and N is the number of steps until the configuration is deployed to all targets. For example, if you specify a growth factor of 2, then the system rolls out the configuration as follows: 2*(2^0) 2*(2^1) 2*(2^2) Expressed numerically, the deployment rolls out as follows: 2% of the targets, 4% of the targets, 8% of the targets, and continues until the configuration has been deployed to all targets." +} +""" +CreateDeploymentStrategy(args) = appconfig("POST", "/deploymentstrategies", args) + +""" + DeleteDeploymentStrategy() + +Delete a deployment strategy. Deleting a deployment strategy does not delete a configuration from a host. + +Required Parameters +{ + "DeploymentStrategyId": "The ID of the deployment strategy you want to delete." +} +""" +DeleteDeploymentStrategy(args) = appconfig("DELETE", "/deployementstrategies/{DeploymentStrategyId}", args) + +""" + StartDeployment() + +Starts a deployment. + +Required Parameters +{ + "ApplicationId": "The application ID.", + "DeploymentStrategyId": "The deployment strategy ID.", + "ConfigurationVersion": "The configuration version to deploy.", + "ConfigurationProfileId": "The configuration profile ID.", + "EnvironmentId": "The environment ID." +} + +Optional Parameters +{ + "Description": "A description of the deployment.", + "Tags": "Metadata to assign to the deployment. Tags help organize and categorize your AppConfig resources. Each tag consists of a key and an optional value, both of which you define." +} +""" +StartDeployment(args) = appconfig("POST", "/applications/{ApplicationId}/environments/{EnvironmentId}/deployments", args) + +""" + GetApplication() + +Retrieve information about an application. + +Required Parameters +{ + "ApplicationId": "The ID of the application you want to get." +} +""" +GetApplication(args) = appconfig("GET", "/applications/{ApplicationId}", args) + +""" + UpdateDeploymentStrategy() + +Updates a deployment strategy. + +Required Parameters +{ + "DeploymentStrategyId": "The deployment strategy ID." +} + +Optional Parameters +{ + "Description": "A description of the deployment strategy.", + "FinalBakeTimeInMinutes": "The amount of time AppConfig monitors for alarms before considering the deployment to be complete and no longer eligible for automatic roll back.", + "DeploymentDurationInMinutes": "Total amount of time for a deployment to last.", + "GrowthFactor": "The percentage of targets to receive a deployed configuration during each interval.", + "GrowthType": "The algorithm used to define how percentage grows over time. AWS AppConfig supports the following growth types: Linear: For this type, AppConfig processes the deployment by increments of the growth factor evenly distributed over the deployment time. For example, a linear deployment that uses a growth factor of 20 initially makes the configuration available to 20 percent of the targets. After 1/5th of the deployment time has passed, the system updates the percentage to 40 percent. This continues until 100% of the targets are set to receive the deployed configuration. Exponential: For this type, AppConfig processes the deployment exponentially using the following formula: G*(2^N). In this formula, G is the growth factor specified by the user and N is the number of steps until the configuration is deployed to all targets. For example, if you specify a growth factor of 2, then the system rolls out the configuration as follows: 2*(2^0) 2*(2^1) 2*(2^2) Expressed numerically, the deployment rolls out as follows: 2% of the targets, 4% of the targets, 8% of the targets, and continues until the configuration has been deployed to all targets." +} +""" +UpdateDeploymentStrategy(args) = appconfig("PATCH", "/deploymentstrategies/{DeploymentStrategyId}", args) + +""" + DeleteApplication() + +Delete an application. Deleting an application does not delete a configuration from a host. + +Required Parameters +{ + "ApplicationId": "The ID of the application to delete." +} +""" +DeleteApplication(args) = appconfig("DELETE", "/applications/{ApplicationId}", args) + +""" + GetDeployment() + +Retrieve information about a configuration deployment. + +Required Parameters +{ + "ApplicationId": "The ID of the application that includes the deployment you want to get. ", + "EnvironmentId": "The ID of the environment that includes the deployment you want to get. ", + "DeploymentNumber": "The sequence number of the deployment." +} +""" +GetDeployment(args) = appconfig("GET", "/applications/{ApplicationId}/environments/{EnvironmentId}/deployments/{DeploymentNumber}", args) + +""" + CreateEnvironment() + +For each application, you define one or more environments. An environment is a logical deployment group of AppConfig targets, such as applications in a Beta or Production environment. You can also define environments for application subcomponents such as the Web, Mobile and Back-end components for your application. You can configure Amazon CloudWatch alarms for each environment. The system monitors alarms during a configuration deployment. If an alarm is triggered, the system rolls back the configuration. + +Required Parameters +{ + "ApplicationId": "The application ID.", + "Name": "A name for the environment." +} + +Optional Parameters +{ + "Description": "A description of the environment.", + "Tags": "Metadata to assign to the environment. Tags help organize and categorize your AppConfig resources. Each tag consists of a key and an optional value, both of which you define.", + "Monitors": "Amazon CloudWatch alarms to monitor during the deployment process." +} +""" +CreateEnvironment(args) = appconfig("POST", "/applications/{ApplicationId}/environments", args) + +""" + GetEnvironment() + +Retrieve information about an environment. An environment is a logical deployment group of AppConfig applications, such as applications in a Production environment or in an EU_Region environment. Each configuration deployment targets an environment. You can enable one or more Amazon CloudWatch alarms for an environment. If an alarm is triggered during a deployment, AppConfig roles back the configuration. + +Required Parameters +{ + "ApplicationId": "The ID of the application that includes the environment you want to get.", + "EnvironmentId": "The ID of the environment you wnat to get." +} +""" +GetEnvironment(args) = appconfig("GET", "/applications/{ApplicationId}/environments/{EnvironmentId}", args) + +""" + CreateApplication() + +An application in AppConfig is a logical unit of code that provides capabilities for your customers. For example, an application can be a microservice that runs on Amazon EC2 instances, a mobile application installed by your users, a serverless application using Amazon API Gateway and AWS Lambda, or any system you run on behalf of others. + +Required Parameters +{ + "Name": "A name for the application." +} + +Optional Parameters +{ + "Description": "A description of the application.", + "Tags": "Metadata to assign to the application. Tags help organize and categorize your AppConfig resources. Each tag consists of a key and an optional value, both of which you define." +} +""" +CreateApplication(args) = appconfig("POST", "/applications", args) + +""" + UpdateApplication() + +Updates an application. + +Required Parameters +{ + "ApplicationId": "The application ID." +} + +Optional Parameters +{ + "Description": "A description of the application.", + "Name": "The name of the application." +} +""" +UpdateApplication(args) = appconfig("PATCH", "/applications/{ApplicationId}", args) + +""" + DeleteConfigurationProfile() + +Delete a configuration profile. Deleting a configuration profile does not delete a configuration from a host. + +Required Parameters +{ + "ApplicationId": "The application ID that includes the configuration profile you want to delete.", + "ConfigurationProfileId": "The ID of the configuration profile you want to delete." +} +""" +DeleteConfigurationProfile(args) = appconfig("DELETE", "/applications/{ApplicationId}/configurationprofiles/{ConfigurationProfileId}", args) + +""" + ValidateConfiguration() + +Uses the validators in a configuration profile to validate a configuration. + +Required Parameters +{ + "ApplicationId": "The application ID.", + "ConfigurationVersion": "The version of the configuration to validate.", + "ConfigurationProfileId": "The configuration profile ID." +} +""" +ValidateConfiguration(args) = appconfig("POST", "/applications/{ApplicationId}/configurationprofiles/{ConfigurationProfileId}/validators", args) + +""" + ListDeploymentStrategies() + +List deployment strategies. + +Optional Parameters +{ + "MaxResults": "The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.", + "NextToken": "A token to start the list. Use this token to get the next set of results." +} +""" +ListDeploymentStrategies() = appconfig("GET", "/deploymentstrategies") +ListDeploymentStrategies(args) = appconfig("GET", "/deploymentstrategies", args) + +""" + TagResource() + +Metadata to assign to an AppConfig resource. Tags help organize and categorize your AppConfig resources. Each tag consists of a key and an optional value, both of which you define. You can specify a maximum of 50 tags for a resource. + +Required Parameters +{ + "ResourceArn": "The ARN of the resource for which to retrieve tags.", + "Tags": "The key-value string map. The valid character set is [a-zA-Z+-=._:/]. The tag key can be up to 128 characters and must not start with aws:. The tag value can be up to 256 characters." +} +""" +TagResource(args) = appconfig("POST", "/tags/{ResourceArn}", args) + +""" + UntagResource() + +Deletes a tag key and value from an AppConfig resource. + +Required Parameters +{ + "ResourceArn": "The ARN of the resource for which to remove tags.", + "TagKeys": "The tag keys to delete." +} +""" +UntagResource(args) = appconfig("DELETE", "/tags/{ResourceArn}", args) + +""" + GetConfiguration() + +Retrieve information about a configuration. + +Required Parameters +{ + "Application": "The application to get. Specify either the application name or the application ID.", + "Environment": "The environment to get. Specify either the environment name or the environment ID.", + "Configuration": "The configuration to get. Specify either the configuration name or the configuration ID.", + "ClientId": "A unique ID to identify the client for the configuration. This ID enables AppConfig to deploy the configuration in intervals, as defined in the deployment strategy." +} + +Optional Parameters +{ + "ClientConfigurationVersion": "The configuration version returned in the most recent GetConfiguration response." +} +""" +GetConfiguration(args) = appconfig("GET", "/applications/{Application}/environments/{Environment}/configurations/{Configuration}", args) + +""" + DeleteEnvironment() + +Delete an environment. Deleting an environment does not delete a configuration from a host. + +Required Parameters +{ + "ApplicationId": "The application ID that includes the environment you want to delete.", + "EnvironmentId": "The ID of the environment you want to delete." +} +""" +DeleteEnvironment(args) = appconfig("DELETE", "/applications/{ApplicationId}/environments/{EnvironmentId}", args) + +""" + ListEnvironments() + +List the environments for an application. + +Required Parameters +{ + "ApplicationId": "The application ID." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.", + "NextToken": "A token to start the list. Use this token to get the next set of results." +} +""" +ListEnvironments(args) = appconfig("GET", "/applications/{ApplicationId}/environments", args) + +""" + ListApplications() + +List all applications in your AWS account. + +Optional Parameters +{ + "MaxResults": "The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.", + "NextToken": "A token to start the list. Use this token to get the next set of results." +} +""" +ListApplications() = appconfig("GET", "/applications") +ListApplications(args) = appconfig("GET", "/applications", args) + +""" + UpdateEnvironment() + +Updates an environment. + +Required Parameters +{ + "ApplicationId": "The application ID.", + "EnvironmentId": "The environment ID." +} + +Optional Parameters +{ + "Description": "A description of the environment.", + "Monitors": "Amazon CloudWatch alarms to monitor during the deployment process.", + "Name": "The name of the environment." +} +""" +UpdateEnvironment(args) = appconfig("PATCH", "/applications/{ApplicationId}/environments/{EnvironmentId}", args) + +""" + GetConfigurationProfile() + +Retrieve information about a configuration profile. + +Required Parameters +{ + "ApplicationId": "The ID of the application that includes the configuration profile you want to get.", + "ConfigurationProfileId": "The ID of the configuration profile you want to get." +} +""" +GetConfigurationProfile(args) = appconfig("GET", "/applications/{ApplicationId}/configurationprofiles/{ConfigurationProfileId}", args) + +""" + CreateConfigurationProfile() + +Information that enables AppConfig to access the configuration source. Valid configuration sources include Systems Manager (SSM) documents, SSM Parameter Store parameters, and Amazon S3 objects. A configuration profile includes the following information. The Uri location of the configuration data. The AWS Identity and Access Management (IAM) role that provides access to the configuration data. A validator for the configuration data. Available validators include either a JSON Schema or an AWS Lambda function. For more information, see Create a Configuration and a Configuration Profile in the AWS AppConfig User Guide. + +Required Parameters +{ + "ApplicationId": "The application ID.", + "LocationUri": "A URI to locate the configuration. You can specify a Systems Manager (SSM) document, an SSM Parameter Store parameter, or an Amazon S3 object. For an SSM document, specify either the document name in the format ssm-document://<Document_name> or the Amazon Resource Name (ARN). For a parameter, specify either the parameter name in the format ssm-parameter://<Parameter_name> or the ARN. For an Amazon S3 object, specify the URI in the following format: s3://<bucket>/<objectKey> . Here is an example: s3://my-bucket/my-app/us-east-1/my-config.json", + "Name": "A name for the configuration profile.", + "RetrievalRoleArn": "The ARN of an IAM role with permission to access the configuration at the specified LocationUri." +} + +Optional Parameters +{ + "Description": "A description of the configuration profile.", + "Tags": "Metadata to assign to the configuration profile. Tags help organize and categorize your AppConfig resources. Each tag consists of a key and an optional value, both of which you define.", + "Validators": "A list of methods for validating the configuration." +} +""" +CreateConfigurationProfile(args) = appconfig("POST", "/applications/{ApplicationId}/configurationprofiles", args) + +""" + ListConfigurationProfiles() + +Lists the configuration profiles for an application. + +Required Parameters +{ + "ApplicationId": "The application ID." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.", + "NextToken": "A token to start the list. Use this token to get the next set of results." +} +""" +ListConfigurationProfiles(args) = appconfig("GET", "/applications/{ApplicationId}/configurationprofiles", args) + +""" + ListDeployments() + +Lists the deployments for an environment. + +Required Parameters +{ + "ApplicationId": "The application ID.", + "EnvironmentId": "The environment ID." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.", + "NextToken": "A token to start the list. Use this token to get the next set of results." +} +""" +ListDeployments(args) = appconfig("GET", "/applications/{ApplicationId}/environments/{EnvironmentId}/deployments", args) + +""" + UpdateConfigurationProfile() + +Updates a configuration profile. + +Required Parameters +{ + "ApplicationId": "The application ID.", + "ConfigurationProfileId": "The ID of the configuration profile." +} + +Optional Parameters +{ + "Description": "A description of the configuration profile.", + "Validators": "A list of methods for validating the configuration.", + "Name": "The name of the configuration profile.", + "RetrievalRoleArn": "The ARN of an IAM role with permission to access the configuration at the specified LocationUri." +} +""" +UpdateConfigurationProfile(args) = appconfig("PATCH", "/applications/{ApplicationId}/configurationprofiles/{ConfigurationProfileId}", args) diff --git a/src/services/application_auto_scaling.jl b/src/services/application_auto_scaling.jl new file mode 100644 index 0000000000..c4d6a01e85 --- /dev/null +++ b/src/services/application_auto_scaling.jl @@ -0,0 +1,195 @@ +include("../AWSServices.jl") +using .AWSServices: application_auto_scaling + +""" + DeregisterScalableTarget() + +Deregisters an Application Auto Scaling scalable target. Deregistering a scalable target deletes the scaling policies that are associated with it. To create a scalable target or update an existing one, see RegisterScalableTarget. + +Required Parameters +{ + "ResourceId": "The identifier of the resource associated with the scalable target. This string consists of the resource type and unique identifier. ECS service - The resource type is service and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp. Spot Fleet request - The resource type is spot-fleet-request and the unique identifier is the Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE. EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0. AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name. Example: fleet/sample-fleet. DynamoDB table - The resource type is table and the unique identifier is the table name. Example: table/my-table. DynamoDB global secondary index - The resource type is index and the unique identifier is the index name. Example: table/my-table/index/my-table-index. Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name. Example: cluster:my-db-cluster. Amazon SageMaker endpoint variant - The resource type is variant and the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering. Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information is available in our GitHub repository. Amazon Comprehend document classification endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE. Lambda provisioned concurrency - The resource type is function and the unique identifier is the function name with a function version or alias name suffix that is not LATEST. Example: function:my-function:prod or function:my-function:1. ", + "ServiceNamespace": "The namespace of the AWS service that provides the resource or custom-resource for a resource provided by your own application or service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.", + "ScalableDimension": "The scalable dimension associated with the scalable target. This string consists of the service namespace, resource type, and scaling property. ecs:service:DesiredCount - The desired task count of an ECS service. ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot Fleet request. elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group. appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet. dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table. dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table. dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index. dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index. rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition. sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an Amazon SageMaker model endpoint variant. custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service. comprehend:document-classifier-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend document classification endpoint. lambda:function:ProvisionedConcurrency - The provisioned concurrency for a Lambda function. " +} +""" +DeregisterScalableTarget(args) = application_auto_scaling("DeregisterScalableTarget", args) + +""" + DescribeScheduledActions() + +Describes the Application Auto Scaling scheduled actions for the specified service namespace. You can filter the results using the ResourceId, ScalableDimension, and ScheduledActionNames parameters. To create a scheduled action or update an existing one, see PutScheduledAction. If you are no longer using a scheduled action, you can delete it using DeleteScheduledAction. + +Required Parameters +{ + "ServiceNamespace": "The namespace of the AWS service that provides the resource or custom-resource for a resource provided by your own application or service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of scheduled action results. This value can be between 1 and 50. The default value is 50. If this parameter is used, the operation returns up to MaxResults results at a time, along with a NextToken value. To get the next set of results, include the NextToken value in a subsequent call. If this parameter is not used, the operation returns up to 50 results and a NextToken value, if applicable.", + "NextToken": "The token for the next set of results.", + "ScheduledActionNames": "The names of the scheduled actions to describe.", + "ResourceId": "The identifier of the resource associated with the scheduled action. This string consists of the resource type and unique identifier. If you specify a scalable dimension, you must also specify a resource ID. ECS service - The resource type is service and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp. Spot Fleet request - The resource type is spot-fleet-request and the unique identifier is the Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE. EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0. AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name. Example: fleet/sample-fleet. DynamoDB table - The resource type is table and the unique identifier is the table name. Example: table/my-table. DynamoDB global secondary index - The resource type is index and the unique identifier is the index name. Example: table/my-table/index/my-table-index. Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name. Example: cluster:my-db-cluster. Amazon SageMaker endpoint variant - The resource type is variant and the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering. Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information is available in our GitHub repository. Amazon Comprehend document classification endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE. Lambda provisioned concurrency - The resource type is function and the unique identifier is the function name with a function version or alias name suffix that is not LATEST. Example: function:my-function:prod or function:my-function:1. ", + "ScalableDimension": "The scalable dimension. This string consists of the service namespace, resource type, and scaling property. If you specify a scalable dimension, you must also specify a resource ID. ecs:service:DesiredCount - The desired task count of an ECS service. ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot Fleet request. elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group. appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet. dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table. dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table. dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index. dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index. rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition. sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an Amazon SageMaker model endpoint variant. custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service. comprehend:document-classifier-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend document classification endpoint. lambda:function:ProvisionedConcurrency - The provisioned concurrency for a Lambda function. " +} +""" +DescribeScheduledActions(args) = application_auto_scaling("DescribeScheduledActions", args) + +""" + DescribeScalableTargets() + +Gets information about the scalable targets in the specified namespace. You can filter the results using ResourceIds and ScalableDimension. To create a scalable target or update an existing one, see RegisterScalableTarget. If you are no longer using a scalable target, you can deregister it using DeregisterScalableTarget. + +Required Parameters +{ + "ServiceNamespace": "The namespace of the AWS service that provides the resource or custom-resource for a resource provided by your own application or service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of scalable targets. This value can be between 1 and 50. The default value is 50. If this parameter is used, the operation returns up to MaxResults results at a time, along with a NextToken value. To get the next set of results, include the NextToken value in a subsequent call. If this parameter is not used, the operation returns up to 50 results and a NextToken value, if applicable.", + "NextToken": "The token for the next set of results.", + "ResourceIds": "The identifier of the resource associated with the scalable target. This string consists of the resource type and unique identifier. If you specify a scalable dimension, you must also specify a resource ID. ECS service - The resource type is service and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp. Spot Fleet request - The resource type is spot-fleet-request and the unique identifier is the Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE. EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0. AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name. Example: fleet/sample-fleet. DynamoDB table - The resource type is table and the unique identifier is the table name. Example: table/my-table. DynamoDB global secondary index - The resource type is index and the unique identifier is the index name. Example: table/my-table/index/my-table-index. Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name. Example: cluster:my-db-cluster. Amazon SageMaker endpoint variant - The resource type is variant and the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering. Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information is available in our GitHub repository. Amazon Comprehend document classification endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE. Lambda provisioned concurrency - The resource type is function and the unique identifier is the function name with a function version or alias name suffix that is not LATEST. Example: function:my-function:prod or function:my-function:1. ", + "ScalableDimension": "The scalable dimension associated with the scalable target. This string consists of the service namespace, resource type, and scaling property. If you specify a scalable dimension, you must also specify a resource ID. ecs:service:DesiredCount - The desired task count of an ECS service. ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot Fleet request. elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group. appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet. dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table. dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table. dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index. dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index. rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition. sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an Amazon SageMaker model endpoint variant. custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service. comprehend:document-classifier-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend document classification endpoint. lambda:function:ProvisionedConcurrency - The provisioned concurrency for a Lambda function. " +} +""" +DescribeScalableTargets(args) = application_auto_scaling("DescribeScalableTargets", args) + +""" + DescribeScalingPolicies() + +Describes the Application Auto Scaling scaling policies for the specified service namespace. You can filter the results using ResourceId, ScalableDimension, and PolicyNames. To create a scaling policy or update an existing one, see PutScalingPolicy. If you are no longer using a scaling policy, you can delete it using DeleteScalingPolicy. + +Required Parameters +{ + "ServiceNamespace": "The namespace of the AWS service that provides the resource or custom-resource for a resource provided by your own application or service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference." +} + +Optional Parameters +{ + "PolicyNames": "The names of the scaling policies to describe.", + "MaxResults": "The maximum number of scalable targets. This value can be between 1 and 50. The default value is 50. If this parameter is used, the operation returns up to MaxResults results at a time, along with a NextToken value. To get the next set of results, include the NextToken value in a subsequent call. If this parameter is not used, the operation returns up to 50 results and a NextToken value, if applicable.", + "NextToken": "The token for the next set of results.", + "ResourceId": "The identifier of the resource associated with the scaling policy. This string consists of the resource type and unique identifier. If you specify a scalable dimension, you must also specify a resource ID. ECS service - The resource type is service and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp. Spot Fleet request - The resource type is spot-fleet-request and the unique identifier is the Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE. EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0. AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name. Example: fleet/sample-fleet. DynamoDB table - The resource type is table and the unique identifier is the table name. Example: table/my-table. DynamoDB global secondary index - The resource type is index and the unique identifier is the index name. Example: table/my-table/index/my-table-index. Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name. Example: cluster:my-db-cluster. Amazon SageMaker endpoint variant - The resource type is variant and the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering. Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information is available in our GitHub repository. Amazon Comprehend document classification endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE. Lambda provisioned concurrency - The resource type is function and the unique identifier is the function name with a function version or alias name suffix that is not LATEST. Example: function:my-function:prod or function:my-function:1. ", + "ScalableDimension": "The scalable dimension. This string consists of the service namespace, resource type, and scaling property. If you specify a scalable dimension, you must also specify a resource ID. ecs:service:DesiredCount - The desired task count of an ECS service. ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot Fleet request. elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group. appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet. dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table. dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table. dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index. dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index. rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition. sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an Amazon SageMaker model endpoint variant. custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service. comprehend:document-classifier-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend document classification endpoint. lambda:function:ProvisionedConcurrency - The provisioned concurrency for a Lambda function. " +} +""" +DescribeScalingPolicies(args) = application_auto_scaling("DescribeScalingPolicies", args) + +""" + DeleteScheduledAction() + +Deletes the specified scheduled action for an Application Auto Scaling scalable target. For more information, see Delete a Scheduled Action in the Application Auto Scaling User Guide. + +Required Parameters +{ + "ScheduledActionName": "The name of the scheduled action.", + "ResourceId": "The identifier of the resource associated with the scheduled action. This string consists of the resource type and unique identifier. ECS service - The resource type is service and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp. Spot Fleet request - The resource type is spot-fleet-request and the unique identifier is the Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE. EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0. AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name. Example: fleet/sample-fleet. DynamoDB table - The resource type is table and the unique identifier is the table name. Example: table/my-table. DynamoDB global secondary index - The resource type is index and the unique identifier is the index name. Example: table/my-table/index/my-table-index. Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name. Example: cluster:my-db-cluster. Amazon SageMaker endpoint variant - The resource type is variant and the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering. Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information is available in our GitHub repository. Amazon Comprehend document classification endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE. Lambda provisioned concurrency - The resource type is function and the unique identifier is the function name with a function version or alias name suffix that is not LATEST. Example: function:my-function:prod or function:my-function:1. ", + "ServiceNamespace": "The namespace of the AWS service that provides the resource or custom-resource for a resource provided by your own application or service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.", + "ScalableDimension": "The scalable dimension. This string consists of the service namespace, resource type, and scaling property. ecs:service:DesiredCount - The desired task count of an ECS service. ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot Fleet request. elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group. appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet. dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table. dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table. dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index. dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index. rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition. sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an Amazon SageMaker model endpoint variant. custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service. comprehend:document-classifier-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend document classification endpoint. lambda:function:ProvisionedConcurrency - The provisioned concurrency for a Lambda function. " +} +""" +DeleteScheduledAction(args) = application_auto_scaling("DeleteScheduledAction", args) + +""" + DescribeScalingActivities() + +Provides descriptive information about the scaling activities in the specified namespace from the previous six weeks. You can filter the results using ResourceId and ScalableDimension. Scaling activities are triggered by CloudWatch alarms that are associated with scaling policies. To view the scaling policies for a service namespace, see DescribeScalingPolicies. To create a scaling policy or update an existing one, see PutScalingPolicy. + +Required Parameters +{ + "ServiceNamespace": "The namespace of the AWS service that provides the resource or custom-resource for a resource provided by your own application or service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of scalable targets. This value can be between 1 and 50. The default value is 50. If this parameter is used, the operation returns up to MaxResults results at a time, along with a NextToken value. To get the next set of results, include the NextToken value in a subsequent call. If this parameter is not used, the operation returns up to 50 results and a NextToken value, if applicable.", + "NextToken": "The token for the next set of results.", + "ResourceId": "The identifier of the resource associated with the scaling activity. This string consists of the resource type and unique identifier. If you specify a scalable dimension, you must also specify a resource ID. ECS service - The resource type is service and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp. Spot Fleet request - The resource type is spot-fleet-request and the unique identifier is the Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE. EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0. AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name. Example: fleet/sample-fleet. DynamoDB table - The resource type is table and the unique identifier is the table name. Example: table/my-table. DynamoDB global secondary index - The resource type is index and the unique identifier is the index name. Example: table/my-table/index/my-table-index. Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name. Example: cluster:my-db-cluster. Amazon SageMaker endpoint variant - The resource type is variant and the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering. Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information is available in our GitHub repository. Amazon Comprehend document classification endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE. Lambda provisioned concurrency - The resource type is function and the unique identifier is the function name with a function version or alias name suffix that is not LATEST. Example: function:my-function:prod or function:my-function:1. ", + "ScalableDimension": "The scalable dimension. This string consists of the service namespace, resource type, and scaling property. If you specify a scalable dimension, you must also specify a resource ID. ecs:service:DesiredCount - The desired task count of an ECS service. ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot Fleet request. elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group. appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet. dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table. dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table. dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index. dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index. rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition. sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an Amazon SageMaker model endpoint variant. custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service. comprehend:document-classifier-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend document classification endpoint. lambda:function:ProvisionedConcurrency - The provisioned concurrency for a Lambda function. " +} +""" +DescribeScalingActivities(args) = application_auto_scaling("DescribeScalingActivities", args) + +""" + PutScheduledAction() + +Creates or updates a scheduled action for an Application Auto Scaling scalable target. Each scalable target is identified by a service namespace, resource ID, and scalable dimension. A scheduled action applies to the scalable target identified by those three attributes. You cannot create a scheduled action until you have registered the resource as a scalable target using RegisterScalableTarget. To update an action, specify its name and the parameters that you want to change. If you don't specify start and end times, the old values are deleted. Any other parameters that you don't specify are not changed by this update request. You can view the scheduled actions using DescribeScheduledActions. If you are no longer using a scheduled action, you can delete it using DeleteScheduledAction. Learn more about how to work with scheduled actions in the Application Auto Scaling User Guide. + +Required Parameters +{ + "ScheduledActionName": "The name of the scheduled action.", + "ResourceId": "The identifier of the resource associated with the scheduled action. This string consists of the resource type and unique identifier. ECS service - The resource type is service and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp. Spot Fleet request - The resource type is spot-fleet-request and the unique identifier is the Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE. EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0. AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name. Example: fleet/sample-fleet. DynamoDB table - The resource type is table and the unique identifier is the table name. Example: table/my-table. DynamoDB global secondary index - The resource type is index and the unique identifier is the index name. Example: table/my-table/index/my-table-index. Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name. Example: cluster:my-db-cluster. Amazon SageMaker endpoint variant - The resource type is variant and the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering. Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information is available in our GitHub repository. Amazon Comprehend document classification endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE. Lambda provisioned concurrency - The resource type is function and the unique identifier is the function name with a function version or alias name suffix that is not LATEST. Example: function:my-function:prod or function:my-function:1. ", + "ServiceNamespace": "The namespace of the AWS service that provides the resource or custom-resource for a resource provided by your own application or service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.", + "ScalableDimension": "The scalable dimension. This string consists of the service namespace, resource type, and scaling property. ecs:service:DesiredCount - The desired task count of an ECS service. ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot Fleet request. elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group. appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet. dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table. dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table. dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index. dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index. rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition. sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an Amazon SageMaker model endpoint variant. custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service. comprehend:document-classifier-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend document classification endpoint. lambda:function:ProvisionedConcurrency - The provisioned concurrency for a Lambda function. " +} + +Optional Parameters +{ + "StartTime": "The date and time for the scheduled action to start.", + "Schedule": "The schedule for this action. The following formats are supported: At expressions - \"at(yyyy-mm-ddThh:mm:ss)\" Rate expressions - \"rate(value unit)\" Cron expressions - \"cron(fields)\" At expressions are useful for one-time schedules. Specify the time, in UTC. For rate expressions, value is a positive integer and unit is minute | minutes | hour | hours | day | days. For more information about cron expressions, see Cron Expressions in the Amazon CloudWatch Events User Guide.", + "ScalableTargetAction": "The new minimum and maximum capacity. You can set both values or just one. During the scheduled time, if the current capacity is below the minimum capacity, Application Auto Scaling scales out to the minimum capacity. If the current capacity is above the maximum capacity, Application Auto Scaling scales in to the maximum capacity.", + "EndTime": "The date and time for the scheduled action to end." +} +""" +PutScheduledAction(args) = application_auto_scaling("PutScheduledAction", args) + +""" + RegisterScalableTarget() + +Registers or updates a scalable target. A scalable target is a resource that Application Auto Scaling can scale out and scale in. Scalable targets are uniquely identified by the combination of resource ID, scalable dimension, and namespace. When you register a new scalable target, you must specify values for minimum and maximum capacity. Application Auto Scaling will not scale capacity to values that are outside of this range. To update a scalable target, specify the parameter that you want to change as well as the following parameters that identify the scalable target: resource ID, scalable dimension, and namespace. Any parameters that you don't specify are not changed by this update request. After you register a scalable target, you do not need to register it again to use other Application Auto Scaling operations. To see which resources have been registered, use DescribeScalableTargets. You can also view the scaling policies for a service namespace by using DescribeScalableTargets. If you no longer need a scalable target, you can deregister it by using DeregisterScalableTarget. + +Required Parameters +{ + "ResourceId": "The identifier of the resource that is associated with the scalable target. This string consists of the resource type and unique identifier. ECS service - The resource type is service and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp. Spot Fleet request - The resource type is spot-fleet-request and the unique identifier is the Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE. EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0. AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name. Example: fleet/sample-fleet. DynamoDB table - The resource type is table and the unique identifier is the table name. Example: table/my-table. DynamoDB global secondary index - The resource type is index and the unique identifier is the index name. Example: table/my-table/index/my-table-index. Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name. Example: cluster:my-db-cluster. Amazon SageMaker endpoint variant - The resource type is variant and the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering. Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information is available in our GitHub repository. Amazon Comprehend document classification endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE. Lambda provisioned concurrency - The resource type is function and the unique identifier is the function name with a function version or alias name suffix that is not LATEST. Example: function:my-function:prod or function:my-function:1. ", + "ServiceNamespace": "The namespace of the AWS service that provides the resource or custom-resource for a resource provided by your own application or service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference. ", + "ScalableDimension": "The scalable dimension associated with the scalable target. This string consists of the service namespace, resource type, and scaling property. ecs:service:DesiredCount - The desired task count of an ECS service. ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot Fleet request. elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group. appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet. dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table. dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table. dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index. dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index. rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition. sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an Amazon SageMaker model endpoint variant. custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service. comprehend:document-classifier-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend document classification endpoint. lambda:function:ProvisionedConcurrency - The provisioned concurrency for a Lambda function. " +} + +Optional Parameters +{ + "SuspendedState": "An embedded object that contains attributes and attribute values that are used to suspend and resume automatic scaling. Setting the value of an attribute to true suspends the specified scaling activities. Setting it to false (default) resumes the specified scaling activities. Suspension Outcomes For DynamicScalingInSuspended, while a suspension is in effect, all scale-in activities that are triggered by a scaling policy are suspended. For DynamicScalingOutSuspended, while a suspension is in effect, all scale-out activities that are triggered by a scaling policy are suspended. For ScheduledScalingSuspended, while a suspension is in effect, all scaling activities that involve scheduled actions are suspended. For more information, see Suspending and Resuming Scaling in the Application Auto Scaling User Guide.", + "MinCapacity": "The minimum value to scale to in response to a scale-in event. MinCapacity is required to register a scalable target.", + "MaxCapacity": "The maximum value to scale to in response to a scale-out event. MaxCapacity is required to register a scalable target.", + "RoleARN": "Application Auto Scaling creates a service-linked role that grants it permissions to modify the scalable target on your behalf. For more information, see Service-Linked Roles for Application Auto Scaling. For Amazon EMR, this parameter is required, and it must specify the ARN of an IAM role that allows Application Auto Scaling to modify the scalable target on your behalf." +} +""" +RegisterScalableTarget(args) = application_auto_scaling("RegisterScalableTarget", args) + +""" + PutScalingPolicy() + +Creates or updates a policy for an Application Auto Scaling scalable target. Each scalable target is identified by a service namespace, resource ID, and scalable dimension. A scaling policy applies to the scalable target identified by those three attributes. You cannot create a scaling policy until you have registered the resource as a scalable target using RegisterScalableTarget. To update a policy, specify its policy name and the parameters that you want to change. Any parameters that you don't specify are not changed by this update request. You can view the scaling policies for a service namespace using DescribeScalingPolicies. If you are no longer using a scaling policy, you can delete it using DeleteScalingPolicy. Multiple scaling policies can be in force at the same time for the same scalable target. You can have one or more target tracking scaling policies, one or more step scaling policies, or both. However, there is a chance that multiple policies could conflict, instructing the scalable target to scale out or in at the same time. Application Auto Scaling gives precedence to the policy that provides the largest capacity for both scale out and scale in. For example, if one policy increases capacity by 3, another policy increases capacity by 200 percent, and the current capacity is 10, Application Auto Scaling uses the policy with the highest calculated capacity (200% of 10 = 20) and scales out to 30. Learn more about how to work with scaling policies in the Application Auto Scaling User Guide. + +Required Parameters +{ + "PolicyName": "The name of the scaling policy.", + "ResourceId": "The identifier of the resource associated with the scaling policy. This string consists of the resource type and unique identifier. ECS service - The resource type is service and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp. Spot Fleet request - The resource type is spot-fleet-request and the unique identifier is the Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE. EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0. AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name. Example: fleet/sample-fleet. DynamoDB table - The resource type is table and the unique identifier is the table name. Example: table/my-table. DynamoDB global secondary index - The resource type is index and the unique identifier is the index name. Example: table/my-table/index/my-table-index. Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name. Example: cluster:my-db-cluster. Amazon SageMaker endpoint variant - The resource type is variant and the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering. Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information is available in our GitHub repository. Amazon Comprehend document classification endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE. Lambda provisioned concurrency - The resource type is function and the unique identifier is the function name with a function version or alias name suffix that is not LATEST. Example: function:my-function:prod or function:my-function:1. ", + "ServiceNamespace": "The namespace of the AWS service that provides the resource or custom-resource for a resource provided by your own application or service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.", + "ScalableDimension": "The scalable dimension. This string consists of the service namespace, resource type, and scaling property. ecs:service:DesiredCount - The desired task count of an ECS service. ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot Fleet request. elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group. appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet. dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table. dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table. dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index. dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index. rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition. sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an Amazon SageMaker model endpoint variant. custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service. comprehend:document-classifier-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend document classification endpoint. lambda:function:ProvisionedConcurrency - The provisioned concurrency for a Lambda function. " +} + +Optional Parameters +{ + "PolicyType": "The policy type. This parameter is required if you are creating a scaling policy. The following policy types are supported: TargetTrackingScaling—Not supported for Amazon EMR StepScaling—Not supported for DynamoDB, Amazon Comprehend, or AWS Lambda For more information, see Target Tracking Scaling Policies and Step Scaling Policies in the Application Auto Scaling User Guide.", + "TargetTrackingScalingPolicyConfiguration": "A target tracking scaling policy. Includes support for predefined or customized metrics. This parameter is required if you are creating a policy and the policy type is TargetTrackingScaling.", + "StepScalingPolicyConfiguration": "A step scaling policy. This parameter is required if you are creating a policy and the policy type is StepScaling." +} +""" +PutScalingPolicy(args) = application_auto_scaling("PutScalingPolicy", args) + +""" + DeleteScalingPolicy() + +Deletes the specified scaling policy for an Application Auto Scaling scalable target. Deleting a step scaling policy deletes the underlying alarm action, but does not delete the CloudWatch alarm associated with the scaling policy, even if it no longer has an associated action. For more information, see Delete a Step Scaling Policy and Delete a Target Tracking Scaling Policy in the Application Auto Scaling User Guide. To create a scaling policy or update an existing one, see PutScalingPolicy. + +Required Parameters +{ + "PolicyName": "The name of the scaling policy.", + "ResourceId": "The identifier of the resource associated with the scalable target. This string consists of the resource type and unique identifier. ECS service - The resource type is service and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp. Spot Fleet request - The resource type is spot-fleet-request and the unique identifier is the Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE. EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0. AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name. Example: fleet/sample-fleet. DynamoDB table - The resource type is table and the unique identifier is the table name. Example: table/my-table. DynamoDB global secondary index - The resource type is index and the unique identifier is the index name. Example: table/my-table/index/my-table-index. Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name. Example: cluster:my-db-cluster. Amazon SageMaker endpoint variant - The resource type is variant and the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering. Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information is available in our GitHub repository. Amazon Comprehend document classification endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE. Lambda provisioned concurrency - The resource type is function and the unique identifier is the function name with a function version or alias name suffix that is not LATEST. Example: function:my-function:prod or function:my-function:1. ", + "ServiceNamespace": "The namespace of the AWS service that provides the resource or custom-resource for a resource provided by your own application or service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.", + "ScalableDimension": "The scalable dimension. This string consists of the service namespace, resource type, and scaling property. ecs:service:DesiredCount - The desired task count of an ECS service. ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot Fleet request. elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group. appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet. dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table. dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table. dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index. dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index. rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition. sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an Amazon SageMaker model endpoint variant. custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service. comprehend:document-classifier-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend document classification endpoint. lambda:function:ProvisionedConcurrency - The provisioned concurrency for a Lambda function. " +} +""" +DeleteScalingPolicy(args) = application_auto_scaling("DeleteScalingPolicy", args) diff --git a/src/services/application_discovery_service.jl b/src/services/application_discovery_service.jl new file mode 100644 index 0000000000..0cf1afa6ec --- /dev/null +++ b/src/services/application_discovery_service.jl @@ -0,0 +1,355 @@ +include("../AWSServices.jl") +using .AWSServices: application_discovery_service + +""" + StartContinuousExport() + +Start the continuous flow of agent's discovered data into Amazon Athena. +""" +StartContinuousExport() = application_discovery_service("StartContinuousExport") +StartContinuousExport(args) = application_discovery_service("StartContinuousExport", args) + +""" + ListServerNeighbors() + +Retrieves a list of servers that are one network hop away from a specified server. + +Required Parameters +{ + "configurationId": "Configuration ID of the server for which neighbors are being listed." +} + +Optional Parameters +{ + "maxResults": "Maximum number of results to return in a single page of output.", + "portInformationNeeded": "Flag to indicate if port and protocol information is needed as part of the response.", + "neighborConfigurationIds": "List of configuration IDs to test for one-hop-away.", + "nextToken": "Token to retrieve the next set of results. For example, if you previously specified 100 IDs for ListServerNeighborsRequest neighborConfigurationIds but set ListServerNeighborsRequest maxResults to 10, you received a set of 10 results along with a token. Use that token in this query to get the next set of 10." +} +""" +ListServerNeighbors(args) = application_discovery_service("ListServerNeighbors", args) + +""" + ListConfigurations() + +Retrieves a list of configuration items as specified by the value passed to the required parameter configurationType. Optional filtering may be applied to refine search results. + +Required Parameters +{ + "configurationType": "A valid configuration identified by Application Discovery Service. " +} + +Optional Parameters +{ + "filters": "You can filter the request using various logical operators and a key-value format. For example: {\"key\": \"serverType\", \"value\": \"webServer\"} For a complete list of filter options and guidance about using them with this action, see Using the ListConfigurations Action in the AWS Application Discovery Service User Guide.", + "maxResults": "The total number of items to return. The maximum value is 100.", + "nextToken": "Token to retrieve the next set of results. For example, if a previous call to ListConfigurations returned 100 items, but you set ListConfigurationsRequest maxResults to 10, you received a set of 10 results along with a token. Use that token in this query to get the next set of 10.", + "orderBy": "Certain filter criteria return output that can be sorted in ascending or descending order. For a list of output characteristics for each filter, see Using the ListConfigurations Action in the AWS Application Discovery Service User Guide." +} +""" +ListConfigurations(args) = application_discovery_service("ListConfigurations", args) + +""" + DescribeConfigurations() + +Retrieves attributes for a list of configuration item IDs. All of the supplied IDs must be for the same asset type from one of the following: server application process connection Output fields are specific to the asset type specified. For example, the output for a server configuration item includes a list of attributes about the server, such as host name, operating system, number of network cards, etc. For a complete list of outputs for each asset type, see Using the DescribeConfigurations Action in the AWS Application Discovery Service User Guide. + +Required Parameters +{ + "configurationIds": "One or more configuration IDs." +} +""" +DescribeConfigurations(args) = application_discovery_service("DescribeConfigurations", args) + +""" + CreateApplication() + +Creates an application with the given name and description. + +Required Parameters +{ + "name": "Name of the application to be created." +} + +Optional Parameters +{ + "description": "Description of the application to be created." +} +""" +CreateApplication(args) = application_discovery_service("CreateApplication", args) + +""" + DeleteApplications() + +Deletes a list of applications and their associations with configuration items. + +Required Parameters +{ + "configurationIds": "Configuration ID of an application to be deleted." +} +""" +DeleteApplications(args) = application_discovery_service("DeleteApplications", args) + +""" + ExportConfigurations() + +Deprecated. Use StartExportTask instead. Exports all discovered configuration data to an Amazon S3 bucket or an application that enables you to view and evaluate the data. Data includes tags and tag associations, processes, connections, servers, and system performance. This API returns an export ID that you can query using the DescribeExportConfigurations API. The system imposes a limit of two configuration exports in six hours. +""" +ExportConfigurations() = application_discovery_service("ExportConfigurations") +ExportConfigurations(args) = application_discovery_service("ExportConfigurations", args) + +""" + UpdateApplication() + +Updates metadata about an application. + +Required Parameters +{ + "configurationId": "Configuration ID of the application to be updated." +} + +Optional Parameters +{ + "name": "New name of the application to be updated.", + "description": "New description of the application to be updated." +} +""" +UpdateApplication(args) = application_discovery_service("UpdateApplication", args) + +""" + StopContinuousExport() + +Stop the continuous flow of agent's discovered data into Amazon Athena. + +Required Parameters +{ + "exportId": "The unique ID assigned to this export." +} +""" +StopContinuousExport(args) = application_discovery_service("StopContinuousExport", args) + +""" + DescribeAgents() + +Lists agents or connectors as specified by ID or other filters. All agents/connectors associated with your user account can be listed if you call DescribeAgents as is without passing any parameters. + +Optional Parameters +{ + "filters": "You can filter the request using various logical operators and a key-value format. For example: {\"key\": \"collectionStatus\", \"value\": \"STARTED\"} ", + "maxResults": "The total number of agents/Connectors to return in a single page of output. The maximum value is 100.", + "nextToken": "Token to retrieve the next set of results. For example, if you previously specified 100 IDs for DescribeAgentsRequest agentIds but set DescribeAgentsRequest maxResults to 10, you received a set of 10 results along with a token. Use that token in this query to get the next set of 10.", + "agentIds": "The agent or the Connector IDs for which you want information. If you specify no IDs, the system returns information about all agents/Connectors associated with your AWS user account." +} +""" +DescribeAgents() = application_discovery_service("DescribeAgents") +DescribeAgents(args) = application_discovery_service("DescribeAgents", args) + +""" + DescribeTags() + +Retrieves a list of configuration items that have tags as specified by the key-value pairs, name and value, passed to the optional parameter filters. There are three valid tag filter names: tagKey tagValue configurationId Also, all configuration items associated with your user account that have tags can be listed if you call DescribeTags as is without passing any parameters. + +Optional Parameters +{ + "filters": "You can filter the list using a key-value format. You can separate these items by using logical operators. Allowed filters include tagKey, tagValue, and configurationId. ", + "maxResults": "The total number of items to return in a single page of output. The maximum value is 100.", + "nextToken": "A token to start the list. Use this token to get the next set of results." +} +""" +DescribeTags() = application_discovery_service("DescribeTags") +DescribeTags(args) = application_discovery_service("DescribeTags", args) + +""" + DescribeContinuousExports() + +Lists exports as specified by ID. All continuous exports associated with your user account can be listed if you call DescribeContinuousExports as is without passing any parameters. + +Optional Parameters +{ + "exportIds": "The unique IDs assigned to the exports.", + "maxResults": "A number between 1 and 100 specifying the maximum number of continuous export descriptions returned.", + "nextToken": "The token from the previous call to DescribeExportTasks." +} +""" +DescribeContinuousExports() = application_discovery_service("DescribeContinuousExports") +DescribeContinuousExports(args) = application_discovery_service("DescribeContinuousExports", args) + +""" + DescribeExportTasks() + +Retrieve status of one or more export tasks. You can retrieve the status of up to 100 export tasks. + +Optional Parameters +{ + "filters": "One or more filters. AgentId - ID of the agent whose collected data will be exported ", + "exportIds": "One or more unique identifiers used to query the status of an export request.", + "maxResults": "The maximum number of volume results returned by DescribeExportTasks in paginated output. When this parameter is used, DescribeExportTasks only returns maxResults results in a single page along with a nextToken response element.", + "nextToken": "The nextToken value returned from a previous paginated DescribeExportTasks request where maxResults was used and the results exceeded the value of that parameter. Pagination continues from the end of the previous results that returned the nextToken value. This value is null when there are no more results to return." +} +""" +DescribeExportTasks() = application_discovery_service("DescribeExportTasks") +DescribeExportTasks(args) = application_discovery_service("DescribeExportTasks", args) + +""" + DescribeImportTasks() + +Returns an array of import tasks for your account, including status information, times, IDs, the Amazon S3 Object URL for the import file, and more. + +Optional Parameters +{ + "filters": "An array of name-value pairs that you provide to filter the results for the DescribeImportTask request to a specific subset of results. Currently, wildcard values aren't supported for filters.", + "maxResults": "The maximum number of results that you want this request to return, up to 100.", + "nextToken": "The token to request a specific page of results." +} +""" +DescribeImportTasks() = application_discovery_service("DescribeImportTasks") +DescribeImportTasks(args) = application_discovery_service("DescribeImportTasks", args) + +""" + StartExportTask() + + Begins the export of discovered data to an S3 bucket. If you specify agentIds in a filter, the task exports up to 72 hours of detailed data collected by the identified Application Discovery Agent, including network, process, and performance details. A time range for exported agent data may be set by using startTime and endTime. Export of detailed agent data is limited to five concurrently running exports. If you do not include an agentIds filter, summary data is exported that includes both AWS Agentless Discovery Connector data and summary data from AWS Discovery Agents. Export of summary data is limited to two exports per day. + +Optional Parameters +{ + "filters": "If a filter is present, it selects the single agentId of the Application Discovery Agent for which data is exported. The agentId can be found in the results of the DescribeAgents API or CLI. If no filter is present, startTime and endTime are ignored and exported data includes both Agentless Discovery Connector data and summary data from Application Discovery agents. ", + "startTime": "The start timestamp for exported data from the single Application Discovery Agent selected in the filters. If no value is specified, data is exported starting from the first data collected by the agent.", + "endTime": "The end timestamp for exported data from the single Application Discovery Agent selected in the filters. If no value is specified, exported data includes the most recent data collected by the agent.", + "exportDataFormat": "The file format for the returned export data. Default value is CSV. Note: The GRAPHML option has been deprecated. " +} +""" +StartExportTask() = application_discovery_service("StartExportTask") +StartExportTask(args) = application_discovery_service("StartExportTask", args) + +""" + DeleteTags() + +Deletes the association between configuration items and one or more tags. This API accepts a list of multiple configuration items. + +Required Parameters +{ + "configurationIds": "A list of configuration items with tags that you want to delete." +} + +Optional Parameters +{ + "tags": "Tags that you want to delete from one or more configuration items. Specify the tags that you want to delete in a key-value format. For example: {\"key\": \"serverType\", \"value\": \"webServer\"} " +} +""" +DeleteTags(args) = application_discovery_service("DeleteTags", args) + +""" + DescribeExportConfigurations() + + DescribeExportConfigurations is deprecated. Use DescribeImportTasks, instead. + +Optional Parameters +{ + "exportIds": "A list of continuous export IDs to search for.", + "maxResults": "A number between 1 and 100 specifying the maximum number of continuous export descriptions returned.", + "nextToken": "The token from the previous call to describe-export-tasks." +} +""" +DescribeExportConfigurations() = application_discovery_service("DescribeExportConfigurations") +DescribeExportConfigurations(args) = application_discovery_service("DescribeExportConfigurations", args) + +""" + BatchDeleteImportData() + +Deletes one or more import tasks, each identified by their import ID. Each import task has a number of records that can identify servers or applications. AWS Application Discovery Service has built-in matching logic that will identify when discovered servers match existing entries that you've previously discovered, the information for the already-existing discovered server is updated. When you delete an import task that contains records that were used to match, the information in those matched records that comes from the deleted records will also be deleted. + +Required Parameters +{ + "importTaskIds": "The IDs for the import tasks that you want to delete." +} +""" +BatchDeleteImportData(args) = application_discovery_service("BatchDeleteImportData", args) + +""" + CreateTags() + +Creates one or more tags for configuration items. Tags are metadata that help you categorize IT assets. This API accepts a list of multiple configuration items. + +Required Parameters +{ + "configurationIds": "A list of configuration items that you want to tag.", + "tags": "Tags that you want to associate with one or more configuration items. Specify the tags that you want to create in a key-value format. For example: {\"key\": \"serverType\", \"value\": \"webServer\"} " +} +""" +CreateTags(args) = application_discovery_service("CreateTags", args) + +""" + StopDataCollectionByAgentIds() + +Instructs the specified agents or connectors to stop collecting data. + +Required Parameters +{ + "agentIds": "The IDs of the agents or connectors from which to stop collecting data." +} +""" +StopDataCollectionByAgentIds(args) = application_discovery_service("StopDataCollectionByAgentIds", args) + +""" + AssociateConfigurationItemsToApplication() + +Associates one or more configuration items with an application. + +Required Parameters +{ + "configurationIds": "The ID of each configuration item to be associated with an application.", + "applicationConfigurationId": "The configuration ID of an application with which items are to be associated." +} +""" +AssociateConfigurationItemsToApplication(args) = application_discovery_service("AssociateConfigurationItemsToApplication", args) + +""" + GetDiscoverySummary() + +Retrieves a short summary of discovered assets. This API operation takes no request parameters and is called as is at the command prompt as shown in the example. +""" +GetDiscoverySummary() = application_discovery_service("GetDiscoverySummary") +GetDiscoverySummary(args) = application_discovery_service("GetDiscoverySummary", args) + +""" + DisassociateConfigurationItemsFromApplication() + +Disassociates one or more configuration items from an application. + +Required Parameters +{ + "configurationIds": "Configuration ID of each item to be disassociated from an application.", + "applicationConfigurationId": "Configuration ID of an application from which each item is disassociated." +} +""" +DisassociateConfigurationItemsFromApplication(args) = application_discovery_service("DisassociateConfigurationItemsFromApplication", args) + +""" + StartDataCollectionByAgentIds() + +Instructs the specified agents or connectors to start collecting data. + +Required Parameters +{ + "agentIds": "The IDs of the agents or connectors from which to start collecting data. If you send a request to an agent/connector ID that you do not have permission to contact, according to your AWS account, the service does not throw an exception. Instead, it returns the error in the Description field. If you send a request to multiple agents/connectors and you do not have permission to contact some of those agents/connectors, the system does not throw an exception. Instead, the system shows Failed in the Description field." +} +""" +StartDataCollectionByAgentIds(args) = application_discovery_service("StartDataCollectionByAgentIds", args) + +""" + StartImportTask() + +Starts an import task, which allows you to import details of your on-premises environment directly into AWS Migration Hub without having to use the Application Discovery Service (ADS) tools such as the Discovery Connector or Discovery Agent. This gives you the option to perform migration assessment and planning directly from your imported data, including the ability to group your devices as applications and track their migration status. To start an import request, do this: Download the specially formatted comma separated value (CSV) import template, which you can find here: https://s3-us-west-2.amazonaws.com/templates-7cffcf56-bd96-4b1c-b45b-a5b42f282e46/import_template.csv. Fill out the template with your server and application data. Upload your import file to an Amazon S3 bucket, and make a note of it's Object URL. Your import file must be in the CSV format. Use the console or the StartImportTask command with the AWS CLI or one of the AWS SDKs to import the records from your file. For more information, including step-by-step procedures, see Migration Hub Import in the AWS Application Discovery Service User Guide. There are limits to the number of import tasks you can create (and delete) in an AWS account. For more information, see AWS Application Discovery Service Limits in the AWS Application Discovery Service User Guide. + +Required Parameters +{ + "name": "A descriptive name for this request. You can use this name to filter future requests related to this import task, such as identifying applications and servers that were included in this import task. We recommend that you use a meaningful name for each import task.", + "importUrl": "The URL for your import file that you've uploaded to Amazon S3. If you're using the AWS CLI, this URL is structured as follows: s3://BucketName/ImportFileName.CSV " +} + +Optional Parameters +{ + "clientRequestToken": "Optional. A unique token that you can provide to prevent the same import request from occurring more than once. If you don't provide a token, a token is automatically generated. Sending more than one StartImportTask request with the same client request token will return information about the original import task with that client request token." +} +""" +StartImportTask(args) = application_discovery_service("StartImportTask", args) diff --git a/src/services/application_insights.jl b/src/services/application_insights.jl new file mode 100644 index 0000000000..0502f5e1b4 --- /dev/null +++ b/src/services/application_insights.jl @@ -0,0 +1,414 @@ +include("../AWSServices.jl") +using .AWSServices: application_insights + +""" + DeleteLogPattern() + +Removes the specified log pattern from a LogPatternSet. + +Required Parameters +{ + "ResourceGroupName": "The name of the resource group.", + "PatternSetName": "The name of the log pattern set.", + "PatternName": "The name of the log pattern." +} +""" +DeleteLogPattern(args) = application_insights("DeleteLogPattern", args) + +""" + ListTagsForResource() + +Retrieve a list of the tags (keys and values) that are associated with a specified application. A tag is a label that you optionally define and associate with an application. Each tag consists of a required tag key and an optional associated tag value. A tag key is a general label that acts as a category for more specific tag values. A tag value acts as a descriptor within a tag key. + +Required Parameters +{ + "ResourceARN": "The Amazon Resource Name (ARN) of the application that you want to retrieve tag information for." +} +""" +ListTagsForResource(args) = application_insights("ListTagsForResource", args) + +""" + UpdateComponent() + +Updates the custom component name and/or the list of resources that make up the component. + +Required Parameters +{ + "ResourceGroupName": "The name of the resource group.", + "ComponentName": "The name of the component." +} + +Optional Parameters +{ + "NewComponentName": "The new name of the component.", + "ResourceList": "The list of resource ARNs that belong to the component." +} +""" +UpdateComponent(args) = application_insights("UpdateComponent", args) + +""" + ListComponents() + +Lists the auto-grouped, standalone, and custom components of the application. + +Required Parameters +{ + "ResourceGroupName": "The name of the resource group." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned NextToken value.", + "NextToken": "The token to request the next page of results." +} +""" +ListComponents(args) = application_insights("ListComponents", args) + +""" + UpdateLogPattern() + +Adds a log pattern to a LogPatternSet. + +Required Parameters +{ + "ResourceGroupName": "The name of the resource group.", + "PatternSetName": "The name of the log pattern set.", + "PatternName": "The name of the log pattern." +} + +Optional Parameters +{ + "Pattern": "The log pattern.", + "Rank": "Rank of the log pattern." +} +""" +UpdateLogPattern(args) = application_insights("UpdateLogPattern", args) + +""" + DescribeComponent() + +Describes a component and lists the resources that are grouped together in a component. + +Required Parameters +{ + "ResourceGroupName": "The name of the resource group.", + "ComponentName": "The name of the component." +} +""" +DescribeComponent(args) = application_insights("DescribeComponent", args) + +""" + DescribeObservation() + +Describes an anomaly or error with the application. + +Required Parameters +{ + "ObservationId": "The ID of the observation." +} +""" +DescribeObservation(args) = application_insights("DescribeObservation", args) + +""" + DeleteApplication() + +Removes the specified application from monitoring. Does not delete the application. + +Required Parameters +{ + "ResourceGroupName": "The name of the resource group." +} +""" +DeleteApplication(args) = application_insights("DeleteApplication", args) + +""" + DescribeProblemObservations() + +Describes the anomalies or errors associated with the problem. + +Required Parameters +{ + "ProblemId": "The ID of the problem." +} +""" +DescribeProblemObservations(args) = application_insights("DescribeProblemObservations", args) + +""" + CreateApplication() + +Adds an application that is created from a resource group. + +Required Parameters +{ + "ResourceGroupName": "The name of the resource group." +} + +Optional Parameters +{ + "Tags": "List of tags to add to the application. tag key (Key) and an associated tag value (Value). The maximum length of a tag key is 128 characters. The maximum length of a tag value is 256 characters.", + "OpsItemSNSTopicArn": " The SNS topic provided to Application Insights that is associated to the created opsItem. Allows you to receive notifications for updates to the opsItem. ", + "OpsCenterEnabled": " When set to true, creates opsItems for any problems detected on an application. ", + "CWEMonitorEnabled": " Indicates whether Application Insights can listen to CloudWatch events for the application resources, such as instance terminated, failed deployment, and others. " +} +""" +CreateApplication(args) = application_insights("CreateApplication", args) + +""" + UpdateApplication() + +Updates the application. + +Required Parameters +{ + "ResourceGroupName": "The name of the resource group." +} + +Optional Parameters +{ + "RemoveSNSTopic": " Disassociates the SNS topic from the opsItem created for detected problems.", + "OpsItemSNSTopicArn": " The SNS topic provided to Application Insights that is associated to the created opsItem. Allows you to receive notifications for updates to the opsItem.", + "OpsCenterEnabled": " When set to true, creates opsItems for any problems detected on an application. ", + "CWEMonitorEnabled": " Indicates whether Application Insights can listen to CloudWatch events for the application resources, such as instance terminated, failed deployment, and others. " +} +""" +UpdateApplication(args) = application_insights("UpdateApplication", args) + +""" + DescribeLogPattern() + +Describe a specific log pattern from a LogPatternSet. + +Required Parameters +{ + "ResourceGroupName": "The name of the resource group.", + "PatternSetName": "The name of the log pattern set.", + "PatternName": "The name of the log pattern." +} +""" +DescribeLogPattern(args) = application_insights("DescribeLogPattern", args) + +""" + ListLogPatterns() + +Lists the log patterns in the specific log LogPatternSet. + +Required Parameters +{ + "ResourceGroupName": "The name of the resource group." +} + +Optional Parameters +{ + "PatternSetName": "The name of the log pattern set.", + "MaxResults": "The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned NextToken value.", + "NextToken": "The token to request the next page of results." +} +""" +ListLogPatterns(args) = application_insights("ListLogPatterns", args) + +""" + ListProblems() + +Lists the problems with your application. + +Optional Parameters +{ + "ResourceGroupName": "The name of the resource group.", + "StartTime": "The time when the problem was detected, in epoch seconds. If you don't specify a time frame for the request, problems within the past seven days are returned.", + "MaxResults": "The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned NextToken value.", + "NextToken": "The token to request the next page of results.", + "EndTime": "The time when the problem ended, in epoch seconds. If not specified, problems within the past seven days are returned." +} +""" +ListProblems() = application_insights("ListProblems") +ListProblems(args) = application_insights("ListProblems", args) + +""" + TagResource() + +Add one or more tags (keys and values) to a specified application. A tag is a label that you optionally define and associate with an application. Tags can help you categorize and manage application in different ways, such as by purpose, owner, environment, or other criteria. Each tag consists of a required tag key and an associated tag value, both of which you define. A tag key is a general label that acts as a category for more specific tag values. A tag value acts as a descriptor within a tag key. + +Required Parameters +{ + "ResourceARN": "The Amazon Resource Name (ARN) of the application that you want to add one or more tags to.", + "Tags": "A list of tags that to add to the application. A tag consists of a required tag key (Key) and an associated tag value (Value). The maximum length of a tag key is 128 characters. The maximum length of a tag value is 256 characters." +} +""" +TagResource(args) = application_insights("TagResource", args) + +""" + UntagResource() + +Remove one or more tags (keys and values) from a specified application. + +Required Parameters +{ + "ResourceARN": "The Amazon Resource Name (ARN) of the application that you want to remove one or more tags from.", + "TagKeys": "The tags (tag keys) that you want to remove from the resource. When you specify a tag key, the action removes both that key and its associated tag value. To remove more than one tag from the application, append the TagKeys parameter and argument for each additional tag to remove, separated by an ampersand. " +} +""" +UntagResource(args) = application_insights("UntagResource", args) + +""" + ListApplications() + +Lists the IDs of the applications that you are monitoring. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned NextToken value.", + "NextToken": "The token to request the next page of results." +} +""" +ListApplications() = application_insights("ListApplications") +ListApplications(args) = application_insights("ListApplications", args) + +""" + DescribeProblem() + +Describes an application problem. + +Required Parameters +{ + "ProblemId": "The ID of the problem." +} +""" +DescribeProblem(args) = application_insights("DescribeProblem", args) + +""" + ListLogPatternSets() + +Lists the log pattern sets in the specific application. + +Required Parameters +{ + "ResourceGroupName": "The name of the resource group." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned NextToken value.", + "NextToken": "The token to request the next page of results." +} +""" +ListLogPatternSets(args) = application_insights("ListLogPatternSets", args) + +""" + CreateLogPattern() + +Adds an log pattern to a LogPatternSet. + +Required Parameters +{ + "ResourceGroupName": "The name of the resource group.", + "PatternSetName": "The name of the log pattern set.", + "PatternName": "The name of the log pattern.", + "Pattern": "The log pattern.", + "Rank": "Rank of the log pattern." +} +""" +CreateLogPattern(args) = application_insights("CreateLogPattern", args) + +""" + DeleteComponent() + +Ungroups a custom component. When you ungroup custom components, all applicable monitors that are set up for the component are removed and the instances revert to their standalone status. + +Required Parameters +{ + "ResourceGroupName": "The name of the resource group.", + "ComponentName": "The name of the component." +} +""" +DeleteComponent(args) = application_insights("DeleteComponent", args) + +""" + DescribeComponentConfiguration() + +Describes the monitoring configuration of the component. + +Required Parameters +{ + "ResourceGroupName": "The name of the resource group.", + "ComponentName": "The name of the component." +} +""" +DescribeComponentConfiguration(args) = application_insights("DescribeComponentConfiguration", args) + +""" + DescribeComponentConfigurationRecommendation() + +Describes the recommended monitoring configuration of the component. + +Required Parameters +{ + "ResourceGroupName": "The name of the resource group.", + "Tier": "The tier of the application component. Supported tiers include DOT_NET_CORE, DOT_NET_WORKER, DOT_NET_WEB, SQL_SERVER, and DEFAULT.", + "ComponentName": "The name of the component." +} +""" +DescribeComponentConfigurationRecommendation(args) = application_insights("DescribeComponentConfigurationRecommendation", args) + +""" + DescribeApplication() + +Describes the application. + +Required Parameters +{ + "ResourceGroupName": "The name of the resource group." +} +""" +DescribeApplication(args) = application_insights("DescribeApplication", args) + +""" + CreateComponent() + +Creates a custom component by grouping similar standalone instances to monitor. + +Required Parameters +{ + "ResourceGroupName": "The name of the resource group.", + "ResourceList": "The list of resource ARNs that belong to the component.", + "ComponentName": "The name of the component." +} +""" +CreateComponent(args) = application_insights("CreateComponent", args) + +""" + ListConfigurationHistory() + + Lists the INFO, WARN, and ERROR events for periodic configuration updates performed by Application Insights. Examples of events represented are: INFO: creating a new alarm or updating an alarm threshold. WARN: alarm not created due to insufficient data points used to predict thresholds. ERROR: alarm not created due to permission errors or exceeding quotas. + +Optional Parameters +{ + "ResourceGroupName": "Resource group to which the application belongs. ", + "StartTime": "The start time of the event. ", + "MaxResults": " The maximum number of results returned by ListConfigurationHistory in paginated output. When this parameter is used, ListConfigurationHistory returns only MaxResults in a single page along with a NextToken response element. The remaining results of the initial request can be seen by sending another ListConfigurationHistory request with the returned NextToken value. If this parameter is not used, then ListConfigurationHistory returns all results. ", + "NextToken": "The NextToken value returned from a previous paginated ListConfigurationHistory request where MaxResults was used and the results exceeded the value of that parameter. Pagination continues from the end of the previous results that returned the NextToken value. This value is null when there are no more results to return.", + "EndTime": "The end time of the event.", + "EventStatus": "The status of the configuration update event. Possible values include INFO, WARN, and ERROR." +} +""" +ListConfigurationHistory() = application_insights("ListConfigurationHistory") +ListConfigurationHistory(args) = application_insights("ListConfigurationHistory", args) + +""" + UpdateComponentConfiguration() + +Updates the monitoring configurations for the component. The configuration input parameter is an escaped JSON of the configuration and should match the schema of what is returned by DescribeComponentConfigurationRecommendation. + +Required Parameters +{ + "ResourceGroupName": "The name of the resource group.", + "ComponentName": "The name of the component." +} + +Optional Parameters +{ + "Tier": "The tier of the application component. Supported tiers include DOT_NET_WORKER, DOT_NET_WEB, DOT_NET_CORE, SQL_SERVER, and DEFAULT.", + "Monitor": "Indicates whether the application component is monitored.", + "ComponentConfiguration": "The configuration settings of the component. The value is the escaped JSON of the configuration. For more information about the JSON format, see Working with JSON. You can send a request to DescribeComponentConfigurationRecommendation to see the recommended configuration for a component. For the complete format of the component configuration file, see Component Configuration." +} +""" +UpdateComponentConfiguration(args) = application_insights("UpdateComponentConfiguration", args) diff --git a/src/services/appstream.jl b/src/services/appstream.jl new file mode 100644 index 0000000000..82faefb4f9 --- /dev/null +++ b/src/services/appstream.jl @@ -0,0 +1,744 @@ +include("../AWSServices.jl") +using .AWSServices: appstream + +""" + DescribeDirectoryConfigs() + +Retrieves a list that describes one or more specified Directory Config objects for AppStream 2.0, if the names for these objects are provided. Otherwise, all Directory Config objects in the account are described. These objects include the configuration information required to join fleets and image builders to Microsoft Active Directory domains. Although the response syntax in this topic includes the account password, this password is not returned in the actual response. + +Optional Parameters +{ + "MaxResults": "The maximum size of each page of results.", + "DirectoryNames": "The directory names.", + "NextToken": "The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page." +} +""" +DescribeDirectoryConfigs() = appstream("DescribeDirectoryConfigs") +DescribeDirectoryConfigs(args) = appstream("DescribeDirectoryConfigs", args) + +""" + CopyImage() + +Copies the image within the same region or to a new region within the same AWS account. Note that any tags you added to the image will not be copied. + +Required Parameters +{ + "SourceImageName": "The name of the image to copy.", + "DestinationImageName": "The name that the image will have when it is copied to the destination.", + "DestinationRegion": "The destination region to which the image will be copied. This parameter is required, even if you are copying an image within the same region." +} + +Optional Parameters +{ + "DestinationImageDescription": "The description that the image will have when it is copied to the destination." +} +""" +CopyImage(args) = appstream("CopyImage", args) + +""" + UpdateFleet() + +Updates the specified fleet. If the fleet is in the STOPPED state, you can update any attribute except the fleet name. If the fleet is in the RUNNING state, you can update the DisplayName, ComputeCapacity, ImageARN, ImageName, IdleDisconnectTimeoutInSeconds, and DisconnectTimeoutInSeconds attributes. If the fleet is in the STARTING or STOPPING state, you can't update it. + +Optional Parameters +{ + "ImageName": "The name of the image used to create the fleet.", + "AttributesToDelete": "The fleet attributes to delete.", + "DisconnectTimeoutInSeconds": "The amount of time that a streaming session remains active after users disconnect. If users try to reconnect to the streaming session after a disconnection or network interruption within this time interval, they are connected to their previous session. Otherwise, they are connected to a new session with a new streaming instance. Specify a value between 60 and 360000.", + "InstanceType": "The instance type to use when launching fleet instances. The following instance types are available: stream.standard.medium stream.standard.large stream.compute.large stream.compute.xlarge stream.compute.2xlarge stream.compute.4xlarge stream.compute.8xlarge stream.memory.large stream.memory.xlarge stream.memory.2xlarge stream.memory.4xlarge stream.memory.8xlarge stream.graphics-design.large stream.graphics-design.xlarge stream.graphics-design.2xlarge stream.graphics-design.4xlarge stream.graphics-desktop.2xlarge stream.graphics-pro.4xlarge stream.graphics-pro.8xlarge stream.graphics-pro.16xlarge ", + "DeleteVpcConfig": "Deletes the VPC association for the specified fleet.", + "VpcConfig": "The VPC configuration for the fleet.", + "Name": "A unique name for the fleet.", + "DomainJoinInfo": "The name of the directory and organizational unit (OU) to use to join the fleet to a Microsoft Active Directory domain. ", + "ImageArn": "The ARN of the public, private, or shared image to use.", + "IamRoleArn": "The Amazon Resource Name (ARN) of the IAM role to apply to the fleet. To assume a role, a fleet instance calls the AWS Security Token Service (STS) AssumeRole API operation and passes the ARN of the role to use. The operation creates a new session with temporary credentials. AppStream 2.0 retrieves the temporary credentials and creates the AppStream_Machine_Role credential profile on the instance. For more information, see Using an IAM Role to Grant Permissions to Applications and Scripts Running on AppStream 2.0 Streaming Instances in the Amazon AppStream 2.0 Administration Guide.", + "MaxUserDurationInSeconds": "The maximum amount of time that a streaming session can remain active, in seconds. If users are still connected to a streaming instance five minutes before this limit is reached, they are prompted to save any open documents before being disconnected. After this time elapses, the instance is terminated and replaced by a new instance. Specify a value between 600 and 360000.", + "IdleDisconnectTimeoutInSeconds": "The amount of time that users can be idle (inactive) before they are disconnected from their streaming session and the DisconnectTimeoutInSeconds time interval begins. Users are notified before they are disconnected due to inactivity. If users try to reconnect to the streaming session before the time interval specified in DisconnectTimeoutInSeconds elapses, they are connected to their previous session. Users are considered idle when they stop providing keyboard or mouse input during their streaming session. File uploads and downloads, audio in, audio out, and pixels changing do not qualify as user activity. If users continue to be idle after the time interval in IdleDisconnectTimeoutInSeconds elapses, they are disconnected. To prevent users from being disconnected due to inactivity, specify a value of 0. Otherwise, specify a value between 60 and 3600. The default value is 0. If you enable this feature, we recommend that you specify a value that corresponds exactly to a whole number of minutes (for example, 60, 120, and 180). If you don't do this, the value is rounded to the nearest minute. For example, if you specify a value of 70, users are disconnected after 1 minute of inactivity. If you specify a value that is at the midpoint between two different minutes, the value is rounded up. For example, if you specify a value of 90, users are disconnected after 2 minutes of inactivity. ", + "ComputeCapacity": "The desired capacity for the fleet.", + "Description": "The description to display.", + "EnableDefaultInternetAccess": "Enables or disables default internet access for the fleet.", + "DisplayName": "The fleet name to display." +} +""" +UpdateFleet() = appstream("UpdateFleet") +UpdateFleet(args) = appstream("UpdateFleet", args) + +""" + CreateUser() + +Creates a new user in the user pool. + +Required Parameters +{ + "UserName": "The email address of the user. Users' email addresses are case-sensitive. During login, if they specify an email address that doesn't use the same capitalization as the email address specified when their user pool account was created, a \"user does not exist\" error message displays. ", + "AuthenticationType": "The authentication type for the user. You must specify USERPOOL. " +} + +Optional Parameters +{ + "MessageAction": "The action to take for the welcome email that is sent to a user after the user is created in the user pool. If you specify SUPPRESS, no email is sent. If you specify RESEND, do not specify the first name or last name of the user. If the value is null, the email is sent. The temporary password in the welcome email is valid for only 7 days. If users don’t set their passwords within 7 days, you must send them a new welcome email. ", + "LastName": "The last name, or surname, of the user.", + "FirstName": "The first name, or given name, of the user." +} +""" +CreateUser(args) = appstream("CreateUser", args) + +""" + CreateUsageReportSubscription() + +Creates a usage report subscription. Usage reports are generated daily. +""" +CreateUsageReportSubscription() = appstream("CreateUsageReportSubscription") +CreateUsageReportSubscription(args) = appstream("CreateUsageReportSubscription", args) + +""" + CreateImageBuilderStreamingURL() + +Creates a URL to start an image builder streaming session. + +Required Parameters +{ + "Name": "The name of the image builder." +} + +Optional Parameters +{ + "Validity": "The time that the streaming URL will be valid, in seconds. Specify a value between 1 and 604800 seconds. The default is 3600 seconds." +} +""" +CreateImageBuilderStreamingURL(args) = appstream("CreateImageBuilderStreamingURL", args) + +""" + DisableUser() + +Disables the specified user in the user pool. Users can't sign in to AppStream 2.0 until they are re-enabled. This action does not delete the user. + +Required Parameters +{ + "UserName": "The email address of the user. Users' email addresses are case-sensitive. ", + "AuthenticationType": "The authentication type for the user. You must specify USERPOOL." +} +""" +DisableUser(args) = appstream("DisableUser", args) + +""" + TagResource() + +Adds or overwrites one or more tags for the specified AppStream 2.0 resource. You can tag AppStream 2.0 image builders, images, fleets, and stacks. Each tag consists of a key and an optional value. If a resource already has a tag with the same key, this operation updates its value. To list the current tags for your resources, use ListTagsForResource. To disassociate tags from your resources, use UntagResource. For more information about tags, see Tagging Your Resources in the Amazon AppStream 2.0 Administration Guide. + +Required Parameters +{ + "ResourceArn": "The Amazon Resource Name (ARN) of the resource.", + "Tags": "The tags to associate. A tag is a key-value pair, and the value is optional. For example, Environment=Test. If you do not specify a value, Environment=. If you do not specify a value, the value is set to an empty string. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following special characters: _ . : / = + - @" +} +""" +TagResource(args) = appstream("TagResource", args) + +""" + DescribeSessions() + +Retrieves a list that describes the streaming sessions for a specified stack and fleet. If a UserId is provided for the stack and fleet, only streaming sessions for that user are described. If an authentication type is not provided, the default is to authenticate users using a streaming URL. + +Required Parameters +{ + "FleetName": "The name of the fleet. This value is case-sensitive.", + "StackName": "The name of the stack. This value is case-sensitive." +} + +Optional Parameters +{ + "NextToken": "The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page.", + "UserId": "The user identifier.", + "AuthenticationType": "The authentication method. Specify API for a user authenticated using a streaming URL or SAML for a SAML federated user. The default is to authenticate users using a streaming URL.", + "Limit": "The size of each page of results. The default value is 20 and the maximum value is 50." +} +""" +DescribeSessions(args) = appstream("DescribeSessions", args) + +""" + DescribeStacks() + +Retrieves a list that describes one or more specified stacks, if the stack names are provided. Otherwise, all stacks in the account are described. + +Optional Parameters +{ + "Names": "The names of the stacks to describe.", + "NextToken": "The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page." +} +""" +DescribeStacks() = appstream("DescribeStacks") +DescribeStacks(args) = appstream("DescribeStacks", args) + +""" + DisassociateFleet() + +Disassociates the specified fleet from the specified stack. + +Required Parameters +{ + "FleetName": "The name of the fleet.", + "StackName": "The name of the stack." +} +""" +DisassociateFleet(args) = appstream("DisassociateFleet", args) + +""" + UpdateDirectoryConfig() + +Updates the specified Directory Config object in AppStream 2.0. This object includes the configuration information required to join fleets and image builders to Microsoft Active Directory domains. + +Required Parameters +{ + "DirectoryName": "The name of the Directory Config object." +} + +Optional Parameters +{ + "OrganizationalUnitDistinguishedNames": "The distinguished names of the organizational units for computer accounts.", + "ServiceAccountCredentials": "The credentials for the service account used by the fleet or image builder to connect to the directory." +} +""" +UpdateDirectoryConfig(args) = appstream("UpdateDirectoryConfig", args) + +""" + CreateDirectoryConfig() + +Creates a Directory Config object in AppStream 2.0. This object includes the configuration information required to join fleets and image builders to Microsoft Active Directory domains. + +Required Parameters +{ + "OrganizationalUnitDistinguishedNames": "The distinguished names of the organizational units for computer accounts.", + "DirectoryName": "The fully qualified name of the directory (for example, corp.example.com).", + "ServiceAccountCredentials": "The credentials for the service account used by the fleet or image builder to connect to the directory." +} +""" +CreateDirectoryConfig(args) = appstream("CreateDirectoryConfig", args) + +""" + EnableUser() + +Enables a user in the user pool. After being enabled, users can sign in to AppStream 2.0 and open applications from the stacks to which they are assigned. + +Required Parameters +{ + "UserName": "The email address of the user. Users' email addresses are case-sensitive. During login, if they specify an email address that doesn't use the same capitalization as the email address specified when their user pool account was created, a \"user does not exist\" error message displays. ", + "AuthenticationType": "The authentication type for the user. You must specify USERPOOL." +} +""" +EnableUser(args) = appstream("EnableUser", args) + +""" + CreateFleet() + +Creates a fleet. A fleet consists of streaming instances that run a specified image. + +Required Parameters +{ + "ComputeCapacity": "The desired capacity for the fleet.", + "InstanceType": "The instance type to use when launching fleet instances. The following instance types are available: stream.standard.medium stream.standard.large stream.compute.large stream.compute.xlarge stream.compute.2xlarge stream.compute.4xlarge stream.compute.8xlarge stream.memory.large stream.memory.xlarge stream.memory.2xlarge stream.memory.4xlarge stream.memory.8xlarge stream.graphics-design.large stream.graphics-design.xlarge stream.graphics-design.2xlarge stream.graphics-design.4xlarge stream.graphics-desktop.2xlarge stream.graphics-pro.4xlarge stream.graphics-pro.8xlarge stream.graphics-pro.16xlarge ", + "Name": "A unique name for the fleet." +} + +Optional Parameters +{ + "ImageName": "The name of the image used to create the fleet.", + "DisconnectTimeoutInSeconds": "The amount of time that a streaming session remains active after users disconnect. If users try to reconnect to the streaming session after a disconnection or network interruption within this time interval, they are connected to their previous session. Otherwise, they are connected to a new session with a new streaming instance. Specify a value between 60 and 360000.", + "Tags": "The tags to associate with the fleet. A tag is a key-value pair, and the value is optional. For example, Environment=Test. If you do not specify a value, Environment=. If you do not specify a value, the value is set to an empty string. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following special characters: _ . : / = + - @ For more information, see Tagging Your Resources in the Amazon AppStream 2.0 Administration Guide.", + "VpcConfig": "The VPC configuration for the fleet.", + "DomainJoinInfo": "The name of the directory and organizational unit (OU) to use to join the fleet to a Microsoft Active Directory domain. ", + "ImageArn": "The ARN of the public, private, or shared image to use.", + "IamRoleArn": "The Amazon Resource Name (ARN) of the IAM role to apply to the fleet. To assume a role, a fleet instance calls the AWS Security Token Service (STS) AssumeRole API operation and passes the ARN of the role to use. The operation creates a new session with temporary credentials. AppStream 2.0 retrieves the temporary credentials and creates the AppStream_Machine_Role credential profile on the instance. For more information, see Using an IAM Role to Grant Permissions to Applications and Scripts Running on AppStream 2.0 Streaming Instances in the Amazon AppStream 2.0 Administration Guide.", + "MaxUserDurationInSeconds": "The maximum amount of time that a streaming session can remain active, in seconds. If users are still connected to a streaming instance five minutes before this limit is reached, they are prompted to save any open documents before being disconnected. After this time elapses, the instance is terminated and replaced by a new instance. Specify a value between 600 and 360000.", + "IdleDisconnectTimeoutInSeconds": "The amount of time that users can be idle (inactive) before they are disconnected from their streaming session and the DisconnectTimeoutInSeconds time interval begins. Users are notified before they are disconnected due to inactivity. If they try to reconnect to the streaming session before the time interval specified in DisconnectTimeoutInSeconds elapses, they are connected to their previous session. Users are considered idle when they stop providing keyboard or mouse input during their streaming session. File uploads and downloads, audio in, audio out, and pixels changing do not qualify as user activity. If users continue to be idle after the time interval in IdleDisconnectTimeoutInSeconds elapses, they are disconnected. To prevent users from being disconnected due to inactivity, specify a value of 0. Otherwise, specify a value between 60 and 3600. The default value is 0. If you enable this feature, we recommend that you specify a value that corresponds exactly to a whole number of minutes (for example, 60, 120, and 180). If you don't do this, the value is rounded to the nearest minute. For example, if you specify a value of 70, users are disconnected after 1 minute of inactivity. If you specify a value that is at the midpoint between two different minutes, the value is rounded up. For example, if you specify a value of 90, users are disconnected after 2 minutes of inactivity. ", + "Description": "The description to display.", + "EnableDefaultInternetAccess": "Enables or disables default internet access for the fleet.", + "DisplayName": "The fleet name to display.", + "FleetType": "The fleet type. ALWAYS_ON Provides users with instant-on access to their apps. You are charged for all running instances in your fleet, even if no users are streaming apps. ON_DEMAND Provide users with access to applications after they connect, which takes one to two minutes. You are charged for instance streaming when users are connected and a small hourly fee for instances that are not streaming apps. " +} +""" +CreateFleet(args) = appstream("CreateFleet", args) + +""" + BatchAssociateUserStack() + +Associates the specified users with the specified stacks. Users in a user pool cannot be assigned to stacks with fleets that are joined to an Active Directory domain. + +Required Parameters +{ + "UserStackAssociations": "The list of UserStackAssociation objects." +} +""" +BatchAssociateUserStack(args) = appstream("BatchAssociateUserStack", args) + +""" + StopFleet() + +Stops the specified fleet. + +Required Parameters +{ + "Name": "The name of the fleet." +} +""" +StopFleet(args) = appstream("StopFleet", args) + +""" + DeleteStack() + +Deletes the specified stack. After the stack is deleted, the application streaming environment provided by the stack is no longer available to users. Also, any reservations made for application streaming sessions for the stack are released. + +Required Parameters +{ + "Name": "The name of the stack." +} +""" +DeleteStack(args) = appstream("DeleteStack", args) + +""" + CreateImageBuilder() + +Creates an image builder. An image builder is a virtual machine that is used to create an image. The initial state of the builder is PENDING. When it is ready, the state is RUNNING. + +Required Parameters +{ + "InstanceType": "The instance type to use when launching the image builder. The following instance types are available: stream.standard.medium stream.standard.large stream.compute.large stream.compute.xlarge stream.compute.2xlarge stream.compute.4xlarge stream.compute.8xlarge stream.memory.large stream.memory.xlarge stream.memory.2xlarge stream.memory.4xlarge stream.memory.8xlarge stream.graphics-design.large stream.graphics-design.xlarge stream.graphics-design.2xlarge stream.graphics-design.4xlarge stream.graphics-desktop.2xlarge stream.graphics-pro.4xlarge stream.graphics-pro.8xlarge stream.graphics-pro.16xlarge ", + "Name": "A unique name for the image builder." +} + +Optional Parameters +{ + "ImageName": "The name of the image used to create the image builder.", + "AccessEndpoints": "The list of interface VPC endpoint (interface endpoint) objects. Administrators can connect to the image builder only through the specified endpoints.", + "Tags": "The tags to associate with the image builder. A tag is a key-value pair, and the value is optional. For example, Environment=Test. If you do not specify a value, Environment=. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following special characters: _ . : / = + - @ If you do not specify a value, the value is set to an empty string. For more information about tags, see Tagging Your Resources in the Amazon AppStream 2.0 Administration Guide.", + "VpcConfig": "The VPC configuration for the image builder. You can specify only one subnet.", + "DomainJoinInfo": "The name of the directory and organizational unit (OU) to use to join the image builder to a Microsoft Active Directory domain. ", + "ImageArn": "The ARN of the public, private, or shared image to use.", + "IamRoleArn": "The Amazon Resource Name (ARN) of the IAM role to apply to the image builder. To assume a role, the image builder calls the AWS Security Token Service (STS) AssumeRole API operation and passes the ARN of the role to use. The operation creates a new session with temporary credentials. AppStream 2.0 retrieves the temporary credentials and creates the AppStream_Machine_Role credential profile on the instance. For more information, see Using an IAM Role to Grant Permissions to Applications and Scripts Running on AppStream 2.0 Streaming Instances in the Amazon AppStream 2.0 Administration Guide.", + "Description": "The description to display.", + "EnableDefaultInternetAccess": "Enables or disables default internet access for the image builder.", + "AppstreamAgentVersion": "The version of the AppStream 2.0 agent to use for this image builder. To use the latest version of the AppStream 2.0 agent, specify [LATEST]. ", + "DisplayName": "The image builder name to display." +} +""" +CreateImageBuilder(args) = appstream("CreateImageBuilder", args) + +""" + StartImageBuilder() + +Starts the specified image builder. + +Required Parameters +{ + "Name": "The name of the image builder." +} + +Optional Parameters +{ + "AppstreamAgentVersion": "The version of the AppStream 2.0 agent to use for this image builder. To use the latest version of the AppStream 2.0 agent, specify [LATEST]. " +} +""" +StartImageBuilder(args) = appstream("StartImageBuilder", args) + +""" + DeleteUser() + +Deletes a user from the user pool. + +Required Parameters +{ + "UserName": "The email address of the user. Users' email addresses are case-sensitive. ", + "AuthenticationType": "The authentication type for the user. You must specify USERPOOL." +} +""" +DeleteUser(args) = appstream("DeleteUser", args) + +""" + AssociateFleet() + +Associates the specified fleet with the specified stack. + +Required Parameters +{ + "FleetName": "The name of the fleet. ", + "StackName": "The name of the stack." +} +""" +AssociateFleet(args) = appstream("AssociateFleet", args) + +""" + UntagResource() + +Disassociates one or more specified tags from the specified AppStream 2.0 resource. To list the current tags for your resources, use ListTagsForResource. For more information about tags, see Tagging Your Resources in the Amazon AppStream 2.0 Administration Guide. + +Required Parameters +{ + "ResourceArn": "The Amazon Resource Name (ARN) of the resource.", + "TagKeys": "The tag keys for the tags to disassociate." +} +""" +UntagResource(args) = appstream("UntagResource", args) + +""" + ListAssociatedFleets() + +Retrieves the name of the fleet that is associated with the specified stack. + +Required Parameters +{ + "StackName": "The name of the stack." +} + +Optional Parameters +{ + "NextToken": "The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page." +} +""" +ListAssociatedFleets(args) = appstream("ListAssociatedFleets", args) + +""" + DescribeUsers() + +Retrieves a list that describes one or more specified users in the user pool. + +Required Parameters +{ + "AuthenticationType": "The authentication type for the users in the user pool to describe. You must specify USERPOOL." +} + +Optional Parameters +{ + "MaxResults": "The maximum size of each page of results.", + "NextToken": "The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page." +} +""" +DescribeUsers(args) = appstream("DescribeUsers", args) + +""" + ExpireSession() + +Immediately stops the specified streaming session. + +Required Parameters +{ + "SessionId": "The identifier of the streaming session." +} +""" +ExpireSession(args) = appstream("ExpireSession", args) + +""" + ListTagsForResource() + +Retrieves a list of all tags for the specified AppStream 2.0 resource. You can tag AppStream 2.0 image builders, images, fleets, and stacks. For more information about tags, see Tagging Your Resources in the Amazon AppStream 2.0 Administration Guide. + +Required Parameters +{ + "ResourceArn": "The Amazon Resource Name (ARN) of the resource." +} +""" +ListTagsForResource(args) = appstream("ListTagsForResource", args) + +""" + DescribeFleets() + +Retrieves a list that describes one or more specified fleets, if the fleet names are provided. Otherwise, all fleets in the account are described. + +Optional Parameters +{ + "Names": "The names of the fleets to describe.", + "NextToken": "The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page." +} +""" +DescribeFleets() = appstream("DescribeFleets") +DescribeFleets(args) = appstream("DescribeFleets", args) + +""" + StartFleet() + +Starts the specified fleet. + +Required Parameters +{ + "Name": "The name of the fleet." +} +""" +StartFleet(args) = appstream("StartFleet", args) + +""" + ListAssociatedStacks() + +Retrieves the name of the stack with which the specified fleet is associated. + +Required Parameters +{ + "FleetName": "The name of the fleet." +} + +Optional Parameters +{ + "NextToken": "The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page." +} +""" +ListAssociatedStacks(args) = appstream("ListAssociatedStacks", args) + +""" + DescribeUsageReportSubscriptions() + +Retrieves a list that describes one or more usage report subscriptions. + +Optional Parameters +{ + "MaxResults": "The maximum size of each page of results.", + "NextToken": "The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page." +} +""" +DescribeUsageReportSubscriptions() = appstream("DescribeUsageReportSubscriptions") +DescribeUsageReportSubscriptions(args) = appstream("DescribeUsageReportSubscriptions", args) + +""" + DescribeImagePermissions() + +Retrieves a list that describes the permissions for shared AWS account IDs on a private image that you own. + +Required Parameters +{ + "Name": "The name of the private image for which to describe permissions. The image must be one that you own. " +} + +Optional Parameters +{ + "MaxResults": "The maximum size of each page of results.", + "NextToken": "The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page.", + "SharedAwsAccountIds": "The 12-digit identifier of one or more AWS accounts with which the image is shared." +} +""" +DescribeImagePermissions(args) = appstream("DescribeImagePermissions", args) + +""" + DeleteFleet() + +Deletes the specified fleet. + +Required Parameters +{ + "Name": "The name of the fleet." +} +""" +DeleteFleet(args) = appstream("DeleteFleet", args) + +""" + DescribeUserStackAssociations() + +Retrieves a list that describes the UserStackAssociation objects. You must specify either or both of the following: The stack name The user name (email address of the user associated with the stack) and the authentication type for the user + +Optional Parameters +{ + "UserName": "The email address of the user who is associated with the stack. Users' email addresses are case-sensitive. ", + "MaxResults": "The maximum size of each page of results.", + "NextToken": "The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page.", + "StackName": "The name of the stack that is associated with the user.", + "AuthenticationType": "The authentication type for the user who is associated with the stack. You must specify USERPOOL." +} +""" +DescribeUserStackAssociations() = appstream("DescribeUserStackAssociations") +DescribeUserStackAssociations(args) = appstream("DescribeUserStackAssociations", args) + +""" + DescribeImageBuilders() + +Retrieves a list that describes one or more specified image builders, if the image builder names are provided. Otherwise, all image builders in the account are described. + +Optional Parameters +{ + "MaxResults": "The maximum size of each page of results.", + "Names": "The names of the image builders to describe.", + "NextToken": "The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page." +} +""" +DescribeImageBuilders() = appstream("DescribeImageBuilders") +DescribeImageBuilders(args) = appstream("DescribeImageBuilders", args) + +""" + DeleteImageBuilder() + +Deletes the specified image builder and releases the capacity. + +Required Parameters +{ + "Name": "The name of the image builder." +} +""" +DeleteImageBuilder(args) = appstream("DeleteImageBuilder", args) + +""" + DescribeImages() + +Retrieves a list that describes one or more specified images, if the image names or image ARNs are provided. Otherwise, all images in the account are described. + +Optional Parameters +{ + "MaxResults": "The maximum size of each page of results.", + "Names": "The names of the public or private images to describe.", + "Arns": "The ARNs of the public, private, and shared images to describe.", + "NextToken": "The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page.", + "Type": "The type of image (public, private, or shared) to describe. " +} +""" +DescribeImages() = appstream("DescribeImages") +DescribeImages(args) = appstream("DescribeImages", args) + +""" + DeleteDirectoryConfig() + +Deletes the specified Directory Config object from AppStream 2.0. This object includes the information required to join streaming instances to an Active Directory domain. + +Required Parameters +{ + "DirectoryName": "The name of the directory configuration." +} +""" +DeleteDirectoryConfig(args) = appstream("DeleteDirectoryConfig", args) + +""" + StopImageBuilder() + +Stops the specified image builder. + +Required Parameters +{ + "Name": "The name of the image builder." +} +""" +StopImageBuilder(args) = appstream("StopImageBuilder", args) + +""" + CreateStack() + +Creates a stack to start streaming applications to users. A stack consists of an associated fleet, user access policies, and storage configurations. + +Required Parameters +{ + "Name": "The name of the stack." +} + +Optional Parameters +{ + "FeedbackURL": "The URL that users are redirected to after they click the Send Feedback link. If no URL is specified, no Send Feedback link is displayed.", + "RedirectURL": "The URL that users are redirected to after their streaming session ends.", + "EmbedHostDomains": "The domains where AppStream 2.0 streaming sessions can be embedded in an iframe. You must approve the domains that you want to host embedded AppStream 2.0 streaming sessions.", + "AccessEndpoints": "The list of interface VPC endpoint (interface endpoint) objects. Users of the stack can connect to AppStream 2.0 only through the specified endpoints.", + "Tags": "The tags to associate with the stack. A tag is a key-value pair, and the value is optional. For example, Environment=Test. If you do not specify a value, Environment=. If you do not specify a value, the value is set to an empty string. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following special characters: _ . : / = + - @ For more information about tags, see Tagging Your Resources in the Amazon AppStream 2.0 Administration Guide.", + "UserSettings": "The actions that are enabled or disabled for users during their streaming sessions. By default, these actions are enabled. ", + "Description": "The description to display.", + "DisplayName": "The stack name to display.", + "ApplicationSettings": "The persistent application settings for users of a stack. When these settings are enabled, changes that users make to applications and Windows settings are automatically saved after each session and applied to the next session.", + "StorageConnectors": "The storage connectors to enable." +} +""" +CreateStack(args) = appstream("CreateStack", args) + +""" + CreateStreamingURL() + +Creates a temporary URL to start an AppStream 2.0 streaming session for the specified user. A streaming URL enables application streaming to be tested without user setup. + +Required Parameters +{ + "FleetName": "The name of the fleet.", + "UserId": "The identifier of the user.", + "StackName": "The name of the stack." +} + +Optional Parameters +{ + "ApplicationId": "The name of the application to launch after the session starts. This is the name that you specified as Name in the Image Assistant.", + "SessionContext": "The session context. For more information, see Session Context in the Amazon AppStream 2.0 Administration Guide.", + "Validity": "The time that the streaming URL will be valid, in seconds. Specify a value between 1 and 604800 seconds. The default is 60 seconds." +} +""" +CreateStreamingURL(args) = appstream("CreateStreamingURL", args) + +""" + UpdateStack() + +Updates the specified fields for the specified stack. + +Required Parameters +{ + "Name": "The name of the stack." +} + +Optional Parameters +{ + "EmbedHostDomains": "The domains where AppStream 2.0 streaming sessions can be embedded in an iframe. You must approve the domains that you want to host embedded AppStream 2.0 streaming sessions.", + "UserSettings": "The actions that are enabled or disabled for users during their streaming sessions. By default, these actions are enabled.", + "AttributesToDelete": "The stack attributes to delete.", + "RedirectURL": "The URL that users are redirected to after their streaming session ends.", + "AccessEndpoints": "The list of interface VPC endpoint (interface endpoint) objects. Users of the stack can connect to AppStream 2.0 only through the specified endpoints.", + "DeleteStorageConnectors": "Deletes the storage connectors currently enabled for the stack.", + "FeedbackURL": "The URL that users are redirected to after they choose the Send Feedback link. If no URL is specified, no Send Feedback link is displayed.", + "Description": "The description to display.", + "DisplayName": "The stack name to display.", + "ApplicationSettings": "The persistent application settings for users of a stack. When these settings are enabled, changes that users make to applications and Windows settings are automatically saved after each session and applied to the next session.", + "StorageConnectors": "The storage connectors to enable." +} +""" +UpdateStack(args) = appstream("UpdateStack", args) + +""" + DeleteUsageReportSubscription() + +Disables usage report generation. +""" +DeleteUsageReportSubscription() = appstream("DeleteUsageReportSubscription") +DeleteUsageReportSubscription(args) = appstream("DeleteUsageReportSubscription", args) + +""" + DeleteImagePermissions() + +Deletes permissions for the specified private image. After you delete permissions for an image, AWS accounts to which you previously granted these permissions can no longer use the image. + +Required Parameters +{ + "SharedAccountId": "The 12-digit identifier of the AWS account for which to delete image permissions.", + "Name": "The name of the private image." +} +""" +DeleteImagePermissions(args) = appstream("DeleteImagePermissions", args) + +""" + BatchDisassociateUserStack() + +Disassociates the specified users from the specified stacks. + +Required Parameters +{ + "UserStackAssociations": "The list of UserStackAssociation objects." +} +""" +BatchDisassociateUserStack(args) = appstream("BatchDisassociateUserStack", args) + +""" + DeleteImage() + +Deletes the specified image. You cannot delete an image when it is in use. After you delete an image, you cannot provision new capacity using the image. + +Required Parameters +{ + "Name": "The name of the image." +} +""" +DeleteImage(args) = appstream("DeleteImage", args) + +""" + UpdateImagePermissions() + +Adds or updates permissions for the specified private image. + +Required Parameters +{ + "SharedAccountId": "The 12-digit identifier of the AWS account for which you want add or update image permissions.", + "ImagePermissions": "The permissions for the image.", + "Name": "The name of the private image." +} +""" +UpdateImagePermissions(args) = appstream("UpdateImagePermissions", args) diff --git a/src/services/appsync.jl b/src/services/appsync.jl new file mode 100644 index 0000000000..3aa188bef4 --- /dev/null +++ b/src/services/appsync.jl @@ -0,0 +1,685 @@ +include("../AWSServices.jl") +using .AWSServices: appsync + +""" + ListTagsForResource() + +Lists the tags for a resource. + +Required Parameters +{ + "resourceArn": "The GraphqlApi ARN." +} +""" +ListTagsForResource(args) = appsync("GET", "/v1/tags/{resourceArn}", args) + +""" + UpdateFunction() + +Updates a Function object. + +Required Parameters +{ + "name": "The Function name.", + "apiId": "The GraphQL API ID.", + "dataSourceName": "The Function DataSource name.", + "functionVersion": "The version of the request mapping template. Currently the supported value is 2018-05-29. ", + "requestMappingTemplate": "The Function request mapping template. Functions support only the 2018-05-29 version of the request mapping template.", + "functionId": "The function ID." +} + +Optional Parameters +{ + "responseMappingTemplate": "The Function request mapping template. ", + "description": "The Function description." +} +""" +UpdateFunction(args) = appsync("POST", "/v1/apis/{apiId}/functions/{functionId}", args) + +""" + GetFunction() + +Get a Function. + +Required Parameters +{ + "apiId": "The GraphQL API ID.", + "functionId": "The Function ID." +} +""" +GetFunction(args) = appsync("GET", "/v1/apis/{apiId}/functions/{functionId}", args) + +""" + GetGraphqlApi() + +Retrieves a GraphqlApi object. + +Required Parameters +{ + "apiId": "The API ID for the GraphQL API." +} +""" +GetGraphqlApi(args) = appsync("GET", "/v1/apis/{apiId}", args) + +""" + DeleteResolver() + +Deletes a Resolver object. + +Required Parameters +{ + "typeName": "The name of the resolver type.", + "apiId": "The API ID.", + "fieldName": "The resolver field name." +} +""" +DeleteResolver(args) = appsync("DELETE", "/v1/apis/{apiId}/types/{typeName}/resolvers/{fieldName}", args) + +""" + FlushApiCache() + +Flushes an ApiCache object. + +Required Parameters +{ + "apiId": "The API ID." +} +""" +FlushApiCache(args) = appsync("DELETE", "/v1/apis/{apiId}/FlushCache", args) + +""" + ListTypes() + +Lists the types for a given API. + +Required Parameters +{ + "format": "The type format: SDL or JSON.", + "apiId": "The API ID." +} + +Optional Parameters +{ + "maxResults": "The maximum number of results you want the request to return.", + "nextToken": "An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list. " +} +""" +ListTypes(args) = appsync("GET", "/v1/apis/{apiId}/types", args) + +""" + DeleteDataSource() + +Deletes a DataSource object. + +Required Parameters +{ + "name": "The name of the data source.", + "apiId": "The API ID." +} +""" +DeleteDataSource(args) = appsync("DELETE", "/v1/apis/{apiId}/datasources/{name}", args) + +""" + DeleteGraphqlApi() + +Deletes a GraphqlApi object. + +Required Parameters +{ + "apiId": "The API ID." +} +""" +DeleteGraphqlApi(args) = appsync("DELETE", "/v1/apis/{apiId}", args) + +""" + UpdateResolver() + +Updates a Resolver object. + +Required Parameters +{ + "typeName": "The new type name.", + "apiId": "The API ID.", + "requestMappingTemplate": "The new request mapping template.", + "fieldName": "The new field name." +} + +Optional Parameters +{ + "kind": "The resolver type. UNIT: A UNIT resolver type. A UNIT resolver is the default resolver type. A UNIT resolver enables you to execute a GraphQL query against a single data source. PIPELINE: A PIPELINE resolver type. A PIPELINE resolver enables you to execute a series of Function in a serial manner. You can use a pipeline resolver to execute a GraphQL query against multiple data sources. ", + "syncConfig": "The SyncConfig for a resolver attached to a versioned datasource.", + "dataSourceName": "The new data source name.", + "responseMappingTemplate": "The new response mapping template.", + "pipelineConfig": "The PipelineConfig.", + "cachingConfig": "The caching configuration for the resolver." +} +""" +UpdateResolver(args) = appsync("POST", "/v1/apis/{apiId}/types/{typeName}/resolvers/{fieldName}", args) + +""" + CreateApiKey() + +Creates a unique key that you can distribute to clients who are executing your API. + +Required Parameters +{ + "apiId": "The ID for your GraphQL API." +} + +Optional Parameters +{ + "expires": "The time from creation time after which the API key expires. The date is represented as seconds since the epoch, rounded down to the nearest hour. The default value for this parameter is 7 days from creation time. For more information, see .", + "description": "A description of the purpose of the API key." +} +""" +CreateApiKey(args) = appsync("POST", "/v1/apis/{apiId}/apikeys", args) + +""" + CreateFunction() + +Creates a Function object. A function is a reusable entity. Multiple functions can be used to compose the resolver logic. + +Required Parameters +{ + "name": "The Function name. The function name does not have to be unique.", + "apiId": "The GraphQL API ID.", + "dataSourceName": "The Function DataSource name.", + "functionVersion": "The version of the request mapping template. Currently the supported value is 2018-05-29. ", + "requestMappingTemplate": "The Function request mapping template. Functions support only the 2018-05-29 version of the request mapping template." +} + +Optional Parameters +{ + "responseMappingTemplate": "The Function response mapping template. ", + "description": "The Function description." +} +""" +CreateFunction(args) = appsync("POST", "/v1/apis/{apiId}/functions", args) + +""" + CreateType() + +Creates a Type object. + +Required Parameters +{ + "format": "The type format: SDL or JSON.", + "apiId": "The API ID.", + "definition": "The type definition, in GraphQL Schema Definition Language (SDL) format. For more information, see the GraphQL SDL documentation." +} +""" +CreateType(args) = appsync("POST", "/v1/apis/{apiId}/types", args) + +""" + GetDataSource() + +Retrieves a DataSource object. + +Required Parameters +{ + "name": "The name of the data source.", + "apiId": "The API ID." +} +""" +GetDataSource(args) = appsync("GET", "/v1/apis/{apiId}/datasources/{name}", args) + +""" + DeleteApiCache() + +Deletes an ApiCache object. + +Required Parameters +{ + "apiId": "The API ID." +} +""" +DeleteApiCache(args) = appsync("DELETE", "/v1/apis/{apiId}/ApiCaches", args) + +""" + GetResolver() + +Retrieves a Resolver object. + +Required Parameters +{ + "typeName": "The resolver type name.", + "apiId": "The API ID.", + "fieldName": "The resolver field name." +} +""" +GetResolver(args) = appsync("GET", "/v1/apis/{apiId}/types/{typeName}/resolvers/{fieldName}", args) + +""" + ListApiKeys() + +Lists the API keys for a given API. API keys are deleted automatically sometime after they expire. However, they may still be included in the response until they have actually been deleted. You can safely call DeleteApiKey to manually delete a key before it's automatically deleted. + +Required Parameters +{ + "apiId": "The API ID." +} + +Optional Parameters +{ + "maxResults": "The maximum number of results you want the request to return.", + "nextToken": "An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list." +} +""" +ListApiKeys(args) = appsync("GET", "/v1/apis/{apiId}/apikeys", args) + +""" + GetApiCache() + +Retrieves an ApiCache object. + +Required Parameters +{ + "apiId": "The API ID." +} +""" +GetApiCache(args) = appsync("GET", "/v1/apis/{apiId}/ApiCaches", args) + +""" + ListResolvers() + +Lists the resolvers for a given API and type. + +Required Parameters +{ + "typeName": "The type name.", + "apiId": "The API ID." +} + +Optional Parameters +{ + "maxResults": "The maximum number of results you want the request to return.", + "nextToken": "An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list. " +} +""" +ListResolvers(args) = appsync("GET", "/v1/apis/{apiId}/types/{typeName}/resolvers", args) + +""" + StartSchemaCreation() + +Adds a new schema to your GraphQL API. This operation is asynchronous. Use to determine when it has completed. + +Required Parameters +{ + "apiId": "The API ID.", + "definition": "The schema definition, in GraphQL schema language format." +} +""" +StartSchemaCreation(args) = appsync("POST", "/v1/apis/{apiId}/schemacreation", args) + +""" + DeleteType() + +Deletes a Type object. + +Required Parameters +{ + "typeName": "The type name.", + "apiId": "The API ID." +} +""" +DeleteType(args) = appsync("DELETE", "/v1/apis/{apiId}/types/{typeName}", args) + +""" + ListDataSources() + +Lists the data sources for a given API. + +Required Parameters +{ + "apiId": "The API ID." +} + +Optional Parameters +{ + "maxResults": "The maximum number of results you want the request to return.", + "nextToken": "An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list. " +} +""" +ListDataSources(args) = appsync("GET", "/v1/apis/{apiId}/datasources", args) + +""" + TagResource() + +Tags a resource with user-supplied tags. + +Required Parameters +{ + "resourceArn": "The GraphqlApi ARN.", + "tags": "A TagMap object." +} +""" +TagResource(args) = appsync("POST", "/v1/tags/{resourceArn}", args) + +""" + UntagResource() + +Untags a resource. + +Required Parameters +{ + "resourceArn": "The GraphqlApi ARN.", + "tagKeys": "A list of TagKey objects." +} +""" +UntagResource(args) = appsync("DELETE", "/v1/tags/{resourceArn}", args) + +""" + UpdateApiKey() + +Updates an API key. + +Required Parameters +{ + "apiId": "The ID for the GraphQL API.", + "id": "The API key ID." +} + +Optional Parameters +{ + "expires": "The time from update time after which the API key expires. The date is represented as seconds since the epoch. For more information, see .", + "description": "A description of the purpose of the API key." +} +""" +UpdateApiKey(args) = appsync("POST", "/v1/apis/{apiId}/apikeys/{id}", args) + +""" + UpdateGraphqlApi() + +Updates a GraphqlApi object. + +Required Parameters +{ + "name": "The new name for the GraphqlApi object.", + "apiId": "The API ID." +} + +Optional Parameters +{ + "additionalAuthenticationProviders": "A list of additional authentication providers for the GraphqlApi API.", + "authenticationType": "The new authentication type for the GraphqlApi object.", + "xrayEnabled": "A flag indicating whether to enable X-Ray tracing for the GraphqlApi.", + "userPoolConfig": "The new Amazon Cognito user pool configuration for the GraphqlApi object.", + "logConfig": "The Amazon CloudWatch Logs configuration for the GraphqlApi object.", + "openIDConnectConfig": "The OpenID Connect configuration for the GraphqlApi object." +} +""" +UpdateGraphqlApi(args) = appsync("POST", "/v1/apis/{apiId}", args) + +""" + CreateApiCache() + +Creates a cache for the GraphQL API. + +Required Parameters +{ + "apiId": "The GraphQL API Id.", + "apiCachingBehavior": "Caching behavior. FULL_REQUEST_CACHING: All requests are fully cached. PER_RESOLVER_CACHING: Individual resovlers that you specify are cached. ", + "ttl": "TTL in seconds for cache entries. Valid values are between 1 and 3600 seconds.", + "type": "The cache instance type. T2_SMALL: A t2.small instance type. T2_MEDIUM: A t2.medium instance type. R4_LARGE: A r4.large instance type. R4_XLARGE: A r4.xlarge instance type. R4_2XLARGE: A r4.2xlarge instance type. R4_4XLARGE: A r4.4xlarge instance type. R4_8XLARGE: A r4.8xlarge instance type. " +} + +Optional Parameters +{ + "transitEncryptionEnabled": "Transit encryption flag when connecting to cache. This setting cannot be updated after creation.", + "atRestEncryptionEnabled": "At rest encryption flag for cache. This setting cannot be updated after creation." +} +""" +CreateApiCache(args) = appsync("POST", "/v1/apis/{apiId}/ApiCaches", args) + +""" + GetSchemaCreationStatus() + +Retrieves the current status of a schema creation operation. + +Required Parameters +{ + "apiId": "The API ID." +} +""" +GetSchemaCreationStatus(args) = appsync("GET", "/v1/apis/{apiId}/schemacreation", args) + +""" + CreateResolver() + +Creates a Resolver object. A resolver converts incoming requests into a format that a data source can understand and converts the data source's responses into GraphQL. + +Required Parameters +{ + "typeName": "The name of the Type.", + "apiId": "The ID for the GraphQL API for which the resolver is being created.", + "requestMappingTemplate": "The mapping template to be used for requests. A resolver uses a request mapping template to convert a GraphQL expression into a format that a data source can understand. Mapping templates are written in Apache Velocity Template Language (VTL).", + "fieldName": "The name of the field to attach the resolver to." +} + +Optional Parameters +{ + "kind": "The resolver type. UNIT: A UNIT resolver type. A UNIT resolver is the default resolver type. A UNIT resolver enables you to execute a GraphQL query against a single data source. PIPELINE: A PIPELINE resolver type. A PIPELINE resolver enables you to execute a series of Function in a serial manner. You can use a pipeline resolver to execute a GraphQL query against multiple data sources. ", + "syncConfig": "The SyncConfig for a resolver attached to a versioned datasource.", + "dataSourceName": "The name of the data source for which the resolver is being created.", + "responseMappingTemplate": "The mapping template to be used for responses from the data source.", + "pipelineConfig": "The PipelineConfig.", + "cachingConfig": "The caching configuration for the resolver." +} +""" +CreateResolver(args) = appsync("POST", "/v1/apis/{apiId}/types/{typeName}/resolvers", args) + +""" + CreateDataSource() + +Creates a DataSource object. + +Required Parameters +{ + "name": "A user-supplied name for the DataSource.", + "apiId": "The API ID for the GraphQL API for the DataSource.", + "type": "The type of the DataSource." +} + +Optional Parameters +{ + "relationalDatabaseConfig": "Relational database settings.", + "lambdaConfig": "AWS Lambda settings.", + "serviceRoleArn": "The AWS IAM service role ARN for the data source. The system assumes this role when accessing the data source.", + "dynamodbConfig": "Amazon DynamoDB settings.", + "httpConfig": "HTTP endpoint settings.", + "description": "A description of the DataSource.", + "elasticsearchConfig": "Amazon Elasticsearch Service settings." +} +""" +CreateDataSource(args) = appsync("POST", "/v1/apis/{apiId}/datasources", args) + +""" + GetIntrospectionSchema() + +Retrieves the introspection schema for a GraphQL API. + +Required Parameters +{ + "format": "The schema format: SDL or JSON.", + "apiId": "The API ID." +} + +Optional Parameters +{ + "includeDirectives": "A flag that specifies whether the schema introspection should contain directives." +} +""" +GetIntrospectionSchema(args) = appsync("GET", "/v1/apis/{apiId}/schema", args) + +""" + ListFunctions() + +List multiple functions. + +Required Parameters +{ + "apiId": "The GraphQL API ID." +} + +Optional Parameters +{ + "maxResults": "The maximum number of results you want the request to return.", + "nextToken": "An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list." +} +""" +ListFunctions(args) = appsync("GET", "/v1/apis/{apiId}/functions", args) + +""" + DeleteApiKey() + +Deletes an API key. + +Required Parameters +{ + "apiId": "The API ID.", + "id": "The ID for the API key." +} +""" +DeleteApiKey(args) = appsync("DELETE", "/v1/apis/{apiId}/apikeys/{id}", args) + +""" + DeleteFunction() + +Deletes a Function. + +Required Parameters +{ + "apiId": "The GraphQL API ID.", + "functionId": "The Function ID." +} +""" +DeleteFunction(args) = appsync("DELETE", "/v1/apis/{apiId}/functions/{functionId}", args) + +""" + ListResolversByFunction() + +List the resolvers that are associated with a specific function. + +Required Parameters +{ + "apiId": "The API ID.", + "functionId": "The Function ID." +} + +Optional Parameters +{ + "maxResults": "The maximum number of results you want the request to return.", + "nextToken": "An identifier that was returned from the previous call to this operation, which you can use to return the next set of items in the list." +} +""" +ListResolversByFunction(args) = appsync("GET", "/v1/apis/{apiId}/functions/{functionId}/resolvers", args) + +""" + UpdateApiCache() + +Updates the cache for the GraphQL API. + +Required Parameters +{ + "apiId": "The GraphQL API Id.", + "apiCachingBehavior": "Caching behavior. FULL_REQUEST_CACHING: All requests are fully cached. PER_RESOLVER_CACHING: Individual resovlers that you specify are cached. ", + "ttl": "TTL in seconds for cache entries. Valid values are between 1 and 3600 seconds.", + "type": "The cache instance type. T2_SMALL: A t2.small instance type. T2_MEDIUM: A t2.medium instance type. R4_LARGE: A r4.large instance type. R4_XLARGE: A r4.xlarge instance type. R4_2XLARGE: A r4.2xlarge instance type. R4_4XLARGE: A r4.4xlarge instance type. R4_8XLARGE: A r4.8xlarge instance type. " +} +""" +UpdateApiCache(args) = appsync("POST", "/v1/apis/{apiId}/ApiCaches/update", args) + +""" + ListGraphqlApis() + +Lists your GraphQL APIs. + +Optional Parameters +{ + "maxResults": "The maximum number of results you want the request to return.", + "nextToken": "An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list. " +} +""" +ListGraphqlApis() = appsync("GET", "/v1/apis") +ListGraphqlApis(args) = appsync("GET", "/v1/apis", args) + +""" + GetType() + +Retrieves a Type object. + +Required Parameters +{ + "typeName": "The type name.", + "format": "The type format: SDL or JSON.", + "apiId": "The API ID." +} +""" +GetType(args) = appsync("GET", "/v1/apis/{apiId}/types/{typeName}", args) + +""" + CreateGraphqlApi() + +Creates a GraphqlApi object. + +Required Parameters +{ + "name": "A user-supplied name for the GraphqlApi.", + "authenticationType": "The authentication type: API key, AWS IAM, OIDC, or Amazon Cognito user pools." +} + +Optional Parameters +{ + "additionalAuthenticationProviders": "A list of additional authentication providers for the GraphqlApi API.", + "xrayEnabled": "A flag indicating whether to enable X-Ray tracing for the GraphqlApi.", + "userPoolConfig": "The Amazon Cognito user pool configuration.", + "logConfig": "The Amazon CloudWatch Logs configuration.", + "tags": "A TagMap object.", + "openIDConnectConfig": "The OpenID Connect configuration." +} +""" +CreateGraphqlApi(args) = appsync("POST", "/v1/apis", args) + +""" + UpdateDataSource() + +Updates a DataSource object. + +Required Parameters +{ + "name": "The new name for the data source.", + "apiId": "The API ID.", + "type": "The new data source type." +} + +Optional Parameters +{ + "relationalDatabaseConfig": "The new relational database configuration.", + "lambdaConfig": "The new AWS Lambda configuration.", + "serviceRoleArn": "The new service role ARN for the data source.", + "dynamodbConfig": "The new Amazon DynamoDB configuration.", + "httpConfig": "The new HTTP endpoint configuration.", + "description": "The new description for the data source.", + "elasticsearchConfig": "The new Elasticsearch Service configuration." +} +""" +UpdateDataSource(args) = appsync("POST", "/v1/apis/{apiId}/datasources/{name}", args) + +""" + UpdateType() + +Updates a Type object. + +Required Parameters +{ + "typeName": "The new type name.", + "format": "The new type format: SDL or JSON.", + "apiId": "The API ID." +} + +Optional Parameters +{ + "definition": "The new definition." +} +""" +UpdateType(args) = appsync("POST", "/v1/apis/{apiId}/types/{typeName}", args) diff --git a/src/services/athena.jl b/src/services/athena.jl new file mode 100644 index 0000000000..0b0cc0745e --- /dev/null +++ b/src/services/athena.jl @@ -0,0 +1,288 @@ +include("../AWSServices.jl") +using .AWSServices: athena + +""" + ListTagsForResource() + +Lists the tags associated with this workgroup. + +Required Parameters +{ + "ResourceARN": "Lists the tags for the workgroup resource with the specified ARN." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of results to be returned per request that lists the tags for the workgroup resource.", + "NextToken": "The token for the next set of results, or null if there are no additional results for this request, where the request lists the tags for the workgroup resource with the specified ARN." +} +""" +ListTagsForResource(args) = athena("ListTagsForResource", args) + +""" + GetQueryResults() + +Streams the results of a single query execution specified by QueryExecutionId from the Athena query results location in Amazon S3. For more information, see Query Results in the Amazon Athena User Guide. This request does not execute the query but returns results. Use StartQueryExecution to run a query. To stream query results successfully, the IAM principal with permission to call GetQueryResults also must have permissions to the Amazon S3 GetObject action for the Athena query results location. IAM principals with permission to the Amazon S3 GetObject action for the query results location are able to retrieve query results from Amazon S3 even if permission to the GetQueryResults action is denied. To restrict user or role access, ensure that Amazon S3 permissions to the Athena query location are denied. + +Required Parameters +{ + "QueryExecutionId": "The unique ID of the query execution." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of results (rows) to return in this request.", + "NextToken": "The token that specifies where to start pagination if a previous request was truncated." +} +""" +GetQueryResults(args) = athena("GetQueryResults", args) + +""" + StartQueryExecution() + +Runs the SQL query statements contained in the Query. Requires you to have access to the workgroup in which the query ran. For code samples using the AWS SDK for Java, see Examples and Code Samples in the Amazon Athena User Guide. + +Required Parameters +{ + "QueryString": "The SQL query statements to be executed." +} + +Optional Parameters +{ + "ResultConfiguration": "Specifies information about where and how to save the results of the query execution. If the query runs in a workgroup, then workgroup's settings may override query settings. This affects the query results location. The workgroup settings override is specified in EnforceWorkGroupConfiguration (true/false) in the WorkGroupConfiguration. See WorkGroupConfiguration EnforceWorkGroupConfiguration.", + "ClientRequestToken": "A unique case-sensitive string used to ensure the request to create the query is idempotent (executes only once). If another StartQueryExecution request is received, the same response is returned and another query is not created. If a parameter has changed, for example, the QueryString, an error is returned. This token is listed as not required because AWS SDKs (for example the AWS SDK for Java) auto-generate the token for users. If you are not using the AWS SDK or the AWS CLI, you must provide this token or the action will fail. ", + "QueryExecutionContext": "The database within which the query executes.", + "WorkGroup": "The name of the workgroup in which the query is being started." +} +""" +StartQueryExecution(args) = athena("StartQueryExecution", args) + +""" + StopQueryExecution() + +Stops a query execution. Requires you to have access to the workgroup in which the query ran. For code samples using the AWS SDK for Java, see Examples and Code Samples in the Amazon Athena User Guide. + +Required Parameters +{ + "QueryExecutionId": "The unique ID of the query execution to stop." +} +""" +StopQueryExecution(args) = athena("StopQueryExecution", args) + +""" + UpdateWorkGroup() + +Updates the workgroup with the specified name. The workgroup's name cannot be changed. + +Required Parameters +{ + "WorkGroup": "The specified workgroup that will be updated." +} + +Optional Parameters +{ + "Description": "The workgroup description.", + "ConfigurationUpdates": "The workgroup configuration that will be updated for the given workgroup.", + "State": "The workgroup state that will be updated for the given workgroup." +} +""" +UpdateWorkGroup(args) = athena("UpdateWorkGroup", args) + +""" + BatchGetQueryExecution() + +Returns the details of a single query execution or a list of up to 50 query executions, which you provide as an array of query execution ID strings. Requires you to have access to the workgroup in which the queries ran. To get a list of query execution IDs, use ListQueryExecutionsInput WorkGroup. Query executions differ from named (saved) queries. Use BatchGetNamedQueryInput to get details about named queries. + +Required Parameters +{ + "QueryExecutionIds": "An array of query execution IDs." +} +""" +BatchGetQueryExecution(args) = athena("BatchGetQueryExecution", args) + +""" + DeleteNamedQuery() + +Deletes the named query if you have access to the workgroup in which the query was saved. For code samples using the AWS SDK for Java, see Examples and Code Samples in the Amazon Athena User Guide. + +Required Parameters +{ + "NamedQueryId": "The unique ID of the query to delete." +} +""" +DeleteNamedQuery(args) = athena("DeleteNamedQuery", args) + +""" + ListQueryExecutions() + +Provides a list of available query execution IDs for the queries in the specified workgroup. If a workgroup is not specified, returns a list of query execution IDs for the primary workgroup. Requires you to have access to the workgroup in which the queries ran. For code samples using the AWS SDK for Java, see Examples and Code Samples in the Amazon Athena User Guide. + +Optional Parameters +{ + "MaxResults": "The maximum number of query executions to return in this request.", + "NextToken": "The token that specifies where to start pagination if a previous request was truncated.", + "WorkGroup": "The name of the workgroup from which queries are returned. If a workgroup is not specified, a list of available query execution IDs for the queries in the primary workgroup is returned." +} +""" +ListQueryExecutions() = athena("ListQueryExecutions") +ListQueryExecutions(args) = athena("ListQueryExecutions", args) + +""" + CreateWorkGroup() + +Creates a workgroup with the specified name. + +Required Parameters +{ + "Name": "The workgroup name." +} + +Optional Parameters +{ + "Configuration": "The configuration for the workgroup, which includes the location in Amazon S3 where query results are stored, the encryption configuration, if any, used for encrypting query results, whether the Amazon CloudWatch Metrics are enabled for the workgroup, the limit for the amount of bytes scanned (cutoff) per query, if it is specified, and whether workgroup's settings (specified with EnforceWorkGroupConfiguration) in the WorkGroupConfiguration override client-side settings. See WorkGroupConfiguration EnforceWorkGroupConfiguration.", + "Description": "The workgroup description.", + "Tags": "One or more tags, separated by commas, that you want to attach to the workgroup as you create it." +} +""" +CreateWorkGroup(args) = athena("CreateWorkGroup", args) + +""" + CreateNamedQuery() + +Creates a named query in the specified workgroup. Requires that you have access to the workgroup. For code samples using the AWS SDK for Java, see Examples and Code Samples in the Amazon Athena User Guide. + +Required Parameters +{ + "Database": "The database to which the query belongs.", + "Name": "The query name.", + "QueryString": "The contents of the query with all query statements." +} + +Optional Parameters +{ + "Description": "The query description.", + "ClientRequestToken": "A unique case-sensitive string used to ensure the request to create the query is idempotent (executes only once). If another CreateNamedQuery request is received, the same response is returned and another query is not created. If a parameter has changed, for example, the QueryString, an error is returned. This token is listed as not required because AWS SDKs (for example the AWS SDK for Java) auto-generate the token for users. If you are not using the AWS SDK or the AWS CLI, you must provide this token or the action will fail. ", + "WorkGroup": "The name of the workgroup in which the named query is being created." +} +""" +CreateNamedQuery(args) = athena("CreateNamedQuery", args) + +""" + TagResource() + +Adds one or more tags to the resource, such as a workgroup. A tag is a label that you assign to an AWS Athena resource (a workgroup). Each tag consists of a key and an optional value, both of which you define. Tags enable you to categorize resources (workgroups) in Athena, for example, by purpose, owner, or environment. Use a consistent set of tag keys to make it easier to search and filter workgroups in your account. For best practices, see AWS Tagging Strategies. The key length is from 1 (minimum) to 128 (maximum) Unicode characters in UTF-8. The tag value length is from 0 (minimum) to 256 (maximum) Unicode characters in UTF-8. You can use letters and numbers representable in UTF-8, and the following characters: + - = . _ : / @. Tag keys and values are case-sensitive. Tag keys must be unique per resource. If you specify more than one, separate them by commas. + +Required Parameters +{ + "ResourceARN": "Requests that one or more tags are added to the resource (such as a workgroup) for the specified ARN.", + "Tags": "One or more tags, separated by commas, to be added to the resource, such as a workgroup." +} +""" +TagResource(args) = athena("TagResource", args) + +""" + UntagResource() + +Removes one or more tags from the workgroup resource. Takes as an input a list of TagKey Strings separated by commas, and removes their tags at the same time. + +Required Parameters +{ + "ResourceARN": "Removes one or more tags from the workgroup resource for the specified ARN.", + "TagKeys": "Removes the tags associated with one or more tag keys from the workgroup resource." +} +""" +UntagResource(args) = athena("UntagResource", args) + +""" + ListWorkGroups() + +Lists available workgroups for the account. + +Optional Parameters +{ + "MaxResults": "The maximum number of workgroups to return in this request.", + "NextToken": "A token to be used by the next request if this request is truncated." +} +""" +ListWorkGroups() = athena("ListWorkGroups") +ListWorkGroups(args) = athena("ListWorkGroups", args) + +""" + GetQueryExecution() + +Returns information about a single execution of a query if you have access to the workgroup in which the query ran. Each time a query executes, information about the query execution is saved with a unique ID. + +Required Parameters +{ + "QueryExecutionId": "The unique ID of the query execution." +} +""" +GetQueryExecution(args) = athena("GetQueryExecution", args) + +""" + DeleteWorkGroup() + +Deletes the workgroup with the specified name. The primary workgroup cannot be deleted. + +Required Parameters +{ + "WorkGroup": "The unique name of the workgroup to delete." +} + +Optional Parameters +{ + "RecursiveDeleteOption": "The option to delete the workgroup and its contents even if the workgroup contains any named queries." +} +""" +DeleteWorkGroup(args) = athena("DeleteWorkGroup", args) + +""" + GetWorkGroup() + +Returns information about the workgroup with the specified name. + +Required Parameters +{ + "WorkGroup": "The name of the workgroup." +} +""" +GetWorkGroup(args) = athena("GetWorkGroup", args) + +""" + BatchGetNamedQuery() + +Returns the details of a single named query or a list of up to 50 queries, which you provide as an array of query ID strings. Requires you to have access to the workgroup in which the queries were saved. Use ListNamedQueriesInput to get the list of named query IDs in the specified workgroup. If information could not be retrieved for a submitted query ID, information about the query ID submitted is listed under UnprocessedNamedQueryId. Named queries differ from executed queries. Use BatchGetQueryExecutionInput to get details about each unique query execution, and ListQueryExecutionsInput to get a list of query execution IDs. + +Required Parameters +{ + "NamedQueryIds": "An array of query IDs." +} +""" +BatchGetNamedQuery(args) = athena("BatchGetNamedQuery", args) + +""" + ListNamedQueries() + +Provides a list of available query IDs only for queries saved in the specified workgroup. Requires that you have access to the workgroup. If a workgroup is not specified, lists the saved queries for the primary workgroup. For code samples using the AWS SDK for Java, see Examples and Code Samples in the Amazon Athena User Guide. + +Optional Parameters +{ + "MaxResults": "The maximum number of queries to return in this request.", + "NextToken": "The token that specifies where to start pagination if a previous request was truncated.", + "WorkGroup": "The name of the workgroup from which the named queries are returned. If a workgroup is not specified, the saved queries for the primary workgroup are returned." +} +""" +ListNamedQueries() = athena("ListNamedQueries") +ListNamedQueries(args) = athena("ListNamedQueries", args) + +""" + GetNamedQuery() + +Returns information about a single query. Requires that you have access to the workgroup in which the query was saved. + +Required Parameters +{ + "NamedQueryId": "The unique ID of the query. Use ListNamedQueries to get query IDs." +} +""" +GetNamedQuery(args) = athena("GetNamedQuery", args) diff --git a/src/services/auto_scaling.jl b/src/services/auto_scaling.jl new file mode 100644 index 0000000000..688da1fe56 --- /dev/null +++ b/src/services/auto_scaling.jl @@ -0,0 +1,876 @@ +include("../AWSServices.jl") +using .AWSServices: auto_scaling + +""" + DescribeScheduledActions() + +Describes the actions scheduled for your Auto Scaling group that haven't run or that have not reached their end time. To describe the actions that have already run, use DescribeScalingActivities. + +Optional Parameters +{ + "StartTime": "The earliest scheduled start time to return. If scheduled action names are provided, this parameter is ignored.", + "MaxRecords": "The maximum number of items to return with this call. The default value is 50 and the maximum value is 100.", + "NextToken": "The token for the next set of items to return. (You received this token from a previous call.)", + "EndTime": "The latest scheduled start time to return. If scheduled action names are provided, this parameter is ignored.", + "ScheduledActionNames": "The names of one or more scheduled actions. You can specify up to 50 actions. If you omit this parameter, all scheduled actions are described. If you specify an unknown scheduled action, it is ignored with no error.", + "AutoScalingGroupName": "The name of the Auto Scaling group." +} +""" +DescribeScheduledActions() = auto_scaling("DescribeScheduledActions") +DescribeScheduledActions(args) = auto_scaling("DescribeScheduledActions", args) + +""" + TerminateInstanceInAutoScalingGroup() + +Terminates the specified instance and optionally adjusts the desired group size. This call simply makes a termination request. The instance is not terminated immediately. When an instance is terminated, the instance status changes to terminated. You can't connect to or start an instance after you've terminated it. If you do not specify the option to decrement the desired capacity, Amazon EC2 Auto Scaling launches instances to replace the ones that are terminated. By default, Amazon EC2 Auto Scaling balances instances across all Availability Zones. If you decrement the desired capacity, your Auto Scaling group can become unbalanced between Availability Zones. Amazon EC2 Auto Scaling tries to rebalance the group, and rebalancing might terminate instances in other zones. For more information, see Rebalancing Activities in the Amazon EC2 Auto Scaling User Guide. + +Required Parameters +{ + "InstanceId": "The ID of the instance.", + "ShouldDecrementDesiredCapacity": "Indicates whether terminating the instance also decrements the size of the Auto Scaling group." +} +""" +TerminateInstanceInAutoScalingGroup(args) = auto_scaling("TerminateInstanceInAutoScalingGroup", args) + +""" + DescribeLoadBalancers() + +Describes the load balancers for the specified Auto Scaling group. This operation describes only Classic Load Balancers. If you have Application Load Balancers or Network Load Balancers, use DescribeLoadBalancerTargetGroups instead. + +Required Parameters +{ + "AutoScalingGroupName": "The name of the Auto Scaling group." +} + +Optional Parameters +{ + "MaxRecords": "The maximum number of items to return with this call. The default value is 100 and the maximum value is 100.", + "NextToken": "The token for the next set of items to return. (You received this token from a previous call.)" +} +""" +DescribeLoadBalancers(args) = auto_scaling("DescribeLoadBalancers", args) + +""" + BatchPutScheduledUpdateGroupAction() + +Creates or updates one or more scheduled scaling actions for an Auto Scaling group. If you leave a parameter unspecified when updating a scheduled scaling action, the corresponding value remains unchanged. + +Required Parameters +{ + "ScheduledUpdateGroupActions": "One or more scheduled actions. The maximum number allowed is 50.", + "AutoScalingGroupName": "The name of the Auto Scaling group." +} +""" +BatchPutScheduledUpdateGroupAction(args) = auto_scaling("BatchPutScheduledUpdateGroupAction", args) + +""" + PutLifecycleHook() + +Creates or updates a lifecycle hook for the specified Auto Scaling group. A lifecycle hook tells Amazon EC2 Auto Scaling to perform an action on an instance when the instance launches (before it is put into service) or as the instance terminates (before it is fully terminated). This step is a part of the procedure for adding a lifecycle hook to an Auto Scaling group: (Optional) Create a Lambda function and a rule that allows CloudWatch Events to invoke your Lambda function when Amazon EC2 Auto Scaling launches or terminates instances. (Optional) Create a notification target and an IAM role. The target can be either an Amazon SQS queue or an Amazon SNS topic. The role allows Amazon EC2 Auto Scaling to publish lifecycle notifications to the target. Create the lifecycle hook. Specify whether the hook is used when the instances launch or terminate. If you need more time, record the lifecycle action heartbeat to keep the instance in a pending state using RecordLifecycleActionHeartbeat. If you finish before the timeout period ends, complete the lifecycle action using CompleteLifecycleAction. For more information, see Amazon EC2 Auto Scaling Lifecycle Hooks in the Amazon EC2 Auto Scaling User Guide. If you exceed your maximum limit of lifecycle hooks, which by default is 50 per Auto Scaling group, the call fails. You can view the lifecycle hooks for an Auto Scaling group using DescribeLifecycleHooks. If you are no longer using a lifecycle hook, you can delete it using DeleteLifecycleHook. + +Required Parameters +{ + "LifecycleHookName": "The name of the lifecycle hook.", + "AutoScalingGroupName": "The name of the Auto Scaling group." +} + +Optional Parameters +{ + "NotificationTargetARN": "The ARN of the notification target that Amazon EC2 Auto Scaling uses to notify you when an instance is in the transition state for the lifecycle hook. This target can be either an SQS queue or an SNS topic. If you specify an empty string, this overrides the current ARN. This operation uses the JSON format when sending notifications to an Amazon SQS queue, and an email key-value pair format when sending notifications to an Amazon SNS topic. When you specify a notification target, Amazon EC2 Auto Scaling sends it a test message. Test messages contain the following additional key-value pair: \"Event\": \"autoscaling:TEST_NOTIFICATION\".", + "DefaultResult": "Defines the action the Auto Scaling group should take when the lifecycle hook timeout elapses or if an unexpected failure occurs. This parameter can be either CONTINUE or ABANDON. The default value is ABANDON.", + "NotificationMetadata": "Additional information that you want to include any time Amazon EC2 Auto Scaling sends a message to the notification target.", + "HeartbeatTimeout": "The maximum time, in seconds, that can elapse before the lifecycle hook times out. The range is from 30 to 7200 seconds. The default value is 3600 seconds (1 hour). If the lifecycle hook times out, Amazon EC2 Auto Scaling performs the action that you specified in the DefaultResult parameter. You can prevent the lifecycle hook from timing out by calling RecordLifecycleActionHeartbeat.", + "RoleARN": "The ARN of the IAM role that allows the Auto Scaling group to publish to the specified notification target, for example, an Amazon SNS topic or an Amazon SQS queue. Conditional: This parameter is required for new lifecycle hooks, but optional when updating existing hooks.", + "LifecycleTransition": "The instance state to which you want to attach the lifecycle hook. The valid values are: autoscaling:EC2_INSTANCE_LAUNCHING autoscaling:EC2_INSTANCE_TERMINATING Conditional: This parameter is required for new lifecycle hooks, but optional when updating existing hooks." +} +""" +PutLifecycleHook(args) = auto_scaling("PutLifecycleHook", args) + +""" + BatchDeleteScheduledAction() + +Deletes one or more scheduled actions for the specified Auto Scaling group. + +Required Parameters +{ + "ScheduledActionNames": "The names of the scheduled actions to delete. The maximum number allowed is 50. ", + "AutoScalingGroupName": "The name of the Auto Scaling group." +} +""" +BatchDeleteScheduledAction(args) = auto_scaling("BatchDeleteScheduledAction", args) + +""" + CreateAutoScalingGroup() + +Creates an Auto Scaling group with the specified name and attributes. If you exceed your maximum limit of Auto Scaling groups, the call fails. For information about viewing this limit, see DescribeAccountLimits. For information about updating this limit, see Amazon EC2 Auto Scaling Service Quotas in the Amazon EC2 Auto Scaling User Guide. + +Required Parameters +{ + "AutoScalingGroupName": "The name of the Auto Scaling group. This name must be unique per Region per account.", + "MaxSize": "The maximum size of the group.", + "MinSize": "The minimum size of the group." +} + +Optional Parameters +{ + "DefaultCooldown": "The amount of time, in seconds, after a scaling activity completes before another scaling activity can start. The default value is 300. For more information, see Scaling Cooldowns in the Amazon EC2 Auto Scaling User Guide.", + "MixedInstancesPolicy": "An embedded object that specifies a mixed instances policy. The required parameters must be specified. If optional parameters are unspecified, their default values are used. The policy includes parameters that not only define the distribution of On-Demand Instances and Spot Instances, the maximum price to pay for Spot Instances, and how the Auto Scaling group allocates instance types to fulfill On-Demand and Spot capacity, but also the parameters that specify the instance configuration information—the launch template and instance types. For more information, see MixedInstancesPolicy in the Amazon EC2 Auto Scaling API Reference and Auto Scaling Groups with Multiple Instance Types and Purchase Options in the Amazon EC2 Auto Scaling User Guide. You must specify one of the following parameters in your request: LaunchConfigurationName, LaunchTemplate, InstanceId, or MixedInstancesPolicy.", + "MaxInstanceLifetime": "The maximum amount of time, in seconds, that an instance can be in service. For more information, see Replacing Auto Scaling Instances Based on Maximum Instance Lifetime in the Amazon EC2 Auto Scaling User Guide. Valid Range: Minimum value of 604800.", + "AvailabilityZones": "One or more Availability Zones for the group. This parameter is optional if you specify one or more subnets for VPCZoneIdentifier. Conditional: If your account supports EC2-Classic and VPC, this parameter is required to launch instances into EC2-Classic.", + "LifecycleHookSpecificationList": "One or more lifecycle hooks.", + "DesiredCapacity": "The number of Amazon EC2 instances that the Auto Scaling group attempts to maintain. This number must be greater than or equal to the minimum size of the group and less than or equal to the maximum size of the group. If you do not specify a desired capacity, the default is the minimum size of the group.", + "Tags": "One or more tags. For more information, see Tagging Auto Scaling Groups and Instances in the Amazon EC2 Auto Scaling User Guide.", + "InstanceId": "The ID of the instance used to create a launch configuration for the group. When you specify an ID of an instance, Amazon EC2 Auto Scaling creates a new launch configuration and associates it with the group. This launch configuration derives its attributes from the specified instance, except for the block device mapping. For more information, see Create an Auto Scaling Group Using an EC2 Instance in the Amazon EC2 Auto Scaling User Guide. You must specify one of the following parameters in your request: LaunchConfigurationName, LaunchTemplate, InstanceId, or MixedInstancesPolicy.", + "LaunchTemplate": "The launch template to use to launch instances. For more information, see LaunchTemplateSpecification in the Amazon EC2 Auto Scaling API Reference. If you do not specify LaunchTemplate, you must specify one of the following parameters: InstanceId, LaunchConfigurationName, or MixedInstancesPolicy.", + "PlacementGroup": "The name of the placement group into which to launch your instances, if any. A placement group is a logical grouping of instances within a single Availability Zone. You cannot specify multiple Availability Zones and a placement group. For more information, see Placement Groups in the Amazon EC2 User Guide for Linux Instances.", + "ServiceLinkedRoleARN": "The Amazon Resource Name (ARN) of the service-linked role that the Auto Scaling group uses to call other AWS services on your behalf. By default, Amazon EC2 Auto Scaling uses a service-linked role named AWSServiceRoleForAutoScaling, which it creates if it does not exist. For more information, see Service-Linked Roles in the Amazon EC2 Auto Scaling User Guide.", + "LoadBalancerNames": "A list of Classic Load Balancers associated with this Auto Scaling group. For Application Load Balancers and Network Load Balancers, specify a list of target groups using the TargetGroupARNs property instead. For more information, see Using a Load Balancer with an Auto Scaling Group in the Amazon EC2 Auto Scaling User Guide.", + "LaunchConfigurationName": "The name of the launch configuration. If you do not specify LaunchConfigurationName, you must specify one of the following parameters: InstanceId, LaunchTemplate, or MixedInstancesPolicy.", + "HealthCheckType": "The service to use for the health checks. The valid values are EC2 and ELB. The default value is EC2. If you configure an Auto Scaling group to use ELB health checks, it considers the instance unhealthy if it fails either the EC2 status checks or the load balancer health checks. For more information, see Health Checks for Auto Scaling Instances in the Amazon EC2 Auto Scaling User Guide.", + "NewInstancesProtectedFromScaleIn": "Indicates whether newly launched instances are protected from termination by Amazon EC2 Auto Scaling when scaling in. For more information about preventing instances from terminating on scale in, see Instance Protection in the Amazon EC2 Auto Scaling User Guide.", + "HealthCheckGracePeriod": "The amount of time, in seconds, that Amazon EC2 Auto Scaling waits before checking the health status of an EC2 instance that has come into service. During this time, any health check failures for the instance are ignored. The default value is 0. For more information, see Health Check Grace Period in the Amazon EC2 Auto Scaling User Guide. Conditional: This parameter is required if you are adding an ELB health check.", + "VPCZoneIdentifier": "A comma-separated list of subnet IDs for your virtual private cloud (VPC). If you specify VPCZoneIdentifier with AvailabilityZones, the subnets that you specify for this parameter must reside in those Availability Zones. Conditional: If your account supports EC2-Classic and VPC, this parameter is required to launch instances into a VPC.", + "TerminationPolicies": "One or more termination policies used to select the instance to terminate. These policies are executed in the order that they are listed. For more information, see Controlling Which Instances Auto Scaling Terminates During Scale In in the Amazon EC2 Auto Scaling User Guide.", + "TargetGroupARNs": "The Amazon Resource Names (ARN) of the target groups to associate with the Auto Scaling group. Instances are registered as targets in a target group, and traffic is routed to the target group. For more information, see Using a Load Balancer with an Auto Scaling Group in the Amazon EC2 Auto Scaling User Guide." +} +""" +CreateAutoScalingGroup(args) = auto_scaling("CreateAutoScalingGroup", args) + +""" + DeleteScheduledAction() + +Deletes the specified scheduled action. + +Required Parameters +{ + "ScheduledActionName": "The name of the action to delete.", + "AutoScalingGroupName": "The name of the Auto Scaling group." +} +""" +DeleteScheduledAction(args) = auto_scaling("DeleteScheduledAction", args) + +""" + ExecutePolicy() + +Executes the specified policy. + +Required Parameters +{ + "PolicyName": "The name or ARN of the policy." +} + +Optional Parameters +{ + "MetricValue": "The metric value to compare to BreachThreshold. This enables you to execute a policy of type StepScaling and determine which step adjustment to use. For example, if the breach threshold is 50 and you want to use a step adjustment with a lower bound of 0 and an upper bound of 10, you can set the metric value to 59. If you specify a metric value that doesn't correspond to a step adjustment for the policy, the call returns an error. Conditional: This parameter is required if the policy type is StepScaling and not supported otherwise.", + "HonorCooldown": "Indicates whether Amazon EC2 Auto Scaling waits for the cooldown period to complete before executing the policy. This parameter is not supported if the policy type is StepScaling or TargetTrackingScaling. For more information, see Scaling Cooldowns in the Amazon EC2 Auto Scaling User Guide.", + "AutoScalingGroupName": "The name of the Auto Scaling group.", + "BreachThreshold": "The breach threshold for the alarm. Conditional: This parameter is required if the policy type is StepScaling and not supported otherwise." +} +""" +ExecutePolicy(args) = auto_scaling("ExecutePolicy", args) + +""" + DescribeAutoScalingInstances() + +Describes one or more Auto Scaling instances. + +Optional Parameters +{ + "InstanceIds": "The IDs of the instances. You can specify up to MaxRecords IDs. If you omit this parameter, all Auto Scaling instances are described. If you specify an ID that does not exist, it is ignored with no error.", + "MaxRecords": "The maximum number of items to return with this call. The default value is 50 and the maximum value is 50.", + "NextToken": "The token for the next set of items to return. (You received this token from a previous call.)" +} +""" +DescribeAutoScalingInstances() = auto_scaling("DescribeAutoScalingInstances") +DescribeAutoScalingInstances(args) = auto_scaling("DescribeAutoScalingInstances", args) + +""" + RecordLifecycleActionHeartbeat() + +Records a heartbeat for the lifecycle action associated with the specified token or instance. This extends the timeout by the length of time defined using PutLifecycleHook. This step is a part of the procedure for adding a lifecycle hook to an Auto Scaling group: (Optional) Create a Lambda function and a rule that allows CloudWatch Events to invoke your Lambda function when Amazon EC2 Auto Scaling launches or terminates instances. (Optional) Create a notification target and an IAM role. The target can be either an Amazon SQS queue or an Amazon SNS topic. The role allows Amazon EC2 Auto Scaling to publish lifecycle notifications to the target. Create the lifecycle hook. Specify whether the hook is used when the instances launch or terminate. If you need more time, record the lifecycle action heartbeat to keep the instance in a pending state. If you finish before the timeout period ends, complete the lifecycle action. For more information, see Auto Scaling Lifecycle in the Amazon EC2 Auto Scaling User Guide. + +Required Parameters +{ + "LifecycleHookName": "The name of the lifecycle hook.", + "AutoScalingGroupName": "The name of the Auto Scaling group." +} + +Optional Parameters +{ + "LifecycleActionToken": "A token that uniquely identifies a specific lifecycle action associated with an instance. Amazon EC2 Auto Scaling sends this token to the notification target that you specified when you created the lifecycle hook.", + "InstanceId": "The ID of the instance." +} +""" +RecordLifecycleActionHeartbeat(args) = auto_scaling("RecordLifecycleActionHeartbeat", args) + +""" + ResumeProcesses() + +Resumes the specified suspended automatic scaling processes, or all suspended process, for the specified Auto Scaling group. For more information, see Suspending and Resuming Scaling Processes in the Amazon EC2 Auto Scaling User Guide. + +Required Parameters +{ + "AutoScalingGroupName": "The name of the Auto Scaling group." +} + +Optional Parameters +{ + "ScalingProcesses": "One or more of the following processes. If you omit this parameter, all processes are specified. Launch Terminate HealthCheck ReplaceUnhealthy AZRebalance AlarmNotification ScheduledActions AddToLoadBalancer " +} +""" +ResumeProcesses(args) = auto_scaling("ResumeProcesses", args) + +""" + DetachLoadBalancerTargetGroups() + +Detaches one or more target groups from the specified Auto Scaling group. + +Required Parameters +{ + "TargetGroupARNs": "The Amazon Resource Names (ARN) of the target groups. You can specify up to 10 target groups.", + "AutoScalingGroupName": "The name of the Auto Scaling group." +} +""" +DetachLoadBalancerTargetGroups(args) = auto_scaling("DetachLoadBalancerTargetGroups", args) + +""" + AttachLoadBalancers() + +Attaches one or more Classic Load Balancers to the specified Auto Scaling group. To attach an Application Load Balancer or a Network Load Balancer instead, see AttachLoadBalancerTargetGroups. To describe the load balancers for an Auto Scaling group, use DescribeLoadBalancers. To detach the load balancer from the Auto Scaling group, use DetachLoadBalancers. For more information, see Attaching a Load Balancer to Your Auto Scaling Group in the Amazon EC2 Auto Scaling User Guide. + +Required Parameters +{ + "AutoScalingGroupName": "The name of the Auto Scaling group.", + "LoadBalancerNames": "The names of the load balancers. You can specify up to 10 load balancers." +} +""" +AttachLoadBalancers(args) = auto_scaling("AttachLoadBalancers", args) + +""" + DescribeLaunchConfigurations() + +Describes one or more launch configurations. + +Optional Parameters +{ + "MaxRecords": "The maximum number of items to return with this call. The default value is 50 and the maximum value is 100.", + "NextToken": "The token for the next set of items to return. (You received this token from a previous call.)", + "LaunchConfigurationNames": "The launch configuration names. If you omit this parameter, all launch configurations are described." +} +""" +DescribeLaunchConfigurations() = auto_scaling("DescribeLaunchConfigurations") +DescribeLaunchConfigurations(args) = auto_scaling("DescribeLaunchConfigurations", args) + +""" + DeletePolicy() + +Deletes the specified scaling policy. Deleting either a step scaling policy or a simple scaling policy deletes the underlying alarm action, but does not delete the alarm, even if it no longer has an associated action. For more information, see Deleting a Scaling Policy in the Amazon EC2 Auto Scaling User Guide. + +Required Parameters +{ + "PolicyName": "The name or Amazon Resource Name (ARN) of the policy." +} + +Optional Parameters +{ + "AutoScalingGroupName": "The name of the Auto Scaling group." +} +""" +DeletePolicy(args) = auto_scaling("DeletePolicy", args) + +""" + DescribeAutoScalingNotificationTypes() + +Describes the notification types that are supported by Amazon EC2 Auto Scaling. +""" +DescribeAutoScalingNotificationTypes() = auto_scaling("DescribeAutoScalingNotificationTypes") +DescribeAutoScalingNotificationTypes(args) = auto_scaling("DescribeAutoScalingNotificationTypes", args) + +""" + DisableMetricsCollection() + +Disables group metrics for the specified Auto Scaling group. + +Required Parameters +{ + "AutoScalingGroupName": "The name of the Auto Scaling group." +} + +Optional Parameters +{ + "Metrics": "One or more of the following metrics. If you omit this parameter, all metrics are disabled. GroupMinSize GroupMaxSize GroupDesiredCapacity GroupInServiceInstances GroupPendingInstances GroupStandbyInstances GroupTerminatingInstances GroupTotalInstances " +} +""" +DisableMetricsCollection(args) = auto_scaling("DisableMetricsCollection", args) + +""" + DeleteLaunchConfiguration() + +Deletes the specified launch configuration. The launch configuration must not be attached to an Auto Scaling group. When this call completes, the launch configuration is no longer available for use. + +Required Parameters +{ + "LaunchConfigurationName": "The name of the launch configuration." +} +""" +DeleteLaunchConfiguration(args) = auto_scaling("DeleteLaunchConfiguration", args) + +""" + PutNotificationConfiguration() + +Configures an Auto Scaling group to send notifications when specified events take place. Subscribers to the specified topic can have messages delivered to an endpoint such as a web server or an email address. This configuration overwrites any existing configuration. For more information, see Getting Amazon SNS Notifications When Your Auto Scaling Group Scales in the Amazon EC2 Auto Scaling User Guide. + +Required Parameters +{ + "TopicARN": "The Amazon Resource Name (ARN) of the Amazon Simple Notification Service (Amazon SNS) topic.", + "NotificationTypes": "The type of event that causes the notification to be sent. For more information about notification types supported by Amazon EC2 Auto Scaling, see DescribeAutoScalingNotificationTypes.", + "AutoScalingGroupName": "The name of the Auto Scaling group." +} +""" +PutNotificationConfiguration(args) = auto_scaling("PutNotificationConfiguration", args) + +""" + DescribePolicies() + +Describes the policies for the specified Auto Scaling group. + +Optional Parameters +{ + "PolicyNames": "The names of one or more policies. If you omit this parameter, all policies are described. If a group name is provided, the results are limited to that group. This list is limited to 50 items. If you specify an unknown policy name, it is ignored with no error.", + "MaxRecords": "The maximum number of items to be returned with each call. The default value is 50 and the maximum value is 100.", + "NextToken": "The token for the next set of items to return. (You received this token from a previous call.)", + "PolicyTypes": "One or more policy types. The valid values are SimpleScaling, StepScaling, and TargetTrackingScaling.", + "AutoScalingGroupName": "The name of the Auto Scaling group." +} +""" +DescribePolicies() = auto_scaling("DescribePolicies") +DescribePolicies(args) = auto_scaling("DescribePolicies", args) + +""" + CreateOrUpdateTags() + +Creates or updates tags for the specified Auto Scaling group. When you specify a tag with a key that already exists, the operation overwrites the previous tag definition, and you do not get an error message. For more information, see Tagging Auto Scaling Groups and Instances in the Amazon EC2 Auto Scaling User Guide. + +Required Parameters +{ + "Tags": "One or more tags." +} +""" +CreateOrUpdateTags(args) = auto_scaling("CreateOrUpdateTags", args) + +""" + DescribeAdjustmentTypes() + +Describes the policy adjustment types for use with PutScalingPolicy. +""" +DescribeAdjustmentTypes() = auto_scaling("DescribeAdjustmentTypes") +DescribeAdjustmentTypes(args) = auto_scaling("DescribeAdjustmentTypes", args) + +""" + DeleteTags() + +Deletes the specified tags. + +Required Parameters +{ + "Tags": "One or more tags." +} +""" +DeleteTags(args) = auto_scaling("DeleteTags", args) + +""" + EnableMetricsCollection() + +Enables group metrics for the specified Auto Scaling group. For more information, see Monitoring Your Auto Scaling Groups and Instances in the Amazon EC2 Auto Scaling User Guide. + +Required Parameters +{ + "AutoScalingGroupName": "The name of the Auto Scaling group.", + "Granularity": "The granularity to associate with the metrics to collect. The only valid value is 1Minute." +} + +Optional Parameters +{ + "Metrics": "One or more of the following metrics. If you omit this parameter, all metrics are enabled. GroupMinSize GroupMaxSize GroupDesiredCapacity GroupInServiceInstances GroupPendingInstances GroupStandbyInstances GroupTerminatingInstances GroupTotalInstances " +} +""" +EnableMetricsCollection(args) = auto_scaling("EnableMetricsCollection", args) + +""" + DeleteAutoScalingGroup() + +Deletes the specified Auto Scaling group. If the group has instances or scaling activities in progress, you must specify the option to force the deletion in order for it to succeed. If the group has policies, deleting the group deletes the policies, the underlying alarm actions, and any alarm that no longer has an associated action. To remove instances from the Auto Scaling group before deleting it, call DetachInstances with the list of instances and the option to decrement the desired capacity. This ensures that Amazon EC2 Auto Scaling does not launch replacement instances. To terminate all instances before deleting the Auto Scaling group, call UpdateAutoScalingGroup and set the minimum size and desired capacity of the Auto Scaling group to zero. + +Required Parameters +{ + "AutoScalingGroupName": "The name of the Auto Scaling group." +} + +Optional Parameters +{ + "ForceDelete": "Specifies that the group is to be deleted along with all instances associated with the group, without waiting for all instances to be terminated. This parameter also deletes any lifecycle actions associated with the group." +} +""" +DeleteAutoScalingGroup(args) = auto_scaling("DeleteAutoScalingGroup", args) + +""" + SuspendProcesses() + +Suspends the specified automatic scaling processes, or all processes, for the specified Auto Scaling group. If you suspend either the Launch or Terminate process types, it can prevent other process types from functioning properly. To resume processes that have been suspended, use ResumeProcesses. For more information, see Suspending and Resuming Scaling Processes in the Amazon EC2 Auto Scaling User Guide. + +Required Parameters +{ + "AutoScalingGroupName": "The name of the Auto Scaling group." +} + +Optional Parameters +{ + "ScalingProcesses": "One or more of the following processes. If you omit this parameter, all processes are specified. Launch Terminate HealthCheck ReplaceUnhealthy AZRebalance AlarmNotification ScheduledActions AddToLoadBalancer " +} +""" +SuspendProcesses(args) = auto_scaling("SuspendProcesses", args) + +""" + DescribeAccountLimits() + +Describes the current Amazon EC2 Auto Scaling resource quotas for your AWS account. For information about requesting an increase, see Amazon EC2 Auto Scaling Service Quotas in the Amazon EC2 Auto Scaling User Guide. +""" +DescribeAccountLimits() = auto_scaling("DescribeAccountLimits") +DescribeAccountLimits(args) = auto_scaling("DescribeAccountLimits", args) + +""" + DescribeLifecycleHooks() + +Describes the lifecycle hooks for the specified Auto Scaling group. + +Required Parameters +{ + "AutoScalingGroupName": "The name of the Auto Scaling group." +} + +Optional Parameters +{ + "LifecycleHookNames": "The names of one or more lifecycle hooks. If you omit this parameter, all lifecycle hooks are described." +} +""" +DescribeLifecycleHooks(args) = auto_scaling("DescribeLifecycleHooks", args) + +""" + DescribeLoadBalancerTargetGroups() + +Describes the target groups for the specified Auto Scaling group. + +Required Parameters +{ + "AutoScalingGroupName": "The name of the Auto Scaling group." +} + +Optional Parameters +{ + "MaxRecords": "The maximum number of items to return with this call. The default value is 100 and the maximum value is 100.", + "NextToken": "The token for the next set of items to return. (You received this token from a previous call.)" +} +""" +DescribeLoadBalancerTargetGroups(args) = auto_scaling("DescribeLoadBalancerTargetGroups", args) + +""" + AttachInstances() + +Attaches one or more EC2 instances to the specified Auto Scaling group. When you attach instances, Amazon EC2 Auto Scaling increases the desired capacity of the group by the number of instances being attached. If the number of instances being attached plus the desired capacity of the group exceeds the maximum size of the group, the operation fails. If there is a Classic Load Balancer attached to your Auto Scaling group, the instances are also registered with the load balancer. If there are target groups attached to your Auto Scaling group, the instances are also registered with the target groups. For more information, see Attach EC2 Instances to Your Auto Scaling Group in the Amazon EC2 Auto Scaling User Guide. + +Required Parameters +{ + "AutoScalingGroupName": "The name of the Auto Scaling group." +} + +Optional Parameters +{ + "InstanceIds": "The IDs of the instances. You can specify up to 20 instances." +} +""" +AttachInstances(args) = auto_scaling("AttachInstances", args) + +""" + AttachLoadBalancerTargetGroups() + +Attaches one or more target groups to the specified Auto Scaling group. To describe the target groups for an Auto Scaling group, use DescribeLoadBalancerTargetGroups. To detach the target group from the Auto Scaling group, use DetachLoadBalancerTargetGroups. With Application Load Balancers and Network Load Balancers, instances are registered as targets with a target group. With Classic Load Balancers, instances are registered with the load balancer. For more information, see Attaching a Load Balancer to Your Auto Scaling Group in the Amazon EC2 Auto Scaling User Guide. + +Required Parameters +{ + "TargetGroupARNs": "The Amazon Resource Names (ARN) of the target groups. You can specify up to 10 target groups.", + "AutoScalingGroupName": "The name of the Auto Scaling group." +} +""" +AttachLoadBalancerTargetGroups(args) = auto_scaling("AttachLoadBalancerTargetGroups", args) + +""" + UpdateAutoScalingGroup() + +Updates the configuration for the specified Auto Scaling group. To update an Auto Scaling group, specify the name of the group and the parameter that you want to change. Any parameters that you don't specify are not changed by this update request. The new settings take effect on any scaling activities after this call returns. If you associate a new launch configuration or template with an Auto Scaling group, all new instances will get the updated configuration. Existing instances continue to run with the configuration that they were originally launched with. When you update a group to specify a mixed instances policy instead of a launch configuration or template, existing instances may be replaced to match the new purchasing options that you specified in the policy. For example, if the group currently has 100% On-Demand capacity and the policy specifies 50% Spot capacity, this means that half of your instances will be gradually terminated and relaunched as Spot Instances. When replacing instances, Amazon EC2 Auto Scaling launches new instances before terminating the old ones, so that updating your group does not compromise the performance or availability of your application. Note the following about changing DesiredCapacity, MaxSize, or MinSize: If a scale-in event occurs as a result of a new DesiredCapacity value that is lower than the current size of the group, the Auto Scaling group uses its termination policy to determine which instances to terminate. If you specify a new value for MinSize without specifying a value for DesiredCapacity, and the new MinSize is larger than the current size of the group, this sets the group's DesiredCapacity to the new MinSize value. If you specify a new value for MaxSize without specifying a value for DesiredCapacity, and the new MaxSize is smaller than the current size of the group, this sets the group's DesiredCapacity to the new MaxSize value. To see which parameters have been set, use DescribeAutoScalingGroups. You can also view the scaling policies for an Auto Scaling group using DescribePolicies. If the group has scaling policies, you can update them using PutScalingPolicy. + +Required Parameters +{ + "AutoScalingGroupName": "The name of the Auto Scaling group." +} + +Optional Parameters +{ + "DefaultCooldown": "The amount of time, in seconds, after a scaling activity completes before another scaling activity can start. The default value is 300. This cooldown period is not used when a scaling-specific cooldown is specified. Cooldown periods are not supported for target tracking scaling policies, step scaling policies, or scheduled scaling. For more information, see Scaling Cooldowns in the Amazon EC2 Auto Scaling User Guide.", + "MixedInstancesPolicy": "An embedded object that specifies a mixed instances policy. In your call to UpdateAutoScalingGroup, you can make changes to the policy that is specified. All optional parameters are left unchanged if not specified. For more information, see MixedInstancesPolicy in the Amazon EC2 Auto Scaling API Reference and Auto Scaling Groups with Multiple Instance Types and Purchase Options in the Amazon EC2 Auto Scaling User Guide.", + "MaxSize": "The maximum size of the Auto Scaling group.", + "MaxInstanceLifetime": "The maximum amount of time, in seconds, that an instance can be in service. For more information, see Replacing Auto Scaling Instances Based on Maximum Instance Lifetime in the Amazon EC2 Auto Scaling User Guide. Valid Range: Minimum value of 604800.", + "AvailabilityZones": "One or more Availability Zones for the group.", + "DesiredCapacity": "The number of EC2 instances that should be running in the Auto Scaling group. This number must be greater than or equal to the minimum size of the group and less than or equal to the maximum size of the group.", + "LaunchTemplate": "The launch template and version to use to specify the updates. If you specify LaunchTemplate in your update request, you can't specify LaunchConfigurationName or MixedInstancesPolicy. For more information, see LaunchTemplateSpecification in the Amazon EC2 Auto Scaling API Reference.", + "ServiceLinkedRoleARN": "The Amazon Resource Name (ARN) of the service-linked role that the Auto Scaling group uses to call other AWS services on your behalf. For more information, see Service-Linked Roles in the Amazon EC2 Auto Scaling User Guide.", + "PlacementGroup": "The name of the placement group into which to launch your instances, if any. A placement group is a logical grouping of instances within a single Availability Zone. You cannot specify multiple Availability Zones and a placement group. For more information, see Placement Groups in the Amazon EC2 User Guide for Linux Instances.", + "HealthCheckType": "The service to use for the health checks. The valid values are EC2 and ELB. If you configure an Auto Scaling group to use ELB health checks, it considers the instance unhealthy if it fails either the EC2 status checks or the load balancer health checks.", + "LaunchConfigurationName": "The name of the launch configuration. If you specify LaunchConfigurationName in your update request, you can't specify LaunchTemplate or MixedInstancesPolicy.", + "NewInstancesProtectedFromScaleIn": "Indicates whether newly launched instances are protected from termination by Amazon EC2 Auto Scaling when scaling in. For more information about preventing instances from terminating on scale in, see Instance Protection in the Amazon EC2 Auto Scaling User Guide.", + "HealthCheckGracePeriod": "The amount of time, in seconds, that Amazon EC2 Auto Scaling waits before checking the health status of an EC2 instance that has come into service. The default value is 0. For more information, see Health Check Grace Period in the Amazon EC2 Auto Scaling User Guide. Conditional: This parameter is required if you are adding an ELB health check.", + "VPCZoneIdentifier": "A comma-separated list of subnet IDs for virtual private cloud (VPC). If you specify VPCZoneIdentifier with AvailabilityZones, the subnets that you specify for this parameter must reside in those Availability Zones.", + "TerminationPolicies": "A standalone termination policy or a list of termination policies used to select the instance to terminate. The policies are executed in the order that they are listed. For more information, see Controlling Which Instances Auto Scaling Terminates During Scale In in the Amazon EC2 Auto Scaling User Guide.", + "MinSize": "The minimum size of the Auto Scaling group." +} +""" +UpdateAutoScalingGroup(args) = auto_scaling("UpdateAutoScalingGroup", args) + +""" + DescribeMetricCollectionTypes() + +Describes the available CloudWatch metrics for Amazon EC2 Auto Scaling. The GroupStandbyInstances metric is not returned by default. You must explicitly request this metric when calling EnableMetricsCollection. +""" +DescribeMetricCollectionTypes() = auto_scaling("DescribeMetricCollectionTypes") +DescribeMetricCollectionTypes(args) = auto_scaling("DescribeMetricCollectionTypes", args) + +""" + DescribeScalingActivities() + +Describes one or more scaling activities for the specified Auto Scaling group. + +Optional Parameters +{ + "MaxRecords": "The maximum number of items to return with this call. The default value is 100 and the maximum value is 100.", + "NextToken": "The token for the next set of items to return. (You received this token from a previous call.)", + "AutoScalingGroupName": "The name of the Auto Scaling group.", + "ActivityIds": "The activity IDs of the desired scaling activities. You can specify up to 50 IDs. If you omit this parameter, all activities for the past six weeks are described. If unknown activities are requested, they are ignored with no error. If you specify an Auto Scaling group, the results are limited to that group." +} +""" +DescribeScalingActivities() = auto_scaling("DescribeScalingActivities") +DescribeScalingActivities(args) = auto_scaling("DescribeScalingActivities", args) + +""" + DeleteLifecycleHook() + +Deletes the specified lifecycle hook. If there are any outstanding lifecycle actions, they are completed first (ABANDON for launching instances, CONTINUE for terminating instances). + +Required Parameters +{ + "LifecycleHookName": "The name of the lifecycle hook.", + "AutoScalingGroupName": "The name of the Auto Scaling group." +} +""" +DeleteLifecycleHook(args) = auto_scaling("DeleteLifecycleHook", args) + +""" + DescribeTags() + +Describes the specified tags. You can use filters to limit the results. For example, you can query for the tags for a specific Auto Scaling group. You can specify multiple values for a filter. A tag must match at least one of the specified values for it to be included in the results. You can also specify multiple filters. The result includes information for a particular tag only if it matches all the filters. If there's no match, no special message is returned. + +Optional Parameters +{ + "MaxRecords": "The maximum number of items to return with this call. The default value is 50 and the maximum value is 100.", + "NextToken": "The token for the next set of items to return. (You received this token from a previous call.)", + "Filters": "One or more filters to scope the tags to return. The maximum number of filters per filter type (for example, auto-scaling-group) is 1000." +} +""" +DescribeTags() = auto_scaling("DescribeTags") +DescribeTags(args) = auto_scaling("DescribeTags", args) + +""" + DescribeTerminationPolicyTypes() + +Describes the termination policies supported by Amazon EC2 Auto Scaling. For more information, see Controlling Which Auto Scaling Instances Terminate During Scale In in the Amazon EC2 Auto Scaling User Guide. +""" +DescribeTerminationPolicyTypes() = auto_scaling("DescribeTerminationPolicyTypes") +DescribeTerminationPolicyTypes(args) = auto_scaling("DescribeTerminationPolicyTypes", args) + +""" + DetachInstances() + +Removes one or more instances from the specified Auto Scaling group. After the instances are detached, you can manage them independent of the Auto Scaling group. If you do not specify the option to decrement the desired capacity, Amazon EC2 Auto Scaling launches instances to replace the ones that are detached. If there is a Classic Load Balancer attached to the Auto Scaling group, the instances are deregistered from the load balancer. If there are target groups attached to the Auto Scaling group, the instances are deregistered from the target groups. For more information, see Detach EC2 Instances from Your Auto Scaling Group in the Amazon EC2 Auto Scaling User Guide. + +Required Parameters +{ + "ShouldDecrementDesiredCapacity": "Indicates whether the Auto Scaling group decrements the desired capacity value by the number of instances detached.", + "AutoScalingGroupName": "The name of the Auto Scaling group." +} + +Optional Parameters +{ + "InstanceIds": "The IDs of the instances. You can specify up to 20 instances." +} +""" +DetachInstances(args) = auto_scaling("DetachInstances", args) + +""" + PutScheduledUpdateGroupAction() + +Creates or updates a scheduled scaling action for an Auto Scaling group. If you leave a parameter unspecified when updating a scheduled scaling action, the corresponding value remains unchanged. For more information, see Scheduled Scaling in the Amazon EC2 Auto Scaling User Guide. + +Required Parameters +{ + "ScheduledActionName": "The name of this scaling action.", + "AutoScalingGroupName": "The name of the Auto Scaling group." +} + +Optional Parameters +{ + "StartTime": "The date and time for this action to start, in YYYY-MM-DDThh:mm:ssZ format in UTC/GMT only and in quotes (for example, \"2019-06-01T00:00:00Z\"). If you specify Recurrence and StartTime, Amazon EC2 Auto Scaling performs the action at this time, and then performs the action based on the specified recurrence. If you try to schedule your action in the past, Amazon EC2 Auto Scaling returns an error message.", + "Recurrence": "The recurring schedule for this action, in Unix cron syntax format. This format consists of five fields separated by white spaces: [Minute] [Hour] [Day_of_Month] [Month_of_Year] [Day_of_Week]. The value must be in quotes (for example, \"30 0 1 1,6,12 *\"). For more information about this format, see Crontab. When StartTime and EndTime are specified with Recurrence, they form the boundaries of when the recurring action starts and stops.", + "EndTime": "The date and time for the recurring schedule to end. Amazon EC2 Auto Scaling does not perform the action after this time.", + "DesiredCapacity": "The number of EC2 instances that should be running in the Auto Scaling group.", + "Time": "This parameter is no longer used.", + "MaxSize": "The maximum number of instances in the Auto Scaling group.", + "MinSize": "The minimum number of instances in the Auto Scaling group." +} +""" +PutScheduledUpdateGroupAction(args) = auto_scaling("PutScheduledUpdateGroupAction", args) + +""" + PutScalingPolicy() + +Creates or updates a scaling policy for an Auto Scaling group. For more information about using scaling policies to scale your Auto Scaling group automatically, see Dynamic Scaling in the Amazon EC2 Auto Scaling User Guide. + +Required Parameters +{ + "PolicyName": "The name of the policy.", + "AutoScalingGroupName": "The name of the Auto Scaling group." +} + +Optional Parameters +{ + "StepAdjustments": "A set of adjustments that enable you to scale based on the size of the alarm breach. Conditional: If you specify StepScaling for the policy type, you must specify this parameter. (Not used with any other policy type.) ", + "MetricAggregationType": "The aggregation type for the CloudWatch metrics. The valid values are Minimum, Maximum, and Average. If the aggregation type is null, the value is treated as Average. Valid only if the policy type is StepScaling.", + "ScalingAdjustment": "The amount by which a simple scaling policy scales the Auto Scaling group in response to an alarm breach. The adjustment is based on the value that you specified in the AdjustmentType parameter (either an absolute number or a percentage). A positive value adds to the current capacity and a negative value subtracts from the current capacity. For exact capacity, you must specify a positive value. Conditional: If you specify SimpleScaling for the policy type, you must specify this parameter. (Not used with any other policy type.) ", + "TargetTrackingConfiguration": "A target tracking scaling policy. Includes support for predefined or customized metrics. For more information, see TargetTrackingConfiguration in the Amazon EC2 Auto Scaling API Reference. Conditional: If you specify TargetTrackingScaling for the policy type, you must specify this parameter. (Not used with any other policy type.) ", + "EstimatedInstanceWarmup": "The estimated time, in seconds, until a newly launched instance can contribute to the CloudWatch metrics. The default is to use the value specified for the default cooldown period for the group. Valid only if the policy type is StepScaling or TargetTrackingScaling.", + "Cooldown": "The amount of time, in seconds, after a scaling activity completes before any further dynamic scaling activities can start. If this parameter is not specified, the default cooldown period for the group applies. Valid only if the policy type is SimpleScaling. For more information, see Scaling Cooldowns in the Amazon EC2 Auto Scaling User Guide.", + "MinAdjustmentMagnitude": "The minimum number of instances to scale. If the value of AdjustmentType is PercentChangeInCapacity, the scaling policy changes the DesiredCapacity of the Auto Scaling group by at least this many instances. Otherwise, the error is ValidationError. This property replaces the MinAdjustmentStep property. For example, suppose that you create a step scaling policy to scale out an Auto Scaling group by 25 percent and you specify a MinAdjustmentMagnitude of 2. If the group has 4 instances and the scaling policy is performed, 25 percent of 4 is 1. However, because you specified a MinAdjustmentMagnitude of 2, Amazon EC2 Auto Scaling scales out the group by 2 instances. Valid only if the policy type is SimpleScaling or StepScaling.", + "MinAdjustmentStep": "Available for backward compatibility. Use MinAdjustmentMagnitude instead.", + "PolicyType": "The policy type. The valid values are SimpleScaling, StepScaling, and TargetTrackingScaling. If the policy type is null, the value is treated as SimpleScaling.", + "AdjustmentType": "Specifies whether the ScalingAdjustment parameter is an absolute number or a percentage of the current capacity. The valid values are ChangeInCapacity, ExactCapacity, and PercentChangeInCapacity. Valid only if the policy type is StepScaling or SimpleScaling. For more information, see Scaling Adjustment Types in the Amazon EC2 Auto Scaling User Guide.", + "Enabled": "Indicates whether the scaling policy is enabled or disabled. The default is enabled. For more information, see Disabling a Scaling Policy for an Auto Scaling Group in the Amazon EC2 Auto Scaling User Guide." +} +""" +PutScalingPolicy(args) = auto_scaling("PutScalingPolicy", args) + +""" + ExitStandby() + +Moves the specified instances out of the standby state. After you put the instances back in service, the desired capacity is incremented. For more information, see Temporarily Removing Instances from Your Auto Scaling Group in the Amazon EC2 Auto Scaling User Guide. + +Required Parameters +{ + "AutoScalingGroupName": "The name of the Auto Scaling group." +} + +Optional Parameters +{ + "InstanceIds": "The IDs of the instances. You can specify up to 20 instances." +} +""" +ExitStandby(args) = auto_scaling("ExitStandby", args) + +""" + DescribeScalingProcessTypes() + +Describes the scaling process types for use with ResumeProcesses and SuspendProcesses. +""" +DescribeScalingProcessTypes() = auto_scaling("DescribeScalingProcessTypes") +DescribeScalingProcessTypes(args) = auto_scaling("DescribeScalingProcessTypes", args) + +""" + CompleteLifecycleAction() + +Completes the lifecycle action for the specified token or instance with the specified result. This step is a part of the procedure for adding a lifecycle hook to an Auto Scaling group: (Optional) Create a Lambda function and a rule that allows CloudWatch Events to invoke your Lambda function when Amazon EC2 Auto Scaling launches or terminates instances. (Optional) Create a notification target and an IAM role. The target can be either an Amazon SQS queue or an Amazon SNS topic. The role allows Amazon EC2 Auto Scaling to publish lifecycle notifications to the target. Create the lifecycle hook. Specify whether the hook is used when the instances launch or terminate. If you need more time, record the lifecycle action heartbeat to keep the instance in a pending state. If you finish before the timeout period ends, complete the lifecycle action. For more information, see Amazon EC2 Auto Scaling Lifecycle Hooks in the Amazon EC2 Auto Scaling User Guide. + +Required Parameters +{ + "LifecycleHookName": "The name of the lifecycle hook.", + "AutoScalingGroupName": "The name of the Auto Scaling group.", + "LifecycleActionResult": "The action for the group to take. This parameter can be either CONTINUE or ABANDON." +} + +Optional Parameters +{ + "LifecycleActionToken": "A universally unique identifier (UUID) that identifies a specific lifecycle action associated with an instance. Amazon EC2 Auto Scaling sends this token to the notification target you specified when you created the lifecycle hook.", + "InstanceId": "The ID of the instance." +} +""" +CompleteLifecycleAction(args) = auto_scaling("CompleteLifecycleAction", args) + +""" + SetInstanceProtection() + +Updates the instance protection settings of the specified instances. For more information about preventing instances that are part of an Auto Scaling group from terminating on scale in, see Instance Protection in the Amazon EC2 Auto Scaling User Guide. + +Required Parameters +{ + "InstanceIds": "One or more instance IDs.", + "AutoScalingGroupName": "The name of the Auto Scaling group.", + "ProtectedFromScaleIn": "Indicates whether the instance is protected from termination by Amazon EC2 Auto Scaling when scaling in." +} +""" +SetInstanceProtection(args) = auto_scaling("SetInstanceProtection", args) + +""" + SetDesiredCapacity() + +Sets the size of the specified Auto Scaling group. For more information about desired capacity, see What Is Amazon EC2 Auto Scaling? in the Amazon EC2 Auto Scaling User Guide. + +Required Parameters +{ + "DesiredCapacity": "The number of EC2 instances that should be running in the Auto Scaling group.", + "AutoScalingGroupName": "The name of the Auto Scaling group." +} + +Optional Parameters +{ + "HonorCooldown": "Indicates whether Amazon EC2 Auto Scaling waits for the cooldown period to complete before initiating a scaling activity to set your Auto Scaling group to its new capacity. By default, Amazon EC2 Auto Scaling does not honor the cooldown period during manual scaling activities." +} +""" +SetDesiredCapacity(args) = auto_scaling("SetDesiredCapacity", args) + +""" + DescribeAutoScalingGroups() + +Describes one or more Auto Scaling groups. + +Optional Parameters +{ + "MaxRecords": "The maximum number of items to return with this call. The default value is 50 and the maximum value is 100.", + "NextToken": "The token for the next set of items to return. (You received this token from a previous call.)", + "AutoScalingGroupNames": "The names of the Auto Scaling groups. Each name can be a maximum of 1600 characters. By default, you can only specify up to 50 names. You can optionally increase this limit using the MaxRecords parameter. If you omit this parameter, all Auto Scaling groups are described." +} +""" +DescribeAutoScalingGroups() = auto_scaling("DescribeAutoScalingGroups") +DescribeAutoScalingGroups(args) = auto_scaling("DescribeAutoScalingGroups", args) + +""" + DescribeNotificationConfigurations() + +Describes the notification actions associated with the specified Auto Scaling group. + +Optional Parameters +{ + "MaxRecords": "The maximum number of items to return with this call. The default value is 50 and the maximum value is 100.", + "NextToken": "The token for the next set of items to return. (You received this token from a previous call.)", + "AutoScalingGroupNames": "The name of the Auto Scaling group." +} +""" +DescribeNotificationConfigurations() = auto_scaling("DescribeNotificationConfigurations") +DescribeNotificationConfigurations(args) = auto_scaling("DescribeNotificationConfigurations", args) + +""" + EnterStandby() + +Moves the specified instances into the standby state. If you choose to decrement the desired capacity of the Auto Scaling group, the instances can enter standby as long as the desired capacity of the Auto Scaling group after the instances are placed into standby is equal to or greater than the minimum capacity of the group. If you choose not to decrement the desired capacity of the Auto Scaling group, the Auto Scaling group launches new instances to replace the instances on standby. For more information, see Temporarily Removing Instances from Your Auto Scaling Group in the Amazon EC2 Auto Scaling User Guide. + +Required Parameters +{ + "ShouldDecrementDesiredCapacity": "Indicates whether to decrement the desired capacity of the Auto Scaling group by the number of instances moved to Standby mode.", + "AutoScalingGroupName": "The name of the Auto Scaling group." +} + +Optional Parameters +{ + "InstanceIds": "The IDs of the instances. You can specify up to 20 instances." +} +""" +EnterStandby(args) = auto_scaling("EnterStandby", args) + +""" + DetachLoadBalancers() + +Detaches one or more Classic Load Balancers from the specified Auto Scaling group. This operation detaches only Classic Load Balancers. If you have Application Load Balancers or Network Load Balancers, use DetachLoadBalancerTargetGroups instead. When you detach a load balancer, it enters the Removing state while deregistering the instances in the group. When all instances are deregistered, then you can no longer describe the load balancer using DescribeLoadBalancers. The instances remain running. + +Required Parameters +{ + "AutoScalingGroupName": "The name of the Auto Scaling group.", + "LoadBalancerNames": "The names of the load balancers. You can specify up to 10 load balancers." +} +""" +DetachLoadBalancers(args) = auto_scaling("DetachLoadBalancers", args) + +""" + DescribeLifecycleHookTypes() + +Describes the available types of lifecycle hooks. The following hook types are supported: autoscaling:EC2_INSTANCE_LAUNCHING autoscaling:EC2_INSTANCE_TERMINATING +""" +DescribeLifecycleHookTypes() = auto_scaling("DescribeLifecycleHookTypes") +DescribeLifecycleHookTypes(args) = auto_scaling("DescribeLifecycleHookTypes", args) + +""" + CreateLaunchConfiguration() + +Creates a launch configuration. If you exceed your maximum limit of launch configurations, the call fails. For information about viewing this limit, see DescribeAccountLimits. For information about updating this limit, see Amazon EC2 Auto Scaling Service Quotas in the Amazon EC2 Auto Scaling User Guide. For more information, see Launch Configurations in the Amazon EC2 Auto Scaling User Guide. + +Required Parameters +{ + "LaunchConfigurationName": "The name of the launch configuration. This name must be unique per Region per account." +} + +Optional Parameters +{ + "BlockDeviceMappings": "A block device mapping, which specifies the block devices for the instance. You can specify virtual devices and EBS volumes. For more information, see Block Device Mapping in the Amazon EC2 User Guide for Linux Instances.", + "IamInstanceProfile": "The name or the Amazon Resource Name (ARN) of the instance profile associated with the IAM role for the instance. The instance profile contains the IAM role. For more information, see IAM Role for Applications That Run on Amazon EC2 Instances in the Amazon EC2 Auto Scaling User Guide.", + "ClassicLinkVPCId": "The ID of a ClassicLink-enabled VPC to link your EC2-Classic instances to. For more information, see ClassicLink in the Amazon EC2 User Guide for Linux Instances and Linking EC2-Classic Instances to a VPC in the Amazon EC2 Auto Scaling User Guide. This parameter can only be used if you are launching EC2-Classic instances.", + "InstanceMonitoring": "Controls whether instances in this group are launched with detailed (true) or basic (false) monitoring. The default value is true (enabled). When detailed monitoring is enabled, Amazon CloudWatch generates metrics every minute and your account is charged a fee. When you disable detailed monitoring, CloudWatch generates metrics every 5 minutes. For more information, see Configure Monitoring for Auto Scaling Instances in the Amazon EC2 Auto Scaling User Guide. ", + "SpotPrice": "The maximum hourly price to be paid for any Spot Instance launched to fulfill the request. Spot Instances are launched when the price you specify exceeds the current Spot price. For more information, see Launching Spot Instances in Your Auto Scaling Group in the Amazon EC2 Auto Scaling User Guide. When you change your maximum price by creating a new launch configuration, running instances will continue to run as long as the maximum price for those running instances is higher than the current Spot price. ", + "InstanceType": "Specifies the instance type of the EC2 instance. For information about available instance types, see Available Instance Types in the Amazon EC2 User Guide for Linux Instances. If you do not specify InstanceId, you must specify InstanceType.", + "UserData": "The Base64-encoded user data to make available to the launched EC2 instances. For more information, see Instance Metadata and User Data in the Amazon EC2 User Guide for Linux Instances.", + "InstanceId": "The ID of the instance to use to create the launch configuration. The new launch configuration derives attributes from the instance, except for the block device mapping. To create a launch configuration with a block device mapping or override any other instance attributes, specify them as part of the same request. For more information, see Create a Launch Configuration Using an EC2 Instance in the Amazon EC2 Auto Scaling User Guide. If you do not specify InstanceId, you must specify both ImageId and InstanceType.", + "KeyName": "The name of the key pair. For more information, see Amazon EC2 Key Pairs in the Amazon EC2 User Guide for Linux Instances.", + "SecurityGroups": "A list that contains the security groups to assign to the instances in the Auto Scaling group. [EC2-VPC] Specify the security group IDs. For more information, see Security Groups for Your VPC in the Amazon Virtual Private Cloud User Guide. [EC2-Classic] Specify either the security group names or the security group IDs. For more information, see Amazon EC2 Security Groups in the Amazon EC2 User Guide for Linux Instances.", + "AssociatePublicIpAddress": "For Auto Scaling groups that are running in a virtual private cloud (VPC), specifies whether to assign a public IP address to the group's instances. If you specify true, each instance in the Auto Scaling group receives a unique public IP address. For more information, see Launching Auto Scaling Instances in a VPC in the Amazon EC2 Auto Scaling User Guide. If you specify this parameter, you must specify at least one subnet for VPCZoneIdentifier when you create your group. If the instance is launched into a default subnet, the default is to assign a public IP address, unless you disabled the option to assign a public IP address on the subnet. If the instance is launched into a nondefault subnet, the default is not to assign a public IP address, unless you enabled the option to assign a public IP address on the subnet. ", + "KernelId": "The ID of the kernel associated with the AMI.", + "PlacementTenancy": "The tenancy of the instance. An instance with dedicated tenancy runs on isolated, single-tenant hardware and can only be launched into a VPC. To launch dedicated instances into a shared tenancy VPC (a VPC with the instance placement tenancy attribute set to default), you must set the value of this parameter to dedicated. If you specify PlacementTenancy, you must specify at least one subnet for VPCZoneIdentifier when you create your group. For more information, see Instance Placement Tenancy in the Amazon EC2 Auto Scaling User Guide. Valid Values: default | dedicated ", + "RamdiskId": "The ID of the RAM disk to select.", + "ImageId": "The ID of the Amazon Machine Image (AMI) that was assigned during registration. For more information, see Finding an AMI in the Amazon EC2 User Guide for Linux Instances. If you do not specify InstanceId, you must specify ImageId.", + "EbsOptimized": "Specifies whether the launch configuration is optimized for EBS I/O (true) or not (false). The optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal I/O performance. This optimization is not available with all instance types. Additional fees are incurred when you enable EBS optimization for an instance type that is not EBS-optimized by default. For more information, see Amazon EBS-Optimized Instances in the Amazon EC2 User Guide for Linux Instances. The default value is false.", + "ClassicLinkVPCSecurityGroups": "The IDs of one or more security groups for the specified ClassicLink-enabled VPC. For more information, see ClassicLink in the Amazon EC2 User Guide for Linux Instances and Linking EC2-Classic Instances to a VPC in the Amazon EC2 Auto Scaling User Guide. If you specify the ClassicLinkVPCId parameter, you must specify this parameter." +} +""" +CreateLaunchConfiguration(args) = auto_scaling("CreateLaunchConfiguration", args) + +""" + SetInstanceHealth() + +Sets the health status of the specified instance. For more information, see Health Checks for Auto Scaling Instances in the Amazon EC2 Auto Scaling User Guide. + +Required Parameters +{ + "InstanceId": "The ID of the instance.", + "HealthStatus": "The health status of the instance. Set to Healthy to have the instance remain in service. Set to Unhealthy to have the instance be out of service. Amazon EC2 Auto Scaling terminates and replaces the unhealthy instance." +} + +Optional Parameters +{ + "ShouldRespectGracePeriod": "If the Auto Scaling group of the specified instance has a HealthCheckGracePeriod specified for the group, by default, this call respects the grace period. Set this to False, to have the call not respect the grace period associated with the group. For more information about the health check grace period, see CreateAutoScalingGroup." +} +""" +SetInstanceHealth(args) = auto_scaling("SetInstanceHealth", args) + +""" + DeleteNotificationConfiguration() + +Deletes the specified notification. + +Required Parameters +{ + "TopicARN": "The Amazon Resource Name (ARN) of the Amazon Simple Notification Service (Amazon SNS) topic.", + "AutoScalingGroupName": "The name of the Auto Scaling group." +} +""" +DeleteNotificationConfiguration(args) = auto_scaling("DeleteNotificationConfiguration", args) diff --git a/src/services/auto_scaling_plans.jl b/src/services/auto_scaling_plans.jl new file mode 100644 index 0000000000..0e5af2013f --- /dev/null +++ b/src/services/auto_scaling_plans.jl @@ -0,0 +1,103 @@ +include("../AWSServices.jl") +using .AWSServices: auto_scaling_plans + +""" + CreateScalingPlan() + +Creates a scaling plan. + +Required Parameters +{ + "ScalingPlanName": "The name of the scaling plan. Names cannot contain vertical bars, colons, or forward slashes.", + "ApplicationSource": "A CloudFormation stack or set of tags. You can create one scaling plan per application source.", + "ScalingInstructions": "The scaling instructions." +} +""" +CreateScalingPlan(args) = auto_scaling_plans("CreateScalingPlan", args) + +""" + DeleteScalingPlan() + +Deletes the specified scaling plan. Deleting a scaling plan deletes the underlying ScalingInstruction for all of the scalable resources that are covered by the plan. If the plan has launched resources or has scaling activities in progress, you must delete those resources separately. + +Required Parameters +{ + "ScalingPlanName": "The name of the scaling plan.", + "ScalingPlanVersion": "The version number of the scaling plan." +} +""" +DeleteScalingPlan(args) = auto_scaling_plans("DeleteScalingPlan", args) + +""" + DescribeScalingPlanResources() + +Describes the scalable resources in the specified scaling plan. + +Required Parameters +{ + "ScalingPlanName": "The name of the scaling plan.", + "ScalingPlanVersion": "The version number of the scaling plan." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of scalable resources to return. The value must be between 1 and 50. The default value is 50.", + "NextToken": "The token for the next set of results." +} +""" +DescribeScalingPlanResources(args) = auto_scaling_plans("DescribeScalingPlanResources", args) + +""" + DescribeScalingPlans() + +Describes one or more of your scaling plans. + +Optional Parameters +{ + "MaxResults": "The maximum number of scalable resources to return. This value can be between 1 and 50. The default value is 50.", + "ScalingPlanNames": "The names of the scaling plans (up to 10). If you specify application sources, you cannot specify scaling plan names.", + "ScalingPlanVersion": "The version number of the scaling plan. If you specify a scaling plan version, you must also specify a scaling plan name.", + "ApplicationSources": "The sources for the applications (up to 10). If you specify scaling plan names, you cannot specify application sources.", + "NextToken": "The token for the next set of results." +} +""" +DescribeScalingPlans() = auto_scaling_plans("DescribeScalingPlans") +DescribeScalingPlans(args) = auto_scaling_plans("DescribeScalingPlans", args) + +""" + GetScalingPlanResourceForecastData() + +Retrieves the forecast data for a scalable resource. Capacity forecasts are represented as predicted values, or data points, that are calculated using historical data points from a specified CloudWatch load metric. Data points are available for up to 56 days. + +Required Parameters +{ + "ScalingPlanName": "The name of the scaling plan.", + "StartTime": "The inclusive start time of the time range for the forecast data to get. The date and time can be at most 56 days before the current date and time. ", + "ScalingPlanVersion": "The version number of the scaling plan.", + "EndTime": "The exclusive end time of the time range for the forecast data to get. The maximum time duration between the start and end time is seven days. Although this parameter can accept a date and time that is more than two days in the future, the availability of forecast data has limits. AWS Auto Scaling only issues forecasts for periods of two days in advance.", + "ResourceId": "The ID of the resource. This string consists of the resource type and unique identifier. Auto Scaling group - The resource type is autoScalingGroup and the unique identifier is the name of the Auto Scaling group. Example: autoScalingGroup/my-asg. ECS service - The resource type is service and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp. Spot Fleet request - The resource type is spot-fleet-request and the unique identifier is the Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE. DynamoDB table - The resource type is table and the unique identifier is the resource ID. Example: table/my-table. DynamoDB global secondary index - The resource type is index and the unique identifier is the resource ID. Example: table/my-table/index/my-table-index. Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name. Example: cluster:my-db-cluster. ", + "ForecastDataType": "The type of forecast data to get. LoadForecast: The load metric forecast. CapacityForecast: The capacity forecast. ScheduledActionMinCapacity: The minimum capacity for each scheduled scaling action. This data is calculated as the larger of two values: the capacity forecast or the minimum capacity in the scaling instruction. ScheduledActionMaxCapacity: The maximum capacity for each scheduled scaling action. The calculation used is determined by the predictive scaling maximum capacity behavior setting in the scaling instruction. ", + "ServiceNamespace": "The namespace of the AWS service.", + "ScalableDimension": "The scalable dimension for the resource." +} +""" +GetScalingPlanResourceForecastData(args) = auto_scaling_plans("GetScalingPlanResourceForecastData", args) + +""" + UpdateScalingPlan() + +Updates the specified scaling plan. You cannot update a scaling plan if it is in the process of being created, updated, or deleted. + +Required Parameters +{ + "ScalingPlanName": "The name of the scaling plan.", + "ScalingPlanVersion": "The version number of the scaling plan." +} + +Optional Parameters +{ + "ApplicationSource": "A CloudFormation stack or set of tags.", + "ScalingInstructions": "The scaling instructions." +} +""" +UpdateScalingPlan(args) = auto_scaling_plans("UpdateScalingPlan", args) diff --git a/src/services/backup.jl b/src/services/backup.jl new file mode 100644 index 0000000000..fdf93b6358 --- /dev/null +++ b/src/services/backup.jl @@ -0,0 +1,685 @@ +include("../AWSServices.jl") +using .AWSServices: backup + +""" + DescribeRestoreJob() + +Returns metadata associated with a restore job that is specified by a job ID. + +Required Parameters +{ + "RestoreJobId": "Uniquely identifies the job that restores a recovery point." +} +""" +DescribeRestoreJob(args) = backup("GET", "/restore-jobs/{restoreJobId}", args) + +""" + DeleteBackupVaultAccessPolicy() + +Deletes the policy document that manages permissions on a backup vault. + +Required Parameters +{ + "BackupVaultName": "The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the AWS Region where they are created. They consist of lowercase letters, numbers, and hyphens." +} +""" +DeleteBackupVaultAccessPolicy(args) = backup("DELETE", "/backup-vaults/{backupVaultName}/access-policy", args) + +""" + ListRecoveryPointsByBackupVault() + +Returns detailed information about the recovery points stored in a backup vault. + +Required Parameters +{ + "BackupVaultName": "The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the AWS Region where they are created. They consist of lowercase letters, numbers, and hyphens." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of items to be returned.", + "ByCreatedBefore": "Returns only recovery points that were created before the specified timestamp.", + "NextToken": "The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token.", + "ByBackupPlanId": "Returns only recovery points that match the specified backup plan ID.", + "ByResourceType": "Returns only recovery points that match the specified resource type.", + "ByCreatedAfter": "Returns only recovery points that were created after the specified timestamp.", + "ByResourceArn": "Returns only recovery points that match the specified resource Amazon Resource Name (ARN)." +} +""" +ListRecoveryPointsByBackupVault(args) = backup("GET", "/backup-vaults/{backupVaultName}/recovery-points/", args) + +""" + ListBackupVaults() + +Returns a list of recovery point storage containers along with information about them. + +Optional Parameters +{ + "MaxResults": "The maximum number of items to be returned.", + "NextToken": "The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token." +} +""" +ListBackupVaults() = backup("GET", "/backup-vaults/") +ListBackupVaults(args) = backup("GET", "/backup-vaults/", args) + +""" + ListRecoveryPointsByResource() + +Returns detailed information about recovery points of the type specified by a resource Amazon Resource Name (ARN). + +Required Parameters +{ + "ResourceArn": "An ARN that uniquely identifies a resource. The format of the ARN depends on the resource type." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of items to be returned.", + "NextToken": "The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token." +} +""" +ListRecoveryPointsByResource(args) = backup("GET", "/resources/{resourceArn}/recovery-points/", args) + +""" + TagResource() + +Assigns a set of key-value pairs to a recovery point, backup plan, or backup vault identified by an Amazon Resource Name (ARN). + +Required Parameters +{ + "ResourceArn": "An ARN that uniquely identifies a resource. The format of the ARN depends on the type of the tagged resource.", + "Tags": "Key-value pairs that are used to help organize your resources. You can assign your own metadata to the resources you create. " +} +""" +TagResource(args) = backup("POST", "/tags/{resourceArn}", args) + +""" + ListProtectedResources() + +Returns an array of resources successfully backed up by AWS Backup, including the time the resource was saved, an Amazon Resource Name (ARN) of the resource, and a resource type. + +Optional Parameters +{ + "MaxResults": "The maximum number of items to be returned.", + "NextToken": "The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token." +} +""" +ListProtectedResources() = backup("GET", "/resources/") +ListProtectedResources(args) = backup("GET", "/resources/", args) + +""" + ListBackupPlanTemplates() + +Returns metadata of your saved backup plan templates, including the template ID, name, and the creation and deletion dates. + +Optional Parameters +{ + "MaxResults": "The maximum number of items to be returned.", + "NextToken": "The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token." +} +""" +ListBackupPlanTemplates() = backup("GET", "/backup/template/plans") +ListBackupPlanTemplates(args) = backup("GET", "/backup/template/plans", args) + +""" + PutBackupVaultNotifications() + +Turns on notifications on a backup vault for the specified topic and events. + +Required Parameters +{ + "BackupVaultName": "The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the AWS Region where they are created. They consist of lowercase letters, numbers, and hyphens.", + "SNSTopicArn": "The Amazon Resource Name (ARN) that specifies the topic for a backup vault’s events; for example, arn:aws:sns:us-west-2:111122223333:MyVaultTopic.", + "BackupVaultEvents": "An array of events that indicate the status of jobs to back up resources to the backup vault." +} +""" +PutBackupVaultNotifications(args) = backup("PUT", "/backup-vaults/{backupVaultName}/notification-configuration", args) + +""" + CreateBackupVault() + +Creates a logical container where backups are stored. A CreateBackupVault request includes a name, optionally one or more resource tags, an encryption key, and a request ID. Sensitive data, such as passport numbers, should not be included the name of a backup vault. + +Required Parameters +{ + "BackupVaultName": "The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the AWS Region where they are created. They consist of lowercase letters, numbers, and hyphens." +} + +Optional Parameters +{ + "EncryptionKeyArn": "The server-side encryption key that is used to protect your backups; for example, arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab.", + "BackupVaultTags": "Metadata that you can assign to help organize the resources that you create. Each tag is a key-value pair.", + "CreatorRequestId": "A unique string that identifies the request and allows failed requests to be retried without the risk of executing the operation twice." +} +""" +CreateBackupVault(args) = backup("PUT", "/backup-vaults/{backupVaultName}", args) + +""" + DeleteBackupVaultNotifications() + +Deletes event notifications for the specified backup vault. + +Required Parameters +{ + "BackupVaultName": "The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the Region where they are created. They consist of lowercase letters, numbers, and hyphens." +} +""" +DeleteBackupVaultNotifications(args) = backup("DELETE", "/backup-vaults/{backupVaultName}/notification-configuration", args) + +""" + DeleteBackupPlan() + +Deletes a backup plan. A backup plan can only be deleted after all associated selections of resources have been deleted. Deleting a backup plan deletes the current version of a backup plan. Previous versions, if any, will still exist. + +Required Parameters +{ + "BackupPlanId": "Uniquely identifies a backup plan." +} +""" +DeleteBackupPlan(args) = backup("DELETE", "/backup/plans/{backupPlanId}", args) + +""" + GetBackupPlanFromTemplate() + +Returns the template specified by its templateId as a backup plan. + +Required Parameters +{ + "BackupPlanTemplateId": "Uniquely identifies a stored backup plan template." +} +""" +GetBackupPlanFromTemplate(args) = backup("GET", "/backup/template/plans/{templateId}/toPlan", args) + +""" + DeleteBackupVault() + +Deletes the backup vault identified by its name. A vault can be deleted only if it is empty. + +Required Parameters +{ + "BackupVaultName": "The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and theAWS Region where they are created. They consist of lowercase letters, numbers, and hyphens." +} +""" +DeleteBackupVault(args) = backup("DELETE", "/backup-vaults/{backupVaultName}", args) + +""" + UntagResource() + +Removes a set of key-value pairs from a recovery point, backup plan, or backup vault identified by an Amazon Resource Name (ARN) + +Required Parameters +{ + "ResourceArn": "An ARN that uniquely identifies a resource. The format of the ARN depends on the type of the tagged resource.", + "TagKeyList": "A list of keys to identify which key-value tags to remove from a resource." +} +""" +UntagResource(args) = backup("POST", "/untag/{resourceArn}", args) + +""" + ExportBackupPlanTemplate() + +Returns the backup plan that is specified by the plan ID as a backup template. + +Required Parameters +{ + "BackupPlanId": "Uniquely identifies a backup plan." +} +""" +ExportBackupPlanTemplate(args) = backup("GET", "/backup/plans/{backupPlanId}/toTemplate/", args) + +""" + GetBackupPlan() + +Returns the body of a backup plan in JSON format, in addition to plan metadata. + +Required Parameters +{ + "BackupPlanId": "Uniquely identifies a backup plan." +} + +Optional Parameters +{ + "VersionId": "Unique, randomly generated, Unicode, UTF-8 encoded strings that are at most 1,024 bytes long. Version IDs cannot be edited." +} +""" +GetBackupPlan(args) = backup("GET", "/backup/plans/{backupPlanId}/", args) + +""" + DescribeBackupVault() + +Returns metadata about a backup vault specified by its name. + +Required Parameters +{ + "BackupVaultName": "The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the AWS Region where they are created. They consist of lowercase letters, numbers, and hyphens." +} +""" +DescribeBackupVault(args) = backup("GET", "/backup-vaults/{backupVaultName}", args) + +""" + DeleteRecoveryPoint() + +Deletes the recovery point specified by a recovery point ID. + +Required Parameters +{ + "BackupVaultName": "The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the AWS Region where they are created. They consist of lowercase letters, numbers, and hyphens.", + "RecoveryPointArn": "An Amazon Resource Name (ARN) that uniquely identifies a recovery point; for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45." +} +""" +DeleteRecoveryPoint(args) = backup("DELETE", "/backup-vaults/{backupVaultName}/recovery-points/{recoveryPointArn}", args) + +""" + ListBackupPlanVersions() + +Returns version metadata of your backup plans, including Amazon Resource Names (ARNs), backup plan IDs, creation and deletion dates, plan names, and version IDs. + +Required Parameters +{ + "BackupPlanId": "Uniquely identifies a backup plan." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of items to be returned.", + "NextToken": "The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token." +} +""" +ListBackupPlanVersions(args) = backup("GET", "/backup/plans/{backupPlanId}/versions/", args) + +""" + DeleteBackupSelection() + +Deletes the resource selection associated with a backup plan that is specified by the SelectionId. + +Required Parameters +{ + "SelectionId": "Uniquely identifies the body of a request to assign a set of resources to a backup plan.", + "BackupPlanId": "Uniquely identifies a backup plan." +} +""" +DeleteBackupSelection(args) = backup("DELETE", "/backup/plans/{backupPlanId}/selections/{selectionId}", args) + +""" + CreateBackupSelection() + +Creates a JSON document that specifies a set of resources to assign to a backup plan. Resources can be included by specifying patterns for a ListOfTags and selected Resources. For example, consider the following patterns: Resources: "arn:aws:ec2:region:account-id:volume/volume-id" ConditionKey:"department" ConditionValue:"finance" ConditionType:"STRINGEQUALS" ConditionKey:"importance" ConditionValue:"critical" ConditionType:"STRINGEQUALS" Using these patterns would back up all Amazon Elastic Block Store (Amazon EBS) volumes that are tagged as "department=finance", "importance=critical", in addition to an EBS volume with the specified volume Id. Resources and conditions are additive in that all resources that match the pattern are selected. This shouldn't be confused with a logical AND, where all conditions must match. The matching patterns are logically 'put together using the OR operator. In other words, all patterns that match are selected for backup. + +Required Parameters +{ + "BackupPlanId": "Uniquely identifies the backup plan to be associated with the selection of resources.", + "BackupSelection": "Specifies the body of a request to assign a set of resources to a backup plan." +} + +Optional Parameters +{ + "CreatorRequestId": "A unique string that identifies the request and allows failed requests to be retried without the risk of executing the operation twice." +} +""" +CreateBackupSelection(args) = backup("PUT", "/backup/plans/{backupPlanId}/selections/", args) + +""" + ListBackupSelections() + +Returns an array containing metadata of the resources associated with the target backup plan. + +Required Parameters +{ + "BackupPlanId": "Uniquely identifies a backup plan." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of items to be returned.", + "NextToken": "The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token." +} +""" +ListBackupSelections(args) = backup("GET", "/backup/plans/{backupPlanId}/selections/", args) + +""" + ListRestoreJobs() + +Returns a list of jobs that AWS Backup initiated to restore a saved resource, including metadata about the recovery process. + +Optional Parameters +{ + "MaxResults": "The maximum number of items to be returned.", + "NextToken": "The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token." +} +""" +ListRestoreJobs() = backup("GET", "/restore-jobs/") +ListRestoreJobs(args) = backup("GET", "/restore-jobs/", args) + +""" + GetSupportedResourceTypes() + +Returns the AWS resource types supported by AWS Backup. +""" +GetSupportedResourceTypes() = backup("GET", "/supported-resource-types") +GetSupportedResourceTypes(args) = backup("GET", "/supported-resource-types", args) + +""" + GetBackupVaultAccessPolicy() + +Returns the access policy document that is associated with the named backup vault. + +Required Parameters +{ + "BackupVaultName": "The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the AWS Region where they are created. They consist of lowercase letters, numbers, and hyphens." +} +""" +GetBackupVaultAccessPolicy(args) = backup("GET", "/backup-vaults/{backupVaultName}/access-policy", args) + +""" + GetBackupPlanFromJSON() + +Returns a valid JSON document specifying a backup plan or an error. + +Required Parameters +{ + "BackupPlanTemplateJson": "A customer-supplied backup plan document in JSON format." +} +""" +GetBackupPlanFromJSON(args) = backup("POST", "/backup/template/json/toPlan", args) + +""" + GetRecoveryPointRestoreMetadata() + +Returns a set of metadata key-value pairs that were used to create the backup. + +Required Parameters +{ + "BackupVaultName": "The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the AWS Region where they are created. They consist of lowercase letters, numbers, and hyphens.", + "RecoveryPointArn": "An Amazon Resource Name (ARN) that uniquely identifies a recovery point; for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45." +} +""" +GetRecoveryPointRestoreMetadata(args) = backup("GET", "/backup-vaults/{backupVaultName}/recovery-points/{recoveryPointArn}/restore-metadata", args) + +""" + StartCopyJob() + +Starts a job to create a one-time copy of the specified resource. + +Required Parameters +{ + "SourceBackupVaultName": "The name of a logical source container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the AWS Region where they are created. They consist of lowercase letters, numbers, and hyphens. >", + "RecoveryPointArn": "An ARN that uniquely identifies a recovery point to use for the copy job; for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45. ", + "DestinationBackupVaultArn": "An Amazon Resource Name (ARN) that uniquely identifies a destination backup vault to copy to; for example, arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.", + "IamRoleArn": "Specifies the IAM role ARN used to copy the target recovery point; for example, arn:aws:iam::123456789012:role/S3Access." +} + +Optional Parameters +{ + "IdempotencyToken": "A customer chosen string that can be used to distinguish between calls to StartCopyJob.", + "Lifecycle": "" +} +""" +StartCopyJob(args) = backup("PUT", "/copy-jobs", args) + +""" + PutBackupVaultAccessPolicy() + +Sets a resource-based policy that is used to manage access permissions on the target backup vault. Requires a backup vault name and an access policy document in JSON format. + +Required Parameters +{ + "BackupVaultName": "The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the AWS Region where they are created. They consist of lowercase letters, numbers, and hyphens." +} + +Optional Parameters +{ + "Policy": "The backup vault access policy document in JSON format." +} +""" +PutBackupVaultAccessPolicy(args) = backup("PUT", "/backup-vaults/{backupVaultName}/access-policy", args) + +""" + GetBackupVaultNotifications() + +Returns event notifications for the specified backup vault. + +Required Parameters +{ + "BackupVaultName": "The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the AWS Region where they are created. They consist of lowercase letters, numbers, and hyphens." +} +""" +GetBackupVaultNotifications(args) = backup("GET", "/backup-vaults/{backupVaultName}/notification-configuration", args) + +""" + StartRestoreJob() + +Recovers the saved resource identified by an Amazon Resource Name (ARN). If the resource ARN is included in the request, then the last complete backup of that resource is recovered. If the ARN of a recovery point is supplied, then that recovery point is restored. + +Required Parameters +{ + "RecoveryPointArn": "An ARN that uniquely identifies a recovery point; for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.", + "Metadata": "A set of metadata key-value pairs. Contains information, such as a resource name, required to restore a recovery point. You can get configuration metadata about a resource at the time it was backed-up by calling GetRecoveryPointRestoreMetadata. However, values in addition to those provided by GetRecoveryPointRestoreMetadata might be required to restore a resource. For example, you might need to provide a new resource name if the original already exists. You need to specify specific metadata to restore an Amazon Elastic File System (Amazon EFS) instance: file-system-id: ID of the Amazon EFS file system that is backed up by AWS Backup. Returned in GetRecoveryPointRestoreMetadata. Encrypted: A Boolean value that, if true, specifies that the file system is encrypted. If KmsKeyId is specified, Encrypted must be set to true. KmsKeyId: Specifies the AWS KMS key that is used to encrypt the restored file system. PerformanceMode: Specifies the throughput mode of the file system. CreationToken: A user-supplied value that ensures the uniqueness (idempotency) of the request. newFileSystem: A Boolean value that, if true, specifies that the recovery point is restored to a new Amazon EFS file system. ", + "IamRoleArn": "The Amazon Resource Name (ARN) of the IAM role that AWS Backup uses to create the target recovery point; for example, arn:aws:iam::123456789012:role/S3Access." +} + +Optional Parameters +{ + "IdempotencyToken": "A customer chosen string that can be used to distinguish between calls to StartRestoreJob.", + "ResourceType": "Starts a job to restore a recovery point for one of the following resources: EBS for Amazon Elastic Block Store Storage Gateway for AWS Storage Gateway RDS for Amazon Relational Database Service DDB for Amazon DynamoDB EFS for Amazon Elastic File System " +} +""" +StartRestoreJob(args) = backup("PUT", "/restore-jobs", args) + +""" + UpdateRecoveryPointLifecycle() + +Sets the transition lifecycle of a recovery point. The lifecycle defines when a protected resource is transitioned to cold storage and when it expires. AWS Backup transitions and expires backups automatically according to the lifecycle that you define. Backups transitioned to cold storage must be stored in cold storage for a minimum of 90 days. Therefore, the “expire after days” setting must be 90 days greater than the “transition to cold after days” setting. The “transition to cold after days” setting cannot be changed after a backup has been transitioned to cold. + +Required Parameters +{ + "BackupVaultName": "The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the AWS Region where they are created. They consist of lowercase letters, numbers, and hyphens.", + "RecoveryPointArn": "An Amazon Resource Name (ARN) that uniquely identifies a recovery point; for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45." +} + +Optional Parameters +{ + "Lifecycle": "The lifecycle defines when a protected resource is transitioned to cold storage and when it expires. AWS Backup transitions and expires backups automatically according to the lifecycle that you define. Backups transitioned to cold storage must be stored in cold storage for a minimum of 90 days. Therefore, the “expire after days” setting must be 90 days greater than the “transition to cold after days” setting. The “transition to cold after days” setting cannot be changed after a backup has been transitioned to cold. " +} +""" +UpdateRecoveryPointLifecycle(args) = backup("POST", "/backup-vaults/{backupVaultName}/recovery-points/{recoveryPointArn}", args) + +""" + DescribeRecoveryPoint() + +Returns metadata associated with a recovery point, including ID, status, encryption, and lifecycle. + +Required Parameters +{ + "BackupVaultName": "The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the AWS Region where they are created. They consist of lowercase letters, numbers, and hyphens.", + "RecoveryPointArn": "An Amazon Resource Name (ARN) that uniquely identifies a recovery point; for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45." +} +""" +DescribeRecoveryPoint(args) = backup("GET", "/backup-vaults/{backupVaultName}/recovery-points/{recoveryPointArn}", args) + +""" + StopBackupJob() + +Attempts to cancel a job to create a one-time backup of a resource. + +Required Parameters +{ + "BackupJobId": "Uniquely identifies a request to AWS Backup to back up a resource." +} +""" +StopBackupJob(args) = backup("POST", "/backup-jobs/{backupJobId}", args) + +""" + StartBackupJob() + +Starts a job to create a one-time backup of the specified resource. + +Required Parameters +{ + "BackupVaultName": "The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the AWS Region where they are created. They consist of lowercase letters, numbers, and hyphens.", + "ResourceArn": "An Amazon Resource Name (ARN) that uniquely identifies a resource. The format of the ARN depends on the resource type.", + "IamRoleArn": "Specifies the IAM role ARN used to create the target recovery point; for example, arn:aws:iam::123456789012:role/S3Access." +} + +Optional Parameters +{ + "CompleteWindowMinutes": "The amount of time AWS Backup attempts a backup before canceling the job and returning an error.", + "IdempotencyToken": "A customer chosen string that can be used to distinguish between calls to StartBackupJob.", + "StartWindowMinutes": "The amount of time in minutes before beginning a backup.", + "RecoveryPointTags": "To help organize your resources, you can assign your own metadata to the resources that you create. Each tag is a key-value pair.", + "Lifecycle": "The lifecycle defines when a protected resource is transitioned to cold storage and when it expires. AWS Backup will transition and expire backups automatically according to the lifecycle that you define. Backups transitioned to cold storage must be stored in cold storage for a minimum of 90 days. Therefore, the “expire after days” setting must be 90 days greater than the “transition to cold after days” setting. The “transition to cold after days” setting cannot be changed after a backup has been transitioned to cold. " +} +""" +StartBackupJob(args) = backup("PUT", "/backup-jobs", args) + +""" + ListCopyJobs() + +Returns metadata about your copy jobs. + +Optional Parameters +{ + "MaxResults": "The maximum number of items to be returned.", + "ByCreatedBefore": "Returns only copy jobs that were created before the specified date.", + "NextToken": "The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token. ", + "ByCreatedAfter": "Returns only copy jobs that were created after the specified date.", + "ByResourceType": "Returns only backup jobs for the specified resources: DynamoDB for Amazon DynamoDB EBS for Amazon Elastic Block Store EFS for Amazon Elastic File System RDS for Amazon Relational Database Service Storage Gateway for AWS Storage Gateway ", + "ByDestinationVaultArn": "An Amazon Resource Name (ARN) that uniquely identifies a source backup vault to copy from; for example, arn:aws:backup:us-east-1:123456789012:vault:aBackupVault. ", + "ByResourceArn": "Returns only copy jobs that match the specified resource Amazon Resource Name (ARN). ", + "ByState": "Returns only copy jobs that are in the specified state." +} +""" +ListCopyJobs() = backup("GET", "/copy-jobs/") +ListCopyJobs(args) = backup("GET", "/copy-jobs/", args) + +""" + GetBackupSelection() + +Returns selection metadata and a document in JSON format that specifies a list of resources that are associated with a backup plan. + +Required Parameters +{ + "SelectionId": "Uniquely identifies the body of a request to assign a set of resources to a backup plan.", + "BackupPlanId": "Uniquely identifies a backup plan." +} +""" +GetBackupSelection(args) = backup("GET", "/backup/plans/{backupPlanId}/selections/{selectionId}", args) + +""" + ListBackupJobs() + +Returns metadata about your backup jobs. + +Optional Parameters +{ + "MaxResults": "The maximum number of items to be returned.", + "ByCreatedBefore": "Returns only backup jobs that were created before the specified date.", + "NextToken": "The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token.", + "ByCreatedAfter": "Returns only backup jobs that were created after the specified date.", + "ByResourceType": "Returns only backup jobs for the specified resources: DynamoDB for Amazon DynamoDB EBS for Amazon Elastic Block Store EFS for Amazon Elastic File System RDS for Amazon Relational Database Service Storage Gateway for AWS Storage Gateway ", + "ByBackupVaultName": "Returns only backup jobs that will be stored in the specified backup vault. Backup vaults are identified by names that are unique to the account used to create them and the AWS Region where they are created. They consist of lowercase letters, numbers, and hyphens.", + "ByResourceArn": "Returns only backup jobs that match the specified resource Amazon Resource Name (ARN).", + "ByState": "Returns only backup jobs that are in the specified state." +} +""" +ListBackupJobs() = backup("GET", "/backup-jobs/") +ListBackupJobs(args) = backup("GET", "/backup-jobs/", args) + +""" + DescribeCopyJob() + +Returns metadata associated with creating a copy of a resource. + +Required Parameters +{ + "CopyJobId": "Uniquely identifies a request to AWS Backup to copy a resource." +} +""" +DescribeCopyJob(args) = backup("GET", "/copy-jobs/{copyJobId}", args) + +""" + DescribeBackupJob() + +Returns metadata associated with creating a backup of a resource. + +Required Parameters +{ + "BackupJobId": "Uniquely identifies a request to AWS Backup to back up a resource." +} +""" +DescribeBackupJob(args) = backup("GET", "/backup-jobs/{backupJobId}", args) + +""" + UpdateBackupPlan() + +Replaces the body of a saved backup plan identified by its backupPlanId with the input document in JSON format. The new version is uniquely identified by a VersionId. + +Required Parameters +{ + "BackupPlanId": "Uniquely identifies a backup plan.", + "BackupPlan": "Specifies the body of a backup plan. Includes a BackupPlanName and one or more sets of Rules." +} +""" +UpdateBackupPlan(args) = backup("POST", "/backup/plans/{backupPlanId}", args) + +""" + ListTags() + +Returns a list of key-value pairs assigned to a target recovery point, backup plan, or backup vault. + +Required Parameters +{ + "ResourceArn": "An Amazon Resource Name (ARN) that uniquely identifies a resource. The format of the ARN depends on the type of resource. Valid targets for ListTags are recovery points, backup plans, and backup vaults." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of items to be returned.", + "NextToken": "The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token." +} +""" +ListTags(args) = backup("GET", "/tags/{resourceArn}/", args) + +""" + DescribeProtectedResource() + +Returns information about a saved resource, including the last time it was backed-up, its Amazon Resource Name (ARN), and the AWS service type of the saved resource. + +Required Parameters +{ + "ResourceArn": "An Amazon Resource Name (ARN) that uniquely identifies a resource. The format of the ARN depends on the resource type." +} +""" +DescribeProtectedResource(args) = backup("GET", "/resources/{resourceArn}", args) + +""" + CreateBackupPlan() + +Backup plans are documents that contain information that AWS Backup uses to schedule tasks that create recovery points of resources. If you call CreateBackupPlan with a plan that already exists, an AlreadyExistsException is returned. + +Required Parameters +{ + "BackupPlan": "Specifies the body of a backup plan. Includes a BackupPlanName and one or more sets of Rules." +} + +Optional Parameters +{ + "BackupPlanTags": "To help organize your resources, you can assign your own metadata to the resources that you create. Each tag is a key-value pair. The specified tags are assigned to all backups created with this plan.", + "CreatorRequestId": "Identifies the request and allows failed requests to be retried without the risk of executing the operation twice. If the request includes a CreatorRequestId that matches an existing backup plan, that plan is returned. This parameter is optional." +} +""" +CreateBackupPlan(args) = backup("PUT", "/backup/plans/", args) + +""" + ListBackupPlans() + +Returns metadata of your saved backup plans, including Amazon Resource Names (ARNs), plan IDs, creation and deletion dates, version IDs, plan names, and creator request IDs. + +Optional Parameters +{ + "MaxResults": "The maximum number of items to be returned.", + "NextToken": "The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token.", + "IncludeDeleted": "A Boolean value with a default value of FALSE that returns deleted backup plans when set to TRUE." +} +""" +ListBackupPlans() = backup("GET", "/backup/plans/") +ListBackupPlans(args) = backup("GET", "/backup/plans/", args) diff --git a/src/services/batch.jl b/src/services/batch.jl new file mode 100644 index 0000000000..3a85d654df --- /dev/null +++ b/src/services/batch.jl @@ -0,0 +1,265 @@ +include("../AWSServices.jl") +using .AWSServices: batch + +""" + SubmitJob() + +Submits an AWS Batch job from a job definition. Parameters specified during SubmitJob override parameters defined in the job definition. + +Required Parameters +{ + "jobName": "The name of the job. The first character must be alphanumeric, and up to 128 letters (uppercase and lowercase), numbers, hyphens, and underscores are allowed.", + "jobDefinition": "The job definition used by this job. This value can be one of name, name:revision, or the Amazon Resource Name (ARN) for the job definition. If name is specified without a revision then the latest active revision is used.", + "jobQueue": "The job queue into which the job is submitted. You can specify either the name or the Amazon Resource Name (ARN) of the queue." +} + +Optional Parameters +{ + "dependsOn": "A list of dependencies for the job. A job can depend upon a maximum of 20 jobs. You can specify a SEQUENTIAL type dependency without specifying a job ID for array jobs so that each child array job completes sequentially, starting at index 0. You can also specify an N_TO_N type dependency with a job ID for array jobs. In that case, each index child of this job must wait for the corresponding index child of each dependency to complete before it can begin.", + "containerOverrides": "A list of container overrides in JSON format that specify the name of a container in the specified job definition and the overrides it should receive. You can override the default command for a container (that is specified in the job definition or the Docker image) with a command override. You can also override existing environment variables (that are specified in the job definition or Docker image) on a container or add new environment variables to it with an environment override.", + "parameters": "Additional parameters passed to the job that replace parameter substitution placeholders that are set in the job definition. Parameters are specified as a key and value pair mapping. Parameters in a SubmitJob request override any corresponding parameter defaults from the job definition.", + "timeout": "The timeout configuration for this SubmitJob operation. You can specify a timeout duration after which AWS Batch terminates your jobs if they have not finished. If a job is terminated due to a timeout, it is not retried. The minimum value for the timeout is 60 seconds. This configuration overrides any timeout configuration specified in the job definition. For array jobs, child jobs have the same timeout configuration as the parent job. For more information, see Job Timeouts in the Amazon Elastic Container Service Developer Guide.", + "nodeOverrides": "A list of node overrides in JSON format that specify the node range to target and the container overrides for that node range.", + "arrayProperties": "The array properties for the submitted job, such as the size of the array. The array size can be between 2 and 10,000. If you specify array properties for a job, it becomes an array job. For more information, see Array Jobs in the AWS Batch User Guide.", + "retryStrategy": "The retry strategy to use for failed jobs from this SubmitJob operation. When a retry strategy is specified here, it overrides the retry strategy defined in the job definition." +} +""" +SubmitJob(args) = batch("POST", "/v1/submitjob", args) + +""" + TerminateJob() + +Terminates a job in a job queue. Jobs that are in the STARTING or RUNNING state are terminated, which causes them to transition to FAILED. Jobs that have not progressed to the STARTING state are cancelled. + +Required Parameters +{ + "jobId": "The AWS Batch job ID of the job to terminate.", + "reason": "A message to attach to the job that explains the reason for canceling it. This message is returned by future DescribeJobs operations on the job. This message is also recorded in the AWS Batch activity logs." +} +""" +TerminateJob(args) = batch("POST", "/v1/terminatejob", args) + +""" + DescribeComputeEnvironments() + +Describes one or more of your compute environments. If you are using an unmanaged compute environment, you can use the DescribeComputeEnvironment operation to determine the ecsClusterArn that you should launch your Amazon ECS container instances into. + +Optional Parameters +{ + "computeEnvironments": "A list of up to 100 compute environment names or full Amazon Resource Name (ARN) entries.", + "maxResults": "The maximum number of cluster results returned by DescribeComputeEnvironments in paginated output. When this parameter is used, DescribeComputeEnvironments only returns maxResults results in a single page along with a nextToken response element. The remaining results of the initial request can be seen by sending another DescribeComputeEnvironments request with the returned nextToken value. This value can be between 1 and 100. If this parameter is not used, then DescribeComputeEnvironments returns up to 100 results and a nextToken value if applicable.", + "nextToken": "The nextToken value returned from a previous paginated DescribeComputeEnvironments request where maxResults was used and the results exceeded the value of that parameter. Pagination continues from the end of the previous results that returned the nextToken value. This value is null when there are no more results to return. This token should be treated as an opaque identifier that is only used to retrieve the next items in a list and not for other programmatic purposes. " +} +""" +DescribeComputeEnvironments() = batch("POST", "/v1/describecomputeenvironments") +DescribeComputeEnvironments(args) = batch("POST", "/v1/describecomputeenvironments", args) + +""" + DeleteComputeEnvironment() + +Deletes an AWS Batch compute environment. Before you can delete a compute environment, you must set its state to DISABLED with the UpdateComputeEnvironment API operation and disassociate it from any job queues with the UpdateJobQueue API operation. + +Required Parameters +{ + "computeEnvironment": "The name or Amazon Resource Name (ARN) of the compute environment to delete." +} +""" +DeleteComputeEnvironment(args) = batch("POST", "/v1/deletecomputeenvironment", args) + +""" + DeregisterJobDefinition() + +Deregisters an AWS Batch job definition. Job definitions will be permanently deleted after 180 days. + +Required Parameters +{ + "jobDefinition": "The name and revision (name:revision) or full Amazon Resource Name (ARN) of the job definition to deregister." +} +""" +DeregisterJobDefinition(args) = batch("POST", "/v1/deregisterjobdefinition", args) + +""" + DescribeJobs() + +Describes a list of AWS Batch jobs. + +Required Parameters +{ + "jobs": "A list of up to 100 job IDs." +} +""" +DescribeJobs(args) = batch("POST", "/v1/describejobs", args) + +""" + CreateComputeEnvironment() + +Creates an AWS Batch compute environment. You can create MANAGED or UNMANAGED compute environments. In a managed compute environment, AWS Batch manages the capacity and instance types of the compute resources within the environment. This is based on the compute resource specification that you define or the launch template that you specify when you create the compute environment. You can choose to use Amazon EC2 On-Demand Instances or Spot Instances in your managed compute environment. You can optionally set a maximum price so that Spot Instances only launch when the Spot Instance price is below a specified percentage of the On-Demand price. Multi-node parallel jobs are not supported on Spot Instances. In an unmanaged compute environment, you can manage your own compute resources. This provides more compute resource configuration options, such as using a custom AMI, but you must ensure that your AMI meets the Amazon ECS container instance AMI specification. For more information, see Container Instance AMIs in the Amazon Elastic Container Service Developer Guide. After you have created your unmanaged compute environment, you can use the DescribeComputeEnvironments operation to find the Amazon ECS cluster that is associated with it. Then, manually launch your container instances into that Amazon ECS cluster. For more information, see Launching an Amazon ECS Container Instance in the Amazon Elastic Container Service Developer Guide. AWS Batch does not upgrade the AMIs in a compute environment after it is created (for example, when a newer version of the Amazon ECS-optimized AMI is available). You are responsible for the management of the guest operating system (including updates and security patches) and any additional application software or utilities that you install on the compute resources. To use a new AMI for your AWS Batch jobs: Create a new compute environment with the new AMI. Add the compute environment to an existing job queue. Remove the old compute environment from your job queue. Delete the old compute environment. + +Required Parameters +{ + "computeEnvironmentName": "The name for your compute environment. Up to 128 letters (uppercase and lowercase), numbers, hyphens, and underscores are allowed.", + "serviceRole": "The full Amazon Resource Name (ARN) of the IAM role that allows AWS Batch to make calls to other AWS services on your behalf. If your specified role has a path other than /, then you must either specify the full role ARN (this is recommended) or prefix the role name with the path. Depending on how you created your AWS Batch service role, its ARN may contain the service-role path prefix. When you only specify the name of the service role, AWS Batch assumes that your ARN does not use the service-role path prefix. Because of this, we recommend that you specify the full ARN of your service role when you create compute environments. ", + "type": "The type of the compute environment. For more information, see Compute Environments in the AWS Batch User Guide." +} + +Optional Parameters +{ + "state": "The state of the compute environment. If the state is ENABLED, then the compute environment accepts jobs from a queue and can scale out automatically based on queues.", + "computeResources": "Details of the compute resources managed by the compute environment. This parameter is required for managed compute environments. For more information, see Compute Environments in the AWS Batch User Guide." +} +""" +CreateComputeEnvironment(args) = batch("POST", "/v1/createcomputeenvironment", args) + +""" + RegisterJobDefinition() + +Registers an AWS Batch job definition. + +Required Parameters +{ + "jobDefinitionName": "The name of the job definition to register. Up to 128 letters (uppercase and lowercase), numbers, hyphens, and underscores are allowed.", + "type": "The type of job definition." +} + +Optional Parameters +{ + "timeout": "The timeout configuration for jobs that are submitted with this job definition, after which AWS Batch terminates your jobs if they have not finished. If a job is terminated due to a timeout, it is not retried. The minimum value for the timeout is 60 seconds. Any timeout configuration that is specified during a SubmitJob operation overrides the timeout configuration defined here. For more information, see Job Timeouts in the Amazon Elastic Container Service Developer Guide.", + "parameters": "Default parameter substitution placeholders to set in the job definition. Parameters are specified as a key-value pair mapping. Parameters in a SubmitJob request override any corresponding parameter defaults from the job definition.", + "nodeProperties": "An object with various properties specific to multi-node parallel jobs. If you specify node properties for a job, it becomes a multi-node parallel job. For more information, see Multi-node Parallel Jobs in the AWS Batch User Guide. If the job definition's type parameter is container, then you must specify either containerProperties or nodeProperties.", + "containerProperties": "An object with various properties specific to single-node container-based jobs. If the job definition's type parameter is container, then you must specify either containerProperties or nodeProperties.", + "retryStrategy": "The retry strategy to use for failed jobs that are submitted with this job definition. Any retry strategy that is specified during a SubmitJob operation overrides the retry strategy defined here. If a job is terminated due to a timeout, it is not retried." +} +""" +RegisterJobDefinition(args) = batch("POST", "/v1/registerjobdefinition", args) + +""" + DeleteJobQueue() + +Deletes the specified job queue. You must first disable submissions for a queue with the UpdateJobQueue operation. All jobs in the queue are terminated when you delete a job queue. It is not necessary to disassociate compute environments from a queue before submitting a DeleteJobQueue request. + +Required Parameters +{ + "jobQueue": "The short name or full Amazon Resource Name (ARN) of the queue to delete." +} +""" +DeleteJobQueue(args) = batch("POST", "/v1/deletejobqueue", args) + +""" + CancelJob() + +Cancels a job in an AWS Batch job queue. Jobs that are in the SUBMITTED, PENDING, or RUNNABLE state are cancelled. Jobs that have progressed to STARTING or RUNNING are not cancelled (but the API operation still succeeds, even if no job is cancelled); these jobs must be terminated with the TerminateJob operation. + +Required Parameters +{ + "jobId": "The AWS Batch job ID of the job to cancel.", + "reason": "A message to attach to the job that explains the reason for canceling it. This message is returned by future DescribeJobs operations on the job. This message is also recorded in the AWS Batch activity logs." +} +""" +CancelJob(args) = batch("POST", "/v1/canceljob", args) + +""" + CreateJobQueue() + +Creates an AWS Batch job queue. When you create a job queue, you associate one or more compute environments to the queue and assign an order of preference for the compute environments. You also set a priority to the job queue that determines the order in which the AWS Batch scheduler places jobs onto its associated compute environments. For example, if a compute environment is associated with more than one job queue, the job queue with a higher priority is given preference for scheduling jobs to that compute environment. + +Required Parameters +{ + "priority": "The priority of the job queue. Job queues with a higher priority (or a higher integer value for the priority parameter) are evaluated first when associated with the same compute environment. Priority is determined in descending order, for example, a job queue with a priority value of 10 is given scheduling preference over a job queue with a priority value of 1.", + "computeEnvironmentOrder": "The set of compute environments mapped to a job queue and their order relative to each other. The job scheduler uses this parameter to determine which compute environment should execute a given job. Compute environments must be in the VALID state before you can associate them with a job queue. You can associate up to three compute environments with a job queue.", + "jobQueueName": "The name of the job queue." +} + +Optional Parameters +{ + "state": "The state of the job queue. If the job queue state is ENABLED, it is able to accept jobs." +} +""" +CreateJobQueue(args) = batch("POST", "/v1/createjobqueue", args) + +""" + UpdateComputeEnvironment() + +Updates an AWS Batch compute environment. + +Required Parameters +{ + "computeEnvironment": "The name or full Amazon Resource Name (ARN) of the compute environment to update." +} + +Optional Parameters +{ + "state": "The state of the compute environment. Compute environments in the ENABLED state can accept jobs from a queue and scale in or out automatically based on the workload demand of its associated queues.", + "serviceRole": "The full Amazon Resource Name (ARN) of the IAM role that allows AWS Batch to make calls to other AWS services on your behalf. If your specified role has a path other than /, then you must either specify the full role ARN (this is recommended) or prefix the role name with the path. Depending on how you created your AWS Batch service role, its ARN may contain the service-role path prefix. When you only specify the name of the service role, AWS Batch assumes that your ARN does not use the service-role path prefix. Because of this, we recommend that you specify the full ARN of your service role when you create compute environments. ", + "computeResources": "Details of the compute resources managed by the compute environment. Required for a managed compute environment." +} +""" +UpdateComputeEnvironment(args) = batch("POST", "/v1/updatecomputeenvironment", args) + +""" + ListJobs() + +Returns a list of AWS Batch jobs. You must specify only one of the following: a job queue ID to return a list of jobs in that job queue a multi-node parallel job ID to return a list of that job's nodes an array job ID to return a list of that job's children You can filter the results by job status with the jobStatus parameter. If you do not specify a status, only RUNNING jobs are returned. + +Optional Parameters +{ + "multiNodeJobId": "The job ID for a multi-node parallel job. Specifying a multi-node parallel job ID with this parameter lists all nodes that are associated with the specified job.", + "arrayJobId": "The job ID for an array job. Specifying an array job ID with this parameter lists all child jobs from within the specified array.", + "maxResults": "The maximum number of results returned by ListJobs in paginated output. When this parameter is used, ListJobs only returns maxResults results in a single page along with a nextToken response element. The remaining results of the initial request can be seen by sending another ListJobs request with the returned nextToken value. This value can be between 1 and 100. If this parameter is not used, then ListJobs returns up to 100 results and a nextToken value if applicable.", + "nextToken": "The nextToken value returned from a previous paginated ListJobs request where maxResults was used and the results exceeded the value of that parameter. Pagination continues from the end of the previous results that returned the nextToken value. This value is null when there are no more results to return. This token should be treated as an opaque identifier that is only used to retrieve the next items in a list and not for other programmatic purposes. ", + "jobQueue": "The name or full Amazon Resource Name (ARN) of the job queue with which to list jobs.", + "jobStatus": "The job status with which to filter jobs in the specified queue. If you do not specify a status, only RUNNING jobs are returned." +} +""" +ListJobs() = batch("POST", "/v1/listjobs") +ListJobs(args) = batch("POST", "/v1/listjobs", args) + +""" + UpdateJobQueue() + +Updates a job queue. + +Required Parameters +{ + "jobQueue": "The name or the Amazon Resource Name (ARN) of the job queue." +} + +Optional Parameters +{ + "priority": "The priority of the job queue. Job queues with a higher priority (or a higher integer value for the priority parameter) are evaluated first when associated with the same compute environment. Priority is determined in descending order, for example, a job queue with a priority value of 10 is given scheduling preference over a job queue with a priority value of 1.", + "computeEnvironmentOrder": "Details the set of compute environments mapped to a job queue and their order relative to each other. This is one of the parameters used by the job scheduler to determine which compute environment should execute a given job.", + "state": "Describes the queue's ability to accept new jobs." +} +""" +UpdateJobQueue(args) = batch("POST", "/v1/updatejobqueue", args) + +""" + DescribeJobQueues() + +Describes one or more of your job queues. + +Optional Parameters +{ + "jobQueues": "A list of up to 100 queue names or full queue Amazon Resource Name (ARN) entries.", + "maxResults": "The maximum number of results returned by DescribeJobQueues in paginated output. When this parameter is used, DescribeJobQueues only returns maxResults results in a single page along with a nextToken response element. The remaining results of the initial request can be seen by sending another DescribeJobQueues request with the returned nextToken value. This value can be between 1 and 100. If this parameter is not used, then DescribeJobQueues returns up to 100 results and a nextToken value if applicable.", + "nextToken": "The nextToken value returned from a previous paginated DescribeJobQueues request where maxResults was used and the results exceeded the value of that parameter. Pagination continues from the end of the previous results that returned the nextToken value. This value is null when there are no more results to return. This token should be treated as an opaque identifier that is only used to retrieve the next items in a list and not for other programmatic purposes. " +} +""" +DescribeJobQueues() = batch("POST", "/v1/describejobqueues") +DescribeJobQueues(args) = batch("POST", "/v1/describejobqueues", args) + +""" + DescribeJobDefinitions() + +Describes a list of job definitions. You can specify a status (such as ACTIVE) to only return job definitions that match that status. + +Optional Parameters +{ + "status": "The status with which to filter job definitions.", + "jobDefinitions": "A list of up to 100 job definition names or full Amazon Resource Name (ARN) entries.", + "jobDefinitionName": "The name of the job definition to describe.", + "maxResults": "The maximum number of results returned by DescribeJobDefinitions in paginated output. When this parameter is used, DescribeJobDefinitions only returns maxResults results in a single page along with a nextToken response element. The remaining results of the initial request can be seen by sending another DescribeJobDefinitions request with the returned nextToken value. This value can be between 1 and 100. If this parameter is not used, then DescribeJobDefinitions returns up to 100 results and a nextToken value if applicable.", + "nextToken": "The nextToken value returned from a previous paginated DescribeJobDefinitions request where maxResults was used and the results exceeded the value of that parameter. Pagination continues from the end of the previous results that returned the nextToken value. This value is null when there are no more results to return. This token should be treated as an opaque identifier that is only used to retrieve the next items in a list and not for other programmatic purposes. " +} +""" +DescribeJobDefinitions() = batch("POST", "/v1/describejobdefinitions") +DescribeJobDefinitions(args) = batch("POST", "/v1/describejobdefinitions", args) diff --git a/src/services/budgets.jl b/src/services/budgets.jl new file mode 100644 index 0000000000..9b6e5e2db9 --- /dev/null +++ b/src/services/budgets.jl @@ -0,0 +1,226 @@ +include("../AWSServices.jl") +using .AWSServices: budgets + +""" + DescribeSubscribersForNotification() + +Lists the subscribers that are associated with a notification. + +Required Parameters +{ + "AccountId": "The accountId that is associated with the budget whose subscribers you want descriptions of.", + "BudgetName": "The name of the budget whose subscribers you want descriptions of.", + "Notification": "The notification whose subscribers you want to list." +} + +Optional Parameters +{ + "MaxResults": "An optional integer that represents how many entries a paginated response contains. The maximum is 100.", + "NextToken": "The pagination token that you include in your request to indicate the next set of results that you want to retrieve." +} +""" +DescribeSubscribersForNotification(args) = budgets("DescribeSubscribersForNotification", args) + +""" + DeleteBudget() + +Deletes a budget. You can delete your budget at any time. Deleting a budget also deletes the notifications and subscribers that are associated with that budget. + +Required Parameters +{ + "AccountId": "The accountId that is associated with the budget that you want to delete.", + "BudgetName": "The name of the budget that you want to delete." +} +""" +DeleteBudget(args) = budgets("DeleteBudget", args) + +""" + DescribeBudgets() + +Lists the budgets that are associated with an account. The Request Syntax section shows the BudgetLimit syntax. For PlannedBudgetLimits, see the Examples section. + +Required Parameters +{ + "AccountId": "The accountId that is associated with the budgets that you want descriptions of." +} + +Optional Parameters +{ + "MaxResults": "An optional integer that represents how many entries a paginated response contains. The maximum is 100.", + "NextToken": "The pagination token that you include in your request to indicate the next set of results that you want to retrieve." +} +""" +DescribeBudgets(args) = budgets("DescribeBudgets", args) + +""" + CreateBudget() + +Creates a budget and, if included, notifications and subscribers. Only one of BudgetLimit or PlannedBudgetLimits can be present in the syntax at one time. Use the syntax that matches your case. The Request Syntax section shows the BudgetLimit syntax. For PlannedBudgetLimits, see the Examples section. + +Required Parameters +{ + "Budget": "The budget object that you want to create.", + "AccountId": "The accountId that is associated with the budget." +} + +Optional Parameters +{ + "NotificationsWithSubscribers": "A notification that you want to associate with a budget. A budget can have up to five notifications, and each notification can have one SNS subscriber and up to 10 email subscribers. If you include notifications and subscribers in your CreateBudget call, AWS creates the notifications and subscribers for you." +} +""" +CreateBudget(args) = budgets("CreateBudget", args) + +""" + DeleteSubscriber() + +Deletes a subscriber. Deleting the last subscriber to a notification also deletes the notification. + +Required Parameters +{ + "Subscriber": "The subscriber that you want to delete.", + "AccountId": "The accountId that is associated with the budget whose subscriber you want to delete.", + "BudgetName": "The name of the budget whose subscriber you want to delete.", + "Notification": "The notification whose subscriber you want to delete." +} +""" +DeleteSubscriber(args) = budgets("DeleteSubscriber", args) + +""" + UpdateNotification() + +Updates a notification. + +Required Parameters +{ + "OldNotification": "The previous notification that is associated with a budget.", + "NewNotification": "The updated notification to be associated with a budget.", + "AccountId": "The accountId that is associated with the budget whose notification you want to update.", + "BudgetName": "The name of the budget whose notification you want to update." +} +""" +UpdateNotification(args) = budgets("UpdateNotification", args) + +""" + CreateNotification() + +Creates a notification. You must create the budget before you create the associated notification. + +Required Parameters +{ + "Subscribers": "A list of subscribers that you want to associate with the notification. Each notification can have one SNS subscriber and up to 10 email subscribers.", + "AccountId": "The accountId that is associated with the budget that you want to create a notification for.", + "BudgetName": "The name of the budget that you want AWS to notify you about. Budget names must be unique within an account.", + "Notification": "The notification that you want to create." +} +""" +CreateNotification(args) = budgets("CreateNotification", args) + +""" + CreateSubscriber() + +Creates a subscriber. You must create the associated budget and notification before you create the subscriber. + +Required Parameters +{ + "Subscriber": "The subscriber that you want to associate with a budget notification.", + "AccountId": "The accountId that is associated with the budget that you want to create a subscriber for.", + "BudgetName": "The name of the budget that you want to subscribe to. Budget names must be unique within an account.", + "Notification": "The notification that you want to create a subscriber for." +} +""" +CreateSubscriber(args) = budgets("CreateSubscriber", args) + +""" + DescribeBudget() + +Describes a budget. The Request Syntax section shows the BudgetLimit syntax. For PlannedBudgetLimits, see the Examples section. + +Required Parameters +{ + "AccountId": "The accountId that is associated with the budget that you want a description of.", + "BudgetName": "The name of the budget that you want a description of." +} +""" +DescribeBudget(args) = budgets("DescribeBudget", args) + +""" + UpdateBudget() + +Updates a budget. You can change every part of a budget except for the budgetName and the calculatedSpend. When you modify a budget, the calculatedSpend drops to zero until AWS has new usage data to use for forecasting. Only one of BudgetLimit or PlannedBudgetLimits can be present in the syntax at one time. Use the syntax that matches your case. The Request Syntax section shows the BudgetLimit syntax. For PlannedBudgetLimits, see the Examples section. + +Required Parameters +{ + "NewBudget": "The budget that you want to update your budget to.", + "AccountId": "The accountId that is associated with the budget that you want to update." +} +""" +UpdateBudget(args) = budgets("UpdateBudget", args) + +""" + DescribeBudgetPerformanceHistory() + +Describes the history for DAILY, MONTHLY, and QUARTERLY budgets. Budget history isn't available for ANNUAL budgets. + +Required Parameters +{ + "AccountId": "", + "BudgetName": "" +} + +Optional Parameters +{ + "MaxResults": "", + "NextToken": "", + "TimePeriod": "Retrieves how often the budget went into an ALARM state for the specified time period." +} +""" +DescribeBudgetPerformanceHistory(args) = budgets("DescribeBudgetPerformanceHistory", args) + +""" + DescribeNotificationsForBudget() + +Lists the notifications that are associated with a budget. + +Required Parameters +{ + "AccountId": "The accountId that is associated with the budget whose notifications you want descriptions of.", + "BudgetName": "The name of the budget whose notifications you want descriptions of." +} + +Optional Parameters +{ + "MaxResults": "An optional integer that represents how many entries a paginated response contains. The maximum is 100.", + "NextToken": "The pagination token that you include in your request to indicate the next set of results that you want to retrieve." +} +""" +DescribeNotificationsForBudget(args) = budgets("DescribeNotificationsForBudget", args) + +""" + UpdateSubscriber() + +Updates a subscriber. + +Required Parameters +{ + "AccountId": "The accountId that is associated with the budget whose subscriber you want to update.", + "OldSubscriber": "The previous subscriber that is associated with a budget notification.", + "BudgetName": "The name of the budget whose subscriber you want to update.", + "Notification": "The notification whose subscriber you want to update.", + "NewSubscriber": "The updated subscriber that is associated with a budget notification." +} +""" +UpdateSubscriber(args) = budgets("UpdateSubscriber", args) + +""" + DeleteNotification() + +Deletes a notification. Deleting a notification also deletes the subscribers that are associated with the notification. + +Required Parameters +{ + "AccountId": "The accountId that is associated with the budget whose notification you want to delete.", + "BudgetName": "The name of the budget whose notification you want to delete.", + "Notification": "The notification that you want to delete." +} +""" +DeleteNotification(args) = budgets("DeleteNotification", args) diff --git a/src/services/chime.jl b/src/services/chime.jl new file mode 100644 index 0000000000..b6d5b6b7be --- /dev/null +++ b/src/services/chime.jl @@ -0,0 +1,1347 @@ +include("../AWSServices.jl") +using .AWSServices: chime + +""" + DeleteAccount() + +Deletes the specified Amazon Chime account. You must suspend all users before deleting a Team account. You can use the BatchSuspendUser action to do so. For EnterpriseLWA and EnterpriseAD accounts, you must release the claimed domains for your Amazon Chime account before deletion. As soon as you release the domain, all users under that account are suspended. Deleted accounts appear in your Disabled accounts list for 90 days. To restore a deleted account from your Disabled accounts list, you must contact AWS Support. After 90 days, deleted accounts are permanently removed from your Disabled accounts list. + +Required Parameters +{ + "AccountId": "The Amazon Chime account ID." +} +""" +DeleteAccount(args) = chime("DELETE", "/accounts/{accountId}", args) + +""" + DeleteVoiceConnector() + +Deletes the specified Amazon Chime Voice Connector. Any phone numbers associated with the Amazon Chime Voice Connector must be disassociated from it before it can be deleted. + +Required Parameters +{ + "VoiceConnectorId": "The Amazon Chime Voice Connector ID." +} +""" +DeleteVoiceConnector(args) = chime("DELETE", "/voice-connectors/{voiceConnectorId}", args) + +""" + UpdateBot() + +Updates the status of the specified bot, such as starting or stopping the bot from running in your Amazon Chime Enterprise account. + +Required Parameters +{ + "BotId": "The bot ID.", + "AccountId": "The Amazon Chime account ID." +} + +Optional Parameters +{ + "Disabled": "When true, stops the specified bot from running in your account." +} +""" +UpdateBot(args) = chime("POST", "/accounts/{accountId}/bots/{botId}", args) + +""" + CreateUser() + +Creates a user under the specified Amazon Chime account. + +Required Parameters +{ + "AccountId": "The Amazon Chime account ID." +} + +Optional Parameters +{ + "Email": "The user's email address.", + "UserType": "The user type.", + "Username": "The user name." +} +""" +CreateUser(args) = chime("POST", "/accounts/{accountId}/users?operation=create", args) + +""" + ListPhoneNumbers() + +Lists the phone numbers for the specified Amazon Chime account, Amazon Chime user, Amazon Chime Voice Connector, or Amazon Chime Voice Connector group. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return in a single call.", + "FilterValue": "The value to use for the filter.", + "NextToken": "The token to use to retrieve the next page of results.", + "Status": "The phone number status.", + "FilterName": "The filter to use to limit the number of results.", + "ProductType": "The phone number product type." +} +""" +ListPhoneNumbers() = chime("GET", "/phone-numbers") +ListPhoneNumbers(args) = chime("GET", "/phone-numbers", args) + +""" + CreateMeeting() + +Creates a new Amazon Chime SDK meeting in the specified media Region with no initial attendees. For more information about the Amazon Chime SDK, see Using the Amazon Chime SDK in the Amazon Chime Developer Guide. + +Required Parameters +{ + "ClientRequestToken": "The unique identifier for the client request. Use a different token for different meetings." +} + +Optional Parameters +{ + "MeetingHostId": "Reserved.", + "MediaRegion": "The Region in which to create the meeting. Available values: ap-northeast-1, ap-southeast-1, ap-southeast-2, ca-central-1, eu-central-1, eu-north-1, eu-west-1, eu-west-2, eu-west-3, sa-east-1, us-east-1, us-east-2, us-west-1, us-west-2.", + "NotificationsConfiguration": "The configuration for resource targets to receive notifications when meeting and attendee events occur." +} +""" +CreateMeeting(args) = chime("POST", "/meetings", args) + +""" + ListVoiceConnectorTerminationCredentials() + +Lists the SIP credentials for the specified Amazon Chime Voice Connector. + +Required Parameters +{ + "VoiceConnectorId": "The Amazon Chime Voice Connector ID." +} +""" +ListVoiceConnectorTerminationCredentials(args) = chime("GET", "/voice-connectors/{voiceConnectorId}/termination/credentials", args) + +""" + BatchUnsuspendUser() + +Removes the suspension from up to 50 previously suspended users for the specified Amazon Chime EnterpriseLWA account. Only users on EnterpriseLWA accounts can be unsuspended using this action. For more information about different account types, see Managing Your Amazon Chime Accounts in the Amazon Chime Administration Guide. Previously suspended users who are unsuspended using this action are returned to Registered status. Users who are not previously suspended are ignored. + +Required Parameters +{ + "UserIdList": "The request containing the user IDs to unsuspend.", + "AccountId": "The Amazon Chime account ID." +} +""" +BatchUnsuspendUser(args) = chime("POST", "/accounts/{accountId}/users?operation=unsuspend", args) + +""" + UpdateVoiceConnector() + +Updates details for the specified Amazon Chime Voice Connector. + +Required Parameters +{ + "VoiceConnectorId": "The Amazon Chime Voice Connector ID.", + "RequireEncryption": "When enabled, requires encryption for the Amazon Chime Voice Connector.", + "Name": "The name of the Amazon Chime Voice Connector." +} +""" +UpdateVoiceConnector(args) = chime("PUT", "/voice-connectors/{voiceConnectorId}", args) + +""" + GetBot() + +Retrieves details for the specified bot, such as bot email address, bot type, status, and display name. + +Required Parameters +{ + "BotId": "The bot ID.", + "AccountId": "The Amazon Chime account ID." +} +""" +GetBot(args) = chime("GET", "/accounts/{accountId}/bots/{botId}", args) + +""" + RegenerateSecurityToken() + +Regenerates the security token for a bot. + +Required Parameters +{ + "BotId": "The bot ID.", + "AccountId": "The Amazon Chime account ID." +} +""" +RegenerateSecurityToken(args) = chime("POST", "/accounts/{accountId}/bots/{botId}?operation=regenerate-security-token", args) + +""" + GetAccount() + +Retrieves details for the specified Amazon Chime account, such as account type and supported licenses. + +Required Parameters +{ + "AccountId": "The Amazon Chime account ID." +} +""" +GetAccount(args) = chime("GET", "/accounts/{accountId}", args) + +""" + GetVoiceConnectorLoggingConfiguration() + +Retrieves the logging configuration details for the specified Amazon Chime Voice Connector. Shows whether SIP message logs are enabled for sending to Amazon CloudWatch Logs. + +Required Parameters +{ + "VoiceConnectorId": "The Amazon Chime Voice Connector ID." +} +""" +GetVoiceConnectorLoggingConfiguration(args) = chime("GET", "/voice-connectors/{voiceConnectorId}/logging-configuration", args) + +""" + UpdateRoom() + +Updates room details, such as the room name, for a room in an Amazon Chime Enterprise account. + +Required Parameters +{ + "AccountId": "The Amazon Chime account ID.", + "RoomId": "The room ID." +} + +Optional Parameters +{ + "Name": "The room name." +} +""" +UpdateRoom(args) = chime("POST", "/accounts/{accountId}/rooms/{roomId}", args) + +""" + UpdatePhoneNumber() + +Updates phone number details, such as product type or calling name, for the specified phone number ID. You can update one phone number detail at a time. For example, you can update either the product type or the calling name in one action. For toll-free numbers, you must use the Amazon Chime Voice Connector product type. Updates to outbound calling names can take up to 72 hours to complete. Pending updates to outbound calling names must be complete before you can request another update. + +Required Parameters +{ + "PhoneNumberId": "The phone number ID." +} + +Optional Parameters +{ + "CallingName": "The outbound calling name associated with the phone number.", + "ProductType": "The product type." +} +""" +UpdatePhoneNumber(args) = chime("POST", "/phone-numbers/{phoneNumberId}", args) + +""" + UpdateAccountSettings() + +Updates the settings for the specified Amazon Chime account. You can update settings for remote control of shared screens, or for the dial-out option. For more information about these settings, see Use the Policies Page in the Amazon Chime Administration Guide. + +Required Parameters +{ + "AccountId": "The Amazon Chime account ID.", + "AccountSettings": "The Amazon Chime account settings to update." +} +""" +UpdateAccountSettings(args) = chime("PUT", "/accounts/{accountId}/settings", args) + +""" + CreateVoiceConnectorGroup() + +Creates an Amazon Chime Voice Connector group under the administrator's AWS account. You can associate Amazon Chime Voice Connectors with the Amazon Chime Voice Connector group by including VoiceConnectorItems in the request. You can include Amazon Chime Voice Connectors from different AWS Regions in your group. This creates a fault tolerant mechanism for fallback in case of availability events. + +Required Parameters +{ + "Name": "The name of the Amazon Chime Voice Connector group." +} + +Optional Parameters +{ + "VoiceConnectorItems": "The Amazon Chime Voice Connectors to route inbound calls to." +} +""" +CreateVoiceConnectorGroup(args) = chime("POST", "/voice-connector-groups", args) + +""" + DeleteVoiceConnectorTerminationCredentials() + +Deletes the specified SIP credentials used by your equipment to authenticate during call termination. + +Required Parameters +{ + "VoiceConnectorId": "The Amazon Chime Voice Connector ID." +} + +Optional Parameters +{ + "Usernames": "The RFC2617 compliant username associated with the SIP credentials, in US-ASCII format." +} +""" +DeleteVoiceConnectorTerminationCredentials(args) = chime("POST", "/voice-connectors/{voiceConnectorId}/termination/credentials?operation=delete", args) + +""" + PutVoiceConnectorOrigination() + +Adds origination settings for the specified Amazon Chime Voice Connector. + +Required Parameters +{ + "VoiceConnectorId": "The Amazon Chime Voice Connector ID.", + "Origination": "The origination setting details to add." +} +""" +PutVoiceConnectorOrigination(args) = chime("PUT", "/voice-connectors/{voiceConnectorId}/origination", args) + +""" + GetVoiceConnectorStreamingConfiguration() + +Retrieves the streaming configuration details for the specified Amazon Chime Voice Connector. Shows whether media streaming is enabled for sending to Amazon Kinesis. It also shows the retention period, in hours, for the Amazon Kinesis data. + +Required Parameters +{ + "VoiceConnectorId": "The Amazon Chime Voice Connector ID." +} +""" +GetVoiceConnectorStreamingConfiguration(args) = chime("GET", "/voice-connectors/{voiceConnectorId}/streaming-configuration", args) + +""" + PutEventsConfiguration() + +Creates an events configuration that allows a bot to receive outgoing events sent by Amazon Chime. Choose either an HTTPS endpoint or a Lambda function ARN. For more information, see Bot. + +Required Parameters +{ + "BotId": "The bot ID.", + "AccountId": "The Amazon Chime account ID." +} + +Optional Parameters +{ + "OutboundEventsHTTPSEndpoint": "HTTPS endpoint that allows the bot to receive outgoing events.", + "LambdaFunctionArn": "Lambda function ARN that allows the bot to receive outgoing events." +} +""" +PutEventsConfiguration(args) = chime("PUT", "/accounts/{accountId}/bots/{botId}/events-configuration", args) + +""" + LogoutUser() + +Logs out the specified user from all of the devices they are currently logged into. + +Required Parameters +{ + "UserId": "The user ID.", + "AccountId": "The Amazon Chime account ID." +} +""" +LogoutUser(args) = chime("POST", "/accounts/{accountId}/users/{userId}?operation=logout", args) + +""" + SearchAvailablePhoneNumbers() + +Searches phone numbers that can be ordered. + +Optional Parameters +{ + "TollFreePrefix": "The toll-free prefix that you use to filter results.", + "City": "The city used to filter results.", + "MaxResults": "The maximum number of results to return in a single call.", + "NextToken": "The token to use to retrieve the next page of results.", + "AreaCode": "The area code used to filter results.", + "Country": "The country used to filter results.", + "State": "The state used to filter results." +} +""" +SearchAvailablePhoneNumbers() = chime("GET", "/search?type=phone-numbers") +SearchAvailablePhoneNumbers(args) = chime("GET", "/search?type=phone-numbers", args) + +""" + BatchDeletePhoneNumber() + +Moves phone numbers into the Deletion queue. Phone numbers must be disassociated from any users or Amazon Chime Voice Connectors before they can be deleted. Phone numbers remain in the Deletion queue for 7 days before they are deleted permanently. + +Required Parameters +{ + "PhoneNumberIds": "List of phone number IDs." +} +""" +BatchDeletePhoneNumber(args) = chime("POST", "/phone-numbers?operation=batch-delete", args) + +""" + DeleteMeeting() + +Deletes the specified Amazon Chime SDK meeting. When a meeting is deleted, its attendees are also deleted and clients can no longer join it. For more information about the Amazon Chime SDK, see Using the Amazon Chime SDK in the Amazon Chime Developer Guide. + +Required Parameters +{ + "MeetingId": "The Amazon Chime SDK meeting ID." +} +""" +DeleteMeeting(args) = chime("DELETE", "/meetings/{meetingId}", args) + +""" + GetPhoneNumberSettings() + +Retrieves the phone number settings for the administrator's AWS account, such as the default outbound calling name. +""" +GetPhoneNumberSettings() = chime("GET", "/settings/phone-number") +GetPhoneNumberSettings(args) = chime("GET", "/settings/phone-number", args) + +""" + PutVoiceConnectorTermination() + +Adds termination settings for the specified Amazon Chime Voice Connector. + +Required Parameters +{ + "VoiceConnectorId": "The Amazon Chime Voice Connector ID.", + "Termination": "The termination setting details to add." +} +""" +PutVoiceConnectorTermination(args) = chime("PUT", "/voice-connectors/{voiceConnectorId}/termination", args) + +""" + PutVoiceConnectorTerminationCredentials() + +Adds termination SIP credentials for the specified Amazon Chime Voice Connector. + +Required Parameters +{ + "VoiceConnectorId": "The Amazon Chime Voice Connector ID." +} + +Optional Parameters +{ + "Credentials": "The termination SIP credentials." +} +""" +PutVoiceConnectorTerminationCredentials(args) = chime("POST", "/voice-connectors/{voiceConnectorId}/termination/credentials?operation=put", args) + +""" + AssociateSigninDelegateGroupsWithAccount() + +Associates the specified sign-in delegate groups with the specified Amazon Chime account. + +Required Parameters +{ + "AccountId": "The Amazon Chime account ID.", + "SigninDelegateGroups": "The sign-in delegate groups." +} +""" +AssociateSigninDelegateGroupsWithAccount(args) = chime("POST", "/accounts/{accountId}?operation=associate-signin-delegate-groups", args) + +""" + ListRoomMemberships() + +Lists the membership details for the specified room in an Amazon Chime Enterprise account, such as the members' IDs, email addresses, and names. + +Required Parameters +{ + "AccountId": "The Amazon Chime account ID.", + "RoomId": "The room ID." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return in a single call.", + "NextToken": "The token to use to retrieve the next page of results." +} +""" +ListRoomMemberships(args) = chime("GET", "/accounts/{accountId}/rooms/{roomId}/memberships", args) + +""" + BatchCreateRoomMembership() + +Adds up to 50 members to a chat room in an Amazon Chime Enterprise account. Members can be either users or bots. The member role designates whether the member is a chat room administrator or a general chat room member. + +Required Parameters +{ + "MembershipItemList": "The list of membership items.", + "AccountId": "The Amazon Chime account ID.", + "RoomId": "The room ID." +} +""" +BatchCreateRoomMembership(args) = chime("POST", "/accounts/{accountId}/rooms/{roomId}/memberships?operation=batch-create", args) + +""" + UpdateAccount() + +Updates account details for the specified Amazon Chime account. Currently, only account name updates are supported for this action. + +Required Parameters +{ + "AccountId": "The Amazon Chime account ID." +} + +Optional Parameters +{ + "Name": "The new name for the specified Amazon Chime account." +} +""" +UpdateAccount(args) = chime("POST", "/accounts/{accountId}", args) + +""" + ListAccounts() + +Lists the Amazon Chime accounts under the administrator's AWS account. You can filter accounts by account name prefix. To find out which Amazon Chime account a user belongs to, you can filter by the user's email address, which returns one account result. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return in a single call. Defaults to 100.", + "NextToken": "The token to use to retrieve the next page of results.", + "UserEmail": "User email address with which to filter results.", + "Name": "Amazon Chime account name prefix with which to filter results." +} +""" +ListAccounts() = chime("GET", "/accounts") +ListAccounts(args) = chime("GET", "/accounts", args) + +""" + GetUser() + +Retrieves details for the specified user ID, such as primary email address, license type, and personal meeting PIN. To retrieve user details with an email address instead of a user ID, use the ListUsers action, and then filter by email address. + +Required Parameters +{ + "UserId": "The user ID.", + "AccountId": "The Amazon Chime account ID." +} +""" +GetUser(args) = chime("GET", "/accounts/{accountId}/users/{userId}", args) + +""" + ListVoiceConnectors() + +Lists the Amazon Chime Voice Connectors for the administrator's AWS account. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return in a single call.", + "NextToken": "The token to use to retrieve the next page of results." +} +""" +ListVoiceConnectors() = chime("GET", "/voice-connectors") +ListVoiceConnectors(args) = chime("GET", "/voice-connectors", args) + +""" + ListBots() + +Lists the bots associated with the administrator's Amazon Chime Enterprise account ID. + +Required Parameters +{ + "AccountId": "The Amazon Chime account ID." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return in a single call. The default is 10.", + "NextToken": "The token to use to retrieve the next page of results." +} +""" +ListBots(args) = chime("GET", "/accounts/{accountId}/bots", args) + +""" + DeleteEventsConfiguration() + +Deletes the events configuration that allows a bot to receive outgoing events. + +Required Parameters +{ + "BotId": "The bot ID.", + "AccountId": "The Amazon Chime account ID." +} +""" +DeleteEventsConfiguration(args) = chime("DELETE", "/accounts/{accountId}/bots/{botId}/events-configuration", args) + +""" + DeleteVoiceConnectorOrigination() + +Deletes the origination settings for the specified Amazon Chime Voice Connector. + +Required Parameters +{ + "VoiceConnectorId": "The Amazon Chime Voice Connector ID." +} +""" +DeleteVoiceConnectorOrigination(args) = chime("DELETE", "/voice-connectors/{voiceConnectorId}/origination", args) + +""" + AssociatePhoneNumbersWithVoiceConnectorGroup() + +Associates phone numbers with the specified Amazon Chime Voice Connector group. + +Required Parameters +{ + "VoiceConnectorGroupId": "The Amazon Chime Voice Connector group ID." +} + +Optional Parameters +{ + "ForceAssociate": "If true, associates the provided phone numbers with the provided Amazon Chime Voice Connector Group and removes any previously existing associations. If false, does not associate any phone numbers that have previously existing associations.", + "E164PhoneNumbers": "List of phone numbers, in E.164 format." +} +""" +AssociatePhoneNumbersWithVoiceConnectorGroup(args) = chime("POST", "/voice-connector-groups/{voiceConnectorGroupId}?operation=associate-phone-numbers", args) + +""" + PutVoiceConnectorLoggingConfiguration() + +Adds a logging configuration for the specified Amazon Chime Voice Connector. The logging configuration specifies whether SIP message logs are enabled for sending to Amazon CloudWatch Logs. + +Required Parameters +{ + "LoggingConfiguration": "The logging configuration details to add.", + "VoiceConnectorId": "The Amazon Chime Voice Connector ID." +} +""" +PutVoiceConnectorLoggingConfiguration(args) = chime("PUT", "/voice-connectors/{voiceConnectorId}/logging-configuration", args) + +""" + GetPhoneNumberOrder() + +Retrieves details for the specified phone number order, such as order creation timestamp, phone numbers in E.164 format, product type, and order status. + +Required Parameters +{ + "PhoneNumberOrderId": "The ID for the phone number order." +} +""" +GetPhoneNumberOrder(args) = chime("GET", "/phone-number-orders/{phoneNumberOrderId}", args) + +""" + CreateRoom() + +Creates a chat room for the specified Amazon Chime Enterprise account. + +Required Parameters +{ + "AccountId": "The Amazon Chime account ID.", + "Name": "The room name." +} + +Optional Parameters +{ + "ClientRequestToken": "The idempotency token for the request." +} +""" +CreateRoom(args) = chime("POST", "/accounts/{accountId}/rooms", args) + +""" + UpdatePhoneNumberSettings() + +Updates the phone number settings for the administrator's AWS account, such as the default outbound calling name. You can update the default outbound calling name once every seven days. Outbound calling names can take up to 72 hours to update. + +Required Parameters +{ + "CallingName": "The default outbound calling name for the account." +} +""" +UpdatePhoneNumberSettings(args) = chime("PUT", "/settings/phone-number", args) + +""" + BatchUpdatePhoneNumber() + +Updates phone number product types or calling names. You can update one attribute at a time for each UpdatePhoneNumberRequestItem. For example, you can update either the product type or the calling name. For product types, choose from Amazon Chime Business Calling and Amazon Chime Voice Connector. For toll-free numbers, you must use the Amazon Chime Voice Connector product type. Updates to outbound calling names can take up to 72 hours to complete. Pending updates to outbound calling names must be complete before you can request another update. + +Required Parameters +{ + "UpdatePhoneNumberRequestItems": "The request containing the phone number IDs and product types or calling names to update." +} +""" +BatchUpdatePhoneNumber(args) = chime("POST", "/phone-numbers?operation=batch-update", args) + +""" + CreateVoiceConnector() + +Creates an Amazon Chime Voice Connector under the administrator's AWS account. You can choose to create an Amazon Chime Voice Connector in a specific AWS Region. Enabling CreateVoiceConnectorRequest RequireEncryption configures your Amazon Chime Voice Connector to use TLS transport for SIP signaling and Secure RTP (SRTP) for media. Inbound calls use TLS transport, and unencrypted outbound calls are blocked. + +Required Parameters +{ + "RequireEncryption": "When enabled, requires encryption for the Amazon Chime Voice Connector.", + "Name": "The name of the Amazon Chime Voice Connector." +} + +Optional Parameters +{ + "AwsRegion": "The AWS Region in which the Amazon Chime Voice Connector is created. Default value: us-east-1." +} +""" +CreateVoiceConnector(args) = chime("POST", "/voice-connectors", args) + +""" + DisassociatePhoneNumbersFromVoiceConnector() + +Disassociates the specified phone numbers from the specified Amazon Chime Voice Connector. + +Required Parameters +{ + "VoiceConnectorId": "The Amazon Chime Voice Connector ID." +} + +Optional Parameters +{ + "E164PhoneNumbers": "List of phone numbers, in E.164 format." +} +""" +DisassociatePhoneNumbersFromVoiceConnector(args) = chime("POST", "/voice-connectors/{voiceConnectorId}?operation=disassociate-phone-numbers", args) + +""" + DisassociatePhoneNumberFromUser() + +Disassociates the primary provisioned phone number from the specified Amazon Chime user. + +Required Parameters +{ + "UserId": "The user ID.", + "AccountId": "The Amazon Chime account ID." +} +""" +DisassociatePhoneNumberFromUser(args) = chime("POST", "/accounts/{accountId}/users/{userId}?operation=disassociate-phone-number", args) + +""" + GetVoiceConnectorGroup() + +Retrieves details for the specified Amazon Chime Voice Connector group, such as timestamps, name, and associated VoiceConnectorItems. + +Required Parameters +{ + "VoiceConnectorGroupId": "The Amazon Chime Voice Connector group ID." +} +""" +GetVoiceConnectorGroup(args) = chime("GET", "/voice-connector-groups/{voiceConnectorGroupId}", args) + +""" + DeleteVoiceConnectorTermination() + +Deletes the termination settings for the specified Amazon Chime Voice Connector. + +Required Parameters +{ + "VoiceConnectorId": "The Amazon Chime Voice Connector ID." +} +""" +DeleteVoiceConnectorTermination(args) = chime("DELETE", "/voice-connectors/{voiceConnectorId}/termination", args) + +""" + ListVoiceConnectorGroups() + +Lists the Amazon Chime Voice Connector groups for the administrator's AWS account. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return in a single call.", + "NextToken": "The token to use to retrieve the next page of results." +} +""" +ListVoiceConnectorGroups() = chime("GET", "/voice-connector-groups") +ListVoiceConnectorGroups(args) = chime("GET", "/voice-connector-groups", args) + +""" + UpdateUser() + +Updates user details for a specified user ID. Currently, only LicenseType updates are supported for this action. + +Required Parameters +{ + "UserId": "The user ID.", + "AccountId": "The Amazon Chime account ID." +} + +Optional Parameters +{ + "AlexaForBusinessMetadata": "The Alexa for Business metadata.", + "LicenseType": "The user license type to update. This must be a supported license type for the Amazon Chime account that the user belongs to.", + "UserType": "The user type." +} +""" +UpdateUser(args) = chime("POST", "/accounts/{accountId}/users/{userId}", args) + +""" + CreateAttendee() + +Creates a new attendee for an active Amazon Chime SDK meeting. For more information about the Amazon Chime SDK, see Using the Amazon Chime SDK in the Amazon Chime Developer Guide. + +Required Parameters +{ + "MeetingId": "The Amazon Chime SDK meeting ID.", + "ExternalUserId": "The Amazon Chime SDK external user ID. Links the attendee to an identity managed by a builder application." +} +""" +CreateAttendee(args) = chime("POST", "/meetings/{meetingId}/attendees", args) + +""" + CreateRoomMembership() + +Adds a member to a chat room in an Amazon Chime Enterprise account. A member can be either a user or a bot. The member role designates whether the member is a chat room administrator or a general chat room member. + +Required Parameters +{ + "MemberId": "The Amazon Chime member ID (user ID or bot ID).", + "AccountId": "The Amazon Chime account ID.", + "RoomId": "The room ID." +} + +Optional Parameters +{ + "Role": "The role of the member." +} +""" +CreateRoomMembership(args) = chime("POST", "/accounts/{accountId}/rooms/{roomId}/memberships", args) + +""" + GetGlobalSettings() + +Retrieves global settings for the administrator's AWS account, such as Amazon Chime Business Calling and Amazon Chime Voice Connector settings. +""" +GetGlobalSettings() = chime("GET", "/settings") +GetGlobalSettings(args) = chime("GET", "/settings", args) + +""" + GetVoiceConnectorTermination() + +Retrieves termination setting details for the specified Amazon Chime Voice Connector. + +Required Parameters +{ + "VoiceConnectorId": "The Amazon Chime Voice Connector ID." +} +""" +GetVoiceConnectorTermination(args) = chime("GET", "/voice-connectors/{voiceConnectorId}/termination", args) + +""" + UpdateRoomMembership() + +Updates room membership details, such as the member role, for a room in an Amazon Chime Enterprise account. The member role designates whether the member is a chat room administrator or a general chat room member. The member role can be updated only for user IDs. + +Required Parameters +{ + "MemberId": "The member ID.", + "AccountId": "The Amazon Chime account ID.", + "RoomId": "The room ID." +} + +Optional Parameters +{ + "Role": "The role of the member." +} +""" +UpdateRoomMembership(args) = chime("POST", "/accounts/{accountId}/rooms/{roomId}/memberships/{memberId}", args) + +""" + GetEventsConfiguration() + +Gets details for an events configuration that allows a bot to receive outgoing events, such as an HTTPS endpoint or Lambda function ARN. + +Required Parameters +{ + "BotId": "The bot ID.", + "AccountId": "The Amazon Chime account ID." +} +""" +GetEventsConfiguration(args) = chime("GET", "/accounts/{accountId}/bots/{botId}/events-configuration", args) + +""" + GetRoom() + +Retrieves room details, such as the room name, for a room in an Amazon Chime Enterprise account. + +Required Parameters +{ + "AccountId": "The Amazon Chime account ID.", + "RoomId": "The room ID." +} +""" +GetRoom(args) = chime("GET", "/accounts/{accountId}/rooms/{roomId}", args) + +""" + BatchCreateAttendee() + +Creates up to 100 new attendees for an active Amazon Chime SDK meeting. For more information about the Amazon Chime SDK, see Using the Amazon Chime SDK in the Amazon Chime Developer Guide. + +Required Parameters +{ + "MeetingId": "The Amazon Chime SDK meeting ID.", + "Attendees": "The request containing the attendees to create." +} +""" +BatchCreateAttendee(args) = chime("POST", "/meetings/{meetingId}/attendees?operation=batch-create", args) + +""" + PutVoiceConnectorStreamingConfiguration() + +Adds a streaming configuration for the specified Amazon Chime Voice Connector. The streaming configuration specifies whether media streaming is enabled for sending to Amazon Kinesis. It also sets the retention period, in hours, for the Amazon Kinesis data. + +Required Parameters +{ + "VoiceConnectorId": "The Amazon Chime Voice Connector ID.", + "StreamingConfiguration": "The streaming configuration details to add." +} +""" +PutVoiceConnectorStreamingConfiguration(args) = chime("PUT", "/voice-connectors/{voiceConnectorId}/streaming-configuration", args) + +""" + ListUsers() + +Lists the users that belong to the specified Amazon Chime account. You can specify an email address to list only the user that the email address belongs to. + +Required Parameters +{ + "AccountId": "The Amazon Chime account ID." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return in a single call. Defaults to 100.", + "NextToken": "The token to use to retrieve the next page of results.", + "UserEmail": "Optional. The user email address used to filter results. Maximum 1.", + "UserType": "The user type." +} +""" +ListUsers(args) = chime("GET", "/accounts/{accountId}/users", args) + +""" + UpdateUserSettings() + +Updates the settings for the specified user, such as phone number settings. + +Required Parameters +{ + "UserId": "The user ID.", + "AccountId": "The Amazon Chime account ID.", + "UserSettings": "The user settings to update." +} +""" +UpdateUserSettings(args) = chime("PUT", "/accounts/{accountId}/users/{userId}/settings", args) + +""" + GetVoiceConnectorTerminationHealth() + +Retrieves information about the last time a SIP OPTIONS ping was received from your SIP infrastructure for the specified Amazon Chime Voice Connector. + +Required Parameters +{ + "VoiceConnectorId": "The Amazon Chime Voice Connector ID." +} +""" +GetVoiceConnectorTerminationHealth(args) = chime("GET", "/voice-connectors/{voiceConnectorId}/termination/health", args) + +""" + ListMeetings() + +Lists up to 100 active Amazon Chime SDK meetings. For more information about the Amazon Chime SDK, see Using the Amazon Chime SDK in the Amazon Chime Developer Guide. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return in a single call.", + "NextToken": "The token to use to retrieve the next page of results." +} +""" +ListMeetings() = chime("GET", "/meetings") +ListMeetings(args) = chime("GET", "/meetings", args) + +""" + UpdateGlobalSettings() + +Updates global settings for the administrator's AWS account, such as Amazon Chime Business Calling and Amazon Chime Voice Connector settings. + +Required Parameters +{ + "BusinessCalling": "The Amazon Chime Business Calling settings.", + "VoiceConnector": "The Amazon Chime Voice Connector settings." +} +""" +UpdateGlobalSettings(args) = chime("PUT", "/settings", args) + +""" + GetAttendee() + +Gets the Amazon Chime SDK attendee details for a specified meeting ID and attendee ID. For more information about the Amazon Chime SDK, see Using the Amazon Chime SDK in the Amazon Chime Developer Guide. + +Required Parameters +{ + "MeetingId": "The Amazon Chime SDK meeting ID.", + "AttendeeId": "The Amazon Chime SDK attendee ID." +} +""" +GetAttendee(args) = chime("GET", "/meetings/{meetingId}/attendees/{attendeeId}", args) + +""" + CreateAccount() + +Creates an Amazon Chime account under the administrator's AWS account. Only Team account types are currently supported for this action. For more information about different account types, see Managing Your Amazon Chime Accounts in the Amazon Chime Administration Guide. + +Required Parameters +{ + "Name": "The name of the Amazon Chime account." +} +""" +CreateAccount(args) = chime("POST", "/accounts", args) + +""" + CreateBot() + +Creates a bot for an Amazon Chime Enterprise account. + +Required Parameters +{ + "DisplayName": "The bot display name.", + "AccountId": "The Amazon Chime account ID." +} + +Optional Parameters +{ + "Domain": "The domain of the Amazon Chime Enterprise account." +} +""" +CreateBot(args) = chime("POST", "/accounts/{accountId}/bots", args) + +""" + DisassociateSigninDelegateGroupsFromAccount() + +Disassociates the specified sign-in delegate groups from the specified Amazon Chime account. + +Required Parameters +{ + "AccountId": "The Amazon Chime account ID.", + "GroupNames": "The sign-in delegate group names." +} +""" +DisassociateSigninDelegateGroupsFromAccount(args) = chime("POST", "/accounts/{accountId}?operation=disassociate-signin-delegate-groups", args) + +""" + AssociatePhoneNumberWithUser() + +Associates a phone number with the specified Amazon Chime user. + +Required Parameters +{ + "E164PhoneNumber": "The phone number, in E.164 format.", + "UserId": "The user ID.", + "AccountId": "The Amazon Chime account ID." +} +""" +AssociatePhoneNumberWithUser(args) = chime("POST", "/accounts/{accountId}/users/{userId}?operation=associate-phone-number", args) + +""" + GetVoiceConnectorOrigination() + +Retrieves origination setting details for the specified Amazon Chime Voice Connector. + +Required Parameters +{ + "VoiceConnectorId": "The Amazon Chime Voice Connector ID." +} +""" +GetVoiceConnectorOrigination(args) = chime("GET", "/voice-connectors/{voiceConnectorId}/origination", args) + +""" + GetAccountSettings() + +Retrieves account settings for the specified Amazon Chime account ID, such as remote control and dial out settings. For more information about these settings, see Use the Policies Page in the Amazon Chime Administration Guide. + +Required Parameters +{ + "AccountId": "The Amazon Chime account ID." +} +""" +GetAccountSettings(args) = chime("GET", "/accounts/{accountId}/settings", args) + +""" + DeleteRoom() + +Deletes a chat room in an Amazon Chime Enterprise account. + +Required Parameters +{ + "AccountId": "The Amazon Chime account ID.", + "RoomId": "The chat room ID." +} +""" +DeleteRoom(args) = chime("DELETE", "/accounts/{accountId}/rooms/{roomId}", args) + +""" + GetVoiceConnector() + +Retrieves details for the specified Amazon Chime Voice Connector, such as timestamps, name, outbound host, and encryption requirements. + +Required Parameters +{ + "VoiceConnectorId": "The Amazon Chime Voice Connector ID." +} +""" +GetVoiceConnector(args) = chime("GET", "/voice-connectors/{voiceConnectorId}", args) + +""" + BatchSuspendUser() + +Suspends up to 50 users from a Team or EnterpriseLWA Amazon Chime account. For more information about different account types, see Managing Your Amazon Chime Accounts in the Amazon Chime Administration Guide. Users suspended from a Team account are disassociated from the account, but they can continue to use Amazon Chime as free users. To remove the suspension from suspended Team account users, invite them to the Team account again. You can use the InviteUsers action to do so. Users suspended from an EnterpriseLWA account are immediately signed out of Amazon Chime and can no longer sign in. To remove the suspension from suspended EnterpriseLWA account users, use the BatchUnsuspendUser action. To sign out users without suspending them, use the LogoutUser action. + +Required Parameters +{ + "UserIdList": "The request containing the user IDs to suspend.", + "AccountId": "The Amazon Chime account ID." +} +""" +BatchSuspendUser(args) = chime("POST", "/accounts/{accountId}/users?operation=suspend", args) + +""" + DeleteVoiceConnectorStreamingConfiguration() + +Deletes the streaming configuration for the specified Amazon Chime Voice Connector. + +Required Parameters +{ + "VoiceConnectorId": "The Amazon Chime Voice Connector ID." +} +""" +DeleteVoiceConnectorStreamingConfiguration(args) = chime("DELETE", "/voice-connectors/{voiceConnectorId}/streaming-configuration", args) + +""" + GetUserSettings() + +Retrieves settings for the specified user ID, such as any associated phone number settings. + +Required Parameters +{ + "UserId": "The user ID.", + "AccountId": "The Amazon Chime account ID." +} +""" +GetUserSettings(args) = chime("GET", "/accounts/{accountId}/users/{userId}/settings", args) + +""" + InviteUsers() + +Sends email to a maximum of 50 users, inviting them to the specified Amazon Chime Team account. Only Team account types are currently supported for this action. + +Required Parameters +{ + "AccountId": "The Amazon Chime account ID.", + "UserEmailList": "The user email addresses to which to send the email invitation." +} + +Optional Parameters +{ + "UserType": "The user type." +} +""" +InviteUsers(args) = chime("POST", "/accounts/{accountId}/users?operation=add", args) + +""" + UpdateVoiceConnectorGroup() + +Updates details for the specified Amazon Chime Voice Connector group, such as the name and Amazon Chime Voice Connector priority ranking. + +Required Parameters +{ + "VoiceConnectorItems": "The VoiceConnectorItems to associate with the group.", + "Name": "The name of the Amazon Chime Voice Connector group.", + "VoiceConnectorGroupId": "The Amazon Chime Voice Connector group ID." +} +""" +UpdateVoiceConnectorGroup(args) = chime("PUT", "/voice-connector-groups/{voiceConnectorGroupId}", args) + +""" + GetMeeting() + +Gets the Amazon Chime SDK meeting details for the specified meeting ID. For more information about the Amazon Chime SDK, see Using the Amazon Chime SDK in the Amazon Chime Developer Guide. + +Required Parameters +{ + "MeetingId": "The Amazon Chime SDK meeting ID." +} +""" +GetMeeting(args) = chime("GET", "/meetings/{meetingId}", args) + +""" + DeleteVoiceConnectorGroup() + +Deletes the specified Amazon Chime Voice Connector group. Any VoiceConnectorItems and phone numbers associated with the group must be removed before it can be deleted. + +Required Parameters +{ + "VoiceConnectorGroupId": "The Amazon Chime Voice Connector group ID." +} +""" +DeleteVoiceConnectorGroup(args) = chime("DELETE", "/voice-connector-groups/{voiceConnectorGroupId}", args) + +""" + ListRooms() + +Lists the room details for the specified Amazon Chime Enterprise account. Optionally, filter the results by a member ID (user ID or bot ID) to see a list of rooms that the member belongs to. + +Required Parameters +{ + "AccountId": "The Amazon Chime account ID." +} + +Optional Parameters +{ + "MemberId": "The member ID (user ID or bot ID).", + "MaxResults": "The maximum number of results to return in a single call.", + "NextToken": "The token to use to retrieve the next page of results." +} +""" +ListRooms(args) = chime("GET", "/accounts/{accountId}/rooms", args) + +""" + AssociatePhoneNumbersWithVoiceConnector() + +Associates phone numbers with the specified Amazon Chime Voice Connector. + +Required Parameters +{ + "VoiceConnectorId": "The Amazon Chime Voice Connector ID." +} + +Optional Parameters +{ + "ForceAssociate": "If true, associates the provided phone numbers with the provided Amazon Chime Voice Connector and removes any previously existing associations. If false, does not associate any phone numbers that have previously existing associations.", + "E164PhoneNumbers": "List of phone numbers, in E.164 format." +} +""" +AssociatePhoneNumbersWithVoiceConnector(args) = chime("POST", "/voice-connectors/{voiceConnectorId}?operation=associate-phone-numbers", args) + +""" + GetPhoneNumber() + +Retrieves details for the specified phone number ID, such as associations, capabilities, and product type. + +Required Parameters +{ + "PhoneNumberId": "The phone number ID." +} +""" +GetPhoneNumber(args) = chime("GET", "/phone-numbers/{phoneNumberId}", args) + +""" + DisassociatePhoneNumbersFromVoiceConnectorGroup() + +Disassociates the specified phone numbers from the specified Amazon Chime Voice Connector group. + +Required Parameters +{ + "VoiceConnectorGroupId": "The Amazon Chime Voice Connector group ID." +} + +Optional Parameters +{ + "E164PhoneNumbers": "List of phone numbers, in E.164 format." +} +""" +DisassociatePhoneNumbersFromVoiceConnectorGroup(args) = chime("POST", "/voice-connector-groups/{voiceConnectorGroupId}?operation=disassociate-phone-numbers", args) + +""" + BatchUpdateUser() + +Updates user details within the UpdateUserRequestItem object for up to 20 users for the specified Amazon Chime account. Currently, only LicenseType updates are supported for this action. + +Required Parameters +{ + "UpdateUserRequestItems": "The request containing the user IDs and details to update.", + "AccountId": "The Amazon Chime account ID." +} +""" +BatchUpdateUser(args) = chime("POST", "/accounts/{accountId}/users", args) + +""" + ResetPersonalPIN() + +Resets the personal meeting PIN for the specified user on an Amazon Chime account. Returns the User object with the updated personal meeting PIN. + +Required Parameters +{ + "UserId": "The user ID.", + "AccountId": "The Amazon Chime account ID." +} +""" +ResetPersonalPIN(args) = chime("POST", "/accounts/{accountId}/users/{userId}?operation=reset-personal-pin", args) + +""" + RestorePhoneNumber() + +Moves a phone number from the Deletion queue back into the phone number Inventory. + +Required Parameters +{ + "PhoneNumberId": "The phone number." +} +""" +RestorePhoneNumber(args) = chime("POST", "/phone-numbers/{phoneNumberId}?operation=restore", args) + +""" + DeleteRoomMembership() + +Removes a member from a chat room in an Amazon Chime Enterprise account. + +Required Parameters +{ + "MemberId": "The member ID (user ID or bot ID).", + "AccountId": "The Amazon Chime account ID.", + "RoomId": "The room ID." +} +""" +DeleteRoomMembership(args) = chime("DELETE", "/accounts/{accountId}/rooms/{roomId}/memberships/{memberId}", args) + +""" + CreatePhoneNumberOrder() + +Creates an order for phone numbers to be provisioned. Choose from Amazon Chime Business Calling and Amazon Chime Voice Connector product types. For toll-free numbers, you must use the Amazon Chime Voice Connector product type. + +Required Parameters +{ + "E164PhoneNumbers": "List of phone numbers, in E.164 format.", + "ProductType": "The phone number product type." +} +""" +CreatePhoneNumberOrder(args) = chime("POST", "/phone-number-orders", args) + +""" + ListAttendees() + +Lists the attendees for the specified Amazon Chime SDK meeting. For more information about the Amazon Chime SDK, see Using the Amazon Chime SDK in the Amazon Chime Developer Guide. + +Required Parameters +{ + "MeetingId": "The Amazon Chime SDK meeting ID." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return in a single call.", + "NextToken": "The token to use to retrieve the next page of results." +} +""" +ListAttendees(args) = chime("GET", "/meetings/{meetingId}/attendees", args) + +""" + DeletePhoneNumber() + +Moves the specified phone number into the Deletion queue. A phone number must be disassociated from any users or Amazon Chime Voice Connectors before it can be deleted. Deleted phone numbers remain in the Deletion queue for 7 days before they are deleted permanently. + +Required Parameters +{ + "PhoneNumberId": "The phone number ID." +} +""" +DeletePhoneNumber(args) = chime("DELETE", "/phone-numbers/{phoneNumberId}", args) + +""" + DeleteAttendee() + +Deletes an attendee from the specified Amazon Chime SDK meeting and deletes their JoinToken. Attendees are automatically deleted when a Amazon Chime SDK meeting is deleted. For more information about the Amazon Chime SDK, see Using the Amazon Chime SDK in the Amazon Chime Developer Guide. + +Required Parameters +{ + "MeetingId": "The Amazon Chime SDK meeting ID.", + "AttendeeId": "The Amazon Chime SDK attendee ID." +} +""" +DeleteAttendee(args) = chime("DELETE", "/meetings/{meetingId}/attendees/{attendeeId}", args) + +""" + ListPhoneNumberOrders() + +Lists the phone number orders for the administrator's Amazon Chime account. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return in a single call.", + "NextToken": "The token to use to retrieve the next page of results." +} +""" +ListPhoneNumberOrders() = chime("GET", "/phone-number-orders") +ListPhoneNumberOrders(args) = chime("GET", "/phone-number-orders", args) diff --git a/src/services/cloud9.jl b/src/services/cloud9.jl new file mode 100644 index 0000000000..d0be212ab1 --- /dev/null +++ b/src/services/cloud9.jl @@ -0,0 +1,189 @@ +include("../AWSServices.jl") +using .AWSServices: cloud9 + +""" + ListTagsForResource() + +Gets a list of the tags associated with an AWS Cloud9 development environment. + +Required Parameters +{ + "ResourceARN": "The Amazon Resource Name (ARN) of the AWS Cloud9 development environment to get the tags for." +} +""" +ListTagsForResource(args) = cloud9("ListTagsForResource", args) + +""" + CreateEnvironmentEC2() + +Creates an AWS Cloud9 development environment, launches an Amazon Elastic Compute Cloud (Amazon EC2) instance, and then connects from the instance to the environment. + +Required Parameters +{ + "name": "The name of the environment to create. This name is visible to other AWS IAM users in the same AWS account.", + "instanceType": "The type of instance to connect to the environment (for example, t2.micro)." +} + +Optional Parameters +{ + "automaticStopTimeMinutes": "The number of minutes until the running instance is shut down after the environment has last been used.", + "ownerArn": "The Amazon Resource Name (ARN) of the environment owner. This ARN can be the ARN of any AWS IAM principal. If this value is not specified, the ARN defaults to this environment's creator.", + "clientRequestToken": "A unique, case-sensitive string that helps AWS Cloud9 to ensure this operation completes no more than one time. For more information, see Client Tokens in the Amazon EC2 API Reference.", + "tags": "An array of key-value pairs that will be associated with the new AWS Cloud9 development environment.", + "description": "The description of the environment to create.", + "subnetId": "The ID of the subnet in Amazon VPC that AWS Cloud9 will use to communicate with the Amazon EC2 instance." +} +""" +CreateEnvironmentEC2(args) = cloud9("CreateEnvironmentEC2", args) + +""" + DescribeEnvironmentMemberships() + +Gets information about environment members for an AWS Cloud9 development environment. + +Optional Parameters +{ + "userArn": "The Amazon Resource Name (ARN) of an individual environment member to get information about. If no value is specified, information about all environment members are returned.", + "maxResults": "The maximum number of environment members to get information about.", + "permissions": "The type of environment member permissions to get information about. Available values include: owner: Owns the environment. read-only: Has read-only access to the environment. read-write: Has read-write access to the environment. If no value is specified, information about all environment members are returned.", + "environmentId": "The ID of the environment to get environment member information about.", + "nextToken": "During a previous call, if there are more than 25 items in the list, only the first 25 items are returned, along with a unique string called a next token. To get the next batch of items in the list, call this operation again, adding the next token to the call. To get all of the items in the list, keep calling this operation with each subsequent next token that is returned, until no more next tokens are returned." +} +""" +DescribeEnvironmentMemberships() = cloud9("DescribeEnvironmentMemberships") +DescribeEnvironmentMemberships(args) = cloud9("DescribeEnvironmentMemberships", args) + +""" + CreateEnvironmentMembership() + +Adds an environment member to an AWS Cloud9 development environment. + +Required Parameters +{ + "userArn": "The Amazon Resource Name (ARN) of the environment member you want to add.", + "permissions": "The type of environment member permissions you want to associate with this environment member. Available values include: read-only: Has read-only access to the environment. read-write: Has read-write access to the environment. ", + "environmentId": "The ID of the environment that contains the environment member you want to add." +} +""" +CreateEnvironmentMembership(args) = cloud9("CreateEnvironmentMembership", args) + +""" + DescribeEnvironments() + +Gets information about AWS Cloud9 development environments. + +Required Parameters +{ + "environmentIds": "The IDs of individual environments to get information about." +} +""" +DescribeEnvironments(args) = cloud9("DescribeEnvironments", args) + +""" + UntagResource() + +Removes tags from an AWS Cloud9 development environment. + +Required Parameters +{ + "ResourceARN": "The Amazon Resource Name (ARN) of the AWS Cloud9 development environment to remove tags from.", + "TagKeys": "The tag names of the tags to remove from the given AWS Cloud9 development environment." +} +""" +UntagResource(args) = cloud9("UntagResource", args) + +""" + DescribeEnvironmentStatus() + +Gets status information for an AWS Cloud9 development environment. + +Required Parameters +{ + "environmentId": "The ID of the environment to get status information about." +} +""" +DescribeEnvironmentStatus(args) = cloud9("DescribeEnvironmentStatus", args) + +""" + TagResource() + +Adds tags to an AWS Cloud9 development environment. Tags that you add to an AWS Cloud9 environment by using this method will NOT be automatically propagated to underlying resources. + +Required Parameters +{ + "ResourceARN": "The Amazon Resource Name (ARN) of the AWS Cloud9 development environment to add tags to.", + "Tags": "The list of tags to add to the given AWS Cloud9 development environment." +} +""" +TagResource(args) = cloud9("TagResource", args) + +""" + DeleteEnvironment() + +Deletes an AWS Cloud9 development environment. If an Amazon EC2 instance is connected to the environment, also terminates the instance. + +Required Parameters +{ + "environmentId": "The ID of the environment to delete." +} +""" +DeleteEnvironment(args) = cloud9("DeleteEnvironment", args) + +""" + ListEnvironments() + +Gets a list of AWS Cloud9 development environment identifiers. + +Optional Parameters +{ + "maxResults": "The maximum number of environments to get identifiers for.", + "nextToken": "During a previous call, if there are more than 25 items in the list, only the first 25 items are returned, along with a unique string called a next token. To get the next batch of items in the list, call this operation again, adding the next token to the call. To get all of the items in the list, keep calling this operation with each subsequent next token that is returned, until no more next tokens are returned." +} +""" +ListEnvironments() = cloud9("ListEnvironments") +ListEnvironments(args) = cloud9("ListEnvironments", args) + +""" + UpdateEnvironment() + +Changes the settings of an existing AWS Cloud9 development environment. + +Required Parameters +{ + "environmentId": "The ID of the environment to change settings." +} + +Optional Parameters +{ + "name": "A replacement name for the environment.", + "description": "Any new or replacement description for the environment." +} +""" +UpdateEnvironment(args) = cloud9("UpdateEnvironment", args) + +""" + UpdateEnvironmentMembership() + +Changes the settings of an existing environment member for an AWS Cloud9 development environment. + +Required Parameters +{ + "userArn": "The Amazon Resource Name (ARN) of the environment member whose settings you want to change.", + "permissions": "The replacement type of environment member permissions you want to associate with this environment member. Available values include: read-only: Has read-only access to the environment. read-write: Has read-write access to the environment. ", + "environmentId": "The ID of the environment for the environment member whose settings you want to change." +} +""" +UpdateEnvironmentMembership(args) = cloud9("UpdateEnvironmentMembership", args) + +""" + DeleteEnvironmentMembership() + +Deletes an environment member from an AWS Cloud9 development environment. + +Required Parameters +{ + "userArn": "The Amazon Resource Name (ARN) of the environment member to delete from the environment.", + "environmentId": "The ID of the environment to delete the environment member from." +} +""" +DeleteEnvironmentMembership(args) = cloud9("DeleteEnvironmentMembership", args) diff --git a/src/services/clouddirectory.jl b/src/services/clouddirectory.jl new file mode 100644 index 0000000000..1e6b95ae77 --- /dev/null +++ b/src/services/clouddirectory.jl @@ -0,0 +1,1062 @@ +include("../AWSServices.jl") +using .AWSServices: clouddirectory + +""" + AddFacetToObject() + +Adds a new Facet to an object. An object can have more than one facet applied on it. + +Required Parameters +{ + "ObjectReference": "A reference to the object you are adding the specified facet to.", + "DirectoryArn": "The Amazon Resource Name (ARN) that is associated with the Directory where the object resides. For more information, see arns.", + "SchemaFacet": "Identifiers for the facet that you are adding to the object. See SchemaFacet for details." +} + +Optional Parameters +{ + "ObjectAttributeList": "Attributes on the facet that you are adding to the object." +} +""" +AddFacetToObject(args) = clouddirectory("PUT", "/amazonclouddirectory/2017-01-11/object/facets", args) + +""" + AttachTypedLink() + +Attaches a typed link to a specified source and target object. For more information, see Typed Links. + +Required Parameters +{ + "DirectoryArn": "The Amazon Resource Name (ARN) of the directory where you want to attach the typed link.", + "TargetObjectReference": "Identifies the target object that the typed link will attach to.", + "TypedLinkFacet": "Identifies the typed link facet that is associated with the typed link.", + "Attributes": "A set of attributes that are associated with the typed link.", + "SourceObjectReference": "Identifies the source object that the typed link will attach to." +} +""" +AttachTypedLink(args) = clouddirectory("PUT", "/amazonclouddirectory/2017-01-11/typedlink/attach", args) + +""" + ListPublishedSchemaArns() + +Lists the major version families of each published schema. If a major version ARN is provided as SchemaArn, the minor version revisions in that family are listed instead. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to retrieve.", + "NextToken": "The pagination token.", + "SchemaArn": "The response for ListPublishedSchemaArns when this parameter is used will list all minor version ARNs for a major version." +} +""" +ListPublishedSchemaArns() = clouddirectory("POST", "/amazonclouddirectory/2017-01-11/schema/published") +ListPublishedSchemaArns(args) = clouddirectory("POST", "/amazonclouddirectory/2017-01-11/schema/published", args) + +""" + GetLinkAttributes() + +Retrieves attributes that are associated with a typed link. + +Required Parameters +{ + "AttributeNames": "A list of attribute names whose values will be retrieved.", + "TypedLinkSpecifier": "Allows a typed link specifier to be accepted as input.", + "DirectoryArn": "The Amazon Resource Name (ARN) that is associated with the Directory where the typed link resides. For more information, see arns or Typed Links." +} + +Optional Parameters +{ + "ConsistencyLevel": "The consistency level at which to retrieve the attributes on a typed link." +} +""" +GetLinkAttributes(args) = clouddirectory("POST", "/amazonclouddirectory/2017-01-11/typedlink/attributes/get", args) + +""" + BatchRead() + +Performs all the read operations in a batch. + +Required Parameters +{ + "Operations": "A list of operations that are part of the batch.", + "DirectoryArn": "The Amazon Resource Name (ARN) that is associated with the Directory. For more information, see arns." +} + +Optional Parameters +{ + "ConsistencyLevel": "Represents the manner and timing in which the successful write or update of an object is reflected in a subsequent read operation of that same object." +} +""" +BatchRead(args) = clouddirectory("POST", "/amazonclouddirectory/2017-01-11/batchread", args) + +""" + TagResource() + +An API operation for adding tags to a resource. + +Required Parameters +{ + "ResourceArn": "The Amazon Resource Name (ARN) of the resource. Tagging is only supported for directories.", + "Tags": "A list of tag key-value pairs." +} +""" +TagResource(args) = clouddirectory("PUT", "/amazonclouddirectory/2017-01-11/tags/add", args) + +""" + DeleteObject() + +Deletes an object and its associated attributes. Only objects with no children and no parents can be deleted. The maximum number of attributes that can be deleted during an object deletion is 30. For more information, see Amazon Cloud Directory Limits. + +Required Parameters +{ + "ObjectReference": "A reference that identifies the object.", + "DirectoryArn": "The Amazon Resource Name (ARN) that is associated with the Directory where the object resides. For more information, see arns." +} +""" +DeleteObject(args) = clouddirectory("PUT", "/amazonclouddirectory/2017-01-11/object/delete", args) + +""" + GetAppliedSchemaVersion() + +Returns current applied schema version ARN, including the minor version in use. + +Required Parameters +{ + "SchemaArn": "The ARN of the applied schema." +} +""" +GetAppliedSchemaVersion(args) = clouddirectory("POST", "/amazonclouddirectory/2017-01-11/schema/getappliedschema", args) + +""" + ListAttachedIndices() + +Lists indices attached to the specified object. + +Required Parameters +{ + "DirectoryArn": "The ARN of the directory.", + "TargetReference": "A reference to the object that has indices attached." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of results to retrieve.", + "ConsistencyLevel": "The consistency level to use for this operation.", + "NextToken": "The pagination token." +} +""" +ListAttachedIndices(args) = clouddirectory("POST", "/amazonclouddirectory/2017-01-11/object/indices", args) + +""" + UpdateSchema() + +Updates the schema name with a new name. Only development schema names can be updated. + +Required Parameters +{ + "Name": "The name of the schema.", + "SchemaArn": "The Amazon Resource Name (ARN) of the development schema. For more information, see arns." +} +""" +UpdateSchema(args) = clouddirectory("PUT", "/amazonclouddirectory/2017-01-11/schema/update", args) + +""" + CreateTypedLinkFacet() + +Creates a TypedLinkFacet. For more information, see Typed Links. + +Required Parameters +{ + "Facet": " Facet structure that is associated with the typed link facet.", + "SchemaArn": "The Amazon Resource Name (ARN) that is associated with the schema. For more information, see arns." +} +""" +CreateTypedLinkFacet(args) = clouddirectory("PUT", "/amazonclouddirectory/2017-01-11/typedlink/facet/create", args) + +""" + ListAppliedSchemaArns() + +Lists schema major versions applied to a directory. If SchemaArn is provided, lists the minor version. + +Required Parameters +{ + "DirectoryArn": "The ARN of the directory you are listing." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of results to retrieve.", + "NextToken": "The pagination token.", + "SchemaArn": "The response for ListAppliedSchemaArns when this parameter is used will list all minor version ARNs for a major version." +} +""" +ListAppliedSchemaArns(args) = clouddirectory("POST", "/amazonclouddirectory/2017-01-11/schema/applied", args) + +""" + DetachPolicy() + +Detaches a policy from an object. + +Required Parameters +{ + "PolicyReference": "Reference that identifies the policy object.", + "ObjectReference": "Reference that identifies the object whose policy object will be detached.", + "DirectoryArn": "The Amazon Resource Name (ARN) that is associated with the Directory where both objects reside. For more information, see arns." +} +""" +DetachPolicy(args) = clouddirectory("PUT", "/amazonclouddirectory/2017-01-11/policy/detach", args) + +""" + LookupPolicy() + +Lists all policies from the root of the Directory to the object specified. If there are no policies present, an empty list is returned. If policies are present, and if some objects don't have the policies attached, it returns the ObjectIdentifier for such objects. If policies are present, it returns ObjectIdentifier, policyId, and policyType. Paths that don't lead to the root from the target object are ignored. For more information, see Policies. + +Required Parameters +{ + "ObjectReference": "Reference that identifies the object whose policies will be looked up.", + "DirectoryArn": "The Amazon Resource Name (ARN) that is associated with the Directory. For more information, see arns." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of items to be retrieved in a single call. This is an approximate number.", + "NextToken": "The token to request the next page of results." +} +""" +LookupPolicy(args) = clouddirectory("POST", "/amazonclouddirectory/2017-01-11/policy/lookup", args) + +""" + ListManagedSchemaArns() + +Lists the major version families of each managed schema. If a major version ARN is provided as SchemaArn, the minor version revisions in that family are listed instead. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to retrieve.", + "NextToken": "The pagination token.", + "SchemaArn": "The response for ListManagedSchemaArns. When this parameter is used, all minor version ARNs for a major version are listed." +} +""" +ListManagedSchemaArns() = clouddirectory("POST", "/amazonclouddirectory/2017-01-11/schema/managed") +ListManagedSchemaArns(args) = clouddirectory("POST", "/amazonclouddirectory/2017-01-11/schema/managed", args) + +""" + ListTypedLinkFacetNames() + +Returns a paginated list of TypedLink facet names for a particular schema. For more information, see Typed Links. + +Required Parameters +{ + "SchemaArn": "The Amazon Resource Name (ARN) that is associated with the schema. For more information, see arns." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of results to retrieve.", + "NextToken": "The pagination token." +} +""" +ListTypedLinkFacetNames(args) = clouddirectory("POST", "/amazonclouddirectory/2017-01-11/typedlink/facet/list", args) + +""" + ListObjectChildren() + +Returns a paginated list of child objects that are associated with a given object. + +Required Parameters +{ + "ObjectReference": "The reference that identifies the object for which child objects are being listed.", + "DirectoryArn": "The Amazon Resource Name (ARN) that is associated with the Directory where the object resides. For more information, see arns." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of items to be retrieved in a single call. This is an approximate number.", + "ConsistencyLevel": "Represents the manner and timing in which the successful write or update of an object is reflected in a subsequent read operation of that same object.", + "NextToken": "The pagination token." +} +""" +ListObjectChildren(args) = clouddirectory("POST", "/amazonclouddirectory/2017-01-11/object/children", args) + +""" + ListFacetAttributes() + +Retrieves attributes attached to the facet. + +Required Parameters +{ + "Name": "The name of the facet whose attributes will be retrieved.", + "SchemaArn": "The ARN of the schema where the facet resides." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of results to retrieve.", + "NextToken": "The pagination token." +} +""" +ListFacetAttributes(args) = clouddirectory("POST", "/amazonclouddirectory/2017-01-11/facet/attributes", args) + +""" + GetFacet() + +Gets details of the Facet, such as facet name, attributes, Rules, or ObjectType. You can call this on all kinds of schema facets -- published, development, or applied. + +Required Parameters +{ + "Name": "The name of the facet to retrieve.", + "SchemaArn": "The Amazon Resource Name (ARN) that is associated with the Facet. For more information, see arns." +} +""" +GetFacet(args) = clouddirectory("POST", "/amazonclouddirectory/2017-01-11/facet", args) + +""" + ListOutgoingTypedLinks() + +Returns a paginated list of all the outgoing TypedLinkSpecifier information for an object. It also supports filtering by typed link facet and identity attributes. For more information, see Typed Links. + +Required Parameters +{ + "ObjectReference": "A reference that identifies the object whose attributes will be listed.", + "DirectoryArn": "The Amazon Resource Name (ARN) of the directory where you want to list the typed links." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of results to retrieve.", + "ConsistencyLevel": "The consistency level to execute the request at.", + "NextToken": "The pagination token.", + "FilterAttributeRanges": "Provides range filters for multiple attributes. When providing ranges to typed link selection, any inexact ranges must be specified at the end. Any attributes that do not have a range specified are presumed to match the entire range.", + "FilterTypedLink": "Filters are interpreted in the order of the attributes defined on the typed link facet, not the order they are supplied to any API calls." +} +""" +ListOutgoingTypedLinks(args) = clouddirectory("POST", "/amazonclouddirectory/2017-01-11/typedlink/outgoing", args) + +""" + ListIncomingTypedLinks() + +Returns a paginated list of all the incoming TypedLinkSpecifier information for an object. It also supports filtering by typed link facet and identity attributes. For more information, see Typed Links. + +Required Parameters +{ + "ObjectReference": "Reference that identifies the object whose attributes will be listed.", + "DirectoryArn": "The Amazon Resource Name (ARN) of the directory where you want to list the typed links." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of results to retrieve.", + "ConsistencyLevel": "The consistency level to execute the request at.", + "NextToken": "The pagination token.", + "FilterAttributeRanges": "Provides range filters for multiple attributes. When providing ranges to typed link selection, any inexact ranges must be specified at the end. Any attributes that do not have a range specified are presumed to match the entire range.", + "FilterTypedLink": "Filters are interpreted in the order of the attributes on the typed link facet, not the order in which they are supplied to any API calls." +} +""" +ListIncomingTypedLinks(args) = clouddirectory("POST", "/amazonclouddirectory/2017-01-11/typedlink/incoming", args) + +""" + UntagResource() + +An API operation for removing tags from a resource. + +Required Parameters +{ + "ResourceArn": "The Amazon Resource Name (ARN) of the resource. Tagging is only supported for directories.", + "TagKeys": "Keys of the tag that need to be removed from the resource." +} +""" +UntagResource(args) = clouddirectory("PUT", "/amazonclouddirectory/2017-01-11/tags/remove", args) + +""" + CreateDirectory() + +Creates a Directory by copying the published schema into the directory. A directory cannot be created without a schema. You can also quickly create a directory using a managed schema, called the QuickStartSchema. For more information, see Managed Schema in the Amazon Cloud Directory Developer Guide. + +Required Parameters +{ + "Name": "The name of the Directory. Should be unique per account, per region.", + "SchemaArn": "The Amazon Resource Name (ARN) of the published schema that will be copied into the data Directory. For more information, see arns." +} +""" +CreateDirectory(args) = clouddirectory("PUT", "/amazonclouddirectory/2017-01-11/directory/create", args) + +""" + ListDevelopmentSchemaArns() + +Retrieves each Amazon Resource Name (ARN) of schemas in the development state. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to retrieve.", + "NextToken": "The pagination token." +} +""" +ListDevelopmentSchemaArns() = clouddirectory("POST", "/amazonclouddirectory/2017-01-11/schema/development") +ListDevelopmentSchemaArns(args) = clouddirectory("POST", "/amazonclouddirectory/2017-01-11/schema/development", args) + +""" + UpdateObjectAttributes() + +Updates a given object's attributes. + +Required Parameters +{ + "AttributeUpdates": "The attributes update structure.", + "ObjectReference": "The reference that identifies the object.", + "DirectoryArn": "The Amazon Resource Name (ARN) that is associated with the Directory where the object resides. For more information, see arns." +} +""" +UpdateObjectAttributes(args) = clouddirectory("PUT", "/amazonclouddirectory/2017-01-11/object/update", args) + +""" + AttachToIndex() + +Attaches the specified object to the specified index. + +Required Parameters +{ + "IndexReference": "A reference to the index that you are attaching the object to.", + "DirectoryArn": "The Amazon Resource Name (ARN) of the directory where the object and index exist.", + "TargetReference": "A reference to the object that you are attaching to the index." +} +""" +AttachToIndex(args) = clouddirectory("PUT", "/amazonclouddirectory/2017-01-11/index/attach", args) + +""" + ListDirectories() + +Lists directories created within an account. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to retrieve.", + "NextToken": "The pagination token.", + "state": "The state of the directories in the list. Can be either Enabled, Disabled, or Deleted." +} +""" +ListDirectories() = clouddirectory("POST", "/amazonclouddirectory/2017-01-11/directory/list") +ListDirectories(args) = clouddirectory("POST", "/amazonclouddirectory/2017-01-11/directory/list", args) + +""" + BatchWrite() + +Performs all the write operations in a batch. Either all the operations succeed or none. + +Required Parameters +{ + "Operations": "A list of operations that are part of the batch.", + "DirectoryArn": "The Amazon Resource Name (ARN) that is associated with the Directory. For more information, see arns." +} +""" +BatchWrite(args) = clouddirectory("PUT", "/amazonclouddirectory/2017-01-11/batchwrite", args) + +""" + CreateSchema() + +Creates a new schema in a development state. A schema can exist in three phases: Development: This is a mutable phase of the schema. All new schemas are in the development phase. Once the schema is finalized, it can be published. Published: Published schemas are immutable and have a version associated with them. Applied: Applied schemas are mutable in a way that allows you to add new schema facets. You can also add new, nonrequired attributes to existing schema facets. You can apply only published schemas to directories. + +Required Parameters +{ + "Name": "The name that is associated with the schema. This is unique to each account and in each region." +} +""" +CreateSchema(args) = clouddirectory("PUT", "/amazonclouddirectory/2017-01-11/schema/create", args) + +""" + DisableDirectory() + +Disables the specified directory. Disabled directories cannot be read or written to. Only enabled directories can be disabled. Disabled directories may be reenabled. + +Required Parameters +{ + "DirectoryArn": "The ARN of the directory to disable." +} +""" +DisableDirectory(args) = clouddirectory("PUT", "/amazonclouddirectory/2017-01-11/directory/disable", args) + +""" + DeleteDirectory() + +Deletes a directory. Only disabled directories can be deleted. A deleted directory cannot be undone. Exercise extreme caution when deleting directories. + +Required Parameters +{ + "DirectoryArn": "The ARN of the directory to delete." +} +""" +DeleteDirectory(args) = clouddirectory("PUT", "/amazonclouddirectory/2017-01-11/directory", args) + +""" + ListObjectPolicies() + +Returns policies attached to an object in pagination fashion. + +Required Parameters +{ + "ObjectReference": "Reference that identifies the object for which policies will be listed.", + "DirectoryArn": "The Amazon Resource Name (ARN) that is associated with the Directory where objects reside. For more information, see arns." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of items to be retrieved in a single call. This is an approximate number.", + "ConsistencyLevel": "Represents the manner and timing in which the successful write or update of an object is reflected in a subsequent read operation of that same object.", + "NextToken": "The pagination token." +} +""" +ListObjectPolicies(args) = clouddirectory("POST", "/amazonclouddirectory/2017-01-11/object/policy", args) + +""" + DeleteFacet() + +Deletes a given Facet. All attributes and Rules that are associated with the facet will be deleted. Only development schema facets are allowed deletion. + +Required Parameters +{ + "Name": "The name of the facet to delete.", + "SchemaArn": "The Amazon Resource Name (ARN) that is associated with the Facet. For more information, see arns." +} +""" +DeleteFacet(args) = clouddirectory("PUT", "/amazonclouddirectory/2017-01-11/facet/delete", args) + +""" + ListTagsForResource() + +Returns tags for a resource. Tagging is currently supported only for directories with a limit of 50 tags per directory. All 50 tags are returned for a given directory with this API call. + +Required Parameters +{ + "ResourceArn": "The Amazon Resource Name (ARN) of the resource. Tagging is only supported for directories." +} + +Optional Parameters +{ + "MaxResults": "The MaxResults parameter sets the maximum number of results returned in a single page. This is for future use and is not supported currently.", + "NextToken": "The pagination token. This is for future use. Currently pagination is not supported for tagging." +} +""" +ListTagsForResource(args) = clouddirectory("POST", "/amazonclouddirectory/2017-01-11/tags", args) + +""" + DeleteSchema() + +Deletes a given schema. Schemas in a development and published state can only be deleted. + +Required Parameters +{ + "SchemaArn": "The Amazon Resource Name (ARN) of the development schema. For more information, see arns." +} +""" +DeleteSchema(args) = clouddirectory("PUT", "/amazonclouddirectory/2017-01-11/schema", args) + +""" + CreateFacet() + +Creates a new Facet in a schema. Facet creation is allowed only in development or applied schemas. + +Required Parameters +{ + "Name": "The name of the Facet, which is unique for a given schema.", + "SchemaArn": "The schema ARN in which the new Facet will be created. For more information, see arns." +} + +Optional Parameters +{ + "Attributes": "The attributes that are associated with the Facet.", + "FacetStyle": "There are two different styles that you can define on any given facet, Static and Dynamic. For static facets, all attributes must be defined in the schema. For dynamic facets, attributes can be defined during data plane operations.", + "ObjectType": "Specifies whether a given object created from this facet is of type node, leaf node, policy or index. Node: Can have multiple children but one parent. Leaf node: Cannot have children but can have multiple parents. Policy: Allows you to store a policy document and policy type. For more information, see Policies. Index: Can be created with the Index API. " +} +""" +CreateFacet(args) = clouddirectory("PUT", "/amazonclouddirectory/2017-01-11/facet/create", args) + +""" + DetachObject() + +Detaches a given object from the parent object. The object that is to be detached from the parent is specified by the link name. + +Required Parameters +{ + "ParentReference": "The parent reference from which the object with the specified link name is detached.", + "DirectoryArn": "The Amazon Resource Name (ARN) that is associated with the Directory where objects reside. For more information, see arns.", + "LinkName": "The link name associated with the object that needs to be detached." +} +""" +DetachObject(args) = clouddirectory("PUT", "/amazonclouddirectory/2017-01-11/object/detach", args) + +""" + GetObjectAttributes() + +Retrieves attributes within a facet that are associated with an object. + +Required Parameters +{ + "AttributeNames": "List of attribute names whose values will be retrieved.", + "ObjectReference": "Reference that identifies the object whose attributes will be retrieved.", + "DirectoryArn": "The Amazon Resource Name (ARN) that is associated with the Directory where the object resides.", + "SchemaFacet": "Identifier for the facet whose attributes will be retrieved. See SchemaFacet for details." +} + +Optional Parameters +{ + "ConsistencyLevel": "The consistency level at which to retrieve the attributes on an object." +} +""" +GetObjectAttributes(args) = clouddirectory("POST", "/amazonclouddirectory/2017-01-11/object/attributes/get", args) + +""" + GetSchemaAsJson() + +Retrieves a JSON representation of the schema. See JSON Schema Format for more information. + +Required Parameters +{ + "SchemaArn": "The ARN of the schema to retrieve." +} +""" +GetSchemaAsJson(args) = clouddirectory("POST", "/amazonclouddirectory/2017-01-11/schema/json", args) + +""" + RemoveFacetFromObject() + +Removes the specified facet from the specified object. + +Required Parameters +{ + "ObjectReference": "A reference to the object to remove the facet from.", + "DirectoryArn": "The ARN of the directory in which the object resides.", + "SchemaFacet": "The facet to remove. See SchemaFacet for details." +} +""" +RemoveFacetFromObject(args) = clouddirectory("PUT", "/amazonclouddirectory/2017-01-11/object/facets/delete", args) + +""" + AttachPolicy() + +Attaches a policy object to a regular object. An object can have a limited number of attached policies. + +Required Parameters +{ + "PolicyReference": "The reference that is associated with the policy object.", + "ObjectReference": "The reference that identifies the object to which the policy will be attached.", + "DirectoryArn": "The Amazon Resource Name (ARN) that is associated with the Directory where both objects reside. For more information, see arns." +} +""" +AttachPolicy(args) = clouddirectory("PUT", "/amazonclouddirectory/2017-01-11/policy/attach", args) + +""" + ListFacetNames() + +Retrieves the names of facets that exist in a schema. + +Required Parameters +{ + "SchemaArn": "The Amazon Resource Name (ARN) to retrieve facet names from." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of results to retrieve.", + "NextToken": "The pagination token." +} +""" +ListFacetNames(args) = clouddirectory("POST", "/amazonclouddirectory/2017-01-11/facet/list", args) + +""" + UpdateFacet() + +Does the following: Adds new Attributes, Rules, or ObjectTypes. Updates existing Attributes, Rules, or ObjectTypes. Deletes existing Attributes, Rules, or ObjectTypes. + +Required Parameters +{ + "Name": "The name of the facet.", + "SchemaArn": "The Amazon Resource Name (ARN) that is associated with the Facet. For more information, see arns." +} + +Optional Parameters +{ + "AttributeUpdates": "List of attributes that need to be updated in a given schema Facet. Each attribute is followed by AttributeAction, which specifies the type of update operation to perform. ", + "ObjectType": "The object type that is associated with the facet. See CreateFacetRequest ObjectType for more details." +} +""" +UpdateFacet(args) = clouddirectory("PUT", "/amazonclouddirectory/2017-01-11/facet", args) + +""" + UpgradePublishedSchema() + +Upgrades a published schema under a new minor version revision using the current contents of DevelopmentSchemaArn. + +Required Parameters +{ + "PublishedSchemaArn": "The ARN of the published schema to be upgraded.", + "DevelopmentSchemaArn": "The ARN of the development schema with the changes used for the upgrade.", + "MinorVersion": "Identifies the minor version of the published schema that will be created. This parameter is NOT optional." +} + +Optional Parameters +{ + "DryRun": "Used for testing whether the Development schema provided is backwards compatible, or not, with the publish schema provided by the user to be upgraded. If schema compatibility fails, an exception would be thrown else the call would succeed. This parameter is optional and defaults to false." +} +""" +UpgradePublishedSchema(args) = clouddirectory("PUT", "/amazonclouddirectory/2017-01-11/schema/upgradepublished", args) + +""" + ListObjectAttributes() + +Lists all attributes that are associated with an object. + +Required Parameters +{ + "ObjectReference": "The reference that identifies the object whose attributes will be listed.", + "DirectoryArn": "The Amazon Resource Name (ARN) that is associated with the Directory where the object resides. For more information, see arns." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of items to be retrieved in a single call. This is an approximate number.", + "ConsistencyLevel": "Represents the manner and timing in which the successful write or update of an object is reflected in a subsequent read operation of that same object.", + "NextToken": "The pagination token.", + "FacetFilter": "Used to filter the list of object attributes that are associated with a certain facet." +} +""" +ListObjectAttributes(args) = clouddirectory("POST", "/amazonclouddirectory/2017-01-11/object/attributes", args) + +""" + PublishSchema() + +Publishes a development schema with a major version and a recommended minor version. + +Required Parameters +{ + "DevelopmentSchemaArn": "The Amazon Resource Name (ARN) that is associated with the development schema. For more information, see arns.", + "Version": "The major version under which the schema will be published. Schemas have both a major and minor version associated with them." +} + +Optional Parameters +{ + "MinorVersion": "The minor version under which the schema will be published. This parameter is recommended. Schemas have both a major and minor version associated with them.", + "Name": "The new name under which the schema will be published. If this is not provided, the development schema is considered." +} +""" +PublishSchema(args) = clouddirectory("PUT", "/amazonclouddirectory/2017-01-11/schema/publish", args) + +""" + AttachObject() + +Attaches an existing object to another object. An object can be accessed in two ways: Using the path Using ObjectIdentifier + +Required Parameters +{ + "ParentReference": "The parent object reference.", + "DirectoryArn": "Amazon Resource Name (ARN) that is associated with the Directory where both objects reside. For more information, see arns.", + "LinkName": "The link name with which the child object is attached to the parent.", + "ChildReference": "The child object reference to be attached to the object." +} +""" +AttachObject(args) = clouddirectory("PUT", "/amazonclouddirectory/2017-01-11/object/attach", args) + +""" + UpdateTypedLinkFacet() + +Updates a TypedLinkFacet. For more information, see Typed Links. + +Required Parameters +{ + "AttributeUpdates": "Attributes update structure.", + "IdentityAttributeOrder": "The order of identity attributes for the facet, from most significant to least significant. The ability to filter typed links considers the order that the attributes are defined on the typed link facet. When providing ranges to a typed link selection, any inexact ranges must be specified at the end. Any attributes that do not have a range specified are presumed to match the entire range. Filters are interpreted in the order of the attributes on the typed link facet, not the order in which they are supplied to any API calls. For more information about identity attributes, see Typed Links.", + "Name": "The unique name of the typed link facet.", + "SchemaArn": "The Amazon Resource Name (ARN) that is associated with the schema. For more information, see arns." +} +""" +UpdateTypedLinkFacet(args) = clouddirectory("PUT", "/amazonclouddirectory/2017-01-11/typedlink/facet", args) + +""" + CreateIndex() + +Creates an index object. See Indexing and search for more information. + +Required Parameters +{ + "IsUnique": "Indicates whether the attribute that is being indexed has unique values or not.", + "DirectoryArn": "The ARN of the directory where the index should be created.", + "OrderedIndexedAttributeList": "Specifies the attributes that should be indexed on. Currently only a single attribute is supported." +} + +Optional Parameters +{ + "ParentReference": "A reference to the parent object that contains the index object.", + "LinkName": "The name of the link between the parent object and the index object." +} +""" +CreateIndex(args) = clouddirectory("PUT", "/amazonclouddirectory/2017-01-11/index", args) + +""" + ListObjectParentPaths() + +Retrieves all available parent paths for any object type such as node, leaf node, policy node, and index node objects. For more information about objects, see Directory Structure. Use this API to evaluate all parents for an object. The call returns all objects from the root of the directory up to the requested object. The API returns the number of paths based on user-defined MaxResults, in case there are multiple paths to the parent. The order of the paths and nodes returned is consistent among multiple API calls unless the objects are deleted or moved. Paths not leading to the directory root are ignored from the target object. + +Required Parameters +{ + "ObjectReference": "The reference that identifies the object whose parent paths are listed.", + "DirectoryArn": "The ARN of the directory to which the parent path applies." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of items to be retrieved in a single call. This is an approximate number.", + "NextToken": "The pagination token." +} +""" +ListObjectParentPaths(args) = clouddirectory("POST", "/amazonclouddirectory/2017-01-11/object/parentpaths", args) + +""" + UpgradeAppliedSchema() + +Upgrades a single directory in-place using the PublishedSchemaArn with schema updates found in MinorVersion. Backwards-compatible minor version upgrades are instantaneously available for readers on all objects in the directory. Note: This is a synchronous API call and upgrades only one schema on a given directory per call. To upgrade multiple directories from one schema, you would need to call this API on each directory. + +Required Parameters +{ + "PublishedSchemaArn": "The revision of the published schema to upgrade the directory to.", + "DirectoryArn": "The ARN for the directory to which the upgraded schema will be applied." +} + +Optional Parameters +{ + "DryRun": "Used for testing whether the major version schemas are backward compatible or not. If schema compatibility fails, an exception would be thrown else the call would succeed but no changes will be saved. This parameter is optional." +} +""" +UpgradeAppliedSchema(args) = clouddirectory("PUT", "/amazonclouddirectory/2017-01-11/schema/upgradeapplied", args) + +""" + EnableDirectory() + +Enables the specified directory. Only disabled directories can be enabled. Once enabled, the directory can then be read and written to. + +Required Parameters +{ + "DirectoryArn": "The ARN of the directory to enable." +} +""" +EnableDirectory(args) = clouddirectory("PUT", "/amazonclouddirectory/2017-01-11/directory/enable", args) + +""" + DetachTypedLink() + +Detaches a typed link from a specified source and target object. For more information, see Typed Links. + +Required Parameters +{ + "TypedLinkSpecifier": "Used to accept a typed link specifier as input.", + "DirectoryArn": "The Amazon Resource Name (ARN) of the directory where you want to detach the typed link." +} +""" +DetachTypedLink(args) = clouddirectory("PUT", "/amazonclouddirectory/2017-01-11/typedlink/detach", args) + +""" + ListTypedLinkFacetAttributes() + +Returns a paginated list of all attribute definitions for a particular TypedLinkFacet. For more information, see Typed Links. + +Required Parameters +{ + "Name": "The unique name of the typed link facet.", + "SchemaArn": "The Amazon Resource Name (ARN) that is associated with the schema. For more information, see arns." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of results to retrieve.", + "NextToken": "The pagination token." +} +""" +ListTypedLinkFacetAttributes(args) = clouddirectory("POST", "/amazonclouddirectory/2017-01-11/typedlink/facet/attributes", args) + +""" + GetDirectory() + +Retrieves metadata about a directory. + +Required Parameters +{ + "DirectoryArn": "The ARN of the directory." +} +""" +GetDirectory(args) = clouddirectory("POST", "/amazonclouddirectory/2017-01-11/directory/get", args) + +""" + ListObjectParents() + +Lists parent objects that are associated with a given object in pagination fashion. + +Required Parameters +{ + "ObjectReference": "The reference that identifies the object for which parent objects are being listed.", + "DirectoryArn": "The Amazon Resource Name (ARN) that is associated with the Directory where the object resides. For more information, see arns." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of items to be retrieved in a single call. This is an approximate number.", + "ConsistencyLevel": "Represents the manner and timing in which the successful write or update of an object is reflected in a subsequent read operation of that same object.", + "NextToken": "The pagination token.", + "IncludeAllLinksToEachParent": "When set to True, returns all ListObjectParentsResponse ParentLinks. There could be multiple links between a parent-child pair." +} +""" +ListObjectParents(args) = clouddirectory("POST", "/amazonclouddirectory/2017-01-11/object/parent", args) + +""" + ApplySchema() + +Copies the input published schema, at the specified version, into the Directory with the same name and version as that of the published schema. + +Required Parameters +{ + "PublishedSchemaArn": "Published schema Amazon Resource Name (ARN) that needs to be copied. For more information, see arns.", + "DirectoryArn": "The Amazon Resource Name (ARN) that is associated with the Directory into which the schema is copied. For more information, see arns." +} +""" +ApplySchema(args) = clouddirectory("PUT", "/amazonclouddirectory/2017-01-11/schema/apply", args) + +""" + PutSchemaFromJson() + +Allows a schema to be updated using JSON upload. Only available for development schemas. See JSON Schema Format for more information. + +Required Parameters +{ + "Document": "The replacement JSON schema.", + "SchemaArn": "The ARN of the schema to update." +} +""" +PutSchemaFromJson(args) = clouddirectory("PUT", "/amazonclouddirectory/2017-01-11/schema/json", args) + +""" + CreateObject() + +Creates an object in a Directory. Additionally attaches the object to a parent, if a parent reference and LinkName is specified. An object is simply a collection of Facet attributes. You can also use this API call to create a policy object, if the facet from which you create the object is a policy facet. + +Required Parameters +{ + "DirectoryArn": "The Amazon Resource Name (ARN) that is associated with the Directory in which the object will be created. For more information, see arns.", + "SchemaFacets": "A list of schema facets to be associated with the object. Do not provide minor version components. See SchemaFacet for details." +} + +Optional Parameters +{ + "ObjectAttributeList": "The attribute map whose attribute ARN contains the key and attribute value as the map value.", + "ParentReference": "If specified, the parent reference to which this object will be attached.", + "LinkName": "The name of link that is used to attach this object to a parent." +} +""" +CreateObject(args) = clouddirectory("PUT", "/amazonclouddirectory/2017-01-11/object", args) + +""" + GetTypedLinkFacetInformation() + +Returns the identity attribute order for a specific TypedLinkFacet. For more information, see Typed Links. + +Required Parameters +{ + "Name": "The unique name of the typed link facet.", + "SchemaArn": "The Amazon Resource Name (ARN) that is associated with the schema. For more information, see arns." +} +""" +GetTypedLinkFacetInformation(args) = clouddirectory("POST", "/amazonclouddirectory/2017-01-11/typedlink/facet/get", args) + +""" + DeleteTypedLinkFacet() + +Deletes a TypedLinkFacet. For more information, see Typed Links. + +Required Parameters +{ + "Name": "The unique name of the typed link facet.", + "SchemaArn": "The Amazon Resource Name (ARN) that is associated with the schema. For more information, see arns." +} +""" +DeleteTypedLinkFacet(args) = clouddirectory("PUT", "/amazonclouddirectory/2017-01-11/typedlink/facet/delete", args) + +""" + DetachFromIndex() + +Detaches the specified object from the specified index. + +Required Parameters +{ + "IndexReference": "A reference to the index object.", + "DirectoryArn": "The Amazon Resource Name (ARN) of the directory the index and object exist in.", + "TargetReference": "A reference to the object being detached from the index." +} +""" +DetachFromIndex(args) = clouddirectory("PUT", "/amazonclouddirectory/2017-01-11/index/detach", args) + +""" + UpdateLinkAttributes() + +Updates a given typed link’s attributes. Attributes to be updated must not contribute to the typed link’s identity, as defined by its IdentityAttributeOrder. + +Required Parameters +{ + "AttributeUpdates": "The attributes update structure.", + "TypedLinkSpecifier": "Allows a typed link specifier to be accepted as input.", + "DirectoryArn": "The Amazon Resource Name (ARN) that is associated with the Directory where the updated typed link resides. For more information, see arns or Typed Links." +} +""" +UpdateLinkAttributes(args) = clouddirectory("POST", "/amazonclouddirectory/2017-01-11/typedlink/attributes/update", args) + +""" + ListPolicyAttachments() + +Returns all of the ObjectIdentifiers to which a given policy is attached. + +Required Parameters +{ + "PolicyReference": "The reference that identifies the policy object.", + "DirectoryArn": "The Amazon Resource Name (ARN) that is associated with the Directory where objects reside. For more information, see arns." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of items to be retrieved in a single call. This is an approximate number.", + "ConsistencyLevel": "Represents the manner and timing in which the successful write or update of an object is reflected in a subsequent read operation of that same object.", + "NextToken": "The pagination token." +} +""" +ListPolicyAttachments(args) = clouddirectory("POST", "/amazonclouddirectory/2017-01-11/policy/attachment", args) + +""" + GetObjectInformation() + +Retrieves metadata about an object. + +Required Parameters +{ + "ObjectReference": "A reference to the object.", + "DirectoryArn": "The ARN of the directory being retrieved." +} + +Optional Parameters +{ + "ConsistencyLevel": "The consistency level at which to retrieve the object information." +} +""" +GetObjectInformation(args) = clouddirectory("POST", "/amazonclouddirectory/2017-01-11/object/information", args) + +""" + ListIndex() + +Lists objects attached to the specified index. + +Required Parameters +{ + "IndexReference": "The reference to the index to list.", + "DirectoryArn": "The ARN of the directory that the index exists in." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of objects in a single page to retrieve from the index during a request. For more information, see Amazon Cloud Directory Limits.", + "ConsistencyLevel": "The consistency level to execute the request at.", + "RangesOnIndexedValues": "Specifies the ranges of indexed values that you want to query.", + "NextToken": "The pagination token." +} +""" +ListIndex(args) = clouddirectory("POST", "/amazonclouddirectory/2017-01-11/index/targets", args) diff --git a/src/services/cloudformation.jl b/src/services/cloudformation.jl new file mode 100644 index 0000000000..8f917751bd --- /dev/null +++ b/src/services/cloudformation.jl @@ -0,0 +1,965 @@ +include("../AWSServices.jl") +using .AWSServices: cloudformation + +""" + SignalResource() + +Sends a signal to the specified resource with a success or failure status. You can use the SignalResource API in conjunction with a creation policy or update policy. AWS CloudFormation doesn't proceed with a stack creation or update until resources receive the required number of signals or the timeout period is exceeded. The SignalResource API is useful in cases where you want to send signals from anywhere other than an Amazon EC2 instance. + +Required Parameters +{ + "Status": "The status of the signal, which is either success or failure. A failure signal causes AWS CloudFormation to immediately fail the stack creation or update.", + "StackName": "The stack name or unique stack ID that includes the resource that you want to signal.", + "LogicalResourceId": "The logical ID of the resource that you want to signal. The logical ID is the name of the resource that given in the template.", + "UniqueId": "A unique ID of the signal. When you signal Amazon EC2 instances or Auto Scaling groups, specify the instance ID that you are signaling as the unique ID. If you send multiple signals to a single resource (such as signaling a wait condition), each signal requires a different unique ID." +} +""" +SignalResource(args) = cloudformation("SignalResource", args) + +""" + DetectStackResourceDrift() + +Returns information about whether a resource's actual configuration differs, or has drifted, from it's expected configuration, as defined in the stack template and any values specified as template parameters. This information includes actual and expected property values for resources in which AWS CloudFormation detects drift. Only resource properties explicitly defined in the stack template are checked for drift. For more information about stack and resource drift, see Detecting Unregulated Configuration Changes to Stacks and Resources. Use DetectStackResourceDrift to detect drift on individual resources, or DetectStackDrift to detect drift on all resources in a given stack that support drift detection. Resources that do not currently support drift detection cannot be checked. For a list of resources that support drift detection, see Resources that Support Drift Detection. + +Required Parameters +{ + "StackName": "The name of the stack to which the resource belongs.", + "LogicalResourceId": "The logical name of the resource for which to return drift information." +} +""" +DetectStackResourceDrift(args) = cloudformation("DetectStackResourceDrift", args) + +""" + RecordHandlerProgress() + +Reports progress of a resource handler to CloudFormation. Reserved for use by the CloudFormation CLI. Do not use this API in your code. + +Required Parameters +{ + "OperationStatus": "Reserved for use by the CloudFormation CLI.", + "BearerToken": "Reserved for use by the CloudFormation CLI." +} + +Optional Parameters +{ + "ResourceModel": "Reserved for use by the CloudFormation CLI.", + "ClientRequestToken": "Reserved for use by the CloudFormation CLI.", + "CurrentOperationStatus": "Reserved for use by the CloudFormation CLI.", + "StatusMessage": "Reserved for use by the CloudFormation CLI.", + "ErrorCode": "Reserved for use by the CloudFormation CLI." +} +""" +RecordHandlerProgress(args) = cloudformation("RecordHandlerProgress", args) + +""" + DescribeStackInstance() + +Returns the stack instance that's associated with the specified stack set, AWS account, and region. For a list of stack instances that are associated with a specific stack set, use ListStackInstances. + +Required Parameters +{ + "StackInstanceAccount": "The ID of an AWS account that's associated with this stack instance.", + "StackInstanceRegion": "The name of a region that's associated with this stack instance.", + "StackSetName": "The name or the unique stack ID of the stack set that you want to get stack instance information for." +} +""" +DescribeStackInstance(args) = cloudformation("DescribeStackInstance", args) + +""" + DetectStackSetDrift() + +Detect drift on a stack set. When CloudFormation performs drift detection on a stack set, it performs drift detection on the stack associated with each stack instance in the stack set. For more information, see How CloudFormation Performs Drift Detection on a Stack Set. DetectStackSetDrift returns the OperationId of the stack set drift detection operation. Use this operation id with DescribeStackSetOperation to monitor the progress of the drift detection operation. The drift detection operation may take some time, depending on the number of stack instances included in the stack set, as well as the number of resources included in each stack. Once the operation has completed, use the following actions to return drift information: Use DescribeStackSet to return detailed informaiton about the stack set, including detailed information about the last completed drift operation performed on the stack set. (Information about drift operations that are in progress is not included.) Use ListStackInstances to return a list of stack instances belonging to the stack set, including the drift status and last drift time checked of each instance. Use DescribeStackInstance to return detailed information about a specific stack instance, including its drift status and last drift time checked. For more information on performing a drift detection operation on a stack set, see Detecting Unmanaged Changes in Stack Sets. You can only run a single drift detection operation on a given stack set at one time. To stop a drift detection stack set operation, use StopStackSetOperation . + +Required Parameters +{ + "StackSetName": "The name of the stack set on which to perform the drift detection operation." +} + +Optional Parameters +{ + "OperationId": " The ID of the stack set operation. ", + "OperationPreferences": "" +} +""" +DetectStackSetDrift(args) = cloudformation("DetectStackSetDrift", args) + +""" + DescribeStacks() + +Returns the description for the specified stack; if no stack name was specified, then it returns the description for all the stacks created. If the stack does not exist, an AmazonCloudFormationException is returned. + +Optional Parameters +{ + "NextToken": "A string that identifies the next page of stacks that you want to retrieve.", + "StackName": "The name or the unique stack ID that is associated with the stack, which are not always interchangeable: Running stacks: You can specify either the stack's name or its unique stack ID. Deleted stacks: You must specify the unique stack ID. Default: There is no default value." +} +""" +DescribeStacks() = cloudformation("DescribeStacks") +DescribeStacks(args) = cloudformation("DescribeStacks", args) + +""" + DescribeStackSetOperation() + +Returns the description of the specified stack set operation. + +Required Parameters +{ + "OperationId": "The unique ID of the stack set operation. ", + "StackSetName": "The name or the unique stack ID of the stack set for the stack operation." +} +""" +DescribeStackSetOperation(args) = cloudformation("DescribeStackSetOperation", args) + +""" + ListExports() + +Lists all exported output values in the account and region in which you call this action. Use this action to see the exported output values that you can import into other stacks. To import values, use the Fn::ImportValue function. For more information, see AWS CloudFormation Export Stack Output Values. + +Optional Parameters +{ + "NextToken": "A string (provided by the ListExports response output) that identifies the next page of exported output values that you asked to retrieve." +} +""" +ListExports() = cloudformation("ListExports") +ListExports(args) = cloudformation("ListExports", args) + +""" + DescribeType() + +Returns detailed information about a type that has been registered. If you specify a VersionId, DescribeType returns information about that specific type version. Otherwise, it returns information about the default type version. + +Optional Parameters +{ + "Arn": "The Amazon Resource Name (ARN) of the type. Conditional: You must specify either TypeName and Type, or Arn.", + "TypeName": "The name of the type. Conditional: You must specify either TypeName and Type, or Arn.", + "Type": "The kind of type. Currently the only valid value is RESOURCE. Conditional: You must specify either TypeName and Type, or Arn.", + "VersionId": "The ID of a specific version of the type. The version ID is the value at the end of the Amazon Resource Name (ARN) assigned to the type version when it is registered. If you specify a VersionId, DescribeType returns information about that specific type version. Otherwise, it returns information about the default type version." +} +""" +DescribeType() = cloudformation("DescribeType") +DescribeType(args) = cloudformation("DescribeType", args) + +""" + DetectStackDrift() + +Detects whether a stack's actual configuration differs, or has drifted, from it's expected configuration, as defined in the stack template and any values specified as template parameters. For each resource in the stack that supports drift detection, AWS CloudFormation compares the actual configuration of the resource with its expected template configuration. Only resource properties explicitly defined in the stack template are checked for drift. A stack is considered to have drifted if one or more of its resources differ from their expected template configurations. For more information, see Detecting Unregulated Configuration Changes to Stacks and Resources. Use DetectStackDrift to detect drift on all supported resources for a given stack, or DetectStackResourceDrift to detect drift on individual resources. For a list of stack resources that currently support drift detection, see Resources that Support Drift Detection. DetectStackDrift can take up to several minutes, depending on the number of resources contained within the stack. Use DescribeStackDriftDetectionStatus to monitor the progress of a detect stack drift operation. Once the drift detection operation has completed, use DescribeStackResourceDrifts to return drift information about the stack and its resources. When detecting drift on a stack, AWS CloudFormation does not detect drift on any nested stacks belonging to that stack. Perform DetectStackDrift directly on the nested stack itself. + +Required Parameters +{ + "StackName": "The name of the stack for which you want to detect drift. " +} + +Optional Parameters +{ + "LogicalResourceIds": "The logical names of any resources you want to use as filters." +} +""" +DetectStackDrift(args) = cloudformation("DetectStackDrift", args) + +""" + DescribeStackResources() + +Returns AWS resource descriptions for running and deleted stacks. If StackName is specified, all the associated resources that are part of the stack are returned. If PhysicalResourceId is specified, the associated resources of the stack that the resource belongs to are returned. Only the first 100 resources will be returned. If your stack has more resources than this, you should use ListStackResources instead. For deleted stacks, DescribeStackResources returns resource information for up to 90 days after the stack has been deleted. You must specify either StackName or PhysicalResourceId, but not both. In addition, you can specify LogicalResourceId to filter the returned result. For more information about resources, the LogicalResourceId and PhysicalResourceId, go to the AWS CloudFormation User Guide. A ValidationError is returned if you specify both StackName and PhysicalResourceId in the same request. + +Optional Parameters +{ + "PhysicalResourceId": "The name or unique identifier that corresponds to a physical instance ID of a resource supported by AWS CloudFormation. For example, for an Amazon Elastic Compute Cloud (EC2) instance, PhysicalResourceId corresponds to the InstanceId. You can pass the EC2 InstanceId to DescribeStackResources to find which stack the instance belongs to and what other resources are part of the stack. Required: Conditional. If you do not specify PhysicalResourceId, you must specify StackName. Default: There is no default value.", + "StackName": "The name or the unique stack ID that is associated with the stack, which are not always interchangeable: Running stacks: You can specify either the stack's name or its unique stack ID. Deleted stacks: You must specify the unique stack ID. Default: There is no default value. Required: Conditional. If you do not specify StackName, you must specify PhysicalResourceId.", + "LogicalResourceId": "The logical name of the resource as specified in the template. Default: There is no default value." +} +""" +DescribeStackResources() = cloudformation("DescribeStackResources") +DescribeStackResources(args) = cloudformation("DescribeStackResources", args) + +""" + ListStacks() + +Returns the summary information for stacks whose status matches the specified StackStatusFilter. Summary information for stacks that have been deleted is kept for 90 days after the stack is deleted. If no StackStatusFilter is specified, summary information for all stacks is returned (including existing stacks and stacks that have been deleted). + +Optional Parameters +{ + "NextToken": "A string that identifies the next page of stacks that you want to retrieve.", + "StackStatusFilter": "Stack status to use as a filter. Specify one or more stack status codes to list only stacks with the specified status codes. For a complete list of stack status codes, see the StackStatus parameter of the Stack data type." +} +""" +ListStacks() = cloudformation("ListStacks") +ListStacks(args) = cloudformation("ListStacks", args) + +""" + DeleteStack() + +Deletes a specified stack. Once the call completes successfully, stack deletion starts. Deleted stacks do not show up in the DescribeStacks API if the deletion has been completed successfully. + +Required Parameters +{ + "StackName": "The name or the unique stack ID that is associated with the stack." +} + +Optional Parameters +{ + "RetainResources": "For stacks in the DELETE_FAILED state, a list of resource logical IDs that are associated with the resources you want to retain. During deletion, AWS CloudFormation deletes the stack but does not delete the retained resources. Retaining resources is useful when you cannot delete a resource, such as a non-empty S3 bucket, but you want to delete the stack.", + "ClientRequestToken": "A unique identifier for this DeleteStack request. Specify this token if you plan to retry requests so that AWS CloudFormation knows that you're not attempting to delete a stack with the same name. You might retry DeleteStack requests to ensure that AWS CloudFormation successfully received them. All events triggered by a given stack operation are assigned the same client request token, which you can use to track operations. For example, if you execute a CreateStack operation with the token token1, then all the StackEvents generated by that operation will have ClientRequestToken set as token1. In the console, stack operations display the client request token on the Events tab. Stack operations that are initiated from the console use the token format Console-StackOperation-ID, which helps you easily identify the stack operation . For example, if you create a stack using the console, each stack event would be assigned the same token in the following format: Console-CreateStack-7f59c3cf-00d2-40c7-b2ff-e75db0987002. ", + "RoleARN": "The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM) role that AWS CloudFormation assumes to delete the stack. AWS CloudFormation uses the role's credentials to make calls on your behalf. If you don't specify a value, AWS CloudFormation uses the role that was previously associated with the stack. If no role is available, AWS CloudFormation uses a temporary session that is generated from your user credentials." +} +""" +DeleteStack(args) = cloudformation("DeleteStack", args) + +""" + CancelUpdateStack() + +Cancels an update on the specified stack. If the call completes successfully, the stack rolls back the update and reverts to the previous stack configuration. You can cancel only stacks that are in the UPDATE_IN_PROGRESS state. + +Required Parameters +{ + "StackName": "The name or the unique stack ID that is associated with the stack." +} + +Optional Parameters +{ + "ClientRequestToken": "A unique identifier for this CancelUpdateStack request. Specify this token if you plan to retry requests so that AWS CloudFormation knows that you're not attempting to cancel an update on a stack with the same name. You might retry CancelUpdateStack requests to ensure that AWS CloudFormation successfully received them." +} +""" +CancelUpdateStack(args) = cloudformation("CancelUpdateStack", args) + +""" + DeleteChangeSet() + +Deletes the specified change set. Deleting change sets ensures that no one executes the wrong change set. If the call successfully completes, AWS CloudFormation successfully deleted the change set. + +Required Parameters +{ + "ChangeSetName": "The name or Amazon Resource Name (ARN) of the change set that you want to delete." +} + +Optional Parameters +{ + "StackName": "If you specified the name of a change set to delete, specify the stack name or ID (ARN) that is associated with it." +} +""" +DeleteChangeSet(args) = cloudformation("DeleteChangeSet", args) + +""" + CreateChangeSet() + +Creates a list of changes that will be applied to a stack so that you can review the changes before executing them. You can create a change set for a stack that doesn't exist or an existing stack. If you create a change set for a stack that doesn't exist, the change set shows all of the resources that AWS CloudFormation will create. If you create a change set for an existing stack, AWS CloudFormation compares the stack's information with the information that you submit in the change set and lists the differences. Use change sets to understand which resources AWS CloudFormation will create or change, and how it will change resources in an existing stack, before you create or update a stack. To create a change set for a stack that doesn't exist, for the ChangeSetType parameter, specify CREATE. To create a change set for an existing stack, specify UPDATE for the ChangeSetType parameter. To create a change set for an import operation, specify IMPORT for the ChangeSetType parameter. After the CreateChangeSet call successfully completes, AWS CloudFormation starts creating the change set. To check the status of the change set or to review it, use the DescribeChangeSet action. When you are satisfied with the changes the change set will make, execute the change set by using the ExecuteChangeSet action. AWS CloudFormation doesn't make changes until you execute the change set. + +Required Parameters +{ + "ChangeSetName": "The name of the change set. The name must be unique among all change sets that are associated with the specified stack. A change set name can contain only alphanumeric, case sensitive characters and hyphens. It must start with an alphabetic character and cannot exceed 128 characters.", + "StackName": "The name or the unique ID of the stack for which you are creating a change set. AWS CloudFormation generates the change set by comparing this stack's information with the information that you submit, such as a modified template or different parameter input values." +} + +Optional Parameters +{ + "Tags": "Key-value pairs to associate with this stack. AWS CloudFormation also propagates these tags to resources in the stack. You can specify a maximum of 50 tags.", + "ClientToken": "A unique identifier for this CreateChangeSet request. Specify this token if you plan to retry requests so that AWS CloudFormation knows that you're not attempting to create another change set with the same name. You might retry CreateChangeSet requests to ensure that AWS CloudFormation successfully received them.", + "NotificationARNs": "The Amazon Resource Names (ARNs) of Amazon Simple Notification Service (Amazon SNS) topics that AWS CloudFormation associates with the stack. To remove all associated notification topics, specify an empty list.", + "TemplateURL": "The location of the file that contains the revised template. The URL must point to a template (max size: 460,800 bytes) that is located in an S3 bucket. AWS CloudFormation generates the change set by comparing this template with the stack that you specified. Conditional: You must specify only TemplateBody or TemplateURL.", + "Capabilities": "In some cases, you must explicitly acknowledge that your stack template contains certain capabilities in order for AWS CloudFormation to create the stack. CAPABILITY_IAM and CAPABILITY_NAMED_IAM Some stack templates might include resources that can affect permissions in your AWS account; for example, by creating new AWS Identity and Access Management (IAM) users. For those stacks, you must explicitly acknowledge this by specifying one of these capabilities. The following IAM resources require you to specify either the CAPABILITY_IAM or CAPABILITY_NAMED_IAM capability. If you have IAM resources, you can specify either capability. If you have IAM resources with custom names, you must specify CAPABILITY_NAMED_IAM. If you don't specify either of these capabilities, AWS CloudFormation returns an InsufficientCapabilities error. If your stack template contains these resources, we recommend that you review all permissions associated with them and edit their permissions if necessary. AWS::IAM::AccessKey AWS::IAM::Group AWS::IAM::InstanceProfile AWS::IAM::Policy AWS::IAM::Role AWS::IAM::User AWS::IAM::UserToGroupAddition For more information, see Acknowledging IAM Resources in AWS CloudFormation Templates. CAPABILITY_AUTO_EXPAND Some template contain macros. Macros perform custom processing on templates; this can include simple actions like find-and-replace operations, all the way to extensive transformations of entire templates. Because of this, users typically create a change set from the processed template, so that they can review the changes resulting from the macros before actually creating the stack. If your stack template contains one or more macros, and you choose to create a stack directly from the processed template, without first reviewing the resulting changes in a change set, you must acknowledge this capability. This includes the AWS::Include and AWS::Serverless transforms, which are macros hosted by AWS CloudFormation. This capacity does not apply to creating change sets, and specifying it when creating change sets has no effect. Also, change sets do not currently support nested stacks. If you want to create a stack from a stack template that contains macros and nested stacks, you must create or update the stack directly from the template using the CreateStack or UpdateStack action, and specifying this capability. For more information on macros, see Using AWS CloudFormation Macros to Perform Custom Processing on Templates. ", + "RollbackConfiguration": "The rollback triggers for AWS CloudFormation to monitor during stack creation and updating operations, and for the specified monitoring period afterwards.", + "UsePreviousTemplate": "Whether to reuse the template that is associated with the stack to create the change set.", + "TemplateBody": "A structure that contains the body of the revised template, with a minimum length of 1 byte and a maximum length of 51,200 bytes. AWS CloudFormation generates the change set by comparing this template with the template of the stack that you specified. Conditional: You must specify only TemplateBody or TemplateURL.", + "Description": "A description to help you identify this change set.", + "ChangeSetType": "The type of change set operation. To create a change set for a new stack, specify CREATE. To create a change set for an existing stack, specify UPDATE. To create a change set for an import operation, specify IMPORT. If you create a change set for a new stack, AWS Cloudformation creates a stack with a unique stack ID, but no template or resources. The stack will be in the REVIEW_IN_PROGRESS state until you execute the change set. By default, AWS CloudFormation specifies UPDATE. You can't use the UPDATE type to create a change set for a new stack or the CREATE type to create a change set for an existing stack.", + "Parameters": "A list of Parameter structures that specify input parameters for the change set. For more information, see the Parameter data type.", + "RoleARN": "The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM) role that AWS CloudFormation assumes when executing the change set. AWS CloudFormation uses the role's credentials to make calls on your behalf. AWS CloudFormation uses this role for all future operations on the stack. As long as users have permission to operate on the stack, AWS CloudFormation uses this role even if the users don't have permission to pass it. Ensure that the role grants least privilege. If you don't specify a value, AWS CloudFormation uses the role that was previously associated with the stack. If no role is available, AWS CloudFormation uses a temporary session that is generated from your user credentials.", + "ResourceTypes": "The template resource types that you have permissions to work with if you execute this change set, such as AWS::EC2::Instance, AWS::EC2::*, or Custom::MyCustomInstance. If the list of resource types doesn't include a resource type that you're updating, the stack update fails. By default, AWS CloudFormation grants permissions to all resource types. AWS Identity and Access Management (IAM) uses this parameter for condition keys in IAM policies for AWS CloudFormation. For more information, see Controlling Access with AWS Identity and Access Management in the AWS CloudFormation User Guide.", + "ResourcesToImport": "The resources to import into your stack." +} +""" +CreateChangeSet(args) = cloudformation("CreateChangeSet", args) + +""" + ListTypeRegistrations() + +Returns a list of registration tokens for the specified type(s). + +Optional Parameters +{ + "MaxResults": "The maximum number of results to be returned with a single call. If the number of available results exceeds this maximum, the response includes a NextToken value that you can assign to the NextToken request parameter to get the next set of results.", + "NextToken": "If the previous paginated request didn't return all of the remaining results, the response object's NextToken parameter value is set to a token. To retrieve the next set of results, call this action again and assign that token to the request object's NextToken parameter. If there are no remaining results, the previous response object's NextToken parameter is set to null.", + "TypeArn": "The Amazon Resource Name (ARN) of the type. Conditional: You must specify either TypeName and Type, or Arn.", + "TypeName": "The name of the type. Conditional: You must specify either TypeName and Type, or Arn.", + "RegistrationStatusFilter": "The current status of the type registration request. The default is IN_PROGRESS.", + "Type": "The kind of type. Currently the only valid value is RESOURCE. Conditional: You must specify either TypeName and Type, or Arn." +} +""" +ListTypeRegistrations() = cloudformation("ListTypeRegistrations") +ListTypeRegistrations(args) = cloudformation("ListTypeRegistrations", args) + +""" + ListStackSetOperationResults() + +Returns summary information about the results of a stack set operation. + +Required Parameters +{ + "OperationId": "The ID of the stack set operation.", + "StackSetName": "The name or unique ID of the stack set that you want to get operation results for." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of results to be returned with a single call. If the number of available results exceeds this maximum, the response includes a NextToken value that you can assign to the NextToken request parameter to get the next set of results.", + "NextToken": "If the previous request didn't return all of the remaining results, the response object's NextToken parameter value is set to a token. To retrieve the next set of results, call ListStackSetOperationResults again and assign that token to the request object's NextToken parameter. If there are no remaining results, the previous response object's NextToken parameter is set to null." +} +""" +ListStackSetOperationResults(args) = cloudformation("ListStackSetOperationResults", args) + +""" + ContinueUpdateRollback() + +For a specified stack that is in the UPDATE_ROLLBACK_FAILED state, continues rolling it back to the UPDATE_ROLLBACK_COMPLETE state. Depending on the cause of the failure, you can manually fix the error and continue the rollback. By continuing the rollback, you can return your stack to a working state (the UPDATE_ROLLBACK_COMPLETE state), and then try to update the stack again. A stack goes into the UPDATE_ROLLBACK_FAILED state when AWS CloudFormation cannot roll back all changes after a failed stack update. For example, you might have a stack that is rolling back to an old database instance that was deleted outside of AWS CloudFormation. Because AWS CloudFormation doesn't know the database was deleted, it assumes that the database instance still exists and attempts to roll back to it, causing the update rollback to fail. + +Required Parameters +{ + "StackName": "The name or the unique ID of the stack that you want to continue rolling back. Don't specify the name of a nested stack (a stack that was created by using the AWS::CloudFormation::Stack resource). Instead, use this operation on the parent stack (the stack that contains the AWS::CloudFormation::Stack resource). " +} + +Optional Parameters +{ + "ClientRequestToken": "A unique identifier for this ContinueUpdateRollback request. Specify this token if you plan to retry requests so that AWS CloudFormation knows that you're not attempting to continue the rollback to a stack with the same name. You might retry ContinueUpdateRollback requests to ensure that AWS CloudFormation successfully received them.", + "RoleARN": "The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM) role that AWS CloudFormation assumes to roll back the stack. AWS CloudFormation uses the role's credentials to make calls on your behalf. AWS CloudFormation always uses this role for all future operations on the stack. As long as users have permission to operate on the stack, AWS CloudFormation uses this role even if the users don't have permission to pass it. Ensure that the role grants least privilege. If you don't specify a value, AWS CloudFormation uses the role that was previously associated with the stack. If no role is available, AWS CloudFormation uses a temporary session that is generated from your user credentials.", + "ResourcesToSkip": "A list of the logical IDs of the resources that AWS CloudFormation skips during the continue update rollback operation. You can specify only resources that are in the UPDATE_FAILED state because a rollback failed. You can't specify resources that are in the UPDATE_FAILED state for other reasons, for example, because an update was cancelled. To check why a resource update failed, use the DescribeStackResources action, and view the resource status reason. Specify this property to skip rolling back resources that AWS CloudFormation can't successfully roll back. We recommend that you troubleshoot resources before skipping them. AWS CloudFormation sets the status of the specified resources to UPDATE_COMPLETE and continues to roll back the stack. After the rollback is complete, the state of the skipped resources will be inconsistent with the state of the resources in the stack template. Before performing another stack update, you must update the stack or resources to be consistent with each other. If you don't, subsequent stack updates might fail, and the stack will become unrecoverable. Specify the minimum number of resources required to successfully roll back your stack. For example, a failed resource update might cause dependent resources to fail. In this case, it might not be necessary to skip the dependent resources. To skip resources that are part of nested stacks, use the following format: NestedStackName.ResourceLogicalID. If you want to specify the logical ID of a stack resource (Type: AWS::CloudFormation::Stack) in the ResourcesToSkip list, then its corresponding embedded stack must be in one of the following states: DELETE_IN_PROGRESS, DELETE_COMPLETE, or DELETE_FAILED. Don't confuse a child stack's name with its corresponding logical ID defined in the parent stack. For an example of a continue update rollback operation with nested stacks, see Using ResourcesToSkip to recover a nested stacks hierarchy. " +} +""" +ContinueUpdateRollback(args) = cloudformation("ContinueUpdateRollback", args) + +""" + DescribeStackDriftDetectionStatus() + +Returns information about a stack drift detection operation. A stack drift detection operation detects whether a stack's actual configuration differs, or has drifted, from it's expected configuration, as defined in the stack template and any values specified as template parameters. A stack is considered to have drifted if one or more of its resources have drifted. For more information on stack and resource drift, see Detecting Unregulated Configuration Changes to Stacks and Resources. Use DetectStackDrift to initiate a stack drift detection operation. DetectStackDrift returns a StackDriftDetectionId you can use to monitor the progress of the operation using DescribeStackDriftDetectionStatus. Once the drift detection operation has completed, use DescribeStackResourceDrifts to return drift information about the stack and its resources. + +Required Parameters +{ + "StackDriftDetectionId": "The ID of the drift detection results of this operation. AWS CloudFormation generates new results, with a new drift detection ID, each time this operation is run. However, the number of drift results AWS CloudFormation retains for any given stack, and for how long, may vary. " +} +""" +DescribeStackDriftDetectionStatus(args) = cloudformation("DescribeStackDriftDetectionStatus", args) + +""" + ListTypeVersions() + +Returns summary information about the versions of a type. + +Optional Parameters +{ + "Arn": "The Amazon Resource Name (ARN) of the type for which you want version summary information. Conditional: You must specify either TypeName and Type, or Arn.", + "MaxResults": "The maximum number of results to be returned with a single call. If the number of available results exceeds this maximum, the response includes a NextToken value that you can assign to the NextToken request parameter to get the next set of results.", + "NextToken": "If the previous paginated request didn't return all of the remaining results, the response object's NextToken parameter value is set to a token. To retrieve the next set of results, call this action again and assign that token to the request object's NextToken parameter. If there are no remaining results, the previous response object's NextToken parameter is set to null.", + "TypeName": "The name of the type for which you want version summary information. Conditional: You must specify either TypeName and Type, or Arn.", + "Type": "The kind of the type. Currently the only valid value is RESOURCE. Conditional: You must specify either TypeName and Type, or Arn.", + "DeprecatedStatus": "The deprecation status of the type versions that you want to get summary information about. Valid values include: LIVE: The type version is registered and can be used in CloudFormation operations, dependent on its provisioning behavior and visibility scope. DEPRECATED: The type version has been deregistered and can no longer be used in CloudFormation operations. The default is LIVE." +} +""" +ListTypeVersions() = cloudformation("ListTypeVersions") +ListTypeVersions(args) = cloudformation("ListTypeVersions", args) + +""" + DescribeAccountLimits() + +Retrieves your account's AWS CloudFormation limits, such as the maximum number of stacks that you can create in your account. For more information about account limits, see AWS CloudFormation Limits in the AWS CloudFormation User Guide. + +Optional Parameters +{ + "NextToken": "A string that identifies the next page of limits that you want to retrieve." +} +""" +DescribeAccountLimits() = cloudformation("DescribeAccountLimits") +DescribeAccountLimits(args) = cloudformation("DescribeAccountLimits", args) + +""" + SetTypeDefaultVersion() + +Specify the default version of a type. The default version of a type will be used in CloudFormation operations. + +Optional Parameters +{ + "Arn": "The Amazon Resource Name (ARN) of the type for which you want version summary information. Conditional: You must specify either TypeName and Type, or Arn.", + "TypeName": "The name of the type. Conditional: You must specify either TypeName and Type, or Arn.", + "Type": "The kind of type. Conditional: You must specify either TypeName and Type, or Arn.", + "VersionId": "The ID of a specific version of the type. The version ID is the value at the end of the Amazon Resource Name (ARN) assigned to the type version when it is registered." +} +""" +SetTypeDefaultVersion() = cloudformation("SetTypeDefaultVersion") +SetTypeDefaultVersion(args) = cloudformation("SetTypeDefaultVersion", args) + +""" + SetStackPolicy() + +Sets a stack policy for a specified stack. + +Required Parameters +{ + "StackName": "The name or unique stack ID that you want to associate a policy with." +} + +Optional Parameters +{ + "StackPolicyBody": "Structure containing the stack policy body. For more information, go to Prevent Updates to Stack Resources in the AWS CloudFormation User Guide. You can specify either the StackPolicyBody or the StackPolicyURL parameter, but not both.", + "StackPolicyURL": "Location of a file containing the stack policy. The URL must point to a policy (maximum size: 16 KB) located in an S3 bucket in the same region as the stack. You can specify either the StackPolicyBody or the StackPolicyURL parameter, but not both." +} +""" +SetStackPolicy(args) = cloudformation("SetStackPolicy", args) + +""" + DeleteStackInstances() + +Deletes stack instances for the specified accounts, in the specified regions. + +Required Parameters +{ + "Regions": "The regions where you want to delete stack set instances. ", + "RetainStacks": "Removes the stack instances from the specified stack set, but doesn't delete the stacks. You can't reassociate a retained stack or add an existing, saved stack to a new stack set. For more information, see Stack set operation options.", + "StackSetName": "The name or unique ID of the stack set that you want to delete stack instances for." +} + +Optional Parameters +{ + "OperationId": "The unique identifier for this stack set operation. If you don't specify an operation ID, the SDK generates one automatically. The operation ID also functions as an idempotency token, to ensure that AWS CloudFormation performs the stack set operation only once, even if you retry the request multiple times. You can retry stack set operation requests to ensure that AWS CloudFormation successfully received them. Repeating this stack set operation with a new operation ID retries all stack instances whose status is OUTDATED. ", + "DeploymentTargets": "[Service-managed permissions] The AWS Organizations accounts from which to delete stack instances. You can specify Accounts or DeploymentTargets, but not both.", + "Accounts": "[Self-managed permissions] The names of the AWS accounts that you want to delete stack instances for. You can specify Accounts or DeploymentTargets, but not both.", + "OperationPreferences": "Preferences for how AWS CloudFormation performs this stack set operation." +} +""" +DeleteStackInstances(args) = cloudformation("DeleteStackInstances", args) + +""" + EstimateTemplateCost() + +Returns the estimated monthly cost of a template. The return value is an AWS Simple Monthly Calculator URL with a query string that describes the resources required to run the template. + +Optional Parameters +{ + "TemplateBody": "Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes. (For more information, go to Template Anatomy in the AWS CloudFormation User Guide.) Conditional: You must pass TemplateBody or TemplateURL. If both are passed, only TemplateBody is used.", + "TemplateURL": "Location of file containing the template body. The URL must point to a template that is located in an Amazon S3 bucket. For more information, go to Template Anatomy in the AWS CloudFormation User Guide. Conditional: You must pass TemplateURL or TemplateBody. If both are passed, only TemplateBody is used.", + "Parameters": "A list of Parameter structures that specify input parameters." +} +""" +EstimateTemplateCost() = cloudformation("EstimateTemplateCost") +EstimateTemplateCost(args) = cloudformation("EstimateTemplateCost", args) + +""" + DeregisterType() + +Removes a type or type version from active use in the CloudFormation registry. If a type or type version is deregistered, it cannot be used in CloudFormation operations. To deregister a type, you must individually deregister all registered versions of that type. If a type has only a single registered version, deregistering that version results in the type itself being deregistered. You cannot deregister the default version of a type, unless it is the only registered version of that type, in which case the type itself is deregistered as well. + +Optional Parameters +{ + "Arn": "The Amazon Resource Name (ARN) of the type. Conditional: You must specify either TypeName and Type, or Arn.", + "TypeName": "The name of the type. Conditional: You must specify either TypeName and Type, or Arn.", + "Type": "The kind of type. Currently the only valid value is RESOURCE. Conditional: You must specify either TypeName and Type, or Arn.", + "VersionId": "The ID of a specific version of the type. The version ID is the value at the end of the Amazon Resource Name (ARN) assigned to the type version when it is registered." +} +""" +DeregisterType() = cloudformation("DeregisterType") +DeregisterType(args) = cloudformation("DeregisterType", args) + +""" + RegisterType() + +Registers a type with the CloudFormation service. Registering a type makes it available for use in CloudFormation templates in your AWS account, and includes: Validating the resource schema Determining which handlers have been specified for the resource Making the resource type available for use in your account For more information on how to develop types and ready them for registeration, see Creating Resource Providers in the CloudFormation CLI User Guide. Once you have initiated a registration request using RegisterType , you can use DescribeTypeRegistration to monitor the progress of the registration request. + +Required Parameters +{ + "TypeName": "The name of the type being registered. We recommend that type names adhere to the following pattern: company_or_organization::service::type. The following organization namespaces are reserved and cannot be used in your resource type names: Alexa AMZN Amazon AWS Custom Dev ", + "SchemaHandlerPackage": "A url to the S3 bucket containing the schema handler package that contains the schema, event handlers, and associated files for the type you want to register. For information on generating a schema handler package for the type you want to register, see submit in the CloudFormation CLI User Guide. As part of registering a resource provider type, CloudFormation must be able to access the S3 bucket which contains the schema handler package for that resource provider. For more information, see IAM Permissions for Registering a Resource Provider in the AWS CloudFormation User Guide. " +} + +Optional Parameters +{ + "ClientRequestToken": "A unique identifier that acts as an idempotency key for this registration request. Specifying a client request token prevents CloudFormation from generating more than one version of a type from the same registeration request, even if the request is submitted multiple times. ", + "Type": "The kind of type. Currently, the only valid value is RESOURCE.", + "LoggingConfig": "Specifies logging configuration information for a type.", + "ExecutionRoleArn": "The Amazon Resource Name (ARN) of the IAM execution role to use to register the type. If your resource type calls AWS APIs in any of its handlers, you must create an IAM execution role that includes the necessary permissions to call those AWS APIs, and provision that execution role in your account. CloudFormation then assumes that execution role to provide your resource type with the appropriate credentials." +} +""" +RegisterType(args) = cloudformation("RegisterType", args) + +""" + CreateStackInstances() + +Creates stack instances for the specified accounts, within the specified regions. A stack instance refers to a stack in a specific account and region. You must specify at least one value for either Accounts or DeploymentTargets, and you must specify at least one value for Regions. + +Required Parameters +{ + "Regions": "The names of one or more regions where you want to create stack instances using the specified AWS account(s). ", + "StackSetName": "The name or unique ID of the stack set that you want to create stack instances from." +} + +Optional Parameters +{ + "OperationId": "The unique identifier for this stack set operation. The operation ID also functions as an idempotency token, to ensure that AWS CloudFormation performs the stack set operation only once, even if you retry the request multiple times. You might retry stack set operation requests to ensure that AWS CloudFormation successfully received them. If you don't specify an operation ID, the SDK generates one automatically. Repeating this stack set operation with a new operation ID retries all stack instances whose status is OUTDATED. ", + "DeploymentTargets": "[Service-managed permissions] The AWS Organizations accounts for which to create stack instances in the specified Regions. You can specify Accounts or DeploymentTargets, but not both.", + "Accounts": "[Self-managed permissions] The names of one or more AWS accounts that you want to create stack instances in the specified region(s) for. You can specify Accounts or DeploymentTargets, but not both.", + "ParameterOverrides": "A list of stack set parameters whose values you want to override in the selected stack instances. Any overridden parameter values will be applied to all stack instances in the specified accounts and regions. When specifying parameters and their values, be aware of how AWS CloudFormation sets parameter values during stack instance operations: To override the current value for a parameter, include the parameter and specify its value. To leave a parameter set to its present value, you can do one of the following: Do not include the parameter in the list. Include the parameter and specify UsePreviousValue as true. (You cannot specify both a value and set UsePreviousValue to true.) To set all overridden parameter back to the values specified in the stack set, specify a parameter list but do not include any parameters. To leave all parameters set to their present values, do not specify this property at all. During stack set updates, any parameter values overridden for a stack instance are not updated, but retain their overridden value. You can only override the parameter values that are specified in the stack set; to add or delete a parameter itself, use UpdateStackSet to update the stack set template.", + "OperationPreferences": "Preferences for how AWS CloudFormation performs this stack set operation." +} +""" +CreateStackInstances(args) = cloudformation("CreateStackInstances", args) + +""" + ListStackInstances() + +Returns summary information about stack instances that are associated with the specified stack set. You can filter for stack instances that are associated with a specific AWS account name or region. + +Required Parameters +{ + "StackSetName": "The name or unique ID of the stack set that you want to list stack instances for." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of results to be returned with a single call. If the number of available results exceeds this maximum, the response includes a NextToken value that you can assign to the NextToken request parameter to get the next set of results.", + "StackInstanceAccount": "The name of the AWS account that you want to list stack instances for.", + "StackInstanceRegion": "The name of the region where you want to list stack instances. ", + "NextToken": "If the previous request didn't return all of the remaining results, the response's NextToken parameter value is set to a token. To retrieve the next set of results, call ListStackInstances again and assign that token to the request object's NextToken parameter. If there are no remaining results, the previous response object's NextToken parameter is set to null." +} +""" +ListStackInstances(args) = cloudformation("ListStackInstances", args) + +""" + UpdateTerminationProtection() + +Updates termination protection for the specified stack. If a user attempts to delete a stack with termination protection enabled, the operation fails and the stack remains unchanged. For more information, see Protecting a Stack From Being Deleted in the AWS CloudFormation User Guide. For nested stacks, termination protection is set on the root stack and cannot be changed directly on the nested stack. + +Required Parameters +{ + "StackName": "The name or unique ID of the stack for which you want to set termination protection.", + "EnableTerminationProtection": "Whether to enable termination protection on the specified stack." +} +""" +UpdateTerminationProtection(args) = cloudformation("UpdateTerminationProtection", args) + +""" + GetStackPolicy() + +Returns the stack policy for a specified stack. If a stack doesn't have a policy, a null value is returned. + +Required Parameters +{ + "StackName": "The name or unique stack ID that is associated with the stack whose policy you want to get." +} +""" +GetStackPolicy(args) = cloudformation("GetStackPolicy", args) + +""" + DescribeTypeRegistration() + +Returns information about a type's registration, including its current status and type and version identifiers. When you initiate a registration request using RegisterType , you can then use DescribeTypeRegistration to monitor the progress of that registration request. Once the registration request has completed, use DescribeType to return detailed informaiton about a type. + +Required Parameters +{ + "RegistrationToken": "The identifier for this registration request. This registration token is generated by CloudFormation when you initiate a registration request using RegisterType ." +} +""" +DescribeTypeRegistration(args) = cloudformation("DescribeTypeRegistration", args) + +""" + DescribeStackResourceDrifts() + +Returns drift information for the resources that have been checked for drift in the specified stack. This includes actual and expected configuration values for resources where AWS CloudFormation detects configuration drift. For a given stack, there will be one StackResourceDrift for each stack resource that has been checked for drift. Resources that have not yet been checked for drift are not included. Resources that do not currently support drift detection are not checked, and so not included. For a list of resources that support drift detection, see Resources that Support Drift Detection. Use DetectStackResourceDrift to detect drift on individual resources, or DetectStackDrift to detect drift on all supported resources for a given stack. + +Required Parameters +{ + "StackName": "The name of the stack for which you want drift information." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of results to be returned with a single call. If the number of available results exceeds this maximum, the response includes a NextToken value that you can assign to the NextToken request parameter to get the next set of results.", + "NextToken": "A string that identifies the next page of stack resource drift results.", + "StackResourceDriftStatusFilters": "The resource drift status values to use as filters for the resource drift results returned. DELETED: The resource differs from its expected template configuration in that the resource has been deleted. MODIFIED: One or more resource properties differ from their expected template values. IN_SYNC: The resources's actual configuration matches its expected template configuration. NOT_CHECKED: AWS CloudFormation does not currently return this value. " +} +""" +DescribeStackResourceDrifts(args) = cloudformation("DescribeStackResourceDrifts", args) + +""" + ListImports() + +Lists all stacks that are importing an exported output value. To modify or remove an exported output value, first use this action to see which stacks are using it. To see the exported output values in your account, see ListExports. For more information about importing an exported output value, see the Fn::ImportValue function. + +Required Parameters +{ + "ExportName": "The name of the exported output value. AWS CloudFormation returns the stack names that are importing this value. " +} + +Optional Parameters +{ + "NextToken": "A string (provided by the ListImports response output) that identifies the next page of stacks that are importing the specified exported output value. " +} +""" +ListImports(args) = cloudformation("ListImports", args) + +""" + CreateStackSet() + +Creates a stack set. + +Required Parameters +{ + "StackSetName": "The name to associate with the stack set. The name must be unique in the region where you create your stack set. A stack name can contain only alphanumeric characters (case-sensitive) and hyphens. It must start with an alphabetic character and can't be longer than 128 characters. " +} + +Optional Parameters +{ + "ExecutionRoleName": "The name of the IAM execution role to use to create the stack set. If you do not specify an execution role, AWS CloudFormation uses the AWSCloudFormationStackSetExecutionRole role for the stack set operation. Specify an IAM role only if you are using customized execution roles to control which stack resources users and groups can include in their stack sets. ", + "PermissionModel": "Describes how the IAM roles required for stack set operations are created. By default, SELF-MANAGED is specified. With self-managed permissions, you must create the administrator and execution roles required to deploy to target accounts. For more information, see Grant Self-Managed Stack Set Permissions. With service-managed permissions, StackSets automatically creates the IAM roles required to deploy to accounts managed by AWS Organizations. For more information, see Grant Service-Managed Stack Set Permissions. ", + "Tags": "The key-value pairs to associate with this stack set and the stacks created from it. AWS CloudFormation also propagates these tags to supported resources that are created in the stacks. A maximum number of 50 tags can be specified. If you specify tags as part of a CreateStackSet action, AWS CloudFormation checks to see if you have the required IAM permission to tag resources. If you don't, the entire CreateStackSet action fails with an access denied error, and the stack set is not created.", + "AutoDeployment": "Describes whether StackSets automatically deploys to AWS Organizations accounts that are added to the target organization or organizational unit (OU). Specify only if PermissionModel is SERVICE_MANAGED. If you specify AutoDeployment, do not specify DeploymentTargets or Regions.", + "AdministrationRoleARN": "The Amazon Resource Number (ARN) of the IAM role to use to create this stack set. Specify an IAM role only if you are using customized administrator roles to control which users or groups can manage specific stack sets within the same administrator account. For more information, see Prerequisites: Granting Permissions for Stack Set Operations in the AWS CloudFormation User Guide.", + "TemplateURL": "The location of the file that contains the template body. The URL must point to a template (maximum size: 460,800 bytes) that's located in an Amazon S3 bucket. For more information, see Template Anatomy in the AWS CloudFormation User Guide. Conditional: You must specify either the TemplateBody or the TemplateURL parameter, but not both.", + "Capabilities": "In some cases, you must explicitly acknowledge that your stack set template contains certain capabilities in order for AWS CloudFormation to create the stack set and related stack instances. CAPABILITY_IAM and CAPABILITY_NAMED_IAM Some stack templates might include resources that can affect permissions in your AWS account; for example, by creating new AWS Identity and Access Management (IAM) users. For those stack sets, you must explicitly acknowledge this by specifying one of these capabilities. The following IAM resources require you to specify either the CAPABILITY_IAM or CAPABILITY_NAMED_IAM capability. If you have IAM resources, you can specify either capability. If you have IAM resources with custom names, you must specify CAPABILITY_NAMED_IAM. If you don't specify either of these capabilities, AWS CloudFormation returns an InsufficientCapabilities error. If your stack template contains these resources, we recommend that you review all permissions associated with them and edit their permissions if necessary. AWS::IAM::AccessKey AWS::IAM::Group AWS::IAM::InstanceProfile AWS::IAM::Policy AWS::IAM::Role AWS::IAM::User AWS::IAM::UserToGroupAddition For more information, see Acknowledging IAM Resources in AWS CloudFormation Templates. CAPABILITY_AUTO_EXPAND Some templates contain macros. If your stack template contains one or more macros, and you choose to create a stack directly from the processed template, without first reviewing the resulting changes in a change set, you must acknowledge this capability. For more information, see Using AWS CloudFormation Macros to Perform Custom Processing on Templates. Stack sets do not currently support macros in stack templates. (This includes the AWS::Include and AWS::Serverless transforms, which are macros hosted by AWS CloudFormation.) Even if you specify this capability, if you include a macro in your template the stack set operation will fail. ", + "TemplateBody": "The structure that contains the template body, with a minimum length of 1 byte and a maximum length of 51,200 bytes. For more information, see Template Anatomy in the AWS CloudFormation User Guide. Conditional: You must specify either the TemplateBody or the TemplateURL parameter, but not both.", + "Description": "A description of the stack set. You can use the description to identify the stack set's purpose or other important information.", + "ClientRequestToken": "A unique identifier for this CreateStackSet request. Specify this token if you plan to retry requests so that AWS CloudFormation knows that you're not attempting to create another stack set with the same name. You might retry CreateStackSet requests to ensure that AWS CloudFormation successfully received them. If you don't specify an operation ID, the SDK generates one automatically. ", + "Parameters": "The input parameters for the stack set template. " +} +""" +CreateStackSet(args) = cloudformation("CreateStackSet", args) + +""" + DescribeStackSet() + +Returns the description of the specified stack set. + +Required Parameters +{ + "StackSetName": "The name or unique ID of the stack set whose description you want." +} +""" +DescribeStackSet(args) = cloudformation("DescribeStackSet", args) + +""" + UpdateStackSet() + +Updates the stack set, and associated stack instances in the specified accounts and regions. Even if the stack set operation created by updating the stack set fails (completely or partially, below or above a specified failure tolerance), the stack set is updated with your changes. Subsequent CreateStackInstances calls on the specified stack set use the updated stack set. + +Required Parameters +{ + "StackSetName": "The name or unique ID of the stack set that you want to update." +} + +Optional Parameters +{ + "Regions": "The regions in which to update associated stack instances. If you specify regions, you must also specify accounts in which to update stack set instances. To update all the stack instances associated with this stack set, do not specify the Accounts or Regions properties. If the stack set update includes changes to the template (that is, if the TemplateBody or TemplateURL properties are specified), or the Parameters property, AWS CloudFormation marks all stack instances with a status of OUTDATED prior to updating the stack instances in the specified accounts and regions. If the stack set update does not include changes to the template or parameters, AWS CloudFormation updates the stack instances in the specified accounts and regions, while leaving all other stack instances with their existing stack instance status. ", + "ExecutionRoleName": "The name of the IAM execution role to use to update the stack set. If you do not specify an execution role, AWS CloudFormation uses the AWSCloudFormationStackSetExecutionRole role for the stack set operation. Specify an IAM role only if you are using customized execution roles to control which stack resources users and groups can include in their stack sets. If you specify a customized execution role, AWS CloudFormation uses that role to update the stack. If you do not specify a customized execution role, AWS CloudFormation performs the update using the role previously associated with the stack set, so long as you have permissions to perform operations on the stack set.", + "OperationPreferences": "Preferences for how AWS CloudFormation performs this stack set operation.", + "PermissionModel": "Describes how the IAM roles required for stack set operations are created. You cannot modify PermissionModel if there are stack instances associated with your stack set. With self-managed permissions, you must create the administrator and execution roles required to deploy to target accounts. For more information, see Grant Self-Managed Stack Set Permissions. With service-managed permissions, StackSets automatically creates the IAM roles required to deploy to accounts managed by AWS Organizations. For more information, see Grant Service-Managed Stack Set Permissions. ", + "Tags": "The key-value pairs to associate with this stack set and the stacks created from it. AWS CloudFormation also propagates these tags to supported resources that are created in the stacks. You can specify a maximum number of 50 tags. If you specify tags for this parameter, those tags replace any list of tags that are currently associated with this stack set. This means: If you don't specify this parameter, AWS CloudFormation doesn't modify the stack's tags. If you specify any tags using this parameter, you must specify all the tags that you want associated with this stack set, even tags you've specifed before (for example, when creating the stack set or during a previous update of the stack set.). Any tags that you don't include in the updated list of tags are removed from the stack set, and therefore from the stacks and resources as well. If you specify an empty value, AWS CloudFormation removes all currently associated tags. If you specify new tags as part of an UpdateStackSet action, AWS CloudFormation checks to see if you have the required IAM permission to tag resources. If you omit tags that are currently associated with the stack set from the list of tags you specify, AWS CloudFormation assumes that you want to remove those tags from the stack set, and checks to see if you have permission to untag resources. If you don't have the necessary permission(s), the entire UpdateStackSet action fails with an access denied error, and the stack set is not updated.", + "AutoDeployment": "[Service-managed permissions] Describes whether StackSets automatically deploys to AWS Organizations accounts that are added to a target organization or organizational unit (OU). If you specify AutoDeployment, do not specify DeploymentTargets or Regions.", + "AdministrationRoleARN": "The Amazon Resource Number (ARN) of the IAM role to use to update this stack set. Specify an IAM role only if you are using customized administrator roles to control which users or groups can manage specific stack sets within the same administrator account. For more information, see Granting Permissions for Stack Set Operations in the AWS CloudFormation User Guide. If you specified a customized administrator role when you created the stack set, you must specify a customized administrator role, even if it is the same customized administrator role used with this stack set previously.", + "OperationId": "The unique ID for this stack set operation. The operation ID also functions as an idempotency token, to ensure that AWS CloudFormation performs the stack set operation only once, even if you retry the request multiple times. You might retry stack set operation requests to ensure that AWS CloudFormation successfully received them. If you don't specify an operation ID, AWS CloudFormation generates one automatically. Repeating this stack set operation with a new operation ID retries all stack instances whose status is OUTDATED. ", + "DeploymentTargets": "[Service-managed permissions] The AWS Organizations accounts in which to update associated stack instances. To update all the stack instances associated with this stack set, do not specify DeploymentTargets or Regions. If the stack set update includes changes to the template (that is, if TemplateBody or TemplateURL is specified), or the Parameters, AWS CloudFormation marks all stack instances with a status of OUTDATED prior to updating the stack instances in the specified accounts and Regions. If the stack set update does not include changes to the template or parameters, AWS CloudFormation updates the stack instances in the specified accounts and Regions, while leaving all other stack instances with their existing stack instance status.", + "TemplateURL": "The location of the file that contains the template body. The URL must point to a template (maximum size: 460,800 bytes) that is located in an Amazon S3 bucket. For more information, see Template Anatomy in the AWS CloudFormation User Guide. Conditional: You must specify only one of the following parameters: TemplateBody or TemplateURL—or set UsePreviousTemplate to true. ", + "Capabilities": "In some cases, you must explicitly acknowledge that your stack template contains certain capabilities in order for AWS CloudFormation to update the stack set and its associated stack instances. CAPABILITY_IAM and CAPABILITY_NAMED_IAM Some stack templates might include resources that can affect permissions in your AWS account; for example, by creating new AWS Identity and Access Management (IAM) users. For those stacks sets, you must explicitly acknowledge this by specifying one of these capabilities. The following IAM resources require you to specify either the CAPABILITY_IAM or CAPABILITY_NAMED_IAM capability. If you have IAM resources, you can specify either capability. If you have IAM resources with custom names, you must specify CAPABILITY_NAMED_IAM. If you don't specify either of these capabilities, AWS CloudFormation returns an InsufficientCapabilities error. If your stack template contains these resources, we recommend that you review all permissions associated with them and edit their permissions if necessary. AWS::IAM::AccessKey AWS::IAM::Group AWS::IAM::InstanceProfile AWS::IAM::Policy AWS::IAM::Role AWS::IAM::User AWS::IAM::UserToGroupAddition For more information, see Acknowledging IAM Resources in AWS CloudFormation Templates. CAPABILITY_AUTO_EXPAND Some templates contain macros. If your stack template contains one or more macros, and you choose to update a stack directly from the processed template, without first reviewing the resulting changes in a change set, you must acknowledge this capability. For more information, see Using AWS CloudFormation Macros to Perform Custom Processing on Templates. Stack sets do not currently support macros in stack templates. (This includes the AWS::Include and AWS::Serverless transforms, which are macros hosted by AWS CloudFormation.) Even if you specify this capability, if you include a macro in your template the stack set operation will fail. ", + "Accounts": "[Self-managed permissions] The accounts in which to update associated stack instances. If you specify accounts, you must also specify the regions in which to update stack set instances. To update all the stack instances associated with this stack set, do not specify the Accounts or Regions properties. If the stack set update includes changes to the template (that is, if the TemplateBody or TemplateURL properties are specified), or the Parameters property, AWS CloudFormation marks all stack instances with a status of OUTDATED prior to updating the stack instances in the specified accounts and regions. If the stack set update does not include changes to the template or parameters, AWS CloudFormation updates the stack instances in the specified accounts and regions, while leaving all other stack instances with their existing stack instance status. ", + "UsePreviousTemplate": "Use the existing template that's associated with the stack set that you're updating. Conditional: You must specify only one of the following parameters: TemplateBody or TemplateURL—or set UsePreviousTemplate to true. ", + "TemplateBody": "The structure that contains the template body, with a minimum length of 1 byte and a maximum length of 51,200 bytes. For more information, see Template Anatomy in the AWS CloudFormation User Guide. Conditional: You must specify only one of the following parameters: TemplateBody or TemplateURL—or set UsePreviousTemplate to true.", + "Description": "A brief description of updates that you are making.", + "Parameters": "A list of input parameters for the stack set template. " +} +""" +UpdateStackSet(args) = cloudformation("UpdateStackSet", args) + +""" + ValidateTemplate() + +Validates a specified template. AWS CloudFormation first checks if the template is valid JSON. If it isn't, AWS CloudFormation checks if the template is valid YAML. If both these checks fail, AWS CloudFormation returns a template validation error. + +Optional Parameters +{ + "TemplateBody": "Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes. For more information, go to Template Anatomy in the AWS CloudFormation User Guide. Conditional: You must pass TemplateURL or TemplateBody. If both are passed, only TemplateBody is used.", + "TemplateURL": "Location of file containing the template body. The URL must point to a template (max size: 460,800 bytes) that is located in an Amazon S3 bucket. For more information, go to Template Anatomy in the AWS CloudFormation User Guide. Conditional: You must pass TemplateURL or TemplateBody. If both are passed, only TemplateBody is used." +} +""" +ValidateTemplate() = cloudformation("ValidateTemplate") +ValidateTemplate(args) = cloudformation("ValidateTemplate", args) + +""" + DescribeStackEvents() + +Returns all stack related events for a specified stack in reverse chronological order. For more information about a stack's event history, go to Stacks in the AWS CloudFormation User Guide. You can list events for stacks that have failed to create or have been deleted by specifying the unique stack identifier (stack ID). + +Optional Parameters +{ + "NextToken": "A string that identifies the next page of events that you want to retrieve.", + "StackName": "The name or the unique stack ID that is associated with the stack, which are not always interchangeable: Running stacks: You can specify either the stack's name or its unique stack ID. Deleted stacks: You must specify the unique stack ID. Default: There is no default value." +} +""" +DescribeStackEvents() = cloudformation("DescribeStackEvents") +DescribeStackEvents(args) = cloudformation("DescribeStackEvents", args) + +""" + ListTypes() + +Returns summary information about types that have been registered with CloudFormation. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to be returned with a single call. If the number of available results exceeds this maximum, the response includes a NextToken value that you can assign to the NextToken request parameter to get the next set of results.", + "Visibility": "The scope at which the type is visible and usable in CloudFormation operations. Valid values include: PRIVATE: The type is only visible and usable within the account in which it is registered. Currently, AWS CloudFormation marks any types you create as PRIVATE. PUBLIC: The type is publically visible and usable within any Amazon account. The default is PRIVATE.", + "ProvisioningType": "The provisioning behavior of the type. AWS CloudFormation determines the provisioning type during registration, based on the types of handlers in the schema handler package submitted. Valid values include: FULLY_MUTABLE: The type includes an update handler to process updates to the type during stack update operations. IMMUTABLE: The type does not include an update handler, so the type cannot be updated and must instead be replaced during stack update operations. NON_PROVISIONABLE: The type does not include create, read, and delete handlers, and therefore cannot actually be provisioned. ", + "NextToken": "If the previous paginated request didn't return all of the remaining results, the response object's NextToken parameter value is set to a token. To retrieve the next set of results, call this action again and assign that token to the request object's NextToken parameter. If there are no remaining results, the previous response object's NextToken parameter is set to null.", + "DeprecatedStatus": "The deprecation status of the types that you want to get summary information about. Valid values include: LIVE: The type is registered for use in CloudFormation operations. DEPRECATED: The type has been deregistered and can no longer be used in CloudFormation operations. " +} +""" +ListTypes() = cloudformation("ListTypes") +ListTypes(args) = cloudformation("ListTypes", args) + +""" + ListChangeSets() + +Returns the ID and status of each active change set for a stack. For example, AWS CloudFormation lists change sets that are in the CREATE_IN_PROGRESS or CREATE_PENDING state. + +Required Parameters +{ + "StackName": "The name or the Amazon Resource Name (ARN) of the stack for which you want to list change sets." +} + +Optional Parameters +{ + "NextToken": "A string (provided by the ListChangeSets response output) that identifies the next page of change sets that you want to retrieve." +} +""" +ListChangeSets(args) = cloudformation("ListChangeSets", args) + +""" + ListStackSetOperations() + +Returns summary information about operations performed on a stack set. + +Required Parameters +{ + "StackSetName": "The name or unique ID of the stack set that you want to get operation summaries for." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of results to be returned with a single call. If the number of available results exceeds this maximum, the response includes a NextToken value that you can assign to the NextToken request parameter to get the next set of results.", + "NextToken": "If the previous paginated request didn't return all of the remaining results, the response object's NextToken parameter value is set to a token. To retrieve the next set of results, call ListStackSetOperations again and assign that token to the request object's NextToken parameter. If there are no remaining results, the previous response object's NextToken parameter is set to null." +} +""" +ListStackSetOperations(args) = cloudformation("ListStackSetOperations", args) + +""" + DeleteStackSet() + +Deletes a stack set. Before you can delete a stack set, all of its member stack instances must be deleted. For more information about how to do this, see DeleteStackInstances. + +Required Parameters +{ + "StackSetName": "The name or unique ID of the stack set that you're deleting. You can obtain this value by running ListStackSets." +} +""" +DeleteStackSet(args) = cloudformation("DeleteStackSet", args) + +""" + DescribeChangeSet() + +Returns the inputs for the change set and a list of changes that AWS CloudFormation will make if you execute the change set. For more information, see Updating Stacks Using Change Sets in the AWS CloudFormation User Guide. + +Required Parameters +{ + "ChangeSetName": "The name or Amazon Resource Name (ARN) of the change set that you want to describe." +} + +Optional Parameters +{ + "NextToken": "A string (provided by the DescribeChangeSet response output) that identifies the next page of information that you want to retrieve.", + "StackName": "If you specified the name of a change set, specify the stack name or ID (ARN) of the change set you want to describe." +} +""" +DescribeChangeSet(args) = cloudformation("DescribeChangeSet", args) + +""" + CreateStack() + +Creates a stack as specified in the template. After the call completes successfully, the stack creation starts. You can check the status of the stack via the DescribeStacks API. + +Required Parameters +{ + "StackName": "The name that is associated with the stack. The name must be unique in the region in which you are creating the stack. A stack name can contain only alphanumeric characters (case sensitive) and hyphens. It must start with an alphabetic character and cannot be longer than 128 characters. " +} + +Optional Parameters +{ + "Tags": "Key-value pairs to associate with this stack. AWS CloudFormation also propagates these tags to the resources created in the stack. A maximum number of 50 tags can be specified.", + "StackPolicyBody": "Structure containing the stack policy body. For more information, go to Prevent Updates to Stack Resources in the AWS CloudFormation User Guide. You can specify either the StackPolicyBody or the StackPolicyURL parameter, but not both.", + "NotificationARNs": "The Simple Notification Service (SNS) topic ARNs to publish stack related events. You can find your SNS topic ARNs using the SNS console or your Command Line Interface (CLI).", + "EnableTerminationProtection": "Whether to enable termination protection on the specified stack. If a user attempts to delete a stack with termination protection enabled, the operation fails and the stack remains unchanged. For more information, see Protecting a Stack From Being Deleted in the AWS CloudFormation User Guide. Termination protection is disabled on stacks by default. For nested stacks, termination protection is set on the root stack and cannot be changed directly on the nested stack.", + "StackPolicyURL": "Location of a file containing the stack policy. The URL must point to a policy (maximum size: 16 KB) located in an S3 bucket in the same region as the stack. You can specify either the StackPolicyBody or the StackPolicyURL parameter, but not both.", + "TemplateURL": "Location of file containing the template body. The URL must point to a template (max size: 460,800 bytes) that is located in an Amazon S3 bucket. For more information, go to the Template Anatomy in the AWS CloudFormation User Guide. Conditional: You must specify either the TemplateBody or the TemplateURL parameter, but not both.", + "Capabilities": "In some cases, you must explicitly acknowledge that your stack template contains certain capabilities in order for AWS CloudFormation to create the stack. CAPABILITY_IAM and CAPABILITY_NAMED_IAM Some stack templates might include resources that can affect permissions in your AWS account; for example, by creating new AWS Identity and Access Management (IAM) users. For those stacks, you must explicitly acknowledge this by specifying one of these capabilities. The following IAM resources require you to specify either the CAPABILITY_IAM or CAPABILITY_NAMED_IAM capability. If you have IAM resources, you can specify either capability. If you have IAM resources with custom names, you must specify CAPABILITY_NAMED_IAM. If you don't specify either of these capabilities, AWS CloudFormation returns an InsufficientCapabilities error. If your stack template contains these resources, we recommend that you review all permissions associated with them and edit their permissions if necessary. AWS::IAM::AccessKey AWS::IAM::Group AWS::IAM::InstanceProfile AWS::IAM::Policy AWS::IAM::Role AWS::IAM::User AWS::IAM::UserToGroupAddition For more information, see Acknowledging IAM Resources in AWS CloudFormation Templates. CAPABILITY_AUTO_EXPAND Some template contain macros. Macros perform custom processing on templates; this can include simple actions like find-and-replace operations, all the way to extensive transformations of entire templates. Because of this, users typically create a change set from the processed template, so that they can review the changes resulting from the macros before actually creating the stack. If your stack template contains one or more macros, and you choose to create a stack directly from the processed template, without first reviewing the resulting changes in a change set, you must acknowledge this capability. This includes the AWS::Include and AWS::Serverless transforms, which are macros hosted by AWS CloudFormation. Change sets do not currently support nested stacks. If you want to create a stack from a stack template that contains macros and nested stacks, you must create the stack directly from the template using this capability. You should only create stacks directly from a stack template that contains macros if you know what processing the macro performs. Each macro relies on an underlying Lambda service function for processing stack templates. Be aware that the Lambda function owner can update the function operation without AWS CloudFormation being notified. For more information, see Using AWS CloudFormation Macros to Perform Custom Processing on Templates. ", + "RollbackConfiguration": "The rollback triggers for AWS CloudFormation to monitor during stack creation and updating operations, and for the specified monitoring period afterwards.", + "OnFailure": "Determines what action will be taken if stack creation fails. This must be one of: DO_NOTHING, ROLLBACK, or DELETE. You can specify either OnFailure or DisableRollback, but not both. Default: ROLLBACK ", + "TemplateBody": "Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes. For more information, go to Template Anatomy in the AWS CloudFormation User Guide. Conditional: You must specify either the TemplateBody or the TemplateURL parameter, but not both.", + "DisableRollback": "Set to true to disable rollback of the stack if stack creation failed. You can specify either DisableRollback or OnFailure, but not both. Default: false ", + "ClientRequestToken": "A unique identifier for this CreateStack request. Specify this token if you plan to retry requests so that AWS CloudFormation knows that you're not attempting to create a stack with the same name. You might retry CreateStack requests to ensure that AWS CloudFormation successfully received them. All events triggered by a given stack operation are assigned the same client request token, which you can use to track operations. For example, if you execute a CreateStack operation with the token token1, then all the StackEvents generated by that operation will have ClientRequestToken set as token1. In the console, stack operations display the client request token on the Events tab. Stack operations that are initiated from the console use the token format Console-StackOperation-ID, which helps you easily identify the stack operation . For example, if you create a stack using the console, each stack event would be assigned the same token in the following format: Console-CreateStack-7f59c3cf-00d2-40c7-b2ff-e75db0987002. ", + "TimeoutInMinutes": "The amount of time that can pass before the stack status becomes CREATE_FAILED; if DisableRollback is not set or is set to false, the stack will be rolled back.", + "Parameters": "A list of Parameter structures that specify input parameters for the stack. For more information, see the Parameter data type.", + "RoleARN": "The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM) role that AWS CloudFormation assumes to create the stack. AWS CloudFormation uses the role's credentials to make calls on your behalf. AWS CloudFormation always uses this role for all future operations on the stack. As long as users have permission to operate on the stack, AWS CloudFormation uses this role even if the users don't have permission to pass it. Ensure that the role grants least privilege. If you don't specify a value, AWS CloudFormation uses the role that was previously associated with the stack. If no role is available, AWS CloudFormation uses a temporary session that is generated from your user credentials.", + "ResourceTypes": "The template resource types that you have permissions to work with for this create stack action, such as AWS::EC2::Instance, AWS::EC2::*, or Custom::MyCustomInstance. Use the following syntax to describe template resource types: AWS::* (for all AWS resource), Custom::* (for all custom resources), Custom::logical_ID (for a specific custom resource), AWS::service_name::* (for all resources of a particular AWS service), and AWS::service_name::resource_logical_ID (for a specific AWS resource). If the list of resource types doesn't include a resource that you're creating, the stack creation fails. By default, AWS CloudFormation grants permissions to all resource types. AWS Identity and Access Management (IAM) uses this parameter for AWS CloudFormation-specific condition keys in IAM policies. For more information, see Controlling Access with AWS Identity and Access Management." +} +""" +CreateStack(args) = cloudformation("CreateStack", args) + +""" + DescribeStackResource() + +Returns a description of the specified resource in the specified stack. For deleted stacks, DescribeStackResource returns resource information for up to 90 days after the stack has been deleted. + +Required Parameters +{ + "StackName": "The name or the unique stack ID that is associated with the stack, which are not always interchangeable: Running stacks: You can specify either the stack's name or its unique stack ID. Deleted stacks: You must specify the unique stack ID. Default: There is no default value.", + "LogicalResourceId": "The logical name of the resource as specified in the template. Default: There is no default value." +} +""" +DescribeStackResource(args) = cloudformation("DescribeStackResource", args) + +""" + ListStackResources() + +Returns descriptions of all resources of the specified stack. For deleted stacks, ListStackResources returns resource information for up to 90 days after the stack has been deleted. + +Required Parameters +{ + "StackName": "The name or the unique stack ID that is associated with the stack, which are not always interchangeable: Running stacks: You can specify either the stack's name or its unique stack ID. Deleted stacks: You must specify the unique stack ID. Default: There is no default value." +} + +Optional Parameters +{ + "NextToken": "A string that identifies the next page of stack resources that you want to retrieve." +} +""" +ListStackResources(args) = cloudformation("ListStackResources", args) + +""" + UpdateStack() + +Updates a stack as specified in the template. After the call completes successfully, the stack update starts. You can check the status of the stack via the DescribeStacks action. To get a copy of the template for an existing stack, you can use the GetTemplate action. For more information about creating an update template, updating a stack, and monitoring the progress of the update, see Updating a Stack. + +Required Parameters +{ + "StackName": "The name or unique stack ID of the stack to update." +} + +Optional Parameters +{ + "Tags": "Key-value pairs to associate with this stack. AWS CloudFormation also propagates these tags to supported resources in the stack. You can specify a maximum number of 50 tags. If you don't specify this parameter, AWS CloudFormation doesn't modify the stack's tags. If you specify an empty value, AWS CloudFormation removes all associated tags.", + "StackPolicyBody": "Structure containing a new stack policy body. You can specify either the StackPolicyBody or the StackPolicyURL parameter, but not both. You might update the stack policy, for example, in order to protect a new resource that you created during a stack update. If you do not specify a stack policy, the current policy that is associated with the stack is unchanged.", + "NotificationARNs": "Amazon Simple Notification Service topic Amazon Resource Names (ARNs) that AWS CloudFormation associates with the stack. Specify an empty list to remove all notification topics.", + "StackPolicyURL": "Location of a file containing the updated stack policy. The URL must point to a policy (max size: 16KB) located in an S3 bucket in the same region as the stack. You can specify either the StackPolicyBody or the StackPolicyURL parameter, but not both. You might update the stack policy, for example, in order to protect a new resource that you created during a stack update. If you do not specify a stack policy, the current policy that is associated with the stack is unchanged.", + "TemplateURL": "Location of file containing the template body. The URL must point to a template that is located in an Amazon S3 bucket. For more information, go to Template Anatomy in the AWS CloudFormation User Guide. Conditional: You must specify only one of the following parameters: TemplateBody, TemplateURL, or set the UsePreviousTemplate to true.", + "Capabilities": "In some cases, you must explicitly acknowledge that your stack template contains certain capabilities in order for AWS CloudFormation to update the stack. CAPABILITY_IAM and CAPABILITY_NAMED_IAM Some stack templates might include resources that can affect permissions in your AWS account; for example, by creating new AWS Identity and Access Management (IAM) users. For those stacks, you must explicitly acknowledge this by specifying one of these capabilities. The following IAM resources require you to specify either the CAPABILITY_IAM or CAPABILITY_NAMED_IAM capability. If you have IAM resources, you can specify either capability. If you have IAM resources with custom names, you must specify CAPABILITY_NAMED_IAM. If you don't specify either of these capabilities, AWS CloudFormation returns an InsufficientCapabilities error. If your stack template contains these resources, we recommend that you review all permissions associated with them and edit their permissions if necessary. AWS::IAM::AccessKey AWS::IAM::Group AWS::IAM::InstanceProfile AWS::IAM::Policy AWS::IAM::Role AWS::IAM::User AWS::IAM::UserToGroupAddition For more information, see Acknowledging IAM Resources in AWS CloudFormation Templates. CAPABILITY_AUTO_EXPAND Some template contain macros. Macros perform custom processing on templates; this can include simple actions like find-and-replace operations, all the way to extensive transformations of entire templates. Because of this, users typically create a change set from the processed template, so that they can review the changes resulting from the macros before actually updating the stack. If your stack template contains one or more macros, and you choose to update a stack directly from the processed template, without first reviewing the resulting changes in a change set, you must acknowledge this capability. This includes the AWS::Include and AWS::Serverless transforms, which are macros hosted by AWS CloudFormation. Change sets do not currently support nested stacks. If you want to update a stack from a stack template that contains macros and nested stacks, you must update the stack directly from the template using this capability. You should only update stacks directly from a stack template that contains macros if you know what processing the macro performs. Each macro relies on an underlying Lambda service function for processing stack templates. Be aware that the Lambda function owner can update the function operation without AWS CloudFormation being notified. For more information, see Using AWS CloudFormation Macros to Perform Custom Processing on Templates. ", + "RollbackConfiguration": "The rollback triggers for AWS CloudFormation to monitor during stack creation and updating operations, and for the specified monitoring period afterwards.", + "UsePreviousTemplate": "Reuse the existing template that is associated with the stack that you are updating. Conditional: You must specify only one of the following parameters: TemplateBody, TemplateURL, or set the UsePreviousTemplate to true.", + "TemplateBody": "Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes. (For more information, go to Template Anatomy in the AWS CloudFormation User Guide.) Conditional: You must specify only one of the following parameters: TemplateBody, TemplateURL, or set the UsePreviousTemplate to true.", + "ClientRequestToken": "A unique identifier for this UpdateStack request. Specify this token if you plan to retry requests so that AWS CloudFormation knows that you're not attempting to update a stack with the same name. You might retry UpdateStack requests to ensure that AWS CloudFormation successfully received them. All events triggered by a given stack operation are assigned the same client request token, which you can use to track operations. For example, if you execute a CreateStack operation with the token token1, then all the StackEvents generated by that operation will have ClientRequestToken set as token1. In the console, stack operations display the client request token on the Events tab. Stack operations that are initiated from the console use the token format Console-StackOperation-ID, which helps you easily identify the stack operation . For example, if you create a stack using the console, each stack event would be assigned the same token in the following format: Console-CreateStack-7f59c3cf-00d2-40c7-b2ff-e75db0987002. ", + "Parameters": "A list of Parameter structures that specify input parameters for the stack. For more information, see the Parameter data type.", + "StackPolicyDuringUpdateURL": "Location of a file containing the temporary overriding stack policy. The URL must point to a policy (max size: 16KB) located in an S3 bucket in the same region as the stack. You can specify either the StackPolicyDuringUpdateBody or the StackPolicyDuringUpdateURL parameter, but not both. If you want to update protected resources, specify a temporary overriding stack policy during this update. If you do not specify a stack policy, the current policy that is associated with the stack will be used.", + "StackPolicyDuringUpdateBody": "Structure containing the temporary overriding stack policy body. You can specify either the StackPolicyDuringUpdateBody or the StackPolicyDuringUpdateURL parameter, but not both. If you want to update protected resources, specify a temporary overriding stack policy during this update. If you do not specify a stack policy, the current policy that is associated with the stack will be used.", + "ResourceTypes": "The template resource types that you have permissions to work with for this update stack action, such as AWS::EC2::Instance, AWS::EC2::*, or Custom::MyCustomInstance. If the list of resource types doesn't include a resource that you're updating, the stack update fails. By default, AWS CloudFormation grants permissions to all resource types. AWS Identity and Access Management (IAM) uses this parameter for AWS CloudFormation-specific condition keys in IAM policies. For more information, see Controlling Access with AWS Identity and Access Management.", + "RoleARN": "The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM) role that AWS CloudFormation assumes to update the stack. AWS CloudFormation uses the role's credentials to make calls on your behalf. AWS CloudFormation always uses this role for all future operations on the stack. As long as users have permission to operate on the stack, AWS CloudFormation uses this role even if the users don't have permission to pass it. Ensure that the role grants least privilege. If you don't specify a value, AWS CloudFormation uses the role that was previously associated with the stack. If no role is available, AWS CloudFormation uses a temporary session that is generated from your user credentials." +} +""" +UpdateStack(args) = cloudformation("UpdateStack", args) + +""" + GetTemplateSummary() + +Returns information about a new or existing template. The GetTemplateSummary action is useful for viewing parameter information, such as default parameter values and parameter types, before you create or update a stack or stack set. You can use the GetTemplateSummary action when you submit a template, or you can get template information for a stack set, or a running or deleted stack. For deleted stacks, GetTemplateSummary returns the template information for up to 90 days after the stack has been deleted. If the template does not exist, a ValidationError is returned. + +Optional Parameters +{ + "TemplateBody": "Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes. For more information about templates, see Template Anatomy in the AWS CloudFormation User Guide. Conditional: You must specify only one of the following parameters: StackName, StackSetName, TemplateBody, or TemplateURL.", + "TemplateURL": "Location of file containing the template body. The URL must point to a template (max size: 460,800 bytes) that is located in an Amazon S3 bucket. For more information about templates, see Template Anatomy in the AWS CloudFormation User Guide. Conditional: You must specify only one of the following parameters: StackName, StackSetName, TemplateBody, or TemplateURL.", + "StackName": "The name or the stack ID that is associated with the stack, which are not always interchangeable. For running stacks, you can specify either the stack's name or its unique stack ID. For deleted stack, you must specify the unique stack ID. Conditional: You must specify only one of the following parameters: StackName, StackSetName, TemplateBody, or TemplateURL.", + "StackSetName": "The name or unique ID of the stack set from which the stack was created. Conditional: You must specify only one of the following parameters: StackName, StackSetName, TemplateBody, or TemplateURL." +} +""" +GetTemplateSummary() = cloudformation("GetTemplateSummary") +GetTemplateSummary(args) = cloudformation("GetTemplateSummary", args) + +""" + ExecuteChangeSet() + +Updates a stack using the input information that was provided when the specified change set was created. After the call successfully completes, AWS CloudFormation starts updating the stack. Use the DescribeStacks action to view the status of the update. When you execute a change set, AWS CloudFormation deletes all other change sets associated with the stack because they aren't valid for the updated stack. If a stack policy is associated with the stack, AWS CloudFormation enforces the policy during the update. You can't specify a temporary stack policy that overrides the current policy. + +Required Parameters +{ + "ChangeSetName": "The name or ARN of the change set that you want use to update the specified stack." +} + +Optional Parameters +{ + "ClientRequestToken": "A unique identifier for this ExecuteChangeSet request. Specify this token if you plan to retry requests so that AWS CloudFormation knows that you're not attempting to execute a change set to update a stack with the same name. You might retry ExecuteChangeSet requests to ensure that AWS CloudFormation successfully received them.", + "StackName": "If you specified the name of a change set, specify the stack name or ID (ARN) that is associated with the change set you want to execute." +} +""" +ExecuteChangeSet(args) = cloudformation("ExecuteChangeSet", args) + +""" + StopStackSetOperation() + +Stops an in-progress operation on a stack set and its associated stack instances. + +Required Parameters +{ + "OperationId": "The ID of the stack operation. ", + "StackSetName": "The name or unique ID of the stack set that you want to stop the operation for." +} +""" +StopStackSetOperation(args) = cloudformation("StopStackSetOperation", args) + +""" + GetTemplate() + +Returns the template body for a specified stack. You can get the template for running or deleted stacks. For deleted stacks, GetTemplate returns the template for up to 90 days after the stack has been deleted. If the template does not exist, a ValidationError is returned. + +Optional Parameters +{ + "TemplateStage": "For templates that include transforms, the stage of the template that AWS CloudFormation returns. To get the user-submitted template, specify Original. To get the template after AWS CloudFormation has processed all transforms, specify Processed. If the template doesn't include transforms, Original and Processed return the same template. By default, AWS CloudFormation specifies Original. ", + "ChangeSetName": "The name or Amazon Resource Name (ARN) of a change set for which AWS CloudFormation returns the associated template. If you specify a name, you must also specify the StackName.", + "StackName": "The name or the unique stack ID that is associated with the stack, which are not always interchangeable: Running stacks: You can specify either the stack's name or its unique stack ID. Deleted stacks: You must specify the unique stack ID. Default: There is no default value." +} +""" +GetTemplate() = cloudformation("GetTemplate") +GetTemplate(args) = cloudformation("GetTemplate", args) + +""" + UpdateStackInstances() + +Updates the parameter values for stack instances for the specified accounts, within the specified regions. A stack instance refers to a stack in a specific account and region. You can only update stack instances in regions and accounts where they already exist; to create additional stack instances, use CreateStackInstances. During stack set updates, any parameters overridden for a stack instance are not updated, but retain their overridden value. You can only update the parameter values that are specified in the stack set; to add or delete a parameter itself, use UpdateStackSet to update the stack set template. If you add a parameter to a template, before you can override the parameter value specified in the stack set you must first use UpdateStackSet to update all stack instances with the updated template and parameter value specified in the stack set. Once a stack instance has been updated with the new parameter, you can then override the parameter value using UpdateStackInstances. + +Required Parameters +{ + "Regions": "The names of one or more regions in which you want to update parameter values for stack instances. The overridden parameter values will be applied to all stack instances in the specified accounts and regions.", + "StackSetName": "The name or unique ID of the stack set associated with the stack instances." +} + +Optional Parameters +{ + "OperationId": "The unique identifier for this stack set operation. The operation ID also functions as an idempotency token, to ensure that AWS CloudFormation performs the stack set operation only once, even if you retry the request multiple times. You might retry stack set operation requests to ensure that AWS CloudFormation successfully received them. If you don't specify an operation ID, the SDK generates one automatically. ", + "DeploymentTargets": "[Service-managed permissions] The AWS Organizations accounts for which you want to update parameter values for stack instances. If your update targets OUs, the overridden parameter values only apply to the accounts that are currently in the target OUs and their child OUs. Accounts added to the target OUs and their child OUs in the future won't use the overridden values. You can specify Accounts or DeploymentTargets, but not both.", + "Accounts": "[Self-managed permissions] The names of one or more AWS accounts for which you want to update parameter values for stack instances. The overridden parameter values will be applied to all stack instances in the specified accounts and regions. You can specify Accounts or DeploymentTargets, but not both.", + "ParameterOverrides": " A list of input parameters whose values you want to update for the specified stack instances. Any overridden parameter values will be applied to all stack instances in the specified accounts and regions. When specifying parameters and their values, be aware of how AWS CloudFormation sets parameter values during stack instance update operations: To override the current value for a parameter, include the parameter and specify its value. To leave a parameter set to its present value, you can do one of the following: Do not include the parameter in the list. Include the parameter and specify UsePreviousValue as true. (You cannot specify both a value and set UsePreviousValue to true.) To set all overridden parameter back to the values specified in the stack set, specify a parameter list but do not include any parameters. To leave all parameters set to their present values, do not specify this property at all. During stack set updates, any parameter values overridden for a stack instance are not updated, but retain their overridden value. You can only override the parameter values that are specified in the stack set; to add or delete a parameter itself, use UpdateStackSet to update the stack set template. If you add a parameter to a template, before you can override the parameter value specified in the stack set you must first use UpdateStackSet to update all stack instances with the updated template and parameter value specified in the stack set. Once a stack instance has been updated with the new parameter, you can then override the parameter value using UpdateStackInstances.", + "OperationPreferences": "Preferences for how AWS CloudFormation performs this stack set operation." +} +""" +UpdateStackInstances(args) = cloudformation("UpdateStackInstances", args) + +""" + ListStackSets() + +Returns summary information about stack sets that are associated with the user. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to be returned with a single call. If the number of available results exceeds this maximum, the response includes a NextToken value that you can assign to the NextToken request parameter to get the next set of results.", + "NextToken": "If the previous paginated request didn't return all of the remaining results, the response object's NextToken parameter value is set to a token. To retrieve the next set of results, call ListStackSets again and assign that token to the request object's NextToken parameter. If there are no remaining results, the previous response object's NextToken parameter is set to null.", + "Status": "The status of the stack sets that you want to get summary information about." +} +""" +ListStackSets() = cloudformation("ListStackSets") +ListStackSets(args) = cloudformation("ListStackSets", args) diff --git a/src/services/cloudfront.jl b/src/services/cloudfront.jl new file mode 100644 index 0000000000..6b7255d5b3 --- /dev/null +++ b/src/services/cloudfront.jl @@ -0,0 +1,720 @@ +include("../AWSServices.jl") +using .AWSServices: cloudfront + +""" + ListDistributions2019_03_26() + +List CloudFront distributions. + +Optional Parameters +{ + "Marker": "Use this when paginating results to indicate where to begin in your list of distributions. The results include distributions in the list that occur after the marker. To get the next page of results, set the Marker to the value of the NextMarker from the current page's response (which is also the ID of the last distribution on that page).", + "MaxItems": "The maximum number of distributions you want in the response body." +} +""" +ListDistributions2019_03_26() = cloudfront("GET", "/2019-03-26/distribution") +ListDistributions2019_03_26(args) = cloudfront("GET", "/2019-03-26/distribution", args) +ListDistributions2019_03_26(a...; b...) = ListDistributions2019_03_26(a..., b) + +""" + TagResource2019_03_26() + +Add tags to a CloudFront resource. + +Required Parameters +{ + "Tags": " A complex type that contains zero or more Tag elements.", + "Resource": " An ARN of a CloudFront resource." +} +""" +TagResource2019_03_26(Tags, Resource) = cloudfront("POST", "/2019-03-26/tagging?Operation=Tag") +TagResource2019_03_26(Tags, Resource, args) = cloudfront("POST", "/2019-03-26/tagging?Operation=Tag", args) +TagResource2019_03_26(a...; b...) = TagResource2019_03_26(a..., b) + +""" + GetFieldLevelEncryptionProfileConfig2019_03_26() + +Get the field-level encryption profile configuration information. + +Required Parameters +{ + "Id": "Get the ID for the field-level encryption profile configuration information." +} +""" +GetFieldLevelEncryptionProfileConfig2019_03_26(Id) = cloudfront("GET", "/2019-03-26/field-level-encryption-profile/{Id}/config") +GetFieldLevelEncryptionProfileConfig2019_03_26(Id, args) = cloudfront("GET", "/2019-03-26/field-level-encryption-profile/{Id}/config", args) +GetFieldLevelEncryptionProfileConfig2019_03_26(a...; b...) = GetFieldLevelEncryptionProfileConfig2019_03_26(a..., b) + +""" + GetCloudFrontOriginAccessIdentity2019_03_26() + +Get the information about an origin access identity. + +Required Parameters +{ + "Id": "The identity's ID." +} +""" +GetCloudFrontOriginAccessIdentity2019_03_26(Id) = cloudfront("GET", "/2019-03-26/origin-access-identity/cloudfront/{Id}") +GetCloudFrontOriginAccessIdentity2019_03_26(Id, args) = cloudfront("GET", "/2019-03-26/origin-access-identity/cloudfront/{Id}", args) +GetCloudFrontOriginAccessIdentity2019_03_26(a...; b...) = GetCloudFrontOriginAccessIdentity2019_03_26(a..., b) + +""" + GetDistributionConfig2019_03_26() + +Get the configuration information about a distribution. + +Required Parameters +{ + "Id": "The distribution's ID. If the ID is empty, an empty distribution configuration is returned." +} +""" +GetDistributionConfig2019_03_26(Id) = cloudfront("GET", "/2019-03-26/distribution/{Id}/config") +GetDistributionConfig2019_03_26(Id, args) = cloudfront("GET", "/2019-03-26/distribution/{Id}/config", args) +GetDistributionConfig2019_03_26(a...; b...) = GetDistributionConfig2019_03_26(a..., b) + +""" + GetDistribution2019_03_26() + +Get the information about a distribution. + +Required Parameters +{ + "Id": "The distribution's ID. If the ID is empty, an empty distribution configuration is returned." +} +""" +GetDistribution2019_03_26(Id) = cloudfront("GET", "/2019-03-26/distribution/{Id}") +GetDistribution2019_03_26(Id, args) = cloudfront("GET", "/2019-03-26/distribution/{Id}", args) +GetDistribution2019_03_26(a...; b...) = GetDistribution2019_03_26(a..., b) + +""" + GetPublicKeyConfig2019_03_26() + +Return public key configuration informaation + +Required Parameters +{ + "Id": "Request the ID for the public key configuration." +} +""" +GetPublicKeyConfig2019_03_26(Id) = cloudfront("GET", "/2019-03-26/public-key/{Id}/config") +GetPublicKeyConfig2019_03_26(Id, args) = cloudfront("GET", "/2019-03-26/public-key/{Id}/config", args) +GetPublicKeyConfig2019_03_26(a...; b...) = GetPublicKeyConfig2019_03_26(a..., b) + +""" + UpdateCloudFrontOriginAccessIdentity2019_03_26() + +Update an origin access identity. + +Required Parameters +{ + "Id": "The identity's id.", + "CloudFrontOriginAccessIdentityConfig": "The identity's configuration information." +} + +Optional Parameters +{ + "IfMatch": "The value of the ETag header that you received when retrieving the identity's configuration. For example: E2QWRUHAPOMQZL." +} +""" +UpdateCloudFrontOriginAccessIdentity2019_03_26(Id, CloudFrontOriginAccessIdentityConfig) = cloudfront("PUT", "/2019-03-26/origin-access-identity/cloudfront/{Id}/config") +UpdateCloudFrontOriginAccessIdentity2019_03_26(Id, CloudFrontOriginAccessIdentityConfig, args) = cloudfront("PUT", "/2019-03-26/origin-access-identity/cloudfront/{Id}/config", args) +UpdateCloudFrontOriginAccessIdentity2019_03_26(a...; b...) = UpdateCloudFrontOriginAccessIdentity2019_03_26(a..., b) + +""" + CreateDistributionWithTags2019_03_26() + +Create a new distribution with tags. + +Required Parameters +{ + "DistributionConfigWithTags": "The distribution's configuration information. " +} +""" +CreateDistributionWithTags2019_03_26(DistributionConfigWithTags) = cloudfront("POST", "/2019-03-26/distribution?WithTags") +CreateDistributionWithTags2019_03_26(DistributionConfigWithTags, args) = cloudfront("POST", "/2019-03-26/distribution?WithTags", args) +CreateDistributionWithTags2019_03_26(a...; b...) = CreateDistributionWithTags2019_03_26(a..., b) + +""" + CreateDistribution2019_03_26() + +Creates a new web distribution. You create a CloudFront distribution to tell CloudFront where you want content to be delivered from, and the details about how to track and manage content delivery. Send a POST request to the /CloudFront API version/distribution/distribution ID resource. When you update a distribution, there are more required fields than when you create a distribution. When you update your distribution by using UpdateDistribution, follow the steps included in the documentation to get the current configuration and then make your updates. This helps to make sure that you include all of the required fields. To view a summary, see Required Fields for Create Distribution and Update Distribution in the Amazon CloudFront Developer Guide. + +Required Parameters +{ + "DistributionConfig": "The distribution's configuration information." +} +""" +CreateDistribution2019_03_26(DistributionConfig) = cloudfront("POST", "/2019-03-26/distribution") +CreateDistribution2019_03_26(DistributionConfig, args) = cloudfront("POST", "/2019-03-26/distribution", args) +CreateDistribution2019_03_26(a...; b...) = CreateDistribution2019_03_26(a..., b) + +""" + GetPublicKey2019_03_26() + +Get the public key information. + +Required Parameters +{ + "Id": "Request the ID for the public key." +} +""" +GetPublicKey2019_03_26(Id) = cloudfront("GET", "/2019-03-26/public-key/{Id}") +GetPublicKey2019_03_26(Id, args) = cloudfront("GET", "/2019-03-26/public-key/{Id}", args) +GetPublicKey2019_03_26(a...; b...) = GetPublicKey2019_03_26(a..., b) + +""" + CreateFieldLevelEncryptionConfig2019_03_26() + +Create a new field-level encryption configuration. + +Required Parameters +{ + "FieldLevelEncryptionConfig": "The request to create a new field-level encryption configuration." +} +""" +CreateFieldLevelEncryptionConfig2019_03_26(FieldLevelEncryptionConfig) = cloudfront("POST", "/2019-03-26/field-level-encryption") +CreateFieldLevelEncryptionConfig2019_03_26(FieldLevelEncryptionConfig, args) = cloudfront("POST", "/2019-03-26/field-level-encryption", args) +CreateFieldLevelEncryptionConfig2019_03_26(a...; b...) = CreateFieldLevelEncryptionConfig2019_03_26(a..., b) + +""" + ListStreamingDistributions2019_03_26() + +List streaming distributions. + +Optional Parameters +{ + "Marker": "The value that you provided for the Marker request parameter.", + "MaxItems": "The value that you provided for the MaxItems request parameter." +} +""" +ListStreamingDistributions2019_03_26() = cloudfront("GET", "/2019-03-26/streaming-distribution") +ListStreamingDistributions2019_03_26(args) = cloudfront("GET", "/2019-03-26/streaming-distribution", args) +ListStreamingDistributions2019_03_26(a...; b...) = ListStreamingDistributions2019_03_26(a..., b) + +""" + GetStreamingDistributionConfig2019_03_26() + +Get the configuration information about a streaming distribution. + +Required Parameters +{ + "Id": "The streaming distribution's ID." +} +""" +GetStreamingDistributionConfig2019_03_26(Id) = cloudfront("GET", "/2019-03-26/streaming-distribution/{Id}/config") +GetStreamingDistributionConfig2019_03_26(Id, args) = cloudfront("GET", "/2019-03-26/streaming-distribution/{Id}/config", args) +GetStreamingDistributionConfig2019_03_26(a...; b...) = GetStreamingDistributionConfig2019_03_26(a..., b) + +""" + UpdateFieldLevelEncryptionConfig2019_03_26() + +Update a field-level encryption configuration. + +Required Parameters +{ + "Id": "The ID of the configuration you want to update.", + "FieldLevelEncryptionConfig": "Request to update a field-level encryption configuration. " +} + +Optional Parameters +{ + "IfMatch": "The value of the ETag header that you received when retrieving the configuration identity to update. For example: E2QWRUHAPOMQZL." +} +""" +UpdateFieldLevelEncryptionConfig2019_03_26(Id, FieldLevelEncryptionConfig) = cloudfront("PUT", "/2019-03-26/field-level-encryption/{Id}/config") +UpdateFieldLevelEncryptionConfig2019_03_26(Id, FieldLevelEncryptionConfig, args) = cloudfront("PUT", "/2019-03-26/field-level-encryption/{Id}/config", args) +UpdateFieldLevelEncryptionConfig2019_03_26(a...; b...) = UpdateFieldLevelEncryptionConfig2019_03_26(a..., b) + +""" + GetStreamingDistribution2019_03_26() + +Gets information about a specified RTMP distribution, including the distribution configuration. + +Required Parameters +{ + "Id": "The streaming distribution's ID." +} +""" +GetStreamingDistribution2019_03_26(Id) = cloudfront("GET", "/2019-03-26/streaming-distribution/{Id}") +GetStreamingDistribution2019_03_26(Id, args) = cloudfront("GET", "/2019-03-26/streaming-distribution/{Id}", args) +GetStreamingDistribution2019_03_26(a...; b...) = GetStreamingDistribution2019_03_26(a..., b) + +""" + DeleteFieldLevelEncryptionProfile2019_03_26() + +Remove a field-level encryption profile. + +Required Parameters +{ + "Id": "Request the ID of the profile you want to delete from CloudFront." +} + +Optional Parameters +{ + "IfMatch": "The value of the ETag header that you received when retrieving the profile to delete. For example: E2QWRUHAPOMQZL." +} +""" +DeleteFieldLevelEncryptionProfile2019_03_26(Id) = cloudfront("DELETE", "/2019-03-26/field-level-encryption-profile/{Id}") +DeleteFieldLevelEncryptionProfile2019_03_26(Id, args) = cloudfront("DELETE", "/2019-03-26/field-level-encryption-profile/{Id}", args) +DeleteFieldLevelEncryptionProfile2019_03_26(a...; b...) = DeleteFieldLevelEncryptionProfile2019_03_26(a..., b) + +""" + GetCloudFrontOriginAccessIdentityConfig2019_03_26() + +Get the configuration information about an origin access identity. + +Required Parameters +{ + "Id": "The identity's ID. " +} +""" +GetCloudFrontOriginAccessIdentityConfig2019_03_26(Id) = cloudfront("GET", "/2019-03-26/origin-access-identity/cloudfront/{Id}/config") +GetCloudFrontOriginAccessIdentityConfig2019_03_26(Id, args) = cloudfront("GET", "/2019-03-26/origin-access-identity/cloudfront/{Id}/config", args) +GetCloudFrontOriginAccessIdentityConfig2019_03_26(a...; b...) = GetCloudFrontOriginAccessIdentityConfig2019_03_26(a..., b) + +""" + GetFieldLevelEncryptionConfig2019_03_26() + +Get the field-level encryption configuration information. + +Required Parameters +{ + "Id": "Request the ID for the field-level encryption configuration information." +} +""" +GetFieldLevelEncryptionConfig2019_03_26(Id) = cloudfront("GET", "/2019-03-26/field-level-encryption/{Id}/config") +GetFieldLevelEncryptionConfig2019_03_26(Id, args) = cloudfront("GET", "/2019-03-26/field-level-encryption/{Id}/config", args) +GetFieldLevelEncryptionConfig2019_03_26(a...; b...) = GetFieldLevelEncryptionConfig2019_03_26(a..., b) + +""" + UntagResource2019_03_26() + +Remove tags from a CloudFront resource. + +Required Parameters +{ + "Resource": " An ARN of a CloudFront resource.", + "TagKeys": " A complex type that contains zero or more Tag key elements." +} +""" +UntagResource2019_03_26(Resource, TagKeys) = cloudfront("POST", "/2019-03-26/tagging?Operation=Untag") +UntagResource2019_03_26(Resource, TagKeys, args) = cloudfront("POST", "/2019-03-26/tagging?Operation=Untag", args) +UntagResource2019_03_26(a...; b...) = UntagResource2019_03_26(a..., b) + +""" + CreateStreamingDistribution2019_03_26() + +Creates a new RTMP distribution. An RTMP distribution is similar to a web distribution, but an RTMP distribution streams media files using the Adobe Real-Time Messaging Protocol (RTMP) instead of serving files using HTTP. To create a new distribution, submit a POST request to the CloudFront API version/distribution resource. The request body must include a document with a StreamingDistributionConfig element. The response echoes the StreamingDistributionConfig element and returns other information about the RTMP distribution. To get the status of your request, use the GET StreamingDistribution API action. When the value of Enabled is true and the value of Status is Deployed, your distribution is ready. A distribution usually deploys in less than 15 minutes. For more information about web distributions, see Working with RTMP Distributions in the Amazon CloudFront Developer Guide. Beginning with the 2012-05-05 version of the CloudFront API, we made substantial changes to the format of the XML document that you include in the request body when you create or update a web distribution or an RTMP distribution, and when you invalidate objects. With previous versions of the API, we discovered that it was too easy to accidentally delete one or more values for an element that accepts multiple values, for example, CNAMEs and trusted signers. Our changes for the 2012-05-05 release are intended to prevent these accidental deletions and to notify you when there's a mismatch between the number of values you say you're specifying in the Quantity element and the number of values specified. + +Required Parameters +{ + "StreamingDistributionConfig": "The streaming distribution's configuration information." +} +""" +CreateStreamingDistribution2019_03_26(StreamingDistributionConfig) = cloudfront("POST", "/2019-03-26/streaming-distribution") +CreateStreamingDistribution2019_03_26(StreamingDistributionConfig, args) = cloudfront("POST", "/2019-03-26/streaming-distribution", args) +CreateStreamingDistribution2019_03_26(a...; b...) = CreateStreamingDistribution2019_03_26(a..., b) + +""" + DeleteFieldLevelEncryptionConfig2019_03_26() + +Remove a field-level encryption configuration. + +Required Parameters +{ + "Id": "The ID of the configuration you want to delete from CloudFront." +} + +Optional Parameters +{ + "IfMatch": "The value of the ETag header that you received when retrieving the configuration identity to delete. For example: E2QWRUHAPOMQZL." +} +""" +DeleteFieldLevelEncryptionConfig2019_03_26(Id) = cloudfront("DELETE", "/2019-03-26/field-level-encryption/{Id}") +DeleteFieldLevelEncryptionConfig2019_03_26(Id, args) = cloudfront("DELETE", "/2019-03-26/field-level-encryption/{Id}", args) +DeleteFieldLevelEncryptionConfig2019_03_26(a...; b...) = DeleteFieldLevelEncryptionConfig2019_03_26(a..., b) + +""" + CreateCloudFrontOriginAccessIdentity2019_03_26() + +Creates a new origin access identity. If you're using Amazon S3 for your origin, you can use an origin access identity to require users to access your content using a CloudFront URL instead of the Amazon S3 URL. For more information about how to use origin access identities, see Serving Private Content through CloudFront in the Amazon CloudFront Developer Guide. + +Required Parameters +{ + "CloudFrontOriginAccessIdentityConfig": "The current configuration information for the identity." +} +""" +CreateCloudFrontOriginAccessIdentity2019_03_26(CloudFrontOriginAccessIdentityConfig) = cloudfront("POST", "/2019-03-26/origin-access-identity/cloudfront") +CreateCloudFrontOriginAccessIdentity2019_03_26(CloudFrontOriginAccessIdentityConfig, args) = cloudfront("POST", "/2019-03-26/origin-access-identity/cloudfront", args) +CreateCloudFrontOriginAccessIdentity2019_03_26(a...; b...) = CreateCloudFrontOriginAccessIdentity2019_03_26(a..., b) + +""" + GetFieldLevelEncryption2019_03_26() + +Get the field-level encryption configuration information. + +Required Parameters +{ + "Id": "Request the ID for the field-level encryption configuration information." +} +""" +GetFieldLevelEncryption2019_03_26(Id) = cloudfront("GET", "/2019-03-26/field-level-encryption/{Id}") +GetFieldLevelEncryption2019_03_26(Id, args) = cloudfront("GET", "/2019-03-26/field-level-encryption/{Id}", args) +GetFieldLevelEncryption2019_03_26(a...; b...) = GetFieldLevelEncryption2019_03_26(a..., b) + +""" + ListCloudFrontOriginAccessIdentities2019_03_26() + +Lists origin access identities. + +Optional Parameters +{ + "Marker": "Use this when paginating results to indicate where to begin in your list of origin access identities. The results include identities in the list that occur after the marker. To get the next page of results, set the Marker to the value of the NextMarker from the current page's response (which is also the ID of the last identity on that page).", + "MaxItems": "The maximum number of origin access identities you want in the response body. " +} +""" +ListCloudFrontOriginAccessIdentities2019_03_26() = cloudfront("GET", "/2019-03-26/origin-access-identity/cloudfront") +ListCloudFrontOriginAccessIdentities2019_03_26(args) = cloudfront("GET", "/2019-03-26/origin-access-identity/cloudfront", args) +ListCloudFrontOriginAccessIdentities2019_03_26(a...; b...) = ListCloudFrontOriginAccessIdentities2019_03_26(a..., b) + +""" + DeleteCloudFrontOriginAccessIdentity2019_03_26() + +Delete an origin access identity. + +Required Parameters +{ + "Id": "The origin access identity's ID." +} + +Optional Parameters +{ + "IfMatch": "The value of the ETag header you received from a previous GET or PUT request. For example: E2QWRUHAPOMQZL." +} +""" +DeleteCloudFrontOriginAccessIdentity2019_03_26(Id) = cloudfront("DELETE", "/2019-03-26/origin-access-identity/cloudfront/{Id}") +DeleteCloudFrontOriginAccessIdentity2019_03_26(Id, args) = cloudfront("DELETE", "/2019-03-26/origin-access-identity/cloudfront/{Id}", args) +DeleteCloudFrontOriginAccessIdentity2019_03_26(a...; b...) = DeleteCloudFrontOriginAccessIdentity2019_03_26(a..., b) + +""" + ListFieldLevelEncryptionConfigs2019_03_26() + +List all field-level encryption configurations that have been created in CloudFront for this account. + +Optional Parameters +{ + "Marker": "Use this when paginating results to indicate where to begin in your list of configurations. The results include configurations in the list that occur after the marker. To get the next page of results, set the Marker to the value of the NextMarker from the current page's response (which is also the ID of the last configuration on that page). ", + "MaxItems": "The maximum number of field-level encryption configurations you want in the response body. " +} +""" +ListFieldLevelEncryptionConfigs2019_03_26() = cloudfront("GET", "/2019-03-26/field-level-encryption") +ListFieldLevelEncryptionConfigs2019_03_26(args) = cloudfront("GET", "/2019-03-26/field-level-encryption", args) +ListFieldLevelEncryptionConfigs2019_03_26(a...; b...) = ListFieldLevelEncryptionConfigs2019_03_26(a..., b) + +""" + CreateStreamingDistributionWithTags2019_03_26() + +Create a new streaming distribution with tags. + +Required Parameters +{ + "StreamingDistributionConfigWithTags": " The streaming distribution's configuration information. " +} +""" +CreateStreamingDistributionWithTags2019_03_26(StreamingDistributionConfigWithTags) = cloudfront("POST", "/2019-03-26/streaming-distribution?WithTags") +CreateStreamingDistributionWithTags2019_03_26(StreamingDistributionConfigWithTags, args) = cloudfront("POST", "/2019-03-26/streaming-distribution?WithTags", args) +CreateStreamingDistributionWithTags2019_03_26(a...; b...) = CreateStreamingDistributionWithTags2019_03_26(a..., b) + +""" + ListTagsForResource2019_03_26() + +List tags for a CloudFront resource. + +Required Parameters +{ + "Resource": " An ARN of a CloudFront resource." +} +""" +ListTagsForResource2019_03_26(Resource) = cloudfront("GET", "/2019-03-26/tagging") +ListTagsForResource2019_03_26(Resource, args) = cloudfront("GET", "/2019-03-26/tagging", args) +ListTagsForResource2019_03_26(a...; b...) = ListTagsForResource2019_03_26(a..., b) + +""" + ListPublicKeys2019_03_26() + +List all public keys that have been added to CloudFront for this account. + +Optional Parameters +{ + "Marker": "Use this when paginating results to indicate where to begin in your list of public keys. The results include public keys in the list that occur after the marker. To get the next page of results, set the Marker to the value of the NextMarker from the current page's response (which is also the ID of the last public key on that page). ", + "MaxItems": "The maximum number of public keys you want in the response body. " +} +""" +ListPublicKeys2019_03_26() = cloudfront("GET", "/2019-03-26/public-key") +ListPublicKeys2019_03_26(args) = cloudfront("GET", "/2019-03-26/public-key", args) +ListPublicKeys2019_03_26(a...; b...) = ListPublicKeys2019_03_26(a..., b) + +""" + GetInvalidation2019_03_26() + +Get the information about an invalidation. + +Required Parameters +{ + "Id": "The identifier for the invalidation request, for example, IDFDVBD632BHDS5.", + "DistributionId": "The distribution's ID." +} +""" +GetInvalidation2019_03_26(Id, DistributionId) = cloudfront("GET", "/2019-03-26/distribution/{DistributionId}/invalidation/{Id}") +GetInvalidation2019_03_26(Id, DistributionId, args) = cloudfront("GET", "/2019-03-26/distribution/{DistributionId}/invalidation/{Id}", args) +GetInvalidation2019_03_26(a...; b...) = GetInvalidation2019_03_26(a..., b) + +""" + ListInvalidations2019_03_26() + +Lists invalidation batches. + +Required Parameters +{ + "DistributionId": "The distribution's ID." +} + +Optional Parameters +{ + "Marker": "Use this parameter when paginating results to indicate where to begin in your list of invalidation batches. Because the results are returned in decreasing order from most recent to oldest, the most recent results are on the first page, the second page will contain earlier results, and so on. To get the next page of results, set Marker to the value of the NextMarker from the current page's response. This value is the same as the ID of the last invalidation batch on that page. ", + "MaxItems": "The maximum number of invalidation batches that you want in the response body." +} +""" +ListInvalidations2019_03_26(DistributionId) = cloudfront("GET", "/2019-03-26/distribution/{DistributionId}/invalidation") +ListInvalidations2019_03_26(DistributionId, args) = cloudfront("GET", "/2019-03-26/distribution/{DistributionId}/invalidation", args) +ListInvalidations2019_03_26(a...; b...) = ListInvalidations2019_03_26(a..., b) + +""" + CreatePublicKey2019_03_26() + +Add a new public key to CloudFront to use, for example, for field-level encryption. You can add a maximum of 10 public keys with one AWS account. + +Required Parameters +{ + "PublicKeyConfig": "The request to add a public key to CloudFront." +} +""" +CreatePublicKey2019_03_26(PublicKeyConfig) = cloudfront("POST", "/2019-03-26/public-key") +CreatePublicKey2019_03_26(PublicKeyConfig, args) = cloudfront("POST", "/2019-03-26/public-key", args) +CreatePublicKey2019_03_26(a...; b...) = CreatePublicKey2019_03_26(a..., b) + +""" + DeleteDistribution2019_03_26() + +Delete a distribution. + +Required Parameters +{ + "Id": "The distribution ID. " +} + +Optional Parameters +{ + "IfMatch": "The value of the ETag header that you received when you disabled the distribution. For example: E2QWRUHAPOMQZL. " +} +""" +DeleteDistribution2019_03_26(Id) = cloudfront("DELETE", "/2019-03-26/distribution/{Id}") +DeleteDistribution2019_03_26(Id, args) = cloudfront("DELETE", "/2019-03-26/distribution/{Id}", args) +DeleteDistribution2019_03_26(a...; b...) = DeleteDistribution2019_03_26(a..., b) + +""" + ListDistributionsByWebACLId2019_03_26() + +List the distributions that are associated with a specified AWS WAF web ACL. + +Required Parameters +{ + "WebACLId": "The ID of the AWS WAF web ACL that you want to list the associated distributions. If you specify \"null\" for the ID, the request returns a list of the distributions that aren't associated with a web ACL. " +} + +Optional Parameters +{ + "Marker": "Use Marker and MaxItems to control pagination of results. If you have more than MaxItems distributions that satisfy the request, the response includes a NextMarker element. To get the next page of results, submit another request. For the value of Marker, specify the value of NextMarker from the last response. (For the first request, omit Marker.) ", + "MaxItems": "The maximum number of distributions that you want CloudFront to return in the response body. The maximum and default values are both 100." +} +""" +ListDistributionsByWebACLId2019_03_26(WebACLId) = cloudfront("GET", "/2019-03-26/distributionsByWebACLId/{WebACLId}") +ListDistributionsByWebACLId2019_03_26(WebACLId, args) = cloudfront("GET", "/2019-03-26/distributionsByWebACLId/{WebACLId}", args) +ListDistributionsByWebACLId2019_03_26(a...; b...) = ListDistributionsByWebACLId2019_03_26(a..., b) + +""" + UpdateStreamingDistribution2019_03_26() + +Update a streaming distribution. + +Required Parameters +{ + "Id": "The streaming distribution's id.", + "StreamingDistributionConfig": "The streaming distribution's configuration information." +} + +Optional Parameters +{ + "IfMatch": "The value of the ETag header that you received when retrieving the streaming distribution's configuration. For example: E2QWRUHAPOMQZL." +} +""" +UpdateStreamingDistribution2019_03_26(Id, StreamingDistributionConfig) = cloudfront("PUT", "/2019-03-26/streaming-distribution/{Id}/config") +UpdateStreamingDistribution2019_03_26(Id, StreamingDistributionConfig, args) = cloudfront("PUT", "/2019-03-26/streaming-distribution/{Id}/config", args) +UpdateStreamingDistribution2019_03_26(a...; b...) = UpdateStreamingDistribution2019_03_26(a..., b) + +""" + DeletePublicKey2019_03_26() + +Remove a public key you previously added to CloudFront. + +Required Parameters +{ + "Id": "The ID of the public key you want to remove from CloudFront." +} + +Optional Parameters +{ + "IfMatch": "The value of the ETag header that you received when retrieving the public key identity to delete. For example: E2QWRUHAPOMQZL." +} +""" +DeletePublicKey2019_03_26(Id) = cloudfront("DELETE", "/2019-03-26/public-key/{Id}") +DeletePublicKey2019_03_26(Id, args) = cloudfront("DELETE", "/2019-03-26/public-key/{Id}", args) +DeletePublicKey2019_03_26(a...; b...) = DeletePublicKey2019_03_26(a..., b) + +""" + CreateInvalidation2019_03_26() + +Create a new invalidation. + +Required Parameters +{ + "DistributionId": "The distribution's id.", + "InvalidationBatch": "The batch information for the invalidation." +} +""" +CreateInvalidation2019_03_26(DistributionId, InvalidationBatch) = cloudfront("POST", "/2019-03-26/distribution/{DistributionId}/invalidation") +CreateInvalidation2019_03_26(DistributionId, InvalidationBatch, args) = cloudfront("POST", "/2019-03-26/distribution/{DistributionId}/invalidation", args) +CreateInvalidation2019_03_26(a...; b...) = CreateInvalidation2019_03_26(a..., b) + +""" + UpdateFieldLevelEncryptionProfile2019_03_26() + +Update a field-level encryption profile. + +Required Parameters +{ + "Id": "The ID of the field-level encryption profile request. ", + "FieldLevelEncryptionProfileConfig": "Request to update a field-level encryption profile. " +} + +Optional Parameters +{ + "IfMatch": "The value of the ETag header that you received when retrieving the profile identity to update. For example: E2QWRUHAPOMQZL." +} +""" +UpdateFieldLevelEncryptionProfile2019_03_26(Id, FieldLevelEncryptionProfileConfig) = cloudfront("PUT", "/2019-03-26/field-level-encryption-profile/{Id}/config") +UpdateFieldLevelEncryptionProfile2019_03_26(Id, FieldLevelEncryptionProfileConfig, args) = cloudfront("PUT", "/2019-03-26/field-level-encryption-profile/{Id}/config", args) +UpdateFieldLevelEncryptionProfile2019_03_26(a...; b...) = UpdateFieldLevelEncryptionProfile2019_03_26(a..., b) + +""" + GetFieldLevelEncryptionProfile2019_03_26() + +Get the field-level encryption profile information. + +Required Parameters +{ + "Id": "Get the ID for the field-level encryption profile information." +} +""" +GetFieldLevelEncryptionProfile2019_03_26(Id) = cloudfront("GET", "/2019-03-26/field-level-encryption-profile/{Id}") +GetFieldLevelEncryptionProfile2019_03_26(Id, args) = cloudfront("GET", "/2019-03-26/field-level-encryption-profile/{Id}", args) +GetFieldLevelEncryptionProfile2019_03_26(a...; b...) = GetFieldLevelEncryptionProfile2019_03_26(a..., b) + +""" + ListFieldLevelEncryptionProfiles2019_03_26() + +Request a list of field-level encryption profiles that have been created in CloudFront for this account. + +Optional Parameters +{ + "Marker": "Use this when paginating results to indicate where to begin in your list of profiles. The results include profiles in the list that occur after the marker. To get the next page of results, set the Marker to the value of the NextMarker from the current page's response (which is also the ID of the last profile on that page). ", + "MaxItems": "The maximum number of field-level encryption profiles you want in the response body. " +} +""" +ListFieldLevelEncryptionProfiles2019_03_26() = cloudfront("GET", "/2019-03-26/field-level-encryption-profile") +ListFieldLevelEncryptionProfiles2019_03_26(args) = cloudfront("GET", "/2019-03-26/field-level-encryption-profile", args) +ListFieldLevelEncryptionProfiles2019_03_26(a...; b...) = ListFieldLevelEncryptionProfiles2019_03_26(a..., b) + +""" + UpdatePublicKey2019_03_26() + +Update public key information. Note that the only value you can change is the comment. + +Required Parameters +{ + "Id": "ID of the public key to be updated.", + "PublicKeyConfig": "Request to update public key information." +} + +Optional Parameters +{ + "IfMatch": "The value of the ETag header that you received when retrieving the public key to update. For example: E2QWRUHAPOMQZL." +} +""" +UpdatePublicKey2019_03_26(Id, PublicKeyConfig) = cloudfront("PUT", "/2019-03-26/public-key/{Id}/config") +UpdatePublicKey2019_03_26(Id, PublicKeyConfig, args) = cloudfront("PUT", "/2019-03-26/public-key/{Id}/config", args) +UpdatePublicKey2019_03_26(a...; b...) = UpdatePublicKey2019_03_26(a..., b) + +""" + UpdateDistribution2019_03_26() + +Updates the configuration for a web distribution. When you update a distribution, there are more required fields than when you create a distribution. When you update your distribution by using this API action, follow the steps here to get the current configuration and then make your updates, to make sure that you include all of the required fields. To view a summary, see Required Fields for Create Distribution and Update Distribution in the Amazon CloudFront Developer Guide. The update process includes getting the current distribution configuration, updating the XML document that is returned to make your changes, and then submitting an UpdateDistribution request to make the updates. For information about updating a distribution using the CloudFront console instead, see Creating a Distribution in the Amazon CloudFront Developer Guide. To update a web distribution using the CloudFront API Submit a GetDistributionConfig request to get the current configuration and an Etag header for the distribution. If you update the distribution again, you must get a new Etag header. Update the XML document that was returned in the response to your GetDistributionConfig request to include your changes. When you edit the XML file, be aware of the following: You must strip out the ETag parameter that is returned. Additional fields are required when you update a distribution. There may be fields included in the XML file for features that you haven't configured for your distribution. This is expected and required to successfully update the distribution. You can't change the value of CallerReference. If you try to change this value, CloudFront returns an IllegalUpdate error. The new configuration replaces the existing configuration; the values that you specify in an UpdateDistribution request are not merged into your existing configuration. When you add, delete, or replace values in an element that allows multiple values (for example, CNAME), you must specify all of the values that you want to appear in the updated distribution. In addition, you must update the corresponding Quantity element. Submit an UpdateDistribution request to update the configuration for your distribution: In the request body, include the XML document that you updated in Step 2. The request body must include an XML document with a DistributionConfig element. Set the value of the HTTP If-Match header to the value of the ETag header that CloudFront returned when you submitted the GetDistributionConfig request in Step 1. Review the response to the UpdateDistribution request to confirm that the configuration was successfully updated. Optional: Submit a GetDistribution request to confirm that your changes have propagated. When propagation is complete, the value of Status is Deployed. + +Required Parameters +{ + "DistributionConfig": "The distribution's configuration information.", + "Id": "The distribution's id." +} + +Optional Parameters +{ + "IfMatch": "The value of the ETag header that you received when retrieving the distribution's configuration. For example: E2QWRUHAPOMQZL." +} +""" +UpdateDistribution2019_03_26(DistributionConfig, Id) = cloudfront("PUT", "/2019-03-26/distribution/{Id}/config") +UpdateDistribution2019_03_26(DistributionConfig, Id, args) = cloudfront("PUT", "/2019-03-26/distribution/{Id}/config", args) +UpdateDistribution2019_03_26(a...; b...) = UpdateDistribution2019_03_26(a..., b) + +""" + DeleteStreamingDistribution2019_03_26() + +Delete a streaming distribution. To delete an RTMP distribution using the CloudFront API, perform the following steps. To delete an RTMP distribution using the CloudFront API: Disable the RTMP distribution. Submit a GET Streaming Distribution Config request to get the current configuration and the Etag header for the distribution. Update the XML document that was returned in the response to your GET Streaming Distribution Config request to change the value of Enabled to false. Submit a PUT Streaming Distribution Config request to update the configuration for your distribution. In the request body, include the XML document that you updated in Step 3. Then set the value of the HTTP If-Match header to the value of the ETag header that CloudFront returned when you submitted the GET Streaming Distribution Config request in Step 2. Review the response to the PUT Streaming Distribution Config request to confirm that the distribution was successfully disabled. Submit a GET Streaming Distribution Config request to confirm that your changes have propagated. When propagation is complete, the value of Status is Deployed. Submit a DELETE Streaming Distribution request. Set the value of the HTTP If-Match header to the value of the ETag header that CloudFront returned when you submitted the GET Streaming Distribution Config request in Step 2. Review the response to your DELETE Streaming Distribution request to confirm that the distribution was successfully deleted. For information about deleting a distribution using the CloudFront console, see Deleting a Distribution in the Amazon CloudFront Developer Guide. + +Required Parameters +{ + "Id": "The distribution ID. " +} + +Optional Parameters +{ + "IfMatch": "The value of the ETag header that you received when you disabled the streaming distribution. For example: E2QWRUHAPOMQZL." +} +""" +DeleteStreamingDistribution2019_03_26(Id) = cloudfront("DELETE", "/2019-03-26/streaming-distribution/{Id}") +DeleteStreamingDistribution2019_03_26(Id, args) = cloudfront("DELETE", "/2019-03-26/streaming-distribution/{Id}", args) +DeleteStreamingDistribution2019_03_26(a...; b...) = DeleteStreamingDistribution2019_03_26(a..., b) + +""" + CreateFieldLevelEncryptionProfile2019_03_26() + +Create a field-level encryption profile. + +Required Parameters +{ + "FieldLevelEncryptionProfileConfig": "The request to create a field-level encryption profile." +} +""" +CreateFieldLevelEncryptionProfile2019_03_26(FieldLevelEncryptionProfileConfig) = cloudfront("POST", "/2019-03-26/field-level-encryption-profile") +CreateFieldLevelEncryptionProfile2019_03_26(FieldLevelEncryptionProfileConfig, args) = cloudfront("POST", "/2019-03-26/field-level-encryption-profile", args) +CreateFieldLevelEncryptionProfile2019_03_26(a...; b...) = CreateFieldLevelEncryptionProfile2019_03_26(a..., b) diff --git a/src/services/cloudhsm.jl b/src/services/cloudhsm.jl new file mode 100644 index 0000000000..50aa171377 --- /dev/null +++ b/src/services/cloudhsm.jl @@ -0,0 +1,281 @@ +include("../AWSServices.jl") +using .AWSServices: cloudhsm + +""" + ListTagsForResource() + +This is documentation for AWS CloudHSM Classic. For more information, see AWS CloudHSM Classic FAQs, the AWS CloudHSM Classic User Guide, and the AWS CloudHSM Classic API Reference. For information about the current version of AWS CloudHSM, see AWS CloudHSM, the AWS CloudHSM User Guide, and the AWS CloudHSM API Reference. Returns a list of all tags for the specified AWS CloudHSM resource. + +Required Parameters +{ + "ResourceArn": "The Amazon Resource Name (ARN) of the AWS CloudHSM resource." +} +""" +ListTagsForResource(args) = cloudhsm("ListTagsForResource", args) + +""" + ListLunaClients() + +This is documentation for AWS CloudHSM Classic. For more information, see AWS CloudHSM Classic FAQs, the AWS CloudHSM Classic User Guide, and the AWS CloudHSM Classic API Reference. For information about the current version of AWS CloudHSM, see AWS CloudHSM, the AWS CloudHSM User Guide, and the AWS CloudHSM API Reference. Lists all of the clients. This operation supports pagination with the use of the NextToken member. If more results are available, the NextToken member of the response contains a token that you pass in the next call to ListLunaClients to retrieve the next set of items. + +Optional Parameters +{ + "NextToken": "The NextToken value from a previous call to ListLunaClients. Pass null if this is the first call." +} +""" +ListLunaClients() = cloudhsm("ListLunaClients") +ListLunaClients(args) = cloudhsm("ListLunaClients", args) + +""" + CreateLunaClient() + +This is documentation for AWS CloudHSM Classic. For more information, see AWS CloudHSM Classic FAQs, the AWS CloudHSM Classic User Guide, and the AWS CloudHSM Classic API Reference. For information about the current version of AWS CloudHSM, see AWS CloudHSM, the AWS CloudHSM User Guide, and the AWS CloudHSM API Reference. Creates an HSM client. + +Required Parameters +{ + "Certificate": "The contents of a Base64-Encoded X.509 v3 certificate to be installed on the HSMs used by this client." +} + +Optional Parameters +{ + "Label": "The label for the client." +} +""" +CreateLunaClient(args) = cloudhsm("CreateLunaClient", args) + +""" + DescribeLunaClient() + +This is documentation for AWS CloudHSM Classic. For more information, see AWS CloudHSM Classic FAQs, the AWS CloudHSM Classic User Guide, and the AWS CloudHSM Classic API Reference. For information about the current version of AWS CloudHSM, see AWS CloudHSM, the AWS CloudHSM User Guide, and the AWS CloudHSM API Reference. Retrieves information about an HSM client. + +Optional Parameters +{ + "CertificateFingerprint": "The certificate fingerprint.", + "ClientArn": "The ARN of the client." +} +""" +DescribeLunaClient() = cloudhsm("DescribeLunaClient") +DescribeLunaClient(args) = cloudhsm("DescribeLunaClient", args) + +""" + ModifyLunaClient() + +This is documentation for AWS CloudHSM Classic. For more information, see AWS CloudHSM Classic FAQs, the AWS CloudHSM Classic User Guide, and the AWS CloudHSM Classic API Reference. For information about the current version of AWS CloudHSM, see AWS CloudHSM, the AWS CloudHSM User Guide, and the AWS CloudHSM API Reference. Modifies the certificate used by the client. This action can potentially start a workflow to install the new certificate on the client's HSMs. + +Required Parameters +{ + "ClientArn": "The ARN of the client.", + "Certificate": "The new certificate for the client." +} +""" +ModifyLunaClient(args) = cloudhsm("ModifyLunaClient", args) + +""" + ListAvailableZones() + +This is documentation for AWS CloudHSM Classic. For more information, see AWS CloudHSM Classic FAQs, the AWS CloudHSM Classic User Guide, and the AWS CloudHSM Classic API Reference. For information about the current version of AWS CloudHSM, see AWS CloudHSM, the AWS CloudHSM User Guide, and the AWS CloudHSM API Reference. Lists the Availability Zones that have available AWS CloudHSM capacity. +""" +ListAvailableZones() = cloudhsm("ListAvailableZones") +ListAvailableZones(args) = cloudhsm("ListAvailableZones", args) + +""" + AddTagsToResource() + +This is documentation for AWS CloudHSM Classic. For more information, see AWS CloudHSM Classic FAQs, the AWS CloudHSM Classic User Guide, and the AWS CloudHSM Classic API Reference. For information about the current version of AWS CloudHSM, see AWS CloudHSM, the AWS CloudHSM User Guide, and the AWS CloudHSM API Reference. Adds or overwrites one or more tags for the specified AWS CloudHSM resource. Each tag consists of a key and a value. Tag keys must be unique to each resource. + +Required Parameters +{ + "TagList": "One or more tags.", + "ResourceArn": "The Amazon Resource Name (ARN) of the AWS CloudHSM resource to tag." +} +""" +AddTagsToResource(args) = cloudhsm("AddTagsToResource", args) + +""" + ModifyHapg() + +This is documentation for AWS CloudHSM Classic. For more information, see AWS CloudHSM Classic FAQs, the AWS CloudHSM Classic User Guide, and the AWS CloudHSM Classic API Reference. For information about the current version of AWS CloudHSM, see AWS CloudHSM, the AWS CloudHSM User Guide, and the AWS CloudHSM API Reference. Modifies an existing high-availability partition group. + +Required Parameters +{ + "HapgArn": "The ARN of the high-availability partition group to modify." +} + +Optional Parameters +{ + "PartitionSerialList": "The list of partition serial numbers to make members of the high-availability partition group.", + "Label": "The new label for the high-availability partition group." +} +""" +ModifyHapg(args) = cloudhsm("ModifyHapg", args) + +""" + RemoveTagsFromResource() + +This is documentation for AWS CloudHSM Classic. For more information, see AWS CloudHSM Classic FAQs, the AWS CloudHSM Classic User Guide, and the AWS CloudHSM Classic API Reference. For information about the current version of AWS CloudHSM, see AWS CloudHSM, the AWS CloudHSM User Guide, and the AWS CloudHSM API Reference. Removes one or more tags from the specified AWS CloudHSM resource. To remove a tag, specify only the tag key to remove (not the value). To overwrite the value for an existing tag, use AddTagsToResource. + +Required Parameters +{ + "ResourceArn": "The Amazon Resource Name (ARN) of the AWS CloudHSM resource.", + "TagKeyList": "The tag key or keys to remove. Specify only the tag key to remove (not the value). To overwrite the value for an existing tag, use AddTagsToResource." +} +""" +RemoveTagsFromResource(args) = cloudhsm("RemoveTagsFromResource", args) + +""" + DeleteLunaClient() + +This is documentation for AWS CloudHSM Classic. For more information, see AWS CloudHSM Classic FAQs, the AWS CloudHSM Classic User Guide, and the AWS CloudHSM Classic API Reference. For information about the current version of AWS CloudHSM, see AWS CloudHSM, the AWS CloudHSM User Guide, and the AWS CloudHSM API Reference. Deletes a client. + +Required Parameters +{ + "ClientArn": "The ARN of the client to delete." +} +""" +DeleteLunaClient(args) = cloudhsm("DeleteLunaClient", args) + +""" + GetConfig() + +This is documentation for AWS CloudHSM Classic. For more information, see AWS CloudHSM Classic FAQs, the AWS CloudHSM Classic User Guide, and the AWS CloudHSM Classic API Reference. For information about the current version of AWS CloudHSM, see AWS CloudHSM, the AWS CloudHSM User Guide, and the AWS CloudHSM API Reference. Gets the configuration files necessary to connect to all high availability partition groups the client is associated with. + +Required Parameters +{ + "ClientVersion": "The client version.", + "ClientArn": "The ARN of the client.", + "HapgList": "A list of ARNs that identify the high-availability partition groups that are associated with the client." +} +""" +GetConfig(args) = cloudhsm("GetConfig", args) + +""" + ListHapgs() + +This is documentation for AWS CloudHSM Classic. For more information, see AWS CloudHSM Classic FAQs, the AWS CloudHSM Classic User Guide, and the AWS CloudHSM Classic API Reference. For information about the current version of AWS CloudHSM, see AWS CloudHSM, the AWS CloudHSM User Guide, and the AWS CloudHSM API Reference. Lists the high-availability partition groups for the account. This operation supports pagination with the use of the NextToken member. If more results are available, the NextToken member of the response contains a token that you pass in the next call to ListHapgs to retrieve the next set of items. + +Optional Parameters +{ + "NextToken": "The NextToken value from a previous call to ListHapgs. Pass null if this is the first call." +} +""" +ListHapgs() = cloudhsm("ListHapgs") +ListHapgs(args) = cloudhsm("ListHapgs", args) + +""" + DeleteHapg() + +This is documentation for AWS CloudHSM Classic. For more information, see AWS CloudHSM Classic FAQs, the AWS CloudHSM Classic User Guide, and the AWS CloudHSM Classic API Reference. For information about the current version of AWS CloudHSM, see AWS CloudHSM, the AWS CloudHSM User Guide, and the AWS CloudHSM API Reference. Deletes a high-availability partition group. + +Required Parameters +{ + "HapgArn": "The ARN of the high-availability partition group to delete." +} +""" +DeleteHapg(args) = cloudhsm("DeleteHapg", args) + +""" + CreateHsm() + +This is documentation for AWS CloudHSM Classic. For more information, see AWS CloudHSM Classic FAQs, the AWS CloudHSM Classic User Guide, and the AWS CloudHSM Classic API Reference. For information about the current version of AWS CloudHSM, see AWS CloudHSM, the AWS CloudHSM User Guide, and the AWS CloudHSM API Reference. Creates an uninitialized HSM instance. There is an upfront fee charged for each HSM instance that you create with the CreateHsm operation. If you accidentally provision an HSM and want to request a refund, delete the instance using the DeleteHsm operation, go to the AWS Support Center, create a new case, and select Account and Billing Support. It can take up to 20 minutes to create and provision an HSM. You can monitor the status of the HSM with the DescribeHsm operation. The HSM is ready to be initialized when the status changes to RUNNING. + +Required Parameters +{ + "SubscriptionType": "", + "IamRoleArn": "The ARN of an IAM role to enable the AWS CloudHSM service to allocate an ENI on your behalf.", + "SshKey": "The SSH public key to install on the HSM.", + "SubnetId": "The identifier of the subnet in your VPC in which to place the HSM." +} + +Optional Parameters +{ + "EniIp": "The IP address to assign to the HSM's ENI. If an IP address is not specified, an IP address will be randomly chosen from the CIDR range of the subnet.", + "ClientToken": "A user-defined token to ensure idempotence. Subsequent calls to this operation with the same token will be ignored.", + "SyslogIp": "The IP address for the syslog monitoring server. The AWS CloudHSM service only supports one syslog monitoring server.", + "ExternalId": "The external ID from IamRoleArn, if present." +} +""" +CreateHsm(args) = cloudhsm("CreateHsm", args) + +""" + DeleteHsm() + +This is documentation for AWS CloudHSM Classic. For more information, see AWS CloudHSM Classic FAQs, the AWS CloudHSM Classic User Guide, and the AWS CloudHSM Classic API Reference. For information about the current version of AWS CloudHSM, see AWS CloudHSM, the AWS CloudHSM User Guide, and the AWS CloudHSM API Reference. Deletes an HSM. After completion, this operation cannot be undone and your key material cannot be recovered. + +Required Parameters +{ + "HsmArn": "The ARN of the HSM to delete." +} +""" +DeleteHsm(args) = cloudhsm("DeleteHsm", args) + +""" + ListHsms() + +This is documentation for AWS CloudHSM Classic. For more information, see AWS CloudHSM Classic FAQs, the AWS CloudHSM Classic User Guide, and the AWS CloudHSM Classic API Reference. For information about the current version of AWS CloudHSM, see AWS CloudHSM, the AWS CloudHSM User Guide, and the AWS CloudHSM API Reference. Retrieves the identifiers of all of the HSMs provisioned for the current customer. This operation supports pagination with the use of the NextToken member. If more results are available, the NextToken member of the response contains a token that you pass in the next call to ListHsms to retrieve the next set of items. + +Optional Parameters +{ + "NextToken": "The NextToken value from a previous call to ListHsms. Pass null if this is the first call." +} +""" +ListHsms() = cloudhsm("ListHsms") +ListHsms(args) = cloudhsm("ListHsms", args) + +""" + ModifyHsm() + +This is documentation for AWS CloudHSM Classic. For more information, see AWS CloudHSM Classic FAQs, the AWS CloudHSM Classic User Guide, and the AWS CloudHSM Classic API Reference. For information about the current version of AWS CloudHSM, see AWS CloudHSM, the AWS CloudHSM User Guide, and the AWS CloudHSM API Reference. Modifies an HSM. This operation can result in the HSM being offline for up to 15 minutes while the AWS CloudHSM service is reconfigured. If you are modifying a production HSM, you should ensure that your AWS CloudHSM service is configured for high availability, and consider executing this operation during a maintenance window. + +Required Parameters +{ + "HsmArn": "The ARN of the HSM to modify." +} + +Optional Parameters +{ + "EniIp": "The new IP address for the elastic network interface (ENI) attached to the HSM. If the HSM is moved to a different subnet, and an IP address is not specified, an IP address will be randomly chosen from the CIDR range of the new subnet.", + "IamRoleArn": "The new IAM role ARN.", + "SubnetId": "The new identifier of the subnet that the HSM is in. The new subnet must be in the same Availability Zone as the current subnet.", + "SyslogIp": "The new IP address for the syslog monitoring server. The AWS CloudHSM service only supports one syslog monitoring server.", + "ExternalId": "The new external ID." +} +""" +ModifyHsm(args) = cloudhsm("ModifyHsm", args) + +""" + CreateHapg() + +This is documentation for AWS CloudHSM Classic. For more information, see AWS CloudHSM Classic FAQs, the AWS CloudHSM Classic User Guide, and the AWS CloudHSM Classic API Reference. For information about the current version of AWS CloudHSM, see AWS CloudHSM, the AWS CloudHSM User Guide, and the AWS CloudHSM API Reference. Creates a high-availability partition group. A high-availability partition group is a group of partitions that spans multiple physical HSMs. + +Required Parameters +{ + "Label": "The label of the new high-availability partition group." +} +""" +CreateHapg(args) = cloudhsm("CreateHapg", args) + +""" + DescribeHapg() + +This is documentation for AWS CloudHSM Classic. For more information, see AWS CloudHSM Classic FAQs, the AWS CloudHSM Classic User Guide, and the AWS CloudHSM Classic API Reference. For information about the current version of AWS CloudHSM, see AWS CloudHSM, the AWS CloudHSM User Guide, and the AWS CloudHSM API Reference. Retrieves information about a high-availability partition group. + +Required Parameters +{ + "HapgArn": "The ARN of the high-availability partition group to describe." +} +""" +DescribeHapg(args) = cloudhsm("DescribeHapg", args) + +""" + DescribeHsm() + +This is documentation for AWS CloudHSM Classic. For more information, see AWS CloudHSM Classic FAQs, the AWS CloudHSM Classic User Guide, and the AWS CloudHSM Classic API Reference. For information about the current version of AWS CloudHSM, see AWS CloudHSM, the AWS CloudHSM User Guide, and the AWS CloudHSM API Reference. Retrieves information about an HSM. You can identify the HSM by its ARN or its serial number. + +Optional Parameters +{ + "HsmArn": "The ARN of the HSM. Either the HsmArn or the SerialNumber parameter must be specified.", + "HsmSerialNumber": "The serial number of the HSM. Either the HsmArn or the HsmSerialNumber parameter must be specified." +} +""" +DescribeHsm() = cloudhsm("DescribeHsm") +DescribeHsm(args) = cloudhsm("DescribeHsm", args) diff --git a/src/services/cloudhsm_v2.jl b/src/services/cloudhsm_v2.jl new file mode 100644 index 0000000000..32f035db24 --- /dev/null +++ b/src/services/cloudhsm_v2.jl @@ -0,0 +1,201 @@ +include("../AWSServices.jl") +using .AWSServices: cloudhsm_v2 + +""" + CreateCluster() + +Creates a new AWS CloudHSM cluster. + +Required Parameters +{ + "SubnetIds": "The identifiers (IDs) of the subnets where you are creating the cluster. You must specify at least one subnet. If you specify multiple subnets, they must meet the following criteria: All subnets must be in the same virtual private cloud (VPC). You can specify only one subnet per Availability Zone. ", + "HsmType": "The type of HSM to use in the cluster. Currently the only allowed value is hsm1.medium." +} + +Optional Parameters +{ + "TagList": "", + "SourceBackupId": "The identifier (ID) of the cluster backup to restore. Use this value to restore the cluster from a backup instead of creating a new cluster. To find the backup ID, use DescribeBackups." +} +""" +CreateCluster(args) = cloudhsm_v2("CreateCluster", args) + +""" + DescribeBackups() + +Gets information about backups of AWS CloudHSM clusters. This is a paginated operation, which means that each response might contain only a subset of all the backups. When the response contains only a subset of backups, it includes a NextToken value. Use this value in a subsequent DescribeBackups request to get more backups. When you receive a response with no NextToken (or an empty or null value), that means there are no more backups to get. + +Optional Parameters +{ + "MaxResults": "The maximum number of backups to return in the response. When there are more backups than the number you specify, the response contains a NextToken value.", + "NextToken": "The NextToken value that you received in the previous response. Use this value to get more backups.", + "Filters": "One or more filters to limit the items returned in the response. Use the backupIds filter to return only the specified backups. Specify backups by their backup identifier (ID). Use the sourceBackupIds filter to return only the backups created from a source backup. The sourceBackupID of a source backup is returned by the CopyBackupToRegion operation. Use the clusterIds filter to return only the backups for the specified clusters. Specify clusters by their cluster identifier (ID). Use the states filter to return only backups that match the specified state.", + "SortAscending": "Designates whether or not to sort the return backups by ascending chronological order of generation." +} +""" +DescribeBackups() = cloudhsm_v2("DescribeBackups") +DescribeBackups(args) = cloudhsm_v2("DescribeBackups", args) + +""" + TagResource() + +Adds or overwrites one or more tags for the specified AWS CloudHSM cluster. + +Required Parameters +{ + "TagList": "A list of one or more tags.", + "ResourceId": "The cluster identifier (ID) for the cluster that you are tagging. To find the cluster ID, use DescribeClusters." +} +""" +TagResource(args) = cloudhsm_v2("TagResource", args) + +""" + UntagResource() + +Removes the specified tag or tags from the specified AWS CloudHSM cluster. + +Required Parameters +{ + "TagKeyList": "A list of one or more tag keys for the tags that you are removing. Specify only the tag keys, not the tag values.", + "ResourceId": "The cluster identifier (ID) for the cluster whose tags you are removing. To find the cluster ID, use DescribeClusters." +} +""" +UntagResource(args) = cloudhsm_v2("UntagResource", args) + +""" + InitializeCluster() + +Claims an AWS CloudHSM cluster by submitting the cluster certificate issued by your issuing certificate authority (CA) and the CA's root certificate. Before you can claim a cluster, you must sign the cluster's certificate signing request (CSR) with your issuing CA. To get the cluster's CSR, use DescribeClusters. + +Required Parameters +{ + "ClusterId": "The identifier (ID) of the cluster that you are claiming. To find the cluster ID, use DescribeClusters.", + "SignedCert": "The cluster certificate issued (signed) by your issuing certificate authority (CA). The certificate must be in PEM format and can contain a maximum of 5000 characters.", + "TrustAnchor": "The issuing certificate of the issuing certificate authority (CA) that issued (signed) the cluster certificate. You must use a self-signed certificate. The certificate used to sign the HSM CSR must be directly available, and thus must be the root certificate. The certificate must be in PEM format and can contain a maximum of 5000 characters." +} +""" +InitializeCluster(args) = cloudhsm_v2("InitializeCluster", args) + +""" + CreateHsm() + +Creates a new hardware security module (HSM) in the specified AWS CloudHSM cluster. + +Required Parameters +{ + "AvailabilityZone": "The Availability Zone where you are creating the HSM. To find the cluster's Availability Zones, use DescribeClusters.", + "ClusterId": "The identifier (ID) of the HSM's cluster. To find the cluster ID, use DescribeClusters." +} + +Optional Parameters +{ + "IpAddress": "The HSM's IP address. If you specify an IP address, use an available address from the subnet that maps to the Availability Zone where you are creating the HSM. If you don't specify an IP address, one is chosen for you from that subnet." +} +""" +CreateHsm(args) = cloudhsm_v2("CreateHsm", args) + +""" + DeleteHsm() + +Deletes the specified HSM. To specify an HSM, you can use its identifier (ID), the IP address of the HSM's elastic network interface (ENI), or the ID of the HSM's ENI. You need to specify only one of these values. To find these values, use DescribeClusters. + +Required Parameters +{ + "ClusterId": "The identifier (ID) of the cluster that contains the HSM that you are deleting." +} + +Optional Parameters +{ + "EniIp": "The IP address of the elastic network interface (ENI) of the HSM that you are deleting.", + "EniId": "The identifier (ID) of the elastic network interface (ENI) of the HSM that you are deleting.", + "HsmId": "The identifier (ID) of the HSM that you are deleting." +} +""" +DeleteHsm(args) = cloudhsm_v2("DeleteHsm", args) + +""" + RestoreBackup() + +Restores a specified AWS CloudHSM backup that is in the PENDING_DELETION state. For mor information on deleting a backup, see DeleteBackup. + +Required Parameters +{ + "BackupId": "The ID of the backup to be restored. To find the ID of a backup, use the DescribeBackups operation." +} +""" +RestoreBackup(args) = cloudhsm_v2("RestoreBackup", args) + +""" + CopyBackupToRegion() + +Copy an AWS CloudHSM cluster backup to a different region. + +Required Parameters +{ + "DestinationRegion": "The AWS region that will contain your copied CloudHSM cluster backup.", + "BackupId": "The ID of the backup that will be copied to the destination region. " +} + +Optional Parameters +{ + "TagList": "" +} +""" +CopyBackupToRegion(args) = cloudhsm_v2("CopyBackupToRegion", args) + +""" + DeleteBackup() + +Deletes a specified AWS CloudHSM backup. A backup can be restored up to 7 days after the DeleteBackup request is made. For more information on restoring a backup, see RestoreBackup. + +Required Parameters +{ + "BackupId": "The ID of the backup to be deleted. To find the ID of a backup, use the DescribeBackups operation." +} +""" +DeleteBackup(args) = cloudhsm_v2("DeleteBackup", args) + +""" + ListTags() + +Gets a list of tags for the specified AWS CloudHSM cluster. This is a paginated operation, which means that each response might contain only a subset of all the tags. When the response contains only a subset of tags, it includes a NextToken value. Use this value in a subsequent ListTags request to get more tags. When you receive a response with no NextToken (or an empty or null value), that means there are no more tags to get. + +Required Parameters +{ + "ResourceId": "The cluster identifier (ID) for the cluster whose tags you are getting. To find the cluster ID, use DescribeClusters." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of tags to return in the response. When there are more tags than the number you specify, the response contains a NextToken value.", + "NextToken": "The NextToken value that you received in the previous response. Use this value to get more tags." +} +""" +ListTags(args) = cloudhsm_v2("ListTags", args) + +""" + DeleteCluster() + +Deletes the specified AWS CloudHSM cluster. Before you can delete a cluster, you must delete all HSMs in the cluster. To see if the cluster contains any HSMs, use DescribeClusters. To delete an HSM, use DeleteHsm. + +Required Parameters +{ + "ClusterId": "The identifier (ID) of the cluster that you are deleting. To find the cluster ID, use DescribeClusters." +} +""" +DeleteCluster(args) = cloudhsm_v2("DeleteCluster", args) + +""" + DescribeClusters() + +Gets information about AWS CloudHSM clusters. This is a paginated operation, which means that each response might contain only a subset of all the clusters. When the response contains only a subset of clusters, it includes a NextToken value. Use this value in a subsequent DescribeClusters request to get more clusters. When you receive a response with no NextToken (or an empty or null value), that means there are no more clusters to get. + +Optional Parameters +{ + "MaxResults": "The maximum number of clusters to return in the response. When there are more clusters than the number you specify, the response contains a NextToken value.", + "NextToken": "The NextToken value that you received in the previous response. Use this value to get more clusters.", + "Filters": "One or more filters to limit the items returned in the response. Use the clusterIds filter to return only the specified clusters. Specify clusters by their cluster identifier (ID). Use the vpcIds filter to return only the clusters in the specified virtual private clouds (VPCs). Specify VPCs by their VPC identifier (ID). Use the states filter to return only clusters that match the specified state." +} +""" +DescribeClusters() = cloudhsm_v2("DescribeClusters") +DescribeClusters(args) = cloudhsm_v2("DescribeClusters", args) diff --git a/src/services/cloudsearch.jl b/src/services/cloudsearch.jl new file mode 100644 index 0000000000..b5990f25b8 --- /dev/null +++ b/src/services/cloudsearch.jl @@ -0,0 +1,362 @@ +include("../AWSServices.jl") +using .AWSServices: cloudsearch + +""" + UpdateServiceAccessPolicies() + +Configures the access rules that control access to the domain's document and search endpoints. For more information, see Configuring Access for an Amazon CloudSearch Domain. + +Required Parameters +{ + "DomainName": "", + "AccessPolicies": "The access rules you want to configure. These rules replace any existing rules. " +} +""" +UpdateServiceAccessPolicies(args) = cloudsearch("UpdateServiceAccessPolicies", args) + +""" + UpdateAvailabilityOptions() + +Configures the availability options for a domain. Enabling the Multi-AZ option expands an Amazon CloudSearch domain to an additional Availability Zone in the same Region to increase fault tolerance in the event of a service disruption. Changes to the Multi-AZ option can take about half an hour to become active. For more information, see Configuring Availability Options in the Amazon CloudSearch Developer Guide. + +Required Parameters +{ + "DomainName": "", + "MultiAZ": "You expand an existing search domain to a second Availability Zone by setting the Multi-AZ option to true. Similarly, you can turn off the Multi-AZ option to downgrade the domain to a single Availability Zone by setting the Multi-AZ option to false. " +} +""" +UpdateAvailabilityOptions(args) = cloudsearch("UpdateAvailabilityOptions", args) + +""" + DescribeDomains() + +Gets information about the search domains owned by this account. Can be limited to specific domains. Shows all domains by default. To get the number of searchable documents in a domain, use the console or submit a matchall request to your domain's search endpoint: q=matchall&amp;q.parser=structured&amp;size=0. For more information, see Getting Information about a Search Domain in the Amazon CloudSearch Developer Guide. + +Optional Parameters +{ + "DomainNames": "The names of the domains you want to include in the response." +} +""" +DescribeDomains() = cloudsearch("DescribeDomains") +DescribeDomains(args) = cloudsearch("DescribeDomains", args) + +""" + DefineSuggester() + +Configures a suggester for a domain. A suggester enables you to display possible matches before users finish typing their queries. When you configure a suggester, you must specify the name of the text field you want to search for possible matches and a unique name for the suggester. For more information, see Getting Search Suggestions in the Amazon CloudSearch Developer Guide. + +Required Parameters +{ + "DomainName": "", + "Suggester": "" +} +""" +DefineSuggester(args) = cloudsearch("DefineSuggester", args) + +""" + DescribeAvailabilityOptions() + +Gets the availability options configured for a domain. By default, shows the configuration with any pending changes. Set the Deployed option to true to show the active configuration and exclude pending changes. For more information, see Configuring Availability Options in the Amazon CloudSearch Developer Guide. + +Required Parameters +{ + "DomainName": "The name of the domain you want to describe." +} + +Optional Parameters +{ + "Deployed": "Whether to display the deployed configuration (true) or include any pending changes (false). Defaults to false." +} +""" +DescribeAvailabilityOptions(args) = cloudsearch("DescribeAvailabilityOptions", args) + +""" + DescribeServiceAccessPolicies() + +Gets information about the access policies that control access to the domain's document and search endpoints. By default, shows the configuration with any pending changes. Set the Deployed option to true to show the active configuration and exclude pending changes. For more information, see Configuring Access for a Search Domain in the Amazon CloudSearch Developer Guide. + +Required Parameters +{ + "DomainName": "The name of the domain you want to describe." +} + +Optional Parameters +{ + "Deployed": "Whether to display the deployed configuration (true) or include any pending changes (false). Defaults to false." +} +""" +DescribeServiceAccessPolicies(args) = cloudsearch("DescribeServiceAccessPolicies", args) + +""" + DescribeAnalysisSchemes() + +Gets the analysis schemes configured for a domain. An analysis scheme defines language-specific text processing options for a text field. Can be limited to specific analysis schemes by name. By default, shows all analysis schemes and includes any pending changes to the configuration. Set the Deployed option to true to show the active configuration and exclude pending changes. For more information, see Configuring Analysis Schemes in the Amazon CloudSearch Developer Guide. + +Required Parameters +{ + "DomainName": "The name of the domain you want to describe." +} + +Optional Parameters +{ + "AnalysisSchemeNames": "The analysis schemes you want to describe.", + "Deployed": "Whether to display the deployed configuration (true) or include any pending changes (false). Defaults to false." +} +""" +DescribeAnalysisSchemes(args) = cloudsearch("DescribeAnalysisSchemes", args) + +""" + DefineIndexField() + +Configures an IndexField for the search domain. Used to create new fields and modify existing ones. You must specify the name of the domain you are configuring and an index field configuration. The index field configuration specifies a unique name, the index field type, and the options you want to configure for the field. The options you can specify depend on the IndexFieldType. If the field exists, the new configuration replaces the old one. For more information, see Configuring Index Fields in the Amazon CloudSearch Developer Guide. + +Required Parameters +{ + "DomainName": "", + "IndexField": "The index field and field options you want to configure. " +} +""" +DefineIndexField(args) = cloudsearch("DefineIndexField", args) + +""" + DefineAnalysisScheme() + +Configures an analysis scheme that can be applied to a text or text-array field to define language-specific text processing options. For more information, see Configuring Analysis Schemes in the Amazon CloudSearch Developer Guide. + +Required Parameters +{ + "AnalysisScheme": "", + "DomainName": "" +} +""" +DefineAnalysisScheme(args) = cloudsearch("DefineAnalysisScheme", args) + +""" + DefineExpression() + +Configures an Expression for the search domain. Used to create new expressions and modify existing ones. If the expression exists, the new configuration replaces the old one. For more information, see Configuring Expressions in the Amazon CloudSearch Developer Guide. + +Required Parameters +{ + "DomainName": "", + "Expression": "" +} +""" +DefineExpression(args) = cloudsearch("DefineExpression", args) + +""" + DeleteExpression() + +Removes an Expression from the search domain. For more information, see Configuring Expressions in the Amazon CloudSearch Developer Guide. + +Required Parameters +{ + "DomainName": "", + "ExpressionName": "The name of the Expression to delete." +} +""" +DeleteExpression(args) = cloudsearch("DeleteExpression", args) + +""" + DescribeExpressions() + +Gets the expressions configured for the search domain. Can be limited to specific expressions by name. By default, shows all expressions and includes any pending changes to the configuration. Set the Deployed option to true to show the active configuration and exclude pending changes. For more information, see Configuring Expressions in the Amazon CloudSearch Developer Guide. + +Required Parameters +{ + "DomainName": "The name of the domain you want to describe." +} + +Optional Parameters +{ + "Deployed": "Whether to display the deployed configuration (true) or include any pending changes (false). Defaults to false.", + "ExpressionNames": "Limits the DescribeExpressions response to the specified expressions. If not specified, all expressions are shown." +} +""" +DescribeExpressions(args) = cloudsearch("DescribeExpressions", args) + +""" + DescribeIndexFields() + +Gets information about the index fields configured for the search domain. Can be limited to specific fields by name. By default, shows all fields and includes any pending changes to the configuration. Set the Deployed option to true to show the active configuration and exclude pending changes. For more information, see Getting Domain Information in the Amazon CloudSearch Developer Guide. + +Required Parameters +{ + "DomainName": "The name of the domain you want to describe." +} + +Optional Parameters +{ + "Deployed": "Whether to display the deployed configuration (true) or include any pending changes (false). Defaults to false.", + "FieldNames": "A list of the index fields you want to describe. If not specified, information is returned for all configured index fields." +} +""" +DescribeIndexFields(args) = cloudsearch("DescribeIndexFields", args) + +""" + DeleteSuggester() + +Deletes a suggester. For more information, see Getting Search Suggestions in the Amazon CloudSearch Developer Guide. + +Required Parameters +{ + "DomainName": "", + "SuggesterName": "Specifies the name of the suggester you want to delete." +} +""" +DeleteSuggester(args) = cloudsearch("DeleteSuggester", args) + +""" + DeleteIndexField() + +Removes an IndexField from the search domain. For more information, see Configuring Index Fields in the Amazon CloudSearch Developer Guide. + +Required Parameters +{ + "DomainName": "", + "IndexFieldName": "The name of the index field your want to remove from the domain's indexing options." +} +""" +DeleteIndexField(args) = cloudsearch("DeleteIndexField", args) + +""" + DescribeSuggesters() + +Gets the suggesters configured for a domain. A suggester enables you to display possible matches before users finish typing their queries. Can be limited to specific suggesters by name. By default, shows all suggesters and includes any pending changes to the configuration. Set the Deployed option to true to show the active configuration and exclude pending changes. For more information, see Getting Search Suggestions in the Amazon CloudSearch Developer Guide. + +Required Parameters +{ + "DomainName": "The name of the domain you want to describe." +} + +Optional Parameters +{ + "SuggesterNames": "The suggesters you want to describe.", + "Deployed": "Whether to display the deployed configuration (true) or include any pending changes (false). Defaults to false." +} +""" +DescribeSuggesters(args) = cloudsearch("DescribeSuggesters", args) + +""" + DeleteAnalysisScheme() + +Deletes an analysis scheme. For more information, see Configuring Analysis Schemes in the Amazon CloudSearch Developer Guide. + +Required Parameters +{ + "DomainName": "", + "AnalysisSchemeName": "The name of the analysis scheme you want to delete." +} +""" +DeleteAnalysisScheme(args) = cloudsearch("DeleteAnalysisScheme", args) + +""" + BuildSuggesters() + +Indexes the search suggestions. For more information, see Configuring Suggesters in the Amazon CloudSearch Developer Guide. + +Required Parameters +{ + "DomainName": "" +} +""" +BuildSuggesters(args) = cloudsearch("BuildSuggesters", args) + +""" + ListDomainNames() + +Lists all search domains owned by an account. +""" +ListDomainNames() = cloudsearch("ListDomainNames") +ListDomainNames(args) = cloudsearch("ListDomainNames", args) + +""" + DeleteDomain() + +Permanently deletes a search domain and all of its data. Once a domain has been deleted, it cannot be recovered. For more information, see Deleting a Search Domain in the Amazon CloudSearch Developer Guide. + +Required Parameters +{ + "DomainName": "The name of the domain you want to permanently delete." +} +""" +DeleteDomain(args) = cloudsearch("DeleteDomain", args) + +""" + DescribeDomainEndpointOptions() + +Returns the domain's endpoint options, specifically whether all requests to the domain must arrive over HTTPS. For more information, see Configuring Domain Endpoint Options in the Amazon CloudSearch Developer Guide. + +Required Parameters +{ + "DomainName": "A string that represents the name of a domain." +} + +Optional Parameters +{ + "Deployed": "Whether to retrieve the latest configuration (which might be in a Processing state) or the current, active configuration. Defaults to false." +} +""" +DescribeDomainEndpointOptions(args) = cloudsearch("DescribeDomainEndpointOptions", args) + +""" + UpdateDomainEndpointOptions() + +Updates the domain's endpoint options, specifically whether all requests to the domain must arrive over HTTPS. For more information, see Configuring Domain Endpoint Options in the Amazon CloudSearch Developer Guide. + +Required Parameters +{ + "DomainName": "A string that represents the name of a domain.", + "DomainEndpointOptions": "Whether to require that all requests to the domain arrive over HTTPS. We recommend Policy-Min-TLS-1-2-2019-07 for TLSSecurityPolicy. For compatibility with older clients, the default is Policy-Min-TLS-1-0-2019-07. " +} +""" +UpdateDomainEndpointOptions(args) = cloudsearch("UpdateDomainEndpointOptions", args) + +""" + DescribeScalingParameters() + +Gets the scaling parameters configured for a domain. A domain's scaling parameters specify the desired search instance type and replication count. For more information, see Configuring Scaling Options in the Amazon CloudSearch Developer Guide. + +Required Parameters +{ + "DomainName": "" +} +""" +DescribeScalingParameters(args) = cloudsearch("DescribeScalingParameters", args) + +""" + UpdateScalingParameters() + +Configures scaling parameters for a domain. A domain's scaling parameters specify the desired search instance type and replication count. Amazon CloudSearch will still automatically scale your domain based on the volume of data and traffic, but not below the desired instance type and replication count. If the Multi-AZ option is enabled, these values control the resources used per Availability Zone. For more information, see Configuring Scaling Options in the Amazon CloudSearch Developer Guide. + +Required Parameters +{ + "DomainName": "", + "ScalingParameters": "" +} +""" +UpdateScalingParameters(args) = cloudsearch("UpdateScalingParameters", args) + +""" + CreateDomain() + +Creates a new search domain. For more information, see Creating a Search Domain in the Amazon CloudSearch Developer Guide. + +Required Parameters +{ + "DomainName": "A name for the domain you are creating. Allowed characters are a-z (lower-case letters), 0-9, and hyphen (-). Domain names must start with a letter or number and be at least 3 and no more than 28 characters long." +} +""" +CreateDomain(args) = cloudsearch("CreateDomain", args) + +""" + IndexDocuments() + +Tells the search domain to start indexing its documents using the latest indexing options. This operation must be invoked to activate options whose OptionStatus is RequiresIndexDocuments. + +Required Parameters +{ + "DomainName": "" +} +""" +IndexDocuments(args) = cloudsearch("IndexDocuments", args) diff --git a/src/services/cloudsearch_domain.jl b/src/services/cloudsearch_domain.jl new file mode 100644 index 0000000000..69e637ce81 --- /dev/null +++ b/src/services/cloudsearch_domain.jl @@ -0,0 +1,62 @@ +include("../AWSServices.jl") +using .AWSServices: cloudsearch_domain + +""" + Suggest() + +Retrieves autocomplete suggestions for a partial query string. You can use suggestions enable you to display likely matches before users finish typing. In Amazon CloudSearch, suggestions are based on the contents of a particular text field. When you request suggestions, Amazon CloudSearch finds all of the documents whose values in the suggester field start with the specified query string. The beginning of the field must match the query string to be considered a match. For more information about configuring suggesters and retrieving suggestions, see Getting Suggestions in the Amazon CloudSearch Developer Guide. The endpoint for submitting Suggest requests is domain-specific. You submit suggest requests to a domain's search endpoint. To get the search endpoint for your domain, use the Amazon CloudSearch configuration service DescribeDomains action. A domain's endpoints are also displayed on the domain dashboard in the Amazon CloudSearch console. + +Required Parameters +{ + "query": "Specifies the string for which you want to get suggestions.", + "suggester": "Specifies the name of the suggester to use to find suggested matches." +} + +Optional Parameters +{ + "size": "Specifies the maximum number of suggestions to return. " +} +""" +Suggest(args) = cloudsearch_domain("GET", "/2013-01-01/suggest?format=sdk&pretty=true", args) + +""" + UploadDocuments() + +Posts a batch of documents to a search domain for indexing. A document batch is a collection of add and delete operations that represent the documents you want to add, update, or delete from your domain. Batches can be described in either JSON or XML. Each item that you want Amazon CloudSearch to return as a search result (such as a product) is represented as a document. Every document has a unique ID and one or more fields that contain the data that you want to search and return in results. Individual documents cannot contain more than 1 MB of data. The entire batch cannot exceed 5 MB. To get the best possible upload performance, group add and delete operations in batches that are close the 5 MB limit. Submitting a large volume of single-document batches can overload a domain's document service. The endpoint for submitting UploadDocuments requests is domain-specific. To get the document endpoint for your domain, use the Amazon CloudSearch configuration service DescribeDomains action. A domain's endpoints are also displayed on the domain dashboard in the Amazon CloudSearch console. For more information about formatting your data for Amazon CloudSearch, see Preparing Your Data in the Amazon CloudSearch Developer Guide. For more information about uploading data for indexing, see Uploading Data in the Amazon CloudSearch Developer Guide. + +Required Parameters +{ + "documents": "A batch of documents formatted in JSON or HTML.", + "contentType": "The format of the batch you are uploading. Amazon CloudSearch supports two document batch formats: application/json application/xml " +} +""" +UploadDocuments(args) = cloudsearch_domain("POST", "/2013-01-01/documents/batch?format=sdk", args) + +""" + Search() + +Retrieves a list of documents that match the specified search criteria. How you specify the search criteria depends on which query parser you use. Amazon CloudSearch supports four query parsers: simple: search all text and text-array fields for the specified string. Search for phrases, individual terms, and prefixes. structured: search specific fields, construct compound queries using Boolean operators, and use advanced features such as term boosting and proximity searching. lucene: specify search criteria using the Apache Lucene query parser syntax. dismax: specify search criteria using the simplified subset of the Apache Lucene query parser syntax defined by the DisMax query parser. For more information, see Searching Your Data in the Amazon CloudSearch Developer Guide. The endpoint for submitting Search requests is domain-specific. You submit search requests to a domain's search endpoint. To get the search endpoint for your domain, use the Amazon CloudSearch configuration service DescribeDomains action. A domain's endpoints are also displayed on the domain dashboard in the Amazon CloudSearch console. + +Required Parameters +{ + "query": "Specifies the search criteria for the request. How you specify the search criteria depends on the query parser used for the request and the parser options specified in the queryOptions parameter. By default, the simple query parser is used to process requests. To use the structured, lucene, or dismax query parser, you must also specify the queryParser parameter. For more information about specifying search criteria, see Searching Your Data in the Amazon CloudSearch Developer Guide." +} + +Optional Parameters +{ + "queryOptions": "Configures options for the query parser specified in the queryParser parameter. You specify the options in JSON using the following form {\"OPTION1\":\"VALUE1\",\"OPTION2\":VALUE2\"...\"OPTIONN\":\"VALUEN\"}. The options you can configure vary according to which parser you use: defaultOperator: The default operator used to combine individual terms in the search string. For example: defaultOperator: 'or'. For the dismax parser, you specify a percentage that represents the percentage of terms in the search string (rounded down) that must match, rather than a default operator. A value of 0% is the equivalent to OR, and a value of 100% is equivalent to AND. The percentage must be specified as a value in the range 0-100 followed by the percent (%) symbol. For example, defaultOperator: 50%. Valid values: and, or, a percentage in the range 0%-100% (dismax). Default: and (simple, structured, lucene) or 100 (dismax). Valid for: simple, structured, lucene, and dismax. fields: An array of the fields to search when no fields are specified in a search. If no fields are specified in a search and this option is not specified, all text and text-array fields are searched. You can specify a weight for each field to control the relative importance of each field when Amazon CloudSearch calculates relevance scores. To specify a field weight, append a caret (^) symbol and the weight to the field name. For example, to boost the importance of the title field over the description field you could specify: \"fields\":[\"title^5\",\"description\"]. Valid values: The name of any configured field and an optional numeric value greater than zero. Default: All text and text-array fields. Valid for: simple, structured, lucene, and dismax. operators: An array of the operators or special characters you want to disable for the simple query parser. If you disable the and, or, or not operators, the corresponding operators (+, |, -) have no special meaning and are dropped from the search string. Similarly, disabling prefix disables the wildcard operator (*) and disabling phrase disables the ability to search for phrases by enclosing phrases in double quotes. Disabling precedence disables the ability to control order of precedence using parentheses. Disabling near disables the ability to use the ~ operator to perform a sloppy phrase search. Disabling the fuzzy operator disables the ability to use the ~ operator to perform a fuzzy search. escape disables the ability to use a backslash ( ) to escape special characters within the search string. Disabling whitespace is an advanced option that prevents the parser from tokenizing on whitespace, which can be useful for Vietnamese. (It prevents Vietnamese words from being split incorrectly.) For example, you could disable all operators other than the phrase operator to support just simple term and phrase queries: \"operators\":[\"and\",\"not\",\"or\", \"prefix\"]. Valid values: and, escape, fuzzy, near, not, or, phrase, precedence, prefix, whitespace. Default: All operators and special characters are enabled. Valid for: simple. phraseFields: An array of the text or text-array fields you want to use for phrase searches. When the terms in the search string appear in close proximity within a field, the field scores higher. You can specify a weight for each field to boost that score. The phraseSlop option controls how much the matches can deviate from the search string and still be boosted. To specify a field weight, append a caret (^) symbol and the weight to the field name. For example, to boost phrase matches in the title field over the abstract field, you could specify: \"phraseFields\":[\"title^3\", \"plot\"] Valid values: The name of any text or text-array field and an optional numeric value greater than zero. Default: No fields. If you don't specify any fields with phraseFields, proximity scoring is disabled even if phraseSlop is specified. Valid for: dismax. phraseSlop: An integer value that specifies how much matches can deviate from the search phrase and still be boosted according to the weights specified in the phraseFields option; for example, phraseSlop: 2. You must also specify phraseFields to enable proximity scoring. Valid values: positive integers. Default: 0. Valid for: dismax. explicitPhraseSlop: An integer value that specifies how much a match can deviate from the search phrase when the phrase is enclosed in double quotes in the search string. (Phrases that exceed this proximity distance are not considered a match.) For example, to specify a slop of three for dismax phrase queries, you would specify \"explicitPhraseSlop\":3. Valid values: positive integers. Default: 0. Valid for: dismax. tieBreaker: When a term in the search string is found in a document's field, a score is calculated for that field based on how common the word is in that field compared to other documents. If the term occurs in multiple fields within a document, by default only the highest scoring field contributes to the document's overall score. You can specify a tieBreaker value to enable the matches in lower-scoring fields to contribute to the document's score. That way, if two documents have the same max field score for a particular term, the score for the document that has matches in more fields will be higher. The formula for calculating the score with a tieBreaker is (max field score) + (tieBreaker) * (sum of the scores for the rest of the matching fields). Set tieBreaker to 0 to disregard all but the highest scoring field (pure max): \"tieBreaker\":0. Set to 1 to sum the scores from all fields (pure sum): \"tieBreaker\":1. Valid values: 0.0 to 1.0. Default: 0.0. Valid for: dismax. ", + "stats": "Specifies one or more fields for which to get statistics information. Each specified field must be facet-enabled in the domain configuration. The fields are specified in JSON using the form: {\"FIELD-A\":{},\"FIELD-B\":{}} There are currently no options supported for statistics.", + "partial": "Enables partial results to be returned if one or more index partitions are unavailable. When your search index is partitioned across multiple search instances, by default Amazon CloudSearch only returns results if every partition can be queried. This means that the failure of a single search instance can result in 5xx (internal server) errors. When you enable partial results, Amazon CloudSearch returns whatever results are available and includes the percentage of documents searched in the search results (percent-searched). This enables you to more gracefully degrade your users' search experience. For example, rather than displaying no results, you could display the partial results and a message indicating that the results might be incomplete due to a temporary system outage.", + "queryParser": "Specifies which query parser to use to process the request. If queryParser is not specified, Amazon CloudSearch uses the simple query parser. Amazon CloudSearch supports four query parsers: simple: perform simple searches of text and text-array fields. By default, the simple query parser searches all text and text-array fields. You can specify which fields to search by with the queryOptions parameter. If you prefix a search term with a plus sign (+) documents must contain the term to be considered a match. (This is the default, unless you configure the default operator with the queryOptions parameter.) You can use the - (NOT), | (OR), and * (wildcard) operators to exclude particular terms, find results that match any of the specified terms, or search for a prefix. To search for a phrase rather than individual terms, enclose the phrase in double quotes. For more information, see Searching for Text in the Amazon CloudSearch Developer Guide. structured: perform advanced searches by combining multiple expressions to define the search criteria. You can also search within particular fields, search for values and ranges of values, and use advanced options such as term boosting, matchall, and near. For more information, see Constructing Compound Queries in the Amazon CloudSearch Developer Guide. lucene: search using the Apache Lucene query parser syntax. For more information, see Apache Lucene Query Parser Syntax. dismax: search using the simplified subset of the Apache Lucene query parser syntax defined by the DisMax query parser. For more information, see DisMax Query Parser Syntax. ", + "facet": "Specifies one or more fields for which to get facet information, and options that control how the facet information is returned. Each specified field must be facet-enabled in the domain configuration. The fields and options are specified in JSON using the form {\"FIELD\":{\"OPTION\":VALUE,\"OPTION:\"STRING\"},\"FIELD\":{\"OPTION\":VALUE,\"OPTION\":\"STRING\"}}. You can specify the following faceting options: buckets specifies an array of the facet values or ranges to count. Ranges are specified using the same syntax that you use to search for a range of values. For more information, see Searching for a Range of Values in the Amazon CloudSearch Developer Guide. Buckets are returned in the order they are specified in the request. The sort and size options are not valid if you specify buckets. size specifies the maximum number of facets to include in the results. By default, Amazon CloudSearch returns counts for the top 10. The size parameter is only valid when you specify the sort option; it cannot be used in conjunction with buckets. sort specifies how you want to sort the facets in the results: bucket or count. Specify bucket to sort alphabetically or numerically by facet value (in ascending order). Specify count to sort by the facet counts computed for each facet value (in descending order). To retrieve facet counts for particular values or ranges of values, use the buckets option instead of sort. If no facet options are specified, facet counts are computed for all field values, the facets are sorted by facet count, and the top 10 facets are returned in the results. To count particular buckets of values, use the buckets option. For example, the following request uses the buckets option to calculate and return facet counts by decade. {\"year\":{\"buckets\":[\"[1970,1979]\",\"[1980,1989]\",\"[1990,1999]\",\"[2000,2009]\",\"[2010,}\"]}} To sort facets by facet count, use the count option. For example, the following request sets the sort option to count to sort the facet values by facet count, with the facet values that have the most matching documents listed first. Setting the size option to 3 returns only the top three facet values. {\"year\":{\"sort\":\"count\",\"size\":3}} To sort the facets by value, use the bucket option. For example, the following request sets the sort option to bucket to sort the facet values numerically by year, with earliest year listed first. {\"year\":{\"sort\":\"bucket\"}} For more information, see Getting and Using Facet Information in the Amazon CloudSearch Developer Guide.", + "filterQuery": "Specifies a structured query that filters the results of a search without affecting how the results are scored and sorted. You use filterQuery in conjunction with the query parameter to filter the documents that match the constraints specified in the query parameter. Specifying a filter controls only which matching documents are included in the results, it has no effect on how they are scored and sorted. The filterQuery parameter supports the full structured query syntax. For more information about using filters, see Filtering Matching Documents in the Amazon CloudSearch Developer Guide.", + "start": "Specifies the offset of the first search hit you want to return. Note that the result set is zero-based; the first result is at index 0. You can specify either the start or cursor parameter in a request, they are mutually exclusive. For more information, see Paginating Results in the Amazon CloudSearch Developer Guide.", + "size": "Specifies the maximum number of search hits to include in the response. ", + "highlight": "Retrieves highlights for matches in the specified text or text-array fields. Each specified field must be highlight enabled in the domain configuration. The fields and options are specified in JSON using the form {\"FIELD\":{\"OPTION\":VALUE,\"OPTION:\"STRING\"},\"FIELD\":{\"OPTION\":VALUE,\"OPTION\":\"STRING\"}}. You can specify the following highlight options: format: specifies the format of the data in the text field: text or html. When data is returned as HTML, all non-alphanumeric characters are encoded. The default is html. max_phrases: specifies the maximum number of occurrences of the search term(s) you want to highlight. By default, the first occurrence is highlighted. pre_tag: specifies the string to prepend to an occurrence of a search term. The default for HTML highlights is &lt;em&gt;. The default for text highlights is *. post_tag: specifies the string to append to an occurrence of a search term. The default for HTML highlights is &lt;/em&gt;. The default for text highlights is *. If no highlight options are specified for a field, the returned field text is treated as HTML and the first match is highlighted with emphasis tags: &lt;em>search-term&lt;/em&gt;. For example, the following request retrieves highlights for the actors and title fields. { \"actors\": {}, \"title\": {\"format\": \"text\",\"max_phrases\": 2,\"pre_tag\": \"\",\"post_tag\": \"\"} }", + "cursor": "Retrieves a cursor value you can use to page through large result sets. Use the size parameter to control the number of hits to include in each response. You can specify either the cursor or start parameter in a request; they are mutually exclusive. To get the first cursor, set the cursor value to initial. In subsequent requests, specify the cursor value returned in the hits section of the response. For more information, see Paginating Results in the Amazon CloudSearch Developer Guide.", + "sort": "Specifies the fields or custom expressions to use to sort the search results. Multiple fields or expressions are specified as a comma-separated list. You must specify the sort direction (asc or desc) for each field; for example, year desc,title asc. To use a field to sort results, the field must be sort-enabled in the domain configuration. Array type fields cannot be used for sorting. If no sort parameter is specified, results are sorted by their default relevance scores in descending order: _score desc. You can also sort by document ID (_id asc) and version (_version desc). For more information, see Sorting Results in the Amazon CloudSearch Developer Guide.", + "expr": "Defines one or more numeric expressions that can be used to sort results or specify search or filter criteria. You can also specify expressions as return fields. You specify the expressions in JSON using the form {\"EXPRESSIONNAME\":\"EXPRESSION\"}. You can define and use multiple expressions in a search request. For example: {\"expression1\":\"_score*rating\", \"expression2\":\"(1/rank)*year\"} For information about the variables, operators, and functions you can use in expressions, see Writing Expressions in the Amazon CloudSearch Developer Guide.", + "return": "Specifies the field and expression values to include in the response. Multiple fields or expressions are specified as a comma-separated list. By default, a search response includes all return enabled fields (_all_fields). To return only the document IDs for the matching documents, specify _no_fields. To retrieve the relevance score calculated for each document, specify _score. " +} +""" +Search(args) = cloudsearch_domain("GET", "/2013-01-01/search?format=sdk&pretty=true", args) diff --git a/src/services/cloudtrail.jl b/src/services/cloudtrail.jl new file mode 100644 index 0000000000..ddca212dc0 --- /dev/null +++ b/src/services/cloudtrail.jl @@ -0,0 +1,276 @@ +include("../AWSServices.jl") +using .AWSServices: cloudtrail + +""" + CreateTrail() + +Creates a trail that specifies the settings for delivery of log data to an Amazon S3 bucket. + +Required Parameters +{ + "S3BucketName": "Specifies the name of the Amazon S3 bucket designated for publishing log files. See Amazon S3 Bucket Naming Requirements.", + "Name": "Specifies the name of the trail. The name must meet the following requirements: Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscores (_), or dashes (-) Start with a letter or number, and end with a letter or number Be between 3 and 128 characters Have no adjacent periods, underscores or dashes. Names like my-_namespace and my--namespace are invalid. Not be in IP address format (for example, 192.168.5.4) " +} + +Optional Parameters +{ + "SnsTopicName": "Specifies the name of the Amazon SNS topic defined for notification of log file delivery. The maximum length is 256 characters.", + "IsOrganizationTrail": "Specifies whether the trail is created for all accounts in an organization in AWS Organizations, or only for the current AWS account. The default is false, and cannot be true unless the call is made on behalf of an AWS account that is the master account for an organization in AWS Organizations.", + "IncludeGlobalServiceEvents": "Specifies whether the trail is publishing events from global services such as IAM to the log files.", + "CloudWatchLogsLogGroupArn": "Specifies a log group name using an Amazon Resource Name (ARN), a unique identifier that represents the log group to which CloudTrail logs will be delivered. Not required unless you specify CloudWatchLogsRoleArn.", + "TagsList": "", + "KmsKeyId": "Specifies the KMS key ID to use to encrypt the logs delivered by CloudTrail. The value can be an alias name prefixed by \"alias/\", a fully specified ARN to an alias, a fully specified ARN to a key, or a globally unique identifier. Examples: alias/MyAliasName arn:aws:kms:us-east-2:123456789012:alias/MyAliasName arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012 12345678-1234-1234-1234-123456789012 ", + "IsMultiRegionTrail": "Specifies whether the trail is created in the current region or in all regions. The default is false, which creates a trail only in the region where you are signed in. As a best practice, consider creating trails that log events in all regions.", + "S3KeyPrefix": "Specifies the Amazon S3 key prefix that comes after the name of the bucket you have designated for log file delivery. For more information, see Finding Your CloudTrail Log Files. The maximum length is 200 characters.", + "CloudWatchLogsRoleArn": "Specifies the role for the CloudWatch Logs endpoint to assume to write to a user's log group.", + "EnableLogFileValidation": "Specifies whether log file integrity validation is enabled. The default is false. When you disable log file integrity validation, the chain of digest files is broken after one hour. CloudTrail will not create digest files for log files that were delivered during a period in which log file integrity validation was disabled. For example, if you enable log file integrity validation at noon on January 1, disable it at noon on January 2, and re-enable it at noon on January 10, digest files will not be created for the log files delivered from noon on January 2 to noon on January 10. The same applies whenever you stop CloudTrail logging or delete a trail. " +} +""" +CreateTrail(args) = cloudtrail("CreateTrail", args) + +""" + DescribeTrails() + +Retrieves settings for one or more trails associated with the current region for your account. + +Optional Parameters +{ + "trailNameList": "Specifies a list of trail names, trail ARNs, or both, of the trails to describe. The format of a trail ARN is: arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail If an empty list is specified, information for the trail in the current region is returned. If an empty list is specified and IncludeShadowTrails is false, then information for all trails in the current region is returned. If an empty list is specified and IncludeShadowTrails is null or true, then information for all trails in the current region and any associated shadow trails in other regions is returned. If one or more trail names are specified, information is returned only if the names match the names of trails belonging only to the current region. To return information about a trail in another region, you must specify its trail ARN. ", + "includeShadowTrails": "Specifies whether to include shadow trails in the response. A shadow trail is the replication in a region of a trail that was created in a different region, or in the case of an organization trail, the replication of an organization trail in member accounts. If you do not include shadow trails, organization trails in a member account and region replication trails will not be returned. The default is true." +} +""" +DescribeTrails() = cloudtrail("DescribeTrails") +DescribeTrails(args) = cloudtrail("DescribeTrails", args) + +""" + GetTrail() + +Returns settings information for a specified trail. + +Required Parameters +{ + "Name": "The name or the Amazon Resource Name (ARN) of the trail for which you want to retrieve settings information." +} +""" +GetTrail(args) = cloudtrail("GetTrail", args) + +""" + UpdateTrail() + +Updates the settings that specify delivery of log files. Changes to a trail do not require stopping the CloudTrail service. Use this action to designate an existing bucket for log delivery. If the existing bucket has previously been a target for CloudTrail log files, an IAM policy exists for the bucket. UpdateTrail must be called from the region in which the trail was created; otherwise, an InvalidHomeRegionException is thrown. + +Required Parameters +{ + "Name": "Specifies the name of the trail or trail ARN. If Name is a trail name, the string must meet the following requirements: Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscores (_), or dashes (-) Start with a letter or number, and end with a letter or number Be between 3 and 128 characters Have no adjacent periods, underscores or dashes. Names like my-_namespace and my--namespace are invalid. Not be in IP address format (for example, 192.168.5.4) If Name is a trail ARN, it must be in the format: arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail " +} + +Optional Parameters +{ + "SnsTopicName": "Specifies the name of the Amazon SNS topic defined for notification of log file delivery. The maximum length is 256 characters.", + "IsOrganizationTrail": "Specifies whether the trail is applied to all accounts in an organization in AWS Organizations, or only for the current AWS account. The default is false, and cannot be true unless the call is made on behalf of an AWS account that is the master account for an organization in AWS Organizations. If the trail is not an organization trail and this is set to true, the trail will be created in all AWS accounts that belong to the organization. If the trail is an organization trail and this is set to false, the trail will remain in the current AWS account but be deleted from all member accounts in the organization.", + "IncludeGlobalServiceEvents": "Specifies whether the trail is publishing events from global services such as IAM to the log files.", + "S3BucketName": "Specifies the name of the Amazon S3 bucket designated for publishing log files. See Amazon S3 Bucket Naming Requirements.", + "CloudWatchLogsLogGroupArn": "Specifies a log group name using an Amazon Resource Name (ARN), a unique identifier that represents the log group to which CloudTrail logs will be delivered. Not required unless you specify CloudWatchLogsRoleArn.", + "KmsKeyId": "Specifies the KMS key ID to use to encrypt the logs delivered by CloudTrail. The value can be an alias name prefixed by \"alias/\", a fully specified ARN to an alias, a fully specified ARN to a key, or a globally unique identifier. Examples: alias/MyAliasName arn:aws:kms:us-east-2:123456789012:alias/MyAliasName arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012 12345678-1234-1234-1234-123456789012 ", + "IsMultiRegionTrail": "Specifies whether the trail applies only to the current region or to all regions. The default is false. If the trail exists only in the current region and this value is set to true, shadow trails (replications of the trail) will be created in the other regions. If the trail exists in all regions and this value is set to false, the trail will remain in the region where it was created, and its shadow trails in other regions will be deleted. As a best practice, consider using trails that log events in all regions.", + "S3KeyPrefix": "Specifies the Amazon S3 key prefix that comes after the name of the bucket you have designated for log file delivery. For more information, see Finding Your CloudTrail Log Files. The maximum length is 200 characters.", + "CloudWatchLogsRoleArn": "Specifies the role for the CloudWatch Logs endpoint to assume to write to a user's log group.", + "EnableLogFileValidation": "Specifies whether log file validation is enabled. The default is false. When you disable log file integrity validation, the chain of digest files is broken after one hour. CloudTrail will not create digest files for log files that were delivered during a period in which log file integrity validation was disabled. For example, if you enable log file integrity validation at noon on January 1, disable it at noon on January 2, and re-enable it at noon on January 10, digest files will not be created for the log files delivered from noon on January 2 to noon on January 10. The same applies whenever you stop CloudTrail logging or delete a trail. " +} +""" +UpdateTrail(args) = cloudtrail("UpdateTrail", args) + +""" + ListPublicKeys() + +Returns all public keys whose private keys were used to sign the digest files within the specified time range. The public key is needed to validate digest files that were signed with its corresponding private key. CloudTrail uses different private/public key pairs per region. Each digest file is signed with a private key unique to its region. Therefore, when you validate a digest file from a particular region, you must look in the same region for its corresponding public key. + +Optional Parameters +{ + "StartTime": "Optionally specifies, in UTC, the start of the time range to look up public keys for CloudTrail digest files. If not specified, the current time is used, and the current public key is returned.", + "NextToken": "Reserved for future use.", + "EndTime": "Optionally specifies, in UTC, the end of the time range to look up public keys for CloudTrail digest files. If not specified, the current time is used." +} +""" +ListPublicKeys() = cloudtrail("ListPublicKeys") +ListPublicKeys(args) = cloudtrail("ListPublicKeys", args) + +""" + StopLogging() + +Suspends the recording of AWS API calls and log file delivery for the specified trail. Under most circumstances, there is no need to use this action. You can update a trail without stopping it first. This action is the only way to stop recording. For a trail enabled in all regions, this operation must be called from the region in which the trail was created, or an InvalidHomeRegionException will occur. This operation cannot be called on the shadow trails (replicated trails in other regions) of a trail enabled in all regions. + +Required Parameters +{ + "Name": "Specifies the name or the CloudTrail ARN of the trail for which CloudTrail will stop logging AWS API calls. The format of a trail ARN is: arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail " +} +""" +StopLogging(args) = cloudtrail("StopLogging", args) + +""" + RemoveTags() + +Removes the specified tags from a trail. + +Required Parameters +{ + "ResourceId": "Specifies the ARN of the trail from which tags should be removed. The format of a trail ARN is: arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail " +} + +Optional Parameters +{ + "TagsList": "Specifies a list of tags to be removed." +} +""" +RemoveTags(args) = cloudtrail("RemoveTags", args) + +""" + DeleteTrail() + +Deletes a trail. This operation must be called from the region in which the trail was created. DeleteTrail cannot be called on the shadow trails (replicated trails in other regions) of a trail that is enabled in all regions. + +Required Parameters +{ + "Name": "Specifies the name or the CloudTrail ARN of the trail to be deleted. The format of a trail ARN is: arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail " +} +""" +DeleteTrail(args) = cloudtrail("DeleteTrail", args) + +""" + LookupEvents() + +Looks up management events or CloudTrail Insights events that are captured by CloudTrail. You can look up events that occurred in a region within the last 90 days. Lookup supports the following attributes for management events: AWS access key Event ID Event name Event source Read only Resource name Resource type User name Lookup supports the following attributes for Insights events: Event ID Event name Event source All attributes are optional. The default number of results returned is 50, with a maximum of 50 possible. The response includes a token that you can use to get the next page of results. The rate of lookup requests is limited to two per second per account. If this limit is exceeded, a throttling error occurs. + +Optional Parameters +{ + "StartTime": "Specifies that only events that occur after or at the specified time are returned. If the specified start time is after the specified end time, an error is returned.", + "MaxResults": "The number of events to return. Possible values are 1 through 50. The default is 50.", + "EventCategory": "Specifies the event category. If you do not specify an event category, events of the category are not returned in the response. For example, if you do not specify insight as the value of EventCategory, no Insights events are returned.", + "EndTime": "Specifies that only events that occur before or at the specified time are returned. If the specified end time is before the specified start time, an error is returned.", + "NextToken": "The token to use to get the next page of results after a previous API call. This token must be passed in with the same parameters that were specified in the the original call. For example, if the original call specified an AttributeKey of 'Username' with a value of 'root', the call with NextToken should include those same parameters.", + "LookupAttributes": "Contains a list of lookup attributes. Currently the list can contain only one item." +} +""" +LookupEvents() = cloudtrail("LookupEvents") +LookupEvents(args) = cloudtrail("LookupEvents", args) + +""" + ListTrails() + +Lists trails that are in the current account. + +Optional Parameters +{ + "NextToken": "The token to use to get the next page of results after a previous API call. This token must be passed in with the same parameters that were specified in the the original call. For example, if the original call specified an AttributeKey of 'Username' with a value of 'root', the call with NextToken should include those same parameters." +} +""" +ListTrails() = cloudtrail("ListTrails") +ListTrails(args) = cloudtrail("ListTrails", args) + +""" + PutInsightSelectors() + +Lets you enable Insights event logging by specifying the Insights selectors that you want to enable on an existing trail. You also use PutInsightSelectors to turn off Insights event logging, by passing an empty list of insight types. In this release, only ApiCallRateInsight is supported as an Insights selector. + +Required Parameters +{ + "TrailName": "The name of the CloudTrail trail for which you want to change or add Insights selectors.", + "InsightSelectors": "A JSON string that contains the insight types you want to log on a trail. In this release, only ApiCallRateInsight is supported as an insight type." +} +""" +PutInsightSelectors(args) = cloudtrail("PutInsightSelectors", args) + +""" + StartLogging() + +Starts the recording of AWS API calls and log file delivery for a trail. For a trail that is enabled in all regions, this operation must be called from the region in which the trail was created. This operation cannot be called on the shadow trails (replicated trails in other regions) of a trail that is enabled in all regions. + +Required Parameters +{ + "Name": "Specifies the name or the CloudTrail ARN of the trail for which CloudTrail logs AWS API calls. The format of a trail ARN is: arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail " +} +""" +StartLogging(args) = cloudtrail("StartLogging", args) + +""" + GetInsightSelectors() + +Describes the settings for the Insights event selectors that you configured for your trail. GetInsightSelectors shows if CloudTrail Insights event logging is enabled on the trail, and if it is, which insight types are enabled. If you run GetInsightSelectors on a trail that does not have Insights events enabled, the operation throws the exception InsightNotEnabledException For more information, see Logging CloudTrail Insights Events for Trails in the AWS CloudTrail User Guide. + +Required Parameters +{ + "TrailName": "Specifies the name of the trail or trail ARN. If you specify a trail name, the string must meet the following requirements: Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscores (_), or dashes (-) Start with a letter or number, and end with a letter or number Be between 3 and 128 characters Have no adjacent periods, underscores or dashes. Names like my-_namespace and my--namespace are not valid. Not be in IP address format (for example, 192.168.5.4) If you specify a trail ARN, it must be in the format: arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail " +} +""" +GetInsightSelectors(args) = cloudtrail("GetInsightSelectors", args) + +""" + ListTags() + +Lists the tags for the trail in the current region. + +Required Parameters +{ + "ResourceIdList": "Specifies a list of trail ARNs whose tags will be listed. The list has a limit of 20 ARNs. The format of a trail ARN is: arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail " +} + +Optional Parameters +{ + "NextToken": "Reserved for future use." +} +""" +ListTags(args) = cloudtrail("ListTags", args) + +""" + AddTags() + +Adds one or more tags to a trail, up to a limit of 50. Overwrites an existing tag's value when a new value is specified for an existing tag key. Tag key names must be unique for a trail; you cannot have two keys with the same name but different values. If you specify a key without a value, the tag will be created with the specified key and a value of null. You can tag a trail that applies to all AWS Regions only from the Region in which the trail was created (also known as its home region). + +Required Parameters +{ + "ResourceId": "Specifies the ARN of the trail to which one or more tags will be added. The format of a trail ARN is: arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail " +} + +Optional Parameters +{ + "TagsList": "Contains a list of CloudTrail tags, up to a limit of 50" +} +""" +AddTags(args) = cloudtrail("AddTags", args) + +""" + GetTrailStatus() + +Returns a JSON-formatted list of information about the specified trail. Fields include information on delivery errors, Amazon SNS and Amazon S3 errors, and start and stop logging times for each trail. This operation returns trail status from a single region. To return trail status from all regions, you must call the operation on each region. + +Required Parameters +{ + "Name": "Specifies the name or the CloudTrail ARN of the trail for which you are requesting status. To get the status of a shadow trail (a replication of the trail in another region), you must specify its ARN. The format of a trail ARN is: arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail " +} +""" +GetTrailStatus(args) = cloudtrail("GetTrailStatus", args) + +""" + PutEventSelectors() + +Configures an event selector for your trail. Use event selectors to further specify the management and data event settings for your trail. By default, trails created without specific event selectors will be configured to log all read and write management events, and no data events. When an event occurs in your account, CloudTrail evaluates the event selectors in all trails. For each trail, if the event matches any event selector, the trail processes and logs the event. If the event doesn't match any event selector, the trail doesn't log the event. Example You create an event selector for a trail and specify that you want write-only events. The EC2 GetConsoleOutput and RunInstances API operations occur in your account. CloudTrail evaluates whether the events match your event selectors. The RunInstances is a write-only event and it matches your event selector. The trail logs the event. The GetConsoleOutput is a read-only event but it doesn't match your event selector. The trail doesn't log the event. The PutEventSelectors operation must be called from the region in which the trail was created; otherwise, an InvalidHomeRegionException is thrown. You can configure up to five event selectors for each trail. For more information, see Logging Data and Management Events for Trails and Limits in AWS CloudTrail in the AWS CloudTrail User Guide. + +Required Parameters +{ + "TrailName": "Specifies the name of the trail or trail ARN. If you specify a trail name, the string must meet the following requirements: Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscores (_), or dashes (-) Start with a letter or number, and end with a letter or number Be between 3 and 128 characters Have no adjacent periods, underscores or dashes. Names like my-_namespace and my--namespace are invalid. Not be in IP address format (for example, 192.168.5.4) If you specify a trail ARN, it must be in the format: arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail ", + "EventSelectors": "Specifies the settings for your event selectors. You can configure up to five event selectors for a trail." +} +""" +PutEventSelectors(args) = cloudtrail("PutEventSelectors", args) + +""" + GetEventSelectors() + +Describes the settings for the event selectors that you configured for your trail. The information returned for your event selectors includes the following: If your event selector includes read-only events, write-only events, or all events. This applies to both management events and data events. If your event selector includes management events. If your event selector includes data events, the Amazon S3 objects or AWS Lambda functions that you are logging for data events. For more information, see Logging Data and Management Events for Trails in the AWS CloudTrail User Guide. + +Required Parameters +{ + "TrailName": "Specifies the name of the trail or trail ARN. If you specify a trail name, the string must meet the following requirements: Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscores (_), or dashes (-) Start with a letter or number, and end with a letter or number Be between 3 and 128 characters Have no adjacent periods, underscores or dashes. Names like my-_namespace and my--namespace are not valid. Not be in IP address format (for example, 192.168.5.4) If you specify a trail ARN, it must be in the format: arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail " +} +""" +GetEventSelectors(args) = cloudtrail("GetEventSelectors", args) diff --git a/src/services/cloudwatch.jl b/src/services/cloudwatch.jl new file mode 100644 index 0000000000..398ec03a52 --- /dev/null +++ b/src/services/cloudwatch.jl @@ -0,0 +1,506 @@ +include("../AWSServices.jl") +using .AWSServices: cloudwatch + +""" + ListTagsForResource() + +Displays the tags associated with a CloudWatch resource. Alarms support tagging. + +Required Parameters +{ + "ResourceARN": "The ARN of the CloudWatch resource that you want to view tags for. For more information on ARN format, see Example ARNs in the Amazon Web Services General Reference." +} +""" +ListTagsForResource(args) = cloudwatch("ListTagsForResource", args) + +""" + GetMetricStatistics() + +Gets statistics for the specified metric. The maximum number of data points returned from a single call is 1,440. If you request more than 1,440 data points, CloudWatch returns an error. To reduce the number of data points, you can narrow the specified time range and make multiple requests across adjacent time ranges, or you can increase the specified period. Data points are not returned in chronological order. CloudWatch aggregates data points based on the length of the period that you specify. For example, if you request statistics with a one-hour period, CloudWatch aggregates all data points with time stamps that fall within each one-hour period. Therefore, the number of values aggregated by CloudWatch is larger than the number of data points returned. CloudWatch needs raw data points to calculate percentile statistics. If you publish data using a statistic set instead, you can only retrieve percentile statistics for this data if one of the following conditions is true: The SampleCount value of the statistic set is 1. The Min and the Max values of the statistic set are equal. Percentile statistics are not available for metrics when any of the metric values are negative numbers. Amazon CloudWatch retains metric data as follows: Data points with a period of less than 60 seconds are available for 3 hours. These data points are high-resolution metrics and are available only for custom metrics that have been defined with a StorageResolution of 1. Data points with a period of 60 seconds (1-minute) are available for 15 days. Data points with a period of 300 seconds (5-minute) are available for 63 days. Data points with a period of 3600 seconds (1 hour) are available for 455 days (15 months). Data points that are initially published with a shorter period are aggregated together for long-term storage. For example, if you collect data using a period of 1 minute, the data remains available for 15 days with 1-minute resolution. After 15 days, this data is still available, but is aggregated and retrievable only with a resolution of 5 minutes. After 63 days, the data is further aggregated and is available with a resolution of 1 hour. CloudWatch started retaining 5-minute and 1-hour metric data as of July 9, 2016. For information about metrics and dimensions supported by AWS services, see the Amazon CloudWatch Metrics and Dimensions Reference in the Amazon CloudWatch User Guide. + +Required Parameters +{ + "StartTime": "The time stamp that determines the first data point to return. Start times are evaluated relative to the time that CloudWatch receives the request. The value specified is inclusive; results include data points with the specified time stamp. In a raw HTTP query, the time stamp must be in ISO 8601 UTC format (for example, 2016-10-03T23:00:00Z). CloudWatch rounds the specified time stamp as follows: Start time less than 15 days ago - Round down to the nearest whole minute. For example, 12:32:34 is rounded down to 12:32:00. Start time between 15 and 63 days ago - Round down to the nearest 5-minute clock interval. For example, 12:32:34 is rounded down to 12:30:00. Start time greater than 63 days ago - Round down to the nearest 1-hour clock interval. For example, 12:32:34 is rounded down to 12:00:00. If you set Period to 5, 10, or 30, the start time of your request is rounded down to the nearest time that corresponds to even 5-, 10-, or 30-second divisions of a minute. For example, if you make a query at (HH:mm:ss) 01:05:23 for the previous 10-second period, the start time of your request is rounded down and you receive data from 01:05:10 to 01:05:20. If you make a query at 15:07:17 for the previous 5 minutes of data, using a period of 5 seconds, you receive data timestamped between 15:02:15 and 15:07:15. ", + "Period": "The granularity, in seconds, of the returned data points. For metrics with regular resolution, a period can be as short as one minute (60 seconds) and must be a multiple of 60. For high-resolution metrics that are collected at intervals of less than one minute, the period can be 1, 5, 10, 30, 60, or any multiple of 60. High-resolution metrics are those metrics stored by a PutMetricData call that includes a StorageResolution of 1 second. If the StartTime parameter specifies a time stamp that is greater than 3 hours ago, you must specify the period as follows or no data points in that time range is returned: Start time between 3 hours and 15 days ago - Use a multiple of 60 seconds (1 minute). Start time between 15 and 63 days ago - Use a multiple of 300 seconds (5 minutes). Start time greater than 63 days ago - Use a multiple of 3600 seconds (1 hour). ", + "EndTime": "The time stamp that determines the last data point to return. The value specified is exclusive; results include data points up to the specified time stamp. In a raw HTTP query, the time stamp must be in ISO 8601 UTC format (for example, 2016-10-10T23:00:00Z).", + "MetricName": "The name of the metric, with or without spaces.", + "Namespace": "The namespace of the metric, with or without spaces." +} + +Optional Parameters +{ + "Statistics": "The metric statistics, other than percentile. For percentile statistics, use ExtendedStatistics. When calling GetMetricStatistics, you must specify either Statistics or ExtendedStatistics, but not both.", + "ExtendedStatistics": "The percentile statistics. Specify values between p0.0 and p100. When calling GetMetricStatistics, you must specify either Statistics or ExtendedStatistics, but not both. Percentile statistics are not available for metrics when any of the metric values are negative numbers.", + "Dimensions": "The dimensions. If the metric contains multiple dimensions, you must include a value for each dimension. CloudWatch treats each unique combination of dimensions as a separate metric. If a specific combination of dimensions was not published, you can't retrieve statistics for it. You must specify the same dimensions that were used when the metrics were created. For an example, see Dimension Combinations in the Amazon CloudWatch User Guide. For more information about specifying dimensions, see Publishing Metrics in the Amazon CloudWatch User Guide.", + "Unit": "The unit for a given metric. If you omit Unit, all data that was collected with any unit is returned, along with the corresponding units that were specified when the data was reported to CloudWatch. If you specify a unit, the operation returns only data data that was collected with that unit specified. If you specify a unit that does not match the data collected, the results of the operation are null. CloudWatch does not perform unit conversions." +} +""" +GetMetricStatistics(args) = cloudwatch("GetMetricStatistics", args) + +""" + ListMetrics() + +List the specified metrics. You can use the returned metrics with GetMetricData or GetMetricStatistics to obtain statistical data. Up to 500 results are returned for any one call. To retrieve additional results, use the returned token with subsequent calls. After you create a metric, allow up to fifteen minutes before the metric appears. Statistics about the metric, however, are available sooner using GetMetricData or GetMetricStatistics. + +Optional Parameters +{ + "Dimensions": "The dimensions to filter against.", + "NextToken": "The token returned by a previous call to indicate that there is more data available.", + "MetricName": "The name of the metric to filter against.", + "Namespace": "The namespace to filter against." +} +""" +ListMetrics() = cloudwatch("ListMetrics") +ListMetrics(args) = cloudwatch("ListMetrics", args) + +""" + SetAlarmState() + +Temporarily sets the state of an alarm for testing purposes. When the updated state differs from the previous value, the action configured for the appropriate state is invoked. For example, if your alarm is configured to send an Amazon SNS message when an alarm is triggered, temporarily changing the alarm state to ALARM sends an SNS message. Metric alarms returns to their actual state quickly, often within seconds. Because the metric alarm state change happens quickly, it is typically only visible in the alarm's History tab in the Amazon CloudWatch console or through DescribeAlarmHistory. If you use SetAlarmState on a composite alarm, the composite alarm is not guaranteed to return to its actual state. It will return to its actual state only once any of its children alarms change state. It is also re-evaluated if you update its configuration. If an alarm triggers EC2 Auto Scaling policies or application Auto Scaling policies, you must include information in the StateReasonData parameter to enable the policy to take the correct action. + +Required Parameters +{ + "AlarmName": "The name for the alarm. This name must be unique within the AWS account. The maximum length is 255 characters.", + "StateValue": "The value of the state.", + "StateReason": "The reason that this alarm is set to this specific state, in text format." +} + +Optional Parameters +{ + "StateReasonData": "The reason that this alarm is set to this specific state, in JSON format. For SNS or EC2 alarm actions, this is just informational. But for EC2 Auto Scaling or application Auto Scaling alarm actions, the Auto Scaling policy uses the information in this field to take the correct action." +} +""" +SetAlarmState(args) = cloudwatch("SetAlarmState", args) + +""" + DescribeAlarms() + +Retrieves the specified alarms. You can filter the results by specifying a a prefix for the alarm name, the alarm state, or a prefix for any action. + +Optional Parameters +{ + "ParentsOfAlarmName": "If you use this parameter and specify the name of a metric or composite alarm, the operation returns information about the \"parent\" alarms of the alarm you specify. These are the composite alarms that have AlarmRule parameters that reference the alarm named in ParentsOfAlarmName. Information about the alarm that you specify in ParentsOfAlarmName is not returned. If you specify ParentsOfAlarmName, you cannot specify any other parameters in the request except for MaxRecords and NextToken. If you do so, you will receive a validation error. Only the Alarm Name and ARN are returned by this operation when you use this parameter. To get complete information about these alarms, perform another DescribeAlarms operation and specify the parent alarm names in the AlarmNames parameter. ", + "StateValue": "Specify this parameter to receive information only about alarms that are currently in the state that you specify.", + "MaxRecords": "The maximum number of alarm descriptions to retrieve.", + "NextToken": "The token returned by a previous call to indicate that there is more data available.", + "AlarmTypes": "Use this parameter to specify whether you want the operation to return metric alarms or composite alarms. If you omit this parameter, only metric alarms are returned.", + "AlarmNames": "The names of the alarms to retrieve information about.", + "ActionPrefix": "Use this parameter to filter the results of the operation to only those alarms that use a certain alarm action. For example, you could specify the ARN of an SNS topic to find all alarms that send notifications to that topic.", + "AlarmNamePrefix": "An alarm name prefix. If you specify this parameter, you receive information about all alarms that have names that start with this prefix. If this parameter is specified, you cannot specify AlarmNames.", + "ChildrenOfAlarmName": "If you use this parameter and specify the name of a composite alarm, the operation returns information about the \"children\" alarms of the alarm you specify. These are the metric alarms and composite alarms referenced in the AlarmRule field of the composite alarm that you specify in ChildrenOfAlarmName. Information about the composite alarm that you name in ChildrenOfAlarmName is not returned. If you specify ChildrenOfAlarmName, you cannot specify any other parameters in the request except for MaxRecords and NextToken. If you do so, you will receive a validation error. Only the Alarm Name, ARN, StateValue (OK/ALARM/INSUFFICIENT_DATA), and StateUpdatedTimestamp information are returned by this operation when you use this parameter. To get complete information about these alarms, perform another DescribeAlarms operation and specify the parent alarm names in the AlarmNames parameter. " +} +""" +DescribeAlarms() = cloudwatch("DescribeAlarms") +DescribeAlarms(args) = cloudwatch("DescribeAlarms", args) + +""" + PutCompositeAlarm() + +Creates or updates a composite alarm. When you create a composite alarm, you specify a rule expression for the alarm that takes into account the alarm states of other alarms that you have created. The composite alarm goes into ALARM state only if all conditions of the rule are met. The alarms specified in a composite alarm's rule expression can include metric alarms and other composite alarms. Using composite alarms can reduce alarm noise. You can create multiple metric alarms, and also create a composite alarm and set up alerts only for the composite alarm. For example, you could create a composite alarm that goes into ALARM state only when more than one of the underlying metric alarms are in ALARM state. Currently, the only alarm actions that can be taken by composite alarms are notifying SNS topics. It is possible to create a loop or cycle of composite alarms, where composite alarm A depends on composite alarm B, and composite alarm B also depends on composite alarm A. In this scenario, you can't delete any composite alarm that is part of the cycle because there is always still a composite alarm that depends on that alarm that you want to delete. To get out of such a situation, you must break the cycle by changing the rule of one of the composite alarms in the cycle to remove a dependency that creates the cycle. The simplest change to make to break a cycle is to change the AlarmRule of one of the alarms to False. Additionally, the evaluation of composite alarms stops if CloudWatch detects a cycle in the evaluation path. When this operation creates an alarm, the alarm state is immediately set to INSUFFICIENT_DATA. The alarm is then evaluated and its state is set appropriately. Any actions associated with the new state are then executed. For a composite alarm, this initial time after creation is the only time that the alarm can be in INSUFFICIENT_DATA state. When you update an existing alarm, its state is left unchanged, but the update completely overwrites the previous configuration of the alarm. + +Required Parameters +{ + "AlarmName": "The name for the composite alarm. This name must be unique within your AWS account.", + "AlarmRule": "An expression that specifies which other alarms are to be evaluated to determine this composite alarm's state. For each alarm that you reference, you designate a function that specifies whether that alarm needs to be in ALARM state, OK state, or INSUFFICIENT_DATA state. You can use operators (AND, OR and NOT) to combine multiple functions in a single expression. You can use parenthesis to logically group the functions in your expression. You can use either alarm names or ARNs to reference the other alarms that are to be evaluated. Functions can include the following: ALARM(\"alarm-name or alarm-ARN\") is TRUE if the named alarm is in ALARM state. OK(\"alarm-name or alarm-ARN\") is TRUE if the named alarm is in OK state. INSUFFICIENT_DATA(\"alarm-name or alarm-ARN\") is TRUE if the named alarm is in INSUFFICIENT_DATA state. TRUE always evaluates to TRUE. FALSE always evaluates to FALSE. TRUE and FALSE are useful for testing a complex AlarmRule structure, and for testing your alarm actions. Alarm names specified in AlarmRule can be surrounded with double-quotes (\"), but do not have to be. The following are some examples of AlarmRule: ALARM(CPUUtilizationTooHigh) AND ALARM(DiskReadOpsTooHigh) specifies that the composite alarm goes into ALARM state only if both CPUUtilizationTooHigh and DiskReadOpsTooHigh alarms are in ALARM state. ALARM(CPUUtilizationTooHigh) AND NOT ALARM(DeploymentInProgress) specifies that the alarm goes to ALARM state if CPUUtilizationTooHigh is in ALARM state and DeploymentInProgress is not in ALARM state. This example reduces alarm noise during a known deployment window. (ALARM(CPUUtilizationTooHigh) OR ALARM(DiskReadOpsTooHigh)) AND OK(NetworkOutTooHigh) goes into ALARM state if CPUUtilizationTooHigh OR DiskReadOpsTooHigh is in ALARM state, and if NetworkOutTooHigh is in OK state. This provides another example of using a composite alarm to prevent noise. This rule ensures that you are not notified with an alarm action on high CPU or disk usage if a known network problem is also occurring. The AlarmRule can specify as many as 100 \"children\" alarms. The AlarmRule expression can have as many as 500 elements. Elements are child alarms, TRUE or FALSE statements, and parentheses." +} + +Optional Parameters +{ + "ActionsEnabled": "Indicates whether actions should be executed during any changes to the alarm state of the composite alarm. The default is TRUE.", + "InsufficientDataActions": "The actions to execute when this alarm transitions to the INSUFFICIENT_DATA state from any other state. Each action is specified as an Amazon Resource Name (ARN). Valid Values: arn:aws:sns:region:account-id:sns-topic-name ", + "Tags": "A list of key-value pairs to associate with the composite alarm. You can associate as many as 50 tags with an alarm. Tags can help you organize and categorize your resources. You can also use them to scope user permissions, by granting a user permission to access or change only resources with certain tag values.", + "AlarmActions": "The actions to execute when this alarm transitions to the ALARM state from any other state. Each action is specified as an Amazon Resource Name (ARN). Valid Values: arn:aws:sns:region:account-id:sns-topic-name ", + "AlarmDescription": "The description for the composite alarm.", + "OKActions": "The actions to execute when this alarm transitions to an OK state from any other state. Each action is specified as an Amazon Resource Name (ARN). Valid Values: arn:aws:sns:region:account-id:sns-topic-name " +} +""" +PutCompositeAlarm(args) = cloudwatch("PutCompositeAlarm", args) + +""" + EnableInsightRules() + +Enables the specified Contributor Insights rules. When rules are enabled, they immediately begin analyzing log data. + +Required Parameters +{ + "RuleNames": "An array of the rule names to enable. If you need to find out the names of your rules, use DescribeInsightRules." +} +""" +EnableInsightRules(args) = cloudwatch("EnableInsightRules", args) + +""" + DescribeAlarmHistory() + +Retrieves the history for the specified alarm. You can filter the results by date range or item type. If an alarm name is not specified, the histories for either all metric alarms or all composite alarms are returned. CloudWatch retains the history of an alarm even if you delete the alarm. + +Optional Parameters +{ + "AlarmName": "The name of the alarm.", + "EndDate": "The ending date to retrieve alarm history.", + "MaxRecords": "The maximum number of alarm history records to retrieve.", + "NextToken": "The token returned by a previous call to indicate that there is more data available.", + "ScanBy": "Specified whether to return the newest or oldest alarm history first. Specify TimestampDescending to have the newest event history returned first, and specify TimestampAscending to have the oldest history returned first.", + "StartDate": "The starting date to retrieve alarm history.", + "AlarmTypes": "Use this parameter to specify whether you want the operation to return metric alarms or composite alarms. If you omit this parameter, only metric alarms are returned.", + "HistoryItemType": "The type of alarm histories to retrieve." +} +""" +DescribeAlarmHistory() = cloudwatch("DescribeAlarmHistory") +DescribeAlarmHistory(args) = cloudwatch("DescribeAlarmHistory", args) + +""" + PutMetricAlarm() + +Creates or updates an alarm and associates it with the specified metric, metric math expression, or anomaly detection model. Alarms based on anomaly detection models cannot have Auto Scaling actions. When this operation creates an alarm, the alarm state is immediately set to INSUFFICIENT_DATA. The alarm is then evaluated and its state is set appropriately. Any actions associated with the new state are then executed. When you update an existing alarm, its state is left unchanged, but the update completely overwrites the previous configuration of the alarm. If you are an IAM user, you must have Amazon EC2 permissions for some alarm operations: iam:CreateServiceLinkedRole for all alarms with EC2 actions ec2:DescribeInstanceStatus and ec2:DescribeInstances for all alarms on EC2 instance status metrics ec2:StopInstances for alarms with stop actions ec2:TerminateInstances for alarms with terminate actions No specific permissions are needed for alarms with recover actions If you have read/write permissions for Amazon CloudWatch but not for Amazon EC2, you can still create an alarm, but the stop or terminate actions are not performed. However, if you are later granted the required permissions, the alarm actions that you created earlier are performed. If you are using an IAM role (for example, an EC2 instance profile), you cannot stop or terminate the instance using alarm actions. However, you can still see the alarm state and perform any other actions such as Amazon SNS notifications or Auto Scaling policies. If you are using temporary security credentials granted using AWS STS, you cannot stop or terminate an EC2 instance using alarm actions. The first time you create an alarm in the AWS Management Console, the CLI, or by using the PutMetricAlarm API, CloudWatch creates the necessary service-linked role for you. The service-linked role is called AWSServiceRoleForCloudWatchEvents. For more information, see AWS service-linked role. + +Required Parameters +{ + "AlarmName": "The name for the alarm. This name must be unique within your AWS account.", + "EvaluationPeriods": "The number of periods over which data is compared to the specified threshold. If you are setting an alarm that requires that a number of consecutive data points be breaching to trigger the alarm, this value specifies that number. If you are setting an \"M out of N\" alarm, this value is the N. An alarm's total current evaluation period can be no longer than one day, so this number multiplied by Period cannot be more than 86,400 seconds.", + "ComparisonOperator": " The arithmetic operation to use when comparing the specified statistic and threshold. The specified statistic value is used as the first operand. The values LessThanLowerOrGreaterThanUpperThreshold, LessThanLowerThreshold, and GreaterThanUpperThreshold are used only for alarms based on anomaly detection models." +} + +Optional Parameters +{ + "Statistic": "The statistic for the metric specified in MetricName, other than percentile. For percentile statistics, use ExtendedStatistic. When you call PutMetricAlarm and specify a MetricName, you must specify either Statistic or ExtendedStatistic, but not both.", + "InsufficientDataActions": "The actions to execute when this alarm transitions to the INSUFFICIENT_DATA state from any other state. Each action is specified as an Amazon Resource Name (ARN). Valid Values: arn:aws:automate:region:ec2:stop | arn:aws:automate:region:ec2:terminate | arn:aws:automate:region:ec2:recover | arn:aws:automate:region:ec2:reboot | arn:aws:sns:region:account-id:sns-topic-name | arn:aws:autoscaling:region:account-id:scalingPolicy:policy-id:autoScalingGroupName/group-friendly-name:policyName/policy-friendly-name Valid Values (for use with IAM roles): >arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Stop/1.0 | arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Terminate/1.0 | arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Reboot/1.0 ", + "Dimensions": "The dimensions for the metric specified in MetricName.", + "DatapointsToAlarm": "The number of data points that must be breaching to trigger the alarm. This is used only if you are setting an \"M out of N\" alarm. In that case, this value is the M. For more information, see Evaluating an Alarm in the Amazon CloudWatch User Guide.", + "ExtendedStatistic": "The percentile statistic for the metric specified in MetricName. Specify a value between p0.0 and p100. When you call PutMetricAlarm and specify a MetricName, you must specify either Statistic or ExtendedStatistic, but not both.", + "Period": "The length, in seconds, used each time the metric specified in MetricName is evaluated. Valid values are 10, 30, and any multiple of 60. Period is required for alarms based on static thresholds. If you are creating an alarm based on a metric math expression, you specify the period for each metric within the objects in the Metrics array. Be sure to specify 10 or 30 only for metrics that are stored by a PutMetricData call with a StorageResolution of 1. If you specify a period of 10 or 30 for a metric that does not have sub-minute resolution, the alarm still attempts to gather data at the period rate that you specify. In this case, it does not receive data for the attempts that do not correspond to a one-minute data resolution, and the alarm may often lapse into INSUFFICENT_DATA status. Specifying 10 or 30 also sets this alarm as a high-resolution alarm, which has a higher charge than other alarms. For more information about pricing, see Amazon CloudWatch Pricing. An alarm's total current evaluation period can be no longer than one day, so Period multiplied by EvaluationPeriods cannot be more than 86,400 seconds.", + "Unit": "The unit of measure for the statistic. For example, the units for the Amazon EC2 NetworkIn metric are Bytes because NetworkIn tracks the number of bytes that an instance receives on all network interfaces. You can also specify a unit when you create a custom metric. Units help provide conceptual meaning to your data. Metric data points that specify a unit of measure, such as Percent, are aggregated separately. If you don't specify Unit, CloudWatch retrieves all unit types that have been published for the metric and attempts to evaluate the alarm. Usually metrics are published with only one unit, so the alarm will work as intended. However, if the metric is published with multiple types of units and you don't specify a unit, the alarm's behavior is not defined and will behave un-predictably. We recommend omitting Unit so that you don't inadvertently specify an incorrect unit that is not published for this metric. Doing so causes the alarm to be stuck in the INSUFFICIENT DATA state.", + "ActionsEnabled": "Indicates whether actions should be executed during any changes to the alarm state. The default is TRUE.", + "Tags": "A list of key-value pairs to associate with the alarm. You can associate as many as 50 tags with an alarm. Tags can help you organize and categorize your resources. You can also use them to scope user permissions, by granting a user permission to access or change only resources with certain tag values.", + "TreatMissingData": " Sets how this alarm is to handle missing data points. If TreatMissingData is omitted, the default behavior of missing is used. For more information, see Configuring How CloudWatch Alarms Treats Missing Data. Valid Values: breaching | notBreaching | ignore | missing ", + "AlarmDescription": "The description for the alarm.", + "OKActions": "The actions to execute when this alarm transitions to an OK state from any other state. Each action is specified as an Amazon Resource Name (ARN). Valid Values: arn:aws:automate:region:ec2:stop | arn:aws:automate:region:ec2:terminate | arn:aws:automate:region:ec2:recover | arn:aws:automate:region:ec2:reboot | arn:aws:sns:region:account-id:sns-topic-name | arn:aws:autoscaling:region:account-id:scalingPolicy:policy-id:autoScalingGroupName/group-friendly-name:policyName/policy-friendly-name Valid Values (for use with IAM roles): arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Stop/1.0 | arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Terminate/1.0 | arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Reboot/1.0 ", + "EvaluateLowSampleCountPercentile": " Used only for alarms based on percentiles. If you specify ignore, the alarm state does not change during periods with too few data points to be statistically significant. If you specify evaluate or omit this parameter, the alarm is always evaluated and possibly changes state no matter how many data points are available. For more information, see Percentile-Based CloudWatch Alarms and Low Data Samples. Valid Values: evaluate | ignore ", + "AlarmActions": "The actions to execute when this alarm transitions to the ALARM state from any other state. Each action is specified as an Amazon Resource Name (ARN). Valid Values: arn:aws:automate:region:ec2:stop | arn:aws:automate:region:ec2:terminate | arn:aws:automate:region:ec2:recover | arn:aws:automate:region:ec2:reboot | arn:aws:sns:region:account-id:sns-topic-name | arn:aws:autoscaling:region:account-id:scalingPolicy:policy-id:autoScalingGroupName/group-friendly-name:policyName/policy-friendly-name Valid Values (for use with IAM roles): arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Stop/1.0 | arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Terminate/1.0 | arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Reboot/1.0 ", + "MetricName": "The name for the metric associated with the alarm. For each PutMetricAlarm operation, you must specify either MetricName or a Metrics array. If you are creating an alarm based on a math expression, you cannot specify this parameter, or any of the Dimensions, Period, Namespace, Statistic, or ExtendedStatistic parameters. Instead, you specify all this information in the Metrics array.", + "Metrics": "An array of MetricDataQuery structures that enable you to create an alarm based on the result of a metric math expression. For each PutMetricAlarm operation, you must specify either MetricName or a Metrics array. Each item in the Metrics array either retrieves a metric or performs a math expression. One item in the Metrics array is the expression that the alarm watches. You designate this expression by setting ReturnValue to true for this object in the array. For more information, see MetricDataQuery. If you use the Metrics parameter, you cannot include the MetricName, Dimensions, Period, Namespace, Statistic, or ExtendedStatistic parameters of PutMetricAlarm in the same operation. Instead, you retrieve the metrics you are using in your math expression as part of the Metrics array.", + "ThresholdMetricId": "If this is an alarm based on an anomaly detection model, make this value match the ID of the ANOMALY_DETECTION_BAND function. For an example of how to use this parameter, see the Anomaly Detection Model Alarm example on this page. If your alarm uses this parameter, it cannot have Auto Scaling actions.", + "Threshold": "The value against which the specified statistic is compared. This parameter is required for alarms based on static thresholds, but should not be used for alarms based on anomaly detection models.", + "Namespace": "The namespace for the metric associated specified in MetricName." +} +""" +PutMetricAlarm(args) = cloudwatch("PutMetricAlarm", args) + +""" + PutAnomalyDetector() + +Creates an anomaly detection model for a CloudWatch metric. You can use the model to display a band of expected normal values when the metric is graphed. For more information, see CloudWatch Anomaly Detection. + +Required Parameters +{ + "Stat": "The statistic to use for the metric and the anomaly detection model.", + "MetricName": "The name of the metric to create the anomaly detection model for.", + "Namespace": "The namespace of the metric to create the anomaly detection model for." +} + +Optional Parameters +{ + "Configuration": "The configuration specifies details about how the anomaly detection model is to be trained, including time ranges to exclude when training and updating the model. You can specify as many as 10 time ranges. The configuration can also include the time zone to use for the metric. You can in", + "Dimensions": "The metric dimensions to create the anomaly detection model for." +} +""" +PutAnomalyDetector(args) = cloudwatch("PutAnomalyDetector", args) + +""" + EnableAlarmActions() + +Enables the actions for the specified alarms. + +Required Parameters +{ + "AlarmNames": "The names of the alarms." +} +""" +EnableAlarmActions(args) = cloudwatch("EnableAlarmActions", args) + +""" + PutInsightRule() + +Creates a Contributor Insights rule. Rules evaluate log events in a CloudWatch Logs log group, enabling you to find contributor data for the log events in that log group. For more information, see Using Contributor Insights to Analyze High-Cardinality Data. If you create a rule, delete it, and then re-create it with the same name, historical data from the first time the rule was created may or may not be available. + +Required Parameters +{ + "RuleDefinition": "The definition of the rule, as a JSON object. For details on the valid syntax, see Contributor Insights Rule Syntax.", + "RuleName": "A unique name for the rule." +} + +Optional Parameters +{ + "RuleState": "The state of the rule. Valid values are ENABLED and DISABLED." +} +""" +PutInsightRule(args) = cloudwatch("PutInsightRule", args) + +""" + GetMetricWidgetImage() + +You can use the GetMetricWidgetImage API to retrieve a snapshot graph of one or more Amazon CloudWatch metrics as a bitmap image. You can then embed this image into your services and products, such as wiki pages, reports, and documents. You could also retrieve images regularly, such as every minute, and create your own custom live dashboard. The graph you retrieve can include all CloudWatch metric graph features, including metric math and horizontal and vertical annotations. There is a limit of 20 transactions per second for this API. Each GetMetricWidgetImage action has the following limits: As many as 100 metrics in the graph. Up to 100 KB uncompressed payload. + +Required Parameters +{ + "MetricWidget": "A JSON string that defines the bitmap graph to be retrieved. The string includes the metrics to include in the graph, statistics, annotations, title, axis limits, and so on. You can include only one MetricWidget parameter in each GetMetricWidgetImage call. For more information about the syntax of MetricWidget see GetMetricWidgetImage: Metric Widget Structure and Syntax. If any metric on the graph could not load all the requested data points, an orange triangle with an exclamation point appears next to the graph legend." +} + +Optional Parameters +{ + "OutputFormat": "The format of the resulting image. Only PNG images are supported. The default is png. If you specify png, the API returns an HTTP response with the content-type set to text/xml. The image data is in a MetricWidgetImage field. For example: <GetMetricWidgetImageResponse xmlns=<URLstring>> <GetMetricWidgetImageResult> <MetricWidgetImage> iVBORw0KGgoAAAANSUhEUgAAAlgAAAGQEAYAAAAip... </MetricWidgetImage> </GetMetricWidgetImageResult> <ResponseMetadata> <RequestId>6f0d4192-4d42-11e8-82c1-f539a07e0e3b</RequestId> </ResponseMetadata> </GetMetricWidgetImageResponse> The image/png setting is intended only for custom HTTP requests. For most use cases, and all actions using an AWS SDK, you should use png. If you specify image/png, the HTTP response has a content-type set to image/png, and the body of the response is a PNG image. " +} +""" +GetMetricWidgetImage(args) = cloudwatch("GetMetricWidgetImage", args) + +""" + TagResource() + +Assigns one or more tags (key-value pairs) to the specified CloudWatch resource. Currently, the only CloudWatch resources that can be tagged are alarms. Tags can help you organize and categorize your resources. You can also use them to scope user permissions, by granting a user permission to access or change only resources with certain tag values. Tags don't have any semantic meaning to AWS and are interpreted strictly as strings of characters. You can use the TagResource action with an alarm that already has tags. If you specify a new tag key for the alarm, this tag is appended to the list of tags associated with the alarm. If you specify a tag key that is already associated with the alarm, the new tag value that you specify replaces the previous value for that tag. You can associate as many as 50 tags with a resource. + +Required Parameters +{ + "ResourceARN": "The ARN of the CloudWatch alarm that you're adding tags to. The ARN format is arn:aws:cloudwatch:Region:account-id:alarm:alarm-name ", + "Tags": "The list of key-value pairs to associate with the alarm." +} +""" +TagResource(args) = cloudwatch("TagResource", args) + +""" + DescribeAnomalyDetectors() + +Lists the anomaly detection models that you have created in your account. You can list all models in your account or filter the results to only the models that are related to a certain namespace, metric name, or metric dimension. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return in one operation. The maximum value that you can specify is 100. To retrieve the remaining results, make another call with the returned NextToken value. ", + "NextToken": "Use the token returned by the previous operation to request the next page of results.", + "Dimensions": "Limits the results to only the anomaly detection models that are associated with the specified metric dimensions. If there are multiple metrics that have these dimensions and have anomaly detection models associated, they're all returned.", + "MetricName": "Limits the results to only the anomaly detection models that are associated with the specified metric name. If there are multiple metrics with this name in different namespaces that have anomaly detection models, they're all returned.", + "Namespace": "Limits the results to only the anomaly detection models that are associated with the specified namespace." +} +""" +DescribeAnomalyDetectors() = cloudwatch("DescribeAnomalyDetectors") +DescribeAnomalyDetectors(args) = cloudwatch("DescribeAnomalyDetectors", args) + +""" + DisableInsightRules() + +Disables the specified Contributor Insights rules. When rules are disabled, they do not analyze log groups and do not incur costs. + +Required Parameters +{ + "RuleNames": "An array of the rule names to disable. If you need to find out the names of your rules, use DescribeInsightRules." +} +""" +DisableInsightRules(args) = cloudwatch("DisableInsightRules", args) + +""" + DeleteDashboards() + +Deletes all dashboards that you specify. You may specify up to 100 dashboards to delete. If there is an error during this call, no dashboards are deleted. + +Required Parameters +{ + "DashboardNames": "The dashboards to be deleted. This parameter is required." +} +""" +DeleteDashboards(args) = cloudwatch("DeleteDashboards", args) + +""" + UntagResource() + +Removes one or more tags from the specified resource. + +Required Parameters +{ + "ResourceARN": "The ARN of the CloudWatch resource that you're removing tags from. For more information on ARN format, see Example ARNs in the Amazon Web Services General Reference.", + "TagKeys": "The list of tag keys to remove from the resource." +} +""" +UntagResource(args) = cloudwatch("UntagResource", args) + +""" + DisableAlarmActions() + +Disables the actions for the specified alarms. When an alarm's actions are disabled, the alarm actions do not execute when the alarm state changes. + +Required Parameters +{ + "AlarmNames": "The names of the alarms." +} +""" +DisableAlarmActions(args) = cloudwatch("DisableAlarmActions", args) + +""" + GetDashboard() + +Displays the details of the dashboard that you specify. To copy an existing dashboard, use GetDashboard, and then use the data returned within DashboardBody as the template for the new dashboard when you call PutDashboard to create the copy. + +Required Parameters +{ + "DashboardName": "The name of the dashboard to be described." +} +""" +GetDashboard(args) = cloudwatch("GetDashboard", args) + +""" + PutDashboard() + +Creates a dashboard if it does not already exist, or updates an existing dashboard. If you update a dashboard, the entire contents are replaced with what you specify here. All dashboards in your account are global, not region-specific. A simple way to create a dashboard using PutDashboard is to copy an existing dashboard. To copy an existing dashboard using the console, you can load the dashboard and then use the View/edit source command in the Actions menu to display the JSON block for that dashboard. Another way to copy a dashboard is to use GetDashboard, and then use the data returned within DashboardBody as the template for the new dashboard when you call PutDashboard. When you create a dashboard with PutDashboard, a good practice is to add a text widget at the top of the dashboard with a message that the dashboard was created by script and should not be changed in the console. This message could also point console users to the location of the DashboardBody script or the CloudFormation template used to create the dashboard. + +Required Parameters +{ + "DashboardBody": "The detailed information about the dashboard in JSON format, including the widgets to include and their location on the dashboard. This parameter is required. For more information about the syntax, see Dashboard Body Structure and Syntax.", + "DashboardName": "The name of the dashboard. If a dashboard with this name already exists, this call modifies that dashboard, replacing its current contents. Otherwise, a new dashboard is created. The maximum length is 255, and valid characters are A-Z, a-z, 0-9, \"-\", and \"_\". This parameter is required." +} +""" +PutDashboard(args) = cloudwatch("PutDashboard", args) + +""" + DescribeInsightRules() + +Returns a list of all the Contributor Insights rules in your account. All rules in your account are returned with a single operation. For more information about Contributor Insights, see Using Contributor Insights to Analyze High-Cardinality Data. + +Optional Parameters +{ + "MaxResults": "This parameter is not currently used. Reserved for future use. If it is used in the future, the maximum value may be different.", + "NextToken": "Reserved for future use." +} +""" +DescribeInsightRules() = cloudwatch("DescribeInsightRules") +DescribeInsightRules(args) = cloudwatch("DescribeInsightRules", args) + +""" + ListDashboards() + +Returns a list of the dashboards for your account. If you include DashboardNamePrefix, only those dashboards with names starting with the prefix are listed. Otherwise, all dashboards in your account are listed. ListDashboards returns up to 1000 results on one page. If there are more than 1000 dashboards, you can call ListDashboards again and include the value you received for NextToken in the first call, to receive the next 1000 results. + +Optional Parameters +{ + "NextToken": "The token returned by a previous call to indicate that there is more data available.", + "DashboardNamePrefix": "If you specify this parameter, only the dashboards with names starting with the specified string are listed. The maximum length is 255, and valid characters are A-Z, a-z, 0-9, \".\", \"-\", and \"_\". " +} +""" +ListDashboards() = cloudwatch("ListDashboards") +ListDashboards(args) = cloudwatch("ListDashboards", args) + +""" + GetInsightRuleReport() + +This operation returns the time series data collected by a Contributor Insights rule. The data includes the identity and number of contributors to the log group. You can also optionally return one or more statistics about each data point in the time series. These statistics can include the following: UniqueContributors -- the number of unique contributors for each data point. MaxContributorValue -- the value of the top contributor for each data point. The identity of the contributor may change for each data point in the graph. If this rule aggregates by COUNT, the top contributor for each data point is the contributor with the most occurrences in that period. If the rule aggregates by SUM, the top contributor is the contributor with the highest sum in the log field specified by the rule's Value, during that period. SampleCount -- the number of data points matched by the rule. Sum -- the sum of the values from all contributors during the time period represented by that data point. Minimum -- the minimum value from a single observation during the time period represented by that data point. Maximum -- the maximum value from a single observation during the time period represented by that data point. Average -- the average value from all contributors during the time period represented by that data point. + +Required Parameters +{ + "StartTime": "The start time of the data to use in the report. When used in a raw HTTP Query API, it is formatted as yyyy-MM-dd'T'HH:mm:ss. For example, 2019-07-01T23:59:59.", + "Period": "The period, in seconds, to use for the statistics in the InsightRuleMetricDatapoint results.", + "EndTime": "The end time of the data to use in the report. When used in a raw HTTP Query API, it is formatted as yyyy-MM-dd'T'HH:mm:ss. For example, 2019-07-01T23:59:59.", + "RuleName": "The name of the rule that you want to see data from." +} + +Optional Parameters +{ + "OrderBy": "Determines what statistic to use to rank the contributors. Valid values are SUM and MAXIMUM.", + "Metrics": "Specifies which metrics to use for aggregation of contributor values for the report. You can specify one or more of the following metrics: UniqueContributors -- the number of unique contributors for each data point. MaxContributorValue -- the value of the top contributor for each data point. The identity of the contributor may change for each data point in the graph. If this rule aggregates by COUNT, the top contributor for each data point is the contributor with the most occurrences in that period. If the rule aggregates by SUM, the top contributor is the contributor with the highest sum in the log field specified by the rule's Value, during that period. SampleCount -- the number of data points matched by the rule. Sum -- the sum of the values from all contributors during the time period represented by that data point. Minimum -- the minimum value from a single observation during the time period represented by that data point. Maximum -- the maximum value from a single observation during the time period represented by that data point. Average -- the average value from all contributors during the time period represented by that data point. ", + "MaxContributorCount": "The maximum number of contributors to include in the report. The range is 1 to 100. If you omit this, the default of 10 is used." +} +""" +GetInsightRuleReport(args) = cloudwatch("GetInsightRuleReport", args) + +""" + DeleteAlarms() + +Deletes the specified alarms. You can delete up to 100 alarms in one operation. However, this total can include no more than one composite alarm. For example, you could delete 99 metric alarms and one composite alarms with one operation, but you can't delete two composite alarms with one operation. In the event of an error, no alarms are deleted. It is possible to create a loop or cycle of composite alarms, where composite alarm A depends on composite alarm B, and composite alarm B also depends on composite alarm A. In this scenario, you can't delete any composite alarm that is part of the cycle because there is always still a composite alarm that depends on that alarm that you want to delete. To get out of such a situation, you must break the cycle by changing the rule of one of the composite alarms in the cycle to remove a dependency that creates the cycle. The simplest change to make to break a cycle is to change the AlarmRule of one of the alarms to False. Additionally, the evaluation of composite alarms stops if CloudWatch detects a cycle in the evaluation path. + +Required Parameters +{ + "AlarmNames": "The alarms to be deleted." +} +""" +DeleteAlarms(args) = cloudwatch("DeleteAlarms", args) + +""" + DeleteAnomalyDetector() + +Deletes the specified anomaly detection model from your account. + +Required Parameters +{ + "Stat": "The statistic associated with the anomaly detection model to delete.", + "MetricName": "The metric name associated with the anomaly detection model to delete.", + "Namespace": "The namespace associated with the anomaly detection model to delete." +} + +Optional Parameters +{ + "Dimensions": "The metric dimensions associated with the anomaly detection model to delete." +} +""" +DeleteAnomalyDetector(args) = cloudwatch("DeleteAnomalyDetector", args) + +""" + GetMetricData() + +You can use the GetMetricData API to retrieve as many as 500 different metrics in a single request, with a total of as many as 100,800 data points. You can also optionally perform math expressions on the values of the returned statistics, to create new time series that represent new insights into your data. For example, using Lambda metrics, you could divide the Errors metric by the Invocations metric to get an error rate time series. For more information about metric math expressions, see Metric Math Syntax and Functions in the Amazon CloudWatch User Guide. Calls to the GetMetricData API have a different pricing structure than calls to GetMetricStatistics. For more information about pricing, see Amazon CloudWatch Pricing. Amazon CloudWatch retains metric data as follows: Data points with a period of less than 60 seconds are available for 3 hours. These data points are high-resolution metrics and are available only for custom metrics that have been defined with a StorageResolution of 1. Data points with a period of 60 seconds (1-minute) are available for 15 days. Data points with a period of 300 seconds (5-minute) are available for 63 days. Data points with a period of 3600 seconds (1 hour) are available for 455 days (15 months). Data points that are initially published with a shorter period are aggregated together for long-term storage. For example, if you collect data using a period of 1 minute, the data remains available for 15 days with 1-minute resolution. After 15 days, this data is still available, but is aggregated and retrievable only with a resolution of 5 minutes. After 63 days, the data is further aggregated and is available with a resolution of 1 hour. If you omit Unit in your request, all data that was collected with any unit is returned, along with the corresponding units that were specified when the data was reported to CloudWatch. If you specify a unit, the operation returns only data data that was collected with that unit specified. If you specify a unit that does not match the data collected, the results of the operation are null. CloudWatch does not perform unit conversions. + +Required Parameters +{ + "StartTime": "The time stamp indicating the earliest data to be returned. The value specified is inclusive; results include data points with the specified time stamp. CloudWatch rounds the specified time stamp as follows: Start time less than 15 days ago - Round down to the nearest whole minute. For example, 12:32:34 is rounded down to 12:32:00. Start time between 15 and 63 days ago - Round down to the nearest 5-minute clock interval. For example, 12:32:34 is rounded down to 12:30:00. Start time greater than 63 days ago - Round down to the nearest 1-hour clock interval. For example, 12:32:34 is rounded down to 12:00:00. If you set Period to 5, 10, or 30, the start time of your request is rounded down to the nearest time that corresponds to even 5-, 10-, or 30-second divisions of a minute. For example, if you make a query at (HH:mm:ss) 01:05:23 for the previous 10-second period, the start time of your request is rounded down and you receive data from 01:05:10 to 01:05:20. If you make a query at 15:07:17 for the previous 5 minutes of data, using a period of 5 seconds, you receive data timestamped between 15:02:15 and 15:07:15. For better performance, specify StartTime and EndTime values that align with the value of the metric's Period and sync up with the beginning and end of an hour. For example, if the Period of a metric is 5 minutes, specifying 12:05 or 12:30 as StartTime can get a faster response from CloudWatch than setting 12:07 or 12:29 as the StartTime.", + "MetricDataQueries": "The metric queries to be returned. A single GetMetricData call can include as many as 500 MetricDataQuery structures. Each of these structures can specify either a metric to retrieve, or a math expression to perform on retrieved data. ", + "EndTime": "The time stamp indicating the latest data to be returned. The value specified is exclusive; results include data points up to the specified time stamp. For better performance, specify StartTime and EndTime values that align with the value of the metric's Period and sync up with the beginning and end of an hour. For example, if the Period of a metric is 5 minutes, specifying 12:05 or 12:30 as EndTime can get a faster response from CloudWatch than setting 12:07 or 12:29 as the EndTime." +} + +Optional Parameters +{ + "NextToken": "Include this value, if it was returned by the previous call, to get the next set of data points.", + "ScanBy": "The order in which data points should be returned. TimestampDescending returns the newest data first and paginates when the MaxDatapoints limit is reached. TimestampAscending returns the oldest data first and paginates when the MaxDatapoints limit is reached.", + "MaxDatapoints": "The maximum number of data points the request should return before paginating. If you omit this, the default of 100,800 is used." +} +""" +GetMetricData(args) = cloudwatch("GetMetricData", args) + +""" + DeleteInsightRules() + +Permanently deletes the specified Contributor Insights rules. If you create a rule, delete it, and then re-create it with the same name, historical data from the first time the rule was created may or may not be available. + +Required Parameters +{ + "RuleNames": "An array of the rule names to delete. If you need to find out the names of your rules, use DescribeInsightRules." +} +""" +DeleteInsightRules(args) = cloudwatch("DeleteInsightRules", args) + +""" + DescribeAlarmsForMetric() + +Retrieves the alarms for the specified metric. To filter the results, specify a statistic, period, or unit. + +Required Parameters +{ + "MetricName": "The name of the metric.", + "Namespace": "The namespace of the metric." +} + +Optional Parameters +{ + "Period": "The period, in seconds, over which the statistic is applied.", + "Unit": "The unit for the metric.", + "Statistic": "The statistic for the metric, other than percentiles. For percentile statistics, use ExtendedStatistics.", + "Dimensions": "The dimensions associated with the metric. If the metric has any associated dimensions, you must specify them in order for the call to succeed.", + "ExtendedStatistic": "The percentile statistic for the metric. Specify a value between p0.0 and p100." +} +""" +DescribeAlarmsForMetric(args) = cloudwatch("DescribeAlarmsForMetric", args) + +""" + PutMetricData() + +Publishes metric data points to Amazon CloudWatch. CloudWatch associates the data points with the specified metric. If the specified metric does not exist, CloudWatch creates the metric. When CloudWatch creates a metric, it can take up to fifteen minutes for the metric to appear in calls to ListMetrics. You can publish either individual data points in the Value field, or arrays of values and the number of times each value occurred during the period by using the Values and Counts fields in the MetricDatum structure. Using the Values and Counts method enables you to publish up to 150 values per metric with one PutMetricData request, and supports retrieving percentile statistics on this data. Each PutMetricData request is limited to 40 KB in size for HTTP POST requests. You can send a payload compressed by gzip. Each request is also limited to no more than 20 different metrics. Although the Value parameter accepts numbers of type Double, CloudWatch rejects values that are either too small or too large. Values must be in the range of -2^360 to 2^360. In addition, special values (for example, NaN, +Infinity, -Infinity) are not supported. You can use up to 10 dimensions per metric to further clarify what data the metric collects. Each dimension consists of a Name and Value pair. For more information about specifying dimensions, see Publishing Metrics in the Amazon CloudWatch User Guide. Data points with time stamps from 24 hours ago or longer can take at least 48 hours to become available for GetMetricData or GetMetricStatistics from the time they are submitted. Data points with time stamps between 3 and 24 hours ago can take as much as 2 hours to become available for for GetMetricData or GetMetricStatistics. CloudWatch needs raw data points to calculate percentile statistics. If you publish data using a statistic set instead, you can only retrieve percentile statistics for this data if one of the following conditions is true: The SampleCount value of the statistic set is 1 and Min, Max, and Sum are all equal. The Min and Max are equal, and Sum is equal to Min multiplied by SampleCount. + +Required Parameters +{ + "MetricData": "The data for the metric. The array can include no more than 20 metrics per call.", + "Namespace": "The namespace for the metric data. To avoid conflicts with AWS service namespaces, you should not specify a namespace that begins with AWS/ " +} +""" +PutMetricData(args) = cloudwatch("PutMetricData", args) diff --git a/src/services/cloudwatch_events.jl b/src/services/cloudwatch_events.jl new file mode 100644 index 0000000000..f545eabff5 --- /dev/null +++ b/src/services/cloudwatch_events.jl @@ -0,0 +1,480 @@ +include("../AWSServices.jl") +using .AWSServices: cloudwatch_events + +""" + ListTagsForResource() + +Displays the tags associated with an EventBridge resource. In EventBridge, rules and event buses can be tagged. + +Required Parameters +{ + "ResourceARN": "The ARN of the EventBridge resource for which you want to view tags." +} +""" +ListTagsForResource(args) = cloudwatch_events("ListTagsForResource", args) + +""" + RemovePermission() + +Revokes the permission of another AWS account to be able to put events to the specified event bus. Specify the account to revoke by the StatementId value that you associated with the account when you granted it permission with PutPermission. You can find the StatementId by using DescribeEventBus. + +Required Parameters +{ + "StatementId": "The statement ID corresponding to the account that is no longer allowed to put events to the default event bus." +} + +Optional Parameters +{ + "EventBusName": "The name of the event bus to revoke permissions for. If you omit this, the default event bus is used." +} +""" +RemovePermission(args) = cloudwatch_events("RemovePermission", args) + +""" + ListPartnerEventSources() + +An SaaS partner can use this operation to list all the partner event source names that they have created. This operation is not used by AWS customers. + +Required Parameters +{ + "NamePrefix": "If you specify this, the results are limited to only those partner event sources that start with the string you specify." +} + +Optional Parameters +{ + "NextToken": "The token returned by a previous call to this operation. Specifying this retrieves the next set of results.", + "Limit": "pecifying this limits the number of results returned by this operation. The operation also returns a NextToken which you can use in a subsequent operation to retrieve the next set of results." +} +""" +ListPartnerEventSources(args) = cloudwatch_events("ListPartnerEventSources", args) + +""" + DescribeEventSource() + +This operation lists details about a partner event source that is shared with your account. + +Required Parameters +{ + "Name": "The name of the partner event source to display the details of." +} +""" +DescribeEventSource(args) = cloudwatch_events("DescribeEventSource", args) + +""" + ListPartnerEventSourceAccounts() + +An SaaS partner can use this operation to display the AWS account ID that a particular partner event source name is associated with. This operation is not used by AWS customers. + +Required Parameters +{ + "EventSourceName": "The name of the partner event source to display account information about." +} + +Optional Parameters +{ + "NextToken": "The token returned by a previous call to this operation. Specifying this retrieves the next set of results.", + "Limit": "Specifying this limits the number of results returned by this operation. The operation also returns a NextToken which you can use in a subsequent operation to retrieve the next set of results." +} +""" +ListPartnerEventSourceAccounts(args) = cloudwatch_events("ListPartnerEventSourceAccounts", args) + +""" + CreateEventBus() + +Creates a new event bus within your account. This can be a custom event bus which you can use to receive events from your custom applications and services, or it can be a partner event bus which can be matched to a partner event source. + +Required Parameters +{ + "Name": "The name of the new event bus. Event bus names cannot contain the / character. You can't use the name default for a custom event bus, as this name is already used for your account's default event bus. If this is a partner event bus, the name must exactly match the name of the partner event source that this event bus is matched to." +} + +Optional Parameters +{ + "Tags": "Tags to associate with the event bus.", + "EventSourceName": "If you are creating a partner event bus, this specifies the partner event source that the new event bus will be matched with." +} +""" +CreateEventBus(args) = cloudwatch_events("CreateEventBus", args) + +""" + PutPartnerEvents() + +This is used by SaaS partners to write events to a customer's partner event bus. AWS customers do not use this operation. + +Required Parameters +{ + "Entries": "The list of events to write to the event bus." +} +""" +PutPartnerEvents(args) = cloudwatch_events("PutPartnerEvents", args) + +""" + CreatePartnerEventSource() + +Called by an SaaS partner to create a partner event source. This operation is not used by AWS customers. Each partner event source can be used by one AWS account to create a matching partner event bus in that AWS account. A SaaS partner must create one partner event source for each AWS account that wants to receive those event types. A partner event source creates events based on resources within the SaaS partner's service or application. An AWS account that creates a partner event bus that matches the partner event source can use that event bus to receive events from the partner, and then process them using AWS Events rules and targets. Partner event source names follow this format: partner_name/event_namespace/event_name partner_name is determined during partner registration and identifies the partner to AWS customers. event_namespace is determined by the partner and is a way for the partner to categorize their events. event_name is determined by the partner, and should uniquely identify an event-generating resource within the partner system. The combination of event_namespace and event_name should help AWS customers decide whether to create an event bus to receive these events. + +Required Parameters +{ + "Name": "The name of the partner event source. This name must be unique and must be in the format partner_name/event_namespace/event_name . The AWS account that wants to use this partner event source must create a partner event bus with a name that matches the name of the partner event source.", + "Account": "The AWS account ID that is permitted to create a matching partner event bus for this partner event source." +} +""" +CreatePartnerEventSource(args) = cloudwatch_events("CreatePartnerEventSource", args) + +""" + DescribeRule() + +Describes the specified rule. DescribeRule does not list the targets of a rule. To see the targets associated with a rule, use ListTargetsByRule. + +Required Parameters +{ + "Name": "The name of the rule." +} + +Optional Parameters +{ + "EventBusName": "The event bus associated with the rule. If you omit this, the default event bus is used." +} +""" +DescribeRule(args) = cloudwatch_events("DescribeRule", args) + +""" + EnableRule() + +Enables the specified rule. If the rule does not exist, the operation fails. When you enable a rule, incoming events might not immediately start matching to a newly enabled rule. Allow a short period of time for changes to take effect. + +Required Parameters +{ + "Name": "The name of the rule." +} + +Optional Parameters +{ + "EventBusName": "The event bus associated with the rule. If you omit this, the default event bus is used." +} +""" +EnableRule(args) = cloudwatch_events("EnableRule", args) + +""" + DeleteEventBus() + +Deletes the specified custom event bus or partner event bus. All rules associated with this event bus need to be deleted. You can't delete your account's default event bus. + +Required Parameters +{ + "Name": "The name of the event bus to delete." +} +""" +DeleteEventBus(args) = cloudwatch_events("DeleteEventBus", args) + +""" + ListEventBuses() + +Lists all the event buses in your account, including the default event bus, custom event buses, and partner event buses. + +Optional Parameters +{ + "NextToken": "The token returned by a previous call to retrieve the next set of results.", + "Limit": "Specifying this limits the number of results returned by this operation. The operation also returns a NextToken which you can use in a subsequent operation to retrieve the next set of results.", + "NamePrefix": "Specifying this limits the results to only those event buses with names that start with the specified prefix." +} +""" +ListEventBuses() = cloudwatch_events("ListEventBuses") +ListEventBuses(args) = cloudwatch_events("ListEventBuses", args) + +""" + ListRuleNamesByTarget() + +Lists the rules for the specified target. You can see which of the rules in Amazon EventBridge can invoke a specific target in your account. + +Required Parameters +{ + "TargetArn": "The Amazon Resource Name (ARN) of the target resource." +} + +Optional Parameters +{ + "NextToken": "The token returned by a previous call to retrieve the next set of results.", + "EventBusName": "Limits the results to show only the rules associated with the specified event bus.", + "Limit": "The maximum number of results to return." +} +""" +ListRuleNamesByTarget(args) = cloudwatch_events("ListRuleNamesByTarget", args) + +""" + DeletePartnerEventSource() + +This operation is used by SaaS partners to delete a partner event source. This operation is not used by AWS customers. When you delete an event source, the status of the corresponding partner event bus in the AWS customer account becomes DELETED. + +Required Parameters +{ + "Name": "The name of the event source to delete.", + "Account": "The AWS account ID of the AWS customer that the event source was created for." +} +""" +DeletePartnerEventSource(args) = cloudwatch_events("DeletePartnerEventSource", args) + +""" + PutTargets() + +Adds the specified targets to the specified rule, or updates the targets if they are already associated with the rule. Targets are the resources that are invoked when a rule is triggered. You can configure the following as targets for Events: EC2 instances SSM Run Command SSM Automation AWS Lambda functions Data streams in Amazon Kinesis Data Streams Data delivery streams in Amazon Kinesis Data Firehose Amazon ECS tasks AWS Step Functions state machines AWS Batch jobs AWS CodeBuild projects Pipelines in AWS CodePipeline Amazon Inspector assessment templates Amazon SNS topics Amazon SQS queues, including FIFO queues The default event bus of another AWS account Creating rules with built-in targets is supported only in the AWS Management Console. The built-in targets are EC2 CreateSnapshot API call, EC2 RebootInstances API call, EC2 StopInstances API call, and EC2 TerminateInstances API call. For some target types, PutTargets provides target-specific parameters. If the target is a Kinesis data stream, you can optionally specify which shard the event goes to by using the KinesisParameters argument. To invoke a command on multiple EC2 instances with one rule, you can use the RunCommandParameters field. To be able to make API calls against the resources that you own, Amazon CloudWatch Events needs the appropriate permissions. For AWS Lambda and Amazon SNS resources, EventBridge relies on resource-based policies. For EC2 instances, Kinesis data streams, and AWS Step Functions state machines, EventBridge relies on IAM roles that you specify in the RoleARN argument in PutTargets. For more information, see Authentication and Access Control in the Amazon EventBridge User Guide. If another AWS account is in the same region and has granted you permission (using PutPermission), you can send events to that account. Set that account's event bus as a target of the rules in your account. To send the matched events to the other account, specify that account's event bus as the Arn value when you run PutTargets. If your account sends events to another account, your account is charged for each sent event. Each event sent to another account is charged as a custom event. The account receiving the event is not charged. For more information, see Amazon CloudWatch Pricing. Input, InputPath, and InputTransformer are not available with PutTarget if the target is an event bus of a different AWS account. If you are setting the event bus of another account as the target, and that account granted permission to your account through an organization instead of directly by the account ID, then you must specify a RoleArn with proper permissions in the Target structure. For more information, see Sending and Receiving Events Between AWS Accounts in the Amazon EventBridge User Guide. For more information about enabling cross-account events, see PutPermission. Input, InputPath, and InputTransformer are mutually exclusive and optional parameters of a target. When a rule is triggered due to a matched event: If none of the following arguments are specified for a target, then the entire event is passed to the target in JSON format (unless the target is Amazon EC2 Run Command or Amazon ECS task, in which case nothing from the event is passed to the target). If Input is specified in the form of valid JSON, then the matched event is overridden with this constant. If InputPath is specified in the form of JSONPath (for example, .detail), then only the part of the event specified in the path is passed to the target (for example, only the detail part of the event is passed). If InputTransformer is specified, then one or more specified JSONPaths are extracted from the event and used as values in a template that you specify as the input to the target. When you specify InputPath or InputTransformer, you must use JSON dot notation, not bracket notation. When you add targets to a rule and the associated rule triggers soon after, new or updated targets might not be immediately invoked. Allow a short period of time for changes to take effect. This action can partially fail if too many requests are made at the same time. If that happens, FailedEntryCount is non-zero in the response and each entry in FailedEntries provides the ID of the failed target and the error code. + +Required Parameters +{ + "Rule": "The name of the rule.", + "Targets": "The targets to update or add to the rule." +} + +Optional Parameters +{ + "EventBusName": "The name of the event bus associated with the rule. If you omit this, the default event bus is used." +} +""" +PutTargets(args) = cloudwatch_events("PutTargets", args) + +""" + TestEventPattern() + +Tests whether the specified event pattern matches the provided event. Most services in AWS treat : or / as the same character in Amazon Resource Names (ARNs). However, EventBridge uses an exact match in event patterns and rules. Be sure to use the correct ARN characters when creating event patterns so that they match the ARN syntax in the event you want to match. + +Required Parameters +{ + "EventPattern": "The event pattern. For more information, see Events and Event Patterns in the Amazon EventBridge User Guide.", + "Event": "The event, in JSON format, to test against the event pattern." +} +""" +TestEventPattern(args) = cloudwatch_events("TestEventPattern", args) + +""" + DescribeEventBus() + +Displays details about an event bus in your account. This can include the external AWS accounts that are permitted to write events to your default event bus, and the associated policy. For custom event buses and partner event buses, it displays the name, ARN, policy, state, and creation time. To enable your account to receive events from other accounts on its default event bus, use PutPermission. For more information about partner event buses, see CreateEventBus. + +Optional Parameters +{ + "Name": "The name of the event bus to show details for. If you omit this, the default event bus is displayed." +} +""" +DescribeEventBus() = cloudwatch_events("DescribeEventBus") +DescribeEventBus(args) = cloudwatch_events("DescribeEventBus", args) + +""" + PutEvents() + +Sends custom events to Amazon EventBridge so that they can be matched to rules. + +Required Parameters +{ + "Entries": "The entry that defines an event in your system. You can specify several parameters for the entry such as the source and type of the event, resources associated with the event, and so on." +} +""" +PutEvents(args) = cloudwatch_events("PutEvents", args) + +""" + TagResource() + +Assigns one or more tags (key-value pairs) to the specified EventBridge resource. Tags can help you organize and categorize your resources. You can also use them to scope user permissions by granting a user permission to access or change only resources with certain tag values. In EventBridge, rules and event buses can be tagged. Tags don't have any semantic meaning to AWS and are interpreted strictly as strings of characters. You can use the TagResource action with a resource that already has tags. If you specify a new tag key, this tag is appended to the list of tags associated with the resource. If you specify a tag key that is already associated with the resource, the new tag value that you specify replaces the previous value for that tag. You can associate as many as 50 tags with a resource. + +Required Parameters +{ + "ResourceARN": "The ARN of the EventBridge resource that you're adding tags to.", + "Tags": "The list of key-value pairs to associate with the resource." +} +""" +TagResource(args) = cloudwatch_events("TagResource", args) + +""" + ListRules() + +Lists your Amazon EventBridge rules. You can either list all the rules or you can provide a prefix to match to the rule names. ListRules does not list the targets of a rule. To see the targets associated with a rule, use ListTargetsByRule. + +Optional Parameters +{ + "NextToken": "The token returned by a previous call to retrieve the next set of results.", + "EventBusName": "Limits the results to show only the rules associated with the specified event bus.", + "Limit": "The maximum number of results to return.", + "NamePrefix": "The prefix matching the rule name." +} +""" +ListRules() = cloudwatch_events("ListRules") +ListRules(args) = cloudwatch_events("ListRules", args) + +""" + PutRule() + +Creates or updates the specified rule. Rules are enabled by default, or based on value of the state. You can disable a rule using DisableRule. A single rule watches for events from a single event bus. Events generated by AWS services go to your account's default event bus. Events generated by SaaS partner services or applications go to the matching partner event bus. If you have custom applications or services, you can specify whether their events go to your default event bus or a custom event bus that you have created. For more information, see CreateEventBus. If you are updating an existing rule, the rule is replaced with what you specify in this PutRule command. If you omit arguments in PutRule, the old values for those arguments are not kept. Instead, they are replaced with null values. When you create or update a rule, incoming events might not immediately start matching to new or updated rules. Allow a short period of time for changes to take effect. A rule must contain at least an EventPattern or ScheduleExpression. Rules with EventPatterns are triggered when a matching event is observed. Rules with ScheduleExpressions self-trigger based on the given schedule. A rule can have both an EventPattern and a ScheduleExpression, in which case the rule triggers on matching events as well as on a schedule. When you initially create a rule, you can optionally assign one or more tags to the rule. Tags can help you organize and categorize your resources. You can also use them to scope user permissions, by granting a user permission to access or change only rules with certain tag values. To use the PutRule operation and assign tags, you must have both the events:PutRule and events:TagResource permissions. If you are updating an existing rule, any tags you specify in the PutRule operation are ignored. To update the tags of an existing rule, use TagResource and UntagResource. Most services in AWS treat : or / as the same character in Amazon Resource Names (ARNs). However, EventBridge uses an exact match in event patterns and rules. Be sure to use the correct ARN characters when creating event patterns so that they match the ARN syntax in the event you want to match. In EventBridge, it is possible to create rules that lead to infinite loops, where a rule is fired repeatedly. For example, a rule might detect that ACLs have changed on an S3 bucket, and trigger software to change them to the desired state. If the rule is not written carefully, the subsequent change to the ACLs fires the rule again, creating an infinite loop. To prevent this, write the rules so that the triggered actions do not re-fire the same rule. For example, your rule could fire only if ACLs are found to be in a bad state, instead of after any change. An infinite loop can quickly cause higher than expected charges. We recommend that you use budgeting, which alerts you when charges exceed your specified limit. For more information, see Managing Your Costs with Budgets. + +Required Parameters +{ + "Name": "The name of the rule that you are creating or updating." +} + +Optional Parameters +{ + "EventPattern": "The event pattern. For more information, see Events and Event Patterns in the Amazon EventBridge User Guide.", + "Description": "A description of the rule.", + "ScheduleExpression": "The scheduling expression. For example, \"cron(0 20 * * ? *)\" or \"rate(5 minutes)\".", + "Tags": "The list of key-value pairs to associate with the rule.", + "State": "Indicates whether the rule is enabled or disabled.", + "EventBusName": "The event bus to associate with this rule. If you omit this, the default event bus is used.", + "RoleArn": "The Amazon Resource Name (ARN) of the IAM role associated with the rule." +} +""" +PutRule(args) = cloudwatch_events("PutRule", args) + +""" + UntagResource() + +Removes one or more tags from the specified EventBridge resource. In CloudWatch Events, rules and event buses can be tagged. + +Required Parameters +{ + "ResourceARN": "The ARN of the EventBridge resource from which you are removing tags.", + "TagKeys": "The list of tag keys to remove from the resource." +} +""" +UntagResource(args) = cloudwatch_events("UntagResource", args) + +""" + DisableRule() + +Disables the specified rule. A disabled rule won't match any events, and won't self-trigger if it has a schedule expression. When you disable a rule, incoming events might continue to match to the disabled rule. Allow a short period of time for changes to take effect. + +Required Parameters +{ + "Name": "The name of the rule." +} + +Optional Parameters +{ + "EventBusName": "The event bus associated with the rule. If you omit this, the default event bus is used." +} +""" +DisableRule(args) = cloudwatch_events("DisableRule", args) + +""" + PutPermission() + +Running PutPermission permits the specified AWS account or AWS organization to put events to the specified event bus. CloudWatch Events rules in your account are triggered by these events arriving to an event bus in your account. For another account to send events to your account, that external account must have an EventBridge rule with your account's event bus as a target. To enable multiple AWS accounts to put events to your event bus, run PutPermission once for each of these accounts. Or, if all the accounts are members of the same AWS organization, you can run PutPermission once specifying Principal as "*" and specifying the AWS organization ID in Condition, to grant permissions to all accounts in that organization. If you grant permissions using an organization, then accounts in that organization must specify a RoleArn with proper permissions when they use PutTarget to add your account's event bus as a target. For more information, see Sending and Receiving Events Between AWS Accounts in the Amazon EventBridge User Guide. The permission policy on the default event bus cannot exceed 10 KB in size. + +Required Parameters +{ + "StatementId": "An identifier string for the external account that you are granting permissions to. If you later want to revoke the permission for this external account, specify this StatementId when you run RemovePermission.", + "Principal": "The 12-digit AWS account ID that you are permitting to put events to your default event bus. Specify \"*\" to permit any account to put events to your default event bus. If you specify \"*\" without specifying Condition, avoid creating rules that may match undesirable events. To create more secure rules, make sure that the event pattern for each rule contains an account field with a specific account ID from which to receive events. Rules with an account field do not match any events sent from other accounts.", + "Action": "The action that you are enabling the other account to perform. Currently, this must be events:PutEvents." +} + +Optional Parameters +{ + "EventBusName": "The event bus associated with the rule. If you omit this, the default event bus is used.", + "Condition": "This parameter enables you to limit the permission to accounts that fulfill a certain condition, such as being a member of a certain AWS organization. For more information about AWS Organizations, see What Is AWS Organizations in the AWS Organizations User Guide. If you specify Condition with an AWS organization ID, and specify \"*\" as the value for Principal, you grant permission to all the accounts in the named organization. The Condition is a JSON string which must contain Type, Key, and Value fields." +} +""" +PutPermission(args) = cloudwatch_events("PutPermission", args) + +""" + DescribePartnerEventSource() + +An SaaS partner can use this operation to list details about a partner event source that they have created. AWS customers do not use this operation. Instead, AWS customers can use DescribeEventSource to see details about a partner event source that is shared with them. + +Required Parameters +{ + "Name": "The name of the event source to display." +} +""" +DescribePartnerEventSource(args) = cloudwatch_events("DescribePartnerEventSource", args) + +""" + DeleteRule() + +Deletes the specified rule. Before you can delete the rule, you must remove all targets, using RemoveTargets. When you delete a rule, incoming events might continue to match to the deleted rule. Allow a short period of time for changes to take effect. Managed rules are rules created and managed by another AWS service on your behalf. These rules are created by those other AWS services to support functionality in those services. You can delete these rules using the Force option, but you should do so only if you are sure the other service is not still using that rule. + +Required Parameters +{ + "Name": "The name of the rule." +} + +Optional Parameters +{ + "Force": "If this is a managed rule, created by an AWS service on your behalf, you must specify Force as True to delete the rule. This parameter is ignored for rules that are not managed rules. You can check whether a rule is a managed rule by using DescribeRule or ListRules and checking the ManagedBy field of the response.", + "EventBusName": "The event bus associated with the rule. If you omit this, the default event bus is used." +} +""" +DeleteRule(args) = cloudwatch_events("DeleteRule", args) + +""" + RemoveTargets() + +Removes the specified targets from the specified rule. When the rule is triggered, those targets are no longer be invoked. When you remove a target, when the associated rule triggers, removed targets might continue to be invoked. Allow a short period of time for changes to take effect. This action can partially fail if too many requests are made at the same time. If that happens, FailedEntryCount is non-zero in the response and each entry in FailedEntries provides the ID of the failed target and the error code. + +Required Parameters +{ + "Ids": "The IDs of the targets to remove from the rule.", + "Rule": "The name of the rule." +} + +Optional Parameters +{ + "Force": "If this is a managed rule, created by an AWS service on your behalf, you must specify Force as True to remove targets. This parameter is ignored for rules that are not managed rules. You can check whether a rule is a managed rule by using DescribeRule or ListRules and checking the ManagedBy field of the response.", + "EventBusName": "The name of the event bus associated with the rule." +} +""" +RemoveTargets(args) = cloudwatch_events("RemoveTargets", args) + +""" + DeactivateEventSource() + +You can use this operation to temporarily stop receiving events from the specified partner event source. The matching event bus is not deleted. When you deactivate a partner event source, the source goes into PENDING state. If it remains in PENDING state for more than two weeks, it is deleted. To activate a deactivated partner event source, use ActivateEventSource. + +Required Parameters +{ + "Name": "The name of the partner event source to deactivate." +} +""" +DeactivateEventSource(args) = cloudwatch_events("DeactivateEventSource", args) + +""" + ListEventSources() + +You can use this to see all the partner event sources that have been shared with your AWS account. For more information about partner event sources, see CreateEventBus. + +Optional Parameters +{ + "NextToken": "The token returned by a previous call to retrieve the next set of results.", + "Limit": "Specifying this limits the number of results returned by this operation. The operation also returns a NextToken which you can use in a subsequent operation to retrieve the next set of results.", + "NamePrefix": "Specifying this limits the results to only those partner event sources with names that start with the specified prefix." +} +""" +ListEventSources() = cloudwatch_events("ListEventSources") +ListEventSources(args) = cloudwatch_events("ListEventSources", args) + +""" + ActivateEventSource() + +Activates a partner event source that has been deactivated. Once activated, your matching event bus will start receiving events from the event source. + +Required Parameters +{ + "Name": "The name of the partner event source to activate." +} +""" +ActivateEventSource(args) = cloudwatch_events("ActivateEventSource", args) + +""" + ListTargetsByRule() + +Lists the targets assigned to the specified rule. + +Required Parameters +{ + "Rule": "The name of the rule." +} + +Optional Parameters +{ + "NextToken": "The token returned by a previous call to retrieve the next set of results.", + "EventBusName": "The event bus associated with the rule. If you omit this, the default event bus is used.", + "Limit": "The maximum number of results to return." +} +""" +ListTargetsByRule(args) = cloudwatch_events("ListTargetsByRule", args) diff --git a/src/services/cloudwatch_logs.jl b/src/services/cloudwatch_logs.jl new file mode 100644 index 0000000000..8e4bdce1f9 --- /dev/null +++ b/src/services/cloudwatch_logs.jl @@ -0,0 +1,594 @@ +include("../AWSServices.jl") +using .AWSServices: cloudwatch_logs + +""" + TestMetricFilter() + +Tests the filter pattern of a metric filter against a sample of log event messages. You can use this operation to validate the correctness of a metric filter pattern. + +Required Parameters +{ + "filterPattern": "", + "logEventMessages": "The log event messages to test." +} +""" +TestMetricFilter(args) = cloudwatch_logs("TestMetricFilter", args) + +""" + DeleteSubscriptionFilter() + +Deletes the specified subscription filter. + +Required Parameters +{ + "logGroupName": "The name of the log group.", + "filterName": "The name of the subscription filter." +} +""" +DeleteSubscriptionFilter(args) = cloudwatch_logs("DeleteSubscriptionFilter", args) + +""" + GetQueryResults() + +Returns the results from the specified query. Only the fields requested in the query are returned, along with a @ptr field which is the identifier for the log record. You can use the value of @ptr in a operation to get the full log record. GetQueryResults does not start a query execution. To run a query, use . If the value of the Status field in the output is Running, this operation returns only partial results. If you see a value of Scheduled or Running for the status, you can retry the operation later to see the final results. + +Required Parameters +{ + "queryId": "The ID number of the query." +} +""" +GetQueryResults(args) = cloudwatch_logs("GetQueryResults", args) + +""" + CreateLogStream() + +Creates a log stream for the specified log group. There is no limit on the number of log streams that you can create for a log group. There is a limit of 50 TPS on CreateLogStream operations, after which transactions are throttled. You must use the following guidelines when naming a log stream: Log stream names must be unique within the log group. Log stream names can be between 1 and 512 characters long. The ':' (colon) and '*' (asterisk) characters are not allowed. + +Required Parameters +{ + "logStreamName": "The name of the log stream.", + "logGroupName": "The name of the log group." +} +""" +CreateLogStream(args) = cloudwatch_logs("CreateLogStream", args) + +""" + DeleteLogStream() + +Deletes the specified log stream and permanently deletes all the archived log events associated with the log stream. + +Required Parameters +{ + "logStreamName": "The name of the log stream.", + "logGroupName": "The name of the log group." +} +""" +DeleteLogStream(args) = cloudwatch_logs("DeleteLogStream", args) + +""" + DeleteResourcePolicy() + +Deletes a resource policy from this account. This revokes the access of the identities in that policy to put log events to this account. + +Optional Parameters +{ + "policyName": "The name of the policy to be revoked. This parameter is required." +} +""" +DeleteResourcePolicy() = cloudwatch_logs("DeleteResourcePolicy") +DeleteResourcePolicy(args) = cloudwatch_logs("DeleteResourcePolicy", args) + +""" + PutDestinationPolicy() + +Creates or updates an access policy associated with an existing destination. An access policy is an IAM policy document that is used to authorize claims to register a subscription filter against a given destination. + +Required Parameters +{ + "destinationName": "A name for an existing destination.", + "accessPolicy": "An IAM policy document that authorizes cross-account users to deliver their log events to the associated destination." +} +""" +PutDestinationPolicy(args) = cloudwatch_logs("PutDestinationPolicy", args) + +""" + PutLogEvents() + +Uploads a batch of log events to the specified log stream. You must include the sequence token obtained from the response of the previous call. An upload in a newly created log stream does not require a sequence token. You can also get the sequence token in the expectedSequenceToken field from InvalidSequenceTokenException. If you call PutLogEvents twice within a narrow time period using the same value for sequenceToken, both calls may be successful, or one may be rejected. The batch of events must satisfy the following constraints: The maximum batch size is 1,048,576 bytes, and this size is calculated as the sum of all event messages in UTF-8, plus 26 bytes for each log event. None of the log events in the batch can be more than 2 hours in the future. None of the log events in the batch can be older than 14 days or older than the retention period of the log group. The log events in the batch must be in chronological ordered by their timestamp. The timestamp is the time the event occurred, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC. (In AWS Tools for PowerShell and the AWS SDK for .NET, the timestamp is specified in .NET format: yyyy-mm-ddThh:mm:ss. For example, 2017-09-15T13:45:30.) A batch of log events in a single request cannot span more than 24 hours. Otherwise, the operation fails. The maximum number of log events in a batch is 10,000. There is a quota of 5 requests per second per log stream. Additional requests are throttled. This quota can't be changed. If a call to PutLogEvents returns "UnrecognizedClientException" the most likely cause is an invalid AWS access key ID or secret key. + +Required Parameters +{ + "logStreamName": "The name of the log stream.", + "logEvents": "The log events.", + "logGroupName": "The name of the log group." +} + +Optional Parameters +{ + "sequenceToken": "The sequence token obtained from the response of the previous PutLogEvents call. An upload in a newly created log stream does not require a sequence token. You can also get the sequence token using DescribeLogStreams. If you call PutLogEvents twice within a narrow time period using the same value for sequenceToken, both calls may be successful, or one may be rejected." +} +""" +PutLogEvents(args) = cloudwatch_logs("PutLogEvents", args) + +""" + PutRetentionPolicy() + +Sets the retention of the specified log group. A retention policy allows you to configure the number of days for which to retain log events in the specified log group. + +Required Parameters +{ + "logGroupName": "The name of the log group.", + "retentionInDays": "" +} +""" +PutRetentionPolicy(args) = cloudwatch_logs("PutRetentionPolicy", args) + +""" + PutSubscriptionFilter() + +Creates or updates a subscription filter and associates it with the specified log group. Subscription filters allow you to subscribe to a real-time stream of log events ingested through PutLogEvents and have them delivered to a specific destination. Currently, the supported destinations are: An Amazon Kinesis stream belonging to the same account as the subscription filter, for same-account delivery. A logical destination that belongs to a different account, for cross-account delivery. An Amazon Kinesis Firehose delivery stream that belongs to the same account as the subscription filter, for same-account delivery. An AWS Lambda function that belongs to the same account as the subscription filter, for same-account delivery. There can only be one subscription filter associated with a log group. If you are updating an existing filter, you must specify the correct name in filterName. Otherwise, the call fails because you cannot associate a second filter with a log group. + +Required Parameters +{ + "logGroupName": "The name of the log group.", + "filterPattern": "A filter pattern for subscribing to a filtered stream of log events.", + "destinationArn": "The ARN of the destination to deliver matching log events to. Currently, the supported destinations are: An Amazon Kinesis stream belonging to the same account as the subscription filter, for same-account delivery. A logical destination (specified using an ARN) belonging to a different account, for cross-account delivery. An Amazon Kinesis Firehose delivery stream belonging to the same account as the subscription filter, for same-account delivery. An AWS Lambda function belonging to the same account as the subscription filter, for same-account delivery. ", + "filterName": "A name for the subscription filter. If you are updating an existing filter, you must specify the correct name in filterName. Otherwise, the call fails because you cannot associate a second filter with a log group. To find the name of the filter currently associated with a log group, use DescribeSubscriptionFilters." +} + +Optional Parameters +{ + "roleArn": "The ARN of an IAM role that grants CloudWatch Logs permissions to deliver ingested log events to the destination stream. You don't need to provide the ARN when you are working with a logical destination for cross-account delivery.", + "distribution": "The method used to distribute log data to the destination. By default log data is grouped by log stream, but the grouping can be set to random for a more even distribution. This property is only applicable when the destination is an Amazon Kinesis stream. " +} +""" +PutSubscriptionFilter(args) = cloudwatch_logs("PutSubscriptionFilter", args) + +""" + StopQuery() + +Stops a CloudWatch Logs Insights query that is in progress. If the query has already ended, the operation returns an error indicating that the specified query is not running. + +Required Parameters +{ + "queryId": "The ID number of the query to stop. If necessary, you can use DescribeQueries to find this ID number." +} +""" +StopQuery(args) = cloudwatch_logs("StopQuery", args) + +""" + UntagLogGroup() + +Removes the specified tags from the specified log group. To list the tags for a log group, use ListTagsLogGroup. To add tags, use UntagLogGroup. + +Required Parameters +{ + "logGroupName": "The name of the log group.", + "tags": "The tag keys. The corresponding tags are removed from the log group." +} +""" +UntagLogGroup(args) = cloudwatch_logs("UntagLogGroup", args) + +""" + CreateLogGroup() + +Creates a log group with the specified name. You can create up to 20,000 log groups per account. You must use the following guidelines when naming a log group: Log group names must be unique within a region for an AWS account. Log group names can be between 1 and 512 characters long. Log group names consist of the following characters: a-z, A-Z, 0-9, '_' (underscore), '-' (hyphen), '/' (forward slash), '.' (period), and '#' (number sign) If you associate a AWS Key Management Service (AWS KMS) customer master key (CMK) with the log group, ingested data is encrypted using the CMK. This association is stored as long as the data encrypted with the CMK is still within Amazon CloudWatch Logs. This enables Amazon CloudWatch Logs to decrypt this data whenever it is requested. If you attempt to associate a CMK with the log group but the CMK does not exist or the CMK is disabled, you will receive an InvalidParameterException error. Important: CloudWatch Logs supports only symmetric CMKs. Do not associate an asymmetric CMK with your log group. For more information, see Using Symmetric and Asymmetric Keys. + +Required Parameters +{ + "logGroupName": "The name of the log group." +} + +Optional Parameters +{ + "tags": "The key-value pairs to use for the tags.", + "kmsKeyId": "The Amazon Resource Name (ARN) of the CMK to use when encrypting log data. For more information, see Amazon Resource Names - AWS Key Management Service (AWS KMS)." +} +""" +CreateLogGroup(args) = cloudwatch_logs("CreateLogGroup", args) + +""" + PutMetricFilter() + +Creates or updates a metric filter and associates it with the specified log group. Metric filters allow you to configure rules to extract metric data from log events ingested through PutLogEvents. The maximum number of metric filters that can be associated with a log group is 100. + +Required Parameters +{ + "metricTransformations": "A collection of information that defines how metric data gets emitted.", + "logGroupName": "The name of the log group.", + "filterPattern": "A filter pattern for extracting metric data out of ingested log events.", + "filterName": "A name for the metric filter." +} +""" +PutMetricFilter(args) = cloudwatch_logs("PutMetricFilter", args) + +""" + PutResourcePolicy() + +Creates or updates a resource policy allowing other AWS services to put log events to this account, such as Amazon Route 53. An account can have up to 10 resource policies per region. + +Optional Parameters +{ + "policyName": "Name of the new policy. This parameter is required.", + "policyDocument": "Details of the new policy, including the identity of the principal that is enabled to put logs to this account. This is formatted as a JSON string. This parameter is required. The following example creates a resource policy enabling the Route 53 service to put DNS query logs in to the specified log group. Replace \"logArn\" with the ARN of your CloudWatch Logs resource, such as a log group or log stream. { \"Version\": \"2012-10-17\", \"Statement\": [ { \"Sid\": \"Route53LogsToCloudWatchLogs\", \"Effect\": \"Allow\", \"Principal\": { \"Service\": [ \"route53.amazonaws.com\" ] }, \"Action\":\"logs:PutLogEvents\", \"Resource\": \"logArn\" } ] } " +} +""" +PutResourcePolicy() = cloudwatch_logs("PutResourcePolicy") +PutResourcePolicy(args) = cloudwatch_logs("PutResourcePolicy", args) + +""" + DescribeSubscriptionFilters() + +Lists the subscription filters for the specified log group. You can list all the subscription filters or filter the results by prefix. The results are ASCII-sorted by filter name. + +Required Parameters +{ + "logGroupName": "The name of the log group." +} + +Optional Parameters +{ + "filterNamePrefix": "The prefix to match. If you don't specify a value, no prefix filter is applied.", + "nextToken": "The token for the next set of items to return. (You received this token from a previous call.)", + "limit": "The maximum number of items returned. If you don't specify a value, the default is up to 50 items." +} +""" +DescribeSubscriptionFilters(args) = cloudwatch_logs("DescribeSubscriptionFilters", args) + +""" + CancelExportTask() + +Cancels the specified export task. The task must be in the PENDING or RUNNING state. + +Required Parameters +{ + "taskId": "The ID of the export task." +} +""" +CancelExportTask(args) = cloudwatch_logs("CancelExportTask", args) + +""" + CreateExportTask() + +Creates an export task, which allows you to efficiently export data from a log group to an Amazon S3 bucket. This is an asynchronous call. If all the required information is provided, this operation initiates an export task and responds with the ID of the task. After the task has started, you can use DescribeExportTasks to get the status of the export task. Each account can only have one active (RUNNING or PENDING) export task at a time. To cancel an export task, use CancelExportTask. You can export logs from multiple log groups or multiple time ranges to the same S3 bucket. To separate out log data for each export task, you can specify a prefix to be used as the Amazon S3 key prefix for all exported objects. Exporting to S3 buckets that are encrypted with AES-256 is supported. Exporting to S3 buckets encrypted with SSE-KMS is not supported. + +Required Parameters +{ + "destination": "The name of S3 bucket for the exported log data. The bucket must be in the same AWS region.", + "logGroupName": "The name of the log group.", + "to": "The end time of the range for the request, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC. Events with a timestamp later than this time are not exported.", + "from": "The start time of the range for the request, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC. Events with a timestamp earlier than this time are not exported." +} + +Optional Parameters +{ + "destinationPrefix": "The prefix used as the start of the key for every object exported. If you don't specify a value, the default is exportedlogs.", + "taskName": "The name of the export task.", + "logStreamNamePrefix": "Export only log streams that match the provided prefix. If you don't specify a value, no prefix filter is applied." +} +""" +CreateExportTask(args) = cloudwatch_logs("CreateExportTask", args) + +""" + DescribeDestinations() + +Lists all your destinations. The results are ASCII-sorted by destination name. + +Optional Parameters +{ + "DestinationNamePrefix": "The prefix to match. If you don't specify a value, no prefix filter is applied.", + "nextToken": "The token for the next set of items to return. (You received this token from a previous call.)", + "limit": "The maximum number of items returned. If you don't specify a value, the default is up to 50 items." +} +""" +DescribeDestinations() = cloudwatch_logs("DescribeDestinations") +DescribeDestinations(args) = cloudwatch_logs("DescribeDestinations", args) + +""" + DescribeQueries() + +Returns a list of CloudWatch Logs Insights queries that are scheduled, executing, or have been executed recently in this account. You can request all queries, or limit it to queries of a specific log group or queries with a certain status. + +Optional Parameters +{ + "status": "Limits the returned queries to only those that have the specified status. Valid values are Cancelled, Complete, Failed, Running, and Scheduled.", + "maxResults": "Limits the number of returned queries to the specified number.", + "logGroupName": "Limits the returned queries to only those for the specified log group.", + "nextToken": "" +} +""" +DescribeQueries() = cloudwatch_logs("DescribeQueries") +DescribeQueries(args) = cloudwatch_logs("DescribeQueries", args) + +""" + DisassociateKmsKey() + +Disassociates the associated AWS Key Management Service (AWS KMS) customer master key (CMK) from the specified log group. After the AWS KMS CMK is disassociated from the log group, AWS CloudWatch Logs stops encrypting newly ingested data for the log group. All previously ingested data remains encrypted, and AWS CloudWatch Logs requires permissions for the CMK whenever the encrypted data is requested. Note that it can take up to 5 minutes for this operation to take effect. + +Required Parameters +{ + "logGroupName": "The name of the log group." +} +""" +DisassociateKmsKey(args) = cloudwatch_logs("DisassociateKmsKey", args) + +""" + DeleteMetricFilter() + +Deletes the specified metric filter. + +Required Parameters +{ + "logGroupName": "The name of the log group.", + "filterName": "The name of the metric filter." +} +""" +DeleteMetricFilter(args) = cloudwatch_logs("DeleteMetricFilter", args) + +""" + ListTagsLogGroup() + +Lists the tags for the specified log group. + +Required Parameters +{ + "logGroupName": "The name of the log group." +} +""" +ListTagsLogGroup(args) = cloudwatch_logs("ListTagsLogGroup", args) + +""" + DeleteLogGroup() + +Deletes the specified log group and permanently deletes all the archived log events associated with the log group. + +Required Parameters +{ + "logGroupName": "The name of the log group." +} +""" +DeleteLogGroup(args) = cloudwatch_logs("DeleteLogGroup", args) + +""" + FilterLogEvents() + +Lists log events from the specified log group. You can list all the log events or filter the results using a filter pattern, a time range, and the name of the log stream. By default, this operation returns as many log events as can fit in 1 MB (up to 10,000 log events), or all the events found within the time range that you specify. If the results include a token, then there are more log events available, and you can get additional results by specifying the token in a subsequent call. + +Required Parameters +{ + "logGroupName": "The name of the log group to search." +} + +Optional Parameters +{ + "logStreamNames": "Filters the results to only logs from the log streams in this list. If you specify a value for both logStreamNamePrefix and logStreamNames, the action returns an InvalidParameterException error.", + "startTime": "The start of the time range, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC. Events with a timestamp before this time are not returned.", + "interleaved": "If the value is true, the operation makes a best effort to provide responses that contain events from multiple log streams within the log group, interleaved in a single response. If the value is false, all the matched log events in the first log stream are searched first, then those in the next log stream, and so on. The default is false. IMPORTANT: Starting on June 17, 2019, this parameter will be ignored and the value will be assumed to be true. The response from this operation will always interleave events from multiple log streams within a log group.", + "logStreamNamePrefix": "Filters the results to include only events from log streams that have names starting with this prefix. If you specify a value for both logStreamNamePrefix and logStreamNames, but the value for logStreamNamePrefix does not match any log stream names specified in logStreamNames, the action returns an InvalidParameterException error.", + "filterPattern": "The filter pattern to use. For more information, see Filter and Pattern Syntax. If not provided, all the events are matched.", + "nextToken": "The token for the next set of events to return. (You received this token from a previous call.)", + "endTime": "The end of the time range, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC. Events with a timestamp later than this time are not returned.", + "limit": "The maximum number of events to return. The default is 10,000 events." +} +""" +FilterLogEvents(args) = cloudwatch_logs("FilterLogEvents", args) + +""" + PutDestination() + +Creates or updates a destination. This operation is used only to create destinations for cross-account subscriptions. A destination encapsulates a physical resource (such as an Amazon Kinesis stream) and enables you to subscribe to a real-time stream of log events for a different account, ingested using PutLogEvents. Through an access policy, a destination controls what is written to it. By default, PutDestination does not set any access policy with the destination, which means a cross-account user cannot call PutSubscriptionFilter against this destination. To enable this, the destination owner must call PutDestinationPolicy after PutDestination. + +Required Parameters +{ + "roleArn": "The ARN of an IAM role that grants CloudWatch Logs permissions to call the Amazon Kinesis PutRecord operation on the destination stream.", + "targetArn": "The ARN of an Amazon Kinesis stream to which to deliver matching log events.", + "destinationName": "A name for the destination." +} +""" +PutDestination(args) = cloudwatch_logs("PutDestination", args) + +""" + GetLogRecord() + +Retrieves all the fields and values of a single log event. All fields are retrieved, even if the original query that produced the logRecordPointer retrieved only a subset of fields. Fields are returned as field name/field value pairs. Additionally, the entire unparsed log event is returned within @message. + +Required Parameters +{ + "logRecordPointer": "The pointer corresponding to the log event record you want to retrieve. You get this from the response of a GetQueryResults operation. In that response, the value of the @ptr field for a log event is the value to use as logRecordPointer to retrieve that complete log event record." +} +""" +GetLogRecord(args) = cloudwatch_logs("GetLogRecord", args) + +""" + TagLogGroup() + +Adds or updates the specified tags for the specified log group. To list the tags for a log group, use ListTagsLogGroup. To remove tags, use UntagLogGroup. For more information about tags, see Tag Log Groups in Amazon CloudWatch Logs in the Amazon CloudWatch Logs User Guide. + +Required Parameters +{ + "logGroupName": "The name of the log group.", + "tags": "The key-value pairs to use for the tags." +} +""" +TagLogGroup(args) = cloudwatch_logs("TagLogGroup", args) + +""" + DescribeLogStreams() + +Lists the log streams for the specified log group. You can list all the log streams or filter the results by prefix. You can also control how the results are ordered. This operation has a limit of five transactions per second, after which transactions are throttled. + +Required Parameters +{ + "logGroupName": "The name of the log group." +} + +Optional Parameters +{ + "orderBy": "If the value is LogStreamName, the results are ordered by log stream name. If the value is LastEventTime, the results are ordered by the event time. The default value is LogStreamName. If you order the results by event time, you cannot specify the logStreamNamePrefix parameter. lastEventTimestamp represents the time of the most recent log event in the log stream in CloudWatch Logs. This number is expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC. lastEventTimeStamp updates on an eventual consistency basis. It typically updates in less than an hour from ingestion, but may take longer in some rare situations.", + "descending": "If the value is true, results are returned in descending order. If the value is to false, results are returned in ascending order. The default value is false.", + "logStreamNamePrefix": "The prefix to match. If orderBy is LastEventTime,you cannot specify this parameter.", + "nextToken": "The token for the next set of items to return. (You received this token from a previous call.)", + "limit": "The maximum number of items returned. If you don't specify a value, the default is up to 50 items." +} +""" +DescribeLogStreams(args) = cloudwatch_logs("DescribeLogStreams", args) + +""" + DescribeMetricFilters() + +Lists the specified metric filters. You can list all the metric filters or filter the results by log name, prefix, metric name, or metric namespace. The results are ASCII-sorted by filter name. + +Optional Parameters +{ + "metricName": "Filters results to include only those with the specified metric name. If you include this parameter in your request, you must also include the metricNamespace parameter.", + "filterNamePrefix": "The prefix to match.", + "logGroupName": "The name of the log group.", + "nextToken": "The token for the next set of items to return. (You received this token from a previous call.)", + "metricNamespace": "Filters results to include only those in the specified namespace. If you include this parameter in your request, you must also include the metricName parameter.", + "limit": "The maximum number of items returned. If you don't specify a value, the default is up to 50 items." +} +""" +DescribeMetricFilters() = cloudwatch_logs("DescribeMetricFilters") +DescribeMetricFilters(args) = cloudwatch_logs("DescribeMetricFilters", args) + +""" + DescribeExportTasks() + +Lists the specified export tasks. You can list all your export tasks or filter the results based on task ID or task status. + +Optional Parameters +{ + "taskId": "The ID of the export task. Specifying a task ID filters the results to zero or one export tasks.", + "statusCode": "The status code of the export task. Specifying a status code filters the results to zero or more export tasks.", + "nextToken": "The token for the next set of items to return. (You received this token from a previous call.)", + "limit": "The maximum number of items returned. If you don't specify a value, the default is up to 50 items." +} +""" +DescribeExportTasks() = cloudwatch_logs("DescribeExportTasks") +DescribeExportTasks(args) = cloudwatch_logs("DescribeExportTasks", args) + +""" + AssociateKmsKey() + +Associates the specified AWS Key Management Service (AWS KMS) customer master key (CMK) with the specified log group. Associating an AWS KMS CMK with a log group overrides any existing associations between the log group and a CMK. After a CMK is associated with a log group, all newly ingested data for the log group is encrypted using the CMK. This association is stored as long as the data encrypted with the CMK is still within Amazon CloudWatch Logs. This enables Amazon CloudWatch Logs to decrypt this data whenever it is requested. Important: CloudWatch Logs supports only symmetric CMKs. Do not use an associate an asymmetric CMK with your log group. For more information, see Using Symmetric and Asymmetric Keys. Note that it can take up to 5 minutes for this operation to take effect. If you attempt to associate a CMK with a log group but the CMK does not exist or the CMK is disabled, you will receive an InvalidParameterException error. + +Required Parameters +{ + "logGroupName": "The name of the log group.", + "kmsKeyId": "The Amazon Resource Name (ARN) of the CMK to use when encrypting log data. This must be a symmetric CMK. For more information, see Amazon Resource Names - AWS Key Management Service (AWS KMS) and Using Symmetric and Asymmetric Keys." +} +""" +AssociateKmsKey(args) = cloudwatch_logs("AssociateKmsKey", args) + +""" + StartQuery() + +Schedules a query of a log group using CloudWatch Logs Insights. You specify the log group and time range to query, and the query string to use. For more information, see CloudWatch Logs Insights Query Syntax. Queries time out after 15 minutes of execution. If your queries are timing out, reduce the time range being searched, or partition your query into a number of queries. + +Required Parameters +{ + "startTime": "The beginning of the time range to query. The range is inclusive, so the specified start time is included in the query. Specified as epoch time, the number of seconds since January 1, 1970, 00:00:00 UTC.", + "queryString": "The query string to use. For more information, see CloudWatch Logs Insights Query Syntax.", + "endTime": "The end of the time range to query. The range is inclusive, so the specified end time is included in the query. Specified as epoch time, the number of seconds since January 1, 1970, 00:00:00 UTC." +} + +Optional Parameters +{ + "logGroupNames": "The list of log groups to be queried. You can include up to 20 log groups. A StartQuery operation must include a logGroupNames or a logGroupName parameter, but not both.", + "logGroupName": "The log group on which to perform the query. A StartQuery operation must include a logGroupNames or a logGroupName parameter, but not both.", + "limit": "The maximum number of log events to return in the query. If the query string uses the fields command, only the specified fields and their values are returned. The default is 1000." +} +""" +StartQuery(args) = cloudwatch_logs("StartQuery", args) + +""" + DeleteRetentionPolicy() + +Deletes the specified retention policy. Log events do not expire if they belong to log groups without a retention policy. + +Required Parameters +{ + "logGroupName": "The name of the log group." +} +""" +DeleteRetentionPolicy(args) = cloudwatch_logs("DeleteRetentionPolicy", args) + +""" + DeleteDestination() + +Deletes the specified destination, and eventually disables all the subscription filters that publish to it. This operation does not delete the physical resource encapsulated by the destination. + +Required Parameters +{ + "destinationName": "The name of the destination." +} +""" +DeleteDestination(args) = cloudwatch_logs("DeleteDestination", args) + +""" + DescribeResourcePolicies() + +Lists the resource policies in this account. + +Optional Parameters +{ + "nextToken": "", + "limit": "The maximum number of resource policies to be displayed with one call of this API." +} +""" +DescribeResourcePolicies() = cloudwatch_logs("DescribeResourcePolicies") +DescribeResourcePolicies(args) = cloudwatch_logs("DescribeResourcePolicies", args) + +""" + GetLogGroupFields() + +Returns a list of the fields that are included in log events in the specified log group, along with the percentage of log events that contain each field. The search is limited to a time period that you specify. In the results, fields that start with @ are fields generated by CloudWatch Logs. For example, @timestamp is the timestamp of each log event. The response results are sorted by the frequency percentage, starting with the highest percentage. + +Required Parameters +{ + "logGroupName": "The name of the log group to search." +} + +Optional Parameters +{ + "time": "The time to set as the center of the query. If you specify time, the 8 minutes before and 8 minutes after this time are searched. If you omit time, the past 15 minutes are queried. The time value is specified as epoch time, the number of seconds since January 1, 1970, 00:00:00 UTC." +} +""" +GetLogGroupFields(args) = cloudwatch_logs("GetLogGroupFields", args) + +""" + GetLogEvents() + +Lists log events from the specified log stream. You can list all the log events or filter using a time range. By default, this operation returns as many log events as can fit in a response size of 1MB (up to 10,000 log events). You can get additional log events by specifying one of the tokens in a subsequent call. + +Required Parameters +{ + "logStreamName": "The name of the log stream.", + "logGroupName": "The name of the log group." +} + +Optional Parameters +{ + "startTime": "The start of the time range, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC. Events with a timestamp equal to this time or later than this time are included. Events with a timestamp earlier than this time are not included.", + "startFromHead": "If the value is true, the earliest log events are returned first. If the value is false, the latest log events are returned first. The default value is false. If you are using nextToken in this operation, you must specify true for startFromHead.", + "nextToken": "The token for the next set of items to return. (You received this token from a previous call.) Using this token works only when you specify true for startFromHead.", + "endTime": "The end of the time range, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC. Events with a timestamp equal to or later than this time are not included.", + "limit": "The maximum number of log events returned. If you don't specify a value, the maximum is as many log events as can fit in a response size of 1 MB, up to 10,000 log events." +} +""" +GetLogEvents(args) = cloudwatch_logs("GetLogEvents", args) + +""" + DescribeLogGroups() + +Lists the specified log groups. You can list all your log groups or filter the results by prefix. The results are ASCII-sorted by log group name. + +Optional Parameters +{ + "logGroupNamePrefix": "The prefix to match.", + "nextToken": "The token for the next set of items to return. (You received this token from a previous call.)", + "limit": "The maximum number of items returned. If you don't specify a value, the default is up to 50 items." +} +""" +DescribeLogGroups() = cloudwatch_logs("DescribeLogGroups") +DescribeLogGroups(args) = cloudwatch_logs("DescribeLogGroups", args) diff --git a/src/services/codebuild.jl b/src/services/codebuild.jl new file mode 100644 index 0000000000..464f479e5e --- /dev/null +++ b/src/services/codebuild.jl @@ -0,0 +1,549 @@ +include("../AWSServices.jl") +using .AWSServices: codebuild + +""" + DeleteResourcePolicy() + + Deletes a resource policy that is identified by its resource ARN. + +Required Parameters +{ + "resourceArn": " The ARN of the resource that is associated with the resource policy. " +} +""" +DeleteResourcePolicy(args) = codebuild("DeleteResourcePolicy", args) + +""" + UpdateProject() + +Changes the settings of a build project. + +Required Parameters +{ + "name": "The name of the build project. You cannot change a build project's name. " +} + +Optional Parameters +{ + "badgeEnabled": "Set this to true to generate a publicly accessible URL for your project's build badge.", + "vpcConfig": "VpcConfig enables AWS CodeBuild to access resources in an Amazon VPC.", + "timeoutInMinutes": "The replacement value in minutes, from 5 to 480 (8 hours), for AWS CodeBuild to wait before timing out any related build that did not get marked as completed.", + "environment": "Information to be changed about the build environment for the build project.", + "queuedTimeoutInMinutes": " The number of minutes a build is allowed to be queued before it times out. ", + "description": "A new or replacement description of the build project.", + "artifacts": "Information to be changed about the build output artifacts for the build project.", + "cache": "Stores recently used information so that it can be quickly accessed at a later time.", + "serviceRole": "The replacement ARN of the AWS Identity and Access Management (IAM) role that enables AWS CodeBuild to interact with dependent AWS services on behalf of the AWS account.", + "secondaryArtifacts": " An array of ProjectSource objects. ", + "encryptionKey": "The AWS Key Management Service (AWS KMS) customer master key (CMK) to be used for encrypting the build output artifacts. You can use a cross-account KMS key to encrypt the build output artifacts if your service role has permission to that key. You can specify either the Amazon Resource Name (ARN) of the CMK or, if available, the CMK's alias (using the format alias/alias-name ).", + "source": "Information to be changed about the build input source code for the build project.", + "secondarySources": " An array of ProjectSource objects. ", + "logsConfig": " Information about logs for the build project. A project can create logs in Amazon CloudWatch Logs, logs in an S3 bucket, or both. ", + "secondarySourceVersions": " An array of ProjectSourceVersion objects. If secondarySourceVersions is specified at the build level, then they take over these secondarySourceVersions (at the project level). ", + "fileSystemLocations": " An array of ProjectFileSystemLocation objects for a CodeBuild build project. A ProjectFileSystemLocation object specifies the identifier, location, mountOptions, mountPoint, and type of a file system created using Amazon Elastic File System. ", + "tags": "The replacement set of tags for this build project. These tags are available for use by AWS services that support AWS CodeBuild build project tags.", + "sourceVersion": " A version of the build input to be built for this project. If not specified, the latest version is used. If specified, it must be one of: For AWS CodeCommit: the commit ID, branch, or Git tag to use. For GitHub: the commit ID, pull request ID, branch name, or tag name that corresponds to the version of the source code you want to build. If a pull request ID is specified, it must use the format pr/pull-request-ID (for example pr/25). If a branch name is specified, the branch's HEAD commit ID is used. If not specified, the default branch's HEAD commit ID is used. For Bitbucket: the commit ID, branch name, or tag name that corresponds to the version of the source code you want to build. If a branch name is specified, the branch's HEAD commit ID is used. If not specified, the default branch's HEAD commit ID is used. For Amazon Simple Storage Service (Amazon S3): the version ID of the object that represents the build input ZIP file to use. If sourceVersion is specified at the build level, then that version takes precedence over this sourceVersion (at the project level). For more information, see Source Version Sample with CodeBuild in the AWS CodeBuild User Guide. " +} +""" +UpdateProject(args) = codebuild("UpdateProject", args) + +""" + BatchGetBuilds() + +Gets information about one or more builds. + +Required Parameters +{ + "ids": "The IDs of the builds." +} +""" +BatchGetBuilds(args) = codebuild("BatchGetBuilds", args) + +""" + DeleteReport() + + Deletes a report. + +Required Parameters +{ + "arn": " The ARN of the report to delete. " +} +""" +DeleteReport(args) = codebuild("DeleteReport", args) + +""" + ListCuratedEnvironmentImages() + +Gets information about Docker images that are managed by AWS CodeBuild. +""" +ListCuratedEnvironmentImages() = codebuild("ListCuratedEnvironmentImages") +ListCuratedEnvironmentImages(args) = codebuild("ListCuratedEnvironmentImages", args) + +""" + ListBuilds() + +Gets a list of build IDs, with each build ID representing a single build. + +Optional Parameters +{ + "sortOrder": "The order to list build IDs. Valid values include: ASCENDING: List the build IDs in ascending order by build ID. DESCENDING: List the build IDs in descending order by build ID. ", + "nextToken": "During a previous call, if there are more than 100 items in the list, only the first 100 items are returned, along with a unique string called a nextToken. To get the next batch of items in the list, call this operation again, adding the next token to the call. To get all of the items in the list, keep calling this operation with each subsequent next token that is returned, until no more next tokens are returned." +} +""" +ListBuilds() = codebuild("ListBuilds") +ListBuilds(args) = codebuild("ListBuilds", args) + +""" + GetResourcePolicy() + + Gets a resource policy that is identified by its resource ARN. + +Required Parameters +{ + "resourceArn": " The ARN of the resource that is associated with the resource policy. " +} +""" +GetResourcePolicy(args) = codebuild("GetResourcePolicy", args) + +""" + PutResourcePolicy() + + Stores a resource policy for the ARN of a Project or ReportGroup object. + +Required Parameters +{ + "policy": " A JSON-formatted resource policy. For more information, see Sharing a Project and Sharing a Report Group in the AWS CodeBuild User Guide. ", + "resourceArn": " The ARN of the Project or ReportGroup resource you want to associate with a resource policy. " +} +""" +PutResourcePolicy(args) = codebuild("PutResourcePolicy", args) + +""" + BatchGetReportGroups() + + Returns an array of report groups. + +Required Parameters +{ + "reportGroupArns": " An array of report group ARNs that identify the report groups to return. " +} +""" +BatchGetReportGroups(args) = codebuild("BatchGetReportGroups", args) + +""" + CreateProject() + +Creates a build project. + +Required Parameters +{ + "name": "The name of the build project.", + "source": "Information about the build input source code for the build project.", + "serviceRole": "The ARN of the AWS Identity and Access Management (IAM) role that enables AWS CodeBuild to interact with dependent AWS services on behalf of the AWS account.", + "environment": "Information about the build environment for the build project.", + "artifacts": "Information about the build output artifacts for the build project." +} + +Optional Parameters +{ + "badgeEnabled": "Set this to true to generate a publicly accessible URL for your project's build badge.", + "vpcConfig": "VpcConfig enables AWS CodeBuild to access resources in an Amazon VPC.", + "timeoutInMinutes": "How long, in minutes, from 5 to 480 (8 hours), for AWS CodeBuild to wait before it times out any build that has not been marked as completed. The default is 60 minutes.", + "queuedTimeoutInMinutes": " The number of minutes a build is allowed to be queued before it times out. ", + "description": "A description that makes the build project easy to identify.", + "cache": "Stores recently used information so that it can be quickly accessed at a later time.", + "secondaryArtifacts": " An array of ProjectArtifacts objects. ", + "encryptionKey": "The AWS Key Management Service (AWS KMS) customer master key (CMK) to be used for encrypting the build output artifacts. You can use a cross-account KMS key to encrypt the build output artifacts if your service role has permission to that key. You can specify either the Amazon Resource Name (ARN) of the CMK or, if available, the CMK's alias (using the format alias/alias-name ).", + "secondarySources": " An array of ProjectSource objects. ", + "logsConfig": " Information about logs for the build project. These can be logs in Amazon CloudWatch Logs, logs uploaded to a specified S3 bucket, or both. ", + "secondarySourceVersions": " An array of ProjectSourceVersion objects. If secondarySourceVersions is specified at the build level, then they take precedence over these secondarySourceVersions (at the project level). ", + "fileSystemLocations": " An array of ProjectFileSystemLocation objects for a CodeBuild build project. A ProjectFileSystemLocation object specifies the identifier, location, mountOptions, mountPoint, and type of a file system created using Amazon Elastic File System. ", + "tags": "A set of tags for this build project. These tags are available for use by AWS services that support AWS CodeBuild build project tags.", + "sourceVersion": " A version of the build input to be built for this project. If not specified, the latest version is used. If specified, it must be one of: For AWS CodeCommit: the commit ID, branch, or Git tag to use. For GitHub: the commit ID, pull request ID, branch name, or tag name that corresponds to the version of the source code you want to build. If a pull request ID is specified, it must use the format pr/pull-request-ID (for example pr/25). If a branch name is specified, the branch's HEAD commit ID is used. If not specified, the default branch's HEAD commit ID is used. For Bitbucket: the commit ID, branch name, or tag name that corresponds to the version of the source code you want to build. If a branch name is specified, the branch's HEAD commit ID is used. If not specified, the default branch's HEAD commit ID is used. For Amazon Simple Storage Service (Amazon S3): the version ID of the object that represents the build input ZIP file to use. If sourceVersion is specified at the build level, then that version takes precedence over this sourceVersion (at the project level). For more information, see Source Version Sample with CodeBuild in the AWS CodeBuild User Guide. " +} +""" +CreateProject(args) = codebuild("CreateProject", args) + +""" + ListSharedReportGroups() + + Gets a list of report groups that are shared with other AWS accounts or users. + +Optional Parameters +{ + "sortBy": " The criterion to be used to list report groups shared with the current AWS account or user. Valid values include: ARN: List based on the ARN. MODIFIED_TIME: List based on when information about the shared report group was last changed. ", + "sortOrder": "The order in which to list shared report groups. Valid values include: ASCENDING: List in ascending order. DESCENDING: List in descending order. ", + "maxResults": " The maximum number of paginated shared report groups per response. Use nextToken to iterate pages in the list of returned ReportGroup objects. The default value is 100. ", + "nextToken": " During a previous call, the maximum number of items that can be returned is the value specified in maxResults. If there more items in the list, then a unique string called a nextToken is returned. To get the next batch of items in the list, call this operation again, adding the next token to the call. To get all of the items in the list, keep calling this operation with each subsequent next token that is returned, until no more next tokens are returned. " +} +""" +ListSharedReportGroups() = codebuild("ListSharedReportGroups") +ListSharedReportGroups(args) = codebuild("ListSharedReportGroups", args) + +""" + ListReportGroups() + + Gets a list ARNs for the report groups in the current AWS account. + +Optional Parameters +{ + "sortBy": " The criterion to be used to list build report groups. Valid values include: CREATED_TIME: List based on when each report group was created. LAST_MODIFIED_TIME: List based on when each report group was last changed. NAME: List based on each report group's name. ", + "sortOrder": " Used to specify the order to sort the list of returned report groups. Valid values are ASCENDING and DESCENDING. ", + "maxResults": " The maximum number of paginated report groups returned per response. Use nextToken to iterate pages in the list of returned ReportGroup objects. The default value is 100. ", + "nextToken": " During a previous call, the maximum number of items that can be returned is the value specified in maxResults. If there more items in the list, then a unique string called a nextToken is returned. To get the next batch of items in the list, call this operation again, adding the next token to the call. To get all of the items in the list, keep calling this operation with each subsequent next token that is returned, until no more next tokens are returned. " +} +""" +ListReportGroups() = codebuild("ListReportGroups") +ListReportGroups(args) = codebuild("ListReportGroups", args) + +""" + ListReports() + + Returns a list of ARNs for the reports in the current AWS account. + +Optional Parameters +{ + "filter": " A ReportFilter object used to filter the returned reports. ", + "sortOrder": " Specifies the sort order for the list of returned reports. Valid values are: ASCENDING: return reports in chronological order based on their creation date. DESCENDING: return reports in the reverse chronological order based on their creation date. ", + "maxResults": " The maximum number of paginated reports returned per response. Use nextToken to iterate pages in the list of returned Report objects. The default value is 100. ", + "nextToken": " During a previous call, the maximum number of items that can be returned is the value specified in maxResults. If there more items in the list, then a unique string called a nextToken is returned. To get the next batch of items in the list, call this operation again, adding the next token to the call. To get all of the items in the list, keep calling this operation with each subsequent next token that is returned, until no more next tokens are returned. " +} +""" +ListReports() = codebuild("ListReports") +ListReports(args) = codebuild("ListReports", args) + +""" + StartBuild() + +Starts running a build. + +Required Parameters +{ + "projectName": "The name of the AWS CodeBuild build project to start running a build." +} + +Optional Parameters +{ + "imageOverride": "The name of an image for this build that overrides the one specified in the build project.", + "gitCloneDepthOverride": "The user-defined depth of history, with a minimum value of 0, that overrides, for this build only, any previous depth of history defined in the build project.", + "encryptionKeyOverride": "The AWS Key Management Service (AWS KMS) customer master key (CMK) that overrides the one specified in the build project. The CMK key encrypts the build output artifacts. You can use a cross-account KMS key to encrypt the build output artifacts if your service role has permission to that key. You can specify either the Amazon Resource Name (ARN) of the CMK or, if available, the CMK's alias (using the format alias/alias-name ).", + "serviceRoleOverride": "The name of a service role for this build that overrides the one specified in the build project.", + "cacheOverride": "A ProjectCache object specified for this build that overrides the one defined in the build project.", + "registryCredentialOverride": " The credentials for access to a private registry. ", + "logsConfigOverride": " Log settings for this build that override the log settings defined in the build project. ", + "secondaryArtifactsOverride": " An array of ProjectArtifacts objects. ", + "secondarySourcesOverride": " An array of ProjectSource objects. ", + "artifactsOverride": "Build output artifact settings that override, for this build only, the latest ones already defined in the build project.", + "queuedTimeoutInMinutesOverride": " The number of minutes a build is allowed to be queued before it times out. ", + "sourceTypeOverride": "A source input type, for this build, that overrides the source input defined in the build project.", + "idempotencyToken": "A unique, case sensitive identifier you provide to ensure the idempotency of the StartBuild request. The token is included in the StartBuild request and is valid for 12 hours. If you repeat the StartBuild request with the same token, but change a parameter, AWS CodeBuild returns a parameter mismatch error. ", + "privilegedModeOverride": "Enable this flag to override privileged mode in the build project.", + "certificateOverride": "The name of a certificate for this build that overrides the one specified in the build project.", + "secondarySourcesVersionOverride": " An array of ProjectSourceVersion objects that specify one or more versions of the project's secondary sources to be used for this build only. ", + "buildspecOverride": "A buildspec file declaration that overrides, for this build only, the latest one already defined in the build project. If this value is set, it can be either an inline buildspec definition, the path to an alternate buildspec file relative to the value of the built-in CODEBUILD_SRC_DIR environment variable, or the path to an S3 bucket. The bucket must be in the same AWS Region as the build project. Specify the buildspec file using its ARN (for example, arn:aws:s3:::my-codebuild-sample2/buildspec.yml). If this value is not provided or is set to an empty string, the source code must contain a buildspec file in its root directory. For more information, see Buildspec File Name and Storage Location. ", + "reportBuildStatusOverride": " Set to true to report to your source provider the status of a build's start and completion. If you use this option with a source provider other than GitHub, GitHub Enterprise, or Bitbucket, an invalidInputException is thrown. The status of a build triggered by a webhook is always reported to your source provider. ", + "computeTypeOverride": "The name of a compute type for this build that overrides the one specified in the build project.", + "environmentTypeOverride": "A container type for this build that overrides the one specified in the build project.", + "gitSubmodulesConfigOverride": " Information about the Git submodules configuration for this build of an AWS CodeBuild build project. ", + "timeoutInMinutesOverride": "The number of build timeout minutes, from 5 to 480 (8 hours), that overrides, for this build only, the latest setting already defined in the build project.", + "environmentVariablesOverride": "A set of environment variables that overrides, for this build only, the latest ones already defined in the build project.", + "sourceLocationOverride": "A location that overrides, for this build, the source location for the one defined in the build project.", + "sourceAuthOverride": "An authorization type for this build that overrides the one defined in the build project. This override applies only if the build project's source is BitBucket or GitHub.", + "insecureSslOverride": "Enable this flag to override the insecure SSL setting that is specified in the build project. The insecure SSL setting determines whether to ignore SSL warnings while connecting to the project source code. This override applies only if the build's source is GitHub Enterprise.", + "imagePullCredentialsTypeOverride": " The type of credentials AWS CodeBuild uses to pull images in your build. There are two valid values: CODEBUILD specifies that AWS CodeBuild uses its own credentials. This requires that you modify your ECR repository policy to trust AWS CodeBuild's service principal. SERVICE_ROLE specifies that AWS CodeBuild uses your build project's service role. When using a cross-account or private registry image, you must use SERVICE_ROLE credentials. When using an AWS CodeBuild curated image, you must use CODEBUILD credentials. ", + "sourceVersion": "A version of the build input to be built, for this build only. If not specified, the latest version is used. If specified, must be one of: For AWS CodeCommit: the commit ID, branch, or Git tag to use. For GitHub: the commit ID, pull request ID, branch name, or tag name that corresponds to the version of the source code you want to build. If a pull request ID is specified, it must use the format pr/pull-request-ID (for example pr/25). If a branch name is specified, the branch's HEAD commit ID is used. If not specified, the default branch's HEAD commit ID is used. For Bitbucket: the commit ID, branch name, or tag name that corresponds to the version of the source code you want to build. If a branch name is specified, the branch's HEAD commit ID is used. If not specified, the default branch's HEAD commit ID is used. For Amazon Simple Storage Service (Amazon S3): the version ID of the object that represents the build input ZIP file to use. If sourceVersion is specified at the project level, then this sourceVersion (at the build level) takes precedence. For more information, see Source Version Sample with CodeBuild in the AWS CodeBuild User Guide. " +} +""" +StartBuild(args) = codebuild("StartBuild", args) + +""" + ListProjects() + +Gets a list of build project names, with each build project name representing a single build project. + +Optional Parameters +{ + "sortBy": "The criterion to be used to list build project names. Valid values include: CREATED_TIME: List based on when each build project was created. LAST_MODIFIED_TIME: List based on when information about each build project was last changed. NAME: List based on each build project's name. Use sortOrder to specify in what order to list the build project names based on the preceding criteria.", + "sortOrder": "The order in which to list build projects. Valid values include: ASCENDING: List in ascending order. DESCENDING: List in descending order. Use sortBy to specify the criterion to be used to list build project names.", + "nextToken": "During a previous call, if there are more than 100 items in the list, only the first 100 items are returned, along with a unique string called a nextToken. To get the next batch of items in the list, call this operation again, adding the next token to the call. To get all of the items in the list, keep calling this operation with each subsequent next token that is returned, until no more next tokens are returned." +} +""" +ListProjects() = codebuild("ListProjects") +ListProjects(args) = codebuild("ListProjects", args) + +""" + ListSharedProjects() + + Gets a list of projects that are shared with other AWS accounts or users. + +Optional Parameters +{ + "sortBy": " The criterion to be used to list build projects shared with the current AWS account or user. Valid values include: ARN: List based on the ARN. MODIFIED_TIME: List based on when information about the shared project was last changed. ", + "sortOrder": "The order in which to list shared build projects. Valid values include: ASCENDING: List in ascending order. DESCENDING: List in descending order. ", + "maxResults": " The maximum number of paginated shared build projects returned per response. Use nextToken to iterate pages in the list of returned Project objects. The default value is 100. ", + "nextToken": " During a previous call, the maximum number of items that can be returned is the value specified in maxResults. If there more items in the list, then a unique string called a nextToken is returned. To get the next batch of items in the list, call this operation again, adding the next token to the call. To get all of the items in the list, keep calling this operation with each subsequent next token that is returned, until no more next tokens are returned. " +} +""" +ListSharedProjects() = codebuild("ListSharedProjects") +ListSharedProjects(args) = codebuild("ListSharedProjects", args) + +""" + BatchGetProjects() + +Gets information about one or more build projects. + +Required Parameters +{ + "names": "The names or ARNs of the build projects. To get information about a project shared with your AWS account, its ARN must be specified. You cannot specify a shared project using its name." +} +""" +BatchGetProjects(args) = codebuild("BatchGetProjects", args) + +""" + CreateWebhook() + +For an existing AWS CodeBuild build project that has its source code stored in a GitHub or Bitbucket repository, enables AWS CodeBuild to start rebuilding the source code every time a code change is pushed to the repository. If you enable webhooks for an AWS CodeBuild project, and the project is used as a build step in AWS CodePipeline, then two identical builds are created for each commit. One build is triggered through webhooks, and one through AWS CodePipeline. Because billing is on a per-build basis, you are billed for both builds. Therefore, if you are using AWS CodePipeline, we recommend that you disable webhooks in AWS CodeBuild. In the AWS CodeBuild console, clear the Webhook box. For more information, see step 5 in Change a Build Project's Settings. + +Required Parameters +{ + "projectName": "The name of the AWS CodeBuild project." +} + +Optional Parameters +{ + "branchFilter": "A regular expression used to determine which repository branches are built when a webhook is triggered. If the name of a branch matches the regular expression, then it is built. If branchFilter is empty, then all branches are built. It is recommended that you use filterGroups instead of branchFilter. ", + "filterGroups": " An array of arrays of WebhookFilter objects used to determine which webhooks are triggered. At least one WebhookFilter in the array must specify EVENT as its type. For a build to be triggered, at least one filter group in the filterGroups array must pass. For a filter group to pass, each of its filters must pass. " +} +""" +CreateWebhook(args) = codebuild("CreateWebhook", args) + +""" + DeleteWebhook() + +For an existing AWS CodeBuild build project that has its source code stored in a GitHub or Bitbucket repository, stops AWS CodeBuild from rebuilding the source code every time a code change is pushed to the repository. + +Required Parameters +{ + "projectName": "The name of the AWS CodeBuild project." +} +""" +DeleteWebhook(args) = codebuild("DeleteWebhook", args) + +""" + UpdateWebhook() + + Updates the webhook associated with an AWS CodeBuild build project. If you use Bitbucket for your repository, rotateSecret is ignored. + +Required Parameters +{ + "projectName": "The name of the AWS CodeBuild project." +} + +Optional Parameters +{ + "branchFilter": "A regular expression used to determine which repository branches are built when a webhook is triggered. If the name of a branch matches the regular expression, then it is built. If branchFilter is empty, then all branches are built. It is recommended that you use filterGroups instead of branchFilter. ", + "rotateSecret": " A boolean value that specifies whether the associated GitHub repository's secret token should be updated. If you use Bitbucket for your repository, rotateSecret is ignored. ", + "filterGroups": " An array of arrays of WebhookFilter objects used to determine if a webhook event can trigger a build. A filter group must contain at least one EVENT WebhookFilter. " +} +""" +UpdateWebhook(args) = codebuild("UpdateWebhook", args) + +""" + DeleteProject() + + Deletes a build project. When you delete a project, its builds are not deleted. + +Required Parameters +{ + "name": "The name of the build project." +} +""" +DeleteProject(args) = codebuild("DeleteProject", args) + +""" + DeleteSourceCredentials() + + Deletes a set of GitHub, GitHub Enterprise, or Bitbucket source credentials. + +Required Parameters +{ + "arn": " The Amazon Resource Name (ARN) of the token." +} +""" +DeleteSourceCredentials(args) = codebuild("DeleteSourceCredentials", args) + +""" + DeleteReportGroup() + + DeleteReportGroup: Deletes a report group. Before you delete a report group, you must delete its reports. Use ListReportsForReportGroup to get the reports in a report group. Use DeleteReport to delete the reports. If you call DeleteReportGroup for a report group that contains one or more reports, an exception is thrown. + +Required Parameters +{ + "arn": " The ARN of the report group to delete. " +} +""" +DeleteReportGroup(args) = codebuild("DeleteReportGroup", args) + +""" + UpdateReportGroup() + + Updates a report group. + +Required Parameters +{ + "arn": " The ARN of the report group to update. " +} + +Optional Parameters +{ + "exportConfig": " Used to specify an updated export type. Valid values are: S3: The report results are exported to an S3 bucket. NO_EXPORT: The report results are not exported. " +} +""" +UpdateReportGroup(args) = codebuild("UpdateReportGroup", args) + +""" + ListBuildsForProject() + +Gets a list of build IDs for the specified build project, with each build ID representing a single build. + +Required Parameters +{ + "projectName": "The name of the AWS CodeBuild project." +} + +Optional Parameters +{ + "sortOrder": "The order to list build IDs. Valid values include: ASCENDING: List the build IDs in ascending order by build ID. DESCENDING: List the build IDs in descending order by build ID. ", + "nextToken": "During a previous call, if there are more than 100 items in the list, only the first 100 items are returned, along with a unique string called a nextToken. To get the next batch of items in the list, call this operation again, adding the next token to the call. To get all of the items in the list, keep calling this operation with each subsequent next token that is returned, until no more next tokens are returned." +} +""" +ListBuildsForProject(args) = codebuild("ListBuildsForProject", args) + +""" + InvalidateProjectCache() + +Resets the cache for a project. + +Required Parameters +{ + "projectName": "The name of the AWS CodeBuild build project that the cache is reset for." +} +""" +InvalidateProjectCache(args) = codebuild("InvalidateProjectCache", args) + +""" + StopBuild() + +Attempts to stop running a build. + +Required Parameters +{ + "id": "The ID of the build." +} +""" +StopBuild(args) = codebuild("StopBuild", args) + +""" + ListReportsForReportGroup() + + Returns a list of ARNs for the reports that belong to a ReportGroup. + +Required Parameters +{ + "reportGroupArn": " The ARN of the report group for which you want to return report ARNs. " +} + +Optional Parameters +{ + "filter": " A ReportFilter object used to filter the returned reports. ", + "sortOrder": " Use to specify whether the results are returned in ascending or descending order. ", + "maxResults": " The maximum number of paginated reports in this report group returned per response. Use nextToken to iterate pages in the list of returned Report objects. The default value is 100. ", + "nextToken": " During a previous call, the maximum number of items that can be returned is the value specified in maxResults. If there more items in the list, then a unique string called a nextToken is returned. To get the next batch of items in the list, call this operation again, adding the next token to the call. To get all of the items in the list, keep calling this operation with each subsequent next token that is returned, until no more next tokens are returned. " +} +""" +ListReportsForReportGroup(args) = codebuild("ListReportsForReportGroup", args) + +""" + CreateReportGroup() + + Creates a report group. A report group contains a collection of reports. + +Required Parameters +{ + "name": " The name of the report group. ", + "exportConfig": " A ReportExportConfig object that contains information about where the report group test results are exported. ", + "type": " The type of report group. " +} +""" +CreateReportGroup(args) = codebuild("CreateReportGroup", args) + +""" + BatchGetReports() + + Returns an array of reports. + +Required Parameters +{ + "reportArns": " An array of ARNs that identify the Report objects to return. " +} +""" +BatchGetReports(args) = codebuild("BatchGetReports", args) + +""" + ImportSourceCredentials() + + Imports the source repository credentials for an AWS CodeBuild project that has its source code stored in a GitHub, GitHub Enterprise, or Bitbucket repository. + +Required Parameters +{ + "token": " For GitHub or GitHub Enterprise, this is the personal access token. For Bitbucket, this is the app password. ", + "serverType": " The source provider used for this project. ", + "authType": " The type of authentication used to connect to a GitHub, GitHub Enterprise, or Bitbucket repository. An OAUTH connection is not supported by the API and must be created using the AWS CodeBuild console. " +} + +Optional Parameters +{ + "username": " The Bitbucket username when the authType is BASIC_AUTH. This parameter is not valid for other types of source providers or connections. ", + "shouldOverwrite": " Set to false to prevent overwriting the repository source credentials. Set to true to overwrite the repository source credentials. The default value is true. " +} +""" +ImportSourceCredentials(args) = codebuild("ImportSourceCredentials", args) + +""" + BatchDeleteBuilds() + +Deletes one or more builds. + +Required Parameters +{ + "ids": "The IDs of the builds to delete." +} +""" +BatchDeleteBuilds(args) = codebuild("BatchDeleteBuilds", args) + +""" + DescribeTestCases() + + Returns a list of details about test cases for a report. + +Required Parameters +{ + "reportArn": " The ARN of the report for which test cases are returned. " +} + +Optional Parameters +{ + "filter": " A TestCaseFilter object used to filter the returned reports. ", + "maxResults": " The maximum number of paginated test cases returned per response. Use nextToken to iterate pages in the list of returned TestCase objects. The default value is 100. ", + "nextToken": " During a previous call, the maximum number of items that can be returned is the value specified in maxResults. If there more items in the list, then a unique string called a nextToken is returned. To get the next batch of items in the list, call this operation again, adding the next token to the call. To get all of the items in the list, keep calling this operation with each subsequent next token that is returned, until no more next tokens are returned. " +} +""" +DescribeTestCases(args) = codebuild("DescribeTestCases", args) + +""" + ListSourceCredentials() + + Returns a list of SourceCredentialsInfo objects. +""" +ListSourceCredentials() = codebuild("ListSourceCredentials") +ListSourceCredentials(args) = codebuild("ListSourceCredentials", args) diff --git a/src/services/codecommit.jl b/src/services/codecommit.jl new file mode 100644 index 0000000000..785d3ff1f9 --- /dev/null +++ b/src/services/codecommit.jl @@ -0,0 +1,1249 @@ +include("../AWSServices.jl") +using .AWSServices: codecommit + +""" + BatchGetCommits() + +Returns information about the contents of one or more commits in a repository. + +Required Parameters +{ + "commitIds": "The full commit IDs of the commits to get information about. You must supply the full SHA IDs of each commit. You cannot use shortened SHA IDs. ", + "repositoryName": "The name of the repository that contains the commits." +} +""" +BatchGetCommits(args) = codecommit("BatchGetCommits", args) + +""" + CreateRepository() + +Creates a new, empty repository. + +Required Parameters +{ + "repositoryName": "The name of the new repository to be created. The repository name must be unique across the calling AWS account. Repository names are limited to 100 alphanumeric, dash, and underscore characters, and cannot include certain characters. For more information about the limits on repository names, see Limits in the AWS CodeCommit User Guide. The suffix .git is prohibited. " +} + +Optional Parameters +{ + "repositoryDescription": "A comment or description about the new repository. The description field for a repository accepts all HTML characters and all valid Unicode characters. Applications that do not HTML-encode the description and display it in a webpage can expose users to potentially malicious code. Make sure that you HTML-encode the description field in any application that uses this API to display the repository description on a webpage. ", + "tags": "One or more tag key-value pairs to use when tagging this repository." +} +""" +CreateRepository(args) = codecommit("CreateRepository", args) + +""" + UpdateComment() + +Replaces the contents of a comment. + +Required Parameters +{ + "content": "The updated content to replace the existing content of the comment.", + "commentId": "The system-generated ID of the comment you want to update. To get this ID, use GetCommentsForComparedCommit or GetCommentsForPullRequest." +} +""" +UpdateComment(args) = codecommit("UpdateComment", args) + +""" + CreateCommit() + +Creates a commit for a repository on the tip of a specified branch. + +Required Parameters +{ + "repositoryName": "The name of the repository where you create the commit.", + "branchName": "The name of the branch where you create the commit." +} + +Optional Parameters +{ + "deleteFiles": "The files to delete in this commit. These files still exist in earlier commits.", + "commitMessage": "The commit message you want to include in the commit. Commit messages are limited to 256 KB. If no message is specified, a default message is used.", + "parentCommitId": "The ID of the commit that is the parent of the commit you create. Not required if this is an empty repository.", + "setFileModes": "The file modes to update for files in this commit.", + "putFiles": "The files to add or update in this commit.", + "keepEmptyFolders": "If the commit contains deletions, whether to keep a folder or folder structure if the changes leave the folders empty. If true, a ..gitkeep file is created for empty folders. The default is false.", + "authorName": "The name of the author who created the commit. This information is used as both the author and committer for the commit.", + "email": "The email address of the person who created the commit." +} +""" +CreateCommit(args) = codecommit("CreateCommit", args) + +""" + GetCommentsForPullRequest() + +Returns comments made on a pull request. + +Required Parameters +{ + "pullRequestId": "The system-generated ID of the pull request. To get this ID, use ListPullRequests." +} + +Optional Parameters +{ + "afterCommitId": "The full commit ID of the commit in the source branch that was the tip of the branch at the time the comment was made.", + "beforeCommitId": "The full commit ID of the commit in the destination branch that was the tip of the branch at the time the pull request was created.", + "repositoryName": "The name of the repository that contains the pull request.", + "maxResults": "A non-zero, non-negative integer used to limit the number of returned results. The default is 100 comments. You can return up to 500 comments with a single request.", + "nextToken": "An enumeration token that, when provided in a request, returns the next batch of the results." +} +""" +GetCommentsForPullRequest(args) = codecommit("GetCommentsForPullRequest", args) + +""" + DescribePullRequestEvents() + +Returns information about one or more pull request events. + +Required Parameters +{ + "pullRequestId": "The system-generated ID of the pull request. To get this ID, use ListPullRequests." +} + +Optional Parameters +{ + "pullRequestEventType": "Optional. The pull request event type about which you want to return information.", + "maxResults": "A non-zero, non-negative integer used to limit the number of returned results. The default is 100 events, which is also the maximum number of events that can be returned in a result.", + "actorArn": "The Amazon Resource Name (ARN) of the user whose actions resulted in the event. Examples include updating the pull request with more commits or changing the status of a pull request.", + "nextToken": "An enumeration token that, when provided in a request, returns the next batch of the results." +} +""" +DescribePullRequestEvents(args) = codecommit("DescribePullRequestEvents", args) + +""" + GetRepositoryTriggers() + +Gets information about triggers configured for a repository. + +Required Parameters +{ + "repositoryName": "The name of the repository for which the trigger is configured." +} +""" +GetRepositoryTriggers(args) = codecommit("GetRepositoryTriggers", args) + +""" + CreateBranch() + +Creates a branch in a repository and points the branch to a commit. Calling the create branch operation does not set a repository's default branch. To do this, call the update default branch operation. + +Required Parameters +{ + "commitId": "The ID of the commit to point the new branch to.", + "repositoryName": "The name of the repository in which you want to create the new branch.", + "branchName": "The name of the new branch to create." +} +""" +CreateBranch(args) = codecommit("CreateBranch", args) + +""" + BatchGetRepositories() + +Returns information about one or more repositories. The description field for a repository accepts all HTML characters and all valid Unicode characters. Applications that do not HTML-encode the description and display it in a webpage can expose users to potentially malicious code. Make sure that you HTML-encode the description field in any application that uses this API to display the repository description on a webpage. + +Required Parameters +{ + "repositoryNames": "The names of the repositories to get information about. The length constraint limit is for each string in the array. The array itself can be empty. " +} +""" +BatchGetRepositories(args) = codecommit("BatchGetRepositories", args) + +""" + MergePullRequestBySquash() + +Attempts to merge the source commit of a pull request into the specified destination branch for that pull request at the specified commit using the squash merge strategy. If the merge is successful, it closes the pull request. + +Required Parameters +{ + "repositoryName": "The name of the repository where the pull request was created.", + "pullRequestId": "The system-generated ID of the pull request. To get this ID, use ListPullRequests." +} + +Optional Parameters +{ + "authorName": "The name of the author who created the commit. This information is used as both the author and committer for the commit.", + "conflictDetailLevel": "The level of conflict detail to use. If unspecified, the default FILE_LEVEL is used, which returns a not-mergeable result if the same file has differences in both branches. If LINE_LEVEL is specified, a conflict is considered not mergeable if the same file in both branches has differences on the same line.", + "conflictResolutionStrategy": "Specifies which branch to use when resolving conflicts, or whether to attempt automatically merging two versions of a file. The default is NONE, which requires any conflicts to be resolved manually before the merge operation is successful.", + "conflictResolution": "If AUTOMERGE is the conflict resolution strategy, a list of inputs to use when resolving conflicts during a merge.", + "sourceCommitId": "The full commit ID of the original or updated commit in the pull request source branch. Pass this value if you want an exception thrown if the current commit ID of the tip of the source branch does not match this commit ID.", + "keepEmptyFolders": "If the commit contains deletions, whether to keep a folder or folder structure if the changes leave the folders empty. If true, a .gitkeep file is created for empty folders. The default is false.", + "commitMessage": "The commit message to include in the commit information for the merge.", + "email": "The email address of the person merging the branches. This information is used in the commit information for the merge." +} +""" +MergePullRequestBySquash(args) = codecommit("MergePullRequestBySquash", args) + +""" + UpdatePullRequestTitle() + +Replaces the title of a pull request. + +Required Parameters +{ + "pullRequestId": "The system-generated ID of the pull request. To get this ID, use ListPullRequests.", + "title": "The updated title of the pull request. This replaces the existing title." +} +""" +UpdatePullRequestTitle(args) = codecommit("UpdatePullRequestTitle", args) + +""" + TagResource() + +Adds or updates tags for a resource in AWS CodeCommit. For a list of valid resources in AWS CodeCommit, see CodeCommit Resources and Operations in the AWS CodeCommit User Guide. + +Required Parameters +{ + "resourceArn": "The Amazon Resource Name (ARN) of the resource to which you want to add or update tags.", + "tags": "The key-value pair to use when tagging this repository." +} +""" +TagResource(args) = codecommit("TagResource", args) + +""" + ListPullRequests() + +Returns a list of pull requests for a specified repository. The return list can be refined by pull request status or pull request author ARN. + +Required Parameters +{ + "repositoryName": "The name of the repository for which you want to list pull requests." +} + +Optional Parameters +{ + "authorArn": "Optional. The Amazon Resource Name (ARN) of the user who created the pull request. If used, this filters the results to pull requests created by that user.", + "pullRequestStatus": "Optional. The status of the pull request. If used, this refines the results to the pull requests that match the specified status.", + "maxResults": "A non-zero, non-negative integer used to limit the number of returned results.", + "nextToken": "An enumeration token that, when provided in a request, returns the next batch of the results." +} +""" +ListPullRequests(args) = codecommit("ListPullRequests", args) + +""" + PostCommentReply() + +Posts a comment in reply to an existing comment on a comparison between commits or a pull request. + +Required Parameters +{ + "content": "The contents of your reply to a comment.", + "inReplyTo": "The system-generated ID of the comment to which you want to reply. To get this ID, use GetCommentsForComparedCommit or GetCommentsForPullRequest." +} + +Optional Parameters +{ + "clientRequestToken": "A unique, client-generated idempotency token that, when provided in a request, ensures the request cannot be repeated with a changed parameter. If a request is received with the same parameters and a token is included, the request returns information about the initial request that used that token." +} +""" +PostCommentReply(args) = codecommit("PostCommentReply", args) + +""" + PutFile() + +Adds or updates a file in a branch in an AWS CodeCommit repository, and generates a commit for the addition in the specified branch. + +Required Parameters +{ + "filePath": "The name of the file you want to add or update, including the relative path to the file in the repository. If the path does not currently exist in the repository, the path is created as part of adding the file. ", + "repositoryName": "The name of the repository where you want to add or update the file.", + "branchName": "The name of the branch where you want to add or update the file. If this is an empty repository, this branch is created.", + "fileContent": "The content of the file, in binary object format. " +} + +Optional Parameters +{ + "name": "The name of the person adding or updating the file. Although it is optional, a name makes the commit history for your repository more useful.", + "fileMode": "The file mode permissions of the blob. Valid file mode permissions are listed here.", + "parentCommitId": "The full commit ID of the head commit in the branch where you want to add or update the file. If this is an empty repository, no commit ID is required. If this is not an empty repository, a commit ID is required. The commit ID must match the ID of the head commit at the time of the operation. Otherwise, an error occurs, and the file is not added or updated.", + "commitMessage": "A message about why this file was added or updated. Although it is optional, a message makes the commit history for your repository more useful.", + "email": "An email address for the person adding or updating the file." +} +""" +PutFile(args) = codecommit("PutFile", args) + +""" + GetRepository() + +Returns information about a repository. The description field for a repository accepts all HTML characters and all valid Unicode characters. Applications that do not HTML-encode the description and display it in a webpage can expose users to potentially malicious code. Make sure that you HTML-encode the description field in any application that uses this API to display the repository description on a webpage. + +Required Parameters +{ + "repositoryName": "The name of the repository to get information about." +} +""" +GetRepository(args) = codecommit("GetRepository", args) + +""" + CreatePullRequestApprovalRule() + +Creates an approval rule for a pull request. + +Required Parameters +{ + "pullRequestId": "The system-generated ID of the pull request for which you want to create the approval rule.", + "approvalRuleContent": "The content of the approval rule, including the number of approvals needed and the structure of an approval pool defined for approvals, if any. For more information about approval pools, see the AWS CodeCommit User Guide. When you create the content of the approval rule, you can specify approvers in an approval pool in one of two ways: CodeCommitApprovers: This option only requires an AWS account and a resource. It can be used for both IAM users and federated access users whose name matches the provided resource name. This is a very powerful option that offers a great deal of flexibility. For example, if you specify the AWS account 123456789012 and Mary_Major, all of the following would be counted as approvals coming from that user: An IAM user in the account (arn:aws:iam::123456789012:user/Mary_Major) A federated user identified in IAM as Mary_Major (arn:aws:sts::123456789012:federated-user/Mary_Major) This option does not recognize an active session of someone assuming the role of CodeCommitReview with a role session name of Mary_Major (arn:aws:sts::123456789012:assumed-role/CodeCommitReview/Mary_Major) unless you include a wildcard (*Mary_Major). Fully qualified ARN: This option allows you to specify the fully qualified Amazon Resource Name (ARN) of the IAM user or role. For more information about IAM ARNs, wildcards, and formats, see IAM Identifiers in the IAM User Guide. ", + "approvalRuleName": "The name for the approval rule." +} +""" +CreatePullRequestApprovalRule(args) = codecommit("CreatePullRequestApprovalRule", args) + +""" + PostCommentForComparedCommit() + +Posts a comment on the comparison between two commits. + +Required Parameters +{ + "afterCommitId": "To establish the directionality of the comparison, the full commit ID of the after commit.", + "content": "The content of the comment you want to make.", + "repositoryName": "The name of the repository where you want to post a comment on the comparison between commits." +} + +Optional Parameters +{ + "location": "The location of the comparison where you want to comment.", + "beforeCommitId": "To establish the directionality of the comparison, the full commit ID of the before commit. Required for commenting on any commit unless that commit is the initial commit.", + "clientRequestToken": "A unique, client-generated idempotency token that, when provided in a request, ensures the request cannot be repeated with a changed parameter. If a request is received with the same parameters and a token is included, the request returns information about the initial request that used that token." +} +""" +PostCommentForComparedCommit(args) = codecommit("PostCommentForComparedCommit", args) + +""" + GetApprovalRuleTemplate() + +Returns information about a specified approval rule template. + +Required Parameters +{ + "approvalRuleTemplateName": "The name of the approval rule template for which you want to get information." +} +""" +GetApprovalRuleTemplate(args) = codecommit("GetApprovalRuleTemplate", args) + +""" + DeleteApprovalRuleTemplate() + +Deletes a specified approval rule template. Deleting a template does not remove approval rules on pull requests already created with the template. + +Required Parameters +{ + "approvalRuleTemplateName": "The name of the approval rule template to delete." +} +""" +DeleteApprovalRuleTemplate(args) = codecommit("DeleteApprovalRuleTemplate", args) + +""" + ListAssociatedApprovalRuleTemplatesForRepository() + +Lists all approval rule templates that are associated with a specified repository. + +Required Parameters +{ + "repositoryName": "The name of the repository for which you want to list all associated approval rule templates." +} + +Optional Parameters +{ + "maxResults": "A non-zero, non-negative integer used to limit the number of returned results.", + "nextToken": "An enumeration token that, when provided in a request, returns the next batch of the results." +} +""" +ListAssociatedApprovalRuleTemplatesForRepository(args) = codecommit("ListAssociatedApprovalRuleTemplatesForRepository", args) + +""" + CreatePullRequest() + +Creates a pull request in the specified repository. + +Required Parameters +{ + "targets": "The targets for the pull request, including the source of the code to be reviewed (the source branch) and the destination where the creator of the pull request intends the code to be merged after the pull request is closed (the destination branch).", + "title": "The title of the pull request. This title is used to identify the pull request to other users in the repository." +} + +Optional Parameters +{ + "clientRequestToken": "A unique, client-generated idempotency token that, when provided in a request, ensures the request cannot be repeated with a changed parameter. If a request is received with the same parameters and a token is included, the request returns information about the initial request that used that token. The AWS SDKs prepopulate client request tokens. If you are using an AWS SDK, an idempotency token is created for you. ", + "description": "A description of the pull request." +} +""" +CreatePullRequest(args) = codecommit("CreatePullRequest", args) + +""" + DeletePullRequestApprovalRule() + +Deletes an approval rule from a specified pull request. Approval rules can be deleted from a pull request only if the pull request is open, and if the approval rule was created specifically for a pull request and not generated from an approval rule template associated with the repository where the pull request was created. You cannot delete an approval rule from a merged or closed pull request. + +Required Parameters +{ + "pullRequestId": "The system-generated ID of the pull request that contains the approval rule you want to delete.", + "approvalRuleName": "The name of the approval rule you want to delete." +} +""" +DeletePullRequestApprovalRule(args) = codecommit("DeletePullRequestApprovalRule", args) + +""" + MergePullRequestByFastForward() + +Attempts to merge the source commit of a pull request into the specified destination branch for that pull request at the specified commit using the fast-forward merge strategy. If the merge is successful, it closes the pull request. + +Required Parameters +{ + "repositoryName": "The name of the repository where the pull request was created.", + "pullRequestId": "The system-generated ID of the pull request. To get this ID, use ListPullRequests." +} + +Optional Parameters +{ + "sourceCommitId": "The full commit ID of the original or updated commit in the pull request source branch. Pass this value if you want an exception thrown if the current commit ID of the tip of the source branch does not match this commit ID." +} +""" +MergePullRequestByFastForward(args) = codecommit("MergePullRequestByFastForward", args) + +""" + DeleteCommentContent() + +Deletes the content of a comment made on a change, file, or commit in a repository. + +Required Parameters +{ + "commentId": "The unique, system-generated ID of the comment. To get this ID, use GetCommentsForComparedCommit or GetCommentsForPullRequest." +} +""" +DeleteCommentContent(args) = codecommit("DeleteCommentContent", args) + +""" + GetComment() + +Returns the content of a comment made on a change, file, or commit in a repository. + +Required Parameters +{ + "commentId": "The unique, system-generated ID of the comment. To get this ID, use GetCommentsForComparedCommit or GetCommentsForPullRequest." +} +""" +GetComment(args) = codecommit("GetComment", args) + +""" + ListApprovalRuleTemplates() + +Lists all approval rule templates in the specified AWS Region in your AWS account. If an AWS Region is not specified, the AWS Region where you are signed in is used. + +Optional Parameters +{ + "maxResults": "A non-zero, non-negative integer used to limit the number of returned results.", + "nextToken": "An enumeration token that, when provided in a request, returns the next batch of the results." +} +""" +ListApprovalRuleTemplates() = codecommit("ListApprovalRuleTemplates") +ListApprovalRuleTemplates(args) = codecommit("ListApprovalRuleTemplates", args) + +""" + UntagResource() + +Removes tags for a resource in AWS CodeCommit. For a list of valid resources in AWS CodeCommit, see CodeCommit Resources and Operations in the AWS CodeCommit User Guide. + +Required Parameters +{ + "resourceArn": "The Amazon Resource Name (ARN) of the resource to which you want to remove tags.", + "tagKeys": "The tag key for each tag that you want to remove from the resource." +} +""" +UntagResource(args) = codecommit("UntagResource", args) + +""" + DisassociateApprovalRuleTemplateFromRepository() + +Removes the association between a template and a repository so that approval rules based on the template are not automatically created when pull requests are created in the specified repository. This does not delete any approval rules previously created for pull requests through the template association. + +Required Parameters +{ + "approvalRuleTemplateName": "The name of the approval rule template to disassociate from a specified repository.", + "repositoryName": "The name of the repository you want to disassociate from the template." +} +""" +DisassociateApprovalRuleTemplateFromRepository(args) = codecommit("DisassociateApprovalRuleTemplateFromRepository", args) + +""" + GetMergeConflicts() + +Returns information about merge conflicts between the before and after commit IDs for a pull request in a repository. + +Required Parameters +{ + "destinationCommitSpecifier": "The branch, tag, HEAD, or other fully qualified reference used to identify a commit (for example, a branch name or a full commit ID).", + "repositoryName": "The name of the repository where the pull request was created.", + "mergeOption": "The merge option or strategy you want to use to merge the code. ", + "sourceCommitSpecifier": "The branch, tag, HEAD, or other fully qualified reference used to identify a commit (for example, a branch name or a full commit ID)." +} + +Optional Parameters +{ + "conflictDetailLevel": "The level of conflict detail to use. If unspecified, the default FILE_LEVEL is used, which returns a not-mergeable result if the same file has differences in both branches. If LINE_LEVEL is specified, a conflict is considered not mergeable if the same file in both branches has differences on the same line.", + "nextToken": "An enumeration token that, when provided in a request, returns the next batch of the results.", + "conflictResolutionStrategy": "Specifies which branch to use when resolving conflicts, or whether to attempt automatically merging two versions of a file. The default is NONE, which requires any conflicts to be resolved manually before the merge operation is successful.", + "maxConflictFiles": "The maximum number of files to include in the output." +} +""" +GetMergeConflicts(args) = codecommit("GetMergeConflicts", args) + +""" + AssociateApprovalRuleTemplateWithRepository() + +Creates an association between an approval rule template and a specified repository. Then, the next time a pull request is created in the repository where the destination reference (if specified) matches the destination reference (branch) for the pull request, an approval rule that matches the template conditions is automatically created for that pull request. If no destination references are specified in the template, an approval rule that matches the template contents is created for all pull requests in that repository. + +Required Parameters +{ + "approvalRuleTemplateName": "The name for the approval rule template. ", + "repositoryName": "The name of the repository that you want to associate with the template." +} +""" +AssociateApprovalRuleTemplateWithRepository(args) = codecommit("AssociateApprovalRuleTemplateWithRepository", args) + +""" + GetFile() + +Returns the base-64 encoded contents of a specified file and its metadata. + +Required Parameters +{ + "filePath": "The fully qualified path to the file, including the full name and extension of the file. For example, /examples/file.md is the fully qualified path to a file named file.md in a folder named examples.", + "repositoryName": "The name of the repository that contains the file." +} + +Optional Parameters +{ + "commitSpecifier": "The fully quaified reference that identifies the commit that contains the file. For example, you can specify a full commit ID, a tag, a branch name, or a reference such as refs/heads/master. If none is provided, the head commit is used." +} +""" +GetFile(args) = codecommit("GetFile", args) + +""" + GetCommentsForComparedCommit() + +Returns information about comments made on the comparison between two commits. + +Required Parameters +{ + "afterCommitId": "To establish the directionality of the comparison, the full commit ID of the after commit.", + "repositoryName": "The name of the repository where you want to compare commits." +} + +Optional Parameters +{ + "beforeCommitId": "To establish the directionality of the comparison, the full commit ID of the before commit.", + "maxResults": "A non-zero, non-negative integer used to limit the number of returned results. The default is 100 comments, but you can configure up to 500.", + "nextToken": "An enumeration token that when provided in a request, returns the next batch of the results. " +} +""" +GetCommentsForComparedCommit(args) = codecommit("GetCommentsForComparedCommit", args) + +""" + DeleteBranch() + +Deletes a branch from a repository, unless that branch is the default branch for the repository. + +Required Parameters +{ + "repositoryName": "The name of the repository that contains the branch to be deleted.", + "branchName": "The name of the branch to delete." +} +""" +DeleteBranch(args) = codecommit("DeleteBranch", args) + +""" + GetMergeCommit() + +Returns information about a specified merge commit. + +Required Parameters +{ + "destinationCommitSpecifier": "The branch, tag, HEAD, or other fully qualified reference used to identify a commit (for example, a branch name or a full commit ID).", + "repositoryName": "The name of the repository that contains the merge commit about which you want to get information.", + "sourceCommitSpecifier": "The branch, tag, HEAD, or other fully qualified reference used to identify a commit (for example, a branch name or a full commit ID)." +} + +Optional Parameters +{ + "conflictResolutionStrategy": "Specifies which branch to use when resolving conflicts, or whether to attempt automatically merging two versions of a file. The default is NONE, which requires any conflicts to be resolved manually before the merge operation is successful.", + "conflictDetailLevel": "The level of conflict detail to use. If unspecified, the default FILE_LEVEL is used, which returns a not-mergeable result if the same file has differences in both branches. If LINE_LEVEL is specified, a conflict is considered not mergeable if the same file in both branches has differences on the same line." +} +""" +GetMergeCommit(args) = codecommit("GetMergeCommit", args) + +""" + UpdatePullRequestStatus() + +Updates the status of a pull request. + +Required Parameters +{ + "pullRequestStatus": "The status of the pull request. The only valid operations are to update the status from OPEN to OPEN, OPEN to CLOSED or from CLOSED to CLOSED.", + "pullRequestId": "The system-generated ID of the pull request. To get this ID, use ListPullRequests." +} +""" +UpdatePullRequestStatus(args) = codecommit("UpdatePullRequestStatus", args) + +""" + DeleteFile() + +Deletes a specified file from a specified branch. A commit is created on the branch that contains the revision. The file still exists in the commits earlier to the commit that contains the deletion. + +Required Parameters +{ + "filePath": "The fully qualified path to the file that to be deleted, including the full name and extension of that file. For example, /examples/file.md is a fully qualified path to a file named file.md in a folder named examples.", + "repositoryName": "The name of the repository that contains the file to delete.", + "parentCommitId": "The ID of the commit that is the tip of the branch where you want to create the commit that deletes the file. This must be the HEAD commit for the branch. The commit that deletes the file is created from this commit ID.", + "branchName": "The name of the branch where the commit that deletes the file is made." +} + +Optional Parameters +{ + "name": "The name of the author of the commit that deletes the file. If no name is specified, the user's ARN is used as the author name and committer name.", + "keepEmptyFolders": "If a file is the only object in the folder or directory, specifies whether to delete the folder or directory that contains the file. By default, empty folders are deleted. This includes empty folders that are part of the directory structure. For example, if the path to a file is dir1/dir2/dir3/dir4, and dir2 and dir3 are empty, deleting the last file in dir4 also deletes the empty folders dir4, dir3, and dir2.", + "commitMessage": "The commit message you want to include as part of deleting the file. Commit messages are limited to 256 KB. If no message is specified, a default message is used.", + "email": "The email address for the commit that deletes the file. If no email address is specified, the email address is left blank." +} +""" +DeleteFile(args) = codecommit("DeleteFile", args) + +""" + ListTagsForResource() + +Gets information about AWS tags for a specified Amazon Resource Name (ARN) in AWS CodeCommit. For a list of valid resources in AWS CodeCommit, see CodeCommit Resources and Operations in the AWS CodeCommit User Guide. + +Required Parameters +{ + "resourceArn": "The Amazon Resource Name (ARN) of the resource for which you want to get information about tags, if any." +} + +Optional Parameters +{ + "nextToken": "An enumeration token that, when provided in a request, returns the next batch of the results." +} +""" +ListTagsForResource(args) = codecommit("ListTagsForResource", args) + +""" + DeleteRepository() + +Deletes a repository. If a specified repository was already deleted, a null repository ID is returned. Deleting a repository also deletes all associated objects and metadata. After a repository is deleted, all future push calls to the deleted repository fail. + +Required Parameters +{ + "repositoryName": "The name of the repository to delete." +} +""" +DeleteRepository(args) = codecommit("DeleteRepository", args) + +""" + UpdateApprovalRuleTemplateName() + +Updates the name of a specified approval rule template. + +Required Parameters +{ + "oldApprovalRuleTemplateName": "The current name of the approval rule template.", + "newApprovalRuleTemplateName": "The new name you want to apply to the approval rule template." +} +""" +UpdateApprovalRuleTemplateName(args) = codecommit("UpdateApprovalRuleTemplateName", args) + +""" + UpdateApprovalRuleTemplateContent() + +Updates the content of an approval rule template. You can change the number of required approvals, the membership of the approval rule, and whether an approval pool is defined. + +Required Parameters +{ + "approvalRuleTemplateName": "The name of the approval rule template where you want to update the content of the rule. ", + "newRuleContent": "The content that replaces the existing content of the rule. Content statements must be complete. You cannot provide only the changes." +} + +Optional Parameters +{ + "existingRuleContentSha256": "The SHA-256 hash signature for the content of the approval rule. You can retrieve this information by using GetPullRequest." +} +""" +UpdateApprovalRuleTemplateContent(args) = codecommit("UpdateApprovalRuleTemplateContent", args) + +""" + UpdatePullRequestApprovalRuleContent() + +Updates the structure of an approval rule created specifically for a pull request. For example, you can change the number of required approvers and the approval pool for approvers. + +Required Parameters +{ + "pullRequestId": "The system-generated ID of the pull request.", + "approvalRuleName": "The name of the approval rule you want to update.", + "newRuleContent": "The updated content for the approval rule. When you update the content of the approval rule, you can specify approvers in an approval pool in one of two ways: CodeCommitApprovers: This option only requires an AWS account and a resource. It can be used for both IAM users and federated access users whose name matches the provided resource name. This is a very powerful option that offers a great deal of flexibility. For example, if you specify the AWS account 123456789012 and Mary_Major, all of the following are counted as approvals coming from that user: An IAM user in the account (arn:aws:iam::123456789012:user/Mary_Major) A federated user identified in IAM as Mary_Major (arn:aws:sts::123456789012:federated-user/Mary_Major) This option does not recognize an active session of someone assuming the role of CodeCommitReview with a role session name of Mary_Major (arn:aws:sts::123456789012:assumed-role/CodeCommitReview/Mary_Major) unless you include a wildcard (*Mary_Major). Fully qualified ARN: This option allows you to specify the fully qualified Amazon Resource Name (ARN) of the IAM user or role. For more information about IAM ARNs, wildcards, and formats, see IAM Identifiers in the IAM User Guide. " +} + +Optional Parameters +{ + "existingRuleContentSha256": "The SHA-256 hash signature for the content of the approval rule. You can retrieve this information by using GetPullRequest." +} +""" +UpdatePullRequestApprovalRuleContent(args) = codecommit("UpdatePullRequestApprovalRuleContent", args) + +""" + GetMergeOptions() + +Returns information about the merge options available for merging two specified branches. For details about why a merge option is not available, use GetMergeConflicts or DescribeMergeConflicts. + +Required Parameters +{ + "destinationCommitSpecifier": "The branch, tag, HEAD, or other fully qualified reference used to identify a commit (for example, a branch name or a full commit ID).", + "repositoryName": "The name of the repository that contains the commits about which you want to get merge options.", + "sourceCommitSpecifier": "The branch, tag, HEAD, or other fully qualified reference used to identify a commit (for example, a branch name or a full commit ID)." +} + +Optional Parameters +{ + "conflictResolutionStrategy": "Specifies which branch to use when resolving conflicts, or whether to attempt automatically merging two versions of a file. The default is NONE, which requires any conflicts to be resolved manually before the merge operation is successful.", + "conflictDetailLevel": "The level of conflict detail to use. If unspecified, the default FILE_LEVEL is used, which returns a not-mergeable result if the same file has differences in both branches. If LINE_LEVEL is specified, a conflict is considered not mergeable if the same file in both branches has differences on the same line." +} +""" +GetMergeOptions(args) = codecommit("GetMergeOptions", args) + +""" + UpdateRepositoryName() + +Renames a repository. The repository name must be unique across the calling AWS account. Repository names are limited to 100 alphanumeric, dash, and underscore characters, and cannot include certain characters. The suffix .git is prohibited. For more information about the limits on repository names, see Limits in the AWS CodeCommit User Guide. + +Required Parameters +{ + "oldName": "The current name of the repository.", + "newName": "The new name for the repository." +} +""" +UpdateRepositoryName(args) = codecommit("UpdateRepositoryName", args) + +""" + UpdateRepositoryDescription() + +Sets or changes the comment or description for a repository. The description field for a repository accepts all HTML characters and all valid Unicode characters. Applications that do not HTML-encode the description and display it in a webpage can expose users to potentially malicious code. Make sure that you HTML-encode the description field in any application that uses this API to display the repository description on a webpage. + +Required Parameters +{ + "repositoryName": "The name of the repository to set or change the comment or description for." +} + +Optional Parameters +{ + "repositoryDescription": "The new comment or description for the specified repository. Repository descriptions are limited to 1,000 characters." +} +""" +UpdateRepositoryDescription(args) = codecommit("UpdateRepositoryDescription", args) + +""" + TestRepositoryTriggers() + +Tests the functionality of repository triggers by sending information to the trigger target. If real data is available in the repository, the test sends data from the last commit. If no data is available, sample data is generated. + +Required Parameters +{ + "repositoryName": "The name of the repository in which to test the triggers.", + "triggers": "The list of triggers to test." +} +""" +TestRepositoryTriggers(args) = codecommit("TestRepositoryTriggers", args) + +""" + GetFolder() + +Returns the contents of a specified folder in a repository. + +Required Parameters +{ + "folderPath": "The fully qualified path to the folder whose contents are returned, including the folder name. For example, /examples is a fully-qualified path to a folder named examples that was created off of the root directory (/) of a repository. ", + "repositoryName": "The name of the repository." +} + +Optional Parameters +{ + "commitSpecifier": "A fully qualified reference used to identify a commit that contains the version of the folder's content to return. A fully qualified reference can be a commit ID, branch name, tag, or reference such as HEAD. If no specifier is provided, the folder content is returned as it exists in the HEAD commit." +} +""" +GetFolder(args) = codecommit("GetFolder", args) + +""" + GetCommit() + +Returns information about a commit, including commit message and committer information. + +Required Parameters +{ + "commitId": "The commit ID. Commit IDs are the full SHA ID of the commit.", + "repositoryName": "The name of the repository to which the commit was made." +} +""" +GetCommit(args) = codecommit("GetCommit", args) + +""" + DescribeMergeConflicts() + +Returns information about one or more merge conflicts in the attempted merge of two commit specifiers using the squash or three-way merge strategy. If the merge option for the attempted merge is specified as FAST_FORWARD_MERGE, an exception is thrown. + +Required Parameters +{ + "destinationCommitSpecifier": "The branch, tag, HEAD, or other fully qualified reference used to identify a commit (for example, a branch name or a full commit ID).", + "filePath": "The path of the target files used to describe the conflicts. ", + "repositoryName": "The name of the repository where you want to get information about a merge conflict.", + "mergeOption": "The merge option or strategy you want to use to merge the code.", + "sourceCommitSpecifier": "The branch, tag, HEAD, or other fully qualified reference used to identify a commit (for example, a branch name or a full commit ID)." +} + +Optional Parameters +{ + "maxMergeHunks": "The maximum number of merge hunks to include in the output.", + "nextToken": "An enumeration token that, when provided in a request, returns the next batch of the results.", + "conflictResolutionStrategy": "Specifies which branch to use when resolving conflicts, or whether to attempt automatically merging two versions of a file. The default is NONE, which requires any conflicts to be resolved manually before the merge operation is successful.", + "conflictDetailLevel": "The level of conflict detail to use. If unspecified, the default FILE_LEVEL is used, which returns a not-mergeable result if the same file has differences in both branches. If LINE_LEVEL is specified, a conflict is considered not mergeable if the same file in both branches has differences on the same line." +} +""" +DescribeMergeConflicts(args) = codecommit("DescribeMergeConflicts", args) + +""" + GetPullRequest() + +Gets information about a pull request in a specified repository. + +Required Parameters +{ + "pullRequestId": "The system-generated ID of the pull request. To get this ID, use ListPullRequests." +} +""" +GetPullRequest(args) = codecommit("GetPullRequest", args) + +""" + MergeBranchesBySquash() + +Merges two branches using the squash merge strategy. + +Required Parameters +{ + "destinationCommitSpecifier": "The branch, tag, HEAD, or other fully qualified reference used to identify a commit (for example, a branch name or a full commit ID).", + "repositoryName": "The name of the repository where you want to merge two branches.", + "sourceCommitSpecifier": "The branch, tag, HEAD, or other fully qualified reference used to identify a commit (for example, a branch name or a full commit ID)." +} + +Optional Parameters +{ + "conflictResolutionStrategy": "Specifies which branch to use when resolving conflicts, or whether to attempt automatically merging two versions of a file. The default is NONE, which requires any conflicts to be resolved manually before the merge operation is successful.", + "commitMessage": "The commit message for the merge.", + "authorName": "The name of the author who created the commit. This information is used as both the author and committer for the commit.", + "conflictResolution": "If AUTOMERGE is the conflict resolution strategy, a list of inputs to use when resolving conflicts during a merge.", + "targetBranch": "The branch where the merge is applied. ", + "keepEmptyFolders": "If the commit contains deletions, whether to keep a folder or folder structure if the changes leave the folders empty. If this is specified as true, a .gitkeep file is created for empty folders. The default is false.", + "email": "The email address of the person merging the branches. This information is used in the commit information for the merge.", + "conflictDetailLevel": "The level of conflict detail to use. If unspecified, the default FILE_LEVEL is used, which returns a not-mergeable result if the same file has differences in both branches. If LINE_LEVEL is specified, a conflict is considered not mergeable if the same file in both branches has differences on the same line." +} +""" +MergeBranchesBySquash(args) = codecommit("MergeBranchesBySquash", args) + +""" + MergeBranchesByThreeWay() + +Merges two specified branches using the three-way merge strategy. + +Required Parameters +{ + "destinationCommitSpecifier": "The branch, tag, HEAD, or other fully qualified reference used to identify a commit (for example, a branch name or a full commit ID).", + "repositoryName": "The name of the repository where you want to merge two branches.", + "sourceCommitSpecifier": "The branch, tag, HEAD, or other fully qualified reference used to identify a commit (for example, a branch name or a full commit ID)." +} + +Optional Parameters +{ + "conflictResolutionStrategy": "Specifies which branch to use when resolving conflicts, or whether to attempt automatically merging two versions of a file. The default is NONE, which requires any conflicts to be resolved manually before the merge operation is successful.", + "commitMessage": "The commit message to include in the commit information for the merge.", + "authorName": "The name of the author who created the commit. This information is used as both the author and committer for the commit.", + "conflictResolution": "If AUTOMERGE is the conflict resolution strategy, a list of inputs to use when resolving conflicts during a merge.", + "targetBranch": "The branch where the merge is applied. ", + "keepEmptyFolders": "If the commit contains deletions, whether to keep a folder or folder structure if the changes leave the folders empty. If true, a .gitkeep file is created for empty folders. The default is false.", + "email": "The email address of the person merging the branches. This information is used in the commit information for the merge.", + "conflictDetailLevel": "The level of conflict detail to use. If unspecified, the default FILE_LEVEL is used, which returns a not-mergeable result if the same file has differences in both branches. If LINE_LEVEL is specified, a conflict is considered not mergeable if the same file in both branches has differences on the same line." +} +""" +MergeBranchesByThreeWay(args) = codecommit("MergeBranchesByThreeWay", args) + +""" + BatchDisassociateApprovalRuleTemplateFromRepositories() + +Removes the association between an approval rule template and one or more specified repositories. + +Required Parameters +{ + "approvalRuleTemplateName": "The name of the template that you want to disassociate from one or more repositories.", + "repositoryNames": "The repository names that you want to disassociate from the approval rule template. The length constraint limit is for each string in the array. The array itself can be empty. " +} +""" +BatchDisassociateApprovalRuleTemplateFromRepositories(args) = codecommit("BatchDisassociateApprovalRuleTemplateFromRepositories", args) + +""" + UpdatePullRequestApprovalState() + +Updates the state of a user's approval on a pull request. The user is derived from the signed-in account when the request is made. + +Required Parameters +{ + "pullRequestId": "The system-generated ID of the pull request.", + "approvalState": "The approval state to associate with the user on the pull request.", + "revisionId": "The system-generated ID of the revision." +} +""" +UpdatePullRequestApprovalState(args) = codecommit("UpdatePullRequestApprovalState", args) + +""" + CreateUnreferencedMergeCommit() + +Creates an unreferenced commit that represents the result of merging two branches using a specified merge strategy. This can help you determine the outcome of a potential merge. This API cannot be used with the fast-forward merge strategy because that strategy does not create a merge commit. This unreferenced merge commit can only be accessed using the GetCommit API or through git commands such as git fetch. To retrieve this commit, you must specify its commit ID or otherwise reference it. + +Required Parameters +{ + "destinationCommitSpecifier": "The branch, tag, HEAD, or other fully qualified reference used to identify a commit (for example, a branch name or a full commit ID).", + "repositoryName": "The name of the repository where you want to create the unreferenced merge commit.", + "mergeOption": "The merge option or strategy you want to use to merge the code.", + "sourceCommitSpecifier": "The branch, tag, HEAD, or other fully qualified reference used to identify a commit (for example, a branch name or a full commit ID)." +} + +Optional Parameters +{ + "conflictResolutionStrategy": "Specifies which branch to use when resolving conflicts, or whether to attempt automatically merging two versions of a file. The default is NONE, which requires any conflicts to be resolved manually before the merge operation is successful.", + "commitMessage": "The commit message for the unreferenced commit.", + "authorName": "The name of the author who created the unreferenced commit. This information is used as both the author and committer for the commit.", + "conflictResolution": "If AUTOMERGE is the conflict resolution strategy, a list of inputs to use when resolving conflicts during a merge.", + "keepEmptyFolders": "If the commit contains deletions, whether to keep a folder or folder structure if the changes leave the folders empty. If this is specified as true, a .gitkeep file is created for empty folders. The default is false.", + "email": "The email address for the person who created the unreferenced commit.", + "conflictDetailLevel": "The level of conflict detail to use. If unspecified, the default FILE_LEVEL is used, which returns a not-mergeable result if the same file has differences in both branches. If LINE_LEVEL is specified, a conflict is considered not mergeable if the same file in both branches has differences on the same line." +} +""" +CreateUnreferencedMergeCommit(args) = codecommit("CreateUnreferencedMergeCommit", args) + +""" + UpdateApprovalRuleTemplateDescription() + +Updates the description for a specified approval rule template. + +Required Parameters +{ + "approvalRuleTemplateName": "The name of the template for which you want to update the description.", + "approvalRuleTemplateDescription": "The updated description of the approval rule template." +} +""" +UpdateApprovalRuleTemplateDescription(args) = codecommit("UpdateApprovalRuleTemplateDescription", args) + +""" + BatchDescribeMergeConflicts() + +Returns information about one or more merge conflicts in the attempted merge of two commit specifiers using the squash or three-way merge strategy. + +Required Parameters +{ + "destinationCommitSpecifier": "The branch, tag, HEAD, or other fully qualified reference used to identify a commit (for example, a branch name or a full commit ID).", + "repositoryName": "The name of the repository that contains the merge conflicts you want to review.", + "mergeOption": "The merge option or strategy you want to use to merge the code.", + "sourceCommitSpecifier": "The branch, tag, HEAD, or other fully qualified reference used to identify a commit (for example, a branch name or a full commit ID)." +} + +Optional Parameters +{ + "maxConflictFiles": "The maximum number of files to include in the output.", + "maxMergeHunks": "The maximum number of merge hunks to include in the output.", + "filePaths": "The path of the target files used to describe the conflicts. If not specified, the default is all conflict files.", + "nextToken": "An enumeration token that, when provided in a request, returns the next batch of the results.", + "conflictDetailLevel": "The level of conflict detail to use. If unspecified, the default FILE_LEVEL is used, which returns a not-mergeable result if the same file has differences in both branches. If LINE_LEVEL is specified, a conflict is considered not mergeable if the same file in both branches has differences on the same line.", + "conflictResolutionStrategy": "Specifies which branch to use when resolving conflicts, or whether to attempt automatically merging two versions of a file. The default is NONE, which requires any conflicts to be resolved manually before the merge operation is successful." +} +""" +BatchDescribeMergeConflicts(args) = codecommit("BatchDescribeMergeConflicts", args) + +""" + EvaluatePullRequestApprovalRules() + +Evaluates whether a pull request has met all the conditions specified in its associated approval rules. + +Required Parameters +{ + "pullRequestId": "The system-generated ID of the pull request you want to evaluate.", + "revisionId": "The system-generated ID for the pull request revision. To retrieve the most recent revision ID for a pull request, use GetPullRequest." +} +""" +EvaluatePullRequestApprovalRules(args) = codecommit("EvaluatePullRequestApprovalRules", args) + +""" + GetDifferences() + +Returns information about the differences in a valid commit specifier (such as a branch, tag, HEAD, commit ID, or other fully qualified reference). Results can be limited to a specified path. + +Required Parameters +{ + "repositoryName": "The name of the repository where you want to get differences.", + "afterCommitSpecifier": "The branch, tag, HEAD, or other fully qualified reference used to identify a commit." +} + +Optional Parameters +{ + "afterPath": "The file path in which to check differences. Limits the results to this path. Can also be used to specify the changed name of a directory or folder, if it has changed. If not specified, differences are shown for all paths.", + "MaxResults": "A non-zero, non-negative integer used to limit the number of returned results.", + "beforePath": "The file path in which to check for differences. Limits the results to this path. Can also be used to specify the previous name of a directory or folder. If beforePath and afterPath are not specified, differences are shown for all paths.", + "NextToken": "An enumeration token that, when provided in a request, returns the next batch of the results.", + "beforeCommitSpecifier": "The branch, tag, HEAD, or other fully qualified reference used to identify a commit (for example, the full commit ID). Optional. If not specified, all changes before the afterCommitSpecifier value are shown. If you do not use beforeCommitSpecifier in your request, consider limiting the results with maxResults." +} +""" +GetDifferences(args) = codecommit("GetDifferences", args) + +""" + PutRepositoryTriggers() + +Replaces all triggers for a repository. Used to create or delete triggers. + +Required Parameters +{ + "repositoryName": "The name of the repository where you want to create or update the trigger.", + "triggers": "The JSON block of configuration information for each trigger." +} +""" +PutRepositoryTriggers(args) = codecommit("PutRepositoryTriggers", args) + +""" + PostCommentForPullRequest() + +Posts a comment on a pull request. + +Required Parameters +{ + "afterCommitId": "The full commit ID of the commit in the source branch that is the current tip of the branch for the pull request when you post the comment.", + "content": "The content of your comment on the change.", + "beforeCommitId": "The full commit ID of the commit in the destination branch that was the tip of the branch at the time the pull request was created.", + "repositoryName": "The name of the repository where you want to post a comment on a pull request.", + "pullRequestId": "The system-generated ID of the pull request. To get this ID, use ListPullRequests." +} + +Optional Parameters +{ + "location": "The location of the change where you want to post your comment. If no location is provided, the comment is posted as a general comment on the pull request difference between the before commit ID and the after commit ID.", + "clientRequestToken": "A unique, client-generated idempotency token that, when provided in a request, ensures the request cannot be repeated with a changed parameter. If a request is received with the same parameters and a token is included, the request returns information about the initial request that used that token." +} +""" +PostCommentForPullRequest(args) = codecommit("PostCommentForPullRequest", args) + +""" + GetBlob() + +Returns the base-64 encoded content of an individual blob in a repository. + +Required Parameters +{ + "blobId": "The ID of the blob, which is its SHA-1 pointer.", + "repositoryName": "The name of the repository that contains the blob." +} +""" +GetBlob(args) = codecommit("GetBlob", args) + +""" + UpdatePullRequestDescription() + +Replaces the contents of the description of a pull request. + +Required Parameters +{ + "pullRequestId": "The system-generated ID of the pull request. To get this ID, use ListPullRequests.", + "description": "The updated content of the description for the pull request. This content replaces the existing description." +} +""" +UpdatePullRequestDescription(args) = codecommit("UpdatePullRequestDescription", args) + +""" + MergePullRequestByThreeWay() + +Attempts to merge the source commit of a pull request into the specified destination branch for that pull request at the specified commit using the three-way merge strategy. If the merge is successful, it closes the pull request. + +Required Parameters +{ + "repositoryName": "The name of the repository where the pull request was created.", + "pullRequestId": "The system-generated ID of the pull request. To get this ID, use ListPullRequests." +} + +Optional Parameters +{ + "authorName": "The name of the author who created the commit. This information is used as both the author and committer for the commit.", + "conflictDetailLevel": "The level of conflict detail to use. If unspecified, the default FILE_LEVEL is used, which returns a not-mergeable result if the same file has differences in both branches. If LINE_LEVEL is specified, a conflict is considered not mergeable if the same file in both branches has differences on the same line.", + "conflictResolutionStrategy": "Specifies which branch to use when resolving conflicts, or whether to attempt automatically merging two versions of a file. The default is NONE, which requires any conflicts to be resolved manually before the merge operation is successful.", + "conflictResolution": "If AUTOMERGE is the conflict resolution strategy, a list of inputs to use when resolving conflicts during a merge.", + "sourceCommitId": "The full commit ID of the original or updated commit in the pull request source branch. Pass this value if you want an exception thrown if the current commit ID of the tip of the source branch does not match this commit ID.", + "keepEmptyFolders": "If the commit contains deletions, whether to keep a folder or folder structure if the changes leave the folders empty. If true, a .gitkeep file is created for empty folders. The default is false.", + "commitMessage": "The commit message to include in the commit information for the merge.", + "email": "The email address of the person merging the branches. This information is used in the commit information for the merge." +} +""" +MergePullRequestByThreeWay(args) = codecommit("MergePullRequestByThreeWay", args) + +""" + OverridePullRequestApprovalRules() + +Sets aside (overrides) all approval rule requirements for a specified pull request. + +Required Parameters +{ + "overrideStatus": "Whether you want to set aside approval rule requirements for the pull request (OVERRIDE) or revoke a previous override and apply approval rule requirements (REVOKE). REVOKE status is not stored.", + "pullRequestId": "The system-generated ID of the pull request for which you want to override all approval rule requirements. To get this information, use GetPullRequest.", + "revisionId": "The system-generated ID of the most recent revision of the pull request. You cannot override approval rules for anything but the most recent revision of a pull request. To get the revision ID, use GetPullRequest." +} +""" +OverridePullRequestApprovalRules(args) = codecommit("OverridePullRequestApprovalRules", args) + +""" + BatchAssociateApprovalRuleTemplateWithRepositories() + +Creates an association between an approval rule template and one or more specified repositories. + +Required Parameters +{ + "approvalRuleTemplateName": "The name of the template you want to associate with one or more repositories.", + "repositoryNames": "The names of the repositories you want to associate with the template. The length constraint limit is for each string in the array. The array itself can be empty. " +} +""" +BatchAssociateApprovalRuleTemplateWithRepositories(args) = codecommit("BatchAssociateApprovalRuleTemplateWithRepositories", args) + +""" + CreateApprovalRuleTemplate() + +Creates a template for approval rules that can then be associated with one or more repositories in your AWS account. When you associate a template with a repository, AWS CodeCommit creates an approval rule that matches the conditions of the template for all pull requests that meet the conditions of the template. For more information, see AssociateApprovalRuleTemplateWithRepository. + +Required Parameters +{ + "approvalRuleTemplateName": "The name of the approval rule template. Provide descriptive names, because this name is applied to the approval rules created automatically in associated repositories.", + "approvalRuleTemplateContent": "The content of the approval rule that is created on pull requests in associated repositories. If you specify one or more destination references (branches), approval rules are created in an associated repository only if their destination references (branches) match those specified in the template. When you create the content of the approval rule template, you can specify approvers in an approval pool in one of two ways: CodeCommitApprovers: This option only requires an AWS account and a resource. It can be used for both IAM users and federated access users whose name matches the provided resource name. This is a very powerful option that offers a great deal of flexibility. For example, if you specify the AWS account 123456789012 and Mary_Major, all of the following are counted as approvals coming from that user: An IAM user in the account (arn:aws:iam::123456789012:user/Mary_Major) A federated user identified in IAM as Mary_Major (arn:aws:sts::123456789012:federated-user/Mary_Major) This option does not recognize an active session of someone assuming the role of CodeCommitReview with a role session name of Mary_Major (arn:aws:sts::123456789012:assumed-role/CodeCommitReview/Mary_Major) unless you include a wildcard (*Mary_Major). Fully qualified ARN: This option allows you to specify the fully qualified Amazon Resource Name (ARN) of the IAM user or role. For more information about IAM ARNs, wildcards, and formats, see IAM Identifiers in the IAM User Guide. " +} + +Optional Parameters +{ + "approvalRuleTemplateDescription": "The description of the approval rule template. Consider providing a description that explains what this template does and when it might be appropriate to associate it with repositories." +} +""" +CreateApprovalRuleTemplate(args) = codecommit("CreateApprovalRuleTemplate", args) + +""" + GetBranch() + +Returns information about a repository branch, including its name and the last commit ID. + +Optional Parameters +{ + "repositoryName": "The name of the repository that contains the branch for which you want to retrieve information.", + "branchName": "The name of the branch for which you want to retrieve information." +} +""" +GetBranch() = codecommit("GetBranch") +GetBranch(args) = codecommit("GetBranch", args) + +""" + GetPullRequestApprovalStates() + +Gets information about the approval states for a specified pull request. Approval states only apply to pull requests that have one or more approval rules applied to them. + +Required Parameters +{ + "pullRequestId": "The system-generated ID for the pull request.", + "revisionId": "The system-generated ID for the pull request revision." +} +""" +GetPullRequestApprovalStates(args) = codecommit("GetPullRequestApprovalStates", args) + +""" + ListRepositoriesForApprovalRuleTemplate() + +Lists all repositories associated with the specified approval rule template. + +Required Parameters +{ + "approvalRuleTemplateName": "The name of the approval rule template for which you want to list repositories that are associated with that template." +} + +Optional Parameters +{ + "maxResults": "A non-zero, non-negative integer used to limit the number of returned results.", + "nextToken": "An enumeration token that, when provided in a request, returns the next batch of the results." +} +""" +ListRepositoriesForApprovalRuleTemplate(args) = codecommit("ListRepositoriesForApprovalRuleTemplate", args) + +""" + UpdateDefaultBranch() + +Sets or changes the default branch name for the specified repository. If you use this operation to change the default branch name to the current default branch name, a success message is returned even though the default branch did not change. + +Required Parameters +{ + "repositoryName": "The name of the repository to set or change the default branch for.", + "defaultBranchName": "The name of the branch to set as the default." +} +""" +UpdateDefaultBranch(args) = codecommit("UpdateDefaultBranch", args) + +""" + ListRepositories() + +Gets information about one or more repositories. + +Optional Parameters +{ + "sortBy": "The criteria used to sort the results of a list repositories operation.", + "order": "The order in which to sort the results of a list repositories operation.", + "nextToken": "An enumeration token that allows the operation to batch the results of the operation. Batch sizes are 1,000 for list repository operations. When the client sends the token back to AWS CodeCommit, another page of 1,000 records is retrieved." +} +""" +ListRepositories() = codecommit("ListRepositories") +ListRepositories(args) = codecommit("ListRepositories", args) + +""" + ListBranches() + +Gets information about one or more branches in a repository. + +Required Parameters +{ + "repositoryName": "The name of the repository that contains the branches." +} + +Optional Parameters +{ + "nextToken": "An enumeration token that allows the operation to batch the results." +} +""" +ListBranches(args) = codecommit("ListBranches", args) + +""" + MergeBranchesByFastForward() + +Merges two branches using the fast-forward merge strategy. + +Required Parameters +{ + "destinationCommitSpecifier": "The branch, tag, HEAD, or other fully qualified reference used to identify a commit (for example, a branch name or a full commit ID).", + "repositoryName": "The name of the repository where you want to merge two branches.", + "sourceCommitSpecifier": "The branch, tag, HEAD, or other fully qualified reference used to identify a commit (for example, a branch name or a full commit ID)." +} + +Optional Parameters +{ + "targetBranch": "The branch where the merge is applied." +} +""" +MergeBranchesByFastForward(args) = codecommit("MergeBranchesByFastForward", args) + +""" + GetPullRequestOverrideState() + +Returns information about whether approval rules have been set aside (overridden) for a pull request, and if so, the Amazon Resource Name (ARN) of the user or identity that overrode the rules and their requirements for the pull request. + +Required Parameters +{ + "pullRequestId": "The ID of the pull request for which you want to get information about whether approval rules have been set aside (overridden).", + "revisionId": "The system-generated ID of the revision for the pull request. To retrieve the most recent revision ID, use GetPullRequest." +} +""" +GetPullRequestOverrideState(args) = codecommit("GetPullRequestOverrideState", args) diff --git a/src/services/codedeploy.jl b/src/services/codedeploy.jl new file mode 100644 index 0000000000..6346edeefe --- /dev/null +++ b/src/services/codedeploy.jl @@ -0,0 +1,702 @@ +include("../AWSServices.jl") +using .AWSServices: codedeploy + +""" + GetDeploymentTarget() + + Returns information about a deployment target. + +Optional Parameters +{ + "targetId": " The unique ID of a deployment target. ", + "deploymentId": " The unique ID of a deployment. " +} +""" +GetDeploymentTarget() = codedeploy("GetDeploymentTarget") +GetDeploymentTarget(args) = codedeploy("GetDeploymentTarget", args) + +""" + GetDeploymentConfig() + +Gets information about a deployment configuration. + +Required Parameters +{ + "deploymentConfigName": "The name of a deployment configuration associated with the IAM user or AWS account." +} +""" +GetDeploymentConfig(args) = codedeploy("GetDeploymentConfig", args) + +""" + DeleteApplication() + +Deletes an application. + +Required Parameters +{ + "applicationName": "The name of an AWS CodeDeploy application associated with the IAM user or AWS account." +} +""" +DeleteApplication(args) = codedeploy("DeleteApplication", args) + +""" + DeleteGitHubAccountToken() + +Deletes a GitHub account connection. + +Optional Parameters +{ + "tokenName": "The name of the GitHub account connection to delete." +} +""" +DeleteGitHubAccountToken() = codedeploy("DeleteGitHubAccountToken") +DeleteGitHubAccountToken(args) = codedeploy("DeleteGitHubAccountToken", args) + +""" + DeregisterOnPremisesInstance() + +Deregisters an on-premises instance. + +Required Parameters +{ + "instanceName": "The name of the on-premises instance to deregister." +} +""" +DeregisterOnPremisesInstance(args) = codedeploy("DeregisterOnPremisesInstance", args) + +""" + CreateApplication() + +Creates an application. + +Required Parameters +{ + "applicationName": "The name of the application. This name must be unique with the applicable IAM user or AWS account." +} + +Optional Parameters +{ + "computePlatform": " The destination platform type for the deployment (Lambda, Server, or ECS).", + "tags": " The metadata that you apply to CodeDeploy applications to help you organize and categorize them. Each tag consists of a key and an optional value, both of which you define. " +} +""" +CreateApplication(args) = codedeploy("CreateApplication", args) + +""" + TagResource() + + Associates the list of tags in the input Tags parameter with the resource identified by the ResourceArn input parameter. + +Required Parameters +{ + "ResourceArn": " The ARN of a resource, such as a CodeDeploy application or deployment group. ", + "Tags": " A list of tags that TagResource associates with a resource. The resource is identified by the ResourceArn input parameter. " +} +""" +TagResource(args) = codedeploy("TagResource", args) + +""" + ListDeploymentConfigs() + +Lists the deployment configurations with the IAM user or AWS account. + +Optional Parameters +{ + "nextToken": "An identifier returned from the previous ListDeploymentConfigs call. It can be used to return the next set of deployment configurations in the list. " +} +""" +ListDeploymentConfigs() = codedeploy("ListDeploymentConfigs") +ListDeploymentConfigs(args) = codedeploy("ListDeploymentConfigs", args) + +""" + ListDeploymentGroups() + +Lists the deployment groups for an application registered with the IAM user or AWS account. + +Required Parameters +{ + "applicationName": "The name of an AWS CodeDeploy application associated with the IAM user or AWS account." +} + +Optional Parameters +{ + "nextToken": "An identifier returned from the previous list deployment groups call. It can be used to return the next set of deployment groups in the list." +} +""" +ListDeploymentGroups(args) = codedeploy("ListDeploymentGroups", args) + +""" + ListGitHubAccountTokenNames() + +Lists the names of stored connections to GitHub accounts. + +Optional Parameters +{ + "nextToken": "An identifier returned from the previous ListGitHubAccountTokenNames call. It can be used to return the next set of names in the list. " +} +""" +ListGitHubAccountTokenNames() = codedeploy("ListGitHubAccountTokenNames") +ListGitHubAccountTokenNames(args) = codedeploy("ListGitHubAccountTokenNames", args) + +""" + ListDeployments() + +Lists the deployments in a deployment group for an application registered with the IAM user or AWS account. + +Optional Parameters +{ + "createTimeRange": "A time range (start and end) for returning a subset of the list of deployments.", + "includeOnlyStatuses": "A subset of deployments to list by status: Created: Include created deployments in the resulting list. Queued: Include queued deployments in the resulting list. In Progress: Include in-progress deployments in the resulting list. Succeeded: Include successful deployments in the resulting list. Failed: Include failed deployments in the resulting list. Stopped: Include stopped deployments in the resulting list. ", + "deploymentGroupName": "The name of a deployment group for the specified application. If deploymentGroupName is specified, then applicationName must be specified. If it is not specified, then applicationName must not be specified. ", + "nextToken": "An identifier returned from the previous list deployments call. It can be used to return the next set of deployments in the list.", + "applicationName": "The name of an AWS CodeDeploy application associated with the IAM user or AWS account. If applicationName is specified, then deploymentGroupName must be specified. If it is not specified, then deploymentGroupName must not be specified. " +} +""" +ListDeployments() = codedeploy("ListDeployments") +ListDeployments(args) = codedeploy("ListDeployments", args) + +""" + RemoveTagsFromOnPremisesInstances() + +Removes one or more tags from one or more on-premises instances. + +Required Parameters +{ + "instanceNames": "The names of the on-premises instances from which to remove tags.", + "tags": "The tag key-value pairs to remove from the on-premises instances." +} +""" +RemoveTagsFromOnPremisesInstances(args) = codedeploy("RemoveTagsFromOnPremisesInstances", args) + +""" + GetDeploymentInstance() + +Gets information about an instance as part of a deployment. + +Required Parameters +{ + "instanceId": " The unique ID of an instance in the deployment group. ", + "deploymentId": " The unique ID of a deployment. " +} +""" +GetDeploymentInstance(args) = codedeploy("GetDeploymentInstance", args) + +""" + GetDeployment() + +Gets information about a deployment. The content property of the appSpecContent object in the returned revision is always null. Use GetApplicationRevision and the sha256 property of the returned appSpecContent object to get the content of the deployment’s AppSpec file. + +Required Parameters +{ + "deploymentId": " The unique ID of a deployment associated with the IAM user or AWS account. " +} +""" +GetDeployment(args) = codedeploy("GetDeployment", args) + +""" + CreateDeployment() + +Deploys an application revision through the specified deployment group. + +Required Parameters +{ + "applicationName": "The name of an AWS CodeDeploy application associated with the IAM user or AWS account." +} + +Optional Parameters +{ + "ignoreApplicationStopFailures": " If true, then if an ApplicationStop, BeforeBlockTraffic, or AfterBlockTraffic deployment lifecycle event to an instance fails, then the deployment continues to the next deployment lifecycle event. For example, if ApplicationStop fails, the deployment continues with DownloadBundle. If BeforeBlockTraffic fails, the deployment continues with BlockTraffic. If AfterBlockTraffic fails, the deployment continues with ApplicationStop. If false or not specified, then if a lifecycle event fails during a deployment to an instance, that deployment fails. If deployment to that instance is part of an overall deployment and the number of healthy hosts is not less than the minimum number of healthy hosts, then a deployment to the next instance is attempted. During a deployment, the AWS CodeDeploy agent runs the scripts specified for ApplicationStop, BeforeBlockTraffic, and AfterBlockTraffic in the AppSpec file from the previous successful deployment. (All other scripts are run from the AppSpec file in the current deployment.) If one of these scripts contains an error and does not run successfully, the deployment can fail. If the cause of the failure is a script from the last successful deployment that will never run successfully, create a new deployment and use ignoreApplicationStopFailures to specify that the ApplicationStop, BeforeBlockTraffic, and AfterBlockTraffic failures should be ignored. ", + "updateOutdatedInstancesOnly": " Indicates whether to deploy to all instances or only to instances that are not running the latest application revision. ", + "revision": " The type and location of the revision to deploy. ", + "deploymentGroupName": "The name of the deployment group.", + "fileExistsBehavior": "Information about how AWS CodeDeploy handles files that already exist in a deployment target location but weren't part of the previous successful deployment. The fileExistsBehavior parameter takes any of the following values: DISALLOW: The deployment fails. This is also the default behavior if no option is specified. OVERWRITE: The version of the file from the application revision currently being deployed replaces the version already on the instance. RETAIN: The version of the file already on the instance is kept and used as part of the new deployment. ", + "deploymentConfigName": "The name of a deployment configuration associated with the IAM user or AWS account. If not specified, the value configured in the deployment group is used as the default. If the deployment group does not have a deployment configuration associated with it, CodeDeployDefault.OneAtATime is used by default.", + "description": "A comment about the deployment.", + "autoRollbackConfiguration": "Configuration information for an automatic rollback that is added when a deployment is created.", + "targetInstances": " Information about the instances that belong to the replacement environment in a blue/green deployment. " +} +""" +CreateDeployment(args) = codedeploy("CreateDeployment", args) + +""" + AddTagsToOnPremisesInstances() + +Adds tags to on-premises instances. + +Required Parameters +{ + "instanceNames": "The names of the on-premises instances to which to add tags.", + "tags": "The tag key-value pairs to add to the on-premises instances. Keys and values are both required. Keys cannot be null or empty strings. Value-only tags are not allowed." +} +""" +AddTagsToOnPremisesInstances(args) = codedeploy("AddTagsToOnPremisesInstances", args) + +""" + BatchGetDeploymentTargets() + + Returns an array of one or more targets associated with a deployment. This method works with all compute types and should be used instead of the deprecated BatchGetDeploymentInstances. The maximum number of targets that can be returned is 25. The type of targets returned depends on the deployment's compute platform: EC2/On-premises: Information about EC2 instance targets. AWS Lambda: Information about Lambda functions targets. Amazon ECS: Information about Amazon ECS service targets. + +Optional Parameters +{ + "targetIds": " The unique IDs of the deployment targets. The compute platform of the deployment determines the type of the targets and their formats. The maximum number of deployment target IDs you can specify is 25. For deployments that use the EC2/On-premises compute platform, the target IDs are EC2 or on-premises instances IDs, and their target type is instanceTarget. For deployments that use the AWS Lambda compute platform, the target IDs are the names of Lambda functions, and their target type is instanceTarget. For deployments that use the Amazon ECS compute platform, the target IDs are pairs of Amazon ECS clusters and services specified using the format <clustername>:<servicename>. Their target type is ecsTarget. ", + "deploymentId": " The unique ID of a deployment. " +} +""" +BatchGetDeploymentTargets() = codedeploy("BatchGetDeploymentTargets") +BatchGetDeploymentTargets(args) = codedeploy("BatchGetDeploymentTargets", args) + +""" + BatchGetOnPremisesInstances() + +Gets information about one or more on-premises instances. The maximum number of on-premises instances that can be returned is 25. + +Required Parameters +{ + "instanceNames": "The names of the on-premises instances about which to get information. The maximum number of instance names you can specify is 25." +} +""" +BatchGetOnPremisesInstances(args) = codedeploy("BatchGetOnPremisesInstances", args) + +""" + UntagResource() + + Disassociates a resource from a list of tags. The resource is identified by the ResourceArn input parameter. The tags are identfied by the list of keys in the TagKeys input parameter. + +Required Parameters +{ + "ResourceArn": " The ARN that specifies from which resource to disassociate the tags with the keys in the TagKeys input paramter. ", + "TagKeys": " A list of keys of Tag objects. The Tag objects identified by the keys are disassociated from the resource specified by the ResourceArn input parameter. " +} +""" +UntagResource(args) = codedeploy("UntagResource", args) + +""" + GetApplicationRevision() + +Gets information about an application revision. + +Required Parameters +{ + "revision": "Information about the application revision to get, including type and location.", + "applicationName": "The name of the application that corresponds to the revision." +} +""" +GetApplicationRevision(args) = codedeploy("GetApplicationRevision", args) + +""" + SkipWaitTimeForInstanceTermination() + +In a blue/green deployment, overrides any specified wait time and starts terminating instances immediately after the traffic routing is complete. + +Optional Parameters +{ + "deploymentId": " The unique ID of a blue/green deployment for which you want to skip the instance termination wait time. " +} +""" +SkipWaitTimeForInstanceTermination() = codedeploy("SkipWaitTimeForInstanceTermination") +SkipWaitTimeForInstanceTermination(args) = codedeploy("SkipWaitTimeForInstanceTermination", args) + +""" + ContinueDeployment() + +For a blue/green deployment, starts the process of rerouting traffic from instances in the original environment to instances in the replacement environment without waiting for a specified wait time to elapse. (Traffic rerouting, which is achieved by registering instances in the replacement environment with the load balancer, can start as soon as all instances have a status of Ready.) + +Optional Parameters +{ + "deploymentWaitType": " The status of the deployment's waiting period. READY_WAIT indicates the deployment is ready to start shifting traffic. TERMINATION_WAIT indicates the traffic is shifted, but the original target is not terminated. ", + "deploymentId": " The unique ID of a blue/green deployment for which you want to start rerouting traffic to the replacement environment. " +} +""" +ContinueDeployment() = codedeploy("ContinueDeployment") +ContinueDeployment(args) = codedeploy("ContinueDeployment", args) + +""" + DeleteDeploymentGroup() + +Deletes a deployment group. + +Required Parameters +{ + "deploymentGroupName": "The name of a deployment group for the specified application.", + "applicationName": "The name of an AWS CodeDeploy application associated with the IAM user or AWS account." +} +""" +DeleteDeploymentGroup(args) = codedeploy("DeleteDeploymentGroup", args) + +""" + ListDeploymentTargets() + + Returns an array of target IDs that are associated a deployment. + +Optional Parameters +{ + "targetFilters": " A key used to filter the returned targets. The two valid values are: TargetStatus - A TargetStatus filter string can be Failed, InProgress, Pending, Ready, Skipped, Succeeded, or Unknown. ServerInstanceLabel - A ServerInstanceLabel filter string can be Blue or Green. ", + "nextToken": " A token identifier returned from the previous ListDeploymentTargets call. It can be used to return the next set of deployment targets in the list. ", + "deploymentId": " The unique ID of a deployment. " +} +""" +ListDeploymentTargets() = codedeploy("ListDeploymentTargets") +ListDeploymentTargets(args) = codedeploy("ListDeploymentTargets", args) + +""" + ListTagsForResource() + + Returns a list of tags for the resource identified by a specified ARN. Tags are used to organize and categorize your CodeDeploy resources. + +Required Parameters +{ + "ResourceArn": " The ARN of a CodeDeploy resource. ListTagsForResource returns all the tags associated with the resource that is identified by the ResourceArn. " +} + +Optional Parameters +{ + "NextToken": "An identifier returned from the previous ListTagsForResource call. It can be used to return the next set of applications in the list." +} +""" +ListTagsForResource(args) = codedeploy("ListTagsForResource", args) + +""" + StopDeployment() + +Attempts to stop an ongoing deployment. + +Required Parameters +{ + "deploymentId": " The unique ID of a deployment. " +} + +Optional Parameters +{ + "autoRollbackEnabled": " Indicates, when a deployment is stopped, whether instances that have been updated should be rolled back to the previous version of the application revision. " +} +""" +StopDeployment(args) = codedeploy("StopDeployment", args) + +""" + GetApplication() + +Gets information about an application. + +Required Parameters +{ + "applicationName": "The name of an AWS CodeDeploy application associated with the IAM user or AWS account." +} +""" +GetApplication(args) = codedeploy("GetApplication", args) + +""" + CreateDeploymentGroup() + +Creates a deployment group to which application revisions are deployed. + +Required Parameters +{ + "serviceRoleArn": "A service role ARN that allows AWS CodeDeploy to act on the user's behalf when interacting with AWS services.", + "deploymentGroupName": "The name of a new deployment group for the specified application.", + "applicationName": "The name of an AWS CodeDeploy application associated with the IAM user or AWS account." +} + +Optional Parameters +{ + "alarmConfiguration": "Information to add about Amazon CloudWatch alarms when the deployment group is created.", + "autoScalingGroups": "A list of associated Amazon EC2 Auto Scaling groups.", + "deploymentConfigName": "If specified, the deployment configuration name can be either one of the predefined configurations provided with AWS CodeDeploy or a custom deployment configuration that you create by calling the create deployment configuration operation. CodeDeployDefault.OneAtATime is the default deployment configuration. It is used if a configuration isn't specified for the deployment or deployment group. For more information about the predefined deployment configurations in AWS CodeDeploy, see Working with Deployment Groups in AWS CodeDeploy in the AWS CodeDeploy User Guide.", + "ecsServices": " The target Amazon ECS services in the deployment group. This applies only to deployment groups that use the Amazon ECS compute platform. A target Amazon ECS service is specified as an Amazon ECS cluster and service name pair using the format <clustername>:<servicename>. ", + "onPremisesTagSet": "Information about groups of tags applied to on-premises instances. The deployment group includes only on-premises instances identified by all of the tag groups. Cannot be used in the same call as onPremisesInstanceTagFilters.", + "triggerConfigurations": "Information about triggers to create when the deployment group is created. For examples, see Create a Trigger for an AWS CodeDeploy Event in the AWS CodeDeploy User Guide.", + "onPremisesInstanceTagFilters": "The on-premises instance tags on which to filter. The deployment group includes on-premises instances with any of the specified tags. Cannot be used in the same call as OnPremisesTagSet.", + "ec2TagFilters": "The Amazon EC2 tags on which to filter. The deployment group includes EC2 instances with any of the specified tags. Cannot be used in the same call as ec2TagSet.", + "blueGreenDeploymentConfiguration": "Information about blue/green deployment options for a deployment group.", + "deploymentStyle": "Information about the type of deployment, in-place or blue/green, that you want to run and whether to route deployment traffic behind a load balancer.", + "ec2TagSet": "Information about groups of tags applied to EC2 instances. The deployment group includes only EC2 instances identified by all the tag groups. Cannot be used in the same call as ec2TagFilters.", + "loadBalancerInfo": "Information about the load balancer used in a deployment.", + "autoRollbackConfiguration": "Configuration information for an automatic rollback that is added when a deployment group is created.", + "tags": " The metadata that you apply to CodeDeploy deployment groups to help you organize and categorize them. Each tag consists of a key and an optional value, both of which you define. " +} +""" +CreateDeploymentGroup(args) = codedeploy("CreateDeploymentGroup", args) + +""" + UpdateApplication() + +Changes the name of an application. + +Optional Parameters +{ + "newApplicationName": "The new name to give the application.", + "applicationName": "The current name of the application you want to change." +} +""" +UpdateApplication() = codedeploy("UpdateApplication") +UpdateApplication(args) = codedeploy("UpdateApplication", args) + +""" + ListDeploymentInstances() + + The newer BatchGetDeploymentTargets should be used instead because it works with all compute types. ListDeploymentInstances throws an exception if it is used with a compute platform other than EC2/On-premises or AWS Lambda. Lists the instance for a deployment associated with the IAM user or AWS account. + +Required Parameters +{ + "deploymentId": " The unique ID of a deployment. " +} + +Optional Parameters +{ + "instanceStatusFilter": "A subset of instances to list by status: Pending: Include those instances with pending deployments. InProgress: Include those instances where deployments are still in progress. Succeeded: Include those instances with successful deployments. Failed: Include those instances with failed deployments. Skipped: Include those instances with skipped deployments. Unknown: Include those instances with deployments in an unknown state. ", + "instanceTypeFilter": "The set of instances in a blue/green deployment, either those in the original environment (\"BLUE\") or those in the replacement environment (\"GREEN\"), for which you want to view instance information.", + "nextToken": "An identifier returned from the previous list deployment instances call. It can be used to return the next set of deployment instances in the list." +} +""" +ListDeploymentInstances(args) = codedeploy("ListDeploymentInstances", args) + +""" + PutLifecycleEventHookExecutionStatus() + + Sets the result of a Lambda validation function. The function validates one or both lifecycle events (BeforeAllowTraffic and AfterAllowTraffic) and returns Succeeded or Failed. + +Optional Parameters +{ + "status": "The result of a Lambda function that validates a deployment lifecycle event (Succeeded or Failed).", + "lifecycleEventHookExecutionId": " The execution ID of a deployment's lifecycle hook. A deployment lifecycle hook is specified in the hooks section of the AppSpec file. ", + "deploymentId": " The unique ID of a deployment. Pass this ID to a Lambda function that validates a deployment lifecycle event. " +} +""" +PutLifecycleEventHookExecutionStatus() = codedeploy("PutLifecycleEventHookExecutionStatus") +PutLifecycleEventHookExecutionStatus(args) = codedeploy("PutLifecycleEventHookExecutionStatus", args) + +""" + ListApplications() + +Lists the applications registered with the IAM user or AWS account. + +Optional Parameters +{ + "nextToken": "An identifier returned from the previous list applications call. It can be used to return the next set of applications in the list." +} +""" +ListApplications() = codedeploy("ListApplications") +ListApplications(args) = codedeploy("ListApplications", args) + +""" + BatchGetApplications() + +Gets information about one or more applications. The maximum number of applications that can be returned is 25. + +Required Parameters +{ + "applicationNames": "A list of application names separated by spaces. The maximum number of application names you can specify is 25." +} +""" +BatchGetApplications(args) = codedeploy("BatchGetApplications", args) + +""" + CreateDeploymentConfig() + + Creates a deployment configuration. + +Required Parameters +{ + "deploymentConfigName": "The name of the deployment configuration to create." +} + +Optional Parameters +{ + "computePlatform": "The destination platform type for the deployment (Lambda, Server, or ECS).", + "trafficRoutingConfig": "The configuration that specifies how the deployment traffic is routed.", + "minimumHealthyHosts": "The minimum number of healthy instances that should be available at any time during the deployment. There are two parameters expected in the input: type and value. The type parameter takes either of the following values: HOST_COUNT: The value parameter represents the minimum number of healthy instances as an absolute value. FLEET_PERCENT: The value parameter represents the minimum number of healthy instances as a percentage of the total number of instances in the deployment. If you specify FLEET_PERCENT, at the start of the deployment, AWS CodeDeploy converts the percentage to the equivalent number of instance and rounds up fractional instances. The value parameter takes an integer. For example, to set a minimum of 95% healthy instance, specify a type of FLEET_PERCENT and a value of 95." +} +""" +CreateDeploymentConfig(args) = codedeploy("CreateDeploymentConfig", args) + +""" + BatchGetDeployments() + +Gets information about one or more deployments. The maximum number of deployments that can be returned is 25. + +Required Parameters +{ + "deploymentIds": " A list of deployment IDs, separated by spaces. The maximum number of deployment IDs you can specify is 25." +} +""" +BatchGetDeployments(args) = codedeploy("BatchGetDeployments", args) + +""" + UpdateDeploymentGroup() + +Changes information about a deployment group. + +Required Parameters +{ + "currentDeploymentGroupName": "The current name of the deployment group.", + "applicationName": "The application name that corresponds to the deployment group to update." +} + +Optional Parameters +{ + "newDeploymentGroupName": "The new name of the deployment group, if you want to change it.", + "alarmConfiguration": "Information to add or change about Amazon CloudWatch alarms when the deployment group is updated.", + "autoScalingGroups": "The replacement list of Auto Scaling groups to be included in the deployment group, if you want to change them. To keep the Auto Scaling groups, enter their names. To remove Auto Scaling groups, do not enter any Auto Scaling group names.", + "deploymentConfigName": "The replacement deployment configuration name to use, if you want to change it.", + "ecsServices": " The target Amazon ECS services in the deployment group. This applies only to deployment groups that use the Amazon ECS compute platform. A target Amazon ECS service is specified as an Amazon ECS cluster and service name pair using the format <clustername>:<servicename>. ", + "serviceRoleArn": "A replacement ARN for the service role, if you want to change it.", + "onPremisesTagSet": "Information about an on-premises instance tag set. The deployment group includes only on-premises instances identified by all the tag groups.", + "triggerConfigurations": "Information about triggers to change when the deployment group is updated. For examples, see Modify Triggers in an AWS CodeDeploy Deployment Group in the AWS CodeDeploy User Guide.", + "onPremisesInstanceTagFilters": "The replacement set of on-premises instance tags on which to filter, if you want to change them. To keep the existing tags, enter their names. To remove tags, do not enter any tag names.", + "ec2TagFilters": "The replacement set of Amazon EC2 tags on which to filter, if you want to change them. To keep the existing tags, enter their names. To remove tags, do not enter any tag names.", + "blueGreenDeploymentConfiguration": "Information about blue/green deployment options for a deployment group.", + "deploymentStyle": "Information about the type of deployment, either in-place or blue/green, you want to run and whether to route deployment traffic behind a load balancer.", + "ec2TagSet": "Information about groups of tags applied to on-premises instances. The deployment group includes only EC2 instances identified by all the tag groups.", + "loadBalancerInfo": "Information about the load balancer used in a deployment.", + "autoRollbackConfiguration": "Information for an automatic rollback configuration that is added or changed when a deployment group is updated." +} +""" +UpdateDeploymentGroup(args) = codedeploy("UpdateDeploymentGroup", args) + +""" + RegisterApplicationRevision() + +Registers with AWS CodeDeploy a revision for the specified application. + +Required Parameters +{ + "revision": "Information about the application revision to register, including type and location.", + "applicationName": "The name of an AWS CodeDeploy application associated with the IAM user or AWS account." +} + +Optional Parameters +{ + "description": "A comment about the revision." +} +""" +RegisterApplicationRevision(args) = codedeploy("RegisterApplicationRevision", args) + +""" + DeleteDeploymentConfig() + +Deletes a deployment configuration. A deployment configuration cannot be deleted if it is currently in use. Predefined configurations cannot be deleted. + +Required Parameters +{ + "deploymentConfigName": "The name of a deployment configuration associated with the IAM user or AWS account." +} +""" +DeleteDeploymentConfig(args) = codedeploy("DeleteDeploymentConfig", args) + +""" + ListOnPremisesInstances() + +Gets a list of names for one or more on-premises instances. Unless otherwise specified, both registered and deregistered on-premises instance names are listed. To list only registered or deregistered on-premises instance names, use the registration status parameter. + +Optional Parameters +{ + "tagFilters": "The on-premises instance tags that are used to restrict the on-premises instance names returned.", + "nextToken": "An identifier returned from the previous list on-premises instances call. It can be used to return the next set of on-premises instances in the list.", + "registrationStatus": "The registration status of the on-premises instances: Deregistered: Include deregistered on-premises instances in the resulting list. Registered: Include registered on-premises instances in the resulting list. " +} +""" +ListOnPremisesInstances() = codedeploy("ListOnPremisesInstances") +ListOnPremisesInstances(args) = codedeploy("ListOnPremisesInstances", args) + +""" + BatchGetDeploymentGroups() + +Gets information about one or more deployment groups. + +Required Parameters +{ + "deploymentGroupNames": "The names of the deployment groups.", + "applicationName": "The name of an AWS CodeDeploy application associated with the applicable IAM user or AWS account." +} +""" +BatchGetDeploymentGroups(args) = codedeploy("BatchGetDeploymentGroups", args) + +""" + RegisterOnPremisesInstance() + +Registers an on-premises instance. Only one IAM ARN (an IAM session ARN or IAM user ARN) is supported in the request. You cannot use both. + +Required Parameters +{ + "instanceName": "The name of the on-premises instance to register." +} + +Optional Parameters +{ + "iamUserArn": "The ARN of the IAM user to associate with the on-premises instance.", + "iamSessionArn": "The ARN of the IAM session to associate with the on-premises instance." +} +""" +RegisterOnPremisesInstance(args) = codedeploy("RegisterOnPremisesInstance", args) + +""" + BatchGetDeploymentInstances() + + This method works, but is deprecated. Use BatchGetDeploymentTargets instead. Returns an array of one or more instances associated with a deployment. This method works with EC2/On-premises and AWS Lambda compute platforms. The newer BatchGetDeploymentTargets works with all compute platforms. The maximum number of instances that can be returned is 25. + +Required Parameters +{ + "instanceIds": "The unique IDs of instances used in the deployment. The maximum number of instance IDs you can specify is 25.", + "deploymentId": " The unique ID of a deployment. " +} +""" +BatchGetDeploymentInstances(args) = codedeploy("BatchGetDeploymentInstances", args) + +""" + GetOnPremisesInstance() + + Gets information about an on-premises instance. + +Required Parameters +{ + "instanceName": " The name of the on-premises instance about which to get information. " +} +""" +GetOnPremisesInstance(args) = codedeploy("GetOnPremisesInstance", args) + +""" + ListApplicationRevisions() + +Lists information about revisions for an application. + +Required Parameters +{ + "applicationName": " The name of an AWS CodeDeploy application associated with the IAM user or AWS account. " +} + +Optional Parameters +{ + "deployed": " Whether to list revisions based on whether the revision is the target revision of an deployment group: include: List revisions that are target revisions of a deployment group. exclude: Do not list revisions that are target revisions of a deployment group. ignore: List all revisions. ", + "sortBy": "The column name to use to sort the list results: registerTime: Sort by the time the revisions were registered with AWS CodeDeploy. firstUsedTime: Sort by the time the revisions were first used in a deployment. lastUsedTime: Sort by the time the revisions were last used in a deployment. If not specified or set to null, the results are returned in an arbitrary order. ", + "s3KeyPrefix": " A key prefix for the set of Amazon S3 objects to limit the search for revisions. ", + "sortOrder": " The order in which to sort the list results: ascending: ascending order. descending: descending order. If not specified, the results are sorted in ascending order. If set to null, the results are sorted in an arbitrary order.", + "s3Bucket": " An Amazon S3 bucket name to limit the search for revisions. If set to null, all of the user's buckets are searched. ", + "nextToken": "An identifier returned from the previous ListApplicationRevisions call. It can be used to return the next set of applications in the list." +} +""" +ListApplicationRevisions(args) = codedeploy("ListApplicationRevisions", args) + +""" + BatchGetApplicationRevisions() + +Gets information about one or more application revisions. The maximum number of application revisions that can be returned is 25. + +Required Parameters +{ + "revisions": "An array of RevisionLocation objects that specify information to get about the application revisions, including type and location. The maximum number of RevisionLocation objects you can specify is 25.", + "applicationName": "The name of an AWS CodeDeploy application about which to get revision information." +} +""" +BatchGetApplicationRevisions(args) = codedeploy("BatchGetApplicationRevisions", args) + +""" + GetDeploymentGroup() + +Gets information about a deployment group. + +Required Parameters +{ + "deploymentGroupName": "The name of a deployment group for the specified application.", + "applicationName": "The name of an AWS CodeDeploy application associated with the IAM user or AWS account." +} +""" +GetDeploymentGroup(args) = codedeploy("GetDeploymentGroup", args) diff --git a/src/services/codeguru_reviewer.jl b/src/services/codeguru_reviewer.jl new file mode 100644 index 0000000000..8321266a46 --- /dev/null +++ b/src/services/codeguru_reviewer.jl @@ -0,0 +1,61 @@ +include("../AWSServices.jl") +using .AWSServices: codeguru_reviewer + +""" + ListRepositoryAssociations() + +Lists repository associations. You can optionally filter on one or more of the following recommendation properties: provider types, states, names, and owners. + +Optional Parameters +{ + "MaxResults": "The maximum number of repository association results returned by ListRepositoryAssociations in paginated output. When this parameter is used, ListRepositoryAssociations only returns maxResults results in a single page along with a nextToken response element. The remaining results of the initial request can be seen by sending another ListRepositoryAssociations request with the returned nextToken value. This value can be between 1 and 100. If this parameter is not used, then ListRepositoryAssociations returns up to 100 results and a nextToken value if applicable. ", + "Names": "List of names to use as a filter.", + "NextToken": "The nextToken value returned from a previous paginated ListRepositoryAssociations request where maxResults was used and the results exceeded the value of that parameter. Pagination continues from the end of the previous results that returned the nextToken value. This token should be treated as an opaque identifier that is only used to retrieve the next items in a list and not for other programmatic purposes. ", + "States": "List of states to use as a filter.", + "ProviderTypes": "List of provider types to use as a filter.", + "Owners": "List of owners to use as a filter. For AWS CodeCommit, the owner is the AWS account id. For GitHub, it is the GitHub account name." +} +""" +ListRepositoryAssociations() = codeguru_reviewer("GET", "/associations") +ListRepositoryAssociations(args) = codeguru_reviewer("GET", "/associations", args) + +""" + AssociateRepository() + +Associates an AWS CodeCommit repository with Amazon CodeGuru Reviewer. When you associate an AWS CodeCommit repository with Amazon CodeGuru Reviewer, Amazon CodeGuru Reviewer will provide recommendations for each pull request. You can view recommendations in the AWS CodeCommit repository. You can associate a GitHub repository using the Amazon CodeGuru Reviewer console. + +Required Parameters +{ + "Repository": "The repository to associate." +} + +Optional Parameters +{ + "ClientRequestToken": "Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you want to add a new repository association, this parameter specifies a unique identifier for the new repository association that helps ensure idempotency. If you use the AWS CLI or one of the AWS SDK to call this operation, then you can leave this parameter empty. The CLI or SDK generates a random UUID for you and includes that in the request. If you don't use the SDK and instead generate a raw HTTP request to the Secrets Manager service endpoint, then you must generate a ClientRequestToken yourself for new versions and include that value in the request. You typically only need to interact with this value if you implement your own retry logic and want to ensure that a given repository association is not created twice. We recommend that you generate a UUID-type value to ensure uniqueness within the specified repository association. Amazon CodeGuru Reviewer uses this value to prevent the accidental creation of duplicate repository associations if there are failures and retries. " +} +""" +AssociateRepository(args) = codeguru_reviewer("POST", "/associations", args) + +""" + DisassociateRepository() + +Removes the association between Amazon CodeGuru Reviewer and a repository. + +Required Parameters +{ + "AssociationArn": "The Amazon Resource Name (ARN) identifying the association." +} +""" +DisassociateRepository(args) = codeguru_reviewer("DELETE", "/associations/{AssociationArn}", args) + +""" + DescribeRepositoryAssociation() + +Describes a repository association. + +Required Parameters +{ + "AssociationArn": "The Amazon Resource Name (ARN) identifying the association." +} +""" +DescribeRepositoryAssociation(args) = codeguru_reviewer("GET", "/associations/{AssociationArn}", args) diff --git a/src/services/codeguruprofiler.jl b/src/services/codeguruprofiler.jl new file mode 100644 index 0000000000..37bad20272 --- /dev/null +++ b/src/services/codeguruprofiler.jl @@ -0,0 +1,151 @@ +include("../AWSServices.jl") +using .AWSServices: codeguruprofiler + +""" + UpdateProfilingGroup() + +Updates a profiling group. + +Required Parameters +{ + "profilingGroupName": "The name of the profiling group to update.", + "agentOrchestrationConfig": "" +} +""" +UpdateProfilingGroup(args) = codeguruprofiler("PUT", "/profilingGroups/{profilingGroupName}", args) + +""" + PostAgentProfile() + + + +Required Parameters +{ + "profilingGroupName": "", + "agentProfile": "", + "contentType": "" +} + +Optional Parameters +{ + "profileToken": "" +} +""" +PostAgentProfile(args) = codeguruprofiler("POST", "/profilingGroups/{profilingGroupName}/agentProfile", args) + +""" + ListProfilingGroups() + +Lists profiling groups. + +Optional Parameters +{ + "maxResults": "The maximum number of profiling groups results returned by ListProfilingGroups in paginated output. When this parameter is used, ListProfilingGroups only returns maxResults results in a single page along with a nextToken response element. The remaining results of the initial request can be seen by sending another ListProfilingGroups request with the returned nextToken value. ", + "nextToken": "The nextToken value returned from a previous paginated ListProfilingGroups request where maxResults was used and the results exceeded the value of that parameter. Pagination continues from the end of the previous results that returned the nextToken value. This token should be treated as an opaque identifier that is only used to retrieve the next items in a list and not for other programmatic purposes. ", + "includeDescription": "A Boolean value indicating whether to include a description." +} +""" +ListProfilingGroups() = codeguruprofiler("GET", "/profilingGroups") +ListProfilingGroups(args) = codeguruprofiler("GET", "/profilingGroups", args) + +""" + DeleteProfilingGroup() + +Deletes a profiling group. + +Required Parameters +{ + "profilingGroupName": "The profiling group name to delete." +} +""" +DeleteProfilingGroup(args) = codeguruprofiler("DELETE", "/profilingGroups/{profilingGroupName}", args) + +""" + CreateProfilingGroup() + +Creates a profiling group. + +Required Parameters +{ + "profilingGroupName": "The name of the profiling group.", + "clientToken": "Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. This parameter specifies a unique identifier for the new profiling group that helps ensure idempotency." +} + +Optional Parameters +{ + "agentOrchestrationConfig": "The agent orchestration configuration." +} +""" +CreateProfilingGroup(args) = codeguruprofiler("POST", "/profilingGroups", args) + +""" + ConfigureAgent() + + + +Required Parameters +{ + "profilingGroupName": "" +} + +Optional Parameters +{ + "fleetInstanceId": "" +} +""" +ConfigureAgent(args) = codeguruprofiler("POST", "/profilingGroups/{profilingGroupName}/configureAgent", args) + +""" + ListProfileTimes() + +List the start times of the available aggregated profiles of a profiling group for an aggregation period within the specified time range. + +Required Parameters +{ + "profilingGroupName": "The name of the profiling group.", + "startTime": "The start time of the time range from which to list the profiles.", + "period": "The aggregation period.", + "endTime": "The end time of the time range from which to list the profiles." +} + +Optional Parameters +{ + "maxResults": "The maximum number of profile time results returned by ListProfileTimes in paginated output. When this parameter is used, ListProfileTimes only returns maxResults results in a single page with a nextToken response element. The remaining results of the initial request can be seen by sending another ListProfileTimes request with the returned nextToken value. ", + "nextToken": "The nextToken value returned from a previous paginated ListProfileTimes request where maxResults was used and the results exceeded the value of that parameter. Pagination continues from the end of the previous results that returned the nextToken value. This token should be treated as an opaque identifier that is only used to retrieve the next items in a list and not for other programmatic purposes. ", + "orderBy": "The order (ascending or descending by start time of the profile) to use when listing profiles. Defaults to TIMESTAMP_DESCENDING. " +} +""" +ListProfileTimes(args) = codeguruprofiler("GET", "/profilingGroups/{profilingGroupName}/profileTimes", args) + +""" + GetProfile() + +Gets the aggregated profile of a profiling group for the specified time range. If the requested time range does not align with the available aggregated profiles, it is expanded to attain alignment. If aggregated profiles are available only for part of the period requested, the profile is returned from the earliest available to the latest within the requested time range. For example, if the requested time range is from 00:00 to 00:20 and the available profiles are from 00:15 to 00:25, the returned profile will be from 00:15 to 00:20. You must specify exactly two of the following parameters: startTime, period, and endTime. + +Required Parameters +{ + "profilingGroupName": "The name of the profiling group to get." +} + +Optional Parameters +{ + "accept": "The format of the profile to return. You can choose application/json or the default application/x-amzn-ion. ", + "startTime": "The start time of the profile to get. You must specify exactly two of the following parameters: startTime, period, and endTime. ", + "period": "The period of the profile to get. The time range must be in the past and not longer than one week. You must specify exactly two of the following parameters: startTime, period, and endTime. ", + "maxDepth": "The maximum depth of the graph.", + "endTime": " You must specify exactly two of the following parameters: startTime, period, and endTime. " +} +""" +GetProfile(args) = codeguruprofiler("GET", "/profilingGroups/{profilingGroupName}/profile", args) + +""" + DescribeProfilingGroup() + +Describes a profiling group. + +Required Parameters +{ + "profilingGroupName": "The profiling group name." +} +""" +DescribeProfilingGroup(args) = codeguruprofiler("GET", "/profilingGroups/{profilingGroupName}", args) diff --git a/src/services/codepipeline.jl b/src/services/codepipeline.jl new file mode 100644 index 0000000000..7f15656e2e --- /dev/null +++ b/src/services/codepipeline.jl @@ -0,0 +1,564 @@ +include("../AWSServices.jl") +using .AWSServices: codepipeline + +""" + AcknowledgeThirdPartyJob() + +Confirms a job worker has received the specified job. Used for partner actions only. + +Required Parameters +{ + "jobId": "The unique system-generated ID of the job.", + "clientToken": "The clientToken portion of the clientId and clientToken pair used to verify that the calling entity is allowed access to the job and its details.", + "nonce": "A system-generated random number that AWS CodePipeline uses to ensure that the job is being worked on by only one job worker. Get this number from the response to a GetThirdPartyJobDetails request." +} +""" +AcknowledgeThirdPartyJob(args) = codepipeline("AcknowledgeThirdPartyJob", args) + +""" + ListTagsForResource() + +Gets the set of key-value pairs (metadata) that are used to manage the resource. + +Required Parameters +{ + "resourceArn": "The Amazon Resource Name (ARN) of the resource to get tags for." +} + +Optional Parameters +{ + "maxResults": "The maximum number of results to return in a single call.", + "nextToken": "The token that was returned from the previous API call, which would be used to return the next page of the list. The ListTagsforResource call lists all available tags in one call and does not use pagination." +} +""" +ListTagsForResource(args) = codepipeline("ListTagsForResource", args) + +""" + RegisterWebhookWithThirdParty() + +Configures a connection between the webhook that was created and the external tool with events to be detected. + +Optional Parameters +{ + "webhookName": "The name of an existing webhook created with PutWebhook to register with a supported third party. " +} +""" +RegisterWebhookWithThirdParty() = codepipeline("RegisterWebhookWithThirdParty") +RegisterWebhookWithThirdParty(args) = codepipeline("RegisterWebhookWithThirdParty", args) + +""" + AcknowledgeJob() + +Returns information about a specified job and whether that job has been received by the job worker. Used for custom actions only. + +Required Parameters +{ + "jobId": "The unique system-generated ID of the job for which you want to confirm receipt.", + "nonce": "A system-generated random number that AWS CodePipeline uses to ensure that the job is being worked on by only one job worker. Get this number from the response of the PollForJobs request that returned this job." +} +""" +AcknowledgeJob(args) = codepipeline("AcknowledgeJob", args) + +""" + EnableStageTransition() + +Enables artifacts in a pipeline to transition to a stage in a pipeline. + +Required Parameters +{ + "stageName": "The name of the stage where you want to enable the transition of artifacts, either into the stage (inbound) or from that stage to the next stage (outbound).", + "transitionType": "Specifies whether artifacts are allowed to enter the stage and be processed by the actions in that stage (inbound) or whether already processed artifacts are allowed to transition to the next stage (outbound).", + "pipelineName": "The name of the pipeline in which you want to enable the flow of artifacts from one stage to another." +} +""" +EnableStageTransition(args) = codepipeline("EnableStageTransition", args) + +""" + GetPipelineState() + +Returns information about the state of a pipeline, including the stages and actions. Values returned in the revisionId and revisionUrl fields indicate the source revision information, such as the commit ID, for the current state. + +Required Parameters +{ + "name": "The name of the pipeline about which you want to get information." +} +""" +GetPipelineState(args) = codepipeline("GetPipelineState", args) + +""" + CreateCustomActionType() + +Creates a new custom action that can be used in all pipelines associated with the AWS account. Only used for custom actions. + +Required Parameters +{ + "provider": "The provider of the service used in the custom action, such as AWS CodeDeploy.", + "outputArtifactDetails": "The details of the output artifact of the action, such as its commit ID.", + "inputArtifactDetails": "The details of the input artifact for the action, such as its commit ID.", + "category": "The category of the custom action, such as a build action or a test action. Although Source and Approval are listed as valid values, they are not currently functional. These values are reserved for future use. ", + "version": "The version identifier of the custom action." +} + +Optional Parameters +{ + "settings": "URLs that provide users information about this custom action.", + "configurationProperties": "The configuration properties for the custom action. You can refer to a name in the configuration properties of the custom action within the URL templates by following the format of {Config:name}, as long as the configuration property is both required and not secret. For more information, see Create a Custom Action for a Pipeline. ", + "tags": "The tags for the custom action." +} +""" +CreateCustomActionType(args) = codepipeline("CreateCustomActionType", args) + +""" + ListActionTypes() + +Gets a summary of all AWS CodePipeline action types associated with your account. + +Optional Parameters +{ + "actionOwnerFilter": "Filters the list of action types to those created by a specified entity.", + "nextToken": "An identifier that was returned from the previous list action types call, which can be used to return the next set of action types in the list." +} +""" +ListActionTypes() = codepipeline("ListActionTypes") +ListActionTypes(args) = codepipeline("ListActionTypes", args) + +""" + ListPipelineExecutions() + +Gets a summary of the most recent executions for a pipeline. + +Required Parameters +{ + "pipelineName": "The name of the pipeline for which you want to get execution summary information." +} + +Optional Parameters +{ + "maxResults": "The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned nextToken value. Pipeline history is limited to the most recent 12 months, based on pipeline execution start times. Default value is 100.", + "nextToken": "The token that was returned from the previous ListPipelineExecutions call, which can be used to return the next set of pipeline executions in the list." +} +""" +ListPipelineExecutions(args) = codepipeline("ListPipelineExecutions", args) + +""" + PutThirdPartyJobFailureResult() + +Represents the failure of a third party job as returned to the pipeline by a job worker. Used for partner actions only. + +Required Parameters +{ + "jobId": "The ID of the job that failed. This is the same ID returned from PollForThirdPartyJobs.", + "failureDetails": "Represents information about failure details.", + "clientToken": "The clientToken portion of the clientId and clientToken pair used to verify that the calling entity is allowed access to the job and its details." +} +""" +PutThirdPartyJobFailureResult(args) = codepipeline("PutThirdPartyJobFailureResult", args) + +""" + CreatePipeline() + +Creates a pipeline. In the pipeline structure, you must include either artifactStore or artifactStores in your pipeline, but you cannot use both. If you create a cross-region action in your pipeline, you must use artifactStores. + +Required Parameters +{ + "pipeline": "Represents the structure of actions and stages to be performed in the pipeline. " +} + +Optional Parameters +{ + "tags": "The tags for the pipeline." +} +""" +CreatePipeline(args) = codepipeline("CreatePipeline", args) + +""" + GetPipeline() + +Returns the metadata, structure, stages, and actions of a pipeline. Can be used to return the entire structure of a pipeline in JSON format, which can then be modified and used to update the pipeline structure with UpdatePipeline. + +Required Parameters +{ + "name": "The name of the pipeline for which you want to get information. Pipeline names must be unique under an AWS user account." +} + +Optional Parameters +{ + "version": "The version number of the pipeline. If you do not specify a version, defaults to the current version." +} +""" +GetPipeline(args) = codepipeline("GetPipeline", args) + +""" + RetryStageExecution() + +Resumes the pipeline execution by retrying the last failed actions in a stage. You can retry a stage immediately if any of the actions in the stage fail. When you retry, all actions that are still in progress continue working, and failed actions are triggered again. + +Required Parameters +{ + "stageName": "The name of the failed stage to be retried.", + "retryMode": "The scope of the retry attempt. Currently, the only supported value is FAILED_ACTIONS.", + "pipelineName": "The name of the pipeline that contains the failed stage.", + "pipelineExecutionId": "The ID of the pipeline execution in the failed stage to be retried. Use the GetPipelineState action to retrieve the current pipelineExecutionId of the failed stage" +} +""" +RetryStageExecution(args) = codepipeline("RetryStageExecution", args) + +""" + DisableStageTransition() + +Prevents artifacts in a pipeline from transitioning to the next stage in the pipeline. + +Required Parameters +{ + "stageName": "The name of the stage where you want to disable the inbound or outbound transition of artifacts.", + "transitionType": "Specifies whether artifacts are prevented from transitioning into the stage and being processed by the actions in that stage (inbound), or prevented from transitioning from the stage after they have been processed by the actions in that stage (outbound).", + "reason": "The reason given to the user that a stage is disabled, such as waiting for manual approval or manual tests. This message is displayed in the pipeline console UI.", + "pipelineName": "The name of the pipeline in which you want to disable the flow of artifacts from one stage to another." +} +""" +DisableStageTransition(args) = codepipeline("DisableStageTransition", args) + +""" + PutJobFailureResult() + +Represents the failure of a job as returned to the pipeline by a job worker. Used for custom actions only. + +Required Parameters +{ + "jobId": "The unique system-generated ID of the job that failed. This is the same ID returned from PollForJobs.", + "failureDetails": "The details about the failure of a job." +} +""" +PutJobFailureResult(args) = codepipeline("PutJobFailureResult", args) + +""" + PutApprovalResult() + +Provides the response to a manual approval request to AWS CodePipeline. Valid responses include Approved and Rejected. + +Required Parameters +{ + "stageName": "The name of the stage that contains the action.", + "actionName": "The name of the action for which approval is requested.", + "token": "The system-generated token used to identify a unique approval request. The token for each open approval request can be obtained using the GetPipelineState action. It is used to validate that the approval request corresponding to this token is still valid.", + "pipelineName": "The name of the pipeline that contains the action. ", + "result": "Represents information about the result of the approval request." +} +""" +PutApprovalResult(args) = codepipeline("PutApprovalResult", args) + +""" + StartPipelineExecution() + +Starts the specified pipeline. Specifically, it begins processing the latest commit to the source location specified as part of the pipeline. + +Required Parameters +{ + "name": "The name of the pipeline to start." +} + +Optional Parameters +{ + "clientRequestToken": "The system-generated unique ID used to identify a unique execution request." +} +""" +StartPipelineExecution(args) = codepipeline("StartPipelineExecution", args) + +""" + ListWebhooks() + +Gets a listing of all the webhooks in this AWS Region for this account. The output lists all webhooks and includes the webhook URL and ARN and the configuration for each webhook. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned nextToken value.", + "NextToken": "The token that was returned from the previous ListWebhooks call, which can be used to return the next set of webhooks in the list." +} +""" +ListWebhooks() = codepipeline("ListWebhooks") +ListWebhooks(args) = codepipeline("ListWebhooks", args) + +""" + UpdatePipeline() + +Updates a specified pipeline with edits or changes to its structure. Use a JSON file with the pipeline structure and UpdatePipeline to provide the full structure of the pipeline. Updating the pipeline increases the version number of the pipeline by 1. + +Required Parameters +{ + "pipeline": "The name of the pipeline to be updated." +} +""" +UpdatePipeline(args) = codepipeline("UpdatePipeline", args) + +""" + DeleteCustomActionType() + +Marks a custom action as deleted. PollForJobs for the custom action fails after the action is marked for deletion. Used for custom actions only. To re-create a custom action after it has been deleted you must use a string in the version field that has never been used before. This string can be an incremented version number, for example. To restore a deleted custom action, use a JSON file that is identical to the deleted action, including the original string in the version field. + +Required Parameters +{ + "provider": "The provider of the service used in the custom action, such as AWS CodeDeploy.", + "category": "The category of the custom action that you want to delete, such as source or deploy.", + "version": "The version of the custom action to delete." +} +""" +DeleteCustomActionType(args) = codepipeline("DeleteCustomActionType", args) + +""" + TagResource() + +Adds to or modifies the tags of the given resource. Tags are metadata that can be used to manage a resource. + +Required Parameters +{ + "resourceArn": "The Amazon Resource Name (ARN) of the resource you want to add tags to.", + "tags": "The tags you want to modify or add to the resource." +} +""" +TagResource(args) = codepipeline("TagResource", args) + +""" + UntagResource() + +Removes tags from an AWS resource. + +Required Parameters +{ + "resourceArn": " The Amazon Resource Name (ARN) of the resource to remove tags from.", + "tagKeys": "The list of keys for the tags to be removed from the resource." +} +""" +UntagResource(args) = codepipeline("UntagResource", args) + +""" + DeleteWebhook() + +Deletes a previously created webhook by name. Deleting the webhook stops AWS CodePipeline from starting a pipeline every time an external event occurs. The API returns successfully when trying to delete a webhook that is already deleted. If a deleted webhook is re-created by calling PutWebhook with the same name, it will have a different URL. + +Required Parameters +{ + "name": "The name of the webhook you want to delete." +} +""" +DeleteWebhook(args) = codepipeline("DeleteWebhook", args) + +""" + PutJobSuccessResult() + +Represents the success of a job as returned to the pipeline by a job worker. Used for custom actions only. + +Required Parameters +{ + "jobId": "The unique system-generated ID of the job that succeeded. This is the same ID returned from PollForJobs." +} + +Optional Parameters +{ + "continuationToken": "A token generated by a job worker, such as an AWS CodeDeploy deployment ID, that a successful job provides to identify a custom action in progress. Future jobs use this token to identify the running instance of the action. It can be reused to return more information about the progress of the custom action. When the action is complete, no continuation token should be supplied.", + "currentRevision": "The ID of the current revision of the artifact successfully worked on by the job.", + "executionDetails": "The execution details of the successful job, such as the actions taken by the job worker.", + "outputVariables": "Key-value pairs produced as output by a job worker that can be made available to a downstream action configuration. outputVariables can be included only when there is no continuation token on the request." +} +""" +PutJobSuccessResult(args) = codepipeline("PutJobSuccessResult", args) + +""" + DeregisterWebhookWithThirdParty() + +Removes the connection between the webhook that was created by CodePipeline and the external tool with events to be detected. Currently supported only for webhooks that target an action type of GitHub. + +Optional Parameters +{ + "webhookName": "The name of the webhook you want to deregister." +} +""" +DeregisterWebhookWithThirdParty() = codepipeline("DeregisterWebhookWithThirdParty") +DeregisterWebhookWithThirdParty(args) = codepipeline("DeregisterWebhookWithThirdParty", args) + +""" + StopPipelineExecution() + +Stops the specified pipeline execution. You choose to either stop the pipeline execution by completing in-progress actions without starting subsequent actions, or by abandoning in-progress actions. While completing or abandoning in-progress actions, the pipeline execution is in a Stopping state. After all in-progress actions are completed or abandoned, the pipeline execution is in a Stopped state. + +Required Parameters +{ + "pipelineName": "The name of the pipeline to stop.", + "pipelineExecutionId": "The ID of the pipeline execution to be stopped in the current stage. Use the GetPipelineState action to retrieve the current pipelineExecutionId." +} + +Optional Parameters +{ + "abandon": "Use this option to stop the pipeline execution by abandoning, rather than finishing, in-progress actions. This option can lead to failed or out-of-sequence tasks. ", + "reason": "Use this option to enter comments, such as the reason the pipeline was stopped." +} +""" +StopPipelineExecution(args) = codepipeline("StopPipelineExecution", args) + +""" + PutWebhook() + +Defines a webhook and returns a unique webhook URL generated by CodePipeline. This URL can be supplied to third party source hosting providers to call every time there's a code change. When CodePipeline receives a POST request on this URL, the pipeline defined in the webhook is started as long as the POST request satisfied the authentication and filtering requirements supplied when defining the webhook. RegisterWebhookWithThirdParty and DeregisterWebhookWithThirdParty APIs can be used to automatically configure supported third parties to call the generated webhook URL. + +Required Parameters +{ + "webhook": "The detail provided in an input file to create the webhook, such as the webhook name, the pipeline name, and the action name. Give the webhook a unique name that helps you identify it. You might name the webhook after the pipeline and action it targets so that you can easily recognize what it's used for later." +} + +Optional Parameters +{ + "tags": "The tags for the webhook." +} +""" +PutWebhook(args) = codepipeline("PutWebhook", args) + +""" + PollForThirdPartyJobs() + +Determines whether there are any third party jobs for a job worker to act on. Used for partner actions only. When this API is called, AWS CodePipeline returns temporary credentials for the S3 bucket used to store artifacts for the pipeline, if the action requires access to that S3 bucket for input or output artifacts. + +Required Parameters +{ + "actionTypeId": "Represents information about an action type." +} + +Optional Parameters +{ + "maxBatchSize": "The maximum number of jobs to return in a poll for jobs call." +} +""" +PollForThirdPartyJobs(args) = codepipeline("PollForThirdPartyJobs", args) + +""" + PollForJobs() + +Returns information about any jobs for AWS CodePipeline to act on. PollForJobs is valid only for action types with "Custom" in the owner field. If the action type contains "AWS" or "ThirdParty" in the owner field, the PollForJobs action returns an error. When this API is called, AWS CodePipeline returns temporary credentials for the S3 bucket used to store artifacts for the pipeline, if the action requires access to that S3 bucket for input or output artifacts. This API also returns any secret values defined for the action. + +Required Parameters +{ + "actionTypeId": "Represents information about an action type." +} + +Optional Parameters +{ + "queryParam": "A map of property names and values. For an action type with no queryable properties, this value must be null or an empty map. For an action type with a queryable property, you must supply that property as a key in the map. Only jobs whose action configuration matches the mapped value are returned.", + "maxBatchSize": "The maximum number of jobs to return in a poll for jobs call." +} +""" +PollForJobs(args) = codepipeline("PollForJobs", args) + +""" + GetThirdPartyJobDetails() + +Requests the details of a job for a third party action. Used for partner actions only. When this API is called, AWS CodePipeline returns temporary credentials for the S3 bucket used to store artifacts for the pipeline, if the action requires access to that S3 bucket for input or output artifacts. This API also returns any secret values defined for the action. + +Required Parameters +{ + "jobId": "The unique system-generated ID used for identifying the job.", + "clientToken": "The clientToken portion of the clientId and clientToken pair used to verify that the calling entity is allowed access to the job and its details." +} +""" +GetThirdPartyJobDetails(args) = codepipeline("GetThirdPartyJobDetails", args) + +""" + PutActionRevision() + +Provides information to AWS CodePipeline about new revisions to a source. + +Required Parameters +{ + "stageName": "The name of the stage that contains the action that acts on the revision.", + "actionName": "The name of the action that processes the revision.", + "pipelineName": "The name of the pipeline that starts processing the revision to the source.", + "actionRevision": "Represents information about the version (or revision) of an action." +} +""" +PutActionRevision(args) = codepipeline("PutActionRevision", args) + +""" + GetJobDetails() + +Returns information about a job. Used for custom actions only. When this API is called, AWS CodePipeline returns temporary credentials for the S3 bucket used to store artifacts for the pipeline, if the action requires access to that S3 bucket for input or output artifacts. This API also returns any secret values defined for the action. + +Required Parameters +{ + "jobId": "The unique system-generated ID for the job." +} +""" +GetJobDetails(args) = codepipeline("GetJobDetails", args) + +""" + ListActionExecutions() + +Lists the action executions that have occurred in a pipeline. + +Required Parameters +{ + "pipelineName": " The name of the pipeline for which you want to list action execution history." +} + +Optional Parameters +{ + "filter": "Input information used to filter action execution history.", + "maxResults": "The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned nextToken value. Action execution history is retained for up to 12 months, based on action execution start times. Default value is 100. Detailed execution history is available for executions run on or after February 21, 2019. ", + "nextToken": "The token that was returned from the previous ListActionExecutions call, which can be used to return the next set of action executions in the list." +} +""" +ListActionExecutions(args) = codepipeline("ListActionExecutions", args) + +""" + DeletePipeline() + +Deletes the specified pipeline. + +Required Parameters +{ + "name": "The name of the pipeline to be deleted." +} +""" +DeletePipeline(args) = codepipeline("DeletePipeline", args) + +""" + ListPipelines() + +Gets a summary of all of the pipelines associated with your account. + +Optional Parameters +{ + "nextToken": "An identifier that was returned from the previous list pipelines call. It can be used to return the next set of pipelines in the list." +} +""" +ListPipelines() = codepipeline("ListPipelines") +ListPipelines(args) = codepipeline("ListPipelines", args) + +""" + PutThirdPartyJobSuccessResult() + +Represents the success of a third party job as returned to the pipeline by a job worker. Used for partner actions only. + +Required Parameters +{ + "jobId": "The ID of the job that successfully completed. This is the same ID returned from PollForThirdPartyJobs.", + "clientToken": "The clientToken portion of the clientId and clientToken pair used to verify that the calling entity is allowed access to the job and its details." +} + +Optional Parameters +{ + "continuationToken": "A token generated by a job worker, such as an AWS CodeDeploy deployment ID, that a successful job provides to identify a partner action in progress. Future jobs use this token to identify the running instance of the action. It can be reused to return more information about the progress of the partner action. When the action is complete, no continuation token should be supplied.", + "currentRevision": "Represents information about a current revision.", + "executionDetails": "The details of the actions taken and results produced on an artifact as it passes through stages in the pipeline. " +} +""" +PutThirdPartyJobSuccessResult(args) = codepipeline("PutThirdPartyJobSuccessResult", args) + +""" + GetPipelineExecution() + +Returns information about an execution of a pipeline, including details about artifacts, the pipeline execution ID, and the name, version, and status of the pipeline. + +Required Parameters +{ + "pipelineName": "The name of the pipeline about which you want to get execution details.", + "pipelineExecutionId": "The ID of the pipeline execution about which you want to get execution details." +} +""" +GetPipelineExecution(args) = codepipeline("GetPipelineExecution", args) diff --git a/src/services/codestar.jl b/src/services/codestar.jl new file mode 100644 index 0000000000..7e3f15cc45 --- /dev/null +++ b/src/services/codestar.jl @@ -0,0 +1,294 @@ +include("../AWSServices.jl") +using .AWSServices: codestar + +""" + UpdateTeamMember() + +Updates a team member's attributes in an AWS CodeStar project. For example, you can change a team member's role in the project, or change whether they have remote access to project resources. + +Required Parameters +{ + "userArn": "The Amazon Resource Name (ARN) of the user for whom you want to change team membership attributes.", + "projectId": "The ID of the project." +} + +Optional Parameters +{ + "remoteAccessAllowed": "Whether a team member is allowed to remotely access project resources using the SSH public key associated with the user's profile. Even if this is set to True, the user must associate a public key with their profile before the user can access resources.", + "projectRole": "The role assigned to the user in the project. Project roles have different levels of access. For more information, see Working with Teams in the AWS CodeStar User Guide." +} +""" +UpdateTeamMember(args) = codestar("UpdateTeamMember", args) + +""" + ListUserProfiles() + +Lists all the user profiles configured for your AWS account in AWS CodeStar. + +Optional Parameters +{ + "maxResults": "The maximum number of results to return in a response.", + "nextToken": "The continuation token for the next set of results, if the results cannot be returned in one response." +} +""" +ListUserProfiles() = codestar("ListUserProfiles") +ListUserProfiles(args) = codestar("ListUserProfiles", args) + +""" + UpdateProject() + +Updates a project in AWS CodeStar. + +Required Parameters +{ + "id": "The ID of the project you want to update." +} + +Optional Parameters +{ + "name": "The name of the project you want to update.", + "description": "The description of the project, if any." +} +""" +UpdateProject(args) = codestar("UpdateProject", args) + +""" + AssociateTeamMember() + +Adds an IAM user to the team for an AWS CodeStar project. + +Required Parameters +{ + "userArn": "The Amazon Resource Name (ARN) for the IAM user you want to add to the AWS CodeStar project.", + "projectId": "The ID of the project to which you will add the IAM user.", + "projectRole": "The AWS CodeStar project role that will apply to this user. This role determines what actions a user can take in an AWS CodeStar project." +} + +Optional Parameters +{ + "clientRequestToken": "A user- or system-generated token that identifies the entity that requested the team member association to the project. This token can be used to repeat the request.", + "remoteAccessAllowed": "Whether the team member is allowed to use an SSH public/private key pair to remotely access project resources, for example Amazon EC2 instances." +} +""" +AssociateTeamMember(args) = codestar("AssociateTeamMember", args) + +""" + DescribeProject() + +Describes a project and its resources. + +Required Parameters +{ + "id": "The ID of the project." +} +""" +DescribeProject(args) = codestar("DescribeProject", args) + +""" + DeleteUserProfile() + +Deletes a user profile in AWS CodeStar, including all personal preference data associated with that profile, such as display name and email address. It does not delete the history of that user, for example the history of commits made by that user. + +Required Parameters +{ + "userArn": "The Amazon Resource Name (ARN) of the user to delete from AWS CodeStar." +} +""" +DeleteUserProfile(args) = codestar("DeleteUserProfile", args) + +""" + CreateProject() + +Creates a project, including project resources. This action creates a project based on a submitted project request. A set of source code files and a toolchain template file can be included with the project request. If these are not provided, an empty project is created. + +Required Parameters +{ + "name": "The display name for the project to be created in AWS CodeStar.", + "id": "The ID of the project to be created in AWS CodeStar." +} + +Optional Parameters +{ + "clientRequestToken": "A user- or system-generated token that identifies the entity that requested project creation. This token can be used to repeat the request.", + "sourceCode": "A list of the Code objects submitted with the project request. If this parameter is specified, the request must also include the toolchain parameter.", + "toolchain": "The name of the toolchain template file submitted with the project request. If this parameter is specified, the request must also include the sourceCode parameter.", + "tags": "The tags created for the project.", + "description": "The description of the project, if any." +} +""" +CreateProject(args) = codestar("CreateProject", args) + +""" + DisassociateTeamMember() + +Removes a user from a project. Removing a user from a project also removes the IAM policies from that user that allowed access to the project and its resources. Disassociating a team member does not remove that user's profile from AWS CodeStar. It does not remove the user from IAM. + +Required Parameters +{ + "userArn": "The Amazon Resource Name (ARN) of the IAM user or group whom you want to remove from the project.", + "projectId": "The ID of the AWS CodeStar project from which you want to remove a team member." +} +""" +DisassociateTeamMember(args) = codestar("DisassociateTeamMember", args) + +""" + CreateUserProfile() + +Creates a profile for a user that includes user preferences, such as the display name and email address assocciated with the user, in AWS CodeStar. The user profile is not project-specific. Information in the user profile is displayed wherever the user's information appears to other users in AWS CodeStar. + +Required Parameters +{ + "userArn": "The Amazon Resource Name (ARN) of the user in IAM.", + "emailAddress": "The email address that will be displayed as part of the user's profile in AWS CodeStar.", + "displayName": "The name that will be displayed as the friendly name for the user in AWS CodeStar. " +} + +Optional Parameters +{ + "sshPublicKey": "The SSH public key associated with the user in AWS CodeStar. If a project owner allows the user remote access to project resources, this public key will be used along with the user's private key for SSH access." +} +""" +CreateUserProfile(args) = codestar("CreateUserProfile", args) + +""" + ListTagsForProject() + +Gets the tags for a project. + +Required Parameters +{ + "id": "The ID of the project to get tags for." +} + +Optional Parameters +{ + "maxResults": "Reserved for future use.", + "nextToken": "Reserved for future use." +} +""" +ListTagsForProject(args) = codestar("ListTagsForProject", args) + +""" + ListProjects() + +Lists all projects in AWS CodeStar associated with your AWS account. + +Optional Parameters +{ + "maxResults": "The maximum amount of data that can be contained in a single set of results.", + "nextToken": "The continuation token to be used to return the next set of results, if the results cannot be returned in one response." +} +""" +ListProjects() = codestar("ListProjects") +ListProjects(args) = codestar("ListProjects", args) + +""" + DeleteProject() + +Deletes a project, including project resources. Does not delete users associated with the project, but does delete the IAM roles that allowed access to the project. + +Required Parameters +{ + "id": "The ID of the project to be deleted in AWS CodeStar." +} + +Optional Parameters +{ + "clientRequestToken": "A user- or system-generated token that identifies the entity that requested project deletion. This token can be used to repeat the request. ", + "deleteStack": "Whether to send a delete request for the primary stack in AWS CloudFormation originally used to generate the project and its resources. This option will delete all AWS resources for the project (except for any buckets in Amazon S3) as well as deleting the project itself. Recommended for most use cases." +} +""" +DeleteProject(args) = codestar("DeleteProject", args) + +""" + UntagProject() + +Removes tags from a project. + +Required Parameters +{ + "id": "The ID of the project to remove tags from.", + "tags": "The tags to remove from the project." +} +""" +UntagProject(args) = codestar("UntagProject", args) + +""" + UpdateUserProfile() + +Updates a user's profile in AWS CodeStar. The user profile is not project-specific. Information in the user profile is displayed wherever the user's information appears to other users in AWS CodeStar. + +Required Parameters +{ + "userArn": "The name that will be displayed as the friendly name for the user in AWS CodeStar." +} + +Optional Parameters +{ + "emailAddress": "The email address that is displayed as part of the user's profile in AWS CodeStar.", + "displayName": "The name that is displayed as the friendly name for the user in AWS CodeStar.", + "sshPublicKey": "The SSH public key associated with the user in AWS CodeStar. If a project owner allows the user remote access to project resources, this public key will be used along with the user's private key for SSH access." +} +""" +UpdateUserProfile(args) = codestar("UpdateUserProfile", args) + +""" + TagProject() + +Adds tags to a project. + +Required Parameters +{ + "id": "The ID of the project you want to add a tag to.", + "tags": "The tags you want to add to the project." +} +""" +TagProject(args) = codestar("TagProject", args) + +""" + DescribeUserProfile() + +Describes a user in AWS CodeStar and the user attributes across all projects. + +Required Parameters +{ + "userArn": "The Amazon Resource Name (ARN) of the user." +} +""" +DescribeUserProfile(args) = codestar("DescribeUserProfile", args) + +""" + ListResources() + +Lists resources associated with a project in AWS CodeStar. + +Required Parameters +{ + "projectId": "The ID of the project." +} + +Optional Parameters +{ + "maxResults": "The maximum amount of data that can be contained in a single set of results.", + "nextToken": "The continuation token for the next set of results, if the results cannot be returned in one response." +} +""" +ListResources(args) = codestar("ListResources", args) + +""" + ListTeamMembers() + +Lists all team members associated with a project. + +Required Parameters +{ + "projectId": "The ID of the project for which you want to list team members." +} + +Optional Parameters +{ + "maxResults": "The maximum number of team members you want returned in a response.", + "nextToken": "The continuation token for the next set of results, if the results cannot be returned in one response." +} +""" +ListTeamMembers(args) = codestar("ListTeamMembers", args) diff --git a/src/services/codestar_connections.jl b/src/services/codestar_connections.jl new file mode 100644 index 0000000000..1cf4bb78c1 --- /dev/null +++ b/src/services/codestar_connections.jl @@ -0,0 +1,54 @@ +include("../AWSServices.jl") +using .AWSServices: codestar_connections + +""" + GetConnection() + +Returns the connection ARN and details such as status, owner, and provider type. + +Required Parameters +{ + "ConnectionArn": "The Amazon Resource Name (ARN) of a connection." +} +""" +GetConnection(args) = codestar_connections("GetConnection", args) + +""" + ListConnections() + +Lists the connections associated with your account. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned nextToken value.", + "ProviderTypeFilter": "Filters the list of connections to those associated with a specified provider, such as Bitbucket.", + "NextToken": "The token that was returned from the previous ListConnections call, which can be used to return the next set of connections in the list." +} +""" +ListConnections() = codestar_connections("ListConnections") +ListConnections(args) = codestar_connections("ListConnections", args) + +""" + CreateConnection() + +Creates a connection that can then be given to other AWS services like CodePipeline so that it can access third-party code repositories. The connection is in pending status until the third-party connection handshake is completed from the console. + +Required Parameters +{ + "ConnectionName": "The name of the connection to be created. The name must be unique in the calling AWS account.", + "ProviderType": "The name of the external provider where your third-party code repository is configured. Currently, the valid provider type is Bitbucket." +} +""" +CreateConnection(args) = codestar_connections("CreateConnection", args) + +""" + DeleteConnection() + +The connection to be deleted. + +Required Parameters +{ + "ConnectionArn": "The Amazon Resource Name (ARN) of the connection to be deleted. The ARN is never reused if the connection is deleted. " +} +""" +DeleteConnection(args) = codestar_connections("DeleteConnection", args) diff --git a/src/services/codestar_notifications.jl b/src/services/codestar_notifications.jl new file mode 100644 index 0000000000..0d9ac05756 --- /dev/null +++ b/src/services/codestar_notifications.jl @@ -0,0 +1,201 @@ +include("../AWSServices.jl") +using .AWSServices: codestar_notifications + +""" + ListTagsForResource() + +Returns a list of the tags associated with a notification rule. + +Required Parameters +{ + "Arn": "The Amazon Resource Name (ARN) for the notification rule." +} +""" +ListTagsForResource(args) = codestar_notifications("POST", "/listTagsForResource", args) + +""" + ListTargets() + +Returns a list of the notification rule targets for an AWS account. + +Optional Parameters +{ + "MaxResults": "A non-negative integer used to limit the number of returned results. The maximum number of results that can be returned is 100.", + "NextToken": "An enumeration token that, when provided in a request, returns the next batch of the results.", + "Filters": "The filters to use to return information by service or resource type. Valid filters include target type, target address, and target status. A filter with the same name can appear more than once when used with OR statements. Filters with different names should be applied with AND statements. " +} +""" +ListTargets() = codestar_notifications("POST", "/listTargets") +ListTargets(args) = codestar_notifications("POST", "/listTargets", args) + +""" + DeleteTarget() + +Deletes a specified target for notifications. + +Required Parameters +{ + "TargetAddress": "The Amazon Resource Name (ARN) of the SNS topic to delete." +} + +Optional Parameters +{ + "ForceUnsubscribeAll": "A Boolean value that can be used to delete all associations with this SNS topic. The default value is FALSE. If set to TRUE, all associations between that target and every notification rule in your AWS account are deleted." +} +""" +DeleteTarget(args) = codestar_notifications("POST", "/deleteTarget", args) + +""" + DeleteNotificationRule() + +Deletes a notification rule for a resource. + +Required Parameters +{ + "Arn": "The Amazon Resource Name (ARN) of the notification rule you want to delete." +} +""" +DeleteNotificationRule(args) = codestar_notifications("POST", "/deleteNotificationRule", args) + +""" + CreateNotificationRule() + +Creates a notification rule for a resource. The rule specifies the events you want notifications about and the targets (such as SNS topics) where you want to receive them. + +Required Parameters +{ + "DetailType": "The level of detail to include in the notifications for this resource. BASIC will include only the contents of the event as it would appear in AWS CloudWatch. FULL will include any supplemental information provided by AWS CodeStar Notifications and/or the service for the resource for which the notification is created.", + "Resource": "The Amazon Resource Name (ARN) of the resource to associate with the notification rule. Supported resources include pipelines in AWS CodePipeline, repositories in AWS CodeCommit, and build projects in AWS CodeBuild.", + "Targets": "A list of Amazon Resource Names (ARNs) of SNS topics to associate with the notification rule.", + "Name": "The name for the notification rule. Notifictaion rule names must be unique in your AWS account.", + "EventTypeIds": "A list of event types associated with this notification rule. For a list of allowed events, see EventTypeSummary." +} + +Optional Parameters +{ + "ClientRequestToken": "A unique, client-generated idempotency token that, when provided in a request, ensures the request cannot be repeated with a changed parameter. If a request with the same parameters is received and a token is included, the request returns information about the initial request that used that token. The AWS SDKs prepopulate client request tokens. If you are using an AWS SDK, an idempotency token is created for you. ", + "Tags": "A list of tags to apply to this notification rule. Key names cannot start with \"aws\". ", + "Status": "The status of the notification rule. The default value is ENABLED. If the status is set to DISABLED, notifications aren't sent for the notification rule." +} +""" +CreateNotificationRule(args) = codestar_notifications("POST", "/createNotificationRule", args) + +""" + ListNotificationRules() + +Returns a list of the notification rules for an AWS account. + +Optional Parameters +{ + "MaxResults": "A non-negative integer used to limit the number of returned results. The maximum number of results that can be returned is 100.", + "NextToken": "An enumeration token that, when provided in a request, returns the next batch of the results.", + "Filters": "The filters to use to return information by service or resource type. For valid values, see ListNotificationRulesFilter. A filter with the same name can appear more than once when used with OR statements. Filters with different names should be applied with AND statements. " +} +""" +ListNotificationRules() = codestar_notifications("POST", "/listNotificationRules") +ListNotificationRules(args) = codestar_notifications("POST", "/listNotificationRules", args) + +""" + TagResource() + +Associates a set of provided tags with a notification rule. + +Required Parameters +{ + "Arn": "The Amazon Resource Name (ARN) of the notification rule to tag.", + "Tags": "The list of tags to associate with the resource. Tag key names cannot start with \"aws\"." +} +""" +TagResource(args) = codestar_notifications("POST", "/tagResource", args) + +""" + UntagResource() + +Removes the association between one or more provided tags and a notification rule. + +Required Parameters +{ + "Arn": "The Amazon Resource Name (ARN) of the notification rule from which to remove the tags.", + "TagKeys": "The key names of the tags to remove." +} +""" +UntagResource(args) = codestar_notifications("POST", "/untagResource", args) + +""" + Subscribe() + +Creates an association between a notification rule and an SNS topic so that the associated target can receive notifications when the events described in the rule are triggered. + +Required Parameters +{ + "Arn": "The Amazon Resource Name (ARN) of the notification rule for which you want to create the association.", + "Target": "" +} + +Optional Parameters +{ + "ClientRequestToken": "An enumeration token that, when provided in a request, returns the next batch of the results." +} +""" +Subscribe(args) = codestar_notifications("POST", "/subscribe", args) + +""" + UpdateNotificationRule() + +Updates a notification rule for a resource. You can change the events that trigger the notification rule, the status of the rule, and the targets that receive the notifications. To add or remove tags for a notification rule, you must use TagResource and UntagResource. + +Required Parameters +{ + "Arn": "The Amazon Resource Name (ARN) of the notification rule." +} + +Optional Parameters +{ + "DetailType": "The level of detail to include in the notifications for this resource. BASIC will include only the contents of the event as it would appear in AWS CloudWatch. FULL will include any supplemental information provided by AWS CodeStar Notifications and/or the service for the resource for which the notification is created.", + "Status": "The status of the notification rule. Valid statuses include enabled (sending notifications) or disabled (not sending notifications).", + "Targets": "The address and type of the targets to receive notifications from this notification rule.", + "Name": "The name of the notification rule.", + "EventTypeIds": "A list of event types associated with this notification rule." +} +""" +UpdateNotificationRule(args) = codestar_notifications("POST", "/updateNotificationRule", args) + +""" + Unsubscribe() + +Removes an association between a notification rule and an Amazon SNS topic so that subscribers to that topic stop receiving notifications when the events described in the rule are triggered. + +Required Parameters +{ + "Arn": "The Amazon Resource Name (ARN) of the notification rule.", + "TargetAddress": "The ARN of the SNS topic to unsubscribe from the notification rule." +} +""" +Unsubscribe(args) = codestar_notifications("POST", "/unsubscribe", args) + +""" + DescribeNotificationRule() + +Returns information about a specified notification rule. + +Required Parameters +{ + "Arn": "The Amazon Resource Name (ARN) of the notification rule." +} +""" +DescribeNotificationRule(args) = codestar_notifications("POST", "/describeNotificationRule", args) + +""" + ListEventTypes() + +Returns information about the event types available for configuring notifications. + +Optional Parameters +{ + "MaxResults": "A non-negative integer used to limit the number of returned results. The default number is 50. The maximum number of results that can be returned is 100.", + "NextToken": "An enumeration token that, when provided in a request, returns the next batch of the results.", + "Filters": "The filters to use to return information by service or resource type." +} +""" +ListEventTypes() = codestar_notifications("POST", "/listEventTypes") +ListEventTypes(args) = codestar_notifications("POST", "/listEventTypes", args) diff --git a/src/services/cognito_identity.jl b/src/services/cognito_identity.jl new file mode 100644 index 0000000000..8b627681de --- /dev/null +++ b/src/services/cognito_identity.jl @@ -0,0 +1,339 @@ +include("../AWSServices.jl") +using .AWSServices: cognito_identity + +""" + ListTagsForResource() + +Lists the tags that are assigned to an Amazon Cognito identity pool. A tag is a label that you can apply to identity pools to categorize and manage them in different ways, such as by purpose, owner, environment, or other criteria. You can use this action up to 10 times per second, per account. + +Required Parameters +{ + "ResourceArn": "The Amazon Resource Name (ARN) of the identity pool that the tags are assigned to." +} +""" +ListTagsForResource(args) = cognito_identity("ListTagsForResource", args) + +""" + MergeDeveloperIdentities() + +Merges two users having different IdentityIds, existing in the same identity pool, and identified by the same developer provider. You can use this action to request that discrete users be merged and identified as a single user in the Cognito environment. Cognito associates the given source user (SourceUserIdentifier) with the IdentityId of the DestinationUserIdentifier. Only developer-authenticated users can be merged. If the users to be merged are associated with the same public provider, but as two different users, an exception will be thrown. The number of linked logins is limited to 20. So, the number of linked logins for the source user, SourceUserIdentifier, and the destination user, DestinationUserIdentifier, together should not be larger than 20. Otherwise, an exception will be thrown. You must use AWS Developer credentials to call this API. + +Required Parameters +{ + "SourceUserIdentifier": "User identifier for the source user. The value should be a DeveloperUserIdentifier.", + "IdentityPoolId": "An identity pool ID in the format REGION:GUID.", + "DeveloperProviderName": "The \"domain\" by which Cognito will refer to your users. This is a (pseudo) domain name that you provide while creating an identity pool. This name acts as a placeholder that allows your backend and the Cognito service to communicate about the developer provider. For the DeveloperProviderName, you can use letters as well as period (.), underscore (_), and dash (-).", + "DestinationUserIdentifier": "User identifier for the destination user. The value should be a DeveloperUserIdentifier." +} +""" +MergeDeveloperIdentities(args) = cognito_identity("MergeDeveloperIdentities", args) + +""" + DeleteIdentityPool() + +Deletes an identity pool. Once a pool is deleted, users will not be able to authenticate with the pool. You must use AWS Developer credentials to call this API. + +Required Parameters +{ + "IdentityPoolId": "An identity pool ID in the format REGION:GUID." +} +""" +DeleteIdentityPool(args) = cognito_identity("DeleteIdentityPool", args) + +""" + ListIdentityPools() + +Lists all of the Cognito identity pools registered for your account. You must use AWS Developer credentials to call this API. + +Required Parameters +{ + "MaxResults": "The maximum number of identities to return." +} + +Optional Parameters +{ + "NextToken": "A pagination token." +} +""" +ListIdentityPools(args) = cognito_identity("ListIdentityPools", args) + +""" + GetCredentialsForIdentity() + +Returns credentials for the provided identity ID. Any provided logins will be validated against supported login providers. If the token is for cognito-identity.amazonaws.com, it will be passed through to AWS Security Token Service with the appropriate role for the token. This is a public API. You do not need any credentials to call this API. + +Required Parameters +{ + "IdentityId": "A unique identifier in the format REGION:GUID." +} + +Optional Parameters +{ + "CustomRoleArn": "The Amazon Resource Name (ARN) of the role to be assumed when multiple roles were received in the token from the identity provider. For example, a SAML-based identity provider. This parameter is optional for identity providers that do not support role customization.", + "Logins": "A set of optional name-value pairs that map provider names to provider tokens. The name-value pair will follow the syntax \"provider_name\": \"provider_user_identifier\". Logins should not be specified when trying to get credentials for an unauthenticated identity. The Logins parameter is required when using identities associated with external identity providers such as FaceBook. For examples of Logins maps, see the code examples in the External Identity Providers section of the Amazon Cognito Developer Guide." +} +""" +GetCredentialsForIdentity(args) = cognito_identity("GetCredentialsForIdentity", args) + +""" + GetIdentityPoolRoles() + +Gets the roles for an identity pool. You must use AWS Developer credentials to call this API. + +Required Parameters +{ + "IdentityPoolId": "An identity pool ID in the format REGION:GUID." +} +""" +GetIdentityPoolRoles(args) = cognito_identity("GetIdentityPoolRoles", args) + +""" + SetIdentityPoolRoles() + +Sets the roles for an identity pool. These roles are used when making calls to GetCredentialsForIdentity action. You must use AWS Developer credentials to call this API. + +Required Parameters +{ + "IdentityPoolId": "An identity pool ID in the format REGION:GUID.", + "Roles": "The map of roles associated with this pool. For a given role, the key will be either \"authenticated\" or \"unauthenticated\" and the value will be the Role ARN." +} + +Optional Parameters +{ + "RoleMappings": "How users for a specific identity provider are to mapped to roles. This is a string to RoleMapping object map. The string identifies the identity provider, for example, \"graph.facebook.com\" or \"cognito-idp-east-1.amazonaws.com/us-east-1_abcdefghi:app_client_id\". Up to 25 rules can be specified per identity provider." +} +""" +SetIdentityPoolRoles(args) = cognito_identity("SetIdentityPoolRoles", args) + +""" + GetOpenIdTokenForDeveloperIdentity() + +Registers (or retrieves) a Cognito IdentityId and an OpenID Connect token for a user authenticated by your backend authentication process. Supplying multiple logins will create an implicit linked account. You can only specify one developer provider as part of the Logins map, which is linked to the identity pool. The developer provider is the "domain" by which Cognito will refer to your users. You can use GetOpenIdTokenForDeveloperIdentity to create a new identity and to link new logins (that is, user credentials issued by a public provider or developer provider) to an existing identity. When you want to create a new identity, the IdentityId should be null. When you want to associate a new login with an existing authenticated/unauthenticated identity, you can do so by providing the existing IdentityId. This API will create the identity in the specified IdentityPoolId. You must use AWS Developer credentials to call this API. + +Required Parameters +{ + "IdentityPoolId": "An identity pool ID in the format REGION:GUID.", + "Logins": "A set of optional name-value pairs that map provider names to provider tokens. Each name-value pair represents a user from a public provider or developer provider. If the user is from a developer provider, the name-value pair will follow the syntax \"developer_provider_name\": \"developer_user_identifier\". The developer provider is the \"domain\" by which Cognito will refer to your users; you provided this domain while creating/updating the identity pool. The developer user identifier is an identifier from your backend that uniquely identifies a user. When you create an identity pool, you can specify the supported logins." +} + +Optional Parameters +{ + "IdentityId": "A unique identifier in the format REGION:GUID.", + "TokenDuration": "The expiration time of the token, in seconds. You can specify a custom expiration time for the token so that you can cache it. If you don't provide an expiration time, the token is valid for 15 minutes. You can exchange the token with Amazon STS for temporary AWS credentials, which are valid for a maximum of one hour. The maximum token duration you can set is 24 hours. You should take care in setting the expiration time for a token, as there are significant security implications: an attacker could use a leaked token to access your AWS resources for the token's duration. Please provide for a small grace period, usually no more than 5 minutes, to account for clock skew. " +} +""" +GetOpenIdTokenForDeveloperIdentity(args) = cognito_identity("GetOpenIdTokenForDeveloperIdentity", args) + +""" + UnlinkDeveloperIdentity() + +Unlinks a DeveloperUserIdentifier from an existing identity. Unlinked developer users will be considered new identities next time they are seen. If, for a given Cognito identity, you remove all federated identities as well as the developer user identifier, the Cognito identity becomes inaccessible. You must use AWS Developer credentials to call this API. + +Required Parameters +{ + "IdentityPoolId": "An identity pool ID in the format REGION:GUID.", + "DeveloperUserIdentifier": "A unique ID used by your backend authentication process to identify a user.", + "IdentityId": "A unique identifier in the format REGION:GUID.", + "DeveloperProviderName": "The \"domain\" by which Cognito will refer to your users." +} +""" +UnlinkDeveloperIdentity(args) = cognito_identity("UnlinkDeveloperIdentity", args) + +""" + LookupDeveloperIdentity() + +Retrieves the IdentityID associated with a DeveloperUserIdentifier or the list of DeveloperUserIdentifier values associated with an IdentityId for an existing identity. Either IdentityID or DeveloperUserIdentifier must not be null. If you supply only one of these values, the other value will be searched in the database and returned as a part of the response. If you supply both, DeveloperUserIdentifier will be matched against IdentityID. If the values are verified against the database, the response returns both values and is the same as the request. Otherwise a ResourceConflictException is thrown. LookupDeveloperIdentity is intended for low-throughput control plane operations: for example, to enable customer service to locate an identity ID by username. If you are using it for higher-volume operations such as user authentication, your requests are likely to be throttled. GetOpenIdTokenForDeveloperIdentity is a better option for higher-volume operations for user authentication. You must use AWS Developer credentials to call this API. + +Required Parameters +{ + "IdentityPoolId": "An identity pool ID in the format REGION:GUID." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of identities to return.", + "NextToken": "A pagination token. The first call you make will have NextToken set to null. After that the service will return NextToken values as needed. For example, let's say you make a request with MaxResults set to 10, and there are 20 matches in the database. The service will return a pagination token as a part of the response. This token can be used to call the API again and get results starting from the 11th match.", + "DeveloperUserIdentifier": "A unique ID used by your backend authentication process to identify a user. Typically, a developer identity provider would issue many developer user identifiers, in keeping with the number of users.", + "IdentityId": "A unique identifier in the format REGION:GUID." +} +""" +LookupDeveloperIdentity(args) = cognito_identity("LookupDeveloperIdentity", args) + +""" + GetOpenIdToken() + +Gets an OpenID token, using a known Cognito ID. This known Cognito ID is returned by GetId. You can optionally add additional logins for the identity. Supplying multiple logins creates an implicit link. The OpenId token is valid for 10 minutes. This is a public API. You do not need any credentials to call this API. + +Required Parameters +{ + "IdentityId": "A unique identifier in the format REGION:GUID." +} + +Optional Parameters +{ + "Logins": "A set of optional name-value pairs that map provider names to provider tokens. When using graph.facebook.com and www.amazon.com, supply the access_token returned from the provider's authflow. For accounts.google.com, an Amazon Cognito user pool provider, or any other OpenId Connect provider, always include the id_token." +} +""" +GetOpenIdToken(args) = cognito_identity("GetOpenIdToken", args) + +""" + TagResource() + +Assigns a set of tags to an Amazon Cognito identity pool. A tag is a label that you can use to categorize and manage identity pools in different ways, such as by purpose, owner, environment, or other criteria. Each tag consists of a key and value, both of which you define. A key is a general category for more specific values. For example, if you have two versions of an identity pool, one for testing and another for production, you might assign an Environment tag key to both identity pools. The value of this key might be Test for one identity pool and Production for the other. Tags are useful for cost tracking and access control. You can activate your tags so that they appear on the Billing and Cost Management console, where you can track the costs associated with your identity pools. In an IAM policy, you can constrain permissions for identity pools based on specific tags or tag values. You can use this action up to 5 times per second, per account. An identity pool can have as many as 50 tags. + +Required Parameters +{ + "ResourceArn": "The Amazon Resource Name (ARN) of the identity pool to assign the tags to.", + "Tags": "The tags to assign to the identity pool." +} +""" +TagResource(args) = cognito_identity("TagResource", args) + +""" + UnlinkIdentity() + +Unlinks a federated identity from an existing account. Unlinked logins will be considered new identities next time they are seen. Removing the last linked login will make this identity inaccessible. This is a public API. You do not need any credentials to call this API. + +Required Parameters +{ + "LoginsToRemove": "Provider names to unlink from this identity.", + "IdentityId": "A unique identifier in the format REGION:GUID.", + "Logins": "A set of optional name-value pairs that map provider names to provider tokens." +} +""" +UnlinkIdentity(args) = cognito_identity("UnlinkIdentity", args) + +""" + UntagResource() + +Removes the specified tags from an Amazon Cognito identity pool. You can use this action up to 5 times per second, per account + +Required Parameters +{ + "ResourceArn": "The Amazon Resource Name (ARN) of the identity pool that the tags are assigned to.", + "TagKeys": "The keys of the tags to remove from the user pool." +} +""" +UntagResource(args) = cognito_identity("UntagResource", args) + +""" + CreateIdentityPool() + +Creates a new identity pool. The identity pool is a store of user identity information that is specific to your AWS account. The keys for SupportedLoginProviders are as follows: Facebook: graph.facebook.com Google: accounts.google.com Amazon: www.amazon.com Twitter: api.twitter.com Digits: www.digits.com You must use AWS Developer credentials to call this API. + +Required Parameters +{ + "IdentityPoolName": "A string that you provide.", + "AllowUnauthenticatedIdentities": "TRUE if the identity pool supports unauthenticated logins." +} + +Optional Parameters +{ + "SupportedLoginProviders": "Optional key:value pairs mapping provider names to provider app IDs.", + "SamlProviderARNs": "An array of Amazon Resource Names (ARNs) of the SAML provider for your identity pool.", + "AllowClassicFlow": "Enables or disables the Basic (Classic) authentication flow. For more information, see Identity Pools (Federated Identities) Authentication Flow in the Amazon Cognito Developer Guide.", + "DeveloperProviderName": "The \"domain\" by which Cognito will refer to your users. This name acts as a placeholder that allows your backend and the Cognito service to communicate about the developer provider. For the DeveloperProviderName, you can use letters as well as period (.), underscore (_), and dash (-). Once you have set a developer provider name, you cannot change it. Please take care in setting this parameter.", + "OpenIdConnectProviderARNs": "A list of OpendID Connect provider ARNs.", + "CognitoIdentityProviders": "An array of Amazon Cognito user pools and their client IDs.", + "IdentityPoolTags": "Tags to assign to the identity pool. A tag is a label that you can apply to identity pools to categorize and manage them in different ways, such as by purpose, owner, environment, or other criteria." +} +""" +CreateIdentityPool(args) = cognito_identity("CreateIdentityPool", args) + +""" + DeleteIdentities() + +Deletes identities from an identity pool. You can specify a list of 1-60 identities that you want to delete. You must use AWS Developer credentials to call this API. + +Required Parameters +{ + "IdentityIdsToDelete": "A list of 1-60 identities that you want to delete." +} +""" +DeleteIdentities(args) = cognito_identity("DeleteIdentities", args) + +""" + ListIdentities() + +Lists the identities in an identity pool. You must use AWS Developer credentials to call this API. + +Required Parameters +{ + "MaxResults": "The maximum number of identities to return.", + "IdentityPoolId": "An identity pool ID in the format REGION:GUID." +} + +Optional Parameters +{ + "NextToken": "A pagination token.", + "HideDisabled": "An optional boolean parameter that allows you to hide disabled identities. If omitted, the ListIdentities API will include disabled identities in the response." +} +""" +ListIdentities(args) = cognito_identity("ListIdentities", args) + +""" + DescribeIdentity() + +Returns metadata related to the given identity, including when the identity was created and any associated linked logins. You must use AWS Developer credentials to call this API. + +Required Parameters +{ + "IdentityId": "A unique identifier in the format REGION:GUID." +} +""" +DescribeIdentity(args) = cognito_identity("DescribeIdentity", args) + +""" + GetId() + +Generates (or retrieves) a Cognito ID. Supplying multiple logins will create an implicit linked account. This is a public API. You do not need any credentials to call this API. + +Required Parameters +{ + "IdentityPoolId": "An identity pool ID in the format REGION:GUID." +} + +Optional Parameters +{ + "AccountId": "A standard AWS account ID (9+ digits).", + "Logins": "A set of optional name-value pairs that map provider names to provider tokens. The available provider names for Logins are as follows: Facebook: graph.facebook.com Amazon Cognito user pool: cognito-idp.<region>.amazonaws.com/<YOUR_USER_POOL_ID>, for example, cognito-idp.us-east-1.amazonaws.com/us-east-1_123456789. Google: accounts.google.com Amazon: www.amazon.com Twitter: api.twitter.com Digits: www.digits.com " +} +""" +GetId(args) = cognito_identity("GetId", args) + +""" + UpdateIdentityPool() + +Updates an identity pool. You must use AWS Developer credentials to call this API. + +Required Parameters +{ + "IdentityPoolName": "A string that you provide.", + "IdentityPoolId": "An identity pool ID in the format REGION:GUID.", + "AllowUnauthenticatedIdentities": "TRUE if the identity pool supports unauthenticated logins." +} + +Optional Parameters +{ + "SupportedLoginProviders": "Optional key:value pairs mapping provider names to provider app IDs.", + "SamlProviderARNs": "An array of Amazon Resource Names (ARNs) of the SAML provider for your identity pool.", + "AllowClassicFlow": "Enables or disables the Basic (Classic) authentication flow. For more information, see Identity Pools (Federated Identities) Authentication Flow in the Amazon Cognito Developer Guide.", + "DeveloperProviderName": "The \"domain\" by which Cognito will refer to your users.", + "OpenIdConnectProviderARNs": "A list of OpendID Connect provider ARNs.", + "CognitoIdentityProviders": "A list representing an Amazon Cognito user pool and its client ID.", + "IdentityPoolTags": "The tags that are assigned to the identity pool. A tag is a label that you can apply to identity pools to categorize and manage them in different ways, such as by purpose, owner, environment, or other criteria." +} +""" +UpdateIdentityPool(args) = cognito_identity("UpdateIdentityPool", args) + +""" + DescribeIdentityPool() + +Gets details about a particular identity pool, including the pool name, ID description, creation date, and current number of users. You must use AWS Developer credentials to call this API. + +Required Parameters +{ + "IdentityPoolId": "An identity pool ID in the format REGION:GUID." +} +""" +DescribeIdentityPool(args) = cognito_identity("DescribeIdentityPool", args) diff --git a/src/services/cognito_identity_provider.jl b/src/services/cognito_identity_provider.jl new file mode 100644 index 0000000000..650064a507 --- /dev/null +++ b/src/services/cognito_identity_provider.jl @@ -0,0 +1,1693 @@ +include("../AWSServices.jl") +using .AWSServices: cognito_identity_provider + +""" + GetDevice() + +Gets the device. + +Required Parameters +{ + "DeviceKey": "The device key." +} + +Optional Parameters +{ + "AccessToken": "The access token." +} +""" +GetDevice(args) = cognito_identity_provider("GetDevice", args) + +""" + DeleteGroup() + +Deletes a group. Currently only groups with no members can be deleted. Calling this action requires developer credentials. + +Required Parameters +{ + "GroupName": "The name of the group.", + "UserPoolId": "The user pool ID for the user pool." +} +""" +DeleteGroup(args) = cognito_identity_provider("DeleteGroup", args) + +""" + GetGroup() + +Gets a group. Calling this action requires developer credentials. + +Required Parameters +{ + "GroupName": "The name of the group.", + "UserPoolId": "The user pool ID for the user pool." +} +""" +GetGroup(args) = cognito_identity_provider("GetGroup", args) + +""" + AdminRemoveUserFromGroup() + +Removes the specified user from the specified group. Calling this action requires developer credentials. + +Required Parameters +{ + "UserPoolId": "The user pool ID for the user pool.", + "GroupName": "The group name.", + "Username": "The username for the user." +} +""" +AdminRemoveUserFromGroup(args) = cognito_identity_provider("AdminRemoveUserFromGroup", args) + +""" + SetUserSettings() + + This action is no longer supported. You can use it to configure only SMS MFA. You can't use it to configure TOTP software token MFA. To configure either type of MFA, use the SetUserMFAPreference action instead. + +Required Parameters +{ + "AccessToken": "The access token for the set user settings request.", + "MFAOptions": "You can use this parameter only to set an SMS configuration that uses SMS for delivery." +} +""" +SetUserSettings(args) = cognito_identity_provider("SetUserSettings", args) + +""" + ListUserPools() + +Lists the user pools associated with an AWS account. + +Required Parameters +{ + "MaxResults": "The maximum number of results you want the request to return when listing the user pools." +} + +Optional Parameters +{ + "NextToken": "An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list." +} +""" +ListUserPools(args) = cognito_identity_provider("ListUserPools", args) + +""" + RespondToAuthChallenge() + +Responds to the authentication challenge. + +Required Parameters +{ + "ClientId": "The app client ID.", + "ChallengeName": "The challenge name. For more information, see . ADMIN_NO_SRP_AUTH is not a valid value." +} + +Optional Parameters +{ + "ChallengeResponses": "The challenge responses. These are inputs corresponding to the value of ChallengeName, for example: SECRET_HASH (if app client is configured with client secret) applies to all inputs below (including SOFTWARE_TOKEN_MFA). SMS_MFA: SMS_MFA_CODE, USERNAME. PASSWORD_VERIFIER: PASSWORD_CLAIM_SIGNATURE, PASSWORD_CLAIM_SECRET_BLOCK, TIMESTAMP, USERNAME. NEW_PASSWORD_REQUIRED: NEW_PASSWORD, any other required attributes, USERNAME. SOFTWARE_TOKEN_MFA: USERNAME and SOFTWARE_TOKEN_MFA_CODE are required attributes. DEVICE_SRP_AUTH requires USERNAME, DEVICE_KEY, SRP_A (and SECRET_HASH). DEVICE_PASSWORD_VERIFIER requires everything that PASSWORD_VERIFIER requires plus DEVICE_KEY. ", + "ClientMetadata": "A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers. You create custom workflows by assigning AWS Lambda functions to user pool triggers. When you use the RespondToAuthChallenge API action, Amazon Cognito invokes any functions that are assigned to the following triggers: post authentication, pre token generation, define auth challenge, create auth challenge, and verify auth challenge. When Amazon Cognito invokes any of these functions, it passes a JSON payload, which the function receives as input. This payload contains a clientMetadata attribute, which provides the data that you assigned to the ClientMetadata parameter in your RespondToAuthChallenge request. In your function code in AWS Lambda, you can process the clientMetadata value to enhance your workflow for your specific needs. For more information, see Customizing User Pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide. Take the following limitations into consideration when you use the ClientMetadata parameter: Amazon Cognito does not store the ClientMetadata value. This data is available only to AWS Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration does not include triggers, the ClientMetadata parameter serves no purpose. Amazon Cognito does not validate the ClientMetadata value. Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive information. ", + "Session": "The session which should be passed both ways in challenge-response calls to the service. If InitiateAuth or RespondToAuthChallenge API call determines that the caller needs to go through another challenge, they return a session with other challenge parameters. This session should be passed as it is to the next RespondToAuthChallenge API call.", + "UserContextData": "Contextual data such as the user's device fingerprint, IP address, or location used for evaluating the risk of an unexpected event by Amazon Cognito advanced security.", + "AnalyticsMetadata": "The Amazon Pinpoint analytics metadata for collecting metrics for RespondToAuthChallenge calls." +} +""" +RespondToAuthChallenge(args) = cognito_identity_provider("RespondToAuthChallenge", args) + +""" + GetUserPoolMfaConfig() + +Gets the user pool multi-factor authentication (MFA) configuration. + +Required Parameters +{ + "UserPoolId": "The user pool ID." +} +""" +GetUserPoolMfaConfig(args) = cognito_identity_provider("GetUserPoolMfaConfig", args) + +""" + ListUserPoolClients() + +Lists the clients that have been created for the specified user pool. + +Required Parameters +{ + "UserPoolId": "The user pool ID for the user pool where you want to list user pool clients." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of results you want the request to return when listing the user pool clients.", + "NextToken": "An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list." +} +""" +ListUserPoolClients(args) = cognito_identity_provider("ListUserPoolClients", args) + +""" + DescribeIdentityProvider() + +Gets information about a specific identity provider. + +Required Parameters +{ + "ProviderName": "The identity provider name.", + "UserPoolId": "The user pool ID." +} +""" +DescribeIdentityProvider(args) = cognito_identity_provider("DescribeIdentityProvider", args) + +""" + TagResource() + +Assigns a set of tags to an Amazon Cognito user pool. A tag is a label that you can use to categorize and manage user pools in different ways, such as by purpose, owner, environment, or other criteria. Each tag consists of a key and value, both of which you define. A key is a general category for more specific values. For example, if you have two versions of a user pool, one for testing and another for production, you might assign an Environment tag key to both user pools. The value of this key might be Test for one user pool and Production for the other. Tags are useful for cost tracking and access control. You can activate your tags so that they appear on the Billing and Cost Management console, where you can track the costs associated with your user pools. In an IAM policy, you can constrain permissions for user pools based on specific tags or tag values. You can use this action up to 5 times per second, per account. A user pool can have as many as 50 tags. + +Required Parameters +{ + "ResourceArn": "The Amazon Resource Name (ARN) of the user pool to assign the tags to.", + "Tags": "The tags to assign to the user pool." +} +""" +TagResource(args) = cognito_identity_provider("TagResource", args) + +""" + DeleteUserAttributes() + +Deletes the attributes for a user. + +Required Parameters +{ + "UserAttributeNames": "An array of strings representing the user attribute names you wish to delete. For custom attributes, you must prepend the custom: prefix to the attribute name.", + "AccessToken": "The access token used in the request to delete user attributes." +} +""" +DeleteUserAttributes(args) = cognito_identity_provider("DeleteUserAttributes", args) + +""" + ListIdentityProviders() + +Lists information about all identity providers for a user pool. + +Required Parameters +{ + "UserPoolId": "The user pool ID." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of identity providers to return.", + "NextToken": "A pagination token." +} +""" +ListIdentityProviders(args) = cognito_identity_provider("ListIdentityProviders", args) + +""" + GetIdentityProviderByIdentifier() + +Gets the specified identity provider. + +Required Parameters +{ + "UserPoolId": "The user pool ID.", + "IdpIdentifier": "The identity provider ID." +} +""" +GetIdentityProviderByIdentifier(args) = cognito_identity_provider("GetIdentityProviderByIdentifier", args) + +""" + GetSigningCertificate() + +This method takes a user pool ID, and returns the signing certificate. + +Required Parameters +{ + "UserPoolId": "The user pool ID." +} +""" +GetSigningCertificate(args) = cognito_identity_provider("GetSigningCertificate", args) + +""" + ListResourceServers() + +Lists the resource servers for a user pool. + +Required Parameters +{ + "UserPoolId": "The user pool ID for the user pool." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of resource servers to return.", + "NextToken": "A pagination token." +} +""" +ListResourceServers(args) = cognito_identity_provider("ListResourceServers", args) + +""" + StopUserImportJob() + +Stops the user import job. + +Required Parameters +{ + "UserPoolId": "The user pool ID for the user pool that the users are being imported into.", + "JobId": "The job ID for the user import job." +} +""" +StopUserImportJob(args) = cognito_identity_provider("StopUserImportJob", args) + +""" + UpdateResourceServer() + +Updates the name and scopes of resource server. All other fields are read-only. If you don't provide a value for an attribute, it will be set to the default value. + +Required Parameters +{ + "Identifier": "The identifier for the resource server.", + "UserPoolId": "The user pool ID for the user pool.", + "Name": "The name of the resource server." +} + +Optional Parameters +{ + "Scopes": "The scope values to be set for the resource server." +} +""" +UpdateResourceServer(args) = cognito_identity_provider("UpdateResourceServer", args) + +""" + ForgotPassword() + +Calling this API causes a message to be sent to the end user with a confirmation code that is required to change the user's password. For the Username parameter, you can use the username or user alias. The method used to send the confirmation code is sent according to the specified AccountRecoverySetting. For more information, see Recovering User Accounts in the Amazon Cognito Developer Guide. If neither a verified phone number nor a verified email exists, an InvalidParameterException is thrown. To use the confirmation code for resetting the password, call . + +Required Parameters +{ + "ClientId": "The ID of the client associated with the user pool.", + "Username": "The user name of the user for whom you want to enter a code to reset a forgotten password." +} + +Optional Parameters +{ + "ClientMetadata": "A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers. You create custom workflows by assigning AWS Lambda functions to user pool triggers. When you use the ForgotPassword API action, Amazon Cognito invokes any functions that are assigned to the following triggers: pre sign-up, custom message, and user migration. When Amazon Cognito invokes any of these functions, it passes a JSON payload, which the function receives as input. This payload contains a clientMetadata attribute, which provides the data that you assigned to the ClientMetadata parameter in your ForgotPassword request. In your function code in AWS Lambda, you can process the clientMetadata value to enhance your workflow for your specific needs. For more information, see Customizing User Pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide. Take the following limitations into consideration when you use the ClientMetadata parameter: Amazon Cognito does not store the ClientMetadata value. This data is available only to AWS Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration does not include triggers, the ClientMetadata parameter serves no purpose. Amazon Cognito does not validate the ClientMetadata value. Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive information. ", + "SecretHash": "A keyed-hash message authentication code (HMAC) calculated using the secret key of a user pool client and username plus the client ID in the message.", + "UserContextData": "Contextual data such as the user's device fingerprint, IP address, or location used for evaluating the risk of an unexpected event by Amazon Cognito advanced security.", + "AnalyticsMetadata": "The Amazon Pinpoint analytics metadata for collecting metrics for ForgotPassword calls." +} +""" +ForgotPassword(args) = cognito_identity_provider("ForgotPassword", args) + +""" + ListUsersInGroup() + +Lists the users in the specified group. Calling this action requires developer credentials. + +Required Parameters +{ + "UserPoolId": "The user pool ID for the user pool.", + "GroupName": "The name of the group." +} + +Optional Parameters +{ + "NextToken": "An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.", + "Limit": "The limit of the request to list users." +} +""" +ListUsersInGroup(args) = cognito_identity_provider("ListUsersInGroup", args) + +""" + AddCustomAttributes() + +Adds additional user attributes to the user pool schema. + +Required Parameters +{ + "CustomAttributes": "An array of custom attributes, such as Mutable and Name.", + "UserPoolId": "The user pool ID for the user pool where you want to add custom attributes." +} +""" +AddCustomAttributes(args) = cognito_identity_provider("AddCustomAttributes", args) + +""" + GetUserAttributeVerificationCode() + +Gets the user attribute verification code for the specified attribute name. + +Required Parameters +{ + "AccessToken": "The access token returned by the server response to get the user attribute verification code.", + "AttributeName": "The attribute name returned by the server response to get the user attribute verification code." +} + +Optional Parameters +{ + "ClientMetadata": "A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers. You create custom workflows by assigning AWS Lambda functions to user pool triggers. When you use the GetUserAttributeVerificationCode API action, Amazon Cognito invokes the function that is assigned to the custom message trigger. When Amazon Cognito invokes this function, it passes a JSON payload, which the function receives as input. This payload contains a clientMetadata attribute, which provides the data that you assigned to the ClientMetadata parameter in your GetUserAttributeVerificationCode request. In your function code in AWS Lambda, you can process the clientMetadata value to enhance your workflow for your specific needs. For more information, see Customizing User Pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide. Take the following limitations into consideration when you use the ClientMetadata parameter: Amazon Cognito does not store the ClientMetadata value. This data is available only to AWS Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration does not include triggers, the ClientMetadata parameter serves no purpose. Amazon Cognito does not validate the ClientMetadata value. Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive information. " +} +""" +GetUserAttributeVerificationCode(args) = cognito_identity_provider("GetUserAttributeVerificationCode", args) + +""" + ResendConfirmationCode() + +Resends the confirmation (for confirmation of registration) to a specific user in the user pool. + +Required Parameters +{ + "ClientId": "The ID of the client associated with the user pool.", + "Username": "The user name of the user to whom you wish to resend a confirmation code." +} + +Optional Parameters +{ + "ClientMetadata": "A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers. You create custom workflows by assigning AWS Lambda functions to user pool triggers. When you use the ResendConfirmationCode API action, Amazon Cognito invokes the function that is assigned to the custom message trigger. When Amazon Cognito invokes this function, it passes a JSON payload, which the function receives as input. This payload contains a clientMetadata attribute, which provides the data that you assigned to the ClientMetadata parameter in your ResendConfirmationCode request. In your function code in AWS Lambda, you can process the clientMetadata value to enhance your workflow for your specific needs. For more information, see Customizing User Pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide. Take the following limitations into consideration when you use the ClientMetadata parameter: Amazon Cognito does not store the ClientMetadata value. This data is available only to AWS Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration does not include triggers, the ClientMetadata parameter serves no purpose. Amazon Cognito does not validate the ClientMetadata value. Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive information. ", + "SecretHash": "A keyed-hash message authentication code (HMAC) calculated using the secret key of a user pool client and username plus the client ID in the message.", + "UserContextData": "Contextual data such as the user's device fingerprint, IP address, or location used for evaluating the risk of an unexpected event by Amazon Cognito advanced security.", + "AnalyticsMetadata": "The Amazon Pinpoint analytics metadata for collecting metrics for ResendConfirmationCode calls." +} +""" +ResendConfirmationCode(args) = cognito_identity_provider("ResendConfirmationCode", args) + +""" + CreateUserPool() + +Creates a new Amazon Cognito user pool and sets the password policy for the pool. + +Required Parameters +{ + "PoolName": "A string used to name the user pool." +} + +Optional Parameters +{ + "SmsVerificationMessage": "A string representing the SMS verification message.", + "MfaConfiguration": "Specifies MFA configuration details.", + "SmsAuthenticationMessage": "A string representing the SMS authentication message.", + "DeviceConfiguration": "The device configuration.", + "VerificationMessageTemplate": "The template for the verification message that the user sees when the app requests permission to access the user's information.", + "EmailConfiguration": "The email configuration.", + "Schema": "An array of schema attributes for the new user pool. These attributes can be standard or custom attributes.", + "AccountRecoverySetting": "Use this setting to define which verified available method a user can use to recover their password when they call ForgotPassword. It allows you to define a preferred method when a user has more than one method available. With this setting, SMS does not qualify for a valid password recovery mechanism if the user also has SMS MFA enabled. In the absence of this setting, Cognito uses the legacy behavior to determine the recovery method where SMS is preferred over email. Starting February 1, 2020, the value of AccountRecoverySetting will default to verified_email first and verified_phone_number as the second option for newly created user pools if no value is provided. ", + "UsernameAttributes": "Specifies whether email addresses or phone numbers can be specified as usernames when a user signs up.", + "SmsConfiguration": "The SMS configuration.", + "AdminCreateUserConfig": "The configuration for AdminCreateUser requests.", + "AliasAttributes": "Attributes supported as an alias for this user pool. Possible values: phone_number, email, or preferred_username.", + "AutoVerifiedAttributes": "The attributes to be auto-verified. Possible values: email, phone_number.", + "UsernameConfiguration": "You can choose to set case sensitivity on the username input for the selected sign-in option. For example, when this is set to False, users will be able to sign in using either \"username\" or \"Username\". This configuration is immutable once it has been set. For more information, see .", + "EmailVerificationMessage": "A string representing the email verification message.", + "UserPoolTags": "The tag keys and values to assign to the user pool. A tag is a label that you can use to categorize and manage user pools in different ways, such as by purpose, owner, environment, or other criteria.", + "Policies": "The policies associated with the new user pool.", + "UserPoolAddOns": "Used to enable advanced security risk detection. Set the key AdvancedSecurityMode to the value \"AUDIT\".", + "EmailVerificationSubject": "A string representing the email verification subject.", + "LambdaConfig": "The Lambda trigger configuration information for the new user pool. In a push model, event sources (such as Amazon S3 and custom applications) need permission to invoke a function. So you will need to make an extra call to add permission for these event sources to invoke your Lambda function. For more information on using the Lambda API to add permission, see AddPermission . For adding permission using the AWS CLI, see add-permission . " +} +""" +CreateUserPool(args) = cognito_identity_provider("CreateUserPool", args) + +""" + VerifySoftwareToken() + +Use this API to register a user's entered TOTP code and mark the user's software token MFA status as "verified" if successful. The request takes an access token or a session string, but not both. + +Required Parameters +{ + "UserCode": "The one time password computed using the secret code returned by " +} + +Optional Parameters +{ + "AccessToken": "The access token.", + "Session": "The session which should be passed both ways in challenge-response calls to the service.", + "FriendlyDeviceName": "The friendly device name." +} +""" +VerifySoftwareToken(args) = cognito_identity_provider("VerifySoftwareToken", args) + +""" + DeleteIdentityProvider() + +Deletes an identity provider for a user pool. + +Required Parameters +{ + "ProviderName": "The identity provider name.", + "UserPoolId": "The user pool ID." +} +""" +DeleteIdentityProvider(args) = cognito_identity_provider("DeleteIdentityProvider", args) + +""" + AdminUpdateAuthEventFeedback() + +Provides feedback for an authentication event as to whether it was from a valid user. This feedback is used for improving the risk evaluation decision for the user pool as part of Amazon Cognito advanced security. + +Required Parameters +{ + "FeedbackValue": "The authentication event feedback value.", + "UserPoolId": "The user pool ID.", + "EventId": "The authentication event ID.", + "Username": "The user pool username." +} +""" +AdminUpdateAuthEventFeedback(args) = cognito_identity_provider("AdminUpdateAuthEventFeedback", args) + +""" + CreateUserPoolDomain() + +Creates a new domain for a user pool. + +Required Parameters +{ + "Domain": "The domain string.", + "UserPoolId": "The user pool ID." +} + +Optional Parameters +{ + "CustomDomainConfig": "The configuration for a custom domain that hosts the sign-up and sign-in webpages for your application. Provide this parameter only if you want to use a custom domain for your user pool. Otherwise, you can exclude this parameter and use the Amazon Cognito hosted domain instead. For more information about the hosted domain and custom domains, see Configuring a User Pool Domain." +} +""" +CreateUserPoolDomain(args) = cognito_identity_provider("CreateUserPoolDomain", args) + +""" + ForgetDevice() + +Forgets the specified device. + +Required Parameters +{ + "DeviceKey": "The device key." +} + +Optional Parameters +{ + "AccessToken": "The access token for the forgotten device request." +} +""" +ForgetDevice(args) = cognito_identity_provider("ForgetDevice", args) + +""" + ListUserImportJobs() + +Lists the user import jobs. + +Required Parameters +{ + "MaxResults": "The maximum number of import jobs you want the request to return.", + "UserPoolId": "The user pool ID for the user pool that the users are being imported into." +} + +Optional Parameters +{ + "PaginationToken": "An identifier that was returned from the previous call to ListUserImportJobs, which can be used to return the next set of import jobs in the list." +} +""" +ListUserImportJobs(args) = cognito_identity_provider("ListUserImportJobs", args) + +""" + DeleteUserPoolClient() + +Allows the developer to delete the user pool client. + +Required Parameters +{ + "ClientId": "The app client ID of the app associated with the user pool.", + "UserPoolId": "The user pool ID for the user pool where you want to delete the client." +} +""" +DeleteUserPoolClient(args) = cognito_identity_provider("DeleteUserPoolClient", args) + +""" + ListDevices() + +Lists the devices. + +Required Parameters +{ + "AccessToken": "The access tokens for the request to list devices." +} + +Optional Parameters +{ + "PaginationToken": "The pagination token for the list request.", + "Limit": "The limit of the device request." +} +""" +ListDevices(args) = cognito_identity_provider("ListDevices", args) + +""" + DeleteUserPoolDomain() + +Deletes a domain for a user pool. + +Required Parameters +{ + "Domain": "The domain string.", + "UserPoolId": "The user pool ID." +} +""" +DeleteUserPoolDomain(args) = cognito_identity_provider("DeleteUserPoolDomain", args) + +""" + AdminRespondToAuthChallenge() + +Responds to an authentication challenge, as an administrator. Calling this action requires developer credentials. + +Required Parameters +{ + "ClientId": "The app client ID.", + "UserPoolId": "The ID of the Amazon Cognito user pool.", + "ChallengeName": "The challenge name. For more information, see ." +} + +Optional Parameters +{ + "ChallengeResponses": "The challenge responses. These are inputs corresponding to the value of ChallengeName, for example: SMS_MFA: SMS_MFA_CODE, USERNAME, SECRET_HASH (if app client is configured with client secret). PASSWORD_VERIFIER: PASSWORD_CLAIM_SIGNATURE, PASSWORD_CLAIM_SECRET_BLOCK, TIMESTAMP, USERNAME, SECRET_HASH (if app client is configured with client secret). ADMIN_NO_SRP_AUTH: PASSWORD, USERNAME, SECRET_HASH (if app client is configured with client secret). NEW_PASSWORD_REQUIRED: NEW_PASSWORD, any other required attributes, USERNAME, SECRET_HASH (if app client is configured with client secret). The value of the USERNAME attribute must be the user's actual username, not an alias (such as email address or phone number). To make this easier, the AdminInitiateAuth response includes the actual username value in the USERNAMEUSER_ID_FOR_SRP attribute, even if you specified an alias in your call to AdminInitiateAuth.", + "ClientMetadata": "A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers. You create custom workflows by assigning AWS Lambda functions to user pool triggers. When you use the AdminRespondToAuthChallenge API action, Amazon Cognito invokes any functions that are assigned to the following triggers: pre sign-up, custom message, post authentication, user migration, pre token generation, define auth challenge, create auth challenge, and verify auth challenge response. When Amazon Cognito invokes any of these functions, it passes a JSON payload, which the function receives as input. This payload contains a clientMetadata attribute, which provides the data that you assigned to the ClientMetadata parameter in your AdminRespondToAuthChallenge request. In your function code in AWS Lambda, you can process the clientMetadata value to enhance your workflow for your specific needs. For more information, see Customizing User Pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide. Take the following limitations into consideration when you use the ClientMetadata parameter: Amazon Cognito does not store the ClientMetadata value. This data is available only to AWS Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration does not include triggers, the ClientMetadata parameter serves no purpose. Amazon Cognito does not validate the ClientMetadata value. Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive information. ", + "Session": "The session which should be passed both ways in challenge-response calls to the service. If InitiateAuth or RespondToAuthChallenge API call determines that the caller needs to go through another challenge, they return a session with other challenge parameters. This session should be passed as it is to the next RespondToAuthChallenge API call.", + "ContextData": "Contextual data such as the user's device fingerprint, IP address, or location used for evaluating the risk of an unexpected event by Amazon Cognito advanced security.", + "AnalyticsMetadata": "The analytics metadata for collecting Amazon Pinpoint metrics for AdminRespondToAuthChallenge calls." +} +""" +AdminRespondToAuthChallenge(args) = cognito_identity_provider("AdminRespondToAuthChallenge", args) + +""" + SetRiskConfiguration() + +Configures actions on detected risks. To delete the risk configuration for UserPoolId or ClientId, pass null values for all four configuration types. To enable Amazon Cognito advanced security features, update the user pool to include the UserPoolAddOns keyAdvancedSecurityMode. See . + +Required Parameters +{ + "UserPoolId": "The user pool ID. " +} + +Optional Parameters +{ + "ClientId": "The app client ID. If ClientId is null, then the risk configuration is mapped to userPoolId. When the client ID is null, the same risk configuration is applied to all the clients in the userPool. Otherwise, ClientId is mapped to the client. When the client ID is not null, the user pool configuration is overridden and the risk configuration for the client is used instead.", + "AccountTakeoverRiskConfiguration": "The account takeover risk configuration.", + "CompromisedCredentialsRiskConfiguration": "The compromised credentials risk configuration.", + "RiskExceptionConfiguration": "The configuration to override the risk decision." +} +""" +SetRiskConfiguration(args) = cognito_identity_provider("SetRiskConfiguration", args) + +""" + UpdateUserAttributes() + +Allows a user to update a specific attribute (one at a time). + +Required Parameters +{ + "AccessToken": "The access token for the request to update user attributes.", + "UserAttributes": "An array of name-value pairs representing user attributes. For custom attributes, you must prepend the custom: prefix to the attribute name." +} + +Optional Parameters +{ + "ClientMetadata": "A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers. You create custom workflows by assigning AWS Lambda functions to user pool triggers. When you use the UpdateUserAttributes API action, Amazon Cognito invokes the function that is assigned to the custom message trigger. When Amazon Cognito invokes this function, it passes a JSON payload, which the function receives as input. This payload contains a clientMetadata attribute, which provides the data that you assigned to the ClientMetadata parameter in your UpdateUserAttributes request. In your function code in AWS Lambda, you can process the clientMetadata value to enhance your workflow for your specific needs. For more information, see Customizing User Pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide. Take the following limitations into consideration when you use the ClientMetadata parameter: Amazon Cognito does not store the ClientMetadata value. This data is available only to AWS Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration does not include triggers, the ClientMetadata parameter serves no purpose. Amazon Cognito does not validate the ClientMetadata value. Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive information. " +} +""" +UpdateUserAttributes(args) = cognito_identity_provider("UpdateUserAttributes", args) + +""" + ChangePassword() + +Changes the password for a specified user in a user pool. + +Required Parameters +{ + "AccessToken": "The access token.", + "PreviousPassword": "The old password.", + "ProposedPassword": "The new password." +} +""" +ChangePassword(args) = cognito_identity_provider("ChangePassword", args) + +""" + AdminAddUserToGroup() + +Adds the specified user to the specified group. Calling this action requires developer credentials. + +Required Parameters +{ + "UserPoolId": "The user pool ID for the user pool.", + "GroupName": "The group name.", + "Username": "The username for the user." +} +""" +AdminAddUserToGroup(args) = cognito_identity_provider("AdminAddUserToGroup", args) + +""" + SetUserPoolMfaConfig() + +Set the user pool multi-factor authentication (MFA) configuration. + +Required Parameters +{ + "UserPoolId": "The user pool ID." +} + +Optional Parameters +{ + "SmsMfaConfiguration": "The SMS text message MFA configuration.", + "MfaConfiguration": "The MFA configuration. Valid values include: OFF MFA will not be used for any users. ON MFA is required for all users to sign in. OPTIONAL MFA will be required only for individual users who have an MFA factor enabled. ", + "SoftwareTokenMfaConfiguration": "The software token MFA configuration." +} +""" +SetUserPoolMfaConfig(args) = cognito_identity_provider("SetUserPoolMfaConfig", args) + +""" + AdminSetUserPassword() + +Sets the specified user's password in a user pool as an administrator. Works on any user. The password can be temporary or permanent. If it is temporary, the user status will be placed into the FORCE_CHANGE_PASSWORD state. When the user next tries to sign in, the InitiateAuth/AdminInitiateAuth response will contain the NEW_PASSWORD_REQUIRED challenge. If the user does not sign in before it expires, the user will not be able to sign in and their password will need to be reset by an administrator. Once the user has set a new password, or the password is permanent, the user status will be set to Confirmed. + +Required Parameters +{ + "Password": "The password for the user.", + "UserPoolId": "The user pool ID for the user pool where you want to set the user's password.", + "Username": "The user name of the user whose password you wish to set." +} + +Optional Parameters +{ + "Permanent": " True if the password is permanent, False if it is temporary." +} +""" +AdminSetUserPassword(args) = cognito_identity_provider("AdminSetUserPassword", args) + +""" + DeleteUser() + +Allows a user to delete himself or herself. + +Required Parameters +{ + "AccessToken": "The access token from a request to delete a user." +} +""" +DeleteUser(args) = cognito_identity_provider("DeleteUser", args) + +""" + DescribeUserPoolClient() + +Client method for returning the configuration information and metadata of the specified user pool app client. + +Required Parameters +{ + "ClientId": "The app client ID of the app associated with the user pool.", + "UserPoolId": "The user pool ID for the user pool you want to describe." +} +""" +DescribeUserPoolClient(args) = cognito_identity_provider("DescribeUserPoolClient", args) + +""" + DescribeUserPoolDomain() + +Gets information about a domain. + +Required Parameters +{ + "Domain": "The domain string." +} +""" +DescribeUserPoolDomain(args) = cognito_identity_provider("DescribeUserPoolDomain", args) + +""" + UntagResource() + +Removes the specified tags from an Amazon Cognito user pool. You can use this action up to 5 times per second, per account + +Required Parameters +{ + "ResourceArn": "The Amazon Resource Name (ARN) of the user pool that the tags are assigned to.", + "TagKeys": "The keys of the tags to remove from the user pool." +} +""" +UntagResource(args) = cognito_identity_provider("UntagResource", args) + +""" + GetUser() + +Gets the user attributes and metadata for a user. + +Required Parameters +{ + "AccessToken": "The access token returned by the server response to get information about the user." +} +""" +GetUser(args) = cognito_identity_provider("GetUser", args) + +""" + GlobalSignOut() + +Signs out users from all devices. It also invalidates all refresh tokens issued to a user. The user's current access and Id tokens remain valid until their expiry. Access and Id tokens expire one hour after they are issued. + +Required Parameters +{ + "AccessToken": "The access token." +} +""" +GlobalSignOut(args) = cognito_identity_provider("GlobalSignOut", args) + +""" + DeleteResourceServer() + +Deletes a resource server. + +Required Parameters +{ + "Identifier": "The identifier for the resource server.", + "UserPoolId": "The user pool ID for the user pool that hosts the resource server." +} +""" +DeleteResourceServer(args) = cognito_identity_provider("DeleteResourceServer", args) + +""" + UpdateIdentityProvider() + +Updates identity provider information for a user pool. + +Required Parameters +{ + "ProviderName": "The identity provider name.", + "UserPoolId": "The user pool ID." +} + +Optional Parameters +{ + "AttributeMapping": "The identity provider attribute mapping to be changed.", + "ProviderDetails": "The identity provider details to be updated, such as MetadataURL and MetadataFile.", + "IdpIdentifiers": "A list of identity provider identifiers." +} +""" +UpdateIdentityProvider(args) = cognito_identity_provider("UpdateIdentityProvider", args) + +""" + CreateUserPoolClient() + +Creates the user pool client. + +Required Parameters +{ + "UserPoolId": "The user pool ID for the user pool where you want to create a user pool client.", + "ClientName": "The client name for the user pool client you would like to create." +} + +Optional Parameters +{ + "RefreshTokenValidity": "The time limit, in days, after which the refresh token is no longer valid and cannot be used.", + "GenerateSecret": "Boolean to specify whether you want to generate a secret for the user pool client being created.", + "CallbackURLs": "A list of allowed redirect (callback) URLs for the identity providers. A redirect URI must: Be an absolute URI. Be registered with the authorization server. Not include a fragment component. See OAuth 2.0 - Redirection Endpoint. Amazon Cognito requires HTTPS over HTTP except for http://localhost for testing purposes only. App callback URLs such as myapp://example are also supported.", + "AllowedOAuthFlowsUserPoolClient": "Set to true if the client is allowed to follow the OAuth protocol when interacting with Cognito user pools.", + "ReadAttributes": "The read attributes.", + "AllowedOAuthScopes": "The allowed OAuth scopes. Possible values provided by OAuth are: phone, email, openid, and profile. Possible values provided by AWS are: aws.cognito.signin.user.admin. Custom scopes created in Resource Servers are also supported.", + "LogoutURLs": "A list of allowed logout URLs for the identity providers.", + "SupportedIdentityProviders": "A list of provider names for the identity providers that are supported on this client. The following are supported: COGNITO, Facebook, Google and LoginWithAmazon.", + "DefaultRedirectURI": "The default redirect URI. Must be in the CallbackURLs list. A redirect URI must: Be an absolute URI. Be registered with the authorization server. Not include a fragment component. See OAuth 2.0 - Redirection Endpoint. Amazon Cognito requires HTTPS over HTTP except for http://localhost for testing purposes only. App callback URLs such as myapp://example are also supported.", + "ExplicitAuthFlows": "The authentication flows that are supported by the user pool clients. Flow names without the ALLOW_ prefix are deprecated in favor of new names with the ALLOW_ prefix. Note that values with ALLOW_ prefix cannot be used along with values without ALLOW_ prefix. Valid values include: ALLOW_ADMIN_USER_PASSWORD_AUTH: Enable admin based user password authentication flow ADMIN_USER_PASSWORD_AUTH. This setting replaces the ADMIN_NO_SRP_AUTH setting. With this authentication flow, Cognito receives the password in the request instead of using the SRP (Secure Remote Password protocol) protocol to verify passwords. ALLOW_CUSTOM_AUTH: Enable Lambda trigger based authentication. ALLOW_USER_PASSWORD_AUTH: Enable user password-based authentication. In this flow, Cognito receives the password in the request instead of using the SRP protocol to verify passwords. ALLOW_USER_SRP_AUTH: Enable SRP based authentication. ALLOW_REFRESH_TOKEN_AUTH: Enable authflow to refresh tokens. ", + "AnalyticsConfiguration": "The Amazon Pinpoint analytics configuration for collecting metrics for this user pool. Cognito User Pools only supports sending events to Amazon Pinpoint projects in the US East (N. Virginia) us-east-1 Region, regardless of the region in which the user pool resides. ", + "AllowedOAuthFlows": "The allowed OAuth flows. Set to code to initiate a code grant flow, which provides an authorization code as the response. This code can be exchanged for access tokens with the token endpoint. Set to implicit to specify that the client should get the access token (and, optionally, ID token, based on scopes) directly. Set to client_credentials to specify that the client should get the access token (and, optionally, ID token, based on scopes) from the token endpoint using a combination of client and client_secret.", + "WriteAttributes": "The user pool attributes that the app client can write to. If your app client allows users to sign in through an identity provider, this array must include all attributes that are mapped to identity provider attributes. Amazon Cognito updates mapped attributes when users sign in to your application through an identity provider. If your app client lacks write access to a mapped attribute, Amazon Cognito throws an error when it attempts to update the attribute. For more information, see Specifying Identity Provider Attribute Mappings for Your User Pool.", + "PreventUserExistenceErrors": "Use this setting to choose which errors and responses are returned by Cognito APIs during authentication, account confirmation, and password recovery when the user does not exist in the user pool. When set to ENABLED and the user does not exist, authentication returns an error indicating either the username or password was incorrect, and account confirmation and password recovery return a response indicating a code was sent to a simulated destination. When set to LEGACY, those APIs will return a UserNotFoundException exception if the user does not exist in the user pool. Valid values include: ENABLED - This prevents user existence-related errors. LEGACY - This represents the old behavior of Cognito where user existence related errors are not prevented. This setting affects the behavior of following APIs: AdminInitiateAuth AdminRespondToAuthChallenge InitiateAuth RespondToAuthChallenge ForgotPassword ConfirmForgotPassword ConfirmSignUp ResendConfirmationCode After February 15th 2020, the value of PreventUserExistenceErrors will default to ENABLED for newly created user pool clients if no value is provided. " +} +""" +CreateUserPoolClient(args) = cognito_identity_provider("CreateUserPoolClient", args) + +""" + CreateGroup() + +Creates a new group in the specified user pool. Calling this action requires developer credentials. + +Required Parameters +{ + "GroupName": "The name of the group. Must be unique.", + "UserPoolId": "The user pool ID for the user pool." +} + +Optional Parameters +{ + "Description": "A string containing the description of the group.", + "Precedence": "A nonnegative integer value that specifies the precedence of this group relative to the other groups that a user can belong to in the user pool. Zero is the highest precedence value. Groups with lower Precedence values take precedence over groups with higher or null Precedence values. If a user belongs to two or more groups, it is the group with the lowest precedence value whose role ARN will be used in the cognito:roles and cognito:preferred_role claims in the user's tokens. Two groups can have the same Precedence value. If this happens, neither group takes precedence over the other. If two groups with the same Precedence have the same role ARN, that role is used in the cognito:preferred_role claim in tokens for users in each group. If the two groups have different role ARNs, the cognito:preferred_role claim is not set in users' tokens. The default Precedence value is null.", + "RoleArn": "The role ARN for the group." +} +""" +CreateGroup(args) = cognito_identity_provider("CreateGroup", args) + +""" + SignUp() + +Registers the user in the specified user pool and creates a user name, password, and user attributes. + +Required Parameters +{ + "ClientId": "The ID of the client associated with the user pool.", + "Password": "The password of the user you wish to register.", + "Username": "The user name of the user you wish to register." +} + +Optional Parameters +{ + "ClientMetadata": "A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers. You create custom workflows by assigning AWS Lambda functions to user pool triggers. When you use the SignUp API action, Amazon Cognito invokes any functions that are assigned to the following triggers: pre sign-up, custom message, and post confirmation. When Amazon Cognito invokes any of these functions, it passes a JSON payload, which the function receives as input. This payload contains a clientMetadata attribute, which provides the data that you assigned to the ClientMetadata parameter in your SignUp request. In your function code in AWS Lambda, you can process the clientMetadata value to enhance your workflow for your specific needs. For more information, see Customizing User Pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide. Take the following limitations into consideration when you use the ClientMetadata parameter: Amazon Cognito does not store the ClientMetadata value. This data is available only to AWS Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration does not include triggers, the ClientMetadata parameter serves no purpose. Amazon Cognito does not validate the ClientMetadata value. Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive information. ", + "UserAttributes": "An array of name-value pairs representing user attributes. For custom attributes, you must prepend the custom: prefix to the attribute name.", + "SecretHash": "A keyed-hash message authentication code (HMAC) calculated using the secret key of a user pool client and username plus the client ID in the message.", + "ValidationData": "The validation data in the request to register a user.", + "UserContextData": "Contextual data such as the user's device fingerprint, IP address, or location used for evaluating the risk of an unexpected event by Amazon Cognito advanced security.", + "AnalyticsMetadata": "The Amazon Pinpoint analytics metadata for collecting metrics for SignUp calls." +} +""" +SignUp(args) = cognito_identity_provider("SignUp", args) + +""" + AdminInitiateAuth() + +Initiates the authentication flow, as an administrator. Calling this action requires developer credentials. + +Required Parameters +{ + "ClientId": "The app client ID.", + "UserPoolId": "The ID of the Amazon Cognito user pool.", + "AuthFlow": "The authentication flow for this call to execute. The API action will depend on this value. For example: REFRESH_TOKEN_AUTH will take in a valid refresh token and return new tokens. USER_SRP_AUTH will take in USERNAME and SRP_A and return the SRP variables to be used for next challenge execution. USER_PASSWORD_AUTH will take in USERNAME and PASSWORD and return the next challenge or tokens. Valid values include: USER_SRP_AUTH: Authentication flow for the Secure Remote Password (SRP) protocol. REFRESH_TOKEN_AUTH/REFRESH_TOKEN: Authentication flow for refreshing the access token and ID token by supplying a valid refresh token. CUSTOM_AUTH: Custom authentication flow. ADMIN_NO_SRP_AUTH: Non-SRP authentication flow; you can pass in the USERNAME and PASSWORD directly if the flow is enabled for calling the app client. USER_PASSWORD_AUTH: Non-SRP authentication flow; USERNAME and PASSWORD are passed directly. If a user migration Lambda trigger is set, this flow will invoke the user migration Lambda if the USERNAME is not found in the user pool. ADMIN_USER_PASSWORD_AUTH: Admin-based user password authentication. This replaces the ADMIN_NO_SRP_AUTH authentication flow. In this flow, Cognito receives the password in the request instead of using the SRP process to verify passwords. " +} + +Optional Parameters +{ + "ClientMetadata": "A map of custom key-value pairs that you can provide as input for certain custom workflows that this action triggers. You create custom workflows by assigning AWS Lambda functions to user pool triggers. When you use the AdminInitiateAuth API action, Amazon Cognito invokes the AWS Lambda functions that are specified for various triggers. The ClientMetadata value is passed as input to the functions for only the following triggers: Pre signup Pre authentication User migration When Amazon Cognito invokes the functions for these triggers, it passes a JSON payload, which the function receives as input. This payload contains a validationData attribute, which provides the data that you assigned to the ClientMetadata parameter in your AdminInitiateAuth request. In your function code in AWS Lambda, you can process the validationData value to enhance your workflow for your specific needs. When you use the AdminInitiateAuth API action, Amazon Cognito also invokes the functions for the following triggers, but it does not provide the ClientMetadata value as input: Post authentication Custom message Pre token generation Create auth challenge Define auth challenge Verify auth challenge For more information, see Customizing User Pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide. Take the following limitations into consideration when you use the ClientMetadata parameter: Amazon Cognito does not store the ClientMetadata value. This data is available only to AWS Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration does not include triggers, the ClientMetadata parameter serves no purpose. Amazon Cognito does not validate the ClientMetadata value. Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive information. ", + "ContextData": "Contextual data such as the user's device fingerprint, IP address, or location used for evaluating the risk of an unexpected event by Amazon Cognito advanced security.", + "AuthParameters": "The authentication parameters. These are inputs corresponding to the AuthFlow that you are invoking. The required values depend on the value of AuthFlow: For USER_SRP_AUTH: USERNAME (required), SRP_A (required), SECRET_HASH (required if the app client is configured with a client secret), DEVICE_KEY For REFRESH_TOKEN_AUTH/REFRESH_TOKEN: REFRESH_TOKEN (required), SECRET_HASH (required if the app client is configured with a client secret), DEVICE_KEY For ADMIN_NO_SRP_AUTH: USERNAME (required), SECRET_HASH (if app client is configured with client secret), PASSWORD (required), DEVICE_KEY For CUSTOM_AUTH: USERNAME (required), SECRET_HASH (if app client is configured with client secret), DEVICE_KEY ", + "AnalyticsMetadata": "The analytics metadata for collecting Amazon Pinpoint metrics for AdminInitiateAuth calls." +} +""" +AdminInitiateAuth(args) = cognito_identity_provider("AdminInitiateAuth", args) + +""" + ConfirmForgotPassword() + +Allows a user to enter a confirmation code to reset a forgotten password. + +Required Parameters +{ + "ClientId": "The app client ID of the app associated with the user pool.", + "ConfirmationCode": "The confirmation code sent by a user's request to retrieve a forgotten password. For more information, see ", + "Password": "The password sent by a user's request to retrieve a forgotten password.", + "Username": "The user name of the user for whom you want to enter a code to retrieve a forgotten password." +} + +Optional Parameters +{ + "ClientMetadata": "A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers. You create custom workflows by assigning AWS Lambda functions to user pool triggers. When you use the ConfirmForgotPassword API action, Amazon Cognito invokes the function that is assigned to the post confirmation trigger. When Amazon Cognito invokes this function, it passes a JSON payload, which the function receives as input. This payload contains a clientMetadata attribute, which provides the data that you assigned to the ClientMetadata parameter in your ConfirmForgotPassword request. In your function code in AWS Lambda, you can process the clientMetadata value to enhance your workflow for your specific needs. For more information, see Customizing User Pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide. Take the following limitations into consideration when you use the ClientMetadata parameter: Amazon Cognito does not store the ClientMetadata value. This data is available only to AWS Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration does not include triggers, the ClientMetadata parameter serves no purpose. Amazon Cognito does not validate the ClientMetadata value. Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive information. ", + "SecretHash": "A keyed-hash message authentication code (HMAC) calculated using the secret key of a user pool client and username plus the client ID in the message.", + "UserContextData": "Contextual data such as the user's device fingerprint, IP address, or location used for evaluating the risk of an unexpected event by Amazon Cognito advanced security.", + "AnalyticsMetadata": "The Amazon Pinpoint analytics metadata for collecting metrics for ConfirmForgotPassword calls." +} +""" +ConfirmForgotPassword(args) = cognito_identity_provider("ConfirmForgotPassword", args) + +""" + AdminUpdateUserAttributes() + +Updates the specified user's attributes, including developer attributes, as an administrator. Works on any user. For custom attributes, you must prepend the custom: prefix to the attribute name. In addition to updating user attributes, this API can also be used to mark phone and email as verified. Calling this action requires developer credentials. + +Required Parameters +{ + "UserAttributes": "An array of name-value pairs representing user attributes. For custom attributes, you must prepend the custom: prefix to the attribute name.", + "UserPoolId": "The user pool ID for the user pool where you want to update user attributes.", + "Username": "The user name of the user for whom you want to update user attributes." +} + +Optional Parameters +{ + "ClientMetadata": "A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers. You create custom workflows by assigning AWS Lambda functions to user pool triggers. When you use the AdminUpdateUserAttributes API action, Amazon Cognito invokes the function that is assigned to the custom message trigger. When Amazon Cognito invokes this function, it passes a JSON payload, which the function receives as input. This payload contains a clientMetadata attribute, which provides the data that you assigned to the ClientMetadata parameter in your AdminUpdateUserAttributes request. In your function code in AWS Lambda, you can process the clientMetadata value to enhance your workflow for your specific needs. For more information, see Customizing User Pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide. Take the following limitations into consideration when you use the ClientMetadata parameter: Amazon Cognito does not store the ClientMetadata value. This data is available only to AWS Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration does not include triggers, the ClientMetadata parameter serves no purpose. Amazon Cognito does not validate the ClientMetadata value. Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive information. " +} +""" +AdminUpdateUserAttributes(args) = cognito_identity_provider("AdminUpdateUserAttributes", args) + +""" + ListTagsForResource() + +Lists the tags that are assigned to an Amazon Cognito user pool. A tag is a label that you can apply to user pools to categorize and manage them in different ways, such as by purpose, owner, environment, or other criteria. You can use this action up to 10 times per second, per account. + +Required Parameters +{ + "ResourceArn": "The Amazon Resource Name (ARN) of the user pool that the tags are assigned to." +} +""" +ListTagsForResource(args) = cognito_identity_provider("ListTagsForResource", args) + +""" + AdminLinkProviderForUser() + +Links an existing user account in a user pool (DestinationUser) to an identity from an external identity provider (SourceUser) based on a specified attribute name and value from the external identity provider. This allows you to create a link from the existing user account to an external federated user identity that has not yet been used to sign in, so that the federated user identity can be used to sign in as the existing user account. For example, if there is an existing user with a username and password, this API links that user to a federated user identity, so that when the federated user identity is used, the user signs in as the existing user account. Because this API allows a user with an external federated identity to sign in as an existing user in the user pool, it is critical that it only be used with external identity providers and provider attributes that have been trusted by the application owner. See also . This action is enabled only for admin access and requires developer credentials. + +Required Parameters +{ + "DestinationUser": "The existing user in the user pool to be linked to the external identity provider user account. Can be a native (Username + Password) Cognito User Pools user or a federated user (for example, a SAML or Facebook user). If the user doesn't exist, an exception is thrown. This is the user that is returned when the new user (with the linked identity provider attribute) signs in. For a native username + password user, the ProviderAttributeValue for the DestinationUser should be the username in the user pool. For a federated user, it should be the provider-specific user_id. The ProviderAttributeName of the DestinationUser is ignored. The ProviderName should be set to Cognito for users in Cognito user pools.", + "UserPoolId": "The user pool ID for the user pool.", + "SourceUser": "An external identity provider account for a user who does not currently exist yet in the user pool. This user must be a federated user (for example, a SAML or Facebook user), not another native user. If the SourceUser is a federated social identity provider user (Facebook, Google, or Login with Amazon), you must set the ProviderAttributeName to Cognito_Subject. For social identity providers, the ProviderName will be Facebook, Google, or LoginWithAmazon, and Cognito will automatically parse the Facebook, Google, and Login with Amazon tokens for id, sub, and user_id, respectively. The ProviderAttributeValue for the user must be the same value as the id, sub, or user_id value found in the social identity provider token. For SAML, the ProviderAttributeName can be any value that matches a claim in the SAML assertion. If you wish to link SAML users based on the subject of the SAML assertion, you should map the subject to a claim through the SAML identity provider and submit that claim name as the ProviderAttributeName. If you set ProviderAttributeName to Cognito_Subject, Cognito will automatically parse the default unique identifier found in the subject from the SAML token." +} +""" +AdminLinkProviderForUser(args) = cognito_identity_provider("AdminLinkProviderForUser", args) + +""" + UpdateAuthEventFeedback() + +Provides the feedback for an authentication event whether it was from a valid user or not. This feedback is used for improving the risk evaluation decision for the user pool as part of Amazon Cognito advanced security. + +Required Parameters +{ + "FeedbackValue": "The authentication event feedback value.", + "FeedbackToken": "The feedback token.", + "UserPoolId": "The user pool ID.", + "EventId": "The event ID.", + "Username": "The user pool username." +} +""" +UpdateAuthEventFeedback(args) = cognito_identity_provider("UpdateAuthEventFeedback", args) + +""" + AdminUserGlobalSignOut() + +Signs out users from all devices, as an administrator. It also invalidates all refresh tokens issued to a user. The user's current access and Id tokens remain valid until their expiry. Access and Id tokens expire one hour after they are issued. Calling this action requires developer credentials. + +Required Parameters +{ + "UserPoolId": "The user pool ID.", + "Username": "The user name." +} +""" +AdminUserGlobalSignOut(args) = cognito_identity_provider("AdminUserGlobalSignOut", args) + +""" + InitiateAuth() + +Initiates the authentication flow. + +Required Parameters +{ + "ClientId": "The app client ID.", + "AuthFlow": "The authentication flow for this call to execute. The API action will depend on this value. For example: REFRESH_TOKEN_AUTH will take in a valid refresh token and return new tokens. USER_SRP_AUTH will take in USERNAME and SRP_A and return the SRP variables to be used for next challenge execution. USER_PASSWORD_AUTH will take in USERNAME and PASSWORD and return the next challenge or tokens. Valid values include: USER_SRP_AUTH: Authentication flow for the Secure Remote Password (SRP) protocol. REFRESH_TOKEN_AUTH/REFRESH_TOKEN: Authentication flow for refreshing the access token and ID token by supplying a valid refresh token. CUSTOM_AUTH: Custom authentication flow. USER_PASSWORD_AUTH: Non-SRP authentication flow; USERNAME and PASSWORD are passed directly. If a user migration Lambda trigger is set, this flow will invoke the user migration Lambda if the USERNAME is not found in the user pool. ADMIN_USER_PASSWORD_AUTH: Admin-based user password authentication. This replaces the ADMIN_NO_SRP_AUTH authentication flow. In this flow, Cognito receives the password in the request instead of using the SRP process to verify passwords. ADMIN_NO_SRP_AUTH is not a valid value." +} + +Optional Parameters +{ + "ClientMetadata": "A map of custom key-value pairs that you can provide as input for certain custom workflows that this action triggers. You create custom workflows by assigning AWS Lambda functions to user pool triggers. When you use the InitiateAuth API action, Amazon Cognito invokes the AWS Lambda functions that are specified for various triggers. The ClientMetadata value is passed as input to the functions for only the following triggers: Pre signup Pre authentication User migration When Amazon Cognito invokes the functions for these triggers, it passes a JSON payload, which the function receives as input. This payload contains a validationData attribute, which provides the data that you assigned to the ClientMetadata parameter in your InitiateAuth request. In your function code in AWS Lambda, you can process the validationData value to enhance your workflow for your specific needs. When you use the InitiateAuth API action, Amazon Cognito also invokes the functions for the following triggers, but it does not provide the ClientMetadata value as input: Post authentication Custom message Pre token generation Create auth challenge Define auth challenge Verify auth challenge For more information, see Customizing User Pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide. Take the following limitations into consideration when you use the ClientMetadata parameter: Amazon Cognito does not store the ClientMetadata value. This data is available only to AWS Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration does not include triggers, the ClientMetadata parameter serves no purpose. Amazon Cognito does not validate the ClientMetadata value. Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive information. ", + "AuthParameters": "The authentication parameters. These are inputs corresponding to the AuthFlow that you are invoking. The required values depend on the value of AuthFlow: For USER_SRP_AUTH: USERNAME (required), SRP_A (required), SECRET_HASH (required if the app client is configured with a client secret), DEVICE_KEY For REFRESH_TOKEN_AUTH/REFRESH_TOKEN: REFRESH_TOKEN (required), SECRET_HASH (required if the app client is configured with a client secret), DEVICE_KEY For CUSTOM_AUTH: USERNAME (required), SECRET_HASH (if app client is configured with client secret), DEVICE_KEY ", + "UserContextData": "Contextual data such as the user's device fingerprint, IP address, or location used for evaluating the risk of an unexpected event by Amazon Cognito advanced security.", + "AnalyticsMetadata": "The Amazon Pinpoint analytics metadata for collecting metrics for InitiateAuth calls." +} +""" +InitiateAuth(args) = cognito_identity_provider("InitiateAuth", args) + +""" + AdminSetUserMFAPreference() + +Sets the user's multi-factor authentication (MFA) preference, including which MFA options are enabled and if any are preferred. Only one factor can be set as preferred. The preferred MFA factor will be used to authenticate a user if multiple factors are enabled. If multiple options are enabled and no preference is set, a challenge to choose an MFA option will be returned during sign in. + +Required Parameters +{ + "UserPoolId": "The user pool ID.", + "Username": "The user pool username or alias." +} + +Optional Parameters +{ + "SMSMfaSettings": "The SMS text message MFA settings.", + "SoftwareTokenMfaSettings": "The time-based one-time password software token MFA settings." +} +""" +AdminSetUserMFAPreference(args) = cognito_identity_provider("AdminSetUserMFAPreference", args) + +""" + AdminDisableUser() + +Disables the specified user. Calling this action requires developer credentials. + +Required Parameters +{ + "UserPoolId": "The user pool ID for the user pool where you want to disable the user.", + "Username": "The user name of the user you wish to disable." +} +""" +AdminDisableUser(args) = cognito_identity_provider("AdminDisableUser", args) + +""" + UpdateUserPoolDomain() + +Updates the Secure Sockets Layer (SSL) certificate for the custom domain for your user pool. You can use this operation to provide the Amazon Resource Name (ARN) of a new certificate to Amazon Cognito. You cannot use it to change the domain for a user pool. A custom domain is used to host the Amazon Cognito hosted UI, which provides sign-up and sign-in pages for your application. When you set up a custom domain, you provide a certificate that you manage with AWS Certificate Manager (ACM). When necessary, you can use this operation to change the certificate that you applied to your custom domain. Usually, this is unnecessary following routine certificate renewal with ACM. When you renew your existing certificate in ACM, the ARN for your certificate remains the same, and your custom domain uses the new certificate automatically. However, if you replace your existing certificate with a new one, ACM gives the new certificate a new ARN. To apply the new certificate to your custom domain, you must provide this ARN to Amazon Cognito. When you add your new certificate in ACM, you must choose US East (N. Virginia) as the AWS Region. After you submit your request, Amazon Cognito requires up to 1 hour to distribute your new certificate to your custom domain. For more information about adding a custom domain to your user pool, see Using Your Own Domain for the Hosted UI. + +Required Parameters +{ + "Domain": "The domain name for the custom domain that hosts the sign-up and sign-in pages for your application. For example: auth.example.com. This string can include only lowercase letters, numbers, and hyphens. Do not use a hyphen for the first or last character. Use periods to separate subdomain names.", + "UserPoolId": "The ID of the user pool that is associated with the custom domain that you are updating the certificate for.", + "CustomDomainConfig": "The configuration for a custom domain that hosts the sign-up and sign-in pages for your application. Use this object to specify an SSL certificate that is managed by ACM." +} +""" +UpdateUserPoolDomain(args) = cognito_identity_provider("UpdateUserPoolDomain", args) + +""" + AdminDeleteUser() + +Deletes a user as an administrator. Works on any user. Calling this action requires developer credentials. + +Required Parameters +{ + "UserPoolId": "The user pool ID for the user pool where you want to delete the user.", + "Username": "The user name of the user you wish to delete." +} +""" +AdminDeleteUser(args) = cognito_identity_provider("AdminDeleteUser", args) + +""" + ListUsers() + +Lists the users in the Amazon Cognito user pool. + +Required Parameters +{ + "UserPoolId": "The user pool ID for the user pool on which the search should be performed." +} + +Optional Parameters +{ + "PaginationToken": "An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.", + "Filter": "A filter string of the form \"AttributeName Filter-Type \"AttributeValue\"\". Quotation marks within the filter string must be escaped using the backslash ( ) character. For example, \"family_name = \"Reddy \"\". AttributeName: The name of the attribute to search for. You can only search for one attribute at a time. Filter-Type: For an exact match, use =, for example, \"given_name = \"Jon \"\". For a prefix (\"starts with\") match, use ^=, for example, \"given_name ^= \"Jon \"\". AttributeValue: The attribute value that must be matched for each user. If the filter string is empty, ListUsers returns all users in the user pool. You can only search for the following standard attributes: username (case-sensitive) email phone_number name given_name family_name preferred_username cognito:user_status (called Status in the Console) (case-insensitive) status (called Enabled in the Console) (case-sensitive) sub Custom attributes are not searchable. For more information, see Searching for Users Using the ListUsers API and Examples of Using the ListUsers API in the Amazon Cognito Developer Guide.", + "AttributesToGet": "An array of strings, where each string is the name of a user attribute to be returned for each user in the search results. If the array is null, all attributes are returned.", + "Limit": "Maximum number of users to be returned." +} +""" +ListUsers(args) = cognito_identity_provider("ListUsers", args) + +""" + ListGroups() + +Lists the groups associated with a user pool. Calling this action requires developer credentials. + +Required Parameters +{ + "UserPoolId": "The user pool ID for the user pool." +} + +Optional Parameters +{ + "NextToken": "An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.", + "Limit": "The limit of the request to list groups." +} +""" +ListGroups(args) = cognito_identity_provider("ListGroups", args) + +""" + AdminForgetDevice() + +Forgets the device, as an administrator. Calling this action requires developer credentials. + +Required Parameters +{ + "DeviceKey": "The device key.", + "UserPoolId": "The user pool ID.", + "Username": "The user name." +} +""" +AdminForgetDevice(args) = cognito_identity_provider("AdminForgetDevice", args) + +""" + ConfirmDevice() + +Confirms tracking of the device. This API call is the call that begins device tracking. + +Required Parameters +{ + "DeviceKey": "The device key.", + "AccessToken": "The access token." +} + +Optional Parameters +{ + "DeviceName": "The device name.", + "DeviceSecretVerifierConfig": "The configuration of the device secret verifier." +} +""" +ConfirmDevice(args) = cognito_identity_provider("ConfirmDevice", args) + +""" + GetCSVHeader() + +Gets the header information for the .csv file to be used as input for the user import job. + +Required Parameters +{ + "UserPoolId": "The user pool ID for the user pool that the users are to be imported into." +} +""" +GetCSVHeader(args) = cognito_identity_provider("GetCSVHeader", args) + +""" + StartUserImportJob() + +Starts the user import. + +Required Parameters +{ + "UserPoolId": "The user pool ID for the user pool that the users are being imported into.", + "JobId": "The job ID for the user import job." +} +""" +StartUserImportJob(args) = cognito_identity_provider("StartUserImportJob", args) + +""" + AdminSetUserSettings() + + This action is no longer supported. You can use it to configure only SMS MFA. You can't use it to configure TOTP software token MFA. To configure either type of MFA, use the AdminSetUserMFAPreference action instead. + +Required Parameters +{ + "MFAOptions": "You can use this parameter only to set an SMS configuration that uses SMS for delivery.", + "UserPoolId": "The ID of the user pool that contains the user that you are setting options for.", + "Username": "The user name of the user that you are setting options for." +} +""" +AdminSetUserSettings(args) = cognito_identity_provider("AdminSetUserSettings", args) + +""" + DescribeUserImportJob() + +Describes the user import job. + +Required Parameters +{ + "UserPoolId": "The user pool ID for the user pool that the users are being imported into.", + "JobId": "The job ID for the user import job." +} +""" +DescribeUserImportJob(args) = cognito_identity_provider("DescribeUserImportJob", args) + +""" + AdminListGroupsForUser() + +Lists the groups that the user belongs to. Calling this action requires developer credentials. + +Required Parameters +{ + "UserPoolId": "The user pool ID for the user pool.", + "Username": "The username for the user." +} + +Optional Parameters +{ + "NextToken": "An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.", + "Limit": "The limit of the request to list groups." +} +""" +AdminListGroupsForUser(args) = cognito_identity_provider("AdminListGroupsForUser", args) + +""" + AdminResetUserPassword() + +Resets the specified user's password in a user pool as an administrator. Works on any user. When a developer calls this API, the current password is invalidated, so it must be changed. If a user tries to sign in after the API is called, the app will get a PasswordResetRequiredException exception back and should direct the user down the flow to reset the password, which is the same as the forgot password flow. In addition, if the user pool has phone verification selected and a verified phone number exists for the user, or if email verification is selected and a verified email exists for the user, calling this API will also result in sending a message to the end user with the code to change their password. Calling this action requires developer credentials. + +Required Parameters +{ + "UserPoolId": "The user pool ID for the user pool where you want to reset the user's password.", + "Username": "The user name of the user whose password you wish to reset." +} + +Optional Parameters +{ + "ClientMetadata": "A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers. You create custom workflows by assigning AWS Lambda functions to user pool triggers. When you use the AdminResetUserPassword API action, Amazon Cognito invokes the function that is assigned to the custom message trigger. When Amazon Cognito invokes this function, it passes a JSON payload, which the function receives as input. This payload contains a clientMetadata attribute, which provides the data that you assigned to the ClientMetadata parameter in your AdminResetUserPassword request. In your function code in AWS Lambda, you can process the clientMetadata value to enhance your workflow for your specific needs. For more information, see Customizing User Pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide. Take the following limitations into consideration when you use the ClientMetadata parameter: Amazon Cognito does not store the ClientMetadata value. This data is available only to AWS Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration does not include triggers, the ClientMetadata parameter serves no purpose. Amazon Cognito does not validate the ClientMetadata value. Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive information. " +} +""" +AdminResetUserPassword(args) = cognito_identity_provider("AdminResetUserPassword", args) + +""" + GetUICustomization() + +Gets the UI Customization information for a particular app client's app UI, if there is something set. If nothing is set for the particular client, but there is an existing pool level customization (app clientId will be ALL), then that is returned. If nothing is present, then an empty shape is returned. + +Required Parameters +{ + "UserPoolId": "The user pool ID for the user pool." +} + +Optional Parameters +{ + "ClientId": "The client ID for the client app." +} +""" +GetUICustomization(args) = cognito_identity_provider("GetUICustomization", args) + +""" + AdminConfirmSignUp() + +Confirms user registration as an admin without using a confirmation code. Works on any user. Calling this action requires developer credentials. + +Required Parameters +{ + "UserPoolId": "The user pool ID for which you want to confirm user registration.", + "Username": "The user name for which you want to confirm user registration." +} + +Optional Parameters +{ + "ClientMetadata": "A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers. If your user pool configuration includes triggers, the AdminConfirmSignUp API action invokes the AWS Lambda function that is specified for the post confirmation trigger. When Amazon Cognito invokes this function, it passes a JSON payload, which the function receives as input. In this payload, the clientMetadata attribute provides the data that you assigned to the ClientMetadata parameter in your AdminConfirmSignUp request. In your function code in AWS Lambda, you can process the ClientMetadata value to enhance your workflow for your specific needs. For more information, see Customizing User Pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide. Take the following limitations into consideration when you use the ClientMetadata parameter: Amazon Cognito does not store the ClientMetadata value. This data is available only to AWS Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration does not include triggers, the ClientMetadata parameter serves no purpose. Amazon Cognito does not validate the ClientMetadata value. Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive information. " +} +""" +AdminConfirmSignUp(args) = cognito_identity_provider("AdminConfirmSignUp", args) + +""" + SetUICustomization() + +Sets the UI customization information for a user pool's built-in app UI. You can specify app UI customization settings for a single client (with a specific clientId) or for all clients (by setting the clientId to ALL). If you specify ALL, the default configuration will be used for every client that has no UI customization set previously. If you specify UI customization settings for a particular client, it will no longer fall back to the ALL configuration. To use this API, your user pool must have a domain associated with it. Otherwise, there is no place to host the app's pages, and the service will throw an error. + +Required Parameters +{ + "UserPoolId": "The user pool ID for the user pool." +} + +Optional Parameters +{ + "ClientId": "The client ID for the client app.", + "ImageFile": "The uploaded logo image for the UI customization.", + "CSS": "The CSS values in the UI customization." +} +""" +SetUICustomization(args) = cognito_identity_provider("SetUICustomization", args) + +""" + DescribeUserPool() + +Returns the configuration information and metadata of the specified user pool. + +Required Parameters +{ + "UserPoolId": "The user pool ID for the user pool you want to describe." +} +""" +DescribeUserPool(args) = cognito_identity_provider("DescribeUserPool", args) + +""" + AdminGetDevice() + +Gets the device, as an administrator. Calling this action requires developer credentials. + +Required Parameters +{ + "DeviceKey": "The device key.", + "UserPoolId": "The user pool ID.", + "Username": "The user name." +} +""" +AdminGetDevice(args) = cognito_identity_provider("AdminGetDevice", args) + +""" + AdminListDevices() + +Lists devices, as an administrator. Calling this action requires developer credentials. + +Required Parameters +{ + "UserPoolId": "The user pool ID.", + "Username": "The user name." +} + +Optional Parameters +{ + "PaginationToken": "The pagination token.", + "Limit": "The limit of the devices request." +} +""" +AdminListDevices(args) = cognito_identity_provider("AdminListDevices", args) + +""" + SetUserMFAPreference() + +Set the user's multi-factor authentication (MFA) method preference, including which MFA factors are enabled and if any are preferred. Only one factor can be set as preferred. The preferred MFA factor will be used to authenticate a user if multiple factors are enabled. If multiple options are enabled and no preference is set, a challenge to choose an MFA option will be returned during sign in. + +Required Parameters +{ + "AccessToken": "The access token for the user." +} + +Optional Parameters +{ + "SMSMfaSettings": "The SMS text message multi-factor authentication (MFA) settings.", + "SoftwareTokenMfaSettings": "The time-based one-time password software token MFA settings." +} +""" +SetUserMFAPreference(args) = cognito_identity_provider("SetUserMFAPreference", args) + +""" + DeleteUserPool() + +Deletes the specified Amazon Cognito user pool. + +Required Parameters +{ + "UserPoolId": "The user pool ID for the user pool you want to delete." +} +""" +DeleteUserPool(args) = cognito_identity_provider("DeleteUserPool", args) + +""" + UpdateUserPoolClient() + +Updates the specified user pool app client with the specified attributes. You can get a list of the current user pool app client settings with . If you don't provide a value for an attribute, it will be set to the default value. + +Required Parameters +{ + "ClientId": "The ID of the client associated with the user pool.", + "UserPoolId": "The user pool ID for the user pool where you want to update the user pool client." +} + +Optional Parameters +{ + "RefreshTokenValidity": "The time limit, in days, after which the refresh token is no longer valid and cannot be used.", + "CallbackURLs": "A list of allowed redirect (callback) URLs for the identity providers. A redirect URI must: Be an absolute URI. Be registered with the authorization server. Not include a fragment component. See OAuth 2.0 - Redirection Endpoint. Amazon Cognito requires HTTPS over HTTP except for http://localhost for testing purposes only. App callback URLs such as myapp://example are also supported.", + "AllowedOAuthFlowsUserPoolClient": "Set to true if the client is allowed to follow the OAuth protocol when interacting with Cognito user pools.", + "ReadAttributes": "The read-only attributes of the user pool.", + "AllowedOAuthScopes": "The allowed OAuth scopes. Possible values provided by OAuth are: phone, email, openid, and profile. Possible values provided by AWS are: aws.cognito.signin.user.admin. Custom scopes created in Resource Servers are also supported.", + "LogoutURLs": "A list of allowed logout URLs for the identity providers.", + "SupportedIdentityProviders": "A list of provider names for the identity providers that are supported on this client.", + "DefaultRedirectURI": "The default redirect URI. Must be in the CallbackURLs list. A redirect URI must: Be an absolute URI. Be registered with the authorization server. Not include a fragment component. See OAuth 2.0 - Redirection Endpoint. Amazon Cognito requires HTTPS over HTTP except for http://localhost for testing purposes only. App callback URLs such as myapp://example are also supported.", + "ExplicitAuthFlows": "The authentication flows that are supported by the user pool clients. Flow names without the ALLOW_ prefix are deprecated in favor of new names with the ALLOW_ prefix. Note that values with ALLOW_ prefix cannot be used along with values without ALLOW_ prefix. Valid values include: ALLOW_ADMIN_USER_PASSWORD_AUTH: Enable admin based user password authentication flow ADMIN_USER_PASSWORD_AUTH. This setting replaces the ADMIN_NO_SRP_AUTH setting. With this authentication flow, Cognito receives the password in the request instead of using the SRP (Secure Remote Password protocol) protocol to verify passwords. ALLOW_CUSTOM_AUTH: Enable Lambda trigger based authentication. ALLOW_USER_PASSWORD_AUTH: Enable user password-based authentication. In this flow, Cognito receives the password in the request instead of using the SRP protocol to verify passwords. ALLOW_USER_SRP_AUTH: Enable SRP based authentication. ALLOW_REFRESH_TOKEN_AUTH: Enable authflow to refresh tokens. ", + "AnalyticsConfiguration": "The Amazon Pinpoint analytics configuration for collecting metrics for this user pool. Cognito User Pools only supports sending events to Amazon Pinpoint projects in the US East (N. Virginia) us-east-1 Region, regardless of the region in which the user pool resides. ", + "AllowedOAuthFlows": "The allowed OAuth flows. Set to code to initiate a code grant flow, which provides an authorization code as the response. This code can be exchanged for access tokens with the token endpoint. Set to implicit to specify that the client should get the access token (and, optionally, ID token, based on scopes) directly. Set to client_credentials to specify that the client should get the access token (and, optionally, ID token, based on scopes) from the token endpoint using a combination of client and client_secret.", + "WriteAttributes": "The writeable attributes of the user pool.", + "ClientName": "The client name from the update user pool client request.", + "PreventUserExistenceErrors": "Use this setting to choose which errors and responses are returned by Cognito APIs during authentication, account confirmation, and password recovery when the user does not exist in the user pool. When set to ENABLED and the user does not exist, authentication returns an error indicating either the username or password was incorrect, and account confirmation and password recovery return a response indicating a code was sent to a simulated destination. When set to LEGACY, those APIs will return a UserNotFoundException exception if the user does not exist in the user pool. Valid values include: ENABLED - This prevents user existence-related errors. LEGACY - This represents the old behavior of Cognito where user existence related errors are not prevented. This setting affects the behavior of following APIs: AdminInitiateAuth AdminRespondToAuthChallenge InitiateAuth RespondToAuthChallenge ForgotPassword ConfirmForgotPassword ConfirmSignUp ResendConfirmationCode After February 15th 2020, the value of PreventUserExistenceErrors will default to ENABLED for newly created user pool clients if no value is provided. " +} +""" +UpdateUserPoolClient(args) = cognito_identity_provider("UpdateUserPoolClient", args) + +""" + UpdateDeviceStatus() + +Updates the device status. + +Required Parameters +{ + "DeviceKey": "The device key.", + "AccessToken": "The access token." +} + +Optional Parameters +{ + "DeviceRememberedStatus": "The status of whether a device is remembered." +} +""" +UpdateDeviceStatus(args) = cognito_identity_provider("UpdateDeviceStatus", args) + +""" + VerifyUserAttribute() + +Verifies the specified user attributes in the user pool. + +Required Parameters +{ + "AccessToken": "Represents the access token of the request to verify user attributes.", + "AttributeName": "The attribute name in the request to verify user attributes.", + "Code": "The verification code in the request to verify user attributes." +} +""" +VerifyUserAttribute(args) = cognito_identity_provider("VerifyUserAttribute", args) + +""" + AdminGetUser() + +Gets the specified user by user name in a user pool as an administrator. Works on any user. Calling this action requires developer credentials. + +Required Parameters +{ + "UserPoolId": "The user pool ID for the user pool where you want to get information about the user.", + "Username": "The user name of the user you wish to retrieve." +} +""" +AdminGetUser(args) = cognito_identity_provider("AdminGetUser", args) + +""" + AssociateSoftwareToken() + +Returns a unique generated shared secret key code for the user account. The request takes an access token or a session string, but not both. + +Optional Parameters +{ + "AccessToken": "The access token.", + "Session": "The session which should be passed both ways in challenge-response calls to the service. This allows authentication of the user as part of the MFA setup process." +} +""" +AssociateSoftwareToken() = cognito_identity_provider("AssociateSoftwareToken") +AssociateSoftwareToken(args) = cognito_identity_provider("AssociateSoftwareToken", args) + +""" + CreateResourceServer() + +Creates a new OAuth2.0 resource server and defines custom scopes in it. + +Required Parameters +{ + "Identifier": "A unique resource server identifier for the resource server. This could be an HTTPS endpoint where the resource server is located. For example, https://my-weather-api.example.com.", + "UserPoolId": "The user pool ID for the user pool.", + "Name": "A friendly name for the resource server." +} + +Optional Parameters +{ + "Scopes": "A list of scopes. Each scope is map, where the keys are name and description." +} +""" +CreateResourceServer(args) = cognito_identity_provider("CreateResourceServer", args) + +""" + DescribeRiskConfiguration() + +Describes the risk configuration. + +Required Parameters +{ + "UserPoolId": "The user pool ID." +} + +Optional Parameters +{ + "ClientId": "The app client ID." +} +""" +DescribeRiskConfiguration(args) = cognito_identity_provider("DescribeRiskConfiguration", args) + +""" + AdminDeleteUserAttributes() + +Deletes the user attributes in a user pool as an administrator. Works on any user. Calling this action requires developer credentials. + +Required Parameters +{ + "UserAttributeNames": "An array of strings representing the user attribute names you wish to delete. For custom attributes, you must prepend the custom: prefix to the attribute name.", + "UserPoolId": "The user pool ID for the user pool where you want to delete user attributes.", + "Username": "The user name of the user from which you would like to delete attributes." +} +""" +AdminDeleteUserAttributes(args) = cognito_identity_provider("AdminDeleteUserAttributes", args) + +""" + AdminCreateUser() + +Creates a new user in the specified user pool. If MessageAction is not set, the default is to send a welcome message via email or phone (SMS). This message is based on a template that you configured in your call to or . This template includes your custom sign-up instructions and placeholders for user name and temporary password. Alternatively, you can call AdminCreateUser with “SUPPRESS” for the MessageAction parameter, and Amazon Cognito will not send any email. In either case, the user will be in the FORCE_CHANGE_PASSWORD state until they sign in and change their password. AdminCreateUser requires developer credentials. + +Required Parameters +{ + "UserPoolId": "The user pool ID for the user pool where the user will be created.", + "Username": "The username for the user. Must be unique within the user pool. Must be a UTF-8 string between 1 and 128 characters. After the user is created, the username cannot be changed." +} + +Optional Parameters +{ + "ForceAliasCreation": "This parameter is only used if the phone_number_verified or email_verified attribute is set to True. Otherwise, it is ignored. If this parameter is set to True and the phone number or email address specified in the UserAttributes parameter already exists as an alias with a different user, the API call will migrate the alias from the previous user to the newly created user. The previous user will no longer be able to log in using that alias. If this parameter is set to False, the API throws an AliasExistsException error if the alias already exists. The default value is False.", + "MessageAction": "Set to \"RESEND\" to resend the invitation message to a user that already exists and reset the expiration limit on the user's account. Set to \"SUPPRESS\" to suppress sending the message. Only one value can be specified.", + "ClientMetadata": "A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers. You create custom workflows by assigning AWS Lambda functions to user pool triggers. When you use the AdminCreateUser API action, Amazon Cognito invokes the function that is assigned to the pre sign-up trigger. When Amazon Cognito invokes this function, it passes a JSON payload, which the function receives as input. This payload contains a clientMetadata attribute, which provides the data that you assigned to the ClientMetadata parameter in your AdminCreateUser request. In your function code in AWS Lambda, you can process the clientMetadata value to enhance your workflow for your specific needs. For more information, see Customizing User Pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide. Take the following limitations into consideration when you use the ClientMetadata parameter: Amazon Cognito does not store the ClientMetadata value. This data is available only to AWS Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration does not include triggers, the ClientMetadata parameter serves no purpose. Amazon Cognito does not validate the ClientMetadata value. Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive information. ", + "UserAttributes": "An array of name-value pairs that contain user attributes and attribute values to be set for the user to be created. You can create a user without specifying any attributes other than Username. However, any attributes that you specify as required (in or in the Attributes tab of the console) must be supplied either by you (in your call to AdminCreateUser) or by the user (when he or she signs up in response to your welcome message). For custom attributes, you must prepend the custom: prefix to the attribute name. To send a message inviting the user to sign up, you must specify the user's email address or phone number. This can be done in your call to AdminCreateUser or in the Users tab of the Amazon Cognito console for managing your user pools. In your call to AdminCreateUser, you can set the email_verified attribute to True, and you can set the phone_number_verified attribute to True. (You can also do this by calling .) email: The email address of the user to whom the message that contains the code and username will be sent. Required if the email_verified attribute is set to True, or if \"EMAIL\" is specified in the DesiredDeliveryMediums parameter. phone_number: The phone number of the user to whom the message that contains the code and username will be sent. Required if the phone_number_verified attribute is set to True, or if \"SMS\" is specified in the DesiredDeliveryMediums parameter. ", + "ValidationData": "The user's validation data. This is an array of name-value pairs that contain user attributes and attribute values that you can use for custom validation, such as restricting the types of user accounts that can be registered. For example, you might choose to allow or disallow user sign-up based on the user's domain. To configure custom validation, you must create a Pre Sign-up Lambda trigger for the user pool as described in the Amazon Cognito Developer Guide. The Lambda trigger receives the validation data and uses it in the validation process. The user's validation data is not persisted.", + "TemporaryPassword": "The user's temporary password. This password must conform to the password policy that you specified when you created the user pool. The temporary password is valid only once. To complete the Admin Create User flow, the user must enter the temporary password in the sign-in page along with a new password to be used in all future sign-ins. This parameter is not required. If you do not specify a value, Amazon Cognito generates one for you. The temporary password can only be used until the user account expiration limit that you specified when you created the user pool. To reset the account after that time limit, you must call AdminCreateUser again, specifying \"RESEND\" for the MessageAction parameter.", + "DesiredDeliveryMediums": "Specify \"EMAIL\" if email will be used to send the welcome message. Specify \"SMS\" if the phone number will be used. The default value is \"SMS\". More than one value can be specified." +} +""" +AdminCreateUser(args) = cognito_identity_provider("AdminCreateUser", args) + +""" + CreateUserImportJob() + +Creates the user import job. + +Required Parameters +{ + "UserPoolId": "The user pool ID for the user pool that the users are being imported into.", + "JobName": "The job name for the user import job.", + "CloudWatchLogsRoleArn": "The role ARN for the Amazon CloudWatch Logging role for the user import job." +} +""" +CreateUserImportJob(args) = cognito_identity_provider("CreateUserImportJob", args) + +""" + DescribeResourceServer() + +Describes a resource server. + +Required Parameters +{ + "Identifier": "The identifier for the resource server", + "UserPoolId": "The user pool ID for the user pool that hosts the resource server." +} +""" +DescribeResourceServer(args) = cognito_identity_provider("DescribeResourceServer", args) + +""" + AdminUpdateDeviceStatus() + +Updates the device status as an administrator. Calling this action requires developer credentials. + +Required Parameters +{ + "DeviceKey": "The device key.", + "UserPoolId": "The user pool ID.", + "Username": "The user name." +} + +Optional Parameters +{ + "DeviceRememberedStatus": "The status indicating whether a device has been remembered or not." +} +""" +AdminUpdateDeviceStatus(args) = cognito_identity_provider("AdminUpdateDeviceStatus", args) + +""" + ConfirmSignUp() + +Confirms registration of a user and handles the existing alias from a previous user. + +Required Parameters +{ + "ClientId": "The ID of the app client associated with the user pool.", + "ConfirmationCode": "The confirmation code sent by a user's request to confirm registration.", + "Username": "The user name of the user whose registration you wish to confirm." +} + +Optional Parameters +{ + "ForceAliasCreation": "Boolean to be specified to force user confirmation irrespective of existing alias. By default set to False. If this parameter is set to True and the phone number/email used for sign up confirmation already exists as an alias with a different user, the API call will migrate the alias from the previous user to the newly created user being confirmed. If set to False, the API will throw an AliasExistsException error.", + "ClientMetadata": "A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers. You create custom workflows by assigning AWS Lambda functions to user pool triggers. When you use the ConfirmSignUp API action, Amazon Cognito invokes the function that is assigned to the post confirmation trigger. When Amazon Cognito invokes this function, it passes a JSON payload, which the function receives as input. This payload contains a clientMetadata attribute, which provides the data that you assigned to the ClientMetadata parameter in your ConfirmSignUp request. In your function code in AWS Lambda, you can process the clientMetadata value to enhance your workflow for your specific needs. For more information, see Customizing User Pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide. Take the following limitations into consideration when you use the ClientMetadata parameter: Amazon Cognito does not store the ClientMetadata value. This data is available only to AWS Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration does not include triggers, the ClientMetadata parameter serves no purpose. Amazon Cognito does not validate the ClientMetadata value. Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive information. ", + "SecretHash": "A keyed-hash message authentication code (HMAC) calculated using the secret key of a user pool client and username plus the client ID in the message.", + "UserContextData": "Contextual data such as the user's device fingerprint, IP address, or location used for evaluating the risk of an unexpected event by Amazon Cognito advanced security.", + "AnalyticsMetadata": "The Amazon Pinpoint analytics metadata for collecting metrics for ConfirmSignUp calls." +} +""" +ConfirmSignUp(args) = cognito_identity_provider("ConfirmSignUp", args) + +""" + AdminEnableUser() + +Enables the specified user as an administrator. Works on any user. Calling this action requires developer credentials. + +Required Parameters +{ + "UserPoolId": "The user pool ID for the user pool where you want to enable the user.", + "Username": "The user name of the user you wish to enable." +} +""" +AdminEnableUser(args) = cognito_identity_provider("AdminEnableUser", args) + +""" + AdminDisableProviderForUser() + +Disables the user from signing in with the specified external (SAML or social) identity provider. If the user to disable is a Cognito User Pools native username + password user, they are not permitted to use their password to sign-in. If the user to disable is a linked external IdP user, any link between that user and an existing user is removed. The next time the external user (no longer attached to the previously linked DestinationUser) signs in, they must create a new user account. See . This action is enabled only for admin access and requires developer credentials. The ProviderName must match the value specified when creating an IdP for the pool. To disable a native username + password user, the ProviderName value must be Cognito and the ProviderAttributeName must be Cognito_Subject, with the ProviderAttributeValue being the name that is used in the user pool for the user. The ProviderAttributeName must always be Cognito_Subject for social identity providers. The ProviderAttributeValue must always be the exact subject that was used when the user was originally linked as a source user. For de-linking a SAML identity, there are two scenarios. If the linked identity has not yet been used to sign-in, the ProviderAttributeName and ProviderAttributeValue must be the same values that were used for the SourceUser when the identities were originally linked in the call. (If the linking was done with ProviderAttributeName set to Cognito_Subject, the same applies here). However, if the user has already signed in, the ProviderAttributeName must be Cognito_Subject and ProviderAttributeValue must be the subject of the SAML assertion. + +Required Parameters +{ + "User": "The user to be disabled.", + "UserPoolId": "The user pool ID for the user pool." +} +""" +AdminDisableProviderForUser(args) = cognito_identity_provider("AdminDisableProviderForUser", args) + +""" + CreateIdentityProvider() + +Creates an identity provider for a user pool. + +Required Parameters +{ + "ProviderName": "The identity provider name.", + "ProviderDetails": "The identity provider details. The following list describes the provider detail keys for each identity provider type. For Google, Facebook and Login with Amazon: client_id client_secret authorize_scopes For Sign in with Apple: client_id team_id key_id private_key authorize_scopes For OIDC providers: client_id client_secret attributes_request_method oidc_issuer authorize_scopes authorize_url if not available from discovery URL specified by oidc_issuer key token_url if not available from discovery URL specified by oidc_issuer key attributes_url if not available from discovery URL specified by oidc_issuer key jwks_uri if not available from discovery URL specified by oidc_issuer key authorize_scopes For SAML providers: MetadataFile OR MetadataURL IDPSignout optional ", + "UserPoolId": "The user pool ID.", + "ProviderType": "The identity provider type." +} + +Optional Parameters +{ + "AttributeMapping": "A mapping of identity provider attributes to standard and custom user pool attributes.", + "IdpIdentifiers": "A list of identity provider identifiers." +} +""" +CreateIdentityProvider(args) = cognito_identity_provider("CreateIdentityProvider", args) + +""" + UpdateGroup() + +Updates the specified group with the specified attributes. Calling this action requires developer credentials. If you don't provide a value for an attribute, it will be set to the default value. + +Required Parameters +{ + "GroupName": "The name of the group.", + "UserPoolId": "The user pool ID for the user pool." +} + +Optional Parameters +{ + "Description": "A string containing the new description of the group.", + "Precedence": "The new precedence value for the group. For more information about this parameter, see .", + "RoleArn": "The new role ARN for the group. This is used for setting the cognito:roles and cognito:preferred_role claims in the token." +} +""" +UpdateGroup(args) = cognito_identity_provider("UpdateGroup", args) + +""" + UpdateUserPool() + +Updates the specified user pool with the specified attributes. You can get a list of the current user pool settings with . If you don't provide a value for an attribute, it will be set to the default value. + +Required Parameters +{ + "UserPoolId": "The user pool ID for the user pool you want to update." +} + +Optional Parameters +{ + "SmsVerificationMessage": "A container with information about the SMS verification message.", + "MfaConfiguration": "Can be one of the following values: OFF - MFA tokens are not required and cannot be specified during user registration. ON - MFA tokens are required for all user registrations. You can only specify required when you are initially creating a user pool. OPTIONAL - Users have the option when registering to create an MFA token. ", + "SmsAuthenticationMessage": "The contents of the SMS authentication message.", + "DeviceConfiguration": "Device configuration.", + "VerificationMessageTemplate": "The template for verification messages.", + "EmailConfiguration": "Email configuration.", + "AccountRecoverySetting": "Use this setting to define which verified available method a user can use to recover their password when they call ForgotPassword. It allows you to define a preferred method when a user has more than one method available. With this setting, SMS does not qualify for a valid password recovery mechanism if the user also has SMS MFA enabled. In the absence of this setting, Cognito uses the legacy behavior to determine the recovery method where SMS is preferred over email.", + "SmsConfiguration": "SMS configuration.", + "AdminCreateUserConfig": "The configuration for AdminCreateUser requests.", + "AutoVerifiedAttributes": "The attributes that are automatically verified when the Amazon Cognito service makes a request to update user pools.", + "EmailVerificationMessage": "The contents of the email verification message.", + "UserPoolTags": "The tag keys and values to assign to the user pool. A tag is a label that you can use to categorize and manage user pools in different ways, such as by purpose, owner, environment, or other criteria.", + "Policies": "A container with the policies you wish to update in a user pool.", + "UserPoolAddOns": "Used to enable advanced security risk detection. Set the key AdvancedSecurityMode to the value \"AUDIT\".", + "EmailVerificationSubject": "The subject of the email verification message.", + "LambdaConfig": "The AWS Lambda configuration information from the request to update the user pool." +} +""" +UpdateUserPool(args) = cognito_identity_provider("UpdateUserPool", args) + +""" + AdminListUserAuthEvents() + +Lists a history of user activity and any risks detected as part of Amazon Cognito advanced security. + +Required Parameters +{ + "UserPoolId": "The user pool ID.", + "Username": "The user pool username or an alias." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of authentication events to return.", + "NextToken": "A pagination token." +} +""" +AdminListUserAuthEvents(args) = cognito_identity_provider("AdminListUserAuthEvents", args) diff --git a/src/services/cognito_sync.jl b/src/services/cognito_sync.jl new file mode 100644 index 0000000000..2c20ec7768 --- /dev/null +++ b/src/services/cognito_sync.jl @@ -0,0 +1,256 @@ +include("../AWSServices.jl") +using .AWSServices: cognito_sync + +""" + DescribeDataset() + +Gets meta data about a dataset by identity and dataset name. With Amazon Cognito Sync, each identity has access only to its own data. Thus, the credentials used to make this API call need to have access to the identity data. This API can be called with temporary user credentials provided by Cognito Identity or with developer credentials. You should use Cognito Identity credentials to make this API call. + +Required Parameters +{ + "IdentityPoolId": "A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region.", + "DatasetName": "A string of up to 128 characters. Allowed characters are a-z, A-Z, 0-9, '_' (underscore), '-' (dash), and '.' (dot).", + "IdentityId": "A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region." +} +""" +DescribeDataset(args) = cognito_sync("GET", "/identitypools/{IdentityPoolId}/identities/{IdentityId}/datasets/{DatasetName}", args) + +""" + DescribeIdentityUsage() + +Gets usage information for an identity, including number of datasets and data usage. This API can be called with temporary user credentials provided by Cognito Identity or with developer credentials. + +Required Parameters +{ + "IdentityPoolId": "A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region.", + "IdentityId": "A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region." +} +""" +DescribeIdentityUsage(args) = cognito_sync("GET", "/identitypools/{IdentityPoolId}/identities/{IdentityId}", args) + +""" + GetIdentityPoolConfiguration() + +Gets the configuration settings of an identity pool. This API can only be called with developer credentials. You cannot call this API with the temporary user credentials provided by Cognito Identity. + +Required Parameters +{ + "IdentityPoolId": "A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. This is the ID of the pool for which to return a configuration." +} +""" +GetIdentityPoolConfiguration(args) = cognito_sync("GET", "/identitypools/{IdentityPoolId}/configuration", args) + +""" + SubscribeToDataset() + +Subscribes to receive notifications when a dataset is modified by another device. This API can only be called with temporary credentials provided by Cognito Identity. You cannot call this API with developer credentials. + +Required Parameters +{ + "IdentityPoolId": "A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. The ID of the pool to which the identity belongs.", + "DatasetName": "The name of the dataset to subcribe to.", + "IdentityId": "Unique ID for this identity.", + "DeviceId": "The unique ID generated for this device by Cognito." +} +""" +SubscribeToDataset(args) = cognito_sync("POST", "/identitypools/{IdentityPoolId}/identities/{IdentityId}/datasets/{DatasetName}/subscriptions/{DeviceId}", args) + +""" + ListRecords() + +Gets paginated records, optionally changed after a particular sync count for a dataset and identity. With Amazon Cognito Sync, each identity has access only to its own data. Thus, the credentials used to make this API call need to have access to the identity data. ListRecords can be called with temporary user credentials provided by Cognito Identity or with developer credentials. You should use Cognito Identity credentials to make this API call. + +Required Parameters +{ + "IdentityPoolId": "A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region.", + "DatasetName": "A string of up to 128 characters. Allowed characters are a-z, A-Z, 0-9, '_' (underscore), '-' (dash), and '.' (dot).", + "IdentityId": "A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of results to be returned.", + "NextToken": "A pagination token for obtaining the next page of results.", + "LastSyncCount": "The last server sync count for this record.", + "SyncSessionToken": "A token containing a session ID, identity ID, and expiration." +} +""" +ListRecords(args) = cognito_sync("GET", "/identitypools/{IdentityPoolId}/identities/{IdentityId}/datasets/{DatasetName}/records", args) + +""" + RegisterDevice() + +Registers a device to receive push sync notifications. This API can only be called with temporary credentials provided by Cognito Identity. You cannot call this API with developer credentials. + +Required Parameters +{ + "IdentityPoolId": "A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. Here, the ID of the pool that the identity belongs to.", + "IdentityId": "The unique ID for this identity.", + "Platform": "The SNS platform type (e.g. GCM, SDM, APNS, APNS_SANDBOX).", + "Token": "The push token." +} +""" +RegisterDevice(args) = cognito_sync("POST", "/identitypools/{IdentityPoolId}/identity/{IdentityId}/device", args) + +""" + ListDatasets() + +Lists datasets for an identity. With Amazon Cognito Sync, each identity has access only to its own data. Thus, the credentials used to make this API call need to have access to the identity data. ListDatasets can be called with temporary user credentials provided by Cognito Identity or with developer credentials. You should use the Cognito Identity credentials to make this API call. + +Required Parameters +{ + "IdentityPoolId": "A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region.", + "IdentityId": "A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of results to be returned.", + "NextToken": "A pagination token for obtaining the next page of results." +} +""" +ListDatasets(args) = cognito_sync("GET", "/identitypools/{IdentityPoolId}/identities/{IdentityId}/datasets", args) + +""" + GetBulkPublishDetails() + +Get the status of the last BulkPublish operation for an identity pool. This API can only be called with developer credentials. You cannot call this API with the temporary user credentials provided by Cognito Identity. + +Required Parameters +{ + "IdentityPoolId": "A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region." +} +""" +GetBulkPublishDetails(args) = cognito_sync("POST", "/identitypools/{IdentityPoolId}/getBulkPublishDetails", args) + +""" + ListIdentityPoolUsage() + +Gets a list of identity pools registered with Cognito. ListIdentityPoolUsage can only be called with developer credentials. You cannot make this API call with the temporary user credentials provided by Cognito Identity. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to be returned.", + "NextToken": "A pagination token for obtaining the next page of results." +} +""" +ListIdentityPoolUsage() = cognito_sync("GET", "/identitypools") +ListIdentityPoolUsage(args) = cognito_sync("GET", "/identitypools", args) + +""" + SetIdentityPoolConfiguration() + +Sets the necessary configuration for push sync. This API can only be called with developer credentials. You cannot call this API with the temporary user credentials provided by Cognito Identity. + +Required Parameters +{ + "IdentityPoolId": "A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. This is the ID of the pool to modify." +} + +Optional Parameters +{ + "PushSync": "Options to apply to this identity pool for push synchronization.", + "CognitoStreams": "Options to apply to this identity pool for Amazon Cognito streams." +} +""" +SetIdentityPoolConfiguration(args) = cognito_sync("POST", "/identitypools/{IdentityPoolId}/configuration", args) + +""" + DeleteDataset() + +Deletes the specific dataset. The dataset will be deleted permanently, and the action can't be undone. Datasets that this dataset was merged with will no longer report the merge. Any subsequent operation on this dataset will result in a ResourceNotFoundException. This API can be called with temporary user credentials provided by Cognito Identity or with developer credentials. + +Required Parameters +{ + "IdentityPoolId": "A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region.", + "DatasetName": "A string of up to 128 characters. Allowed characters are a-z, A-Z, 0-9, '_' (underscore), '-' (dash), and '.' (dot).", + "IdentityId": "A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region." +} +""" +DeleteDataset(args) = cognito_sync("DELETE", "/identitypools/{IdentityPoolId}/identities/{IdentityId}/datasets/{DatasetName}", args) + +""" + UnsubscribeFromDataset() + +Unsubscribes from receiving notifications when a dataset is modified by another device. This API can only be called with temporary credentials provided by Cognito Identity. You cannot call this API with developer credentials. + +Required Parameters +{ + "IdentityPoolId": "A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. The ID of the pool to which this identity belongs.", + "DatasetName": "The name of the dataset from which to unsubcribe.", + "IdentityId": "Unique ID for this identity.", + "DeviceId": "The unique ID generated for this device by Cognito." +} +""" +UnsubscribeFromDataset(args) = cognito_sync("DELETE", "/identitypools/{IdentityPoolId}/identities/{IdentityId}/datasets/{DatasetName}/subscriptions/{DeviceId}", args) + +""" + DescribeIdentityPoolUsage() + +Gets usage details (for example, data storage) about a particular identity pool. This API can only be called with developer credentials. You cannot call this API with the temporary user credentials provided by Cognito Identity. + +Required Parameters +{ + "IdentityPoolId": "A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region." +} +""" +DescribeIdentityPoolUsage(args) = cognito_sync("GET", "/identitypools/{IdentityPoolId}", args) + +""" + SetCognitoEvents() + +Sets the AWS Lambda function for a given event type for an identity pool. This request only updates the key/value pair specified. Other key/values pairs are not updated. To remove a key value pair, pass a empty value for the particular key. This API can only be called with developer credentials. You cannot call this API with the temporary user credentials provided by Cognito Identity. + +Required Parameters +{ + "IdentityPoolId": "The Cognito Identity Pool to use when configuring Cognito Events", + "Events": "The events to configure" +} +""" +SetCognitoEvents(args) = cognito_sync("POST", "/identitypools/{IdentityPoolId}/events", args) + +""" + UpdateRecords() + +Posts updates to records and adds and deletes records for a dataset and user. The sync count in the record patch is your last known sync count for that record. The server will reject an UpdateRecords request with a ResourceConflictException if you try to patch a record with a new value but a stale sync count. For example, if the sync count on the server is 5 for a key called highScore and you try and submit a new highScore with sync count of 4, the request will be rejected. To obtain the current sync count for a record, call ListRecords. On a successful update of the record, the response returns the new sync count for that record. You should present that sync count the next time you try to update that same record. When the record does not exist, specify the sync count as 0. This API can be called with temporary user credentials provided by Cognito Identity or with developer credentials. + +Required Parameters +{ + "IdentityPoolId": "A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region.", + "DatasetName": "A string of up to 128 characters. Allowed characters are a-z, A-Z, 0-9, '_' (underscore), '-' (dash), and '.' (dot).", + "IdentityId": "A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region.", + "SyncSessionToken": "The SyncSessionToken returned by a previous call to ListRecords for this dataset and identity." +} + +Optional Parameters +{ + "ClientContext": "Intended to supply a device ID that will populate the lastModifiedBy field referenced in other methods. The ClientContext field is not yet implemented.", + "DeviceId": "The unique ID generated for this device by Cognito.", + "RecordPatches": "A list of patch operations." +} +""" +UpdateRecords(args) = cognito_sync("POST", "/identitypools/{IdentityPoolId}/identities/{IdentityId}/datasets/{DatasetName}", args) + +""" + BulkPublish() + +Initiates a bulk publish of all existing datasets for an Identity Pool to the configured stream. Customers are limited to one successful bulk publish per 24 hours. Bulk publish is an asynchronous request, customers can see the status of the request via the GetBulkPublishDetails operation. This API can only be called with developer credentials. You cannot call this API with the temporary user credentials provided by Cognito Identity. + +Required Parameters +{ + "IdentityPoolId": "A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region." +} +""" +BulkPublish(args) = cognito_sync("POST", "/identitypools/{IdentityPoolId}/bulkpublish", args) + +""" + GetCognitoEvents() + +Gets the events and the corresponding Lambda functions associated with an identity pool. This API can only be called with developer credentials. You cannot call this API with the temporary user credentials provided by Cognito Identity. + +Required Parameters +{ + "IdentityPoolId": "The Cognito Identity Pool ID for the request" +} +""" +GetCognitoEvents(args) = cognito_sync("GET", "/identitypools/{IdentityPoolId}/events", args) diff --git a/src/services/comprehend.jl b/src/services/comprehend.jl new file mode 100644 index 0000000000..8febc7f0f2 --- /dev/null +++ b/src/services/comprehend.jl @@ -0,0 +1,751 @@ +include("../AWSServices.jl") +using .AWSServices: comprehend + +""" + ListTopicsDetectionJobs() + +Gets a list of the topic detection jobs that you have submitted. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return in each page. The default is 100.", + "NextToken": "Identifies the next page of results to return.", + "Filter": "Filters the jobs that are returned. Jobs can be filtered on their name, status, or the date and time that they were submitted. You can set only one filter at a time." +} +""" +ListTopicsDetectionJobs() = comprehend("ListTopicsDetectionJobs") +ListTopicsDetectionJobs(args) = comprehend("ListTopicsDetectionJobs", args) + +""" + CreateEndpoint() + +Creates a model-specific endpoint for synchronous inference for a previously trained custom model + +Required Parameters +{ + "EndpointName": "This is the descriptive suffix that becomes part of the EndpointArn used for all subsequent requests to this resource. ", + "DesiredInferenceUnits": " The desired number of inference units to be used by the model using this endpoint. Each inference unit represents of a throughput of 100 characters per second.", + "ModelArn": "The Amazon Resource Number (ARN) of the model to which the endpoint will be attached." +} + +Optional Parameters +{ + "ClientRequestToken": "An idempotency token provided by the customer. If this token matches a previous endpoint creation request, Amazon Comprehend will not return a ResourceInUseException. ", + "Tags": "Tags associated with the endpoint being created. A tag is a key-value pair that adds metadata to the endpoint. For example, a tag with \"Sales\" as the key might be added to an endpoint to indicate its use by the sales department. " +} +""" +CreateEndpoint(args) = comprehend("CreateEndpoint", args) + +""" + ListDocumentClassifiers() + +Gets a list of the document classifiers that you have created. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return in each page. The default is 100.", + "NextToken": "Identifies the next page of results to return.", + "Filter": "Filters the jobs that are returned. You can filter jobs on their name, status, or the date and time that they were submitted. You can only set one filter at a time." +} +""" +ListDocumentClassifiers() = comprehend("ListDocumentClassifiers") +ListDocumentClassifiers(args) = comprehend("ListDocumentClassifiers", args) + +""" + StartDominantLanguageDetectionJob() + +Starts an asynchronous dominant language detection job for a collection of documents. Use the operation to track the status of a job. + +Required Parameters +{ + "InputDataConfig": "Specifies the format and location of the input data for the job.", + "OutputDataConfig": "Specifies where to send the output files.", + "DataAccessRoleArn": "The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that grants Amazon Comprehend read access to your input data. For more information, see https://docs.aws.amazon.com/comprehend/latest/dg/access-control-managing-permissions.html#auth-role-permissions." +} + +Optional Parameters +{ + "ClientRequestToken": "A unique identifier for the request. If you do not set the client request token, Amazon Comprehend generates one.", + "VolumeKmsKeyId": "ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt data on the storage volume attached to the ML compute instance(s) that process the analysis job. The VolumeKmsKeyId can be either of the following formats: KMS Key ID: \"1234abcd-12ab-34cd-56ef-1234567890ab\" Amazon Resource Name (ARN) of a KMS Key: \"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\" ", + "VpcConfig": "Configuration parameters for an optional private Virtual Private Cloud (VPC) containing the resources you are using for your dominant language detection job. For more information, see Amazon VPC. ", + "JobName": "An identifier for the job." +} +""" +StartDominantLanguageDetectionJob(args) = comprehend("StartDominantLanguageDetectionJob", args) + +""" + TagResource() + +Associates a specific tag with an Amazon Comprehend resource. A tag is a key-value pair that adds as a metadata to a resource used by Amazon Comprehend. For example, a tag with "Sales" as the key might be added to a resource to indicate its use by the sales department. + +Required Parameters +{ + "ResourceArn": "The Amazon Resource Name (ARN) of the given Amazon Comprehend resource to which you want to associate the tags. ", + "Tags": "Tags being associated with a specific Amazon Comprehend resource. There can be a maximum of 50 tags (both existing and pending) associated with a specific resource. " +} +""" +TagResource(args) = comprehend("TagResource", args) + +""" + StopSentimentDetectionJob() + +Stops a sentiment detection job in progress. If the job state is IN_PROGRESS the job is marked for termination and put into the STOP_REQUESTED state. If the job completes before it can be stopped, it is put into the COMPLETED state; otherwise the job is be stopped and put into the STOPPED state. If the job is in the COMPLETED or FAILED state when you call the StopDominantLanguageDetectionJob operation, the operation returns a 400 Internal Request Exception. When a job is stopped, any documents already processed are written to the output location. + +Required Parameters +{ + "JobId": "The identifier of the sentiment detection job to stop." +} +""" +StopSentimentDetectionJob(args) = comprehend("StopSentimentDetectionJob", args) + +""" + CreateDocumentClassifier() + +Creates a new document classifier that you can use to categorize documents. To create a classifier you provide a set of training documents that labeled with the categories that you want to use. After the classifier is trained you can use it to categorize a set of labeled documents into the categories. For more information, see how-document-classification. + +Required Parameters +{ + "InputDataConfig": "Specifies the format and location of the input data for the job.", + "DocumentClassifierName": "The name of the document classifier.", + "DataAccessRoleArn": "The Amazon Resource Name (ARN) of the AWS Identity and Management (IAM) role that grants Amazon Comprehend read access to your input data.", + "LanguageCode": "The language of the input documents. You can specify any of the following languages supported by Amazon Comprehend: German (\"de\"), English (\"en\"), Spanish (\"es\"), French (\"fr\"), Italian (\"it\"), or Portuguese (\"pt\"). All documents must be in the same language." +} + +Optional Parameters +{ + "Mode": "Indicates the mode in which the classifier will be trained. The classifier can be trained in multi-class mode, which identifies one and only one class for each document, or multi-label mode, which identifies one or more labels for each document. In multi-label mode, multiple labels for an individual document are separated by a delimiter. The default delimiter between labels is a pipe (|).", + "Tags": "Tags to be associated with the document classifier being created. A tag is a key-value pair that adds as a metadata to a resource used by Amazon Comprehend. For example, a tag with \"Sales\" as the key might be added to a resource to indicate its use by the sales department. ", + "OutputDataConfig": "Enables the addition of output results configuration parameters for custom classifier jobs.", + "ClientRequestToken": "A unique identifier for the request. If you don't set the client request token, Amazon Comprehend generates one.", + "VolumeKmsKeyId": "ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt data on the storage volume attached to the ML compute instance(s) that process the analysis job. The VolumeKmsKeyId can be either of the following formats: KMS Key ID: \"1234abcd-12ab-34cd-56ef-1234567890ab\" Amazon Resource Name (ARN) of a KMS Key: \"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\" ", + "VpcConfig": "Configuration parameters for an optional private Virtual Private Cloud (VPC) containing the resources you are using for your custom classifier. For more information, see Amazon VPC. " +} +""" +CreateDocumentClassifier(args) = comprehend("CreateDocumentClassifier", args) + +""" + ListKeyPhrasesDetectionJobs() + +Get a list of key phrase detection jobs that you have submitted. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return in each page. The default is 100.", + "NextToken": "Identifies the next page of results to return.", + "Filter": "Filters the jobs that are returned. You can filter jobs on their name, status, or the date and time that they were submitted. You can only set one filter at a time." +} +""" +ListKeyPhrasesDetectionJobs() = comprehend("ListKeyPhrasesDetectionJobs") +ListKeyPhrasesDetectionJobs(args) = comprehend("ListKeyPhrasesDetectionJobs", args) + +""" + StopTrainingDocumentClassifier() + +Stops a document classifier training job while in progress. If the training job state is TRAINING, the job is marked for termination and put into the STOP_REQUESTED state. If the training job completes before it can be stopped, it is put into the TRAINED; otherwise the training job is stopped and put into the STOPPED state and the service sends back an HTTP 200 response with an empty HTTP body. + +Required Parameters +{ + "DocumentClassifierArn": "The Amazon Resource Name (ARN) that identifies the document classifier currently being trained." +} +""" +StopTrainingDocumentClassifier(args) = comprehend("StopTrainingDocumentClassifier", args) + +""" + ListDominantLanguageDetectionJobs() + +Gets a list of the dominant language detection jobs that you have submitted. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return in each page. The default is 100.", + "NextToken": "Identifies the next page of results to return.", + "Filter": "Filters that jobs that are returned. You can filter jobs on their name, status, or the date and time that they were submitted. You can only set one filter at a time." +} +""" +ListDominantLanguageDetectionJobs() = comprehend("ListDominantLanguageDetectionJobs") +ListDominantLanguageDetectionJobs(args) = comprehend("ListDominantLanguageDetectionJobs", args) + +""" + ListSentimentDetectionJobs() + +Gets a list of sentiment detection jobs that you have submitted. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return in each page. The default is 100.", + "NextToken": "Identifies the next page of results to return.", + "Filter": "Filters the jobs that are returned. You can filter jobs on their name, status, or the date and time that they were submitted. You can only set one filter at a time." +} +""" +ListSentimentDetectionJobs() = comprehend("ListSentimentDetectionJobs") +ListSentimentDetectionJobs(args) = comprehend("ListSentimentDetectionJobs", args) + +""" + StopDominantLanguageDetectionJob() + +Stops a dominant language detection job in progress. If the job state is IN_PROGRESS the job is marked for termination and put into the STOP_REQUESTED state. If the job completes before it can be stopped, it is put into the COMPLETED state; otherwise the job is stopped and put into the STOPPED state. If the job is in the COMPLETED or FAILED state when you call the StopDominantLanguageDetectionJob operation, the operation returns a 400 Internal Request Exception. When a job is stopped, any documents already processed are written to the output location. + +Required Parameters +{ + "JobId": "The identifier of the dominant language detection job to stop." +} +""" +StopDominantLanguageDetectionJob(args) = comprehend("StopDominantLanguageDetectionJob", args) + +""" + BatchDetectSyntax() + +Inspects the text of a batch of documents for the syntax and part of speech of the words in the document and returns information about them. For more information, see how-syntax. + +Required Parameters +{ + "TextList": "A list containing the text of the input documents. The list can contain a maximum of 25 documents. Each document must contain fewer that 5,000 bytes of UTF-8 encoded characters.", + "LanguageCode": "The language of the input documents. You can specify any of the following languages supported by Amazon Comprehend: German (\"de\"), English (\"en\"), Spanish (\"es\"), French (\"fr\"), Italian (\"it\"), or Portuguese (\"pt\"). All documents must be in the same language." +} +""" +BatchDetectSyntax(args) = comprehend("BatchDetectSyntax", args) + +""" + DetectSyntax() + +Inspects text for syntax and the part of speech of words in the document. For more information, how-syntax. + +Required Parameters +{ + "LanguageCode": "The language code of the input documents. You can specify any of the following languages supported by Amazon Comprehend: German (\"de\"), English (\"en\"), Spanish (\"es\"), French (\"fr\"), Italian (\"it\"), or Portuguese (\"pt\").", + "Text": "A UTF-8 string. Each string must contain fewer that 5,000 bytes of UTF encoded characters." +} +""" +DetectSyntax(args) = comprehend("DetectSyntax", args) + +""" + BatchDetectSentiment() + +Inspects a batch of documents and returns an inference of the prevailing sentiment, POSITIVE, NEUTRAL, MIXED, or NEGATIVE, in each one. + +Required Parameters +{ + "TextList": "A list containing the text of the input documents. The list can contain a maximum of 25 documents. Each document must contain fewer that 5,000 bytes of UTF-8 encoded characters.", + "LanguageCode": "The language of the input documents. You can specify any of the primary languages supported by Amazon Comprehend. All documents must be in the same language." +} +""" +BatchDetectSentiment(args) = comprehend("BatchDetectSentiment", args) + +""" + UpdateEndpoint() + +Updates information about the specified endpoint. + +Required Parameters +{ + "DesiredInferenceUnits": " The desired number of inference units to be used by the model using this endpoint. Each inference unit represents of a throughput of 100 characters per second.", + "EndpointArn": "The Amazon Resource Number (ARN) of the endpoint being updated." +} +""" +UpdateEndpoint(args) = comprehend("UpdateEndpoint", args) + +""" + StopEntitiesDetectionJob() + +Stops an entities detection job in progress. If the job state is IN_PROGRESS the job is marked for termination and put into the STOP_REQUESTED state. If the job completes before it can be stopped, it is put into the COMPLETED state; otherwise the job is stopped and put into the STOPPED state. If the job is in the COMPLETED or FAILED state when you call the StopDominantLanguageDetectionJob operation, the operation returns a 400 Internal Request Exception. When a job is stopped, any documents already processed are written to the output location. + +Required Parameters +{ + "JobId": "The identifier of the entities detection job to stop." +} +""" +StopEntitiesDetectionJob(args) = comprehend("StopEntitiesDetectionJob", args) + +""" + UntagResource() + +Removes a specific tag associated with an Amazon Comprehend resource. + +Required Parameters +{ + "ResourceArn": " The Amazon Resource Name (ARN) of the given Amazon Comprehend resource from which you want to remove the tags. ", + "TagKeys": "The initial part of a key-value pair that forms a tag being removed from a given resource. For example, a tag with \"Sales\" as the key might be added to a resource to indicate its use by the sales department. Keys must be unique and cannot be duplicated for a particular resource. " +} +""" +UntagResource(args) = comprehend("UntagResource", args) + +""" + StartKeyPhrasesDetectionJob() + +Starts an asynchronous key phrase detection job for a collection of documents. Use the operation to track the status of a job. + +Required Parameters +{ + "InputDataConfig": "Specifies the format and location of the input data for the job.", + "OutputDataConfig": "Specifies where to send the output files.", + "DataAccessRoleArn": "The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that grants Amazon Comprehend read access to your input data. For more information, see https://docs.aws.amazon.com/comprehend/latest/dg/access-control-managing-permissions.html#auth-role-permissions.", + "LanguageCode": "The language of the input documents. You can specify any of the primary languages supported by Amazon Comprehend. All documents must be in the same language." +} + +Optional Parameters +{ + "ClientRequestToken": "A unique identifier for the request. If you don't set the client request token, Amazon Comprehend generates one.", + "VolumeKmsKeyId": "ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt data on the storage volume attached to the ML compute instance(s) that process the analysis job. The VolumeKmsKeyId can be either of the following formats: KMS Key ID: \"1234abcd-12ab-34cd-56ef-1234567890ab\" Amazon Resource Name (ARN) of a KMS Key: \"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\" ", + "VpcConfig": " Configuration parameters for an optional private Virtual Private Cloud (VPC) containing the resources you are using for your key phrases detection job. For more information, see Amazon VPC. ", + "JobName": "The identifier of the job." +} +""" +StartKeyPhrasesDetectionJob(args) = comprehend("StartKeyPhrasesDetectionJob", args) + +""" + StartDocumentClassificationJob() + +Starts an asynchronous document classification job. Use the operation to track the progress of the job. + +Required Parameters +{ + "InputDataConfig": "Specifies the format and location of the input data for the job.", + "OutputDataConfig": "Specifies where to send the output files.", + "DocumentClassifierArn": "The Amazon Resource Name (ARN) of the document classifier to use to process the job.", + "DataAccessRoleArn": "The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that grants Amazon Comprehend read access to your input data." +} + +Optional Parameters +{ + "ClientRequestToken": "A unique identifier for the request. If you do not set the client request token, Amazon Comprehend generates one.", + "VolumeKmsKeyId": "ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt data on the storage volume attached to the ML compute instance(s) that process the analysis job. The VolumeKmsKeyId can be either of the following formats: KMS Key ID: \"1234abcd-12ab-34cd-56ef-1234567890ab\" Amazon Resource Name (ARN) of a KMS Key: \"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\" ", + "VpcConfig": "Configuration parameters for an optional private Virtual Private Cloud (VPC) containing the resources you are using for your document classification job. For more information, see Amazon VPC. ", + "JobName": "The identifier of the job." +} +""" +StartDocumentClassificationJob(args) = comprehend("StartDocumentClassificationJob", args) + +""" + CreateEntityRecognizer() + +Creates an entity recognizer using submitted files. After your CreateEntityRecognizer request is submitted, you can check job status using the API. + +Required Parameters +{ + "InputDataConfig": "Specifies the format and location of the input data. The S3 bucket containing the input data must be located in the same region as the entity recognizer being created. ", + "RecognizerName": "The name given to the newly created recognizer. Recognizer names can be a maximum of 256 characters. Alphanumeric characters, hyphens (-) and underscores (_) are allowed. The name must be unique in the account/region.", + "DataAccessRoleArn": "The Amazon Resource Name (ARN) of the AWS Identity and Management (IAM) role that grants Amazon Comprehend read access to your input data.", + "LanguageCode": " The language of the input documents. All documents must be in the same language. Only English (\"en\") is currently supported. " +} + +Optional Parameters +{ + "Tags": "Tags to be associated with the entity recognizer being created. A tag is a key-value pair that adds as a metadata to a resource used by Amazon Comprehend. For example, a tag with \"Sales\" as the key might be added to a resource to indicate its use by the sales department. ", + "ClientRequestToken": " A unique identifier for the request. If you don't set the client request token, Amazon Comprehend generates one.", + "VolumeKmsKeyId": "ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt data on the storage volume attached to the ML compute instance(s) that process the analysis job. The VolumeKmsKeyId can be either of the following formats: KMS Key ID: \"1234abcd-12ab-34cd-56ef-1234567890ab\" Amazon Resource Name (ARN) of a KMS Key: \"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\" ", + "VpcConfig": "Configuration parameters for an optional private Virtual Private Cloud (VPC) containing the resources you are using for your custom entity recognizer. For more information, see Amazon VPC. " +} +""" +CreateEntityRecognizer(args) = comprehend("CreateEntityRecognizer", args) + +""" + ListDocumentClassificationJobs() + +Gets a list of the documentation classification jobs that you have submitted. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return in each page. The default is 100.", + "NextToken": "Identifies the next page of results to return.", + "Filter": "Filters the jobs that are returned. You can filter jobs on their names, status, or the date and time that they were submitted. You can only set one filter at a time." +} +""" +ListDocumentClassificationJobs() = comprehend("ListDocumentClassificationJobs") +ListDocumentClassificationJobs(args) = comprehend("ListDocumentClassificationJobs", args) + +""" + DetectSentiment() + +Inspects text and returns an inference of the prevailing sentiment (POSITIVE, NEUTRAL, MIXED, or NEGATIVE). + +Required Parameters +{ + "LanguageCode": "The language of the input documents. You can specify any of the primary languages supported by Amazon Comprehend. All documents must be in the same language.", + "Text": "A UTF-8 text string. Each string must contain fewer that 5,000 bytes of UTF-8 encoded characters." +} +""" +DetectSentiment(args) = comprehend("DetectSentiment", args) + +""" + ListTagsForResource() + +Lists all tags associated with a given Amazon Comprehend resource. + +Required Parameters +{ + "ResourceArn": "The Amazon Resource Name (ARN) of the given Amazon Comprehend resource you are querying. " +} +""" +ListTagsForResource(args) = comprehend("ListTagsForResource", args) + +""" + ListEntitiesDetectionJobs() + +Gets a list of the entity detection jobs that you have submitted. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return in each page. The default is 100.", + "NextToken": "Identifies the next page of results to return.", + "Filter": "Filters the jobs that are returned. You can filter jobs on their name, status, or the date and time that they were submitted. You can only set one filter at a time." +} +""" +ListEntitiesDetectionJobs() = comprehend("ListEntitiesDetectionJobs") +ListEntitiesDetectionJobs(args) = comprehend("ListEntitiesDetectionJobs", args) + +""" + DetectDominantLanguage() + +Determines the dominant language of the input text. For a list of languages that Amazon Comprehend can detect, see Amazon Comprehend Supported Languages. + +Required Parameters +{ + "Text": "A UTF-8 text string. Each string should contain at least 20 characters and must contain fewer that 5,000 bytes of UTF-8 encoded characters." +} +""" +DetectDominantLanguage(args) = comprehend("DetectDominantLanguage", args) + +""" + DescribeEntitiesDetectionJob() + +Gets the properties associated with an entities detection job. Use this operation to get the status of a detection job. + +Required Parameters +{ + "JobId": "The identifier that Amazon Comprehend generated for the job. The operation returns this identifier in its response." +} +""" +DescribeEntitiesDetectionJob(args) = comprehend("DescribeEntitiesDetectionJob", args) + +""" + DetectEntities() + +Inspects text for named entities, and returns information about them. For more information, about named entities, see how-entities. + +Required Parameters +{ + "LanguageCode": "The language of the input documents. You can specify any of the primary languages supported by Amazon Comprehend. All documents must be in the same language.", + "Text": "A UTF-8 text string. Each string must contain fewer that 5,000 bytes of UTF-8 encoded characters." +} +""" +DetectEntities(args) = comprehend("DetectEntities", args) + +""" + ListEntityRecognizers() + +Gets a list of the properties of all entity recognizers that you created, including recognizers currently in training. Allows you to filter the list of recognizers based on criteria such as status and submission time. This call returns up to 500 entity recognizers in the list, with a default number of 100 recognizers in the list. The results of this list are not in any particular order. Please get the list and sort locally if needed. + +Optional Parameters +{ + "MaxResults": " The maximum number of results to return on each page. The default is 100.", + "NextToken": "Identifies the next page of results to return.", + "Filter": "Filters the list of entities returned. You can filter on Status, SubmitTimeBefore, or SubmitTimeAfter. You can only set one filter at a time." +} +""" +ListEntityRecognizers() = comprehend("ListEntityRecognizers") +ListEntityRecognizers(args) = comprehend("ListEntityRecognizers", args) + +""" + ClassifyDocument() + +Creates a new document classification request to analyze a single document in real-time, using a previously created and trained custom model and an endpoint. + +Required Parameters +{ + "EndpointArn": "The Amazon Resource Number (ARN) of the endpoint.", + "Text": "The document text to be analyzed." +} +""" +ClassifyDocument(args) = comprehend("ClassifyDocument", args) + +""" + DescribeDocumentClassificationJob() + +Gets the properties associated with a document classification job. Use this operation to get the status of a classification job. + +Required Parameters +{ + "JobId": "The identifier that Amazon Comprehend generated for the job. The operation returns this identifier in its response." +} +""" +DescribeDocumentClassificationJob(args) = comprehend("DescribeDocumentClassificationJob", args) + +""" + StopKeyPhrasesDetectionJob() + +Stops a key phrases detection job in progress. If the job state is IN_PROGRESS the job is marked for termination and put into the STOP_REQUESTED state. If the job completes before it can be stopped, it is put into the COMPLETED state; otherwise the job is stopped and put into the STOPPED state. If the job is in the COMPLETED or FAILED state when you call the StopDominantLanguageDetectionJob operation, the operation returns a 400 Internal Request Exception. When a job is stopped, any documents already processed are written to the output location. + +Required Parameters +{ + "JobId": "The identifier of the key phrases detection job to stop." +} +""" +StopKeyPhrasesDetectionJob(args) = comprehend("StopKeyPhrasesDetectionJob", args) + +""" + DescribeEntityRecognizer() + +Provides details about an entity recognizer including status, S3 buckets containing training data, recognizer metadata, metrics, and so on. + +Required Parameters +{ + "EntityRecognizerArn": "The Amazon Resource Name (ARN) that identifies the entity recognizer." +} +""" +DescribeEntityRecognizer(args) = comprehend("DescribeEntityRecognizer", args) + +""" + DeleteEndpoint() + +Deletes a model-specific endpoint for a previously-trained custom model. All endpoints must be deleted in order for the model to be deleted. + +Required Parameters +{ + "EndpointArn": "The Amazon Resource Number (ARN) of the endpoint being deleted." +} +""" +DeleteEndpoint(args) = comprehend("DeleteEndpoint", args) + +""" + StopTrainingEntityRecognizer() + +Stops an entity recognizer training job while in progress. If the training job state is TRAINING, the job is marked for termination and put into the STOP_REQUESTED state. If the training job completes before it can be stopped, it is put into the TRAINED; otherwise the training job is stopped and putted into the STOPPED state and the service sends back an HTTP 200 response with an empty HTTP body. + +Required Parameters +{ + "EntityRecognizerArn": "The Amazon Resource Name (ARN) that identifies the entity recognizer currently being trained." +} +""" +StopTrainingEntityRecognizer(args) = comprehend("StopTrainingEntityRecognizer", args) + +""" + StartTopicsDetectionJob() + +Starts an asynchronous topic detection job. Use the DescribeTopicDetectionJob operation to track the status of a job. + +Required Parameters +{ + "InputDataConfig": "Specifies the format and location of the input data for the job.", + "OutputDataConfig": "Specifies where to send the output files. The output is a compressed archive with two files, topic-terms.csv that lists the terms associated with each topic, and doc-topics.csv that lists the documents associated with each topic", + "DataAccessRoleArn": "The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that grants Amazon Comprehend read access to your input data. For more information, see https://docs.aws.amazon.com/comprehend/latest/dg/access-control-managing-permissions.html#auth-role-permissions." +} + +Optional Parameters +{ + "ClientRequestToken": "A unique identifier for the request. If you do not set the client request token, Amazon Comprehend generates one.", + "VolumeKmsKeyId": "ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt data on the storage volume attached to the ML compute instance(s) that process the analysis job. The VolumeKmsKeyId can be either of the following formats: KMS Key ID: \"1234abcd-12ab-34cd-56ef-1234567890ab\" Amazon Resource Name (ARN) of a KMS Key: \"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\" ", + "VpcConfig": "Configuration parameters for an optional private Virtual Private Cloud (VPC) containing the resources you are using for your topic detection job. For more information, see Amazon VPC. ", + "JobName": "The identifier of the job.", + "NumberOfTopics": "The number of topics to detect." +} +""" +StartTopicsDetectionJob(args) = comprehend("StartTopicsDetectionJob", args) + +""" + DetectKeyPhrases() + +Detects the key noun phrases found in the text. + +Required Parameters +{ + "LanguageCode": "The language of the input documents. You can specify any of the primary languages supported by Amazon Comprehend. All documents must be in the same language.", + "Text": "A UTF-8 text string. Each string must contain fewer that 5,000 bytes of UTF-8 encoded characters." +} +""" +DetectKeyPhrases(args) = comprehend("DetectKeyPhrases", args) + +""" + DeleteEntityRecognizer() + +Deletes an entity recognizer. Only those recognizers that are in terminated states (IN_ERROR, TRAINED) will be deleted. If an active inference job is using the model, a ResourceInUseException will be returned. This is an asynchronous action that puts the recognizer into a DELETING state, and it is then removed by a background job. Once removed, the recognizer disappears from your account and is no longer available for use. + +Required Parameters +{ + "EntityRecognizerArn": "The Amazon Resource Name (ARN) that identifies the entity recognizer." +} +""" +DeleteEntityRecognizer(args) = comprehend("DeleteEntityRecognizer", args) + +""" + BatchDetectKeyPhrases() + +Detects the key noun phrases found in a batch of documents. + +Required Parameters +{ + "TextList": "A list containing the text of the input documents. The list can contain a maximum of 25 documents. Each document must contain fewer that 5,000 bytes of UTF-8 encoded characters.", + "LanguageCode": "The language of the input documents. You can specify any of the primary languages supported by Amazon Comprehend. All documents must be in the same language." +} +""" +BatchDetectKeyPhrases(args) = comprehend("BatchDetectKeyPhrases", args) + +""" + BatchDetectDominantLanguage() + +Determines the dominant language of the input text for a batch of documents. For a list of languages that Amazon Comprehend can detect, see Amazon Comprehend Supported Languages. + +Required Parameters +{ + "TextList": "A list containing the text of the input documents. The list can contain a maximum of 25 documents. Each document should contain at least 20 characters and must contain fewer than 5,000 bytes of UTF-8 encoded characters." +} +""" +BatchDetectDominantLanguage(args) = comprehend("BatchDetectDominantLanguage", args) + +""" + DescribeSentimentDetectionJob() + +Gets the properties associated with a sentiment detection job. Use this operation to get the status of a detection job. + +Required Parameters +{ + "JobId": "The identifier that Amazon Comprehend generated for the job. The operation returns this identifier in its response." +} +""" +DescribeSentimentDetectionJob(args) = comprehend("DescribeSentimentDetectionJob", args) + +""" + ListEndpoints() + +Gets a list of all existing endpoints that you've created. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return in each page. The default is 100.", + "NextToken": "Identifies the next page of results to return.", + "Filter": "Filters the endpoints that are returned. You can filter endpoints on their name, model, status, or the date and time that they were created. You can only set one filter at a time. " +} +""" +ListEndpoints() = comprehend("ListEndpoints") +ListEndpoints(args) = comprehend("ListEndpoints", args) + +""" + DescribeDocumentClassifier() + +Gets the properties associated with a document classifier. + +Required Parameters +{ + "DocumentClassifierArn": "The Amazon Resource Name (ARN) that identifies the document classifier. The operation returns this identifier in its response." +} +""" +DescribeDocumentClassifier(args) = comprehend("DescribeDocumentClassifier", args) + +""" + BatchDetectEntities() + +Inspects the text of a batch of documents for named entities and returns information about them. For more information about named entities, see how-entities + +Required Parameters +{ + "TextList": "A list containing the text of the input documents. The list can contain a maximum of 25 documents. Each document must contain fewer than 5,000 bytes of UTF-8 encoded characters.", + "LanguageCode": "The language of the input documents. You can specify any of the primary languages supported by Amazon Comprehend. All documents must be in the same language." +} +""" +BatchDetectEntities(args) = comprehend("BatchDetectEntities", args) + +""" + DeleteDocumentClassifier() + +Deletes a previously created document classifier Only those classifiers that are in terminated states (IN_ERROR, TRAINED) will be deleted. If an active inference job is using the model, a ResourceInUseException will be returned. This is an asynchronous action that puts the classifier into a DELETING state, and it is then removed by a background job. Once removed, the classifier disappears from your account and is no longer available for use. + +Required Parameters +{ + "DocumentClassifierArn": "The Amazon Resource Name (ARN) that identifies the document classifier. " +} +""" +DeleteDocumentClassifier(args) = comprehend("DeleteDocumentClassifier", args) + +""" + StartSentimentDetectionJob() + +Starts an asynchronous sentiment detection job for a collection of documents. use the operation to track the status of a job. + +Required Parameters +{ + "InputDataConfig": "Specifies the format and location of the input data for the job.", + "OutputDataConfig": "Specifies where to send the output files. ", + "DataAccessRoleArn": "The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that grants Amazon Comprehend read access to your input data. For more information, see https://docs.aws.amazon.com/comprehend/latest/dg/access-control-managing-permissions.html#auth-role-permissions.", + "LanguageCode": "The language of the input documents. You can specify any of the primary languages supported by Amazon Comprehend. All documents must be in the same language." +} + +Optional Parameters +{ + "ClientRequestToken": "A unique identifier for the request. If you don't set the client request token, Amazon Comprehend generates one.", + "VolumeKmsKeyId": "ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt data on the storage volume attached to the ML compute instance(s) that process the analysis job. The VolumeKmsKeyId can be either of the following formats: KMS Key ID: \"1234abcd-12ab-34cd-56ef-1234567890ab\" Amazon Resource Name (ARN) of a KMS Key: \"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\" ", + "VpcConfig": "Configuration parameters for an optional private Virtual Private Cloud (VPC) containing the resources you are using for your sentiment detection job. For more information, see Amazon VPC. ", + "JobName": "The identifier of the job." +} +""" +StartSentimentDetectionJob(args) = comprehend("StartSentimentDetectionJob", args) + +""" + StartEntitiesDetectionJob() + +Starts an asynchronous entity detection job for a collection of documents. Use the operation to track the status of a job. This API can be used for either standard entity detection or custom entity recognition. In order to be used for custom entity recognition, the optional EntityRecognizerArn must be used in order to provide access to the recognizer being used to detect the custom entity. + +Required Parameters +{ + "InputDataConfig": "Specifies the format and location of the input data for the job.", + "OutputDataConfig": "Specifies where to send the output files.", + "DataAccessRoleArn": "The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that grants Amazon Comprehend read access to your input data. For more information, see https://docs.aws.amazon.com/comprehend/latest/dg/access-control-managing-permissions.html#auth-role-permissions.", + "LanguageCode": "The language of the input documents. All documents must be in the same language. You can specify any of the languages supported by Amazon Comprehend. If custom entities recognition is used, this parameter is ignored and the language used for training the model is used instead." +} + +Optional Parameters +{ + "ClientRequestToken": "A unique identifier for the request. If you don't set the client request token, Amazon Comprehend generates one.", + "VolumeKmsKeyId": "ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt data on the storage volume attached to the ML compute instance(s) that process the analysis job. The VolumeKmsKeyId can be either of the following formats: KMS Key ID: \"1234abcd-12ab-34cd-56ef-1234567890ab\" Amazon Resource Name (ARN) of a KMS Key: \"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\" ", + "VpcConfig": "Configuration parameters for an optional private Virtual Private Cloud (VPC) containing the resources you are using for your entity detection job. For more information, see Amazon VPC. ", + "JobName": "The identifier of the job.", + "EntityRecognizerArn": "The Amazon Resource Name (ARN) that identifies the specific entity recognizer to be used by the StartEntitiesDetectionJob. This ARN is optional and is only used for a custom entity recognition job." +} +""" +StartEntitiesDetectionJob(args) = comprehend("StartEntitiesDetectionJob", args) + +""" + DescribeTopicsDetectionJob() + +Gets the properties associated with a topic detection job. Use this operation to get the status of a detection job. + +Required Parameters +{ + "JobId": "The identifier assigned by the user to the detection job." +} +""" +DescribeTopicsDetectionJob(args) = comprehend("DescribeTopicsDetectionJob", args) + +""" + DescribeDominantLanguageDetectionJob() + +Gets the properties associated with a dominant language detection job. Use this operation to get the status of a detection job. + +Required Parameters +{ + "JobId": "The identifier that Amazon Comprehend generated for the job. The operation returns this identifier in its response." +} +""" +DescribeDominantLanguageDetectionJob(args) = comprehend("DescribeDominantLanguageDetectionJob", args) + +""" + DescribeEndpoint() + +Gets the properties associated with a specific endpoint. Use this operation to get the status of an endpoint. + +Required Parameters +{ + "EndpointArn": "The Amazon Resource Number (ARN) of the endpoint being described." +} +""" +DescribeEndpoint(args) = comprehend("DescribeEndpoint", args) + +""" + DescribeKeyPhrasesDetectionJob() + +Gets the properties associated with a key phrases detection job. Use this operation to get the status of a detection job. + +Required Parameters +{ + "JobId": "The identifier that Amazon Comprehend generated for the job. The operation returns this identifier in its response." +} +""" +DescribeKeyPhrasesDetectionJob(args) = comprehend("DescribeKeyPhrasesDetectionJob", args) diff --git a/src/services/comprehendmedical.jl b/src/services/comprehendmedical.jl new file mode 100644 index 0000000000..c199102b39 --- /dev/null +++ b/src/services/comprehendmedical.jl @@ -0,0 +1,184 @@ +include("../AWSServices.jl") +using .AWSServices: comprehendmedical + +""" + StartPHIDetectionJob() + +Starts an asynchronous job to detect protected health information (PHI). Use the DescribePHIDetectionJob operation to track the status of a job. + +Required Parameters +{ + "InputDataConfig": "Specifies the format and location of the input data for the job.", + "OutputDataConfig": "Specifies where to send the output files.", + "DataAccessRoleArn": "The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that grants Amazon Comprehend Medical read access to your input data. For more information, see Role-Based Permissions Required for Asynchronous Operations.", + "LanguageCode": "The language of the input documents. All documents must be in the same language." +} + +Optional Parameters +{ + "ClientRequestToken": "A unique identifier for the request. If you don't set the client request token, Amazon Comprehend Medical generates one.", + "KMSKey": "An AWS Key Management Service key to encrypt your output files. If you do not specify a key, the files are written in plain text.", + "JobName": "The identifier of the job." +} +""" +StartPHIDetectionJob(args) = comprehendmedical("StartPHIDetectionJob", args) + +""" + DetectEntities() + +The DetectEntities operation is deprecated. You should use the DetectEntitiesV2 operation instead. Inspects the clinical text for a variety of medical entities and returns specific information about them such as entity category, location, and confidence score on that information . + +Required Parameters +{ + "Text": " A UTF-8 text string containing the clinical content being examined for entities. Each string must contain fewer than 20,000 bytes of characters." +} +""" +DetectEntities(args) = comprehendmedical("DetectEntities", args) + +""" + StopPHIDetectionJob() + +Stops a protected health information (PHI) detection job in progress. + +Required Parameters +{ + "JobId": "The identifier of the PHI detection job to stop." +} +""" +StopPHIDetectionJob(args) = comprehendmedical("StopPHIDetectionJob", args) + +""" + DetectEntitiesV2() + +Inspects the clinical text for a variety of medical entities and returns specific information about them such as entity category, location, and confidence score on that information. Amazon Comprehend Medical only detects medical entities in English language texts. The DetectEntitiesV2 operation replaces the DetectEntities operation. This new action uses a different model for determining the entities in your medical text and changes the way that some entities are returned in the output. You should use the DetectEntitiesV2 operation in all new applications. The DetectEntitiesV2 operation returns the Acuity and Direction entities as attributes instead of types. + +Required Parameters +{ + "Text": "A UTF-8 string containing the clinical content being examined for entities. Each string must contain fewer than 20,000 bytes of characters." +} +""" +DetectEntitiesV2(args) = comprehendmedical("DetectEntitiesV2", args) + +""" + InferRxNorm() + +InferRxNorm detects medications as entities listed in a patient record and links to the normalized concept identifiers in the RxNorm database from the National Library of Medicine. Amazon Comprehend Medical only detects medical entities in English language texts. + +Required Parameters +{ + "Text": "The input text used for analysis. The input for InferRxNorm is a string from 1 to 10000 characters." +} +""" +InferRxNorm(args) = comprehendmedical("InferRxNorm", args) + +""" + StartEntitiesDetectionV2Job() + +Starts an asynchronous medical entity detection job for a collection of documents. Use the DescribeEntitiesDetectionV2Job operation to track the status of a job. + +Required Parameters +{ + "InputDataConfig": "Specifies the format and location of the input data for the job.", + "OutputDataConfig": "Specifies where to send the output files.", + "DataAccessRoleArn": "The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that grants Amazon Comprehend Medical read access to your input data. For more information, see Role-Based Permissions Required for Asynchronous Operations.", + "LanguageCode": "The language of the input documents. All documents must be in the same language." +} + +Optional Parameters +{ + "ClientRequestToken": "A unique identifier for the request. If you don't set the client request token, Amazon Comprehend Medical generates one.", + "KMSKey": "An AWS Key Management Service key to encrypt your output files. If you do not specify a key, the files are written in plain text.", + "JobName": "The identifier of the job." +} +""" +StartEntitiesDetectionV2Job(args) = comprehendmedical("StartEntitiesDetectionV2Job", args) + +""" + ListEntitiesDetectionV2Jobs() + +Gets a list of medical entity detection jobs that you have submitted. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return in each page. The default is 100.", + "NextToken": "Identifies the next page of results to return.", + "Filter": "Filters the jobs that are returned. You can filter jobs based on their names, status, or the date and time that they were submitted. You can only set one filter at a time." +} +""" +ListEntitiesDetectionV2Jobs() = comprehendmedical("ListEntitiesDetectionV2Jobs") +ListEntitiesDetectionV2Jobs(args) = comprehendmedical("ListEntitiesDetectionV2Jobs", args) + +""" + ListPHIDetectionJobs() + +Gets a list of protected health information (PHI) detection jobs that you have submitted. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return in each page. The default is 100.", + "NextToken": "Identifies the next page of results to return.", + "Filter": "Filters the jobs that are returned. You can filter jobs based on their names, status, or the date and time that they were submitted. You can only set one filter at a time." +} +""" +ListPHIDetectionJobs() = comprehendmedical("ListPHIDetectionJobs") +ListPHIDetectionJobs(args) = comprehendmedical("ListPHIDetectionJobs", args) + +""" + DetectPHI() + + Inspects the clinical text for protected health information (PHI) entities and returns the entity category, location, and confidence score for each entity. Amazon Comprehend Medical only detects entities in English language texts. + +Required Parameters +{ + "Text": " A UTF-8 text string containing the clinical content being examined for PHI entities. Each string must contain fewer than 20,000 bytes of characters." +} +""" +DetectPHI(args) = comprehendmedical("DetectPHI", args) + +""" + StopEntitiesDetectionV2Job() + +Stops a medical entities detection job in progress. + +Required Parameters +{ + "JobId": "The identifier of the medical entities job to stop." +} +""" +StopEntitiesDetectionV2Job(args) = comprehendmedical("StopEntitiesDetectionV2Job", args) + +""" + InferICD10CM() + +InferICD10CM detects medical conditions as entities listed in a patient record and links those entities to normalized concept identifiers in the ICD-10-CM knowledge base from the Centers for Disease Control. Amazon Comprehend Medical only detects medical entities in English language texts. + +Required Parameters +{ + "Text": "The input text used for analysis. The input for InferICD10CM is a string from 1 to 10000 characters." +} +""" +InferICD10CM(args) = comprehendmedical("InferICD10CM", args) + +""" + DescribePHIDetectionJob() + +Gets the properties associated with a protected health information (PHI) detection job. Use this operation to get the status of a detection job. + +Required Parameters +{ + "JobId": "The identifier that Amazon Comprehend Medical generated for the job. The StartPHIDetectionJob operation returns this identifier in its response." +} +""" +DescribePHIDetectionJob(args) = comprehendmedical("DescribePHIDetectionJob", args) + +""" + DescribeEntitiesDetectionV2Job() + +Gets the properties associated with a medical entities detection job. Use this operation to get the status of a detection job. + +Required Parameters +{ + "JobId": "The identifier that Amazon Comprehend Medical generated for the job. The StartEntitiesDetectionV2Job operation returns this identifier in its response." +} +""" +DescribeEntitiesDetectionV2Job(args) = comprehendmedical("DescribeEntitiesDetectionV2Job", args) diff --git a/src/services/compute_optimizer.jl b/src/services/compute_optimizer.jl new file mode 100644 index 0000000000..8117da1d7a --- /dev/null +++ b/src/services/compute_optimizer.jl @@ -0,0 +1,92 @@ +include("../AWSServices.jl") +using .AWSServices: compute_optimizer + +""" + GetAutoScalingGroupRecommendations() + +Returns Auto Scaling group recommendations. AWS Compute Optimizer currently generates recommendations for Auto Scaling groups that are configured to run instances of the M, C, R, T, and X instance families. The service does not generate recommendations for Auto Scaling groups that have a scaling policy attached to them, or that do not have the same values for desired, minimum, and maximum capacity. In order for Compute Optimizer to analyze your Auto Scaling groups, they must be of a fixed size. For more information, see the AWS Compute Optimizer User Guide. + +Optional Parameters +{ + "filters": "An array of objects that describe a filter that returns a more specific list of Auto Scaling group recommendations.", + "autoScalingGroupArns": "The Amazon Resource Name (ARN) of the Auto Scaling groups for which to return recommendations.", + "maxResults": "The maximum number of Auto Scaling group recommendations to return with a single call. To retrieve the remaining results, make another call with the returned NextToken value.", + "nextToken": "The token to advance to the next page of Auto Scaling group recommendations.", + "accountIds": "The AWS account IDs for which to return Auto Scaling group recommendations. Only one account ID can be specified per request." +} +""" +GetAutoScalingGroupRecommendations() = compute_optimizer("GetAutoScalingGroupRecommendations") +GetAutoScalingGroupRecommendations(args) = compute_optimizer("GetAutoScalingGroupRecommendations", args) + +""" + GetEC2InstanceRecommendations() + +Returns Amazon EC2 instance recommendations. AWS Compute Optimizer currently generates recommendations for Amazon Elastic Compute Cloud (Amazon EC2) and Amazon EC2 Auto Scaling. It generates recommendations for M, C, R, T, and X instance families. For more information, see the AWS Compute Optimizer User Guide. + +Optional Parameters +{ + "filters": "An array of objects that describe a filter that returns a more specific list of instance recommendations.", + "maxResults": "The maximum number of instance recommendations to return with a single call. To retrieve the remaining results, make another call with the returned NextToken value.", + "instanceArns": "The Amazon Resource Name (ARN) of the instances for which to return recommendations.", + "nextToken": "The token to advance to the next page of instance recommendations.", + "accountIds": "The AWS account IDs for which to return instance recommendations. Only one account ID can be specified per request." +} +""" +GetEC2InstanceRecommendations() = compute_optimizer("GetEC2InstanceRecommendations") +GetEC2InstanceRecommendations(args) = compute_optimizer("GetEC2InstanceRecommendations", args) + +""" + GetEC2RecommendationProjectedMetrics() + +Returns the projected utilization metrics of Amazon EC2 instance recommendations. + +Required Parameters +{ + "stat": "The statistic of the projected metrics.", + "startTime": "The time stamp of the first projected metrics data point to return.", + "period": "The granularity, in seconds, of the projected metrics data points.", + "instanceArn": "The Amazon Resource Name (ARN) of the instances for which to return recommendation projected metrics.", + "endTime": "The time stamp of the last projected metrics data point to return." +} +""" +GetEC2RecommendationProjectedMetrics(args) = compute_optimizer("GetEC2RecommendationProjectedMetrics", args) + +""" + GetRecommendationSummaries() + +Returns the optimization findings for an account. For example, it returns the number of Amazon EC2 instances in an account that are under-provisioned, over-provisioned, or optimized. It also returns the number of Auto Scaling groups in an account that are not optimized, or optimized. + +Optional Parameters +{ + "maxResults": "The maximum number of recommendation summaries to return with a single call. To retrieve the remaining results, make another call with the returned NextToken value.", + "nextToken": "The token to advance to the next page of recommendation summaries.", + "accountIds": "The AWS account IDs for which to return recommendation summaries. Only one account ID can be specified per request." +} +""" +GetRecommendationSummaries() = compute_optimizer("GetRecommendationSummaries") +GetRecommendationSummaries(args) = compute_optimizer("GetRecommendationSummaries", args) + +""" + GetEnrollmentStatus() + +Returns the enrollment (opt in) status of an account to the AWS Compute Optimizer service. If the account is a master account of an organization, this operation also confirms the enrollment status of member accounts within the organization. +""" +GetEnrollmentStatus() = compute_optimizer("GetEnrollmentStatus") +GetEnrollmentStatus(args) = compute_optimizer("GetEnrollmentStatus", args) + +""" + UpdateEnrollmentStatus() + +Updates the enrollment (opt in) status of an account to the AWS Compute Optimizer service. If the account is a master account of an organization, this operation can also enroll member accounts within the organization. + +Required Parameters +{ + "status": "The new enrollment status of the account. Accepted options are Active or Inactive. You will get an error if Pending or Failed are specified." +} + +Optional Parameters +{ + "includeMemberAccounts": "Indicates whether to enroll member accounts within the organization, if the account is a master account of an organization." +} +""" +UpdateEnrollmentStatus(args) = compute_optimizer("UpdateEnrollmentStatus", args) diff --git a/src/services/config_service.jl b/src/services/config_service.jl new file mode 100644 index 0000000000..c1b1d945d2 --- /dev/null +++ b/src/services/config_service.jl @@ -0,0 +1,1224 @@ +include("../AWSServices.jl") +using .AWSServices: config_service + +""" + GetConformancePackComplianceDetails() + +Returns compliance details of a conformance pack for all AWS resources that are monitered by conformance pack. + +Required Parameters +{ + "ConformancePackName": "Name of the conformance pack." +} + +Optional Parameters +{ + "NextToken": "The nextToken string returned in a previous request that you use to request the next page of results in a paginated response.", + "Filters": "A ConformancePackEvaluationFilters object.", + "Limit": "The maximum number of evaluation results returned on each page. If you do no specify a number, AWS Config uses the default. The default is 100." +} +""" +GetConformancePackComplianceDetails(args) = config_service("GetConformancePackComplianceDetails", args) + +""" + PutConfigurationAggregator() + +Creates and updates the configuration aggregator with the selected source accounts and regions. The source account can be individual account(s) or an organization. AWS Config should be enabled in source accounts and regions you want to aggregate. If your source type is an organization, you must be signed in to the master account and all features must be enabled in your organization. AWS Config calls EnableAwsServiceAccess API to enable integration between AWS Config and AWS Organizations. + +Required Parameters +{ + "ConfigurationAggregatorName": "The name of the configuration aggregator." +} + +Optional Parameters +{ + "OrganizationAggregationSource": "An OrganizationAggregationSource object.", + "Tags": "An array of tag object.", + "AccountAggregationSources": "A list of AccountAggregationSource object. " +} +""" +PutConfigurationAggregator(args) = config_service("PutConfigurationAggregator", args) + +""" + DeleteConfigurationRecorder() + +Deletes the configuration recorder. After the configuration recorder is deleted, AWS Config will not record resource configuration changes until you create a new configuration recorder. This action does not delete the configuration information that was previously recorded. You will be able to access the previously recorded information by using the GetResourceConfigHistory action, but you will not be able to access this information in the AWS Config console until you create a new configuration recorder. + +Required Parameters +{ + "ConfigurationRecorderName": "The name of the configuration recorder to be deleted. You can retrieve the name of your configuration recorder by using the DescribeConfigurationRecorders action." +} +""" +DeleteConfigurationRecorder(args) = config_service("DeleteConfigurationRecorder", args) + +""" + DescribeConfigurationAggregatorSourcesStatus() + +Returns status information for sources within an aggregator. The status includes information about the last time AWS Config verified authorization between the source account and an aggregator account. In case of a failure, the status contains the related error code or message. + +Required Parameters +{ + "ConfigurationAggregatorName": "The name of the configuration aggregator." +} + +Optional Parameters +{ + "NextToken": "The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.", + "UpdateStatus": "Filters the status type. Valid value FAILED indicates errors while moving data. Valid value SUCCEEDED indicates the data was successfully moved. Valid value OUTDATED indicates the data is not the most recent. ", + "Limit": "The maximum number of AggregatorSourceStatus returned on each page. The default is maximum. If you specify 0, AWS Config uses the default." +} +""" +DescribeConfigurationAggregatorSourcesStatus(args) = config_service("DescribeConfigurationAggregatorSourcesStatus", args) + +""" + DescribeConformancePacks() + +Returns a list of one or more conformance packs. + +Optional Parameters +{ + "NextToken": "The nextToken string returned in a previous request that you use to request the next page of results in a paginated response.", + "Limit": "The maximum number of conformance packs returned on each page.", + "ConformancePackNames": "Comma-separated list of conformance pack names for which you want details. If you do not specify any names, AWS Config returns details for all your conformance packs. " +} +""" +DescribeConformancePacks() = config_service("DescribeConformancePacks") +DescribeConformancePacks(args) = config_service("DescribeConformancePacks", args) + +""" + DescribeComplianceByConfigRule() + +Indicates whether the specified AWS Config rules are compliant. If a rule is noncompliant, this action returns the number of AWS resources that do not comply with the rule. A rule is compliant if all of the evaluated resources comply with it. It is noncompliant if any of these resources do not comply. If AWS Config has no current evaluation results for the rule, it returns INSUFFICIENT_DATA. This result might indicate one of the following conditions: AWS Config has never invoked an evaluation for the rule. To check whether it has, use the DescribeConfigRuleEvaluationStatus action to get the LastSuccessfulInvocationTime and LastFailedInvocationTime. The rule's AWS Lambda function is failing to send evaluation results to AWS Config. Verify that the role you assigned to your configuration recorder includes the config:PutEvaluations permission. If the rule is a custom rule, verify that the AWS Lambda execution role includes the config:PutEvaluations permission. The rule's AWS Lambda function has returned NOT_APPLICABLE for all evaluation results. This can occur if the resources were deleted or removed from the rule's scope. + +Optional Parameters +{ + "NextToken": "The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.", + "ComplianceTypes": "Filters the results by compliance. The allowed values are COMPLIANT and NON_COMPLIANT.", + "ConfigRuleNames": "Specify one or more AWS Config rule names to filter the results by rule." +} +""" +DescribeComplianceByConfigRule() = config_service("DescribeComplianceByConfigRule") +DescribeComplianceByConfigRule(args) = config_service("DescribeComplianceByConfigRule", args) + +""" + BatchGetResourceConfig() + +Returns the current configuration for one or more requested resources. The operation also returns a list of resources that are not processed in the current request. If there are no unprocessed resources, the operation returns an empty unprocessedResourceKeys list. The API does not return results for deleted resources. The API does not return any tags for the requested resources. This information is filtered out of the supplementaryConfiguration section of the API response. + +Required Parameters +{ + "resourceKeys": "A list of resource keys to be processed with the current request. Each element in the list consists of the resource type and resource ID." +} +""" +BatchGetResourceConfig(args) = config_service("BatchGetResourceConfig", args) + +""" + DeleteOrganizationConfigRule() + +Deletes the specified organization config rule and all of its evaluation results from all member accounts in that organization. Only a master account can delete an organization config rule. AWS Config sets the state of a rule to DELETE_IN_PROGRESS until the deletion is complete. You cannot update a rule while it is in this state. + +Required Parameters +{ + "OrganizationConfigRuleName": "The name of organization config rule that you want to delete." +} +""" +DeleteOrganizationConfigRule(args) = config_service("DeleteOrganizationConfigRule", args) + +""" + ListDiscoveredResources() + +Accepts a resource type and returns a list of resource identifiers for the resources of that type. A resource identifier includes the resource type, ID, and (if available) the custom resource name. The results consist of resources that AWS Config has discovered, including those that AWS Config is not currently recording. You can narrow the results to include only resources that have specific resource IDs or a resource name. You can specify either resource IDs or a resource name, but not both, in the same request. The response is paginated. By default, AWS Config lists 100 resource identifiers on each page. You can customize this number with the limit parameter. The response includes a nextToken string. To get the next page of results, run the request again and specify the string for the nextToken parameter. + +Required Parameters +{ + "resourceType": "The type of resources that you want AWS Config to list in the response." +} + +Optional Parameters +{ + "includeDeletedResources": "Specifies whether AWS Config includes deleted resources in the results. By default, deleted resources are not included.", + "resourceIds": "The IDs of only those resources that you want AWS Config to list in the response. If you do not specify this parameter, AWS Config lists all resources of the specified type that it has discovered.", + "nextToken": "The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.", + "resourceName": "The custom name of only those resources that you want AWS Config to list in the response. If you do not specify this parameter, AWS Config lists all resources of the specified type that it has discovered.", + "limit": "The maximum number of resource identifiers returned on each page. The default is 100. You cannot specify a number greater than 100. If you specify 0, AWS Config uses the default." +} +""" +ListDiscoveredResources(args) = config_service("ListDiscoveredResources", args) + +""" + DescribeOrganizationConformancePacks() + +Returns a list of organization conformance packs. When you specify the limit and the next token, you receive a paginated response. Limit and next token are not applicable if you specify organization conformance packs names. They are only applicable, when you request all the organization conformance packs. Only a master account can call this API. + +Optional Parameters +{ + "NextToken": "The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.", + "OrganizationConformancePackNames": "The name that you assign to an organization conformance pack.", + "Limit": "The maximum number of organization config packs returned on each page. If you do no specify a number, AWS Config uses the default. The default is 100." +} +""" +DescribeOrganizationConformancePacks() = config_service("DescribeOrganizationConformancePacks") +DescribeOrganizationConformancePacks(args) = config_service("DescribeOrganizationConformancePacks", args) + +""" + ListAggregateDiscoveredResources() + +Accepts a resource type and returns a list of resource identifiers that are aggregated for a specific resource type across accounts and regions. A resource identifier includes the resource type, ID, (if available) the custom resource name, source account, and source region. You can narrow the results to include only resources that have specific resource IDs, or a resource name, or source account ID, or source region. For example, if the input consists of accountID 12345678910 and the region is us-east-1 for resource type AWS::EC2::Instance then the API returns all the EC2 instance identifiers of accountID 12345678910 and region us-east-1. + +Required Parameters +{ + "ResourceType": "The type of resources that you want AWS Config to list in the response.", + "ConfigurationAggregatorName": "The name of the configuration aggregator. " +} + +Optional Parameters +{ + "NextToken": "The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.", + "Filters": "Filters the results based on the ResourceFilters object.", + "Limit": "The maximum number of resource identifiers returned on each page. The default is 100. You cannot specify a number greater than 100. If you specify 0, AWS Config uses the default." +} +""" +ListAggregateDiscoveredResources(args) = config_service("ListAggregateDiscoveredResources", args) + +""" + DeleteConformancePack() + +Deletes the specified conformance pack and all the AWS Config rules, remediation actions, and all evaluation results within that conformance pack. AWS Config sets the conformance pack to DELETE_IN_PROGRESS until the deletion is complete. You cannot update a conformance pack while it is in this state. + +Required Parameters +{ + "ConformancePackName": "Name of the conformance pack you want to delete." +} +""" +DeleteConformancePack(args) = config_service("DeleteConformancePack", args) + +""" + TagResource() + +Associates the specified tags to a resource with the specified resourceArn. If existing tags on a resource are not specified in the request parameters, they are not changed. When a resource is deleted, the tags associated with that resource are deleted as well. + +Required Parameters +{ + "ResourceArn": "The Amazon Resource Name (ARN) that identifies the resource for which to list the tags. Currently, the supported resources are ConfigRule, ConfigurationAggregator and AggregatorAuthorization.", + "Tags": "An array of tag object." +} +""" +TagResource(args) = config_service("TagResource", args) + +""" + PutConformancePack() + +Creates or updates a conformance pack. A conformance pack is a collection of AWS Config rules that can be easily deployed in an account and a region and across AWS Organization. This API creates a service linked role AWSServiceRoleForConfigConforms in your account. The service linked role is created only when the role does not exist in your account. AWS Config verifies the existence of role with GetRole action. You must specify either the TemplateS3Uri or the TemplateBody parameter, but not both. If you provide both AWS Config uses the TemplateS3Uri parameter and ignores the TemplateBody parameter. + +Required Parameters +{ + "DeliveryS3Bucket": "AWS Config stores intermediate files while processing conformance pack template.", + "ConformancePackName": "Name of the conformance pack you want to create." +} + +Optional Parameters +{ + "ConformancePackInputParameters": "A list of ConformancePackInputParameter objects.", + "TemplateBody": "A string containing full conformance pack template body. Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes. You can only use a YAML template with one resource type, that is, config rule and a remediation action. ", + "TemplateS3Uri": "Location of file containing the template body (s3://bucketname/prefix). The uri must point to the conformance pack template (max size: 300 KB) that is located in an Amazon S3 bucket in the same region as the conformance pack. You must have access to read Amazon S3 bucket. ", + "DeliveryS3KeyPrefix": "The prefix for the Amazon S3 bucket. " +} +""" +PutConformancePack(args) = config_service("PutConformancePack", args) + +""" + DescribeOrganizationConformancePackStatuses() + +Provides organization conformance pack deployment status for an organization. The status is not considered successful until organization conformance pack is successfully deployed in all the member accounts with an exception of excluded accounts. When you specify the limit and the next token, you receive a paginated response. Limit and next token are not applicable if you specify organization conformance pack names. They are only applicable, when you request all the organization conformance packs. Only a master account can call this API. + +Optional Parameters +{ + "NextToken": "The nextToken string returned on a previous page that you use to get the next page of results in a paginated response. ", + "OrganizationConformancePackNames": "The names of organization conformance packs for which you want status details. If you do not specify any names, AWS Config returns details for all your organization conformance packs. ", + "Limit": "The maximum number of OrganizationConformancePackStatuses returned on each page. If you do no specify a number, AWS Config uses the default. The default is 100. " +} +""" +DescribeOrganizationConformancePackStatuses() = config_service("DescribeOrganizationConformancePackStatuses") +DescribeOrganizationConformancePackStatuses(args) = config_service("DescribeOrganizationConformancePackStatuses", args) + +""" + DeleteConfigurationAggregator() + +Deletes the specified configuration aggregator and the aggregated data associated with the aggregator. + +Required Parameters +{ + "ConfigurationAggregatorName": "The name of the configuration aggregator." +} +""" +DeleteConfigurationAggregator(args) = config_service("DeleteConfigurationAggregator", args) + +""" + DescribeConfigurationRecorderStatus() + +Returns the current status of the specified configuration recorder. If a configuration recorder is not specified, this action returns the status of all configuration recorders associated with the account. Currently, you can specify only one configuration recorder per region in your account. + +Optional Parameters +{ + "ConfigurationRecorderNames": "The name(s) of the configuration recorder. If the name is not specified, the action returns the current status of all the configuration recorders associated with the account." +} +""" +DescribeConfigurationRecorderStatus() = config_service("DescribeConfigurationRecorderStatus") +DescribeConfigurationRecorderStatus(args) = config_service("DescribeConfigurationRecorderStatus", args) + +""" + SelectResourceConfig() + +Accepts a structured query language (SQL) SELECT command, performs the corresponding search, and returns resource configurations matching the properties. For more information about query components, see the Query Components section in the AWS Config Developer Guide. + +Required Parameters +{ + "Expression": "The SQL query SELECT command." +} + +Optional Parameters +{ + "NextToken": "The nextToken string returned in a previous request that you use to request the next page of results in a paginated response. ", + "Limit": "The maximum number of query results returned on each page. " +} +""" +SelectResourceConfig(args) = config_service("SelectResourceConfig", args) + +""" + DescribeConfigurationRecorders() + +Returns the details for the specified configuration recorders. If the configuration recorder is not specified, this action returns the details for all configuration recorders associated with the account. Currently, you can specify only one configuration recorder per region in your account. + +Optional Parameters +{ + "ConfigurationRecorderNames": "A list of configuration recorder names." +} +""" +DescribeConfigurationRecorders() = config_service("DescribeConfigurationRecorders") +DescribeConfigurationRecorders(args) = config_service("DescribeConfigurationRecorders", args) + +""" + GetDiscoveredResourceCounts() + +Returns the resource types, the number of each resource type, and the total number of resources that AWS Config is recording in this region for your AWS account. Example AWS Config is recording three resource types in the US East (Ohio) Region for your account: 25 EC2 instances, 20 IAM users, and 15 S3 buckets. You make a call to the GetDiscoveredResourceCounts action and specify that you want all resource types. AWS Config returns the following: The resource types (EC2 instances, IAM users, and S3 buckets). The number of each resource type (25, 20, and 15). The total number of all resources (60). The response is paginated. By default, AWS Config lists 100 ResourceCount objects on each page. You can customize this number with the limit parameter. The response includes a nextToken string. To get the next page of results, run the request again and specify the string for the nextToken parameter. If you make a call to the GetDiscoveredResourceCounts action, you might not immediately receive resource counts in the following situations: You are a new AWS Config customer. You just enabled resource recording. It might take a few minutes for AWS Config to record and count your resources. Wait a few minutes and then retry the GetDiscoveredResourceCounts action. + +Optional Parameters +{ + "resourceTypes": "The comma-separated list that specifies the resource types that you want AWS Config to return (for example, \"AWS::EC2::Instance\", \"AWS::IAM::User\"). If a value for resourceTypes is not specified, AWS Config returns all resource types that AWS Config is recording in the region for your account. If the configuration recorder is turned off, AWS Config returns an empty list of ResourceCount objects. If the configuration recorder is not recording a specific resource type (for example, S3 buckets), that resource type is not returned in the list of ResourceCount objects. ", + "nextToken": "The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.", + "limit": "The maximum number of ResourceCount objects returned on each page. The default is 100. You cannot specify a number greater than 100. If you specify 0, AWS Config uses the default." +} +""" +GetDiscoveredResourceCounts() = config_service("GetDiscoveredResourceCounts") +GetDiscoveredResourceCounts(args) = config_service("GetDiscoveredResourceCounts", args) + +""" + GetAggregateResourceConfig() + +Returns configuration item that is aggregated for your specific resource in a specific source account and region. + +Required Parameters +{ + "ConfigurationAggregatorName": "The name of the configuration aggregator.", + "ResourceIdentifier": "An object that identifies aggregate resource." +} +""" +GetAggregateResourceConfig(args) = config_service("GetAggregateResourceConfig", args) + +""" + DescribeDeliveryChannelStatus() + +Returns the current status of the specified delivery channel. If a delivery channel is not specified, this action returns the current status of all delivery channels associated with the account. Currently, you can specify only one delivery channel per region in your account. + +Optional Parameters +{ + "DeliveryChannelNames": "A list of delivery channel names." +} +""" +DescribeDeliveryChannelStatus() = config_service("DescribeDeliveryChannelStatus") +DescribeDeliveryChannelStatus(args) = config_service("DescribeDeliveryChannelStatus", args) + +""" + DescribeAggregateComplianceByConfigRules() + +Returns a list of compliant and noncompliant rules with the number of resources for compliant and noncompliant rules. The results can return an empty result page, but if you have a nextToken, the results are displayed on the next page. + +Required Parameters +{ + "ConfigurationAggregatorName": "The name of the configuration aggregator." +} + +Optional Parameters +{ + "NextToken": "The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.", + "Filters": "Filters the results by ConfigRuleComplianceFilters object. ", + "Limit": "The maximum number of evaluation results returned on each page. The default is maximum. If you specify 0, AWS Config uses the default." +} +""" +DescribeAggregateComplianceByConfigRules(args) = config_service("DescribeAggregateComplianceByConfigRules", args) + +""" + DescribeDeliveryChannels() + +Returns details about the specified delivery channel. If a delivery channel is not specified, this action returns the details of all delivery channels associated with the account. Currently, you can specify only one delivery channel per region in your account. + +Optional Parameters +{ + "DeliveryChannelNames": "A list of delivery channel names." +} +""" +DescribeDeliveryChannels() = config_service("DescribeDeliveryChannels") +DescribeDeliveryChannels(args) = config_service("DescribeDeliveryChannels", args) + +""" + PutOrganizationConformancePack() + +Deploys conformance packs across member accounts in an AWS Organization. This API enables organization service access for config-multiaccountsetup.amazonaws.com through the EnableAWSServiceAccess action and creates a service linked role AWSServiceRoleForConfigMultiAccountSetup in the master account of your organization. The service linked role is created only when the role does not exist in the master account. AWS Config verifies the existence of role with GetRole action. You must specify either the TemplateS3Uri or the TemplateBody parameter, but not both. If you provide both AWS Config uses the TemplateS3Uri parameter and ignores the TemplateBody parameter. AWS Config sets the state of a conformance pack to CREATE_IN_PROGRESS and UPDATE_IN_PROGRESS until the confomance pack is created or updated. You cannot update a conformance pack while it is in this state. You can create 6 conformance packs with 25 AWS Config rules in each pack. + +Required Parameters +{ + "OrganizationConformancePackName": "Name of the organization conformance pack you want to create.", + "DeliveryS3Bucket": "Location of an Amazon S3 bucket where AWS Config can deliver evaluation results. AWS Config stores intermediate files while processing conformance pack template. The delivery bucket name should start with awsconfigconforms. For example: \"Resource\": \"arn:aws:s3:::your_bucket_name/*\". For more information, see Permissions for cross account bucket access." +} + +Optional Parameters +{ + "ConformancePackInputParameters": "A list of ConformancePackInputParameter objects.", + "TemplateBody": "A string containing full conformance pack template body. Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes.", + "TemplateS3Uri": "Location of file containing the template body. The uri must point to the conformance pack template (max size: 300 KB). You must have access to read Amazon S3 bucket. ", + "DeliveryS3KeyPrefix": "The prefix for the Amazon S3 bucket.", + "ExcludedAccounts": "A list of AWS accounts to be excluded from an organization conformance pack while deploying a conformance pack." +} +""" +PutOrganizationConformancePack(args) = config_service("PutOrganizationConformancePack", args) + +""" + GetComplianceSummaryByConfigRule() + +Returns the number of AWS Config rules that are compliant and noncompliant, up to a maximum of 25 for each. +""" +GetComplianceSummaryByConfigRule() = config_service("GetComplianceSummaryByConfigRule") +GetComplianceSummaryByConfigRule(args) = config_service("GetComplianceSummaryByConfigRule", args) + +""" + StartRemediationExecution() + +Runs an on-demand remediation for the specified AWS Config rules against the last known remediation configuration. It runs an execution against the current state of your resources. Remediation execution is asynchronous. You can specify up to 100 resource keys per request. An existing StartRemediationExecution call for the specified resource keys must complete before you can call the API again. + +Required Parameters +{ + "ConfigRuleName": "The list of names of AWS Config rules that you want to run remediation execution for.", + "ResourceKeys": "A list of resource keys to be processed with the current request. Each element in the list consists of the resource type and resource ID. " +} +""" +StartRemediationExecution(args) = config_service("StartRemediationExecution", args) + +""" + DescribeOrganizationConfigRules() + +Returns a list of organization config rules. When you specify the limit and the next token, you receive a paginated response. Limit and next token are not applicable if you specify organization config rule names. It is only applicable, when you request all the organization config rules. Only a master account can call this API. + +Optional Parameters +{ + "NextToken": "The nextToken string returned on a previous page that you use to get the next page of results in a paginated response. ", + "OrganizationConfigRuleNames": "The names of organization config rules for which you want details. If you do not specify any names, AWS Config returns details for all your organization config rules.", + "Limit": "The maximum number of organization config rules returned on each page. If you do no specify a number, AWS Config uses the default. The default is 100." +} +""" +DescribeOrganizationConfigRules() = config_service("DescribeOrganizationConfigRules") +DescribeOrganizationConfigRules(args) = config_service("DescribeOrganizationConfigRules", args) + +""" + PutAggregationAuthorization() + +Authorizes the aggregator account and region to collect data from the source account and region. + +Required Parameters +{ + "AuthorizedAwsRegion": "The region authorized to collect aggregated data.", + "AuthorizedAccountId": "The 12-digit account ID of the account authorized to aggregate data." +} + +Optional Parameters +{ + "Tags": "An array of tag object." +} +""" +PutAggregationAuthorization(args) = config_service("PutAggregationAuthorization", args) + +""" + PutEvaluations() + +Used by an AWS Lambda function to deliver evaluation results to AWS Config. This action is required in every AWS Lambda function that is invoked by an AWS Config rule. + +Required Parameters +{ + "ResultToken": "An encrypted token that associates an evaluation with an AWS Config rule. Identifies the rule and the event that triggered the evaluation." +} + +Optional Parameters +{ + "TestMode": "Use this parameter to specify a test run for PutEvaluations. You can verify whether your AWS Lambda function will deliver evaluation results to AWS Config. No updates occur to your existing evaluations, and evaluation results are not sent to AWS Config. When TestMode is true, PutEvaluations doesn't require a valid value for the ResultToken parameter, but the value cannot be null. ", + "Evaluations": "The assessments that the AWS Lambda function performs. Each evaluation identifies an AWS resource and indicates whether it complies with the AWS Config rule that invokes the AWS Lambda function." +} +""" +PutEvaluations(args) = config_service("PutEvaluations", args) + +""" + DeleteDeliveryChannel() + +Deletes the delivery channel. Before you can delete the delivery channel, you must stop the configuration recorder by using the StopConfigurationRecorder action. + +Required Parameters +{ + "DeliveryChannelName": "The name of the delivery channel to delete." +} +""" +DeleteDeliveryChannel(args) = config_service("DeleteDeliveryChannel", args) + +""" + StopConfigurationRecorder() + +Stops recording configurations of the AWS resources you have selected to record in your AWS account. + +Required Parameters +{ + "ConfigurationRecorderName": "The name of the recorder object that records each configuration change made to the resources." +} +""" +StopConfigurationRecorder(args) = config_service("StopConfigurationRecorder", args) + +""" + PutRemediationConfigurations() + +Adds or updates the remediation configuration with a specific AWS Config rule with the selected target or action. The API creates the RemediationConfiguration object for the AWS Config rule. The AWS Config rule must already exist for you to add a remediation configuration. The target (SSM document) must exist and have permissions to use the target. + +Required Parameters +{ + "RemediationConfigurations": "A list of remediation configuration objects." +} +""" +PutRemediationConfigurations(args) = config_service("PutRemediationConfigurations", args) + +""" + UntagResource() + +Deletes specified tags from a resource. + +Required Parameters +{ + "ResourceArn": "The Amazon Resource Name (ARN) that identifies the resource for which to list the tags. Currently, the supported resources are ConfigRule, ConfigurationAggregator and AggregatorAuthorization.", + "TagKeys": "The keys of the tags to be removed." +} +""" +UntagResource(args) = config_service("UntagResource", args) + +""" + GetAggregateComplianceDetailsByConfigRule() + +Returns the evaluation results for the specified AWS Config rule for a specific resource in a rule. The results indicate which AWS resources were evaluated by the rule, when each resource was last evaluated, and whether each resource complies with the rule. The results can return an empty result page. But if you have a nextToken, the results are displayed on the next page. + +Required Parameters +{ + "ConfigRuleName": "The name of the AWS Config rule for which you want compliance information.", + "AccountId": "The 12-digit account ID of the source account.", + "AwsRegion": "The source region from where the data is aggregated.", + "ConfigurationAggregatorName": "The name of the configuration aggregator." +} + +Optional Parameters +{ + "NextToken": "The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.", + "ComplianceType": "The resource compliance status. For the GetAggregateComplianceDetailsByConfigRuleRequest data type, AWS Config supports only the COMPLIANT and NON_COMPLIANT. AWS Config does not support the NOT_APPLICABLE and INSUFFICIENT_DATA values. ", + "Limit": "The maximum number of evaluation results returned on each page. The default is 50. You cannot specify a number greater than 100. If you specify 0, AWS Config uses the default." +} +""" +GetAggregateComplianceDetailsByConfigRule(args) = config_service("GetAggregateComplianceDetailsByConfigRule", args) + +""" + DescribeConfigRuleEvaluationStatus() + +Returns status information for each of your AWS managed Config rules. The status includes information such as the last time AWS Config invoked the rule, the last time AWS Config failed to invoke the rule, and the related error for the last failure. + +Optional Parameters +{ + "NextToken": "The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.", + "Limit": "The number of rule evaluation results that you want returned. This parameter is required if the rule limit for your account is more than the default of 150 rules. For information about requesting a rule limit increase, see AWS Config Limits in the AWS General Reference Guide.", + "ConfigRuleNames": "The name of the AWS managed Config rules for which you want status information. If you do not specify any names, AWS Config returns status information for all AWS managed Config rules that you use." +} +""" +DescribeConfigRuleEvaluationStatus() = config_service("DescribeConfigRuleEvaluationStatus") +DescribeConfigRuleEvaluationStatus(args) = config_service("DescribeConfigRuleEvaluationStatus", args) + +""" + DescribeOrganizationConfigRuleStatuses() + +Provides organization config rule deployment status for an organization. The status is not considered successful until organization config rule is successfully deployed in all the member accounts with an exception of excluded accounts. When you specify the limit and the next token, you receive a paginated response. Limit and next token are not applicable if you specify organization config rule names. It is only applicable, when you request all the organization config rules. Only a master account can call this API. + +Optional Parameters +{ + "NextToken": "The nextToken string returned on a previous page that you use to get the next page of results in a paginated response. ", + "OrganizationConfigRuleNames": "The names of organization config rules for which you want status details. If you do not specify any names, AWS Config returns details for all your organization AWS Confg rules.", + "Limit": "The maximum number of OrganizationConfigRuleStatuses returned on each page. If you do no specify a number, AWS Config uses the default. The default is 100." +} +""" +DescribeOrganizationConfigRuleStatuses() = config_service("DescribeOrganizationConfigRuleStatuses") +DescribeOrganizationConfigRuleStatuses(args) = config_service("DescribeOrganizationConfigRuleStatuses", args) + +""" + PutRemediationExceptions() + +A remediation exception is when a specific resource is no longer considered for auto-remediation. This API adds a new exception or updates an exisiting exception for a specific resource with a specific AWS Config rule. + +Required Parameters +{ + "ConfigRuleName": "The name of the AWS Config rule for which you want to create remediation exception.", + "ResourceKeys": "An exception list of resource exception keys to be processed with the current request. AWS Config adds exception for each resource key. For example, AWS Config adds 3 exceptions for 3 resource keys. " +} + +Optional Parameters +{ + "Message": "The message contains an explanation of the exception.", + "ExpirationTime": "The exception is automatically deleted after the expiration date." +} +""" +PutRemediationExceptions(args) = config_service("PutRemediationExceptions", args) + +""" + DeliverConfigSnapshot() + +Schedules delivery of a configuration snapshot to the Amazon S3 bucket in the specified delivery channel. After the delivery has started, AWS Config sends the following notifications using an Amazon SNS topic that you have specified. Notification of the start of the delivery. Notification of the completion of the delivery, if the delivery was successfully completed. Notification of delivery failure, if the delivery failed. + +Required Parameters +{ + "deliveryChannelName": "The name of the delivery channel through which the snapshot is delivered." +} +""" +DeliverConfigSnapshot(args) = config_service("DeliverConfigSnapshot", args) + +""" + DeleteAggregationAuthorization() + +Deletes the authorization granted to the specified configuration aggregator account in a specified region. + +Required Parameters +{ + "AuthorizedAwsRegion": "The region authorized to collect aggregated data.", + "AuthorizedAccountId": "The 12-digit account ID of the account authorized to aggregate data." +} +""" +DeleteAggregationAuthorization(args) = config_service("DeleteAggregationAuthorization", args) + +""" + PutRetentionConfiguration() + +Creates and updates the retention configuration with details about retention period (number of days) that AWS Config stores your historical information. The API creates the RetentionConfiguration object and names the object as default. When you have a RetentionConfiguration object named default, calling the API modifies the default object. Currently, AWS Config supports only one retention configuration per region in your account. + +Required Parameters +{ + "RetentionPeriodInDays": "Number of days AWS Config stores your historical information. Currently, only applicable to the configuration item history. " +} +""" +PutRetentionConfiguration(args) = config_service("PutRetentionConfiguration", args) + +""" + DeleteRemediationConfiguration() + +Deletes the remediation configuration. + +Required Parameters +{ + "ConfigRuleName": "The name of the AWS Config rule for which you want to delete remediation configuration." +} + +Optional Parameters +{ + "ResourceType": "The type of a resource." +} +""" +DeleteRemediationConfiguration(args) = config_service("DeleteRemediationConfiguration", args) + +""" + BatchGetAggregateResourceConfig() + +Returns the current configuration items for resources that are present in your AWS Config aggregator. The operation also returns a list of resources that are not processed in the current request. If there are no unprocessed resources, the operation returns an empty unprocessedResourceIdentifiers list. The API does not return results for deleted resources. The API does not return tags and relationships. + +Required Parameters +{ + "ResourceIdentifiers": "A list of aggregate ResourceIdentifiers objects. ", + "ConfigurationAggregatorName": "The name of the configuration aggregator." +} +""" +BatchGetAggregateResourceConfig(args) = config_service("BatchGetAggregateResourceConfig", args) + +""" + DeleteRetentionConfiguration() + +Deletes the retention configuration. + +Required Parameters +{ + "RetentionConfigurationName": "The name of the retention configuration to delete." +} +""" +DeleteRetentionConfiguration(args) = config_service("DeleteRetentionConfiguration", args) + +""" + ListTagsForResource() + +List the tags for AWS Config resource. + +Required Parameters +{ + "ResourceArn": "The Amazon Resource Name (ARN) that identifies the resource for which to list the tags. Currently, the supported resources are ConfigRule, ConfigurationAggregator and AggregatorAuthorization." +} + +Optional Parameters +{ + "NextToken": "The nextToken string returned on a previous page that you use to get the next page of results in a paginated response. ", + "Limit": "The maximum number of tags returned on each page. The limit maximum is 50. You cannot specify a number greater than 50. If you specify 0, AWS Config uses the default. " +} +""" +ListTagsForResource(args) = config_service("ListTagsForResource", args) + +""" + SelectAggregateResourceConfig() + +Accepts a structured query language (SQL) SELECT command and an aggregator to query configuration state of AWS resources across multiple accounts and regions, performs the corresponding search, and returns resource configurations matching the properties. For more information about query components, see the Query Components section in the AWS Config Developer Guide. + +Required Parameters +{ + "Expression": "The SQL query SELECT command. ", + "ConfigurationAggregatorName": "The name of the configuration aggregator." +} + +Optional Parameters +{ + "MaxResults": "", + "NextToken": "The nextToken string returned in a previous request that you use to request the next page of results in a paginated response. ", + "Limit": "The maximum number of query results returned on each page. " +} +""" +SelectAggregateResourceConfig(args) = config_service("SelectAggregateResourceConfig", args) + +""" + GetComplianceDetailsByResource() + +Returns the evaluation results for the specified AWS resource. The results indicate which AWS Config rules were used to evaluate the resource, when each rule was last used, and whether the resource complies with each rule. + +Required Parameters +{ + "ResourceType": "The type of the AWS resource for which you want compliance information.", + "ResourceId": "The ID of the AWS resource for which you want compliance information." +} + +Optional Parameters +{ + "NextToken": "The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.", + "ComplianceTypes": "Filters the results by compliance. The allowed values are COMPLIANT, NON_COMPLIANT, and NOT_APPLICABLE." +} +""" +GetComplianceDetailsByResource(args) = config_service("GetComplianceDetailsByResource", args) + +""" + DescribeRemediationConfigurations() + +Returns the details of one or more remediation configurations. + +Required Parameters +{ + "ConfigRuleNames": "A list of AWS Config rule names of remediation configurations for which you want details. " +} +""" +DescribeRemediationConfigurations(args) = config_service("DescribeRemediationConfigurations", args) + +""" + DeletePendingAggregationRequest() + +Deletes pending authorization requests for a specified aggregator account in a specified region. + +Required Parameters +{ + "RequesterAwsRegion": "The region requesting to aggregate data.", + "RequesterAccountId": "The 12-digit account ID of the account requesting to aggregate data." +} +""" +DeletePendingAggregationRequest(args) = config_service("DeletePendingAggregationRequest", args) + +""" + DeleteResourceConfig() + +Records the configuration state for a custom resource that has been deleted. This API records a new ConfigurationItem with a ResourceDeleted status. You can retrieve the ConfigurationItems recorded for this resource in your AWS Config History. + +Required Parameters +{ + "ResourceType": "The type of the resource.", + "ResourceId": "Unique identifier of the resource." +} +""" +DeleteResourceConfig(args) = config_service("DeleteResourceConfig", args) + +""" + DescribeConfigRules() + +Returns details about your AWS Config rules. + +Optional Parameters +{ + "NextToken": "The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.", + "ConfigRuleNames": "The names of the AWS Config rules for which you want details. If you do not specify any names, AWS Config returns details for all your rules." +} +""" +DescribeConfigRules() = config_service("DescribeConfigRules") +DescribeConfigRules(args) = config_service("DescribeConfigRules", args) + +""" + GetAggregateConfigRuleComplianceSummary() + +Returns the number of compliant and noncompliant rules for one or more accounts and regions in an aggregator. The results can return an empty result page, but if you have a nextToken, the results are displayed on the next page. + +Required Parameters +{ + "ConfigurationAggregatorName": "The name of the configuration aggregator." +} + +Optional Parameters +{ + "GroupByKey": "Groups the result based on ACCOUNT_ID or AWS_REGION.", + "NextToken": "The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.", + "Filters": "Filters the results based on the ConfigRuleComplianceSummaryFilters object.", + "Limit": "The maximum number of evaluation results returned on each page. The default is 1000. You cannot specify a number greater than 1000. If you specify 0, AWS Config uses the default." +} +""" +GetAggregateConfigRuleComplianceSummary(args) = config_service("GetAggregateConfigRuleComplianceSummary", args) + +""" + DescribeRemediationExceptions() + +Returns the details of one or more remediation exceptions. A detailed view of a remediation exception for a set of resources that includes an explanation of an exception and the time when the exception will be deleted. When you specify the limit and the next token, you receive a paginated response. When you specify the limit and the next token, you receive a paginated response. Limit and next token are not applicable if you request resources in batch. It is only applicable, when you request all resources. + +Required Parameters +{ + "ConfigRuleName": "The name of the AWS Config rule." +} + +Optional Parameters +{ + "NextToken": "The nextToken string returned in a previous request that you use to request the next page of results in a paginated response.", + "ResourceKeys": "An exception list of resource exception keys to be processed with the current request. AWS Config adds exception for each resource key. For example, AWS Config adds 3 exceptions for 3 resource keys. ", + "Limit": "The maximum number of RemediationExceptionResourceKey returned on each page. The default is 25. If you specify 0, AWS Config uses the default." +} +""" +DescribeRemediationExceptions(args) = config_service("DescribeRemediationExceptions", args) + +""" + GetOrganizationConfigRuleDetailedStatus() + +Returns detailed status for each member account within an organization for a given organization config rule. Only a master account can call this API. + +Required Parameters +{ + "OrganizationConfigRuleName": "The name of organization config rule for which you want status details for member accounts." +} + +Optional Parameters +{ + "NextToken": "The nextToken string returned on a previous page that you use to get the next page of results in a paginated response. ", + "Filters": "A StatusDetailFilters object.", + "Limit": "The maximum number of OrganizationConfigRuleDetailedStatus returned on each page. If you do not specify a number, AWS Config uses the default. The default is 100." +} +""" +GetOrganizationConfigRuleDetailedStatus(args) = config_service("GetOrganizationConfigRuleDetailedStatus", args) + +""" + DescribeComplianceByResource() + +Indicates whether the specified AWS resources are compliant. If a resource is noncompliant, this action returns the number of AWS Config rules that the resource does not comply with. A resource is compliant if it complies with all the AWS Config rules that evaluate it. It is noncompliant if it does not comply with one or more of these rules. If AWS Config has no current evaluation results for the resource, it returns INSUFFICIENT_DATA. This result might indicate one of the following conditions about the rules that evaluate the resource: AWS Config has never invoked an evaluation for the rule. To check whether it has, use the DescribeConfigRuleEvaluationStatus action to get the LastSuccessfulInvocationTime and LastFailedInvocationTime. The rule's AWS Lambda function is failing to send evaluation results to AWS Config. Verify that the role that you assigned to your configuration recorder includes the config:PutEvaluations permission. If the rule is a custom rule, verify that the AWS Lambda execution role includes the config:PutEvaluations permission. The rule's AWS Lambda function has returned NOT_APPLICABLE for all evaluation results. This can occur if the resources were deleted or removed from the rule's scope. + +Optional Parameters +{ + "NextToken": "The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.", + "ComplianceTypes": "Filters the results by compliance. The allowed values are COMPLIANT, NON_COMPLIANT, and INSUFFICIENT_DATA.", + "ResourceType": "The types of AWS resources for which you want compliance information (for example, AWS::EC2::Instance). For this action, you can specify that the resource type is an AWS account by specifying AWS::::Account.", + "ResourceId": "The ID of the AWS resource for which you want compliance information. You can specify only one resource ID. If you specify a resource ID, you must also specify a type for ResourceType.", + "Limit": "The maximum number of evaluation results returned on each page. The default is 10. You cannot specify a number greater than 100. If you specify 0, AWS Config uses the default." +} +""" +DescribeComplianceByResource() = config_service("DescribeComplianceByResource") +DescribeComplianceByResource(args) = config_service("DescribeComplianceByResource", args) + +""" + PutConfigurationRecorder() + +Creates a new configuration recorder to record the selected resource configurations. You can use this action to change the role roleARN or the recordingGroup of an existing recorder. To change the role, call the action on the existing configuration recorder and specify a role. Currently, you can specify only one configuration recorder per region in your account. If ConfigurationRecorder does not have the recordingGroup parameter specified, the default is to record all supported resource types. + +Required Parameters +{ + "ConfigurationRecorder": "The configuration recorder object that records each configuration change made to the resources." +} +""" +PutConfigurationRecorder(args) = config_service("PutConfigurationRecorder", args) + +""" + GetAggregateDiscoveredResourceCounts() + +Returns the resource counts across accounts and regions that are present in your AWS Config aggregator. You can request the resource counts by providing filters and GroupByKey. For example, if the input contains accountID 12345678910 and region us-east-1 in filters, the API returns the count of resources in account ID 12345678910 and region us-east-1. If the input contains ACCOUNT_ID as a GroupByKey, the API returns resource counts for all source accounts that are present in your aggregator. + +Required Parameters +{ + "ConfigurationAggregatorName": "The name of the configuration aggregator." +} + +Optional Parameters +{ + "GroupByKey": "The key to group the resource counts.", + "NextToken": "The nextToken string returned on a previous page that you use to get the next page of results in a paginated response. ", + "Filters": "Filters the results based on the ResourceCountFilters object.", + "Limit": "The maximum number of GroupedResourceCount objects returned on each page. The default is 1000. You cannot specify a number greater than 1000. If you specify 0, AWS Config uses the default." +} +""" +GetAggregateDiscoveredResourceCounts(args) = config_service("GetAggregateDiscoveredResourceCounts", args) + +""" + GetConformancePackComplianceSummary() + +Returns compliance details for the conformance pack based on the cumulative compliance results of all the rules in that conformance pack. + +Required Parameters +{ + "ConformancePackNames": "Names of conformance packs." +} + +Optional Parameters +{ + "NextToken": "The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.", + "Limit": "The maximum number of conformance packs returned on each page." +} +""" +GetConformancePackComplianceSummary(args) = config_service("GetConformancePackComplianceSummary", args) + +""" + DescribeRetentionConfigurations() + +Returns the details of one or more retention configurations. If the retention configuration name is not specified, this action returns the details for all the retention configurations for that account. Currently, AWS Config supports only one retention configuration per region in your account. + +Optional Parameters +{ + "NextToken": "The nextToken string returned on a previous page that you use to get the next page of results in a paginated response. ", + "RetentionConfigurationNames": "A list of names of retention configurations for which you want details. If you do not specify a name, AWS Config returns details for all the retention configurations for that account. Currently, AWS Config supports only one retention configuration per region in your account. " +} +""" +DescribeRetentionConfigurations() = config_service("DescribeRetentionConfigurations") +DescribeRetentionConfigurations(args) = config_service("DescribeRetentionConfigurations", args) + +""" + StartConfigRulesEvaluation() + +Runs an on-demand evaluation for the specified AWS Config rules against the last known configuration state of the resources. Use StartConfigRulesEvaluation when you want to test that a rule you updated is working as expected. StartConfigRulesEvaluation does not re-record the latest configuration state for your resources. It re-runs an evaluation against the last known state of your resources. You can specify up to 25 AWS Config rules per request. An existing StartConfigRulesEvaluation call for the specified rules must complete before you can call the API again. If you chose to have AWS Config stream to an Amazon SNS topic, you will receive a ConfigRuleEvaluationStarted notification when the evaluation starts. You don't need to call the StartConfigRulesEvaluation API to run an evaluation for a new rule. When you create a rule, AWS Config evaluates your resources against the rule automatically. The StartConfigRulesEvaluation API is useful if you want to run on-demand evaluations, such as the following example: You have a custom rule that evaluates your IAM resources every 24 hours. You update your Lambda function to add additional conditions to your rule. Instead of waiting for the next periodic evaluation, you call the StartConfigRulesEvaluation API. AWS Config invokes your Lambda function and evaluates your IAM resources. Your custom rule will still run periodic evaluations every 24 hours. + +Optional Parameters +{ + "ConfigRuleNames": "The list of names of AWS Config rules that you want to run evaluations for." +} +""" +StartConfigRulesEvaluation() = config_service("StartConfigRulesEvaluation") +StartConfigRulesEvaluation(args) = config_service("StartConfigRulesEvaluation", args) + +""" + DescribeRemediationExecutionStatus() + +Provides a detailed view of a Remediation Execution for a set of resources including state, timestamps for when steps for the remediation execution occur, and any error messages for steps that have failed. When you specify the limit and the next token, you receive a paginated response. + +Required Parameters +{ + "ConfigRuleName": "A list of AWS Config rule names." +} + +Optional Parameters +{ + "NextToken": "The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.", + "ResourceKeys": "A list of resource keys to be processed with the current request. Each element in the list consists of the resource type and resource ID. ", + "Limit": "The maximum number of RemediationExecutionStatuses returned on each page. The default is maximum. If you specify 0, AWS Config uses the default. " +} +""" +DescribeRemediationExecutionStatus(args) = config_service("DescribeRemediationExecutionStatus", args) + +""" + DescribeConformancePackStatus() + +Provides one or more conformance packs deployment status. If there are no conformance packs then you will see an empty result. + +Optional Parameters +{ + "NextToken": "The nextToken string returned in a previous request that you use to request the next page of results in a paginated response.", + "Limit": "The maximum number of conformance packs status returned on each page.", + "ConformancePackNames": "Comma-separated list of conformance pack names." +} +""" +DescribeConformancePackStatus() = config_service("DescribeConformancePackStatus") +DescribeConformancePackStatus(args) = config_service("DescribeConformancePackStatus", args) + +""" + DeleteEvaluationResults() + +Deletes the evaluation results for the specified AWS Config rule. You can specify one AWS Config rule per request. After you delete the evaluation results, you can call the StartConfigRulesEvaluation API to start evaluating your AWS resources against the rule. + +Required Parameters +{ + "ConfigRuleName": "The name of the AWS Config rule for which you want to delete the evaluation results." +} +""" +DeleteEvaluationResults(args) = config_service("DeleteEvaluationResults", args) + +""" + DescribeConfigurationAggregators() + +Returns the details of one or more configuration aggregators. If the configuration aggregator is not specified, this action returns the details for all the configuration aggregators associated with the account. + +Optional Parameters +{ + "NextToken": "The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.", + "ConfigurationAggregatorNames": "The name of the configuration aggregators.", + "Limit": "The maximum number of configuration aggregators returned on each page. The default is maximum. If you specify 0, AWS Config uses the default." +} +""" +DescribeConfigurationAggregators() = config_service("DescribeConfigurationAggregators") +DescribeConfigurationAggregators(args) = config_service("DescribeConfigurationAggregators", args) + +""" + PutResourceConfig() + +Records the configuration state for the resource provided in the request. The configuration state of a resource is represented in AWS Config as Configuration Items. Once this API records the configuration item, you can retrieve the list of configuration items for the custom resource type using existing AWS Config APIs. The custom resource type must be registered with AWS CloudFormation. This API accepts the configuration item registered with AWS CloudFormation. When you call this API, AWS Config only stores configuration state of the resource provided in the request. This API does not change or remediate the configuration of the resource. + +Required Parameters +{ + "Configuration": "The configuration object of the resource in valid JSON format. It must match the schema registered with AWS CloudFormation. The configuration JSON must not exceed 64 KB. ", + "ResourceType": "The type of the resource. The custom resource type must be registered with AWS CloudFormation. You cannot use the organization names “aws”, “amzn”, “amazon”, “alexa”, “custom” with custom resource types. It is the first part of the ResourceType up to the first ::. ", + "ResourceId": "Unique identifier of the resource.", + "SchemaVersionId": "Version of the schema registered for the ResourceType in AWS CloudFormation." +} + +Optional Parameters +{ + "Tags": "Tags associated with the resource.", + "ResourceName": "Name of the resource." +} +""" +PutResourceConfig(args) = config_service("PutResourceConfig", args) + +""" + DeleteRemediationExceptions() + +Deletes one or more remediation exceptions mentioned in the resource keys. + +Required Parameters +{ + "ConfigRuleName": "The name of the AWS Config rule for which you want to delete remediation exception configuration.", + "ResourceKeys": "An exception list of resource exception keys to be processed with the current request. AWS Config adds exception for each resource key. For example, AWS Config adds 3 exceptions for 3 resource keys. " +} +""" +DeleteRemediationExceptions(args) = config_service("DeleteRemediationExceptions", args) + +""" + DeleteOrganizationConformancePack() + +Deletes the specified organization conformance pack and all of the config rules and remediation actions from all member accounts in that organization. Only a master account can delete an organization conformance pack. AWS Config sets the state of a conformance pack to DELETE_IN_PROGRESS until the deletion is complete. You cannot update a conformance pack while it is in this state. + +Required Parameters +{ + "OrganizationConformancePackName": "The name of organization conformance pack that you want to delete." +} +""" +DeleteOrganizationConformancePack(args) = config_service("DeleteOrganizationConformancePack", args) + +""" + StartConfigurationRecorder() + +Starts recording configurations of the AWS resources you have selected to record in your AWS account. You must have created at least one delivery channel to successfully start the configuration recorder. + +Required Parameters +{ + "ConfigurationRecorderName": "The name of the recorder object that records each configuration change made to the resources." +} +""" +StartConfigurationRecorder(args) = config_service("StartConfigurationRecorder", args) + +""" + DeleteConfigRule() + +Deletes the specified AWS Config rule and all of its evaluation results. AWS Config sets the state of a rule to DELETING until the deletion is complete. You cannot update a rule while it is in this state. If you make a PutConfigRule or DeleteConfigRule request for the rule, you will receive a ResourceInUseException. You can check the state of a rule by using the DescribeConfigRules request. + +Required Parameters +{ + "ConfigRuleName": "The name of the AWS Config rule that you want to delete." +} +""" +DeleteConfigRule(args) = config_service("DeleteConfigRule", args) + +""" + GetResourceConfigHistory() + +Returns a list of configuration items for the specified resource. The list contains details about each state of the resource during the specified time interval. If you specified a retention period to retain your ConfigurationItems between a minimum of 30 days and a maximum of 7 years (2557 days), AWS Config returns the ConfigurationItems for the specified retention period. The response is paginated. By default, AWS Config returns a limit of 10 configuration items per page. You can customize this number with the limit parameter. The response includes a nextToken string. To get the next page of results, run the request again and specify the string for the nextToken parameter. Each call to the API is limited to span a duration of seven days. It is likely that the number of records returned is smaller than the specified limit. In such cases, you can make another call, using the nextToken. + +Required Parameters +{ + "resourceId": "The ID of the resource (for example., sg-xxxxxx).", + "resourceType": "The resource type." +} + +Optional Parameters +{ + "laterTime": "The time stamp that indicates a later time. If not specified, current time is taken.", + "earlierTime": "The time stamp that indicates an earlier time. If not specified, the action returns paginated results that contain configuration items that start when the first configuration item was recorded.", + "nextToken": "The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.", + "chronologicalOrder": "The chronological order for configuration items listed. By default, the results are listed in reverse chronological order.", + "limit": "The maximum number of configuration items returned on each page. The default is 10. You cannot specify a number greater than 100. If you specify 0, AWS Config uses the default." +} +""" +GetResourceConfigHistory(args) = config_service("GetResourceConfigHistory", args) + +""" + GetComplianceSummaryByResourceType() + +Returns the number of resources that are compliant and the number that are noncompliant. You can specify one or more resource types to get these numbers for each resource type. The maximum number returned is 100. + +Optional Parameters +{ + "ResourceTypes": "Specify one or more resource types to get the number of resources that are compliant and the number that are noncompliant for each resource type. For this request, you can specify an AWS resource type such as AWS::EC2::Instance. You can specify that the resource type is an AWS account by specifying AWS::::Account." +} +""" +GetComplianceSummaryByResourceType() = config_service("GetComplianceSummaryByResourceType") +GetComplianceSummaryByResourceType(args) = config_service("GetComplianceSummaryByResourceType", args) + +""" + DescribeConformancePackCompliance() + +Returns compliance details for each rule in that conformance pack. You must provide exact rule names. + +Required Parameters +{ + "ConformancePackName": "Name of the conformance pack." +} + +Optional Parameters +{ + "NextToken": "The nextToken string returned in a previous request that you use to request the next page of results in a paginated response.", + "Filters": "A ConformancePackComplianceFilters object.", + "Limit": "The maximum number of AWS Config rules within a conformance pack are returned on each page." +} +""" +DescribeConformancePackCompliance(args) = config_service("DescribeConformancePackCompliance", args) + +""" + PutOrganizationConfigRule() + +Adds or updates organization config rule for your entire organization evaluating whether your AWS resources comply with your desired configurations. Only a master account can create or update an organization config rule. This API enables organization service access through the EnableAWSServiceAccess action and creates a service linked role AWSServiceRoleForConfigMultiAccountSetup in the master account of your organization. The service linked role is created only when the role does not exist in the master account. AWS Config verifies the existence of role with GetRole action. You can use this action to create both custom AWS Config rules and AWS managed Config rules. If you are adding a new custom AWS Config rule, you must first create AWS Lambda function in the master account that the rule invokes to evaluate your resources. When you use the PutOrganizationConfigRule action to add the rule to AWS Config, you must specify the Amazon Resource Name (ARN) that AWS Lambda assigns to the function. If you are adding an AWS managed Config rule, specify the rule's identifier for the RuleIdentifier key. The maximum number of organization config rules that AWS Config supports is 150. Specify either OrganizationCustomRuleMetadata or OrganizationManagedRuleMetadata. + +Required Parameters +{ + "OrganizationConfigRuleName": "The name that you assign to an organization config rule." +} + +Optional Parameters +{ + "OrganizationManagedRuleMetadata": "An OrganizationManagedRuleMetadata object. ", + "OrganizationCustomRuleMetadata": "An OrganizationCustomRuleMetadata object.", + "ExcludedAccounts": "A comma-separated list of accounts that you want to exclude from an organization config rule." +} +""" +PutOrganizationConfigRule(args) = config_service("PutOrganizationConfigRule", args) + +""" + PutDeliveryChannel() + +Creates a delivery channel object to deliver configuration information to an Amazon S3 bucket and Amazon SNS topic. Before you can create a delivery channel, you must create a configuration recorder. You can use this action to change the Amazon S3 bucket or an Amazon SNS topic of the existing delivery channel. To change the Amazon S3 bucket or an Amazon SNS topic, call this action and specify the changed values for the S3 bucket and the SNS topic. If you specify a different value for either the S3 bucket or the SNS topic, this action will keep the existing value for the parameter that is not changed. You can have only one delivery channel per region in your account. + +Required Parameters +{ + "DeliveryChannel": "The configuration delivery channel object that delivers the configuration information to an Amazon S3 bucket and to an Amazon SNS topic." +} +""" +PutDeliveryChannel(args) = config_service("PutDeliveryChannel", args) + +""" + DescribePendingAggregationRequests() + +Returns a list of all pending aggregation requests. + +Optional Parameters +{ + "NextToken": "The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.", + "Limit": "The maximum number of evaluation results returned on each page. The default is maximum. If you specify 0, AWS Config uses the default." +} +""" +DescribePendingAggregationRequests() = config_service("DescribePendingAggregationRequests") +DescribePendingAggregationRequests(args) = config_service("DescribePendingAggregationRequests", args) + +""" + GetComplianceDetailsByConfigRule() + +Returns the evaluation results for the specified AWS Config rule. The results indicate which AWS resources were evaluated by the rule, when each resource was last evaluated, and whether each resource complies with the rule. + +Required Parameters +{ + "ConfigRuleName": "The name of the AWS Config rule for which you want compliance information." +} + +Optional Parameters +{ + "NextToken": "The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.", + "ComplianceTypes": "Filters the results by compliance. The allowed values are COMPLIANT, NON_COMPLIANT, and NOT_APPLICABLE.", + "Limit": "The maximum number of evaluation results returned on each page. The default is 10. You cannot specify a number greater than 100. If you specify 0, AWS Config uses the default." +} +""" +GetComplianceDetailsByConfigRule(args) = config_service("GetComplianceDetailsByConfigRule", args) + +""" + GetOrganizationConformancePackDetailedStatus() + +Returns detailed status for each member account within an organization for a given organization conformance pack. Only a master account can call this API. + +Required Parameters +{ + "OrganizationConformancePackName": "The name of organization conformance pack for which you want status details for member accounts." +} + +Optional Parameters +{ + "NextToken": "The nextToken string returned on a previous page that you use to get the next page of results in a paginated response. ", + "Filters": "An OrganizationResourceDetailedStatusFilters object.", + "Limit": "The maximum number of OrganizationConformancePackDetailedStatuses returned on each page. If you do not specify a number, AWS Config uses the default. The default is 100. " +} +""" +GetOrganizationConformancePackDetailedStatus(args) = config_service("GetOrganizationConformancePackDetailedStatus", args) + +""" + PutConfigRule() + +Adds or updates an AWS Config rule for evaluating whether your AWS resources comply with your desired configurations. You can use this action for custom AWS Config rules and AWS managed Config rules. A custom AWS Config rule is a rule that you develop and maintain. An AWS managed Config rule is a customizable, predefined rule that AWS Config provides. If you are adding a new custom AWS Config rule, you must first create the AWS Lambda function that the rule invokes to evaluate your resources. When you use the PutConfigRule action to add the rule to AWS Config, you must specify the Amazon Resource Name (ARN) that AWS Lambda assigns to the function. Specify the ARN for the SourceIdentifier key. This key is part of the Source object, which is part of the ConfigRule object. If you are adding an AWS managed Config rule, specify the rule's identifier for the SourceIdentifier key. To reference AWS managed Config rule identifiers, see About AWS Managed Config Rules. For any new rule that you add, specify the ConfigRuleName in the ConfigRule object. Do not specify the ConfigRuleArn or the ConfigRuleId. These values are generated by AWS Config for new rules. If you are updating a rule that you added previously, you can specify the rule by ConfigRuleName, ConfigRuleId, or ConfigRuleArn in the ConfigRule data type that you use in this request. The maximum number of rules that AWS Config supports is 150. For information about requesting a rule limit increase, see AWS Config Limits in the AWS General Reference Guide. For more information about developing and using AWS Config rules, see Evaluating AWS Resource Configurations with AWS Config in the AWS Config Developer Guide. + +Required Parameters +{ + "ConfigRule": "The rule that you want to add to your account." +} + +Optional Parameters +{ + "Tags": "An array of tag object." +} +""" +PutConfigRule(args) = config_service("PutConfigRule", args) + +""" + DescribeAggregationAuthorizations() + +Returns a list of authorizations granted to various aggregator accounts and regions. + +Optional Parameters +{ + "NextToken": "The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.", + "Limit": "The maximum number of AggregationAuthorizations returned on each page. The default is maximum. If you specify 0, AWS Config uses the default." +} +""" +DescribeAggregationAuthorizations() = config_service("DescribeAggregationAuthorizations") +DescribeAggregationAuthorizations(args) = config_service("DescribeAggregationAuthorizations", args) diff --git a/src/services/connect.jl b/src/services/connect.jl new file mode 100644 index 0000000000..7b21d1db55 --- /dev/null +++ b/src/services/connect.jl @@ -0,0 +1,477 @@ +include("../AWSServices.jl") +using .AWSServices: connect + +""" + ListTagsForResource() + +Lists the tags for the specified resource. + +Required Parameters +{ + "resourceArn": "The Amazon Resource Name (ARN) of the resource." +} +""" +ListTagsForResource(args) = connect("GET", "/tags/{resourceArn}", args) + +""" + ListSecurityProfiles() + +Provides summary information about the security profiles for the specified Amazon Connect instance. + +Required Parameters +{ + "InstanceId": "The identifier of the Amazon Connect instance." +} + +Optional Parameters +{ + "MaxResults": "The maximimum number of results to return per page.", + "NextToken": "The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results." +} +""" +ListSecurityProfiles(args) = connect("GET", "/security-profiles-summary/{InstanceId}", args) + +""" + ListHoursOfOperations() + +Provides information about the hours of operation for the specified Amazon Connect instance. + +Required Parameters +{ + "InstanceId": "The identifier of the Amazon Connect instance." +} + +Optional Parameters +{ + "MaxResults": "The maximimum number of results to return per page.", + "NextToken": "The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results." +} +""" +ListHoursOfOperations(args) = connect("GET", "/hours-of-operations-summary/{InstanceId}", args) + +""" + UpdateUserIdentityInfo() + +Updates the identity information for the specified user. + +Required Parameters +{ + "UserId": "The identifier of the user account.", + "IdentityInfo": "The identity information for the user.", + "InstanceId": "The identifier of the Amazon Connect instance." +} +""" +UpdateUserIdentityInfo(args) = connect("POST", "/users/{InstanceId}/{UserId}/identity-info", args) + +""" + GetCurrentMetricData() + +Gets the real-time metric data from the specified Amazon Connect instance. For more information, see Real-time Metrics Reports in the Amazon Connect Administrator Guide. + +Required Parameters +{ + "InstanceId": "The identifier of the Amazon Connect instance.", + "Filters": "The queues, up to 100, or channels, to use to filter the metrics returned. Metric data is retrieved only for the resources associated with the queues or channels included in the filter. You can include both queue IDs and queue ARNs in the same request. The only supported channel is VOICE.", + "CurrentMetrics": "The metrics to retrieve. Specify the name and unit for each metric. The following metrics are available: AGENTS_AFTER_CONTACT_WORK Unit: COUNT AGENTS_AVAILABLE Unit: COUNT AGENTS_ERROR Unit: COUNT AGENTS_NON_PRODUCTIVE Unit: COUNT AGENTS_ON_CALL Unit: COUNT AGENTS_ON_CONTACT Unit: COUNT AGENTS_ONLINE Unit: COUNT AGENTS_STAFFED Unit: COUNT CONTACTS_IN_QUEUE Unit: COUNT CONTACTS_SCHEDULED Unit: COUNT OLDEST_CONTACT_AGE Unit: SECONDS SLOTS_ACTIVE Unit: COUNT SLOTS_AVAILABLE Unit: COUNT " +} + +Optional Parameters +{ + "MaxResults": "The maximimum number of results to return per page.", + "NextToken": "The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results. The token expires after 5 minutes from the time it is created. Subsequent requests that use the token must use the same request parameters as the request that generated the token.", + "Groupings": "The grouping applied to the metrics returned. For example, when grouped by QUEUE, the metrics returned apply to each queue rather than aggregated for all queues. If you group by CHANNEL, you should include a Channels filter. The only supported channel is VOICE. If no Grouping is included in the request, a summary of metrics is returned." +} +""" +GetCurrentMetricData(args) = connect("POST", "/metrics/current/{InstanceId}", args) + +""" + CreateUser() + +Creates a user account for the specified Amazon Connect instance. + +Required Parameters +{ + "RoutingProfileId": "The identifier of the routing profile for the user.", + "PhoneConfig": "The phone settings for the user.", + "InstanceId": "The identifier of the Amazon Connect instance.", + "SecurityProfileIds": "The identifier of the security profile for the user.", + "Username": "The user name for the account. For instances not using SAML for identity management, the user name can include up to 20 characters. If you are using SAML for identity management, the user name can include up to 64 characters from [a-zA-Z0-9_-. @]+." +} + +Optional Parameters +{ + "Password": "The password for the user account. A password is required if you are using Amazon Connect for identity management. Otherwise, it is an error to include a password.", + "Tags": "One or more tags.", + "IdentityInfo": "The information about the identity of the user.", + "DirectoryUserId": "The identifier of the user account in the directory used for identity management. If Amazon Connect cannot access the directory, you can specify this identifier to authenticate users. If you include the identifier, we assume that Amazon Connect cannot access the directory. Otherwise, the identity information is used to authenticate users from your directory. This parameter is required if you are using an existing directory for identity management in Amazon Connect when Amazon Connect cannot access your directory to authenticate users. If you are using SAML for identity management and include this parameter, an error is returned.", + "HierarchyGroupId": "The identifier of the hierarchy group for the user." +} +""" +CreateUser(args) = connect("PUT", "/users/{InstanceId}", args) + +""" + ListPhoneNumbers() + +Provides information about the phone numbers for the specified Amazon Connect instance. + +Required Parameters +{ + "InstanceId": "The identifier of the Amazon Connect instance." +} + +Optional Parameters +{ + "MaxResults": "The maximimum number of results to return per page.", + "NextToken": "The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.", + "PhoneNumberTypes": "The type of phone number.", + "PhoneNumberCountryCodes": "The ISO country code." +} +""" +ListPhoneNumbers(args) = connect("GET", "/phone-numbers-summary/{InstanceId}", args) + +""" + DescribeUserHierarchyStructure() + +Describes the hierarchy structure of the specified Amazon Connect instance. + +Required Parameters +{ + "InstanceId": "The identifier of the Amazon Connect instance." +} +""" +DescribeUserHierarchyStructure(args) = connect("GET", "/user-hierarchy-structure/{InstanceId}", args) + +""" + DeleteUser() + +Deletes a user account from the specified Amazon Connect instance. + +Required Parameters +{ + "InstanceId": "The identifier of the Amazon Connect instance.", + "UserId": "The identifier of the user." +} +""" +DeleteUser(args) = connect("DELETE", "/users/{InstanceId}/{UserId}", args) + +""" + ListContactFlows() + +Provides information about the contact flows for the specified Amazon Connect instance. + +Required Parameters +{ + "InstanceId": "The identifier of the Amazon Connect instance." +} + +Optional Parameters +{ + "MaxResults": "The maximimum number of results to return per page.", + "NextToken": "The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.", + "ContactFlowTypes": "The type of contact flow." +} +""" +ListContactFlows(args) = connect("GET", "/contact-flows-summary/{InstanceId}", args) + +""" + TagResource() + +Adds the specified tags to the specified resource. The supported resource type is users. + +Required Parameters +{ + "resourceArn": "The Amazon Resource Name (ARN) of the resource.", + "tags": "One or more tags. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }." +} +""" +TagResource(args) = connect("POST", "/tags/{resourceArn}", args) + +""" + UntagResource() + +Removes the specified tags from the specified resource. + +Required Parameters +{ + "resourceArn": "The Amazon Resource Name (ARN) of the resource.", + "tagKeys": "The tag keys." +} +""" +UntagResource(args) = connect("DELETE", "/tags/{resourceArn}", args) + +""" + UpdateUserRoutingProfile() + +Assigns the specified routing profile to the specified user. + +Required Parameters +{ + "UserId": "The identifier of the user account.", + "InstanceId": "The identifier of the Amazon Connect instance.", + "RoutingProfileId": "The identifier of the routing profile for the user." +} +""" +UpdateUserRoutingProfile(args) = connect("POST", "/users/{InstanceId}/{UserId}/routing-profile", args) + +""" + StartOutboundVoiceContact() + +Initiates a contact flow to place an outbound call to a customer. There is a 60 second dialing timeout for this operation. If the call is not connected after 60 seconds, it fails. + +Required Parameters +{ + "ContactFlowId": "The identifier of the contact flow for the outbound call.", + "InstanceId": "The identifier of the Amazon Connect instance.", + "DestinationPhoneNumber": "The phone number of the customer, in E.164 format." +} + +Optional Parameters +{ + "SourcePhoneNumber": "The phone number associated with the Amazon Connect instance, in E.164 format. If you do not specify a source phone number, you must specify a queue.", + "QueueId": "The queue for the call. If you specify a queue, the phone displayed for caller ID is the phone number specified in the queue. If you do not specify a queue, the queue defined in the contact flow is used. If you do not specify a queue, you must specify a source phone number.", + "Attributes": "A custom key-value pair using an attribute map. The attributes are standard Amazon Connect attributes, and can be accessed in contact flows just like any other contact attributes. There can be up to 32,768 UTF-8 bytes across all key-value pairs per contact. Attribute keys can include only alphanumeric, dash, and underscore characters.", + "ClientToken": "A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. The token is valid for 7 days after creation. If a contact is already started, the contact ID is returned. If the contact is disconnected, a new contact is started." +} +""" +StartOutboundVoiceContact(args) = connect("PUT", "/contact/outbound-voice", args) + +""" + ListUserHierarchyGroups() + +Provides summary information about the hierarchy groups for the specified Amazon Connect instance. + +Required Parameters +{ + "InstanceId": "The identifier of the Amazon Connect instance." +} + +Optional Parameters +{ + "MaxResults": "The maximimum number of results to return per page.", + "NextToken": "The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results." +} +""" +ListUserHierarchyGroups(args) = connect("GET", "/user-hierarchy-groups-summary/{InstanceId}", args) + +""" + ListUsers() + +Provides summary information about the users for the specified Amazon Connect instance. + +Required Parameters +{ + "InstanceId": "The identifier of the Amazon Connect instance." +} + +Optional Parameters +{ + "MaxResults": "The maximimum number of results to return per page.", + "NextToken": "The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results." +} +""" +ListUsers(args) = connect("GET", "/users-summary/{InstanceId}", args) + +""" + StopContact() + +Ends the specified contact. + +Required Parameters +{ + "ContactId": "The ID of the contact.", + "InstanceId": "The identifier of the Amazon Connect instance." +} +""" +StopContact(args) = connect("POST", "/contact/stop", args) + +""" + StartChatContact() + +Initiates a contact flow to start a new chat for the customer. Response of this API provides a token required to obtain credentials from the CreateParticipantConnection API in the Amazon Connect Participant Service. When a new chat contact is successfully created, clients need to subscribe to the participant’s connection for the created chat within 5 minutes. This is achieved by invoking CreateParticipantConnection with WEBSOCKET and CONNECTION_CREDENTIALS. + +Required Parameters +{ + "ContactFlowId": "The identifier of the contact flow for the chat.", + "InstanceId": "The identifier of the Amazon Connect instance.", + "ParticipantDetails": "Information identifying the participant." +} + +Optional Parameters +{ + "InitialMessage": "The initial message to be sent to the newly created chat.", + "Attributes": "A custom key-value pair using an attribute map. The attributes are standard Amazon Connect attributes, and can be accessed in contact flows just like any other contact attributes. There can be up to 32,768 UTF-8 bytes across all key-value pairs per contact. Attribute keys can include only alphanumeric, dash, and underscore characters.", + "ClientToken": "A unique, case-sensitive identifier that you provide to ensure the idempotency of the request." +} +""" +StartChatContact(args) = connect("PUT", "/contact/chat", args) + +""" + UpdateContactAttributes() + +Creates or updates the contact attributes associated with the specified contact. You can add or update attributes for both ongoing and completed contacts. For example, you can update the customer's name or the reason the customer called while the call is active, or add notes about steps that the agent took during the call that are displayed to the next agent that takes the call. You can also update attributes for a contact using data from your CRM application and save the data with the contact in Amazon Connect. You could also flag calls for additional analysis, such as legal review or identifying abusive callers. Contact attributes are available in Amazon Connect for 24 months, and are then deleted. Important: You cannot use the operation to update attributes for contacts that occurred prior to the release of the API, September 12, 2018. You can update attributes only for contacts that started after the release of the API. If you attempt to update attributes for a contact that occurred prior to the release of the API, a 400 error is returned. This applies also to queued callbacks that were initiated prior to the release of the API but are still active in your instance. + +Required Parameters +{ + "InstanceId": "The identifier of the Amazon Connect instance.", + "Attributes": "The Amazon Connect attributes. These attributes can be accessed in contact flows just like any other contact attributes. You can have up to 32,768 UTF-8 bytes across all attributes for a contact. Attribute keys can include only alphanumeric, dash, and underscore characters.", + "InitialContactId": "The identifier of the contact. This is the identifier of the contact associated with the first interaction with the contact center." +} +""" +UpdateContactAttributes(args) = connect("POST", "/contact/attributes", args) + +""" + UpdateUserHierarchy() + +Assigns the specified hierarchy group to the specified user. + +Required Parameters +{ + "UserId": "The identifier of the user account.", + "InstanceId": "The identifier of the Amazon Connect instance." +} + +Optional Parameters +{ + "HierarchyGroupId": "The identifier of the hierarchy group." +} +""" +UpdateUserHierarchy(args) = connect("POST", "/users/{InstanceId}/{UserId}/hierarchy", args) + +""" + GetFederationToken() + +Retrieves a token for federation. + +Required Parameters +{ + "InstanceId": "The identifier of the Amazon Connect instance." +} +""" +GetFederationToken(args) = connect("GET", "/user/federate/{InstanceId}", args) + +""" + UpdateUserPhoneConfig() + +Updates the phone configuration settings for the specified user. + +Required Parameters +{ + "PhoneConfig": "Information about phone configuration settings for the user.", + "UserId": "The identifier of the user account.", + "InstanceId": "The identifier of the Amazon Connect instance." +} +""" +UpdateUserPhoneConfig(args) = connect("POST", "/users/{InstanceId}/{UserId}/phone-config", args) + +""" + ListRoutingProfiles() + +Provides summary information about the routing profiles for the specified Amazon Connect instance. + +Required Parameters +{ + "InstanceId": "The identifier of the Amazon Connect instance." +} + +Optional Parameters +{ + "MaxResults": "The maximimum number of results to return per page.", + "NextToken": "The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results." +} +""" +ListRoutingProfiles(args) = connect("GET", "/routing-profiles-summary/{InstanceId}", args) + +""" + GetMetricData() + +Gets historical metric data from the specified Amazon Connect instance. For more information, see Historical Metrics Reports in the Amazon Connect Administrator Guide. + +Required Parameters +{ + "StartTime": "The timestamp, in UNIX Epoch time format, at which to start the reporting interval for the retrieval of historical metrics data. The time must be specified using a multiple of 5 minutes, such as 10:05, 10:10, 10:15. The start time cannot be earlier than 24 hours before the time of the request. Historical metrics are available only for 24 hours.", + "EndTime": "The timestamp, in UNIX Epoch time format, at which to end the reporting interval for the retrieval of historical metrics data. The time must be specified using an interval of 5 minutes, such as 11:00, 11:05, 11:10, and must be later than the start time timestamp. The time range between the start and end time must be less than 24 hours.", + "InstanceId": "The identifier of the Amazon Connect instance.", + "Filters": "The queues, up to 100, or channels, to use to filter the metrics returned. Metric data is retrieved only for the resources associated with the queues or channels included in the filter. You can include both queue IDs and queue ARNs in the same request. The only supported channel is VOICE.", + "HistoricalMetrics": "The metrics to retrieve. Specify the name, unit, and statistic for each metric. The following historical metrics are available: ABANDON_TIME Unit: SECONDS Statistic: AVG AFTER_CONTACT_WORK_TIME Unit: SECONDS Statistic: AVG API_CONTACTS_HANDLED Unit: COUNT Statistic: SUM CALLBACK_CONTACTS_HANDLED Unit: COUNT Statistic: SUM CONTACTS_ABANDONED Unit: COUNT Statistic: SUM CONTACTS_AGENT_HUNG_UP_FIRST Unit: COUNT Statistic: SUM CONTACTS_CONSULTED Unit: COUNT Statistic: SUM CONTACTS_HANDLED Unit: COUNT Statistic: SUM CONTACTS_HANDLED_INCOMING Unit: COUNT Statistic: SUM CONTACTS_HANDLED_OUTBOUND Unit: COUNT Statistic: SUM CONTACTS_HOLD_ABANDONS Unit: COUNT Statistic: SUM CONTACTS_MISSED Unit: COUNT Statistic: SUM CONTACTS_QUEUED Unit: COUNT Statistic: SUM CONTACTS_TRANSFERRED_IN Unit: COUNT Statistic: SUM CONTACTS_TRANSFERRED_IN_FROM_QUEUE Unit: COUNT Statistic: SUM CONTACTS_TRANSFERRED_OUT Unit: COUNT Statistic: SUM CONTACTS_TRANSFERRED_OUT_FROM_QUEUE Unit: COUNT Statistic: SUM HANDLE_TIME Unit: SECONDS Statistic: AVG HOLD_TIME Unit: SECONDS Statistic: AVG INTERACTION_AND_HOLD_TIME Unit: SECONDS Statistic: AVG INTERACTION_TIME Unit: SECONDS Statistic: AVG OCCUPANCY Unit: PERCENT Statistic: AVG QUEUE_ANSWER_TIME Unit: SECONDS Statistic: AVG QUEUED_TIME Unit: SECONDS Statistic: MAX SERVICE_LEVEL Unit: PERCENT Statistic: AVG Threshold: Only \"Less than\" comparisons are supported, with the following service level thresholds: 15, 20, 25, 30, 45, 60, 90, 120, 180, 240, 300, 600 " +} + +Optional Parameters +{ + "MaxResults": "The maximimum number of results to return per page.", + "NextToken": "The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.", + "Groupings": "The grouping applied to the metrics returned. For example, when results are grouped by queue, the metrics returned are grouped by queue. The values returned apply to the metrics for each queue rather than aggregated for all queues. The only supported grouping is QUEUE. If no grouping is specified, a summary of metrics for all queues is returned." +} +""" +GetMetricData(args) = connect("POST", "/metrics/historical/{InstanceId}", args) + +""" + DescribeUser() + +Describes the specified user account. You can find the instance ID in the console (it’s the final part of the ARN). The console does not display the user IDs. Instead, list the users and note the IDs provided in the output. + +Required Parameters +{ + "UserId": "The identifier of the user account.", + "InstanceId": "The identifier of the Amazon Connect instance." +} +""" +DescribeUser(args) = connect("GET", "/users/{InstanceId}/{UserId}", args) + +""" + DescribeUserHierarchyGroup() + +Describes the specified hierarchy group. + +Required Parameters +{ + "InstanceId": "The identifier of the Amazon Connect instance.", + "HierarchyGroupId": "The identifier of the hierarchy group." +} +""" +DescribeUserHierarchyGroup(args) = connect("GET", "/user-hierarchy-groups/{InstanceId}/{HierarchyGroupId}", args) + +""" + UpdateUserSecurityProfiles() + +Assigns the specified security profiles to the specified user. + +Required Parameters +{ + "UserId": "The identifier of the user account.", + "InstanceId": "The identifier of the Amazon Connect instance.", + "SecurityProfileIds": "The identifiers of the security profiles for the user." +} +""" +UpdateUserSecurityProfiles(args) = connect("POST", "/users/{InstanceId}/{UserId}/security-profiles", args) + +""" + ListQueues() + +Provides information about the queues for the specified Amazon Connect instance. + +Required Parameters +{ + "InstanceId": "The identifier of the Amazon Connect instance." +} + +Optional Parameters +{ + "MaxResults": "The maximimum number of results to return per page.", + "NextToken": "The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.", + "QueueTypes": "The type of queue." +} +""" +ListQueues(args) = connect("GET", "/queues-summary/{InstanceId}", args) + +""" + GetContactAttributes() + +Retrieves the contact attributes for the specified contact. + +Required Parameters +{ + "InstanceId": "The identifier of the Amazon Connect instance.", + "InitialContactId": "The identifier of the initial contact." +} +""" +GetContactAttributes(args) = connect("GET", "/contact/attributes/{InstanceId}/{InitialContactId}", args) diff --git a/src/services/connectparticipant.jl b/src/services/connectparticipant.jl new file mode 100644 index 0000000000..0641569ef5 --- /dev/null +++ b/src/services/connectparticipant.jl @@ -0,0 +1,92 @@ +include("../AWSServices.jl") +using .AWSServices: connectparticipant + +""" + CreateParticipantConnection() + +Creates the participant's connection. Note that ParticipantToken is used for invoking this API instead of ConnectionToken. The participant token is valid for the lifetime of the participant – until the they are part of a contact. The response URL for WEBSOCKET Type has a connect expiry timeout of 100s. Clients must manually connect to the returned websocket URL and subscribe to the desired topic. For chat, you need to publish the following on the established websocket connection: {"topic":"aws/subscribe","content":{"topics":["aws/chat"]}} Upon websocket URL expiry, as specified in the response ConnectionExpiry parameter, clients need to call this API again to obtain a new websocket URL and perform the same steps as before. + +Required Parameters +{ + "Type": "Type of connection information required.", + "ParticipantToken": "Participant Token as obtained from StartChatContact API response." +} +""" +CreateParticipantConnection(args) = connectparticipant("POST", "/participant/connection", args) + +""" + GetTranscript() + +Retrieves a transcript of the session. Note that ConnectionToken is used for invoking this API instead of ParticipantToken. + +Required Parameters +{ + "ConnectionToken": "The authentication token associated with the participant's connection." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return in the page. Default: 10. ", + "NextToken": "The pagination token. Use the value returned previously in the next subsequent request to retrieve the next set of results.", + "ContactId": "The contactId from the current contact chain for which transcript is needed.", + "ScanDirection": "The direction from StartPosition from which to retrieve message. Default: BACKWARD when no StartPosition is provided, FORWARD with StartPosition. ", + "StartPosition": "A filtering option for where to start.", + "SortOrder": "The sort order for the records. Default: DESCENDING." +} +""" +GetTranscript(args) = connectparticipant("POST", "/participant/transcript", args) + +""" + SendEvent() + +Sends an event. Note that ConnectionToken is used for invoking this API instead of ParticipantToken. + +Required Parameters +{ + "ConnectionToken": "The authentication token associated with the participant's connection.", + "ContentType": "The content type of the request. Supported types are: application/vnd.amazonaws.connect.event.typing application/vnd.amazonaws.connect.event.connection.acknowledged " +} + +Optional Parameters +{ + "Content": "The content of the event to be sent (for example, message text). This is not yet supported.", + "ClientToken": "A unique, case-sensitive identifier that you provide to ensure the idempotency of the request." +} +""" +SendEvent(args) = connectparticipant("POST", "/participant/event", args) + +""" + SendMessage() + +Sends a message. Note that ConnectionToken is used for invoking this API instead of ParticipantToken. + +Required Parameters +{ + "ConnectionToken": "The authentication token associated with the connection.", + "Content": "The content of the message.", + "ContentType": "The type of the content. Supported types are text/plain." +} + +Optional Parameters +{ + "ClientToken": "A unique, case-sensitive identifier that you provide to ensure the idempotency of the request." +} +""" +SendMessage(args) = connectparticipant("POST", "/participant/message", args) + +""" + DisconnectParticipant() + +Disconnects a participant. Note that ConnectionToken is used for invoking this API instead of ParticipantToken. + +Required Parameters +{ + "ConnectionToken": "The authentication token associated with the participant's connection." +} + +Optional Parameters +{ + "ClientToken": "A unique, case-sensitive identifier that you provide to ensure the idempotency of the request." +} +""" +DisconnectParticipant(args) = connectparticipant("POST", "/participant/disconnect", args) diff --git a/src/services/cost_and_usage_report_service.jl b/src/services/cost_and_usage_report_service.jl new file mode 100644 index 0000000000..47ff70f522 --- /dev/null +++ b/src/services/cost_and_usage_report_service.jl @@ -0,0 +1,54 @@ +include("../AWSServices.jl") +using .AWSServices: cost_and_usage_report_service + +""" + ModifyReportDefinition() + +Allows you to programatically update your report preferences. + +Required Parameters +{ + "ReportName": "", + "ReportDefinition": "" +} +""" +ModifyReportDefinition(args) = cost_and_usage_report_service("ModifyReportDefinition", args) + +""" + DeleteReportDefinition() + +Deletes the specified report. + +Optional Parameters +{ + "ReportName": "" +} +""" +DeleteReportDefinition() = cost_and_usage_report_service("DeleteReportDefinition") +DeleteReportDefinition(args) = cost_and_usage_report_service("DeleteReportDefinition", args) + +""" + PutReportDefinition() + +Creates a new report using the description that you provide. + +Required Parameters +{ + "ReportDefinition": "Represents the output of the PutReportDefinition operation. The content consists of the detailed metadata and data file information. " +} +""" +PutReportDefinition(args) = cost_and_usage_report_service("PutReportDefinition", args) + +""" + DescribeReportDefinitions() + +Lists the AWS Cost and Usage reports available to this account. + +Optional Parameters +{ + "MaxResults": "", + "NextToken": "" +} +""" +DescribeReportDefinitions() = cost_and_usage_report_service("DescribeReportDefinitions") +DescribeReportDefinitions(args) = cost_and_usage_report_service("DescribeReportDefinitions", args) diff --git a/src/services/cost_explorer.jl b/src/services/cost_explorer.jl new file mode 100644 index 0000000000..a1798598d2 --- /dev/null +++ b/src/services/cost_explorer.jl @@ -0,0 +1,360 @@ +include("../AWSServices.jl") +using .AWSServices: cost_explorer + +""" + GetSavingsPlansUtilization() + +Retrieves the Savings Plans utilization for your account across date ranges with daily or monthly granularity. Master accounts in an organization have access to member accounts. You can use GetDimensionValues in SAVINGS_PLANS to determine the possible dimension values. You cannot group by any dimension values for GetSavingsPlansUtilization. + +Required Parameters +{ + "TimePeriod": "The time period that you want the usage and costs for. The Start date must be within 13 months. The End date must be after the Start date, and before the current date. Future dates can't be used as an End date." +} + +Optional Parameters +{ + "Filter": "Filters Savings Plans utilization coverage data for active Savings Plans dimensions. You can filter data with the following dimensions: LINKED_ACCOUNT SAVINGS_PLAN_ARN SAVINGS_PLANS_TYPE REGION PAYMENT_OPTION INSTANCE_TYPE_FAMILY GetSavingsPlansUtilization uses the same Expression object as the other operations, but only AND is supported among each dimension.", + "Granularity": "The granularity of the Amazon Web Services utillization data for your Savings Plans. The GetSavingsPlansUtilization operation supports only DAILY and MONTHLY granularities." +} +""" +GetSavingsPlansUtilization(args) = cost_explorer("GetSavingsPlansUtilization", args) + +""" + GetReservationCoverage() + +Retrieves the reservation coverage for your account. This enables you to see how much of your Amazon Elastic Compute Cloud, Amazon ElastiCache, Amazon Relational Database Service, or Amazon Redshift usage is covered by a reservation. An organization's master account can see the coverage of the associated member accounts. For any time period, you can filter data about reservation usage by the following dimensions: AZ CACHE_ENGINE DATABASE_ENGINE DEPLOYMENT_OPTION INSTANCE_TYPE LINKED_ACCOUNT OPERATING_SYSTEM PLATFORM REGION SERVICE TAG TENANCY To determine valid values for a dimension, use the GetDimensionValues operation. + +Required Parameters +{ + "TimePeriod": "The start and end dates of the period that you want to retrieve data about reservation coverage for. You can retrieve data for a maximum of 13 months: the last 12 months and the current month. The start date is inclusive, but the end date is exclusive. For example, if start is 2017-01-01 and end is 2017-05-01, then the cost and usage data is retrieved from 2017-01-01 up to and including 2017-04-30 but not including 2017-05-01. " +} + +Optional Parameters +{ + "GroupBy": "You can group the data by the following attributes: AZ CACHE_ENGINE DATABASE_ENGINE DEPLOYMENT_OPTION INSTANCE_TYPE LINKED_ACCOUNT OPERATING_SYSTEM PLATFORM REGION TENANCY ", + "NextPageToken": "The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size.", + "Filter": "Filters utilization data by dimensions. You can filter by the following dimensions: AZ CACHE_ENGINE DATABASE_ENGINE DEPLOYMENT_OPTION INSTANCE_TYPE LINKED_ACCOUNT OPERATING_SYSTEM PLATFORM REGION SERVICE TAG TENANCY GetReservationCoverage uses the same Expression object as the other operations, but only AND is supported among each dimension. You can nest only one level deep. If there are multiple values for a dimension, they are OR'd together. If you don't provide a SERVICE filter, Cost Explorer defaults to EC2.", + "Granularity": "The granularity of the AWS cost data for the reservation. Valid values are MONTHLY and DAILY. If GroupBy is set, Granularity can't be set. If Granularity isn't set, the response object doesn't include Granularity, either MONTHLY or DAILY. The GetReservationCoverage operation supports only DAILY and MONTHLY granularities.", + "Metrics": "The measurement that you want your reservation coverage reported in. Valid values are Hour, Unit, and Cost. You can use multiple values in a request." +} +""" +GetReservationCoverage(args) = cost_explorer("GetReservationCoverage", args) + +""" + GetTags() + +Queries for available tag keys and tag values for a specified period. You can search the tag values for an arbitrary string. + +Required Parameters +{ + "TimePeriod": "The start and end dates for retrieving the dimension values. The start date is inclusive, but the end date is exclusive. For example, if start is 2017-01-01 and end is 2017-05-01, then the cost and usage data is retrieved from 2017-01-01 up to and including 2017-04-30 but not including 2017-05-01." +} + +Optional Parameters +{ + "SearchString": "The value that you want to search for.", + "NextPageToken": "The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size.", + "TagKey": "The key of the tag that you want to return values for." +} +""" +GetTags(args) = cost_explorer("GetTags", args) + +""" + GetCostAndUsageWithResources() + +Retrieves cost and usage metrics with resources for your account. You can specify which cost and usage-related metric, such as BlendedCosts or UsageQuantity, that you want the request to return. You can also filter and group your data by various dimensions, such as SERVICE or AZ, in a specific time range. For a complete list of valid dimensions, see the GetDimensionValues operation. Master accounts in an organization in AWS Organizations have access to all member accounts. This API is currently available for the Amazon Elastic Compute Cloud – Compute service only. This is an opt-in only feature. You can enable this feature from the Cost Explorer Settings page. For information on how to access the Settings page, see Controlling Access for Cost Explorer in the AWS Billing and Cost Management User Guide. + +Required Parameters +{ + "TimePeriod": "Sets the start and end dates for retrieving Amazon Web Services costs. The range must be within the last 14 days (the start date cannot be earlier than 14 days ago). The start date is inclusive, but the end date is exclusive. For example, if start is 2017-01-01 and end is 2017-05-01, then the cost and usage data is retrieved from 2017-01-01 up to and including 2017-04-30 but not including 2017-05-01." +} + +Optional Parameters +{ + "GroupBy": "You can group Amazon Web Services costs using up to two different groups: either dimensions, tag keys, or both.", + "NextPageToken": "The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size.", + "Filter": "Filters Amazon Web Services costs by different dimensions. For example, you can specify SERVICE and LINKED_ACCOUNT and get the costs that are associated with that account's usage of that service. You can nest Expression objects to define any combination of dimension filters. For more information, see Expression. The GetCostAndUsageWithResources operation requires that you either group by or filter by a ResourceId.", + "Granularity": "Sets the AWS cost granularity to MONTHLY, DAILY, or HOURLY. If Granularity isn't set, the response object doesn't include the Granularity, MONTHLY, DAILY, or HOURLY. ", + "Metrics": "Which metrics are returned in the query. For more information about blended and unblended rates, see Why does the \"blended\" annotation appear on some line items in my bill?. Valid values are AmortizedCost, BlendedCost, NetAmortizedCost, NetUnblendedCost, NormalizedUsageAmount, UnblendedCost, and UsageQuantity. If you return the UsageQuantity metric, the service aggregates all usage numbers without taking the units into account. For example, if you aggregate usageQuantity across all of Amazon EC2, the results aren't meaningful because Amazon EC2 compute hours and data transfer are measured in different units (for example, hours vs. GB). To get more meaningful UsageQuantity metrics, filter by UsageType or UsageTypeGroups. Metrics is required for GetCostAndUsageWithResources requests." +} +""" +GetCostAndUsageWithResources(args) = cost_explorer("GetCostAndUsageWithResources", args) + +""" + GetDimensionValues() + +Retrieves all available filter values for a specified filter over a period of time. You can search the dimension values for an arbitrary string. + +Required Parameters +{ + "TimePeriod": "The start and end dates for retrieving the dimension values. The start date is inclusive, but the end date is exclusive. For example, if start is 2017-01-01 and end is 2017-05-01, then the cost and usage data is retrieved from 2017-01-01 up to and including 2017-04-30 but not including 2017-05-01.", + "Dimension": "The name of the dimension. Each Dimension is available for a different Context. For more information, see Context. " +} + +Optional Parameters +{ + "SearchString": "The value that you want to search the filter values for.", + "NextPageToken": "The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size.", + "Context": "The context for the call to GetDimensionValues. This can be RESERVATIONS or COST_AND_USAGE. The default value is COST_AND_USAGE. If the context is set to RESERVATIONS, the resulting dimension values can be used in the GetReservationUtilization operation. If the context is set to COST_AND_USAGE, the resulting dimension values can be used in the GetCostAndUsage operation. If you set the context to COST_AND_USAGE, you can use the following dimensions for searching: AZ - The Availability Zone. An example is us-east-1a. DATABASE_ENGINE - The Amazon Relational Database Service database. Examples are Aurora or MySQL. INSTANCE_TYPE - The type of Amazon EC2 instance. An example is m4.xlarge. LEGAL_ENTITY_NAME - The name of the organization that sells you AWS services, such as Amazon Web Services. LINKED_ACCOUNT - The description in the attribute map that includes the full name of the member account. The value field contains the AWS ID of the member account. OPERATING_SYSTEM - The operating system. Examples are Windows or Linux. OPERATION - The action performed. Examples include RunInstance and CreateBucket. PLATFORM - The Amazon EC2 operating system. Examples are Windows or Linux. PURCHASE_TYPE - The reservation type of the purchase to which this usage is related. Examples include On-Demand Instances and Standard Reserved Instances. SERVICE - The AWS service such as Amazon DynamoDB. USAGE_TYPE - The type of usage. An example is DataTransfer-In-Bytes. The response for the GetDimensionValues operation includes a unit attribute. Examples include GB and Hrs. USAGE_TYPE_GROUP - The grouping of common usage types. An example is Amazon EC2: CloudWatch – Alarms. The response for this operation includes a unit attribute. RECORD_TYPE - The different types of charges such as RI fees, usage costs, tax refunds, and credits. RESOURCE_ID - The unique identifier of the resource. ResourceId is an opt-in feature only available for last 14 days for EC2-Compute Service. If you set the context to RESERVATIONS, you can use the following dimensions for searching: AZ - The Availability Zone. An example is us-east-1a. CACHE_ENGINE - The Amazon ElastiCache operating system. Examples are Windows or Linux. DEPLOYMENT_OPTION - The scope of Amazon Relational Database Service deployments. Valid values are SingleAZ and MultiAZ. INSTANCE_TYPE - The type of Amazon EC2 instance. An example is m4.xlarge. LINKED_ACCOUNT - The description in the attribute map that includes the full name of the member account. The value field contains the AWS ID of the member account. PLATFORM - The Amazon EC2 operating system. Examples are Windows or Linux. REGION - The AWS Region. SCOPE (Utilization only) - The scope of a Reserved Instance (RI). Values are regional or a single Availability Zone. TAG (Coverage only) - The tags that are associated with a Reserved Instance (RI). TENANCY - The tenancy of a resource. Examples are shared or dedicated. If you set the context to SAVINGS_PLANS, you can use the following dimensions for searching: SAVINGS_PLANS_TYPE - Type of Savings Plans (EC2 Instance or Compute) PAYMENT_OPTION - Payment option for the given Savings Plans (for example, All Upfront) REGION - The AWS Region. INSTANCE_TYPE_FAMILY - The family of instances (For example, m5) LINKED_ACCOUNT - The description in the attribute map that includes the full name of the member account. The value field contains the AWS ID of the member account. SAVINGS_PLAN_ARN - The unique identifier for your Savings Plan " +} +""" +GetDimensionValues(args) = cost_explorer("GetDimensionValues", args) + +""" + GetReservationUtilization() + +Retrieves the reservation utilization for your account. Master accounts in an organization have access to member accounts. You can filter data by dimensions in a time period. You can use GetDimensionValues to determine the possible dimension values. Currently, you can group only by SUBSCRIPTION_ID. + +Required Parameters +{ + "TimePeriod": "Sets the start and end dates for retrieving RI utilization. The start date is inclusive, but the end date is exclusive. For example, if start is 2017-01-01 and end is 2017-05-01, then the cost and usage data is retrieved from 2017-01-01 up to and including 2017-04-30 but not including 2017-05-01. " +} + +Optional Parameters +{ + "GroupBy": "Groups only by SUBSCRIPTION_ID. Metadata is included.", + "NextPageToken": "The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size.", + "Filter": "Filters utilization data by dimensions. You can filter by the following dimensions: AZ CACHE_ENGINE DEPLOYMENT_OPTION INSTANCE_TYPE LINKED_ACCOUNT OPERATING_SYSTEM PLATFORM REGION SERVICE SCOPE TENANCY GetReservationUtilization uses the same Expression object as the other operations, but only AND is supported among each dimension, and nesting is supported up to only one level deep. If there are multiple values for a dimension, they are OR'd together.", + "Granularity": "If GroupBy is set, Granularity can't be set. If Granularity isn't set, the response object doesn't include Granularity, either MONTHLY or DAILY. If both GroupBy and Granularity aren't set, GetReservationUtilization defaults to DAILY. The GetReservationUtilization operation supports only DAILY and MONTHLY granularities." +} +""" +GetReservationUtilization(args) = cost_explorer("GetReservationUtilization", args) + +""" + GetSavingsPlansPurchaseRecommendation() + +Retrieves your request parameters, Savings Plan Recommendations Summary and Details. + +Required Parameters +{ + "SavingsPlansType": "The Savings Plans recommendation type requested.", + "TermInYears": "The savings plan recommendation term used to generated these recommendations.", + "PaymentOption": "The payment option used to generate these recommendations.", + "LookbackPeriodInDays": "The lookback period used to generate the recommendation." +} + +Optional Parameters +{ + "NextPageToken": "The token to retrieve the next set of results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size.", + "Filter": "You can filter your recommendations by Account ID with the LINKED_ACCOUNT dimension. To filter your recommendations by Account ID, specify Key as LINKED_ACCOUNT and Value as the comma-separated Acount ID(s) for which you want to see Savings Plans purchase recommendations. For GetSavingsPlansPurchaseRecommendation, the Filter does not include CostCategories or Tags. It only includes Dimensions. With Dimensions, Key must be LINKED_ACCOUNT and Value can be a single Account ID or multiple comma-separated Account IDs for which you want to see Savings Plans Purchase Recommendations. AND and OR operators are not supported.", + "PageSize": "The number of recommendations that you want returned in a single response object.", + "AccountScope": "The account scope that you want your recommendations for. Amazon Web Services calculates recommendations including the payer account and linked accounts if the value is set to PAYER. If the value is LINKED, recommendations are calculated for individual linked accounts only." +} +""" +GetSavingsPlansPurchaseRecommendation(args) = cost_explorer("GetSavingsPlansPurchaseRecommendation", args) + +""" + GetUsageForecast() + +Retrieves a forecast for how much Amazon Web Services predicts that you will use over the forecast time period that you select, based on your past usage. + +Required Parameters +{ + "Metric": "Which metric Cost Explorer uses to create your forecast. Valid values for a GetUsageForecast call are the following: USAGE_QUANTITY NORMALIZED_USAGE_AMOUNT ", + "TimePeriod": "The start and end dates of the period that you want to retrieve usage forecast for. The start date is inclusive, but the end date is exclusive. For example, if start is 2017-01-01 and end is 2017-05-01, then the cost and usage data is retrieved from 2017-01-01 up to and including 2017-04-30 but not including 2017-05-01.", + "Granularity": "How granular you want the forecast to be. You can get 3 months of DAILY forecasts or 12 months of MONTHLY forecasts. The GetUsageForecast operation supports only DAILY and MONTHLY granularities." +} + +Optional Parameters +{ + "Filter": "The filters that you want to use to filter your forecast. Cost Explorer API supports all of the Cost Explorer filters.", + "PredictionIntervalLevel": "Cost Explorer always returns the mean forecast as a single point. You can request a prediction interval around the mean by specifying a confidence level. The higher the confidence level, the more confident Cost Explorer is about the actual value falling in the prediction interval. Higher confidence levels result in wider prediction intervals." +} +""" +GetUsageForecast(args) = cost_explorer("GetUsageForecast", args) + +""" + CreateCostCategoryDefinition() + + Cost Category is in public beta for AWS Billing and Cost Management and is subject to change. Your use of Cost Categories is subject to the Beta Service Participation terms of the AWS Service Terms (Section 1.10). Creates a new Cost Category with the requested name and rules. + +Required Parameters +{ + "Rules": " CreateCostCategoryDefinition supports dimensions, Tags, and nested expressions. Currently the only dimensions supported is LINKED_ACCOUNT. Root level OR is not supported. We recommend you create a separate rule instead. Rules are processed in order. If there are multiple rules that match the line item, then the first rule to match is used to determine that Cost Category value. ", + "Name": "", + "RuleVersion": "" +} +""" +CreateCostCategoryDefinition(args) = cost_explorer("CreateCostCategoryDefinition", args) + +""" + GetRightsizingRecommendation() + +Creates recommendations that helps you save cost by identifying idle and underutilized Amazon EC2 instances. Recommendations are generated to either downsize or terminate instances, along with providing savings detail and metrics. For details on calculation and function, see Optimizing Your Cost with Rightsizing Recommendations. + +Required Parameters +{ + "Service": "The specific service that you want recommendations for. The only valid value for GetRightsizingRecommendation is \"AmazonEC2\"." +} + +Optional Parameters +{ + "NextPageToken": "The pagination token that indicates the next set of results that you want to retrieve.", + "Filter": "", + "PageSize": "The number of recommendations that you want returned in a single response object." +} +""" +GetRightsizingRecommendation(args) = cost_explorer("GetRightsizingRecommendation", args) + +""" + GetSavingsPlansCoverage() + +Retrieves the Savings Plans covered for your account. This enables you to see how much of your cost is covered by a Savings Plan. An organization’s master account can see the coverage of the associated member accounts. For any time period, you can filter data for Savings Plans usage with the following dimensions: LINKED_ACCOUNT REGION SERVICE INSTANCE_FAMILY To determine valid values for a dimension, use the GetDimensionValues operation. + +Required Parameters +{ + "TimePeriod": "The time period that you want the usage and costs for. The Start date must be within 13 months. The End date must be after the Start date, and before the current date. Future dates can't be used as an End date." +} + +Optional Parameters +{ + "GroupBy": "You can group the data using the attributes INSTANCE_FAMILY, REGION, or SERVICE.", + "MaxResults": "The number of items to be returned in a response. The default is 20, with a minimum value of 1.", + "NextToken": "The token to retrieve the next set of results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size.", + "Filter": "Filters Savings Plans coverage data by dimensions. You can filter data for Savings Plans usage with the following dimensions: LINKED_ACCOUNT REGION SERVICE INSTANCE_FAMILY GetSavingsPlansCoverage uses the same Expression object as the other operations, but only AND is supported among each dimension. If there are multiple values for a dimension, they are OR'd together.", + "Granularity": "The granularity of the Amazon Web Services cost data for your Savings Plans. Granularity can't be set if GroupBy is set. The GetSavingsPlansCoverage operation supports only DAILY and MONTHLY granularities.", + "Metrics": "The measurement that you want your Savings Plans coverage reported in. The only valid value is SpendCoveredBySavingsPlans." +} +""" +GetSavingsPlansCoverage(args) = cost_explorer("GetSavingsPlansCoverage", args) + +""" + GetSavingsPlansUtilizationDetails() + +Retrieves attribute data along with aggregate utilization and savings data for a given time period. This doesn't support granular or grouped data (daily/monthly) in response. You can't retrieve data by dates in a single response similar to GetSavingsPlanUtilization, but you have the option to make multiple calls to GetSavingsPlanUtilizationDetails by providing individual dates. You can use GetDimensionValues in SAVINGS_PLANS to determine the possible dimension values. GetSavingsPlanUtilizationDetails internally groups data by SavingsPlansArn. + +Required Parameters +{ + "TimePeriod": "The time period that you want the usage and costs for. The Start date must be within 13 months. The End date must be after the Start date, and before the current date. Future dates can't be used as an End date." +} + +Optional Parameters +{ + "MaxResults": "The number of items to be returned in a response. The default is 20, with a minimum value of 1.", + "NextToken": "The token to retrieve the next set of results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size.", + "Filter": "Filters Savings Plans utilization coverage data for active Savings Plans dimensions. You can filter data with the following dimensions: LINKED_ACCOUNT SAVINGS_PLAN_ARN REGION PAYMENT_OPTION INSTANCE_TYPE_FAMILY GetSavingsPlansUtilizationDetails uses the same Expression object as the other operations, but only AND is supported among each dimension." +} +""" +GetSavingsPlansUtilizationDetails(args) = cost_explorer("GetSavingsPlansUtilizationDetails", args) + +""" + GetCostForecast() + +Retrieves a forecast for how much Amazon Web Services predicts that you will spend over the forecast time period that you select, based on your past costs. + +Required Parameters +{ + "Metric": "Which metric Cost Explorer uses to create your forecast. For more information about blended and unblended rates, see Why does the \"blended\" annotation appear on some line items in my bill?. Valid values for a GetCostForecast call are the following: AMORTIZED_COST BLENDED_COST NET_AMORTIZED_COST NET_UNBLENDED_COST UNBLENDED_COST ", + "TimePeriod": "The period of time that you want the forecast to cover.", + "Granularity": "How granular you want the forecast to be. You can get 3 months of DAILY forecasts or 12 months of MONTHLY forecasts. The GetCostForecast operation supports only DAILY and MONTHLY granularities." +} + +Optional Parameters +{ + "Filter": "The filters that you want to use to filter your forecast. Cost Explorer API supports all of the Cost Explorer filters.", + "PredictionIntervalLevel": "Cost Explorer always returns the mean forecast as a single point. You can request a prediction interval around the mean by specifying a confidence level. The higher the confidence level, the more confident Cost Explorer is about the actual value falling in the prediction interval. Higher confidence levels result in wider prediction intervals." +} +""" +GetCostForecast(args) = cost_explorer("GetCostForecast", args) + +""" + DescribeCostCategoryDefinition() + + Cost Category is in public beta for AWS Billing and Cost Management and is subject to change. Your use of Cost Categories is subject to the Beta Service Participation terms of the AWS Service Terms (Section 1.10). Returns the name, ARN, rules, definition, and effective dates of a Cost Category that's defined in the account. You have the option to use EffectiveOn to return a Cost Category that is active on a specific date. If there is no EffectiveOn specified, you’ll see a Cost Category that is effective on the current date. If Cost Category is still effective, EffectiveEnd is omitted in the response. + +Required Parameters +{ + "CostCategoryArn": " The unique identifier for your Cost Category. " +} + +Optional Parameters +{ + "EffectiveOn": " The date when the Cost Category was effective. " +} +""" +DescribeCostCategoryDefinition(args) = cost_explorer("DescribeCostCategoryDefinition", args) + +""" + GetCostAndUsage() + +Retrieves cost and usage metrics for your account. You can specify which cost and usage-related metric, such as BlendedCosts or UsageQuantity, that you want the request to return. You can also filter and group your data by various dimensions, such as SERVICE or AZ, in a specific time range. For a complete list of valid dimensions, see the GetDimensionValues operation. Master accounts in an organization in AWS Organizations have access to all member accounts. + +Required Parameters +{ + "TimePeriod": "Sets the start and end dates for retrieving AWS costs. The start date is inclusive, but the end date is exclusive. For example, if start is 2017-01-01 and end is 2017-05-01, then the cost and usage data is retrieved from 2017-01-01 up to and including 2017-04-30 but not including 2017-05-01." +} + +Optional Parameters +{ + "GroupBy": "You can group AWS costs using up to two different groups, either dimensions, tag keys, or both. When you group by tag key, you get all tag values, including empty strings. Valid values are AZ, INSTANCE_TYPE, LEGAL_ENTITY_NAME, LINKED_ACCOUNT, OPERATION, PLATFORM, PURCHASE_TYPE, SERVICE, TAGS, TENANCY, RECORD_TYPE, and USAGE_TYPE.", + "NextPageToken": "The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size.", + "Filter": "Filters AWS costs by different dimensions. For example, you can specify SERVICE and LINKED_ACCOUNT and get the costs that are associated with that account's usage of that service. You can nest Expression objects to define any combination of dimension filters. For more information, see Expression. ", + "Granularity": "Sets the AWS cost granularity to MONTHLY or DAILY, or HOURLY. If Granularity isn't set, the response object doesn't include the Granularity, either MONTHLY or DAILY, or HOURLY. ", + "Metrics": "Which metrics are returned in the query. For more information about blended and unblended rates, see Why does the \"blended\" annotation appear on some line items in my bill?. Valid values are AmortizedCost, BlendedCost, NetAmortizedCost, NetUnblendedCost, NormalizedUsageAmount, UnblendedCost, and UsageQuantity. If you return the UsageQuantity metric, the service aggregates all usage numbers without taking into account the units. For example, if you aggregate usageQuantity across all of Amazon EC2, the results aren't meaningful because Amazon EC2 compute hours and data transfer are measured in different units (for example, hours vs. GB). To get more meaningful UsageQuantity metrics, filter by UsageType or UsageTypeGroups. Metrics is required for GetCostAndUsage requests." +} +""" +GetCostAndUsage(args) = cost_explorer("GetCostAndUsage", args) + +""" + GetReservationPurchaseRecommendation() + +Gets recommendations for which reservations to purchase. These recommendations could help you reduce your costs. Reservations provide a discounted hourly rate (up to 75%) compared to On-Demand pricing. AWS generates your recommendations by identifying your On-Demand usage during a specific time period and collecting your usage into categories that are eligible for a reservation. After AWS has these categories, it simulates every combination of reservations in each category of usage to identify the best number of each type of RI to purchase to maximize your estimated savings. For example, AWS automatically aggregates your Amazon EC2 Linux, shared tenancy, and c4 family usage in the US West (Oregon) Region and recommends that you buy size-flexible regional reservations to apply to the c4 family usage. AWS recommends the smallest size instance in an instance family. This makes it easier to purchase a size-flexible RI. AWS also shows the equal number of normalized units so that you can purchase any instance size that you want. For this example, your RI recommendation would be for c4.large because that is the smallest size instance in the c4 instance family. + +Required Parameters +{ + "Service": "The specific service that you want recommendations for." +} + +Optional Parameters +{ + "ServiceSpecification": "The hardware specifications for the service instances that you want recommendations for, such as standard or convertible Amazon EC2 instances.", + "NextPageToken": "The pagination token that indicates the next set of results that you want to retrieve.", + "TermInYears": "The reservation term that you want recommendations for.", + "AccountId": "The account ID that is associated with the recommendation. ", + "PageSize": "The number of recommendations that you want returned in a single response object.", + "PaymentOption": "The reservation purchase option that you want recommendations for.", + "LookbackPeriodInDays": "The number of previous days that you want AWS to consider when it calculates your recommendations.", + "AccountScope": "The account scope that you want your recommendations for. Amazon Web Services calculates recommendations including the payer account and linked accounts if the value is set to PAYER. If the value is LINKED, recommendations are calculated for individual linked accounts only." +} +""" +GetReservationPurchaseRecommendation(args) = cost_explorer("GetReservationPurchaseRecommendation", args) + +""" + DeleteCostCategoryDefinition() + + Cost Category is in public beta for AWS Billing and Cost Management and is subject to change. Your use of Cost Categories is subject to the Beta Service Participation terms of the AWS Service Terms (Section 1.10). Deletes a Cost Category. Expenses from this month going forward will no longer be categorized with this Cost Category. + +Required Parameters +{ + "CostCategoryArn": " The unique identifier for your Cost Category. " +} +""" +DeleteCostCategoryDefinition(args) = cost_explorer("DeleteCostCategoryDefinition", args) + +""" + UpdateCostCategoryDefinition() + + Cost Category is in public beta for AWS Billing and Cost Management and is subject to change. Your use of Cost Categories is subject to the Beta Service Participation terms of the AWS Service Terms (Section 1.10). Updates an existing Cost Category. Changes made to the Cost Category rules will be used to categorize the current month’s expenses and future expenses. This won’t change categorization for the previous months. + +Required Parameters +{ + "Rules": " UpdateCostCategoryDefinition supports dimensions, Tags, and nested expressions. Currently the only dimensions supported is LINKED_ACCOUNT. Root level OR is not supported. We recommend you create a separate rule instead. Rules are processed in order. If there are multiple rules that match the line item, then the first rule to match is used to determine that Cost Category value. ", + "CostCategoryArn": "The unique identifier for your Cost Category.", + "RuleVersion": "" +} +""" +UpdateCostCategoryDefinition(args) = cost_explorer("UpdateCostCategoryDefinition", args) + +""" + ListCostCategoryDefinitions() + + Cost Category is in public beta for AWS Billing and Cost Management and is subject to change. Your use of Cost Categories is subject to the Beta Service Participation terms of the AWS Service Terms (Section 1.10). Returns the name, ARN and effective dates of all Cost Categories defined in the account. You have the option to use EffectiveOn to return a list of Cost Categories that were active on a specific date. If there is no EffectiveOn specified, you’ll see Cost Categories that are effective on the current date. If Cost Category is still effective, EffectiveEnd is omitted in the response. + +Optional Parameters +{ + "EffectiveOn": " The date when the Cost Category was effective. ", + "NextToken": " The token to retrieve the next set of results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size. You can use this information to retrieve the full Cost Category information using DescribeCostCategory." +} +""" +ListCostCategoryDefinitions() = cost_explorer("ListCostCategoryDefinitions") +ListCostCategoryDefinitions(args) = cost_explorer("ListCostCategoryDefinitions", args) diff --git a/src/services/data_pipeline.jl b/src/services/data_pipeline.jl new file mode 100644 index 0000000000..d522e90d11 --- /dev/null +++ b/src/services/data_pipeline.jl @@ -0,0 +1,314 @@ +include("../AWSServices.jl") +using .AWSServices: data_pipeline + +""" + ActivatePipeline() + +Validates the specified pipeline and starts processing pipeline tasks. If the pipeline does not pass validation, activation fails. If you need to pause the pipeline to investigate an issue with a component, such as a data source or script, call DeactivatePipeline. To activate a finished pipeline, modify the end date for the pipeline and then activate it. + +Required Parameters +{ + "pipelineId": "The ID of the pipeline." +} + +Optional Parameters +{ + "parameterValues": "A list of parameter values to pass to the pipeline at activation.", + "startTimestamp": "The date and time to resume the pipeline. By default, the pipeline resumes from the last completed execution." +} +""" +ActivatePipeline(args) = data_pipeline("ActivatePipeline", args) + +""" + DeactivatePipeline() + +Deactivates the specified running pipeline. The pipeline is set to the DEACTIVATING state until the deactivation process completes. To resume a deactivated pipeline, use ActivatePipeline. By default, the pipeline resumes from the last completed execution. Optionally, you can specify the date and time to resume the pipeline. + +Required Parameters +{ + "pipelineId": "The ID of the pipeline." +} + +Optional Parameters +{ + "cancelActive": "Indicates whether to cancel any running objects. The default is true, which sets the state of any running objects to CANCELED. If this value is false, the pipeline is deactivated after all running objects finish." +} +""" +DeactivatePipeline(args) = data_pipeline("DeactivatePipeline", args) + +""" + QueryObjects() + +Queries the specified pipeline for the names of objects that match the specified set of conditions. + +Required Parameters +{ + "sphere": "Indicates whether the query applies to components or instances. The possible values are: COMPONENT, INSTANCE, and ATTEMPT.", + "pipelineId": "The ID of the pipeline." +} + +Optional Parameters +{ + "marker": "The starting point for the results to be returned. For the first call, this value should be empty. As long as there are more results, continue to call QueryObjects with the marker value from the previous call to retrieve the next set of results.", + "query": "The query that defines the objects to be returned. The Query object can contain a maximum of ten selectors. The conditions in the query are limited to top-level String fields in the object. These filters can be applied to components, instances, and attempts.", + "limit": "The maximum number of object names that QueryObjects will return in a single call. The default value is 100. " +} +""" +QueryObjects(args) = data_pipeline("QueryObjects", args) + +""" + ReportTaskRunnerHeartbeat() + +Task runners call ReportTaskRunnerHeartbeat every 15 minutes to indicate that they are operational. If the AWS Data Pipeline Task Runner is launched on a resource managed by AWS Data Pipeline, the web service can use this call to detect when the task runner application has failed and restart a new instance. + +Required Parameters +{ + "taskrunnerId": "The ID of the task runner. This value should be unique across your AWS account. In the case of AWS Data Pipeline Task Runner launched on a resource managed by AWS Data Pipeline, the web service provides a unique identifier when it launches the application. If you have written a custom task runner, you should assign a unique identifier for the task runner." +} + +Optional Parameters +{ + "hostname": "The public DNS name of the task runner.", + "workerGroup": "The type of task the task runner is configured to accept and process. The worker group is set as a field on objects in the pipeline when they are created. You can only specify a single value for workerGroup. There are no wildcard values permitted in workerGroup; the string must be an exact, case-sensitive, match." +} +""" +ReportTaskRunnerHeartbeat(args) = data_pipeline("ReportTaskRunnerHeartbeat", args) + +""" + EvaluateExpression() + +Task runners call EvaluateExpression to evaluate a string in the context of the specified object. For example, a task runner can evaluate SQL queries stored in Amazon S3. + +Required Parameters +{ + "objectId": "The ID of the object.", + "expression": "The expression to evaluate.", + "pipelineId": "The ID of the pipeline." +} +""" +EvaluateExpression(args) = data_pipeline("EvaluateExpression", args) + +""" + PollForTask() + +Task runners call PollForTask to receive a task to perform from AWS Data Pipeline. The task runner specifies which tasks it can perform by setting a value for the workerGroup parameter. The task returned can come from any of the pipelines that match the workerGroup value passed in by the task runner and that was launched using the IAM user credentials specified by the task runner. If tasks are ready in the work queue, PollForTask returns a response immediately. If no tasks are available in the queue, PollForTask uses long-polling and holds on to a poll connection for up to a 90 seconds, during which time the first newly scheduled task is handed to the task runner. To accomodate this, set the socket timeout in your task runner to 90 seconds. The task runner should not call PollForTask again on the same workerGroup until it receives a response, and this can take up to 90 seconds. + +Required Parameters +{ + "workerGroup": "The type of task the task runner is configured to accept and process. The worker group is set as a field on objects in the pipeline when they are created. You can only specify a single value for workerGroup in the call to PollForTask. There are no wildcard values permitted in workerGroup; the string must be an exact, case-sensitive, match." +} + +Optional Parameters +{ + "hostname": "The public DNS name of the calling task runner.", + "instanceIdentity": "Identity information for the EC2 instance that is hosting the task runner. You can get this value from the instance using http://169.254.169.254/latest/meta-data/instance-id. For more information, see Instance Metadata in the Amazon Elastic Compute Cloud User Guide. Passing in this value proves that your task runner is running on an EC2 instance, and ensures the proper AWS Data Pipeline service charges are applied to your pipeline." +} +""" +PollForTask(args) = data_pipeline("PollForTask", args) + +""" + ValidatePipelineDefinition() + +Validates the specified pipeline definition to ensure that it is well formed and can be run without error. + +Required Parameters +{ + "pipelineObjects": "The objects that define the pipeline changes to validate against the pipeline.", + "pipelineId": "The ID of the pipeline." +} + +Optional Parameters +{ + "parameterValues": "The parameter values used with the pipeline.", + "parameterObjects": "The parameter objects used with the pipeline." +} +""" +ValidatePipelineDefinition(args) = data_pipeline("ValidatePipelineDefinition", args) + +""" + CreatePipeline() + +Creates a new, empty pipeline. Use PutPipelineDefinition to populate the pipeline. + +Required Parameters +{ + "name": "The name for the pipeline. You can use the same name for multiple pipelines associated with your AWS account, because AWS Data Pipeline assigns each pipeline a unique pipeline identifier.", + "uniqueId": "A unique identifier. This identifier is not the same as the pipeline identifier assigned by AWS Data Pipeline. You are responsible for defining the format and ensuring the uniqueness of this identifier. You use this parameter to ensure idempotency during repeated calls to CreatePipeline. For example, if the first call to CreatePipeline does not succeed, you can pass in the same unique identifier and pipeline name combination on a subsequent call to CreatePipeline. CreatePipeline ensures that if a pipeline already exists with the same name and unique identifier, a new pipeline is not created. Instead, you'll receive the pipeline identifier from the previous attempt. The uniqueness of the name and unique identifier combination is scoped to the AWS account or IAM user credentials." +} + +Optional Parameters +{ + "tags": "A list of tags to associate with the pipeline at creation. Tags let you control access to pipelines. For more information, see Controlling User Access to Pipelines in the AWS Data Pipeline Developer Guide.", + "description": "The description for the pipeline." +} +""" +CreatePipeline(args) = data_pipeline("CreatePipeline", args) + +""" + DescribeObjects() + +Gets the object definitions for a set of objects associated with the pipeline. Object definitions are composed of a set of fields that define the properties of the object. + +Required Parameters +{ + "objectIds": "The IDs of the pipeline objects that contain the definitions to be described. You can pass as many as 25 identifiers in a single call to DescribeObjects.", + "pipelineId": "The ID of the pipeline that contains the object definitions." +} + +Optional Parameters +{ + "marker": "The starting point for the results to be returned. For the first call, this value should be empty. As long as there are more results, continue to call DescribeObjects with the marker value from the previous call to retrieve the next set of results.", + "evaluateExpressions": "Indicates whether any expressions in the object should be evaluated when the object descriptions are returned." +} +""" +DescribeObjects(args) = data_pipeline("DescribeObjects", args) + +""" + RemoveTags() + +Removes existing tags from the specified pipeline. + +Required Parameters +{ + "tagKeys": "The keys of the tags to remove.", + "pipelineId": "The ID of the pipeline." +} +""" +RemoveTags(args) = data_pipeline("RemoveTags", args) + +""" + GetPipelineDefinition() + +Gets the definition of the specified pipeline. You can call GetPipelineDefinition to retrieve the pipeline definition that you provided using PutPipelineDefinition. + +Required Parameters +{ + "pipelineId": "The ID of the pipeline." +} + +Optional Parameters +{ + "version": "The version of the pipeline definition to retrieve. Set this parameter to latest (default) to use the last definition saved to the pipeline or active to use the last definition that was activated." +} +""" +GetPipelineDefinition(args) = data_pipeline("GetPipelineDefinition", args) + +""" + ReportTaskProgress() + +Task runners call ReportTaskProgress when assigned a task to acknowledge that it has the task. If the web service does not receive this acknowledgement within 2 minutes, it assigns the task in a subsequent PollForTask call. After this initial acknowledgement, the task runner only needs to report progress every 15 minutes to maintain its ownership of the task. You can change this reporting time from 15 minutes by specifying a reportProgressTimeout field in your pipeline. If a task runner does not report its status after 5 minutes, AWS Data Pipeline assumes that the task runner is unable to process the task and reassigns the task in a subsequent response to PollForTask. Task runners should call ReportTaskProgress every 60 seconds. + +Required Parameters +{ + "taskId": "The ID of the task assigned to the task runner. This value is provided in the response for PollForTask." +} + +Optional Parameters +{ + "fields": "Key-value pairs that define the properties of the ReportTaskProgressInput object." +} +""" +ReportTaskProgress(args) = data_pipeline("ReportTaskProgress", args) + +""" + PutPipelineDefinition() + +Adds tasks, schedules, and preconditions to the specified pipeline. You can use PutPipelineDefinition to populate a new pipeline. PutPipelineDefinition also validates the configuration as it adds it to the pipeline. Changes to the pipeline are saved unless one of the following three validation errors exists in the pipeline. An object is missing a name or identifier field. A string or reference field is empty. The number of objects in the pipeline exceeds the maximum allowed objects. The pipeline is in a FINISHED state. Pipeline object definitions are passed to the PutPipelineDefinition action and returned by the GetPipelineDefinition action. + +Required Parameters +{ + "pipelineObjects": "The objects that define the pipeline. These objects overwrite the existing pipeline definition.", + "pipelineId": "The ID of the pipeline." +} + +Optional Parameters +{ + "parameterValues": "The parameter values used with the pipeline.", + "parameterObjects": "The parameter objects used with the pipeline." +} +""" +PutPipelineDefinition(args) = data_pipeline("PutPipelineDefinition", args) + +""" + SetStatus() + +Requests that the status of the specified physical or logical pipeline objects be updated in the specified pipeline. This update might not occur immediately, but is eventually consistent. The status that can be set depends on the type of object (for example, DataNode or Activity). You cannot perform this operation on FINISHED pipelines and attempting to do so returns InvalidRequestException. + +Required Parameters +{ + "status": "The status to be set on all the objects specified in objectIds. For components, use PAUSE or RESUME. For instances, use TRY_CANCEL, RERUN, or MARK_FINISHED.", + "objectIds": "The IDs of the objects. The corresponding objects can be either physical or components, but not a mix of both types.", + "pipelineId": "The ID of the pipeline that contains the objects." +} +""" +SetStatus(args) = data_pipeline("SetStatus", args) + +""" + DescribePipelines() + +Retrieves metadata about one or more pipelines. The information retrieved includes the name of the pipeline, the pipeline identifier, its current state, and the user account that owns the pipeline. Using account credentials, you can retrieve metadata about pipelines that you or your IAM users have created. If you are using an IAM user account, you can retrieve metadata about only those pipelines for which you have read permissions. To retrieve the full pipeline definition instead of metadata about the pipeline, call GetPipelineDefinition. + +Required Parameters +{ + "pipelineIds": "The IDs of the pipelines to describe. You can pass as many as 25 identifiers in a single call. To obtain pipeline IDs, call ListPipelines." +} +""" +DescribePipelines(args) = data_pipeline("DescribePipelines", args) + +""" + SetTaskStatus() + +Task runners call SetTaskStatus to notify AWS Data Pipeline that a task is completed and provide information about the final status. A task runner makes this call regardless of whether the task was sucessful. A task runner does not need to call SetTaskStatus for tasks that are canceled by the web service during a call to ReportTaskProgress. + +Required Parameters +{ + "taskStatus": "If FINISHED, the task successfully completed. If FAILED, the task ended unsuccessfully. Preconditions use false.", + "taskId": "The ID of the task assigned to the task runner. This value is provided in the response for PollForTask." +} + +Optional Parameters +{ + "errorId": "If an error occurred during the task, this value specifies the error code. This value is set on the physical attempt object. It is used to display error information to the user. It should not start with string \"Service_\" which is reserved by the system.", + "errorStackTrace": "If an error occurred during the task, this value specifies the stack trace associated with the error. This value is set on the physical attempt object. It is used to display error information to the user. The web service does not parse this value.", + "errorMessage": "If an error occurred during the task, this value specifies a text description of the error. This value is set on the physical attempt object. It is used to display error information to the user. The web service does not parse this value." +} +""" +SetTaskStatus(args) = data_pipeline("SetTaskStatus", args) + +""" + AddTags() + +Adds or modifies tags for the specified pipeline. + +Required Parameters +{ + "tags": "The tags to add, as key/value pairs.", + "pipelineId": "The ID of the pipeline." +} +""" +AddTags(args) = data_pipeline("AddTags", args) + +""" + DeletePipeline() + +Deletes a pipeline, its pipeline definition, and its run history. AWS Data Pipeline attempts to cancel instances associated with the pipeline that are currently being processed by task runners. Deleting a pipeline cannot be undone. You cannot query or restore a deleted pipeline. To temporarily pause a pipeline instead of deleting it, call SetStatus with the status set to PAUSE on individual components. Components that are paused by SetStatus can be resumed. + +Required Parameters +{ + "pipelineId": "The ID of the pipeline." +} +""" +DeletePipeline(args) = data_pipeline("DeletePipeline", args) + +""" + ListPipelines() + +Lists the pipeline identifiers for all active pipelines that you have permission to access. + +Optional Parameters +{ + "marker": "The starting point for the results to be returned. For the first call, this value should be empty. As long as there are more results, continue to call ListPipelines with the marker value from the previous call to retrieve the next set of results." +} +""" +ListPipelines() = data_pipeline("ListPipelines") +ListPipelines(args) = data_pipeline("ListPipelines", args) diff --git a/src/services/database_migration_service.jl b/src/services/database_migration_service.jl new file mode 100644 index 0000000000..1bb5f27d7c --- /dev/null +++ b/src/services/database_migration_service.jl @@ -0,0 +1,798 @@ +include("../AWSServices.jl") +using .AWSServices: database_migration_service + +""" + CreateEndpoint() + +Creates an endpoint using the provided settings. + +Required Parameters +{ + "EngineName": "The type of engine for the endpoint. Valid values, depending on the EndpointType value, include \"mysql\", \"oracle\", \"postgres\", \"mariadb\", \"aurora\", \"aurora-postgresql\", \"redshift\", \"s3\", \"db2\", \"azuredb\", \"sybase\", \"dynamodb\", \"mongodb\", \"kinesis\", \"kafka\", \"elasticsearch\", \"documentdb\", and \"sqlserver\".", + "EndpointType": "The type of endpoint. Valid values are source and target.", + "EndpointIdentifier": "The database endpoint identifier. Identifiers must begin with a letter and must contain only ASCII letters, digits, and hyphens. They can't end with a hyphen or contain two consecutive hyphens." +} + +Optional Parameters +{ + "Password": "The password to be used to log in to the endpoint database.", + "DatabaseName": "The name of the endpoint database.", + "ServiceAccessRoleArn": " The Amazon Resource Name (ARN) for the service access role that you want to use to create the endpoint. ", + "DmsTransferSettings": "The settings in JSON format for the DMS transfer type of source endpoint. Possible settings include the following: ServiceAccessRoleArn - The IAM role that has permission to access the Amazon S3 bucket. BucketName - The name of the S3 bucket to use. CompressionType - An optional parameter to use GZIP to compress the target files. To use GZIP, set this value to NONE (the default). To keep the files uncompressed, don't use this value. Shorthand syntax for these settings is as follows: ServiceAccessRoleArn=string,BucketName=string,CompressionType=string JSON syntax for these settings is as follows: { \"ServiceAccessRoleArn\": \"string\", \"BucketName\": \"string\", \"CompressionType\": \"none\"|\"gzip\" } ", + "CertificateArn": "The Amazon Resource Name (ARN) for the certificate.", + "KinesisSettings": "Settings in JSON format for the target endpoint for Amazon Kinesis Data Streams. For information about other available settings, see Using Object Mapping to Migrate Data to a Kinesis Data Stream in the AWS Database Migration User Guide. ", + "SslMode": "The Secure Sockets Layer (SSL) mode to use for the SSL connection. The default is none ", + "Username": "The user name to be used to log in to the endpoint database.", + "Tags": "One or more tags to be assigned to the endpoint.", + "MongoDbSettings": "Settings in JSON format for the source MongoDB endpoint. For more information about the available settings, see the configuration properties section in Using MongoDB as a Target for AWS Database Migration Service in the AWS Database Migration Service User Guide. ", + "RedshiftSettings": "", + "S3Settings": "Settings in JSON format for the target Amazon S3 endpoint. For more information about the available settings, see Extra Connection Attributes When Using Amazon S3 as a Target for AWS DMS in the AWS Database Migration Service User Guide. ", + "ElasticsearchSettings": "Settings in JSON format for the target Elasticsearch endpoint. For more information about the available settings, see Extra Connection Attributes When Using Elasticsearch as a Target for AWS DMS in the AWS Database Migration User Guide. ", + "Port": "The port used by the endpoint database.", + "ExternalTableDefinition": "The external table definition. ", + "DynamoDbSettings": "Settings in JSON format for the target Amazon DynamoDB endpoint. For information about other available settings, see Using Object Mapping to Migrate Data to DynamoDB in the AWS Database Migration Service User Guide. ", + "ExtraConnectionAttributes": "Additional attributes associated with the connection. Each attribute is specified as a name-value pair associated by an equal sign (=). Multiple attributes are separated by a semicolon (;) with no additional white space. For information on the attributes available for connecting your source or target endpoint, see Working with AWS DMS Endpoints in the AWS Database Migration Service User Guide. ", + "KmsKeyId": "An AWS KMS key identifier that is used to encrypt the connection parameters for the endpoint. If you don't specify a value for the KmsKeyId parameter, then AWS DMS uses your default encryption key. AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS Region.", + "ServerName": "The name of the server where the endpoint database resides.", + "KafkaSettings": "Settings in JSON format for the target Apache Kafka endpoint. For information about other available settings, see Using Object Mapping to Migrate Data to Apache Kafka in the AWS Database Migration User Guide. " +} +""" +CreateEndpoint(args) = database_migration_service("CreateEndpoint", args) + +""" + StartReplicationTaskAssessment() + + Starts the replication task assessment for unsupported data types in the source database. + +Required Parameters +{ + "ReplicationTaskArn": " The Amazon Resource Name (ARN) of the replication task. " +} +""" +StartReplicationTaskAssessment(args) = database_migration_service("StartReplicationTaskAssessment", args) + +""" + DeleteReplicationTask() + +Deletes the specified replication task. + +Required Parameters +{ + "ReplicationTaskArn": "The Amazon Resource Name (ARN) of the replication task to be deleted." +} +""" +DeleteReplicationTask(args) = database_migration_service("DeleteReplicationTask", args) + +""" + TestConnection() + +Tests the connection between the replication instance and the endpoint. + +Required Parameters +{ + "ReplicationInstanceArn": "The Amazon Resource Name (ARN) of the replication instance.", + "EndpointArn": "The Amazon Resource Name (ARN) string that uniquely identifies the endpoint." +} +""" +TestConnection(args) = database_migration_service("TestConnection", args) + +""" + CreateReplicationTask() + +Creates a replication task using the specified parameters. + +Required Parameters +{ + "TableMappings": "The table mappings for the task, in JSON format. For more information, see Table Mapping in the AWS Database Migration User Guide. ", + "TargetEndpointArn": "An Amazon Resource Name (ARN) that uniquely identifies the target endpoint.", + "ReplicationInstanceArn": "The Amazon Resource Name (ARN) of a replication instance.", + "SourceEndpointArn": "An Amazon Resource Name (ARN) that uniquely identifies the source endpoint.", + "MigrationType": "The migration type. Valid values: full-load | cdc | full-load-and-cdc ", + "ReplicationTaskIdentifier": "An identifier for the replication task. Constraints: Must contain from 1 to 255 alphanumeric characters or hyphens. First character must be a letter. Cannot end with a hyphen or contain two consecutive hyphens. " +} + +Optional Parameters +{ + "Tags": "One or more tags to be assigned to the replication task.", + "CdcStopPosition": "Indicates when you want a change data capture (CDC) operation to stop. The value can be either server time or commit time. Server time example: --cdc-stop-position “server_time:3018-02-09T12:12:12” Commit time example: --cdc-stop-position “commit_time: 3018-02-09T12:12:12 “", + "ReplicationTaskSettings": "Overall settings for the task, in JSON format. For more information, see Task Settings in the AWS Database Migration User Guide. ", + "CdcStartTime": "Indicates the start time for a change data capture (CDC) operation. Use either CdcStartTime or CdcStartPosition to specify when you want a CDC operation to start. Specifying both values results in an error. Timestamp Example: --cdc-start-time “2018-03-08T12:12:12”", + "CdcStartPosition": "Indicates when you want a change data capture (CDC) operation to start. Use either CdcStartPosition or CdcStartTime to specify when you want a CDC operation to start. Specifying both values results in an error. The value can be in date, checkpoint, or LSN/SCN format. Date Example: --cdc-start-position “2018-03-08T12:12:12” Checkpoint Example: --cdc-start-position \"checkpoint:V1#27#mysql-bin-changelog.157832:1975:-1:2002:677883278264080:mysql-bin-changelog.157832:1876#0#0#*#0#93\" LSN Example: --cdc-start-position “mysql-bin-changelog.000024:373” When you use this task setting with a source PostgreSQL database, a logical replication slot should already be created and associated with the source endpoint. You can verify this by setting the slotName extra connection attribute to the name of this logical replication slot. For more information, see Extra Connection Attributes When Using PostgreSQL as a Source for AWS DMS. " +} +""" +CreateReplicationTask(args) = database_migration_service("CreateReplicationTask", args) + +""" + DeleteReplicationSubnetGroup() + +Deletes a subnet group. + +Required Parameters +{ + "ReplicationSubnetGroupIdentifier": "The subnet group name of the replication instance." +} +""" +DeleteReplicationSubnetGroup(args) = database_migration_service("DeleteReplicationSubnetGroup", args) + +""" + DescribeEventCategories() + +Lists categories for all event source types, or, if specified, for a specified source type. You can see a list of the event categories and source types in Working with Events and Notifications in the AWS Database Migration Service User Guide. + +Optional Parameters +{ + "SourceType": " The type of AWS DMS resource that generates events. Valid values: replication-instance | replication-task", + "Filters": "Filters applied to the action." +} +""" +DescribeEventCategories() = database_migration_service("DescribeEventCategories") +DescribeEventCategories(args) = database_migration_service("DescribeEventCategories", args) + +""" + DeleteReplicationInstance() + +Deletes the specified replication instance. You must delete any migration tasks that are associated with the replication instance before you can delete it. + +Required Parameters +{ + "ReplicationInstanceArn": "The Amazon Resource Name (ARN) of the replication instance to be deleted." +} +""" +DeleteReplicationInstance(args) = database_migration_service("DeleteReplicationInstance", args) + +""" + RefreshSchemas() + +Populates the schema for the specified endpoint. This is an asynchronous operation and can take several minutes. You can check the status of this operation by calling the DescribeRefreshSchemasStatus operation. + +Required Parameters +{ + "ReplicationInstanceArn": "The Amazon Resource Name (ARN) of the replication instance.", + "EndpointArn": "The Amazon Resource Name (ARN) string that uniquely identifies the endpoint." +} +""" +RefreshSchemas(args) = database_migration_service("RefreshSchemas", args) + +""" + DescribeEndpoints() + +Returns information about the endpoints for your account in the current region. + +Optional Parameters +{ + "MaxRecords": " The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved. Default: 100 Constraints: Minimum 20, maximum 100.", + "Marker": " An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords. ", + "Filters": "Filters applied to the describe action. Valid filter names: endpoint-arn | endpoint-type | endpoint-id | engine-name" +} +""" +DescribeEndpoints() = database_migration_service("DescribeEndpoints") +DescribeEndpoints(args) = database_migration_service("DescribeEndpoints", args) + +""" + DeleteEventSubscription() + + Deletes an AWS DMS event subscription. + +Required Parameters +{ + "SubscriptionName": "The name of the DMS event notification subscription to be deleted." +} +""" +DeleteEventSubscription(args) = database_migration_service("DeleteEventSubscription", args) + +""" + ModifyEventSubscription() + +Modifies an existing AWS DMS event notification subscription. + +Required Parameters +{ + "SubscriptionName": "The name of the AWS DMS event notification subscription to be modified." +} + +Optional Parameters +{ + "SourceType": " The type of AWS DMS resource that generates the events you want to subscribe to. Valid values: replication-instance | replication-task", + "SnsTopicArn": " The Amazon Resource Name (ARN) of the Amazon SNS topic created for event notification. The ARN is created by Amazon SNS when you create a topic and subscribe to it.", + "EventCategories": " A list of event categories for a source type that you want to subscribe to. Use the DescribeEventCategories action to see a list of event categories. ", + "Enabled": " A Boolean value; set to true to activate the subscription. " +} +""" +ModifyEventSubscription(args) = database_migration_service("ModifyEventSubscription", args) + +""" + ModifyReplicationInstance() + +Modifies the replication instance to apply new settings. You can change one or more parameters by specifying these parameters and the new values in the request. Some settings are applied during the maintenance window. + +Required Parameters +{ + "ReplicationInstanceArn": "The Amazon Resource Name (ARN) of the replication instance." +} + +Optional Parameters +{ + "AllowMajorVersionUpgrade": "Indicates that major version upgrades are allowed. Changing this parameter does not result in an outage, and the change is asynchronously applied as soon as possible. This parameter must be set to true when specifying a value for the EngineVersion parameter that is a different major version than the replication instance's current version.", + "ReplicationInstanceIdentifier": "The replication instance identifier. This parameter is stored as a lowercase string.", + "EngineVersion": "The engine version number of the replication instance.", + "PreferredMaintenanceWindow": "The weekly time range (in UTC) during which system maintenance can occur, which might result in an outage. Changing this parameter does not result in an outage, except in the following situation, and the change is asynchronously applied as soon as possible. If moving this window to the current time, there must be at least 30 minutes between the current time and end of the window to ensure pending changes are applied. Default: Uses existing setting Format: ddd:hh24:mi-ddd:hh24:mi Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun Constraints: Must be at least 30 minutes", + "ApplyImmediately": "Indicates whether the changes should be applied immediately or during the next maintenance window.", + "VpcSecurityGroupIds": " Specifies the VPC security group to be used with the replication instance. The VPC security group must work with the VPC containing the replication instance. ", + "AutoMinorVersionUpgrade": "A value that indicates that minor version upgrades are applied automatically to the replication instance during the maintenance window. Changing this parameter doesn't result in an outage, except in the case dsecribed following. The change is asynchronously applied as soon as possible. An outage does result if these factors apply: This parameter is set to true during the maintenance window. A newer minor version is available. AWS DMS has enabled automatic patching for the given engine version. ", + "ReplicationInstanceClass": "The compute and memory capacity of the replication instance. Valid Values: dms.t2.micro | dms.t2.small | dms.t2.medium | dms.t2.large | dms.c4.large | dms.c4.xlarge | dms.c4.2xlarge | dms.c4.4xlarge ", + "MultiAZ": " Specifies whether the replication instance is a Multi-AZ deployment. You can't set the AvailabilityZone parameter if the Multi-AZ parameter is set to true. ", + "AllocatedStorage": "The amount of storage (in gigabytes) to be allocated for the replication instance." +} +""" +ModifyReplicationInstance(args) = database_migration_service("ModifyReplicationInstance", args) + +""" + DescribeReplicationInstanceTaskLogs() + +Returns information about the task logs for the specified task. + +Required Parameters +{ + "ReplicationInstanceArn": "The Amazon Resource Name (ARN) of the replication instance." +} + +Optional Parameters +{ + "MaxRecords": " The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved. Default: 100 Constraints: Minimum 20, maximum 100.", + "Marker": " An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords." +} +""" +DescribeReplicationInstanceTaskLogs(args) = database_migration_service("DescribeReplicationInstanceTaskLogs", args) + +""" + ModifyReplicationTask() + +Modifies the specified replication task. You can't modify the task endpoints. The task must be stopped before you can modify it. For more information about AWS DMS tasks, see Working with Migration Tasks in the AWS Database Migration Service User Guide. + +Required Parameters +{ + "ReplicationTaskArn": "The Amazon Resource Name (ARN) of the replication task." +} + +Optional Parameters +{ + "TableMappings": "When using the AWS CLI or boto3, provide the path of the JSON file that contains the table mappings. Precede the path with file://. When working with the DMS API, provide the JSON as the parameter value, for example: --table-mappings file://mappingfile.json ", + "CdcStopPosition": "Indicates when you want a change data capture (CDC) operation to stop. The value can be either server time or commit time. Server time example: --cdc-stop-position “server_time:3018-02-09T12:12:12” Commit time example: --cdc-stop-position “commit_time: 3018-02-09T12:12:12 “", + "MigrationType": "The migration type. Valid values: full-load | cdc | full-load-and-cdc ", + "ReplicationTaskSettings": "JSON file that contains settings for the task, such as target metadata settings.", + "CdcStartTime": "Indicates the start time for a change data capture (CDC) operation. Use either CdcStartTime or CdcStartPosition to specify when you want a CDC operation to start. Specifying both values results in an error. Timestamp Example: --cdc-start-time “2018-03-08T12:12:12”", + "ReplicationTaskIdentifier": "The replication task identifier. Constraints: Must contain from 1 to 255 alphanumeric characters or hyphens. First character must be a letter. Cannot end with a hyphen or contain two consecutive hyphens. ", + "CdcStartPosition": "Indicates when you want a change data capture (CDC) operation to start. Use either CdcStartPosition or CdcStartTime to specify when you want a CDC operation to start. Specifying both values results in an error. The value can be in date, checkpoint, or LSN/SCN format. Date Example: --cdc-start-position “2018-03-08T12:12:12” Checkpoint Example: --cdc-start-position \"checkpoint:V1#27#mysql-bin-changelog.157832:1975:-1:2002:677883278264080:mysql-bin-changelog.157832:1876#0#0#*#0#93\" LSN Example: --cdc-start-position “mysql-bin-changelog.000024:373” When you use this task setting with a source PostgreSQL database, a logical replication slot should already be created and associated with the source endpoint. You can verify this by setting the slotName extra connection attribute to the name of this logical replication slot. For more information, see Extra Connection Attributes When Using PostgreSQL as a Source for AWS DMS. " +} +""" +ModifyReplicationTask(args) = database_migration_service("ModifyReplicationTask", args) + +""" + CreateEventSubscription() + + Creates an AWS DMS event notification subscription. You can specify the type of source (SourceType) you want to be notified of, provide a list of AWS DMS source IDs (SourceIds) that triggers the events, and provide a list of event categories (EventCategories) for events you want to be notified of. If you specify both the SourceType and SourceIds, such as SourceType = replication-instance and SourceIdentifier = my-replinstance, you will be notified of all the replication instance events for the specified source. If you specify a SourceType but don't specify a SourceIdentifier, you receive notice of the events for that source type for all your AWS DMS sources. If you don't specify either SourceType nor SourceIdentifier, you will be notified of events generated from all AWS DMS sources belonging to your customer account. For more information about AWS DMS events, see Working with Events and Notifications in the AWS Database Migration Service User Guide. + +Required Parameters +{ + "SubscriptionName": "The name of the AWS DMS event notification subscription. This name must be less than 255 characters.", + "SnsTopicArn": " The Amazon Resource Name (ARN) of the Amazon SNS topic created for event notification. The ARN is created by Amazon SNS when you create a topic and subscribe to it. " +} + +Optional Parameters +{ + "SourceIds": "A list of identifiers for which AWS DMS provides notification events. If you don't specify a value, notifications are provided for all sources. If you specify multiple values, they must be of the same type. For example, if you specify a database instance ID, then all of the other values must be database instance IDs.", + "Tags": "One or more tags to be assigned to the event subscription.", + "SourceType": " The type of AWS DMS resource that generates the events. For example, if you want to be notified of events generated by a replication instance, you set this parameter to replication-instance. If this value isn't specified, all events are returned. Valid values: replication-instance | replication-task ", + "EventCategories": "A list of event categories for a source type that you want to subscribe to. For more information, see Working with Events and Notifications in the AWS Database Migration Service User Guide. ", + "Enabled": " A Boolean value; set to true to activate the subscription, or set to false to create the subscription but not activate it. " +} +""" +CreateEventSubscription(args) = database_migration_service("CreateEventSubscription", args) + +""" + DescribeReplicationInstances() + +Returns information about replication instances for your account in the current region. + +Optional Parameters +{ + "MaxRecords": " The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved. Default: 100 Constraints: Minimum 20, maximum 100.", + "Marker": " An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords. ", + "Filters": "Filters applied to the describe action. Valid filter names: replication-instance-arn | replication-instance-id | replication-instance-class | engine-version" +} +""" +DescribeReplicationInstances() = database_migration_service("DescribeReplicationInstances") +DescribeReplicationInstances(args) = database_migration_service("DescribeReplicationInstances", args) + +""" + StartReplicationTask() + +Starts the replication task. For more information about AWS DMS tasks, see Working with Migration Tasks in the AWS Database Migration Service User Guide. + +Required Parameters +{ + "ReplicationTaskArn": "The Amazon Resource Name (ARN) of the replication task to be started.", + "StartReplicationTaskType": "The type of replication task." +} + +Optional Parameters +{ + "CdcStopPosition": "Indicates when you want a change data capture (CDC) operation to stop. The value can be either server time or commit time. Server time example: --cdc-stop-position “server_time:3018-02-09T12:12:12” Commit time example: --cdc-stop-position “commit_time: 3018-02-09T12:12:12 “", + "CdcStartTime": "Indicates the start time for a change data capture (CDC) operation. Use either CdcStartTime or CdcStartPosition to specify when you want a CDC operation to start. Specifying both values results in an error. Timestamp Example: --cdc-start-time “2018-03-08T12:12:12”", + "CdcStartPosition": "Indicates when you want a change data capture (CDC) operation to start. Use either CdcStartPosition or CdcStartTime to specify when you want a CDC operation to start. Specifying both values results in an error. The value can be in date, checkpoint, or LSN/SCN format. Date Example: --cdc-start-position “2018-03-08T12:12:12” Checkpoint Example: --cdc-start-position \"checkpoint:V1#27#mysql-bin-changelog.157832:1975:-1:2002:677883278264080:mysql-bin-changelog.157832:1876#0#0#*#0#93\" LSN Example: --cdc-start-position “mysql-bin-changelog.000024:373” When you use this task setting with a source PostgreSQL database, a logical replication slot should already be created and associated with the source endpoint. You can verify this by setting the slotName extra connection attribute to the name of this logical replication slot. For more information, see Extra Connection Attributes When Using PostgreSQL as a Source for AWS DMS. " +} +""" +StartReplicationTask(args) = database_migration_service("StartReplicationTask", args) + +""" + StopReplicationTask() + +Stops the replication task. + +Required Parameters +{ + "ReplicationTaskArn": "The Amazon Resource Name(ARN) of the replication task to be stopped." +} +""" +StopReplicationTask(args) = database_migration_service("StopReplicationTask", args) + +""" + CreateReplicationInstance() + +Creates the replication instance using the specified parameters. AWS DMS requires that your account have certain roles with appropriate permissions before you can create a replication instance. For information on the required roles, see Creating the IAM Roles to Use With the AWS CLI and AWS DMS API. For information on the required permissions, see IAM Permissions Needed to Use AWS DMS. + +Required Parameters +{ + "ReplicationInstanceIdentifier": "The replication instance identifier. This parameter is stored as a lowercase string. Constraints: Must contain from 1 to 63 alphanumeric characters or hyphens. First character must be a letter. Can't end with a hyphen or contain two consecutive hyphens. Example: myrepinstance ", + "ReplicationInstanceClass": "The compute and memory capacity of the replication instance as specified by the replication instance class. Valid Values: dms.t2.micro | dms.t2.small | dms.t2.medium | dms.t2.large | dms.c4.large | dms.c4.xlarge | dms.c4.2xlarge | dms.c4.4xlarge " +} + +Optional Parameters +{ + "PubliclyAccessible": " Specifies the accessibility options for the replication instance. A value of true represents an instance with a public IP address. A value of false represents an instance with a private IP address. The default value is true. ", + "ReplicationSubnetGroupIdentifier": "A subnet group to associate with the replication instance.", + "PreferredMaintenanceWindow": "The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC). Format: ddd:hh24:mi-ddd:hh24:mi Default: A 30-minute window selected at random from an 8-hour block of time per AWS Region, occurring on a random day of the week. Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun Constraints: Minimum 30-minute window.", + "AutoMinorVersionUpgrade": "A value that indicates whether minor engine upgrades are applied automatically to the replication instance during the maintenance window. This parameter defaults to true. Default: true ", + "DnsNameServers": "A list of DNS name servers supported for the replication instance.", + "AllocatedStorage": "The amount of storage (in gigabytes) to be initially allocated for the replication instance.", + "Tags": "One or more tags to be assigned to the replication instance.", + "EngineVersion": "The engine version number of the replication instance.", + "AvailabilityZone": "The Availability Zone where the replication instance will be created. The default value is a random, system-chosen Availability Zone in the endpoint's AWS Region, for example: us-east-1d ", + "VpcSecurityGroupIds": " Specifies the VPC security group to be used with the replication instance. The VPC security group must work with the VPC containing the replication instance. ", + "KmsKeyId": "An AWS KMS key identifier that is used to encrypt the data on the replication instance. If you don't specify a value for the KmsKeyId parameter, then AWS DMS uses your default encryption key. AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS Region.", + "MultiAZ": " Specifies whether the replication instance is a Multi-AZ deployment. You can't set the AvailabilityZone parameter if the Multi-AZ parameter is set to true. " +} +""" +CreateReplicationInstance(args) = database_migration_service("CreateReplicationInstance", args) + +""" + ListTagsForResource() + +Lists all tags for an AWS DMS resource. + +Required Parameters +{ + "ResourceArn": "The Amazon Resource Name (ARN) string that uniquely identifies the AWS DMS resource." +} +""" +ListTagsForResource(args) = database_migration_service("ListTagsForResource", args) + +""" + DeleteCertificate() + +Deletes the specified certificate. + +Required Parameters +{ + "CertificateArn": "The Amazon Resource Name (ARN) of the deleted certificate." +} +""" +DeleteCertificate(args) = database_migration_service("DeleteCertificate", args) + +""" + DescribeOrderableReplicationInstances() + +Returns information about the replication instance types that can be created in the specified region. + +Optional Parameters +{ + "MaxRecords": " The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved. Default: 100 Constraints: Minimum 20, maximum 100.", + "Marker": " An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords. " +} +""" +DescribeOrderableReplicationInstances() = database_migration_service("DescribeOrderableReplicationInstances") +DescribeOrderableReplicationInstances(args) = database_migration_service("DescribeOrderableReplicationInstances", args) + +""" + AddTagsToResource() + +Adds metadata tags to an AWS DMS resource, including replication instance, endpoint, security group, and migration task. These tags can also be used with cost allocation reporting to track cost associated with DMS resources, or used in a Condition statement in an IAM policy for DMS. + +Required Parameters +{ + "ResourceArn": "Identifies the AWS DMS resource to which tags should be added. The value for this parameter is an Amazon Resource Name (ARN). For AWS DMS, you can tag a replication instance, an endpoint, or a replication task.", + "Tags": "One or more tags to be assigned to the resource." +} +""" +AddTagsToResource(args) = database_migration_service("AddTagsToResource", args) + +""" + CreateReplicationSubnetGroup() + +Creates a replication subnet group given a list of the subnet IDs in a VPC. + +Required Parameters +{ + "ReplicationSubnetGroupDescription": "The description for the subnet group.", + "ReplicationSubnetGroupIdentifier": "The name for the replication subnet group. This value is stored as a lowercase string. Constraints: Must contain no more than 255 alphanumeric characters, periods, spaces, underscores, or hyphens. Must not be \"default\". Example: mySubnetgroup ", + "SubnetIds": "One or more subnet IDs to be assigned to the subnet group." +} + +Optional Parameters +{ + "Tags": "One or more tags to be assigned to the subnet group." +} +""" +CreateReplicationSubnetGroup(args) = database_migration_service("CreateReplicationSubnetGroup", args) + +""" + DescribeReplicationSubnetGroups() + +Returns information about the replication subnet groups. + +Optional Parameters +{ + "MaxRecords": " The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved. Default: 100 Constraints: Minimum 20, maximum 100.", + "Marker": " An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords. ", + "Filters": "Filters applied to the describe action." +} +""" +DescribeReplicationSubnetGroups() = database_migration_service("DescribeReplicationSubnetGroups") +DescribeReplicationSubnetGroups(args) = database_migration_service("DescribeReplicationSubnetGroups", args) + +""" + RemoveTagsFromResource() + +Removes metadata tags from a DMS resource. + +Required Parameters +{ + "ResourceArn": "An AWS DMS resource from which you want to remove tag(s). The value for this parameter is an Amazon Resource Name (ARN).", + "TagKeys": "The tag key (name) of the tag to be removed." +} +""" +RemoveTagsFromResource(args) = database_migration_service("RemoveTagsFromResource", args) + +""" + DescribeSchemas() + +Returns information about the schema for the specified endpoint. + +Required Parameters +{ + "EndpointArn": "The Amazon Resource Name (ARN) string that uniquely identifies the endpoint." +} + +Optional Parameters +{ + "MaxRecords": " The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved. Default: 100 Constraints: Minimum 20, maximum 100.", + "Marker": " An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords. " +} +""" +DescribeSchemas(args) = database_migration_service("DescribeSchemas", args) + +""" + ModifyEndpoint() + +Modifies the specified endpoint. + +Required Parameters +{ + "EndpointArn": "The Amazon Resource Name (ARN) string that uniquely identifies the endpoint." +} + +Optional Parameters +{ + "Password": "The password to be used to login to the endpoint database.", + "DatabaseName": "The name of the endpoint database.", + "ServiceAccessRoleArn": " The Amazon Resource Name (ARN) for the service access role you want to use to modify the endpoint. ", + "DmsTransferSettings": "The settings in JSON format for the DMS transfer type of source endpoint. Attributes include the following: serviceAccessRoleArn - The AWS Identity and Access Management (IAM) role that has permission to access the Amazon S3 bucket. BucketName - The name of the S3 bucket to use. compressionType - An optional parameter to use GZIP to compress the target files. Either set this parameter to NONE (the default) or don't use it to leave the files uncompressed. Shorthand syntax for these settings is as follows: ServiceAccessRoleArn=string ,BucketName=string,CompressionType=string JSON syntax for these settings is as follows: { \"ServiceAccessRoleArn\": \"string\", \"BucketName\": \"string\", \"CompressionType\": \"none\"|\"gzip\" } ", + "CertificateArn": "The Amazon Resource Name (ARN) of the certificate used for SSL connection.", + "KinesisSettings": "Settings in JSON format for the target endpoint for Amazon Kinesis Data Streams. For information about other available settings, see Using Object Mapping to Migrate Data to a Kinesis Data Stream in the AWS Database Migration User Guide. ", + "SslMode": "The SSL mode used to connect to the endpoint. The default value is none.", + "Username": "The user name to be used to login to the endpoint database.", + "EngineName": "The type of engine for the endpoint. Valid values, depending on the EndpointType, include \"mysql\", \"oracle\", \"postgres\", \"mariadb\", \"aurora\", \"aurora-postgresql\", \"redshift\", \"s3\", \"db2\", \"azuredb\", \"sybase\", \"dynamodb\", \"mongodb\", \"kinesis\", \"kafka\", \"elasticsearch\", \"documentdb\", and \"sqlserver\".", + "MongoDbSettings": "Settings in JSON format for the source MongoDB endpoint. For more information about the available settings, see the configuration properties section in Using MongoDB as a Target for AWS Database Migration Service in the AWS Database Migration Service User Guide. ", + "RedshiftSettings": "", + "EndpointType": "The type of endpoint. Valid values are source and target.", + "EndpointIdentifier": "The database endpoint identifier. Identifiers must begin with a letter and must contain only ASCII letters, digits, and hyphens. They can't end with a hyphen or contain two consecutive hyphens.", + "S3Settings": "Settings in JSON format for the target Amazon S3 endpoint. For more information about the available settings, see Extra Connection Attributes When Using Amazon S3 as a Target for AWS DMS in the AWS Database Migration Service User Guide. ", + "ElasticsearchSettings": "Settings in JSON format for the target Elasticsearch endpoint. For more information about the available settings, see Extra Connection Attributes When Using Elasticsearch as a Target for AWS DMS in the AWS Database Migration User Guide. ", + "Port": "The port used by the endpoint database.", + "ExternalTableDefinition": "The external table definition.", + "DynamoDbSettings": "Settings in JSON format for the target Amazon DynamoDB endpoint. For information about other available settings, see Using Object Mapping to Migrate Data to DynamoDB in the AWS Database Migration Service User Guide. ", + "ExtraConnectionAttributes": "Additional attributes associated with the connection. To reset this parameter, pass the empty string (\"\") as an argument.", + "KafkaSettings": "Settings in JSON format for the target Apache Kafka endpoint. For information about other available settings, see Using Object Mapping to Migrate Data to Apache Kafka in the AWS Database Migration User Guide. ", + "ServerName": "The name of the server where the endpoint database resides." +} +""" +ModifyEndpoint(args) = database_migration_service("ModifyEndpoint", args) + +""" + ReloadTables() + +Reloads the target database table with the source data. + +Required Parameters +{ + "ReplicationTaskArn": "The Amazon Resource Name (ARN) of the replication task. ", + "TablesToReload": "The name and schema of the table to be reloaded. " +} + +Optional Parameters +{ + "ReloadOption": "Options for reload. Specify data-reload to reload the data and re-validate it if validation is enabled. Specify validate-only to re-validate the table. This option applies only when validation is enabled for the task. Valid values: data-reload, validate-only Default value is data-reload." +} +""" +ReloadTables(args) = database_migration_service("ReloadTables", args) + +""" + DeleteConnection() + +Deletes the connection between a replication instance and an endpoint. + +Required Parameters +{ + "ReplicationInstanceArn": "The Amazon Resource Name (ARN) of the replication instance.", + "EndpointArn": "The Amazon Resource Name (ARN) string that uniquely identifies the endpoint." +} +""" +DeleteConnection(args) = database_migration_service("DeleteConnection", args) + +""" + ImportCertificate() + +Uploads the specified certificate. + +Required Parameters +{ + "CertificateIdentifier": "A customer-assigned name for the certificate. Identifiers must begin with a letter and must contain only ASCII letters, digits, and hyphens. They can't end with a hyphen or contain two consecutive hyphens." +} + +Optional Parameters +{ + "CertificateWallet": "The location of an imported Oracle Wallet certificate for use with SSL.", + "Tags": "The tags associated with the certificate.", + "CertificatePem": "The contents of a .pem file, which contains an X.509 certificate." +} +""" +ImportCertificate(args) = database_migration_service("ImportCertificate", args) + +""" + RebootReplicationInstance() + +Reboots a replication instance. Rebooting results in a momentary outage, until the replication instance becomes available again. + +Required Parameters +{ + "ReplicationInstanceArn": "The Amazon Resource Name (ARN) of the replication instance." +} + +Optional Parameters +{ + "ForceFailover": "If this parameter is true, the reboot is conducted through a Multi-AZ failover. (If the instance isn't configured for Multi-AZ, then you can't specify true.)" +} +""" +RebootReplicationInstance(args) = database_migration_service("RebootReplicationInstance", args) + +""" + DeleteEndpoint() + +Deletes the specified endpoint. All tasks associated with the endpoint must be deleted before you can delete the endpoint. + +Required Parameters +{ + "EndpointArn": "The Amazon Resource Name (ARN) string that uniquely identifies the endpoint." +} +""" +DeleteEndpoint(args) = database_migration_service("DeleteEndpoint", args) + +""" + DescribeReplicationTaskAssessmentResults() + +Returns the task assessment results from Amazon S3. This action always returns the latest results. + +Optional Parameters +{ + "MaxRecords": " The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved. Default: 100 Constraints: Minimum 20, maximum 100.", + "Marker": " An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords. ", + "ReplicationTaskArn": "The Amazon Resource Name (ARN) string that uniquely identifies the task. When this input parameter is specified, the API returns only one result and ignore the values of the MaxRecords and Marker parameters. " +} +""" +DescribeReplicationTaskAssessmentResults() = database_migration_service("DescribeReplicationTaskAssessmentResults") +DescribeReplicationTaskAssessmentResults(args) = database_migration_service("DescribeReplicationTaskAssessmentResults", args) + +""" + ApplyPendingMaintenanceAction() + +Applies a pending maintenance action to a resource (for example, to a replication instance). + +Required Parameters +{ + "ApplyAction": "The pending maintenance action to apply to this resource.", + "OptInType": "A value that specifies the type of opt-in request, or undoes an opt-in request. You can't undo an opt-in request of type immediate. Valid values: immediate - Apply the maintenance action immediately. next-maintenance - Apply the maintenance action during the next maintenance window for the resource. undo-opt-in - Cancel any existing next-maintenance opt-in requests. ", + "ReplicationInstanceArn": "The Amazon Resource Name (ARN) of the AWS DMS resource that the pending maintenance action applies to." +} +""" +ApplyPendingMaintenanceAction(args) = database_migration_service("ApplyPendingMaintenanceAction", args) + +""" + DescribeTableStatistics() + +Returns table statistics on the database migration task, including table name, rows inserted, rows updated, and rows deleted. Note that the "last updated" column the DMS console only indicates the time that AWS DMS last updated the table statistics record for a table. It does not indicate the time of the last update to the table. + +Required Parameters +{ + "ReplicationTaskArn": "The Amazon Resource Name (ARN) of the replication task." +} + +Optional Parameters +{ + "MaxRecords": " The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved. Default: 100 Constraints: Minimum 20, maximum 500.", + "Marker": " An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords. ", + "Filters": "Filters applied to the describe table statistics action. Valid filter names: schema-name | table-name | table-state A combination of filters creates an AND condition where each record matches all specified filters." +} +""" +DescribeTableStatistics(args) = database_migration_service("DescribeTableStatistics", args) + +""" + DescribeEvents() + + Lists events for a given source identifier and source type. You can also specify a start and end time. For more information on AWS DMS events, see Working with Events and Notifications in the AWS Database Migration User Guide. + +Optional Parameters +{ + "StartTime": "The start time for the events to be listed.", + "MaxRecords": " The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved. Default: 100 Constraints: Minimum 20, maximum 100.", + "Marker": " An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords. ", + "SourceIdentifier": " The identifier of an event source.", + "EndTime": "The end time for the events to be listed.", + "SourceType": "The type of AWS DMS resource that generates events. Valid values: replication-instance | replication-task", + "Duration": "The duration of the events to be listed.", + "Filters": "Filters applied to the action.", + "EventCategories": "A list of event categories for the source type that you've chosen." +} +""" +DescribeEvents() = database_migration_service("DescribeEvents") +DescribeEvents(args) = database_migration_service("DescribeEvents", args) + +""" + DescribeAccountAttributes() + +Lists all of the AWS DMS attributes for a customer account. These attributes include AWS DMS quotas for the account and a unique account identifier in a particular DMS region. DMS quotas include a list of resource quotas supported by the account, such as the number of replication instances allowed. The description for each resource quota, includes the quota name, current usage toward that quota, and the quota's maximum value. DMS uses the unique account identifier to name each artifact used by DMS in the given region. This command does not take any parameters. +""" +DescribeAccountAttributes() = database_migration_service("DescribeAccountAttributes") +DescribeAccountAttributes(args) = database_migration_service("DescribeAccountAttributes", args) + +""" + DescribeRefreshSchemasStatus() + +Returns the status of the RefreshSchemas operation. + +Required Parameters +{ + "EndpointArn": "The Amazon Resource Name (ARN) string that uniquely identifies the endpoint." +} +""" +DescribeRefreshSchemasStatus(args) = database_migration_service("DescribeRefreshSchemasStatus", args) + +""" + DescribeEventSubscriptions() + +Lists all the event subscriptions for a customer account. The description of a subscription includes SubscriptionName, SNSTopicARN, CustomerID, SourceType, SourceID, CreationTime, and Status. If you specify SubscriptionName, this action lists the description for that subscription. + +Optional Parameters +{ + "MaxRecords": " The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved. Default: 100 Constraints: Minimum 20, maximum 100.", + "Marker": " An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords. ", + "SubscriptionName": "The name of the AWS DMS event subscription to be described.", + "Filters": "Filters applied to the action." +} +""" +DescribeEventSubscriptions() = database_migration_service("DescribeEventSubscriptions") +DescribeEventSubscriptions(args) = database_migration_service("DescribeEventSubscriptions", args) + +""" + ModifyReplicationSubnetGroup() + +Modifies the settings for the specified replication subnet group. + +Required Parameters +{ + "SubnetIds": "A list of subnet IDs.", + "ReplicationSubnetGroupIdentifier": "The name of the replication instance subnet group." +} + +Optional Parameters +{ + "ReplicationSubnetGroupDescription": "A description for the replication instance subnet group." +} +""" +ModifyReplicationSubnetGroup(args) = database_migration_service("ModifyReplicationSubnetGroup", args) + +""" + DescribeConnections() + +Describes the status of the connections that have been made between the replication instance and an endpoint. Connections are created when you test an endpoint. + +Optional Parameters +{ + "MaxRecords": " The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved. Default: 100 Constraints: Minimum 20, maximum 100.", + "Marker": " An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords. ", + "Filters": "The filters applied to the connection. Valid filter names: endpoint-arn | replication-instance-arn" +} +""" +DescribeConnections() = database_migration_service("DescribeConnections") +DescribeConnections(args) = database_migration_service("DescribeConnections", args) + +""" + DescribeReplicationTasks() + +Returns information about replication tasks for your account in the current region. + +Optional Parameters +{ + "MaxRecords": " The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved. Default: 100 Constraints: Minimum 20, maximum 100.", + "Marker": " An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords. ", + "WithoutSettings": "An option to set to avoid returning information about settings. Use this to reduce overhead when setting information is too large. To use this option, choose true; otherwise, choose false (the default).", + "Filters": "Filters applied to the describe action. Valid filter names: replication-task-arn | replication-task-id | migration-type | endpoint-arn | replication-instance-arn" +} +""" +DescribeReplicationTasks() = database_migration_service("DescribeReplicationTasks") +DescribeReplicationTasks(args) = database_migration_service("DescribeReplicationTasks", args) + +""" + DescribeCertificates() + +Provides a description of the certificate. + +Optional Parameters +{ + "MaxRecords": " The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved. Default: 10", + "Marker": " An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords. ", + "Filters": "Filters applied to the certificate described in the form of key-value pairs." +} +""" +DescribeCertificates() = database_migration_service("DescribeCertificates") +DescribeCertificates(args) = database_migration_service("DescribeCertificates", args) + +""" + DescribeEndpointTypes() + +Returns information about the type of endpoints available. + +Optional Parameters +{ + "MaxRecords": " The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved. Default: 100 Constraints: Minimum 20, maximum 100.", + "Marker": " An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords. ", + "Filters": "Filters applied to the describe action. Valid filter names: engine-name | endpoint-type" +} +""" +DescribeEndpointTypes() = database_migration_service("DescribeEndpointTypes") +DescribeEndpointTypes(args) = database_migration_service("DescribeEndpointTypes", args) + +""" + DescribePendingMaintenanceActions() + +For internal use only + +Optional Parameters +{ + "Marker": " An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords. ", + "MaxRecords": " The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved. Default: 100 Constraints: Minimum 20, maximum 100.", + "ReplicationInstanceArn": "The Amazon Resource Name (ARN) of the replication instance.", + "Filters": "" +} +""" +DescribePendingMaintenanceActions() = database_migration_service("DescribePendingMaintenanceActions") +DescribePendingMaintenanceActions(args) = database_migration_service("DescribePendingMaintenanceActions", args) diff --git a/src/services/dataexchange.jl b/src/services/dataexchange.jl new file mode 100644 index 0000000000..c8ac429f5b --- /dev/null +++ b/src/services/dataexchange.jl @@ -0,0 +1,324 @@ +include("../AWSServices.jl") +using .AWSServices: dataexchange + +""" + ListTagsForResource() + +This operation lists the tags on the resource. + +Required Parameters +{ + "ResourceArn": "An Amazon Resource Name (ARN) that uniquely identifies an AWS resource." +} +""" +ListTagsForResource(args) = dataexchange("GET", "/tags/{resource-arn}", args) + +""" + GetDataSet() + +This operation returns information about a data set. + +Required Parameters +{ + "DataSetId": "The unique identifier for a data set." +} +""" +GetDataSet(args) = dataexchange("GET", "/v1/data-sets/{DataSetId}", args) + +""" + CreateRevision() + +This operation creates a revision for a data set. + +Required Parameters +{ + "DataSetId": "The unique identifier for a data set." +} + +Optional Parameters +{ + "Comment": "An optional comment about the revision.", + "Tags": "A revision tag is an optional label that you can assign to a revision when you create it. Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to these data sets and revisions." +} +""" +CreateRevision(args) = dataexchange("POST", "/v1/data-sets/{DataSetId}/revisions", args) + +""" + GetRevision() + +This operation returns information about a revision. + +Required Parameters +{ + "DataSetId": "The unique identifier for a data set.", + "RevisionId": "The unique identifier for a revision." +} +""" +GetRevision(args) = dataexchange("GET", "/v1/data-sets/{DataSetId}/revisions/{RevisionId}", args) + +""" + ListDataSetRevisions() + +This operation lists a data set's revisions sorted by CreatedAt in descending order. + +Required Parameters +{ + "DataSetId": "The unique identifier for a data set." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of results returned by a single call.", + "NextToken": "The token value retrieved from a previous call to access the next page of results." +} +""" +ListDataSetRevisions(args) = dataexchange("GET", "/v1/data-sets/{DataSetId}/revisions", args) + +""" + GetAsset() + +This operation returns information about an asset. + +Required Parameters +{ + "DataSetId": "The unique identifier for a data set.", + "RevisionId": "The unique identifier for a revision.", + "AssetId": "The unique identifier for an asset." +} +""" +GetAsset(args) = dataexchange("GET", "/v1/data-sets/{DataSetId}/revisions/{RevisionId}/assets/{AssetId}", args) + +""" + DeleteAsset() + +This operation deletes an asset. + +Required Parameters +{ + "DataSetId": "The unique identifier for a data set.", + "RevisionId": "The unique identifier for a revision.", + "AssetId": "The unique identifier for an asset." +} +""" +DeleteAsset(args) = dataexchange("DELETE", "/v1/data-sets/{DataSetId}/revisions/{RevisionId}/assets/{AssetId}", args) + +""" + StartJob() + +This operation starts a job. + +Required Parameters +{ + "JobId": "The unique identifier for a job." +} +""" +StartJob(args) = dataexchange("PATCH", "/v1/jobs/{JobId}", args) + +""" + CancelJob() + +This operation cancels a job. Jobs can be cancelled only when they are in the WAITING state. + +Required Parameters +{ + "JobId": "The unique identifier for a job." +} +""" +CancelJob(args) = dataexchange("DELETE", "/v1/jobs/{JobId}", args) + +""" + CreateJob() + +This operation creates a job. + +Required Parameters +{ + "Type": "The type of job to be created.", + "Details": "The details for the CreateJob request." +} +""" +CreateJob(args) = dataexchange("POST", "/v1/jobs", args) + +""" + TagResource() + +This operation tags a resource. + +Required Parameters +{ + "ResourceArn": "An Amazon Resource Name (ARN) that uniquely identifies an AWS resource.", + "Tags": "A label that consists of a customer-defined key and an optional value." +} +""" +TagResource(args) = dataexchange("POST", "/tags/{resource-arn}", args) + +""" + CreateDataSet() + +This operation creates a data set. + +Required Parameters +{ + "Description": "A description for the data set. This value can be up to 16,348 characters long.", + "AssetType": "The type of file your data is stored in. Currently, the supported asset type is S3_SNAPSHOT.", + "Name": "The name of the data set." +} + +Optional Parameters +{ + "Tags": "A data set tag is an optional label that you can assign to a data set when you create it. Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to these data sets and revisions." +} +""" +CreateDataSet(args) = dataexchange("POST", "/v1/data-sets", args) + +""" + UntagResource() + +This operation removes one or more tags from a resource. + +Required Parameters +{ + "ResourceArn": "An Amazon Resource Name (ARN) that uniquely identifies an AWS resource.", + "TagKeys": "The key tags." +} +""" +UntagResource(args) = dataexchange("DELETE", "/tags/{resource-arn}", args) + +""" + GetJob() + +This operation returns information about a job. + +Required Parameters +{ + "JobId": "The unique identifier for a job." +} +""" +GetJob(args) = dataexchange("GET", "/v1/jobs/{JobId}", args) + +""" + DeleteDataSet() + +This operation deletes a data set. + +Required Parameters +{ + "DataSetId": "The unique identifier for a data set." +} +""" +DeleteDataSet(args) = dataexchange("DELETE", "/v1/data-sets/{DataSetId}", args) + +""" + ListRevisionAssets() + +This operation lists a revision's assets sorted alphabetically in descending order. + +Required Parameters +{ + "DataSetId": "The unique identifier for a data set.", + "RevisionId": "The unique identifier for a revision." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of results returned by a single call.", + "NextToken": "The token value retrieved from a previous call to access the next page of results." +} +""" +ListRevisionAssets(args) = dataexchange("GET", "/v1/data-sets/{DataSetId}/revisions/{RevisionId}/assets", args) + +""" + DeleteRevision() + +This operation deletes a revision. + +Required Parameters +{ + "DataSetId": "The unique identifier for a data set.", + "RevisionId": "The unique identifier for a revision." +} +""" +DeleteRevision(args) = dataexchange("DELETE", "/v1/data-sets/{DataSetId}/revisions/{RevisionId}", args) + +""" + UpdateRevision() + +This operation updates a revision. + +Required Parameters +{ + "DataSetId": "The unique identifier for a data set.", + "RevisionId": "The unique identifier for a revision." +} + +Optional Parameters +{ + "Comment": "An optional comment about the revision.", + "Finalized": "Finalizing a revision tells AWS Data Exchange that your changes to the assets in the revision are complete. After it's in this read-only state, you can publish the revision to your products." +} +""" +UpdateRevision(args) = dataexchange("PATCH", "/v1/data-sets/{DataSetId}/revisions/{RevisionId}", args) + +""" + ListDataSets() + +This operation lists your data sets. When listing by origin OWNED, results are sorted by CreatedAt in descending order. When listing by origin ENTITLED, there is no order and the maxResults parameter is ignored. + +Optional Parameters +{ + "MaxResults": "The maximum number of results returned by a single call.", + "NextToken": "The token value retrieved from a previous call to access the next page of results.", + "Origin": "A property that defines the data set as OWNED by the account (for providers) or ENTITLED to the account (for subscribers)." +} +""" +ListDataSets() = dataexchange("GET", "/v1/data-sets") +ListDataSets(args) = dataexchange("GET", "/v1/data-sets", args) + +""" + ListJobs() + +This operation lists your jobs sorted by CreatedAt in descending order. + +Optional Parameters +{ + "DataSetId": "The unique identifier for a data set.", + "MaxResults": "The maximum number of results returned by a single call.", + "NextToken": "The token value retrieved from a previous call to access the next page of results.", + "RevisionId": "The unique identifier for a revision." +} +""" +ListJobs() = dataexchange("GET", "/v1/jobs") +ListJobs(args) = dataexchange("GET", "/v1/jobs", args) + +""" + UpdateAsset() + +This operation updates an asset. + +Required Parameters +{ + "DataSetId": "The unique identifier for a data set.", + "RevisionId": "The unique identifier for a revision.", + "AssetId": "The unique identifier for an asset.", + "Name": "The name of the asset. When importing from Amazon S3, the S3 object key is used as the asset name. When exporting to Amazon S3, the asset name is used as default target S3 object key." +} +""" +UpdateAsset(args) = dataexchange("PATCH", "/v1/data-sets/{DataSetId}/revisions/{RevisionId}/assets/{AssetId}", args) + +""" + UpdateDataSet() + +This operation updates a data set. + +Required Parameters +{ + "DataSetId": "The unique identifier for a data set." +} + +Optional Parameters +{ + "Description": "The description for the data set.", + "Name": "The name of the data set." +} +""" +UpdateDataSet(args) = dataexchange("PATCH", "/v1/data-sets/{DataSetId}", args) diff --git a/src/services/datasync.jl b/src/services/datasync.jl new file mode 100644 index 0000000000..d579592bbb --- /dev/null +++ b/src/services/datasync.jl @@ -0,0 +1,451 @@ +include("../AWSServices.jl") +using .AWSServices: datasync + +""" + ListLocations() + +Returns a lists of source and destination locations. If you have more locations than are returned in a response (that is, the response returns only a truncated list of your agents), the response contains a token that you can specify in your next request to fetch the next page of locations. + +Optional Parameters +{ + "MaxResults": "The maximum number of locations to return.", + "NextToken": "An opaque string that indicates the position at which to begin the next list of locations." +} +""" +ListLocations() = datasync("ListLocations") +ListLocations(args) = datasync("ListLocations", args) + +""" + ListTagsForResource() + +Returns all the tags associated with a specified resources. + +Required Parameters +{ + "ResourceArn": "The Amazon Resource Name (ARN) of the resource whose tags to list." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of locations to return.", + "NextToken": "An opaque string that indicates the position at which to begin the next list of locations." +} +""" +ListTagsForResource(args) = datasync("ListTagsForResource", args) + +""" + CreateLocationEfs() + +Creates an endpoint for an Amazon EFS file system. + +Required Parameters +{ + "EfsFilesystemArn": "The Amazon Resource Name (ARN) for the Amazon EFS file system.", + "Ec2Config": "The subnet and security group that the Amazon EFS file system uses. The security group that you provide needs to be able to communicate with the security group on the mount target in the subnet specified. The exact relationship between security group M (of the mount target) and security group S (which you provide for DataSync to use at this stage) is as follows: Security group M (which you associate with the mount target) must allow inbound access for the Transmission Control Protocol (TCP) on the NFS port (2049) from security group S. You can enable inbound connections either by IP address (CIDR range) or security group. Security group S (provided to DataSync to access EFS) should have a rule that enables outbound connections to the NFS port on one of the file system’s mount targets. You can enable outbound connections either by IP address (CIDR range) or security group. For information about security groups and mount targets, see Security Groups for Amazon EC2 Instances and Mount Targets in the Amazon EFS User Guide. " +} + +Optional Parameters +{ + "Subdirectory": "A subdirectory in the location’s path. This subdirectory in the EFS file system is used to read data from the EFS source location or write data to the EFS destination. By default, AWS DataSync uses the root directory. Subdirectory must be specified with forward slashes. For example /path/to/folder. ", + "Tags": "The key-value pair that represents a tag that you want to add to the resource. The value can be an empty string. This value helps you manage, filter, and search for your resources. We recommend that you create a name tag for your location." +} +""" +CreateLocationEfs(args) = datasync("CreateLocationEfs", args) + +""" + DescribeTask() + +Returns metadata about a task. + +Required Parameters +{ + "TaskArn": "The Amazon Resource Name (ARN) of the task to describe." +} +""" +DescribeTask(args) = datasync("DescribeTask", args) + +""" + UpdateTask() + +Updates the metadata associated with a task. + +Required Parameters +{ + "TaskArn": "The Amazon Resource Name (ARN) of the resource name of the task to update." +} + +Optional Parameters +{ + "Excludes": "A list of filter rules that determines which files to exclude from a task. The list should contain a single filter string that consists of the patterns to exclude. The patterns are delimited by \"|\" (that is, a pipe), for example: \"/folder1|/folder2\" ", + "Schedule": "Specifies a schedule used to periodically transfer files from a source to a destination location. You can configure your task to execute hourly, daily, weekly or on specific days of the week. You control when in the day or hour you want the task to execute. The time you specify is UTC time. For more information, see task-scheduling.", + "CloudWatchLogGroupArn": "The Amazon Resource Name (ARN) of the resource name of the CloudWatch LogGroup.", + "Options": "", + "Name": "The name of the task to update." +} +""" +UpdateTask(args) = datasync("UpdateTask", args) + +""" + UpdateAgent() + +Updates the name of an agent. + +Required Parameters +{ + "AgentArn": "The Amazon Resource Name (ARN) of the agent to update." +} + +Optional Parameters +{ + "Name": "The name that you want to use to configure the agent." +} +""" +UpdateAgent(args) = datasync("UpdateAgent", args) + +""" + ListTasks() + +Returns a list of all the tasks. + +Optional Parameters +{ + "MaxResults": "The maximum number of tasks to return.", + "NextToken": "An opaque string that indicates the position at which to begin the next list of tasks." +} +""" +ListTasks() = datasync("ListTasks") +ListTasks(args) = datasync("ListTasks", args) + +""" + DeleteLocation() + +Deletes the configuration of a location used by AWS DataSync. + +Required Parameters +{ + "LocationArn": "The Amazon Resource Name (ARN) of the location to delete." +} +""" +DeleteLocation(args) = datasync("DeleteLocation", args) + +""" + CreateAgent() + +Activates an AWS DataSync agent that you have deployed on your host. The activation process associates your agent with your account. In the activation process, you specify information such as the AWS Region that you want to activate the agent in. You activate the agent in the AWS Region where your target locations (in Amazon S3 or Amazon EFS) reside. Your tasks are created in this AWS Region. You can activate the agent in a VPC (Virtual private Cloud) or provide the agent access to a VPC endpoint so you can run tasks without going over the public Internet. You can use an agent for more than one location. If a task uses multiple agents, all of them need to have status AVAILABLE for the task to run. If you use multiple agents for a source location, the status of all the agents must be AVAILABLE for the task to run. Agents are automatically updated by AWS on a regular basis, using a mechanism that ensures minimal interruption to your tasks. + +Required Parameters +{ + "ActivationKey": "Your agent activation key. You can get the activation key either by sending an HTTP GET request with redirects that enable you to get the agent IP address (port 80). Alternatively, you can get it from the AWS DataSync console. The redirect URL returned in the response provides you the activation key for your agent in the query string parameter activationKey. It might also include other activation-related parameters; however, these are merely defaults. The arguments you pass to this API call determine the actual configuration of your agent. For more information, see Activating an Agent in the AWS DataSync User Guide. " +} + +Optional Parameters +{ + "SecurityGroupArns": "The ARNs of the security groups used to protect your data transfer task subnets. See CreateAgentRequest SubnetArns.", + "AgentName": "The name you configured for your agent. This value is a text reference that is used to identify the agent in the console.", + "Tags": "The key-value pair that represents the tag that you want to associate with the agent. The value can be an empty string. This value helps you manage, filter, and search for your agents. Valid characters for key and value are letters, spaces, and numbers representable in UTF-8 format, and the following special characters: + - = . _ : / @. ", + "SubnetArns": "The Amazon Resource Names (ARNs) of the subnets in which DataSync will create elastic network interfaces for each data transfer task. The agent that runs a task must be private. When you start a task that is associated with an agent created in a VPC, or one that has access to an IP address in a VPC, then the task is also private. In this case, DataSync creates four network interfaces for each task in your subnet. For a data transfer to work, the agent must be able to route to all these four network interfaces.", + "VpcEndpointId": "The ID of the VPC (Virtual Private Cloud) endpoint that the agent has access to. This is the client-side VPC endpoint, also called a PrivateLink. If you don't have a PrivateLink VPC endpoint, see Creating a VPC Endpoint Service Configuration in the AWS VPC User Guide. VPC endpoint ID looks like this: vpce-01234d5aff67890e1." +} +""" +CreateAgent(args) = datasync("CreateAgent", args) + +""" + CreateLocationSmb() + +Defines a file system on an Server Message Block (SMB) server that can be read from or written to. + +Required Parameters +{ + "Password": "The password of the user who can mount the share, has the permissions to access files and folders in the SMB share.", + "Subdirectory": "The subdirectory in the SMB file system that is used to read data from the SMB source location or write data to the SMB destination. The SMB path should be a path that's exported by the SMB server, or a subdirectory of that path. The path should be such that it can be mounted by other SMB clients in your network. Subdirectory must be specified with forward slashes. For example /path/to/folder. To transfer all the data in the folder you specified, DataSync needs to have permissions to mount the SMB share, as well as to access all the data in that share. To ensure this, either ensure that the user/password specified belongs to the user who can mount the share, and who has the appropriate permissions for all of the files and directories that you want DataSync to access, or use credentials of a member of the Backup Operators group to mount the share. Doing either enables the agent to access the data. For the agent to access directories, you must additionally enable all execute access.", + "User": "The user who can mount the share, has the permissions to access files and folders in the SMB share.", + "ServerHostname": "The name of the SMB server. This value is the IP address or Domain Name Service (DNS) name of the SMB server. An agent that is installed on-premises uses this hostname to mount the SMB server in a network. This name must either be DNS-compliant or must be an IP version 4 (IPv4) address. ", + "AgentArns": "The Amazon Resource Names (ARNs) of agents to use for a Simple Message Block (SMB) location. " +} + +Optional Parameters +{ + "MountOptions": "The mount options used by DataSync to access the SMB server.", + "Tags": "The key-value pair that represents the tag that you want to add to the location. The value can be an empty string. We recommend using tags to name your resources.", + "Domain": "The name of the Windows domain that the SMB server belongs to." +} +""" +CreateLocationSmb(args) = datasync("CreateLocationSmb", args) + +""" + DescribeLocationFsxWindows() + +Returns metadata, such as the path information about an Amazon FSx for Windows location. + +Required Parameters +{ + "LocationArn": "The Amazon Resource Name (ARN) of the FSx for Windows location to describe." +} +""" +DescribeLocationFsxWindows(args) = datasync("DescribeLocationFsxWindows", args) + +""" + DescribeLocationEfs() + +Returns metadata, such as the path information about an Amazon EFS location. + +Required Parameters +{ + "LocationArn": "The Amazon Resource Name (ARN) of the EFS location to describe." +} +""" +DescribeLocationEfs(args) = datasync("DescribeLocationEfs", args) + +""" + DescribeLocationNfs() + +Returns metadata, such as the path information, about a NFS location. + +Required Parameters +{ + "LocationArn": "The Amazon resource Name (ARN) of the NFS location to describe." +} +""" +DescribeLocationNfs(args) = datasync("DescribeLocationNfs", args) + +""" + ListAgents() + +Returns a list of agents owned by an AWS account in the AWS Region specified in the request. The returned list is ordered by agent Amazon Resource Name (ARN). By default, this operation returns a maximum of 100 agents. This operation supports pagination that enables you to optionally reduce the number of agents returned in a response. If you have more agents than are returned in a response (that is, the response returns only a truncated list of your agents), the response contains a marker that you can specify in your next request to fetch the next page of agents. + +Optional Parameters +{ + "MaxResults": "The maximum number of agents to list.", + "NextToken": "An opaque string that indicates the position at which to begin the next list of agents." +} +""" +ListAgents() = datasync("ListAgents") +ListAgents(args) = datasync("ListAgents", args) + +""" + DescribeAgent() + +Returns metadata such as the name, the network interfaces, and the status (that is, whether the agent is running or not) for an agent. To specify which agent to describe, use the Amazon Resource Name (ARN) of the agent in your request. + +Required Parameters +{ + "AgentArn": "The Amazon Resource Name (ARN) of the agent to describe." +} +""" +DescribeAgent(args) = datasync("DescribeAgent", args) + +""" + TagResource() + +Applies a key-value pair to an AWS resource. + +Required Parameters +{ + "ResourceArn": "The Amazon Resource Name (ARN) of the resource to apply the tag to.", + "Tags": "The tags to apply." +} +""" +TagResource(args) = datasync("TagResource", args) + +""" + UntagResource() + +Removes a tag from an AWS resource. + +Required Parameters +{ + "ResourceArn": "The Amazon Resource Name (ARN) of the resource to remove the tag from.", + "Keys": "The keys in the key-value pair in the tag to remove." +} +""" +UntagResource(args) = datasync("UntagResource", args) + +""" + DescribeTaskExecution() + +Returns detailed metadata about a task that is being executed. + +Required Parameters +{ + "TaskExecutionArn": "The Amazon Resource Name (ARN) of the task that is being executed." +} +""" +DescribeTaskExecution(args) = datasync("DescribeTaskExecution", args) + +""" + CreateLocationNfs() + +Defines a file system on a Network File System (NFS) server that can be read from or written to + +Required Parameters +{ + "OnPremConfig": "Contains a list of Amazon Resource Names (ARNs) of agents that are used to connect to an NFS server.", + "Subdirectory": "The subdirectory in the NFS file system that is used to read data from the NFS source location or write data to the NFS destination. The NFS path should be a path that's exported by the NFS server, or a subdirectory of that path. The path should be such that it can be mounted by other NFS clients in your network. To see all the paths exported by your NFS server. run \"showmount -e nfs-server-name\" from an NFS client that has access to your server. You can specify any directory that appears in the results, and any subdirectory of that directory. Ensure that the NFS export is accessible without Kerberos authentication. To transfer all the data in the folder you specified, DataSync needs to have permissions to read all the data. To ensure this, either configure the NFS export with no_root_squash, or ensure that the permissions for all of the files that you want DataSync allow read access for all users. Doing either enables the agent to read the files. For the agent to access directories, you must additionally enable all execute access. For information about NFS export configuration, see 18.7. The /etc/exports Configuration File in the Red Hat Enterprise Linux documentation.", + "ServerHostname": "The name of the NFS server. This value is the IP address or Domain Name Service (DNS) name of the NFS server. An agent that is installed on-premises uses this host name to mount the NFS server in a network. This name must either be DNS-compliant or must be an IP version 4 (IPv4) address. " +} + +Optional Parameters +{ + "MountOptions": "The NFS mount options that DataSync can use to mount your NFS share.", + "Tags": "The key-value pair that represents the tag that you want to add to the location. The value can be an empty string. We recommend using tags to name your resources." +} +""" +CreateLocationNfs(args) = datasync("CreateLocationNfs", args) + +""" + CreateTask() + +Creates a task. A task is a set of two locations (source and destination) and a set of Options that you use to control the behavior of a task. If you don't specify Options when you create a task, AWS DataSync populates them with service defaults. When you create a task, it first enters the CREATING state. During CREATING AWS DataSync attempts to mount the on-premises Network File System (NFS) location. The task transitions to the AVAILABLE state without waiting for the AWS location to become mounted. If required, AWS DataSync mounts the AWS location before each task execution. If an agent that is associated with a source (NFS) location goes offline, the task transitions to the UNAVAILABLE status. If the status of the task remains in the CREATING status for more than a few minutes, it means that your agent might be having trouble mounting the source NFS file system. Check the task's ErrorCode and ErrorDetail. Mount issues are often caused by either a misconfigured firewall or a mistyped NFS server host name. + +Required Parameters +{ + "SourceLocationArn": "The Amazon Resource Name (ARN) of the source location for the task.", + "DestinationLocationArn": "The Amazon Resource Name (ARN) of an AWS storage resource's location. " +} + +Optional Parameters +{ + "Excludes": "A list of filter rules that determines which files to exclude from a task. The list should contain a single filter string that consists of the patterns to exclude. The patterns are delimited by \"|\" (that is, a pipe), for example, \"/folder1|/folder2\" ", + "Schedule": "Specifies a schedule used to periodically transfer files from a source to a destination location. The schedule should be specified in UTC time. For more information, see task-scheduling.", + "Tags": "The key-value pair that represents the tag that you want to add to the resource. The value can be an empty string. ", + "CloudWatchLogGroupArn": "The Amazon Resource Name (ARN) of the Amazon CloudWatch log group that is used to monitor and log events in the task. For more information on these groups, see Working with Log Groups and Log Streams in the Amazon CloudWatch User Guide. For more information about how to use CloudWatch Logs with DataSync, see Monitoring Your Task in the AWS DataSync User Guide. ", + "Options": "The set of configuration options that control the behavior of a single execution of the task that occurs when you call StartTaskExecution. You can configure these options to preserve metadata such as user ID (UID) and group ID (GID), file permissions, data integrity verification, and so on. For each individual task execution, you can override these options by specifying the OverrideOptions before starting a the task execution. For more information, see the operation. ", + "Name": "The name of a task. This value is a text reference that is used to identify the task in the console. " +} +""" +CreateTask(args) = datasync("CreateTask", args) + +""" + DeleteAgent() + +Deletes an agent. To specify which agent to delete, use the Amazon Resource Name (ARN) of the agent in your request. The operation disassociates the agent from your AWS account. However, it doesn't delete the agent virtual machine (VM) from your on-premises environment. + +Required Parameters +{ + "AgentArn": "The Amazon Resource Name (ARN) of the agent to delete. Use the ListAgents operation to return a list of agents for your account and AWS Region." +} +""" +DeleteAgent(args) = datasync("DeleteAgent", args) + +""" + DescribeLocationS3() + +Returns metadata, such as bucket name, about an Amazon S3 bucket location. + +Required Parameters +{ + "LocationArn": "The Amazon Resource Name (ARN) of the Amazon S3 bucket location to describe." +} +""" +DescribeLocationS3(args) = datasync("DescribeLocationS3", args) + +""" + CreateLocationS3() + +Creates an endpoint for an Amazon S3 bucket. For AWS DataSync to access a destination S3 bucket, it needs an AWS Identity and Access Management (IAM) role that has the required permissions. You can set up the required permissions by creating an IAM policy that grants the required permissions and attaching the policy to the role. An example of such a policy is shown in the examples section. For more information, see https://docs.aws.amazon.com/datasync/latest/userguide/working-with-locations.html#create-s3-location in the AWS DataSync User Guide. + +Required Parameters +{ + "S3Config": "", + "S3BucketArn": "The Amazon Resource Name (ARN) of the Amazon S3 bucket." +} + +Optional Parameters +{ + "Subdirectory": "A subdirectory in the Amazon S3 bucket. This subdirectory in Amazon S3 is used to read data from the S3 source location or write data to the S3 destination.", + "Tags": "The key-value pair that represents the tag that you want to add to the location. The value can be an empty string. We recommend using tags to name your resources.", + "S3StorageClass": "The Amazon S3 storage class that you want to store your files in when this location is used as a task destination. For more information about S3 storage classes, see Amazon S3 Storage Classes in the Amazon Simple Storage Service Developer Guide. Some storage classes have behaviors that can affect your S3 storage cost. For detailed information, see using-storage-classes." +} +""" +CreateLocationS3(args) = datasync("CreateLocationS3", args) + +""" + ListTaskExecutions() + +Returns a list of executed tasks. + +Optional Parameters +{ + "MaxResults": "The maximum number of executed tasks to list.", + "NextToken": "An opaque string that indicates the position at which to begin the next list of the executed tasks.", + "TaskArn": "The Amazon Resource Name (ARN) of the task whose tasks you want to list." +} +""" +ListTaskExecutions() = datasync("ListTaskExecutions") +ListTaskExecutions(args) = datasync("ListTaskExecutions", args) + +""" + CancelTaskExecution() + +Cancels execution of a task. When you cancel a task execution, the transfer of some files are abruptly interrupted. The contents of files that are transferred to the destination might be incomplete or inconsistent with the source files. However, if you start a new task execution on the same task and you allow the task execution to complete, file content on the destination is complete and consistent. This applies to other unexpected failures that interrupt a task execution. In all of these cases, AWS DataSync successfully complete the transfer when you start the next task execution. + +Required Parameters +{ + "TaskExecutionArn": "The Amazon Resource Name (ARN) of the task execution to cancel." +} +""" +CancelTaskExecution(args) = datasync("CancelTaskExecution", args) + +""" + DeleteTask() + +Deletes a task. + +Required Parameters +{ + "TaskArn": "The Amazon Resource Name (ARN) of the task to delete." +} +""" +DeleteTask(args) = datasync("DeleteTask", args) + +""" + DescribeLocationSmb() + +Returns metadata, such as the path and user information about a SMB location. + +Required Parameters +{ + "LocationArn": "The Amazon resource Name (ARN) of the SMB location to describe." +} +""" +DescribeLocationSmb(args) = datasync("DescribeLocationSmb", args) + +""" + CreateLocationFsxWindows() + +Creates an endpoint for an Amazon FSx for Windows file system. + +Required Parameters +{ + "Password": "The password of the user who has the permissions to access files and folders in the FSx for Windows file system.", + "SecurityGroupArns": "The Amazon Resource Names (ARNs) of the security groups that are to use to configure the FSx for Windows file system.", + "User": "The user who has the permissions to access files and folders in the FSx for Windows file system.", + "FsxFilesystemArn": "The Amazon Resource Name (ARN) for the FSx for Windows file system." +} + +Optional Parameters +{ + "Subdirectory": "A subdirectory in the location’s path. This subdirectory in the Amazon FSx for Windows file system is used to read data from the Amazon FSx for Windows source location or write data to the FSx for Windows destination.", + "Tags": "The key-value pair that represents a tag that you want to add to the resource. The value can be an empty string. This value helps you manage, filter, and search for your resources. We recommend that you create a name tag for your location.", + "Domain": "The name of the Windows domain that the FSx for Windows server belongs to." +} +""" +CreateLocationFsxWindows(args) = datasync("CreateLocationFsxWindows", args) + +""" + StartTaskExecution() + +Starts a specific invocation of a task. A TaskExecution value represents an individual run of a task. Each task can have at most one TaskExecution at a time. TaskExecution has the following transition phases: INITIALIZING | PREPARING | TRANSFERRING | VERIFYING | SUCCESS/FAILURE. For detailed information, see the Task Execution section in the Components and Terminology topic in the AWS DataSync User Guide. + +Required Parameters +{ + "TaskArn": "The Amazon Resource Name (ARN) of the task to start." +} + +Optional Parameters +{ + "Includes": "A list of filter rules that determines which files to include when running a task. The pattern should contain a single filter string that consists of the patterns to include. The patterns are delimited by \"|\" (that is, a pipe). For example: \"/folder1|/folder2\" ", + "OverrideOptions": "" +} +""" +StartTaskExecution(args) = datasync("StartTaskExecution", args) diff --git a/src/services/dax.jl b/src/services/dax.jl new file mode 100644 index 0000000000..4ce94a013a --- /dev/null +++ b/src/services/dax.jl @@ -0,0 +1,344 @@ +include("../AWSServices.jl") +using .AWSServices: dax + +""" + CreateCluster() + +Creates a DAX cluster. All nodes in the cluster run the same DAX caching software. + +Required Parameters +{ + "ClusterName": "The cluster identifier. This parameter is stored as a lowercase string. Constraints: A name must contain from 1 to 20 alphanumeric characters or hyphens. The first character must be a letter. A name cannot end with a hyphen or contain two consecutive hyphens. ", + "ReplicationFactor": "The number of nodes in the DAX cluster. A replication factor of 1 will create a single-node cluster, without any read replicas. For additional fault tolerance, you can create a multiple node cluster with one or more read replicas. To do this, set ReplicationFactor to a number between 3 (one primary and two read replicas) and 10 (one primary and nine read replicas). If the AvailabilityZones parameter is provided, its length must equal the ReplicationFactor. AWS recommends that you have at least two read replicas per cluster. ", + "NodeType": "The compute and memory capacity of the nodes in the cluster.", + "IamRoleArn": "A valid Amazon Resource Name (ARN) that identifies an IAM role. At runtime, DAX will assume this role and use the role's permissions to access DynamoDB on your behalf." +} + +Optional Parameters +{ + "Description": "A description of the cluster.", + "SSESpecification": "Represents the settings used to enable server-side encryption on the cluster.", + "NotificationTopicArn": "The Amazon Resource Name (ARN) of the Amazon SNS topic to which notifications will be sent. The Amazon SNS topic owner must be same as the DAX cluster owner. ", + "Tags": "A set of tags to associate with the DAX cluster. ", + "SecurityGroupIds": "A list of security group IDs to be assigned to each node in the DAX cluster. (Each of the security group ID is system-generated.) If this parameter is not specified, DAX assigns the default VPC security group to each node.", + "PreferredMaintenanceWindow": "Specifies the weekly time range during which maintenance on the DAX cluster is performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance window is a 60 minute period. Valid values for ddd are: sun mon tue wed thu fri sat Example: sun:05:00-sun:09:00 If you don't specify a preferred maintenance window when you create or modify a cache cluster, DAX assigns a 60-minute maintenance window on a randomly selected day of the week. ", + "SubnetGroupName": "The name of the subnet group to be used for the replication group. DAX clusters can only run in an Amazon VPC environment. All of the subnets that you specify in a subnet group must exist in the same VPC. ", + "AvailabilityZones": "The Availability Zones (AZs) in which the cluster nodes will reside after the cluster has been created or updated. If provided, the length of this list must equal the ReplicationFactor parameter. If you omit this parameter, DAX will spread the nodes across Availability Zones for the highest availability.", + "ParameterGroupName": "The parameter group to be associated with the DAX cluster." +} +""" +CreateCluster(args) = dax("CreateCluster", args) + +""" + DescribeParameters() + +Returns the detailed parameter list for a particular parameter group. + +Required Parameters +{ + "ParameterGroupName": "The name of the parameter group." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved. The value for MaxResults must be between 20 and 100.", + "Source": "How the parameter is defined. For example, system denotes a system-defined parameter.", + "NextToken": "An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to the value specified by MaxResults." +} +""" +DescribeParameters(args) = dax("DescribeParameters", args) + +""" + DescribeEvents() + +Returns events related to DAX clusters and parameter groups. You can obtain events specific to a particular DAX cluster or parameter group by providing the name as a parameter. By default, only the events occurring within the last 24 hours are returned; however, you can retrieve up to 14 days' worth of events if necessary. + +Optional Parameters +{ + "StartTime": "The beginning of the time interval to retrieve events for, specified in ISO 8601 format.", + "MaxResults": "The maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved. The value for MaxResults must be between 20 and 100.", + "SourceName": "The identifier of the event source for which events will be returned. If not specified, then all sources are included in the response.", + "EndTime": "The end of the time interval for which to retrieve events, specified in ISO 8601 format.", + "NextToken": "An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to the value specified by MaxResults.", + "SourceType": "The event source to retrieve events for. If no value is specified, all events are returned.", + "Duration": "The number of minutes' worth of events to retrieve." +} +""" +DescribeEvents() = dax("DescribeEvents") +DescribeEvents(args) = dax("DescribeEvents", args) + +""" + UpdateSubnetGroup() + +Modifies an existing subnet group. + +Required Parameters +{ + "SubnetGroupName": "The name of the subnet group." +} + +Optional Parameters +{ + "Description": "A description of the subnet group.", + "SubnetIds": "A list of subnet IDs in the subnet group." +} +""" +UpdateSubnetGroup(args) = dax("UpdateSubnetGroup", args) + +""" + RebootNode() + +Reboots a single node of a DAX cluster. The reboot action takes place as soon as possible. During the reboot, the node status is set to REBOOTING. RebootNode restarts the DAX engine process and does not remove the contents of the cache. + +Required Parameters +{ + "ClusterName": "The name of the DAX cluster containing the node to be rebooted.", + "NodeId": "The system-assigned ID of the node to be rebooted." +} +""" +RebootNode(args) = dax("RebootNode", args) + +""" + TagResource() + +Associates a set of tags with a DAX resource. You can call TagResource up to 5 times per second, per account. + +Required Parameters +{ + "Tags": "The tags to be assigned to the DAX resource. ", + "ResourceName": "The name of the DAX resource to which tags should be added." +} +""" +TagResource(args) = dax("TagResource", args) + +""" + UntagResource() + +Removes the association of tags from a DAX resource. You can call UntagResource up to 5 times per second, per account. + +Required Parameters +{ + "ResourceName": "The name of the DAX resource from which the tags should be removed.", + "TagKeys": "A list of tag keys. If the DAX cluster has any tags with these keys, then the tags are removed from the cluster." +} +""" +UntagResource(args) = dax("UntagResource", args) + +""" + DeleteSubnetGroup() + +Deletes a subnet group. You cannot delete a subnet group if it is associated with any DAX clusters. + +Required Parameters +{ + "SubnetGroupName": "The name of the subnet group to delete." +} +""" +DeleteSubnetGroup(args) = dax("DeleteSubnetGroup", args) + +""" + UpdateCluster() + +Modifies the settings for a DAX cluster. You can use this action to change one or more cluster configuration parameters by specifying the parameters and the new values. + +Required Parameters +{ + "ClusterName": "The name of the DAX cluster to be modified." +} + +Optional Parameters +{ + "Description": "A description of the changes being made to the cluster.", + "NotificationTopicArn": "The Amazon Resource Name (ARN) that identifies the topic.", + "SecurityGroupIds": "A list of user-specified security group IDs to be assigned to each node in the DAX cluster. If this parameter is not specified, DAX assigns the default VPC security group to each node.", + "PreferredMaintenanceWindow": "A range of time when maintenance of DAX cluster software will be performed. For example: sun:01:00-sun:09:00. Cluster maintenance normally takes less than 30 minutes, and is performed automatically within the maintenance window.", + "NotificationTopicStatus": "The current state of the topic.", + "ParameterGroupName": "The name of a parameter group for this cluster." +} +""" +UpdateCluster(args) = dax("UpdateCluster", args) + +""" + IncreaseReplicationFactor() + +Adds one or more nodes to a DAX cluster. + +Required Parameters +{ + "NewReplicationFactor": "The new number of nodes for the DAX cluster.", + "ClusterName": "The name of the DAX cluster that will receive additional nodes." +} + +Optional Parameters +{ + "AvailabilityZones": "The Availability Zones (AZs) in which the cluster nodes will be created. All nodes belonging to the cluster are placed in these Availability Zones. Use this parameter if you want to distribute the nodes across multiple AZs." +} +""" +IncreaseReplicationFactor(args) = dax("IncreaseReplicationFactor", args) + +""" + UpdateParameterGroup() + +Modifies the parameters of a parameter group. You can modify up to 20 parameters in a single request by submitting a list parameter name and value pairs. + +Required Parameters +{ + "ParameterNameValues": "An array of name-value pairs for the parameters in the group. Each element in the array represents a single parameter.", + "ParameterGroupName": "The name of the parameter group." +} +""" +UpdateParameterGroup(args) = dax("UpdateParameterGroup", args) + +""" + CreateSubnetGroup() + +Creates a new subnet group. + +Required Parameters +{ + "SubnetIds": "A list of VPC subnet IDs for the subnet group.", + "SubnetGroupName": "A name for the subnet group. This value is stored as a lowercase string. " +} + +Optional Parameters +{ + "Description": "A description for the subnet group" +} +""" +CreateSubnetGroup(args) = dax("CreateSubnetGroup", args) + +""" + DescribeDefaultParameters() + +Returns the default system parameter information for the DAX caching software. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved. The value for MaxResults must be between 20 and 100.", + "NextToken": "An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to the value specified by MaxResults." +} +""" +DescribeDefaultParameters() = dax("DescribeDefaultParameters") +DescribeDefaultParameters(args) = dax("DescribeDefaultParameters", args) + +""" + DeleteCluster() + +Deletes a previously provisioned DAX cluster. DeleteCluster deletes all associated nodes, node endpoints and the DAX cluster itself. When you receive a successful response from this action, DAX immediately begins deleting the cluster; you cannot cancel or revert this action. + +Required Parameters +{ + "ClusterName": "The name of the cluster to be deleted." +} +""" +DeleteCluster(args) = dax("DeleteCluster", args) + +""" + CreateParameterGroup() + +Creates a new parameter group. A parameter group is a collection of parameters that you apply to all of the nodes in a DAX cluster. + +Required Parameters +{ + "ParameterGroupName": "The name of the parameter group to apply to all of the clusters in this replication group." +} + +Optional Parameters +{ + "Description": "A description of the parameter group." +} +""" +CreateParameterGroup(args) = dax("CreateParameterGroup", args) + +""" + DecreaseReplicationFactor() + +Removes one or more nodes from a DAX cluster. You cannot use DecreaseReplicationFactor to remove the last node in a DAX cluster. If you need to do this, use DeleteCluster instead. + +Required Parameters +{ + "NewReplicationFactor": "The new number of nodes for the DAX cluster.", + "ClusterName": "The name of the DAX cluster from which you want to remove nodes." +} + +Optional Parameters +{ + "NodeIdsToRemove": "The unique identifiers of the nodes to be removed from the cluster.", + "AvailabilityZones": "The Availability Zone(s) from which to remove nodes." +} +""" +DecreaseReplicationFactor(args) = dax("DecreaseReplicationFactor", args) + +""" + DescribeParameterGroups() + +Returns a list of parameter group descriptions. If a parameter group name is specified, the list will contain only the descriptions for that group. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved. The value for MaxResults must be between 20 and 100.", + "NextToken": "An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to the value specified by MaxResults.", + "ParameterGroupNames": "The names of the parameter groups." +} +""" +DescribeParameterGroups() = dax("DescribeParameterGroups") +DescribeParameterGroups(args) = dax("DescribeParameterGroups", args) + +""" + ListTags() + +List all of the tags for a DAX cluster. You can call ListTags up to 10 times per second, per account. + +Required Parameters +{ + "ResourceName": "The name of the DAX resource to which the tags belong." +} + +Optional Parameters +{ + "NextToken": "An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token." +} +""" +ListTags(args) = dax("ListTags", args) + +""" + DeleteParameterGroup() + +Deletes the specified parameter group. You cannot delete a parameter group if it is associated with any DAX clusters. + +Required Parameters +{ + "ParameterGroupName": "The name of the parameter group to delete." +} +""" +DeleteParameterGroup(args) = dax("DeleteParameterGroup", args) + +""" + DescribeSubnetGroups() + +Returns a list of subnet group descriptions. If a subnet group name is specified, the list will contain only the description of that group. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved. The value for MaxResults must be between 20 and 100.", + "SubnetGroupNames": "The name of the subnet group.", + "NextToken": "An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to the value specified by MaxResults." +} +""" +DescribeSubnetGroups() = dax("DescribeSubnetGroups") +DescribeSubnetGroups(args) = dax("DescribeSubnetGroups", args) + +""" + DescribeClusters() + +Returns information about all provisioned DAX clusters if no cluster identifier is specified, or about a specific DAX cluster if a cluster identifier is supplied. If the cluster is in the CREATING state, only cluster level information will be displayed until all of the nodes are successfully provisioned. If the cluster is in the DELETING state, only cluster level information will be displayed. If nodes are currently being added to the DAX cluster, node endpoint information and creation time for the additional nodes will not be displayed until they are completely provisioned. When the DAX cluster state is available, the cluster is ready for use. If nodes are currently being removed from the DAX cluster, no endpoint information for the removed nodes is displayed. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved. The value for MaxResults must be between 20 and 100.", + "NextToken": "An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to the value specified by MaxResults.", + "ClusterNames": "The names of the DAX clusters being described." +} +""" +DescribeClusters() = dax("DescribeClusters") +DescribeClusters(args) = dax("DescribeClusters", args) diff --git a/src/services/detective.jl b/src/services/detective.jl new file mode 100644 index 0000000000..1185967fb9 --- /dev/null +++ b/src/services/detective.jl @@ -0,0 +1,161 @@ +include("../AWSServices.jl") +using .AWSServices: detective + +""" + RejectInvitation() + +Amazon Detective is currently in preview. Rejects an invitation to contribute the account data to a behavior graph. This operation must be called by a member account that has the INVITED status. + +Required Parameters +{ + "GraphArn": "The ARN of the behavior graph to reject the invitation to. The member account's current member status in the behavior graph must be INVITED." +} +""" +RejectInvitation(args) = detective("POST", "/invitation/removal", args) + +""" + ListInvitations() + +Amazon Detective is currently in preview. Retrieves the list of open and accepted behavior graph invitations for the member account. This operation can only be called by a member account. Open invitations are invitations that the member account has not responded to. The results do not include behavior graphs for which the member account declined the invitation. The results also do not include behavior graphs that the member account resigned from or was removed from. + +Optional Parameters +{ + "MaxResults": "The maximum number of behavior graph invitations to return in the response. The total must be less than the overall limit on the number of results to return, which is currently 200.", + "NextToken": "For requests to retrieve the next page of results, the pagination token that was returned with the previous page of results. The initial request does not include a pagination token." +} +""" +ListInvitations() = detective("POST", "/invitations/list") +ListInvitations(args) = detective("POST", "/invitations/list", args) + +""" + CreateMembers() + +Amazon Detective is currently in preview. Sends a request to invite the specified AWS accounts to be member accounts in the behavior graph. This operation can only be called by the master account for a behavior graph. CreateMembers verifies the accounts and then sends invitations to the verified accounts. The request provides the behavior graph ARN and the list of accounts to invite. The response separates the requested accounts into two lists: The accounts that CreateMembers was able to start the verification for. This list includes member accounts that are being verified, that have passed verification and are being sent an invitation, and that have failed verification. The accounts that CreateMembers was unable to process. This list includes accounts that were already invited to be member accounts in the behavior graph. + +Required Parameters +{ + "GraphArn": "The ARN of the behavior graph to invite the member accounts to contribute their data to.", + "Accounts": "The list of AWS accounts to invite to become member accounts in the behavior graph. For each invited account, the account list contains the account identifier and the AWS account root user email address." +} + +Optional Parameters +{ + "Message": "Customized message text to include in the invitation email message to the invited member accounts." +} +""" +CreateMembers(args) = detective("POST", "/graph/members", args) + +""" + DeleteGraph() + +Amazon Detective is currently in preview. Disables the specified behavior graph and queues it to be deleted. This operation removes the graph from each member account's list of behavior graphs. DeleteGraph can only be called by the master account for a behavior graph. + +Required Parameters +{ + "GraphArn": "The ARN of the behavior graph to disable." +} +""" +DeleteGraph(args) = detective("POST", "/graph/removal", args) + +""" + DisassociateMembership() + +Amazon Detective is currently in preview. Removes the member account from the specified behavior graph. This operation can only be called by a member account that has the ENABLED status. + +Required Parameters +{ + "GraphArn": "The ARN of the behavior graph to remove the member account from. The member account's member status in the behavior graph must be ENABLED." +} +""" +DisassociateMembership(args) = detective("POST", "/membership/removal", args) + +""" + ListMembers() + +Amazon Detective is currently in preview. Retrieves the list of member accounts for a behavior graph. Does not return member accounts that were removed from the behavior graph. + +Required Parameters +{ + "GraphArn": "The ARN of the behavior graph for which to retrieve the list of member accounts." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of member accounts to include in the response. The total must be less than the overall limit on the number of results to return, which is currently 200.", + "NextToken": "For requests to retrieve the next page of member account results, the pagination token that was returned with the previous page of results. The initial request does not include a pagination token." +} +""" +ListMembers(args) = detective("POST", "/graph/members/list", args) + +""" + CreateGraph() + +Amazon Detective is currently in preview. Creates a new behavior graph for the calling account, and sets that account as the master account. This operation is called by the account that is enabling Detective. Before you try to enable Detective, make sure that your account has been enrolled in Amazon GuardDuty for at least 48 hours. If you do not meet this requirement, you cannot enable Detective. If you do meet the GuardDuty prerequisite, then when you make the request to enable Detective, it checks whether your data volume is within the Detective quota. If it exceeds the quota, then you cannot enable Detective. The operation also enables Detective for the calling account in the currently selected Region. It returns the ARN of the new behavior graph. CreateGraph triggers a process to create the corresponding data tables for the new behavior graph. An account can only be the master account for one behavior graph within a Region. If the same account calls CreateGraph with the same master account, it always returns the same behavior graph ARN. It does not create a new behavior graph. +""" +CreateGraph() = detective("POST", "/graph") +CreateGraph(args) = detective("POST", "/graph", args) + +""" + DeleteMembers() + +Amazon Detective is currently in preview. Deletes one or more member accounts from the master account behavior graph. This operation can only be called by a Detective master account. That account cannot use DeleteMembers to delete their own account from the behavior graph. To disable a behavior graph, the master account uses the DeleteGraph API method. + +Required Parameters +{ + "GraphArn": "The ARN of the behavior graph to delete members from.", + "AccountIds": "The list of AWS account identifiers for the member accounts to delete from the behavior graph." +} +""" +DeleteMembers(args) = detective("POST", "/graph/members/removal", args) + +""" + AcceptInvitation() + +Amazon Detective is currently in preview. Accepts an invitation for the member account to contribute data to a behavior graph. This operation can only be called by an invited member account. The request provides the ARN of behavior graph. The member account status in the graph must be INVITED. + +Required Parameters +{ + "GraphArn": "The ARN of the behavior graph that the member account is accepting the invitation for. The member account status in the behavior graph must be INVITED." +} +""" +AcceptInvitation(args) = detective("PUT", "/invitation", args) + +""" + StartMonitoringMember() + +Sends a request to enable data ingest for a member account that has a status of ACCEPTED_BUT_DISABLED. For valid member accounts, the status is updated as follows. If Detective enabled the member account, then the new status is ENABLED. If Detective cannot enable the member account, the status remains ACCEPTED_BUT_DISABLED. + +Required Parameters +{ + "GraphArn": "The ARN of the behavior graph.", + "AccountId": "The account ID of the member account to try to enable. The account must be an invited member account with a status of ACCEPTED_BUT_DISABLED. " +} +""" +StartMonitoringMember(args) = detective("POST", "/graph/member/monitoringstate", args) + +""" + ListGraphs() + +Amazon Detective is currently in preview. Returns the list of behavior graphs that the calling account is a master of. This operation can only be called by a master account. Because an account can currently only be the master of one behavior graph within a Region, the results always contain a single graph. + +Optional Parameters +{ + "MaxResults": "The maximum number of graphs to return at a time. The total must be less than the overall limit on the number of results to return, which is currently 200.", + "NextToken": "For requests to get the next page of results, the pagination token that was returned with the previous set of results. The initial request does not include a pagination token." +} +""" +ListGraphs() = detective("POST", "/graphs/list") +ListGraphs(args) = detective("POST", "/graphs/list", args) + +""" + GetMembers() + +Amazon Detective is currently in preview. Returns the membership details for specified member accounts for a behavior graph. + +Required Parameters +{ + "GraphArn": "The ARN of the behavior graph for which to request the member details.", + "AccountIds": "The list of AWS account identifiers for the member account for which to return member details. You cannot use GetMembers to retrieve information about member accounts that were removed from the behavior graph." +} +""" +GetMembers(args) = detective("POST", "/graph/members/get", args) diff --git a/src/services/device_farm.jl b/src/services/device_farm.jl new file mode 100644 index 0000000000..1b9931f346 --- /dev/null +++ b/src/services/device_farm.jl @@ -0,0 +1,1189 @@ +include("../AWSServices.jl") +using .AWSServices: device_farm + +""" + GetDevice() + +Gets information about a unique device type. + +Required Parameters +{ + "arn": "The device type's ARN." +} +""" +GetDevice(args) = device_farm("GetDevice", args) + +""" + StopJob() + +Initiates a stop request for the current job. AWS Device Farm immediately stops the job on the device where tests have not started. You are not billed for this device. On the device where tests have started, setup suite and teardown suite tests run to completion on the device. You are billed for setup, teardown, and any tests that were in progress or already completed. + +Required Parameters +{ + "arn": "Represents the Amazon Resource Name (ARN) of the Device Farm job to stop." +} +""" +StopJob(args) = device_farm("StopJob", args) + +""" + UpdateProject() + +Modifies the specified project name, given the project ARN and a new name. + +Required Parameters +{ + "arn": "The Amazon Resource Name (ARN) of the project whose name to update." +} + +Optional Parameters +{ + "defaultJobTimeoutMinutes": "The number of minutes a test run in the project executes before it times out.", + "name": "A string that represents the new name of the project that you are updating." +} +""" +UpdateProject(args) = device_farm("UpdateProject", args) + +""" + CreateDevicePool() + +Creates a device pool. + +Required Parameters +{ + "name": "The device pool's name.", + "rules": "The device pool's rules.", + "projectArn": "The ARN of the project for the device pool." +} + +Optional Parameters +{ + "maxDevices": "The number of devices that Device Farm can add to your device pool. Device Farm adds devices that are available and meet the criteria that you assign for the rules parameter. Depending on how many devices meet these constraints, your device pool might contain fewer devices than the value for this parameter. By specifying the maximum number of devices, you can control the costs that you incur by running tests.", + "description": "The device pool's description." +} +""" +CreateDevicePool(args) = device_farm("CreateDevicePool", args) + +""" + ListUploads() + +Gets information about uploads, given an AWS Device Farm project ARN. + +Required Parameters +{ + "arn": "The Amazon Resource Name (ARN) of the project for which you want to list uploads." +} + +Optional Parameters +{ + "nextToken": "An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.", + "type": "The type of upload. Must be one of the following values: ANDROID_APP IOS_APP WEB_APP EXTERNAL_DATA APPIUM_JAVA_JUNIT_TEST_PACKAGE APPIUM_JAVA_TESTNG_TEST_PACKAGE APPIUM_PYTHON_TEST_PACKAGE APPIUM_NODE_TEST_PACKAGE APPIUM_RUBY_TEST_PACKAGE APPIUM_WEB_JAVA_JUNIT_TEST_PACKAGE APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE APPIUM_WEB_PYTHON_TEST_PACKAGE APPIUM_WEB_NODE_TEST_PACKAGE APPIUM_WEB_RUBY_TEST_PACKAGE CALABASH_TEST_PACKAGE INSTRUMENTATION_TEST_PACKAGE UIAUTOMATION_TEST_PACKAGE UIAUTOMATOR_TEST_PACKAGE XCTEST_TEST_PACKAGE XCTEST_UI_TEST_PACKAGE APPIUM_JAVA_JUNIT_TEST_SPEC APPIUM_JAVA_TESTNG_TEST_SPEC APPIUM_PYTHON_TEST_SPEC APPIUM_NODE_TEST_SPEC APPIUM_RUBY_TEST_SPEC APPIUM_WEB_JAVA_JUNIT_TEST_SPEC APPIUM_WEB_JAVA_TESTNG_TEST_SPEC APPIUM_WEB_PYTHON_TEST_SPEC APPIUM_WEB_NODE_TEST_SPEC APPIUM_WEB_RUBY_TEST_SPEC INSTRUMENTATION_TEST_SPEC XCTEST_UI_TEST_SPEC " +} +""" +ListUploads(args) = device_farm("ListUploads", args) + +""" + RenewOffering() + +Explicitly sets the quantity of devices to renew for an offering, starting from the effectiveDate of the next period. The API returns a NotEligible error if the user is not permitted to invoke the operation. If you must be able to invoke this operation, contact aws-devicefarm-support@amazon.com. + +Optional Parameters +{ + "offeringId": "The ID of a request to renew an offering.", + "quantity": "The quantity requested in an offering renewal." +} +""" +RenewOffering() = device_farm("RenewOffering") +RenewOffering(args) = device_farm("RenewOffering", args) + +""" + DeleteUpload() + +Deletes an upload given the upload ARN. + +Required Parameters +{ + "arn": "Represents the Amazon Resource Name (ARN) of the Device Farm upload to delete." +} +""" +DeleteUpload(args) = device_farm("DeleteUpload", args) + +""" + GetInstanceProfile() + +Returns information about the specified instance profile. + +Required Parameters +{ + "arn": "The Amazon Resource Name (ARN) of an instance profile." +} +""" +GetInstanceProfile(args) = device_farm("GetInstanceProfile", args) + +""" + GetDeviceInstance() + +Returns information about a device instance that belongs to a private device fleet. + +Required Parameters +{ + "arn": "The Amazon Resource Name (ARN) of the instance you're requesting information about." +} +""" +GetDeviceInstance(args) = device_farm("GetDeviceInstance", args) + +""" + ListOfferingTransactions() + +Returns a list of all historical purchases, renewals, and system renewal transactions for an AWS account. The list is paginated and ordered by a descending timestamp (most recent transactions are first). The API returns a NotEligible error if the user is not permitted to invoke the operation. If you must be able to invoke this operation, contact aws-devicefarm-support@amazon.com. + +Optional Parameters +{ + "nextToken": "An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list." +} +""" +ListOfferingTransactions() = device_farm("ListOfferingTransactions") +ListOfferingTransactions(args) = device_farm("ListOfferingTransactions", args) + +""" + TagResource() + +Associates the specified tags to a resource with the specified resourceArn. If existing tags on a resource are not specified in the request parameters, they are not changed. When a resource is deleted, the tags associated with that resource are also deleted. + +Required Parameters +{ + "ResourceARN": "The Amazon Resource Name (ARN) of the resource or resources to which to add tags. You can associate tags with the following Device Farm resources: PROJECT, RUN, NETWORK_PROFILE, INSTANCE_PROFILE, DEVICE_INSTANCE, SESSION, DEVICE_POOL, DEVICE, and VPCE_CONFIGURATION.", + "Tags": "The tags to add to the resource. A tag is an array of key-value pairs. Tag keys can have a maximum character length of 128 characters. Tag values can have a maximum length of 256 characters." +} +""" +TagResource(args) = device_farm("TagResource", args) + +""" + DeleteProject() + +Deletes an AWS Device Farm project, given the project ARN. Deleting this resource does not stop an in-progress run. + +Required Parameters +{ + "arn": "Represents the Amazon Resource Name (ARN) of the Device Farm project to delete." +} +""" +DeleteProject(args) = device_farm("DeleteProject", args) + +""" + DeleteDevicePool() + +Deletes a device pool given the pool ARN. Does not allow deletion of curated pools owned by the system. + +Required Parameters +{ + "arn": "Represents the Amazon Resource Name (ARN) of the Device Farm device pool to delete." +} +""" +DeleteDevicePool(args) = device_farm("DeleteDevicePool", args) + +""" + UpdateDeviceInstance() + +Updates information about a private device instance. + +Required Parameters +{ + "arn": "The Amazon Resource Name (ARN) of the device instance." +} + +Optional Parameters +{ + "labels": "An array of strings that you want to associate with the device instance.", + "profileArn": "The ARN of the profile that you want to associate with the device instance." +} +""" +UpdateDeviceInstance(args) = device_farm("UpdateDeviceInstance", args) + +""" + UpdateDevicePool() + +Modifies the name, description, and rules in a device pool given the attributes and the pool ARN. Rule updates are all-or-nothing, meaning they can only be updated as a whole (or not at all). + +Required Parameters +{ + "arn": "The Amazon Resource Name (ARN) of the Device Farm device pool to update." +} + +Optional Parameters +{ + "name": "A string that represents the name of the device pool to update.", + "maxDevices": "The number of devices that Device Farm can add to your device pool. Device Farm adds devices that are available and that meet the criteria that you assign for the rules parameter. Depending on how many devices meet these constraints, your device pool might contain fewer devices than the value for this parameter. By specifying the maximum number of devices, you can control the costs that you incur by running tests. If you use this parameter in your request, you cannot use the clearMaxDevices parameter in the same request.", + "clearMaxDevices": "Sets whether the maxDevices parameter applies to your device pool. If you set this parameter to true, the maxDevices parameter does not apply, and Device Farm does not limit the number of devices that it adds to your device pool. In this case, Device Farm adds all available devices that meet the criteria specified in the rules parameter. If you use this parameter in your request, you cannot use the maxDevices parameter in the same request.", + "rules": "Represents the rules to modify for the device pool. Updating rules is optional. If you update rules for your request, the update replaces the existing rules.", + "description": "A description of the device pool to update." +} +""" +UpdateDevicePool(args) = device_farm("UpdateDevicePool", args) + +""" + ListInstanceProfiles() + +Returns information about all the instance profiles in an AWS account. + +Optional Parameters +{ + "maxResults": "An integer that specifies the maximum number of items you want to return in the API response.", + "nextToken": "An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list." +} +""" +ListInstanceProfiles() = device_farm("ListInstanceProfiles") +ListInstanceProfiles(args) = device_farm("ListInstanceProfiles", args) + +""" + CreateUpload() + +Uploads an app or test scripts. + +Required Parameters +{ + "name": "The upload's file name. The name should not contain any forward slashes (/). If you are uploading an iOS app, the file name must end with the .ipa extension. If you are uploading an Android app, the file name must end with the .apk extension. For all others, the file name must end with the .zip file extension.", + "type": "The upload's upload type. Must be one of the following values: ANDROID_APP IOS_APP WEB_APP EXTERNAL_DATA APPIUM_JAVA_JUNIT_TEST_PACKAGE APPIUM_JAVA_TESTNG_TEST_PACKAGE APPIUM_PYTHON_TEST_PACKAGE APPIUM_NODE_TEST_PACKAGE APPIUM_RUBY_TEST_PACKAGE APPIUM_WEB_JAVA_JUNIT_TEST_PACKAGE APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE APPIUM_WEB_PYTHON_TEST_PACKAGE APPIUM_WEB_NODE_TEST_PACKAGE APPIUM_WEB_RUBY_TEST_PACKAGE CALABASH_TEST_PACKAGE INSTRUMENTATION_TEST_PACKAGE UIAUTOMATION_TEST_PACKAGE UIAUTOMATOR_TEST_PACKAGE XCTEST_TEST_PACKAGE XCTEST_UI_TEST_PACKAGE APPIUM_JAVA_JUNIT_TEST_SPEC APPIUM_JAVA_TESTNG_TEST_SPEC APPIUM_PYTHON_TEST_SPEC APPIUM_NODE_TEST_SPEC APPIUM_RUBY_TEST_SPEC APPIUM_WEB_JAVA_JUNIT_TEST_SPEC APPIUM_WEB_JAVA_TESTNG_TEST_SPEC APPIUM_WEB_PYTHON_TEST_SPEC APPIUM_WEB_NODE_TEST_SPEC APPIUM_WEB_RUBY_TEST_SPEC INSTRUMENTATION_TEST_SPEC XCTEST_UI_TEST_SPEC If you call CreateUpload with WEB_APP specified, AWS Device Farm throws an ArgumentException error.", + "projectArn": "The ARN of the project for the upload." +} + +Optional Parameters +{ + "contentType": "The upload's content type (for example, application/octet-stream)." +} +""" +CreateUpload(args) = device_farm("CreateUpload", args) + +""" + CreateTestGridProject() + +Creates a Selenium testing project. Projects are used to track TestGridSession instances. + +Required Parameters +{ + "name": "Human-readable name of the Selenium testing project." +} + +Optional Parameters +{ + "description": "Human-readable description of the project." +} +""" +CreateTestGridProject(args) = device_farm("CreateTestGridProject", args) + +""" + DeleteRemoteAccessSession() + +Deletes a completed remote access session and its results. + +Required Parameters +{ + "arn": "The Amazon Resource Name (ARN) of the session for which you want to delete remote access." +} +""" +DeleteRemoteAccessSession(args) = device_farm("DeleteRemoteAccessSession", args) + +""" + UpdateInstanceProfile() + +Updates information about an existing private device instance profile. + +Required Parameters +{ + "arn": "The Amazon Resource Name (ARN) of the instance profile." +} + +Optional Parameters +{ + "rebootAfterUse": "The updated choice for whether you want to reboot the device after use. The default value is true.", + "name": "The updated name for your instance profile.", + "packageCleanup": "The updated choice for whether you want to specify package cleanup. The default value is false for private devices.", + "excludeAppPackagesFromCleanup": "An array of strings that specifies the list of app packages that should not be cleaned up from the device after a test run is over. The list of packages is only considered if you set packageCleanup to true.", + "description": "The updated description for your instance profile." +} +""" +UpdateInstanceProfile(args) = device_farm("UpdateInstanceProfile", args) + +""" + UpdateTestGridProject() + +Change details of a project. + +Required Parameters +{ + "projectArn": "ARN of the project to update." +} + +Optional Parameters +{ + "name": "Human-readable name for the project.", + "description": "Human-readable description for the project." +} +""" +UpdateTestGridProject(args) = device_farm("UpdateTestGridProject", args) + +""" + ListDevices() + +Gets information about unique device types. + +Optional Parameters +{ + "filters": "Used to select a set of devices. A filter is made up of an attribute, an operator, and one or more values. Attribute: The aspect of a device such as platform or model used as the selection criteria in a device filter. Allowed values include: ARN: The Amazon Resource Name (ARN) of the device (for example, arn:aws:devicefarm:us-west-2::device:12345Example). PLATFORM: The device platform. Valid values are ANDROID or IOS. OS_VERSION: The operating system version (for example, 10.3.2). MODEL: The device model (for example, iPad 5th Gen). AVAILABILITY: The current availability of the device. Valid values are AVAILABLE, HIGHLY_AVAILABLE, BUSY, or TEMPORARY_NOT_AVAILABLE. FORM_FACTOR: The device form factor. Valid values are PHONE or TABLET. MANUFACTURER: The device manufacturer (for example, Apple). REMOTE_ACCESS_ENABLED: Whether the device is enabled for remote access. Valid values are TRUE or FALSE. REMOTE_DEBUG_ENABLED: Whether the device is enabled for remote debugging. Valid values are TRUE or FALSE. Because remote debugging is no longer supported, this attribute is ignored. INSTANCE_ARN: The Amazon Resource Name (ARN) of the device instance. INSTANCE_LABELS: The label of the device instance. FLEET_TYPE: The fleet type. Valid values are PUBLIC or PRIVATE. Operator: The filter operator. The EQUALS operator is available for every attribute except INSTANCE_LABELS. The CONTAINS operator is available for the INSTANCE_LABELS and MODEL attributes. The IN and NOT_IN operators are available for the ARN, OS_VERSION, MODEL, MANUFACTURER, and INSTANCE_ARN attributes. The LESS_THAN, GREATER_THAN, LESS_THAN_OR_EQUALS, and GREATER_THAN_OR_EQUALS operators are also available for the OS_VERSION attribute. Values: An array of one or more filter values. The IN and NOT_IN operators take a values array that has one or more elements. The other operators require an array with a single element. In a request, the AVAILABILITY attribute takes the following values: AVAILABLE, HIGHLY_AVAILABLE, BUSY, or TEMPORARY_NOT_AVAILABLE. ", + "nextToken": "An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.", + "arn": "The Amazon Resource Name (ARN) of the project." +} +""" +ListDevices() = device_farm("ListDevices") +ListDevices(args) = device_farm("ListDevices", args) + +""" + CreateNetworkProfile() + +Creates a network profile. + +Required Parameters +{ + "name": "The name for the new network profile.", + "projectArn": "The Amazon Resource Name (ARN) of the project for which you want to create a network profile." +} + +Optional Parameters +{ + "uplinkBandwidthBits": "The data throughput rate in bits per second, as an integer from 0 to 104857600.", + "downlinkBandwidthBits": "The data throughput rate in bits per second, as an integer from 0 to 104857600.", + "downlinkDelayMs": "Delay time for all packets to destination in milliseconds as an integer from 0 to 2000.", + "uplinkDelayMs": "Delay time for all packets to destination in milliseconds as an integer from 0 to 2000.", + "downlinkJitterMs": "Time variation in the delay of received packets in milliseconds as an integer from 0 to 2000.", + "uplinkLossPercent": "Proportion of transmitted packets that fail to arrive from 0 to 100 percent.", + "uplinkJitterMs": "Time variation in the delay of received packets in milliseconds as an integer from 0 to 2000.", + "description": "The description of the network profile.", + "downlinkLossPercent": "Proportion of received packets that fail to arrive from 0 to 100 percent.", + "type": "The type of network profile to create. Valid values are listed here." +} +""" +CreateNetworkProfile(args) = device_farm("CreateNetworkProfile", args) + +""" + ListDeviceInstances() + +Returns information about the private device instances associated with one or more AWS accounts. + +Optional Parameters +{ + "maxResults": "An integer that specifies the maximum number of items you want to return in the API response.", + "nextToken": "An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list." +} +""" +ListDeviceInstances() = device_farm("ListDeviceInstances") +ListDeviceInstances(args) = device_farm("ListDeviceInstances", args) + +""" + ListTestGridProjects() + +Gets a list of all Selenium testing projects in your account. + +Optional Parameters +{ + "maxResult": "Return no more than this number of results.", + "nextToken": "From a response, used to continue a paginated listing. " +} +""" +ListTestGridProjects() = device_farm("ListTestGridProjects") +ListTestGridProjects(args) = device_farm("ListTestGridProjects", args) + +""" + CreateVPCEConfiguration() + +Creates a configuration record in Device Farm for your Amazon Virtual Private Cloud (VPC) endpoint. + +Required Parameters +{ + "vpceConfigurationName": "The friendly name you give to your VPC endpoint configuration, to manage your configurations more easily.", + "serviceDnsName": "The DNS name of the service running in your VPC that you want Device Farm to test.", + "vpceServiceName": "The name of the VPC endpoint service running in your AWS account that you want Device Farm to test." +} + +Optional Parameters +{ + "vpceConfigurationDescription": "An optional description that provides details about your VPC endpoint configuration." +} +""" +CreateVPCEConfiguration(args) = device_farm("CreateVPCEConfiguration", args) + +""" + GetDevicePool() + +Gets information about a device pool. + +Required Parameters +{ + "arn": "The device pool's ARN." +} +""" +GetDevicePool(args) = device_farm("GetDevicePool", args) + +""" + CreateTestGridUrl() + +Creates a signed, short-term URL that can be passed to a Selenium RemoteWebDriver constructor. + +Required Parameters +{ + "expiresInSeconds": "Lifetime, in seconds, of the URL.", + "projectArn": "ARN (from CreateTestGridProject or ListTestGridProjects) to associate with the short-term URL. " +} +""" +CreateTestGridUrl(args) = device_farm("CreateTestGridUrl", args) + +""" + GetTest() + +Gets information about a test. + +Required Parameters +{ + "arn": "The test's ARN." +} +""" +GetTest(args) = device_farm("GetTest", args) + +""" + GetUpload() + +Gets information about an upload. + +Required Parameters +{ + "arn": "The upload's ARN." +} +""" +GetUpload(args) = device_farm("GetUpload", args) + +""" + ListRuns() + +Gets information about runs, given an AWS Device Farm project ARN. + +Required Parameters +{ + "arn": "The Amazon Resource Name (ARN) of the project for which you want to list runs." +} + +Optional Parameters +{ + "nextToken": "An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list." +} +""" +ListRuns(args) = device_farm("ListRuns", args) + +""" + ListSamples() + +Gets information about samples, given an AWS Device Farm job ARN. + +Required Parameters +{ + "arn": "The Amazon Resource Name (ARN) of the job used to list samples." +} + +Optional Parameters +{ + "nextToken": "An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list." +} +""" +ListSamples(args) = device_farm("ListSamples", args) + +""" + UntagResource() + +Deletes the specified tags from a resource. + +Required Parameters +{ + "ResourceARN": "The Amazon Resource Name (ARN) of the resource or resources from which to delete tags. You can associate tags with the following Device Farm resources: PROJECT, RUN, NETWORK_PROFILE, INSTANCE_PROFILE, DEVICE_INSTANCE, SESSION, DEVICE_POOL, DEVICE, and VPCE_CONFIGURATION.", + "TagKeys": "The keys of the tags to be removed." +} +""" +UntagResource(args) = device_farm("UntagResource", args) + +""" + PurchaseOffering() + +Immediately purchases offerings for an AWS account. Offerings renew with the latest total purchased quantity for an offering, unless the renewal was overridden. The API returns a NotEligible error if the user is not permitted to invoke the operation. If you must be able to invoke this operation, contact aws-devicefarm-support@amazon.com. + +Optional Parameters +{ + "offeringPromotionId": "The ID of the offering promotion to be applied to the purchase.", + "offeringId": "The ID of the offering.", + "quantity": "The number of device slots to purchase in an offering request." +} +""" +PurchaseOffering() = device_farm("PurchaseOffering") +PurchaseOffering(args) = device_farm("PurchaseOffering", args) + +""" + DeleteInstanceProfile() + +Deletes a profile that can be applied to one or more private device instances. + +Required Parameters +{ + "arn": "The Amazon Resource Name (ARN) of the instance profile you are requesting to delete." +} +""" +DeleteInstanceProfile(args) = device_farm("DeleteInstanceProfile", args) + +""" + GetRemoteAccessSession() + +Returns a link to a currently running remote access session. + +Required Parameters +{ + "arn": "The Amazon Resource Name (ARN) of the remote access session about which you want to get session information." +} +""" +GetRemoteAccessSession(args) = device_farm("GetRemoteAccessSession", args) + +""" + GetRun() + +Gets information about a run. + +Required Parameters +{ + "arn": "The run's ARN." +} +""" +GetRun(args) = device_farm("GetRun", args) + +""" + ListOfferings() + +Returns a list of products or offerings that the user can manage through the API. Each offering record indicates the recurring price per unit and the frequency for that offering. The API returns a NotEligible error if the user is not permitted to invoke the operation. If you must be able to invoke this operation, contact aws-devicefarm-support@amazon.com. + +Optional Parameters +{ + "nextToken": "An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list." +} +""" +ListOfferings() = device_farm("ListOfferings") +ListOfferings(args) = device_farm("ListOfferings", args) + +""" + ListTestGridSessionActions() + +Returns a list of the actions taken in a TestGridSession. + +Required Parameters +{ + "sessionArn": "The ARN of the session to retrieve." +} + +Optional Parameters +{ + "maxResult": "The maximum number of sessions to return per response.", + "nextToken": "Pagination token." +} +""" +ListTestGridSessionActions(args) = device_farm("ListTestGridSessionActions", args) + +""" + ListTagsForResource() + +List the tags for an AWS Device Farm resource. + +Required Parameters +{ + "ResourceARN": "The Amazon Resource Name (ARN) of the resource or resources for which to list tags. You can associate tags with the following Device Farm resources: PROJECT, RUN, NETWORK_PROFILE, INSTANCE_PROFILE, DEVICE_INSTANCE, SESSION, DEVICE_POOL, DEVICE, and VPCE_CONFIGURATION." +} +""" +ListTagsForResource(args) = device_farm("ListTagsForResource", args) + +""" + GetDevicePoolCompatibility() + +Gets information about compatibility with a device pool. + +Required Parameters +{ + "devicePoolArn": "The device pool's ARN." +} + +Optional Parameters +{ + "appArn": "The ARN of the app that is associated with the specified device pool.", + "test": "Information about the uploaded test to be run against the device pool.", + "testType": "The test type for the specified device pool. Allowed values include the following: BUILTIN_FUZZ. BUILTIN_EXPLORER. For Android, an app explorer that traverses an Android app, interacting with it and capturing screenshots at the same time. APPIUM_JAVA_JUNIT. APPIUM_JAVA_TESTNG. APPIUM_PYTHON. APPIUM_NODE. APPIUM_RUBY. APPIUM_WEB_JAVA_JUNIT. APPIUM_WEB_JAVA_TESTNG. APPIUM_WEB_PYTHON. APPIUM_WEB_NODE. APPIUM_WEB_RUBY. CALABASH. INSTRUMENTATION. UIAUTOMATION. UIAUTOMATOR. XCTEST. XCTEST_UI. ", + "configuration": "An object that contains information about the settings for a run." +} +""" +GetDevicePoolCompatibility(args) = device_farm("GetDevicePoolCompatibility", args) + +""" + GetVPCEConfiguration() + +Returns information about the configuration settings for your Amazon Virtual Private Cloud (VPC) endpoint. + +Required Parameters +{ + "arn": "The Amazon Resource Name (ARN) of the VPC endpoint configuration you want to describe." +} +""" +GetVPCEConfiguration(args) = device_farm("GetVPCEConfiguration", args) + +""" + ListRemoteAccessSessions() + +Returns a list of all currently running remote access sessions. + +Required Parameters +{ + "arn": "The Amazon Resource Name (ARN) of the project about which you are requesting information." +} + +Optional Parameters +{ + "nextToken": "An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list." +} +""" +ListRemoteAccessSessions(args) = device_farm("ListRemoteAccessSessions", args) + +""" + UpdateUpload() + +Updates an uploaded test spec. + +Required Parameters +{ + "arn": "The Amazon Resource Name (ARN) of the uploaded test spec." +} + +Optional Parameters +{ + "name": "The upload's test spec file name. The name must not contain any forward slashes (/). The test spec file name must end with the .yaml or .yml file extension.", + "editContent": "Set to true if the YAML file has changed and must be updated. Otherwise, set to false.", + "contentType": "The upload's content type (for example, application/x-yaml)." +} +""" +UpdateUpload(args) = device_farm("UpdateUpload", args) + +""" + DeleteVPCEConfiguration() + +Deletes a configuration for your Amazon Virtual Private Cloud (VPC) endpoint. + +Required Parameters +{ + "arn": "The Amazon Resource Name (ARN) of the VPC endpoint configuration you want to delete." +} +""" +DeleteVPCEConfiguration(args) = device_farm("DeleteVPCEConfiguration", args) + +""" + GetOfferingStatus() + +Gets the current status and future status of all offerings purchased by an AWS account. The response indicates how many offerings are currently available and the offerings that will be available in the next period. The API returns a NotEligible error if the user is not permitted to invoke the operation. If you must be able to invoke this operation, contact aws-devicefarm-support@amazon.com. + +Optional Parameters +{ + "nextToken": "An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list." +} +""" +GetOfferingStatus() = device_farm("GetOfferingStatus") +GetOfferingStatus(args) = device_farm("GetOfferingStatus", args) + +""" + DeleteNetworkProfile() + +Deletes a network profile. + +Required Parameters +{ + "arn": "The ARN of the network profile to delete." +} +""" +DeleteNetworkProfile(args) = device_farm("DeleteNetworkProfile", args) + +""" + GetSuite() + +Gets information about a suite. + +Required Parameters +{ + "arn": "The suite's ARN." +} +""" +GetSuite(args) = device_farm("GetSuite", args) + +""" + ListSuites() + +Gets information about test suites for a given job. + +Required Parameters +{ + "arn": "The job's Amazon Resource Name (ARN)." +} + +Optional Parameters +{ + "nextToken": "An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list." +} +""" +ListSuites(args) = device_farm("ListSuites", args) + +""" + UpdateNetworkProfile() + +Updates the network profile. + +Required Parameters +{ + "arn": "The Amazon Resource Name (ARN) of the project for which you want to update network profile settings." +} + +Optional Parameters +{ + "name": "The name of the network profile about which you are returning information.", + "uplinkBandwidthBits": "The data throughput rate in bits per second, as an integer from 0 to 104857600.", + "description": "The description of the network profile about which you are returning information.", + "downlinkLossPercent": "Proportion of received packets that fail to arrive from 0 to 100 percent.", + "downlinkBandwidthBits": "The data throughput rate in bits per second, as an integer from 0 to 104857600.", + "downlinkDelayMs": "Delay time for all packets to destination in milliseconds as an integer from 0 to 2000.", + "downlinkJitterMs": "Time variation in the delay of received packets in milliseconds as an integer from 0 to 2000.", + "uplinkJitterMs": "Time variation in the delay of received packets in milliseconds as an integer from 0 to 2000.", + "uplinkDelayMs": "Delay time for all packets to destination in milliseconds as an integer from 0 to 2000.", + "uplinkLossPercent": "Proportion of transmitted packets that fail to arrive from 0 to 100 percent.", + "type": "The type of network profile to return information about. Valid values are listed here." +} +""" +UpdateNetworkProfile(args) = device_farm("UpdateNetworkProfile", args) + +""" + ScheduleRun() + +Schedules a run. + +Required Parameters +{ + "test": "Information about the test for the run to be scheduled.", + "projectArn": "The ARN of the project for the run to be scheduled." +} + +Optional Parameters +{ + "devicePoolArn": "The ARN of the device pool for the run to be scheduled.", + "name": "The name for the run to be scheduled.", + "appArn": "The ARN of an application package to run tests against, created with CreateUpload. See ListUploads.", + "executionConfiguration": "Specifies configuration information about a test run, such as the execution timeout (in minutes).", + "deviceSelectionConfiguration": "The filter criteria used to dynamically select a set of devices for a test run and the maximum number of devices to be included in the run. Either devicePoolArn or deviceSelectionConfiguration is required in a request.", + "configuration": "Information about the settings for the run to be scheduled." +} +""" +ScheduleRun(args) = device_farm("ScheduleRun", args) + +""" + ListDevicePools() + +Gets information about device pools. + +Required Parameters +{ + "arn": "The project ARN." +} + +Optional Parameters +{ + "nextToken": "An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.", + "type": "The device pools' type. Allowed values include: CURATED: A device pool that is created and managed by AWS Device Farm. PRIVATE: A device pool that is created and managed by the device pool developer. " +} +""" +ListDevicePools(args) = device_farm("ListDevicePools", args) + +""" + CreateInstanceProfile() + +Creates a profile that can be applied to one or more private fleet device instances. + +Required Parameters +{ + "name": "The name of your instance profile." +} + +Optional Parameters +{ + "rebootAfterUse": "When set to true, Device Farm reboots the instance after a test run. The default value is true.", + "packageCleanup": "When set to true, Device Farm removes app packages after a test run. The default value is false for private devices.", + "excludeAppPackagesFromCleanup": "An array of strings that specifies the list of app packages that should not be cleaned up from the device after a test run. The list of packages is considered only if you set packageCleanup to true.", + "description": "The description of your instance profile." +} +""" +CreateInstanceProfile(args) = device_farm("CreateInstanceProfile", args) + +""" + ListTestGridSessions() + +Retrieves a list of sessions for a TestGridProject. + +Required Parameters +{ + "projectArn": "ARN of a TestGridProject." +} + +Optional Parameters +{ + "maxResult": "Return only this many results at a time.", + "creationTimeBefore": "Return only sessions created before this time.", + "creationTimeAfter": "Return only sessions created after this time.", + "status": "Return only sessions in this state.", + "endTimeAfter": "Return only sessions that ended after this time.", + "nextToken": "Pagination token.", + "endTimeBefore": "Return only sessions that ended before this time." +} +""" +ListTestGridSessions(args) = device_farm("ListTestGridSessions", args) + +""" + ListOfferingPromotions() + +Returns a list of offering promotions. Each offering promotion record contains the ID and description of the promotion. The API returns a NotEligible error if the caller is not permitted to invoke the operation. Contact aws-devicefarm-support@amazon.com if you must be able to invoke this operation. + +Optional Parameters +{ + "nextToken": "An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list." +} +""" +ListOfferingPromotions() = device_farm("ListOfferingPromotions") +ListOfferingPromotions(args) = device_farm("ListOfferingPromotions", args) + +""" + ListVPCEConfigurations() + +Returns information about all Amazon Virtual Private Cloud (VPC) endpoint configurations in the AWS account. + +Optional Parameters +{ + "maxResults": "An integer that specifies the maximum number of items you want to return in the API response.", + "nextToken": "An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list." +} +""" +ListVPCEConfigurations() = device_farm("ListVPCEConfigurations") +ListVPCEConfigurations(args) = device_farm("ListVPCEConfigurations", args) + +""" + ListNetworkProfiles() + +Returns the list of available network profiles. + +Required Parameters +{ + "arn": "The Amazon Resource Name (ARN) of the project for which you want to list network profiles." +} + +Optional Parameters +{ + "nextToken": "An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.", + "type": "The type of network profile to return information about. Valid values are listed here." +} +""" +ListNetworkProfiles(args) = device_farm("ListNetworkProfiles", args) + +""" + ListTestGridSessionArtifacts() + +Retrieves a list of artifacts created during the session. + +Required Parameters +{ + "sessionArn": "The ARN of a TestGridSession. " +} + +Optional Parameters +{ + "maxResult": "The maximum number of results to be returned by a request.", + "nextToken": "Pagination token.", + "type": "Limit results to a specified type of artifact." +} +""" +ListTestGridSessionArtifacts(args) = device_farm("ListTestGridSessionArtifacts", args) + +""" + CreateRemoteAccessSession() + +Specifies and starts a remote access session. + +Required Parameters +{ + "deviceArn": "The ARN of the device for which you want to create a remote access session.", + "projectArn": "The Amazon Resource Name (ARN) of the project for which you want to create a remote access session." +} + +Optional Parameters +{ + "remoteRecordAppArn": "The Amazon Resource Name (ARN) for the app to be recorded in the remote access session.", + "name": "The name of the remote access session to create.", + "remoteDebugEnabled": "Set to true if you want to access devices remotely for debugging in your remote access session. Remote debugging is no longer supported.", + "skipAppResign": "When set to true, for private devices, Device Farm does not sign your app again. For public devices, Device Farm always signs your apps again. For more information on how Device Farm modifies your uploads during tests, see Do you modify my app? ", + "remoteRecordEnabled": "Set to true to enable remote recording for the remote access session.", + "instanceArn": "The Amazon Resource Name (ARN) of the device instance for which you want to create a remote access session.", + "interactionMode": "The interaction mode of the remote access session. Valid values are: INTERACTIVE: You can interact with the iOS device by viewing, touching, and rotating the screen. You cannot run XCUITest framework-based tests in this mode. NO_VIDEO: You are connected to the device, but cannot interact with it or view the screen. This mode has the fastest test execution speed. You can run XCUITest framework-based tests in this mode. VIDEO_ONLY: You can view the screen, but cannot touch or rotate it. You can run XCUITest framework-based tests and watch the screen in this mode. ", + "clientId": "Unique identifier for the client. If you want access to multiple devices on the same client, you should pass the same clientId value in each call to CreateRemoteAccessSession. This identifier is required only if remoteDebugEnabled is set to true. Remote debugging is no longer supported.", + "sshPublicKey": "Ignored. The public key of the ssh key pair you want to use for connecting to remote devices in your remote debugging session. This key is required only if remoteDebugEnabled is set to true. Remote debugging is no longer supported.", + "configuration": "The configuration information for the remote access session request." +} +""" +CreateRemoteAccessSession(args) = device_farm("CreateRemoteAccessSession", args) + +""" + GetAccountSettings() + +Returns the number of unmetered iOS or unmetered Android devices that have been purchased by the account. +""" +GetAccountSettings() = device_farm("GetAccountSettings") +GetAccountSettings(args) = device_farm("GetAccountSettings", args) + +""" + GetNetworkProfile() + +Returns information about a network profile. + +Required Parameters +{ + "arn": "The ARN of the network profile to return information about." +} +""" +GetNetworkProfile(args) = device_farm("GetNetworkProfile", args) + +""" + ListTests() + +Gets information about tests in a given test suite. + +Required Parameters +{ + "arn": "The test suite's Amazon Resource Name (ARN)." +} + +Optional Parameters +{ + "nextToken": "An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list." +} +""" +ListTests(args) = device_farm("ListTests", args) + +""" + CreateProject() + +Creates a project. + +Required Parameters +{ + "name": "The project's name." +} + +Optional Parameters +{ + "defaultJobTimeoutMinutes": "Sets the execution timeout value (in minutes) for a project. All test runs in this project use the specified execution timeout value unless overridden when scheduling a run." +} +""" +CreateProject(args) = device_farm("CreateProject", args) + +""" + GetTestGridProject() + +Retrieves information about a Selenium testing project. + +Required Parameters +{ + "projectArn": "The ARN of the Selenium testing project, from either CreateTestGridProject or ListTestGridProjects." +} +""" +GetTestGridProject(args) = device_farm("GetTestGridProject", args) + +""" + ListProjects() + +Gets information about projects. + +Optional Parameters +{ + "nextToken": "An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.", + "arn": "Optional. If no Amazon Resource Name (ARN) is specified, then AWS Device Farm returns a list of all projects for the AWS account. You can also specify a project ARN." +} +""" +ListProjects() = device_farm("ListProjects") +ListProjects(args) = device_farm("ListProjects", args) + +""" + StopRun() + +Initiates a stop request for the current test run. AWS Device Farm immediately stops the run on devices where tests have not started. You are not billed for these devices. On devices where tests have started executing, setup suite and teardown suite tests run to completion on those devices. You are billed for setup, teardown, and any tests that were in progress or already completed. + +Required Parameters +{ + "arn": "Represents the Amazon Resource Name (ARN) of the Device Farm run to stop." +} +""" +StopRun(args) = device_farm("StopRun", args) + +""" + GetTestGridSession() + +A session is an instance of a browser created through a RemoteWebDriver with the URL from CreateTestGridUrlResult url. You can use the following to look up sessions: The session ARN (GetTestGridSessionRequest sessionArn). The project ARN and a session ID (GetTestGridSessionRequest projectArn and GetTestGridSessionRequest sessionId). + +Optional Parameters +{ + "sessionId": "An ID associated with this session.", + "sessionArn": "An ARN that uniquely identifies a TestGridSession.", + "projectArn": "The ARN for the project that this session belongs to. See CreateTestGridProject and ListTestGridProjects." +} +""" +GetTestGridSession() = device_farm("GetTestGridSession") +GetTestGridSession(args) = device_farm("GetTestGridSession", args) + +""" + GetJob() + +Gets information about a job. + +Required Parameters +{ + "arn": "The job's ARN." +} +""" +GetJob(args) = device_farm("GetJob", args) + +""" + UpdateVPCEConfiguration() + +Updates information about an Amazon Virtual Private Cloud (VPC) endpoint configuration. + +Required Parameters +{ + "arn": "The Amazon Resource Name (ARN) of the VPC endpoint configuration you want to update." +} + +Optional Parameters +{ + "vpceConfigurationDescription": "An optional description that provides details about your VPC endpoint configuration.", + "vpceConfigurationName": "The friendly name you give to your VPC endpoint configuration to manage your configurations more easily.", + "serviceDnsName": "The DNS (domain) name used to connect to your private service in your VPC. The DNS name must not already be in use on the internet.", + "vpceServiceName": "The name of the VPC endpoint service running in your AWS account that you want Device Farm to test." +} +""" +UpdateVPCEConfiguration(args) = device_farm("UpdateVPCEConfiguration", args) + +""" + DeleteTestGridProject() + + Deletes a Selenium testing project and all content generated under it. You cannot undo this operation. You cannot delete a project if it has active sessions. + +Required Parameters +{ + "projectArn": "The ARN of the project to delete, from CreateTestGridProject or ListTestGridProjects." +} +""" +DeleteTestGridProject(args) = device_farm("DeleteTestGridProject", args) + +""" + InstallToRemoteAccessSession() + +Installs an application to the device in a remote access session. For Android applications, the file must be in .apk format. For iOS applications, the file must be in .ipa format. + +Required Parameters +{ + "appArn": "The ARN of the app about which you are requesting information.", + "remoteAccessSessionArn": "The Amazon Resource Name (ARN) of the remote access session about which you are requesting information." +} +""" +InstallToRemoteAccessSession(args) = device_farm("InstallToRemoteAccessSession", args) + +""" + DeleteRun() + +Deletes the run, given the run ARN. Deleting this resource does not stop an in-progress run. + +Required Parameters +{ + "arn": "The Amazon Resource Name (ARN) for the run to delete." +} +""" +DeleteRun(args) = device_farm("DeleteRun", args) + +""" + GetProject() + +Gets information about a project. + +Required Parameters +{ + "arn": "The project's ARN." +} +""" +GetProject(args) = device_farm("GetProject", args) + +""" + ListJobs() + +Gets information about jobs for a given test run. + +Required Parameters +{ + "arn": "The run's Amazon Resource Name (ARN)." +} + +Optional Parameters +{ + "nextToken": "An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list." +} +""" +ListJobs(args) = device_farm("ListJobs", args) + +""" + ListUniqueProblems() + +Gets information about unique problems, such as exceptions or crashes. Unique problems are defined as a single instance of an error across a run, job, or suite. For example, if a call in your application consistently raises an exception (OutOfBoundsException in MyActivity.java:386), ListUniqueProblems returns a single entry instead of many individual entries for that exception. + +Required Parameters +{ + "arn": "The unique problems' ARNs." +} + +Optional Parameters +{ + "nextToken": "An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list." +} +""" +ListUniqueProblems(args) = device_farm("ListUniqueProblems", args) + +""" + ListArtifacts() + +Gets information about artifacts. + +Required Parameters +{ + "type": "The artifacts' type. Allowed values include: FILE LOG SCREENSHOT ", + "arn": "The run, job, suite, or test ARN." +} + +Optional Parameters +{ + "nextToken": "An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list." +} +""" +ListArtifacts(args) = device_farm("ListArtifacts", args) + +""" + StopRemoteAccessSession() + +Ends a specified remote access session. + +Required Parameters +{ + "arn": "The Amazon Resource Name (ARN) of the remote access session to stop." +} +""" +StopRemoteAccessSession(args) = device_farm("StopRemoteAccessSession", args) diff --git a/src/services/direct_connect.jl b/src/services/direct_connect.jl new file mode 100644 index 0000000000..9ee6380409 --- /dev/null +++ b/src/services/direct_connect.jl @@ -0,0 +1,785 @@ +include("../AWSServices.jl") +using .AWSServices: direct_connect + +""" + AllocatePrivateVirtualInterface() + +Provisions a private virtual interface to be owned by the specified AWS account. Virtual interfaces created using this action must be confirmed by the owner using ConfirmPrivateVirtualInterface. Until then, the virtual interface is in the Confirming state and is not available to handle traffic. + +Required Parameters +{ + "connectionId": "The ID of the connection on which the private virtual interface is provisioned.", + "newPrivateVirtualInterfaceAllocation": "Information about the private virtual interface.", + "ownerAccount": "The ID of the AWS account that owns the virtual private interface." +} +""" +AllocatePrivateVirtualInterface(args) = direct_connect("AllocatePrivateVirtualInterface", args) + +""" + DeleteVirtualInterface() + +Deletes a virtual interface. + +Required Parameters +{ + "virtualInterfaceId": "The ID of the virtual interface." +} +""" +DeleteVirtualInterface(args) = direct_connect("DeleteVirtualInterface", args) + +""" + AssociateHostedConnection() + +Associates a hosted connection and its virtual interfaces with a link aggregation group (LAG) or interconnect. If the target interconnect or LAG has an existing hosted connection with a conflicting VLAN number or IP address, the operation fails. This action temporarily interrupts the hosted connection's connectivity to AWS as it is being migrated. Intended for use by AWS Direct Connect Partners only. + +Required Parameters +{ + "connectionId": "The ID of the hosted connection.", + "parentConnectionId": "The ID of the interconnect or the LAG." +} +""" +AssociateHostedConnection(args) = direct_connect("AssociateHostedConnection", args) + +""" + AssociateConnectionWithLag() + +Associates an existing connection with a link aggregation group (LAG). The connection is interrupted and re-established as a member of the LAG (connectivity to AWS is interrupted). The connection must be hosted on the same AWS Direct Connect endpoint as the LAG, and its bandwidth must match the bandwidth for the LAG. You can re-associate a connection that's currently associated with a different LAG; however, if removing the connection would cause the original LAG to fall below its setting for minimum number of operational connections, the request fails. Any virtual interfaces that are directly associated with the connection are automatically re-associated with the LAG. If the connection was originally associated with a different LAG, the virtual interfaces remain associated with the original LAG. For interconnects, any hosted connections are automatically re-associated with the LAG. If the interconnect was originally associated with a different LAG, the hosted connections remain associated with the original LAG. + +Required Parameters +{ + "connectionId": "The ID of the connection.", + "lagId": "The ID of the LAG with which to associate the connection." +} +""" +AssociateConnectionWithLag(args) = direct_connect("AssociateConnectionWithLag", args) + +""" + DescribeDirectConnectGatewayAttachments() + +Lists the attachments between your Direct Connect gateways and virtual interfaces. You must specify a Direct Connect gateway, a virtual interface, or both. If you specify a Direct Connect gateway, the response contains all virtual interfaces attached to the Direct Connect gateway. If you specify a virtual interface, the response contains all Direct Connect gateways attached to the virtual interface. If you specify both, the response contains the attachment between the Direct Connect gateway and the virtual interface. + +Optional Parameters +{ + "virtualInterfaceId": "The ID of the virtual interface.", + "maxResults": "The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value. If MaxResults is given a value larger than 100, only 100 results are returned.", + "nextToken": "The token provided in the previous call to retrieve the next page.", + "directConnectGatewayId": "The ID of the Direct Connect gateway." +} +""" +DescribeDirectConnectGatewayAttachments() = direct_connect("DescribeDirectConnectGatewayAttachments") +DescribeDirectConnectGatewayAttachments(args) = direct_connect("DescribeDirectConnectGatewayAttachments", args) + +""" + DeleteDirectConnectGateway() + +Deletes the specified Direct Connect gateway. You must first delete all virtual interfaces that are attached to the Direct Connect gateway and disassociate all virtual private gateways associated with the Direct Connect gateway. + +Required Parameters +{ + "directConnectGatewayId": "The ID of the Direct Connect gateway." +} +""" +DeleteDirectConnectGateway(args) = direct_connect("DeleteDirectConnectGateway", args) + +""" + DescribeConnectionLoa() + +Deprecated. Use DescribeLoa instead. Gets the LOA-CFA for a connection. The Letter of Authorization - Connecting Facility Assignment (LOA-CFA) is a document that your APN partner or service provider uses when establishing your cross connect to AWS at the colocation facility. For more information, see Requesting Cross Connects at AWS Direct Connect Locations in the AWS Direct Connect User Guide. + +Required Parameters +{ + "connectionId": "The ID of the connection." +} + +Optional Parameters +{ + "providerName": "The name of the APN partner or service provider who establishes connectivity on your behalf. If you specify this parameter, the LOA-CFA lists the provider name alongside your company name as the requester of the cross connect.", + "loaContentType": "The standard media type for the LOA-CFA document. The only supported value is application/pdf." +} +""" +DescribeConnectionLoa(args) = direct_connect("DescribeConnectionLoa", args) + +""" + UpdateDirectConnectGatewayAssociation() + +Updates the specified attributes of the Direct Connect gateway association. Add or remove prefixes from the association. + +Optional Parameters +{ + "associationId": "The ID of the Direct Connect gateway association.", + "removeAllowedPrefixesToDirectConnectGateway": "The Amazon VPC prefixes to no longer advertise to the Direct Connect gateway.", + "addAllowedPrefixesToDirectConnectGateway": "The Amazon VPC prefixes to advertise to the Direct Connect gateway." +} +""" +UpdateDirectConnectGatewayAssociation() = direct_connect("UpdateDirectConnectGatewayAssociation") +UpdateDirectConnectGatewayAssociation(args) = direct_connect("UpdateDirectConnectGatewayAssociation", args) + +""" + TagResource() + +Adds the specified tags to the specified AWS Direct Connect resource. Each resource can have a maximum of 50 tags. Each tag consists of a key and an optional value. If a tag with the same key is already associated with the resource, this action updates its value. + +Required Parameters +{ + "resourceArn": "The Amazon Resource Name (ARN) of the resource.", + "tags": "The tags to add." +} +""" +TagResource(args) = direct_connect("TagResource", args) + +""" + AllocateHostedConnection() + +Creates a hosted connection on the specified interconnect or a link aggregation group (LAG) of interconnects. Allocates a VLAN number and a specified amount of capacity (bandwidth) for use by a hosted connection on the specified interconnect or LAG of interconnects. AWS polices the hosted connection for the specified capacity and the AWS Direct Connect Partner must also police the hosted connection for the specified capacity. Intended for use by AWS Direct Connect Partners only. + +Required Parameters +{ + "connectionId": "The ID of the interconnect or LAG.", + "connectionName": "The name of the hosted connection.", + "bandwidth": "The bandwidth of the connection. The possible values are 50Mbps, 100Mbps, 200Mbps, 300Mbps, 400Mbps, 500Mbps, 1Gbps, 2Gbps, 5Gbps, and 10Gbps. Note that only those AWS Direct Connect Partners who have met specific requirements are allowed to create a 1Gbps, 2Gbps, 5Gbps or 10Gbps hosted connection. ", + "vlan": "The dedicated VLAN provisioned to the hosted connection.", + "ownerAccount": "The ID of the AWS account ID of the customer for the connection." +} + +Optional Parameters +{ + "tags": "The tags associated with the connection." +} +""" +AllocateHostedConnection(args) = direct_connect("AllocateHostedConnection", args) + +""" + DescribeVirtualGateways() + +Lists the virtual private gateways owned by the AWS account. You can create one or more AWS Direct Connect private virtual interfaces linked to a virtual private gateway. +""" +DescribeVirtualGateways() = direct_connect("DescribeVirtualGateways") +DescribeVirtualGateways(args) = direct_connect("DescribeVirtualGateways", args) + +""" + DescribeLocations() + +Lists the AWS Direct Connect locations in the current AWS Region. These are the locations that can be selected when calling CreateConnection or CreateInterconnect. +""" +DescribeLocations() = direct_connect("DescribeLocations") +DescribeLocations(args) = direct_connect("DescribeLocations", args) + +""" + ConfirmPublicVirtualInterface() + +Accepts ownership of a public virtual interface created by another AWS account. After the virtual interface owner makes this call, the specified virtual interface is created and made available to handle traffic. + +Required Parameters +{ + "virtualInterfaceId": "The ID of the virtual interface." +} +""" +ConfirmPublicVirtualInterface(args) = direct_connect("ConfirmPublicVirtualInterface", args) + +""" + DescribeDirectConnectGatewayAssociations() + +Lists the associations between your Direct Connect gateways and virtual private gateways. You must specify a Direct Connect gateway, a virtual private gateway, or both. If you specify a Direct Connect gateway, the response contains all virtual private gateways associated with the Direct Connect gateway. If you specify a virtual private gateway, the response contains all Direct Connect gateways associated with the virtual private gateway. If you specify both, the response contains the association between the Direct Connect gateway and the virtual private gateway. + +Optional Parameters +{ + "directConnectGatewayId": "The ID of the Direct Connect gateway.", + "associationId": "The ID of the Direct Connect gateway association.", + "associatedGatewayId": "The ID of the associated gateway.", + "maxResults": "The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value. If MaxResults is given a value larger than 100, only 100 results are returned.", + "nextToken": "The token provided in the previous call to retrieve the next page.", + "virtualGatewayId": "The ID of the virtual private gateway." +} +""" +DescribeDirectConnectGatewayAssociations() = direct_connect("DescribeDirectConnectGatewayAssociations") +DescribeDirectConnectGatewayAssociations(args) = direct_connect("DescribeDirectConnectGatewayAssociations", args) + +""" + AllocateTransitVirtualInterface() + +Provisions a transit virtual interface to be owned by the specified AWS account. Use this type of interface to connect a transit gateway to your Direct Connect gateway. The owner of a connection provisions a transit virtual interface to be owned by the specified AWS account. After you create a transit virtual interface, it must be confirmed by the owner using ConfirmTransitVirtualInterface. Until this step has been completed, the transit virtual interface is in the requested state and is not available to handle traffic. + +Required Parameters +{ + "connectionId": "The ID of the connection on which the transit virtual interface is provisioned.", + "newTransitVirtualInterfaceAllocation": "Information about the transit virtual interface.", + "ownerAccount": "The ID of the AWS account that owns the transit virtual interface." +} +""" +AllocateTransitVirtualInterface(args) = direct_connect("AllocateTransitVirtualInterface", args) + +""" + CreatePrivateVirtualInterface() + +Creates a private virtual interface. A virtual interface is the VLAN that transports AWS Direct Connect traffic. A private virtual interface can be connected to either a Direct Connect gateway or a Virtual Private Gateway (VGW). Connecting the private virtual interface to a Direct Connect gateway enables the possibility for connecting to multiple VPCs, including VPCs in different AWS Regions. Connecting the private virtual interface to a VGW only provides access to a single VPC within the same Region. + +Required Parameters +{ + "connectionId": "The ID of the connection.", + "newPrivateVirtualInterface": "Information about the private virtual interface." +} +""" +CreatePrivateVirtualInterface(args) = direct_connect("CreatePrivateVirtualInterface", args) + +""" + CreatePublicVirtualInterface() + +Creates a public virtual interface. A virtual interface is the VLAN that transports AWS Direct Connect traffic. A public virtual interface supports sending traffic to public services of AWS such as Amazon S3. When creating an IPv6 public virtual interface (addressFamily is ipv6), leave the customer and amazon address fields blank to use auto-assigned IPv6 space. Custom IPv6 addresses are not supported. + +Required Parameters +{ + "connectionId": "The ID of the connection.", + "newPublicVirtualInterface": "Information about the public virtual interface." +} +""" +CreatePublicVirtualInterface(args) = direct_connect("CreatePublicVirtualInterface", args) + +""" + CreateBGPPeer() + +Creates a BGP peer on the specified virtual interface. You must create a BGP peer for the corresponding address family (IPv4/IPv6) in order to access AWS resources that also use that address family. If logical redundancy is not supported by the connection, interconnect, or LAG, the BGP peer cannot be in the same address family as an existing BGP peer on the virtual interface. When creating a IPv6 BGP peer, omit the Amazon address and customer address. IPv6 addresses are automatically assigned from the Amazon pool of IPv6 addresses; you cannot specify custom IPv6 addresses. For a public virtual interface, the Autonomous System Number (ASN) must be private or already whitelisted for the virtual interface. + +Optional Parameters +{ + "virtualInterfaceId": "The ID of the virtual interface.", + "newBGPPeer": "Information about the BGP peer." +} +""" +CreateBGPPeer() = direct_connect("CreateBGPPeer") +CreateBGPPeer(args) = direct_connect("CreateBGPPeer", args) + +""" + DeleteBGPPeer() + +Deletes the specified BGP peer on the specified virtual interface with the specified customer address and ASN. You cannot delete the last BGP peer from a virtual interface. + +Optional Parameters +{ + "virtualInterfaceId": "The ID of the virtual interface.", + "asn": "The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration.", + "customerAddress": "The IP address assigned to the customer interface.", + "bgpPeerId": "The ID of the BGP peer." +} +""" +DeleteBGPPeer() = direct_connect("DeleteBGPPeer") +DeleteBGPPeer(args) = direct_connect("DeleteBGPPeer", args) + +""" + DeleteLag() + +Deletes the specified link aggregation group (LAG). You cannot delete a LAG if it has active virtual interfaces or hosted connections. + +Required Parameters +{ + "lagId": "The ID of the LAG." +} +""" +DeleteLag(args) = direct_connect("DeleteLag", args) + +""" + UntagResource() + +Removes one or more tags from the specified AWS Direct Connect resource. + +Required Parameters +{ + "resourceArn": "The Amazon Resource Name (ARN) of the resource.", + "tagKeys": "The tag keys of the tags to remove." +} +""" +UntagResource(args) = direct_connect("UntagResource", args) + +""" + AllocateConnectionOnInterconnect() + +Deprecated. Use AllocateHostedConnection instead. Creates a hosted connection on an interconnect. Allocates a VLAN number and a specified amount of bandwidth for use by a hosted connection on the specified interconnect. Intended for use by AWS Direct Connect Partners only. + +Required Parameters +{ + "connectionName": "The name of the provisioned connection.", + "interconnectId": "The ID of the interconnect on which the connection will be provisioned.", + "bandwidth": "The bandwidth of the connection. The possible values are 50Mbps, 100Mbps, 200Mbps, 300Mbps, 400Mbps, 500Mbps, 1Gbps, 2Gbps, 5Gbps, and 10Gbps. Note that only those AWS Direct Connect Partners who have met specific requirements are allowed to create a 1Gbps, 2Gbps, 5Gbps or 10Gbps hosted connection.", + "vlan": "The dedicated VLAN provisioned to the connection.", + "ownerAccount": "The ID of the AWS account of the customer for whom the connection will be provisioned." +} +""" +AllocateConnectionOnInterconnect(args) = direct_connect("AllocateConnectionOnInterconnect", args) + +""" + DescribeLoa() + +Gets the LOA-CFA for a connection, interconnect, or link aggregation group (LAG). The Letter of Authorization - Connecting Facility Assignment (LOA-CFA) is a document that is used when establishing your cross connect to AWS at the colocation facility. For more information, see Requesting Cross Connects at AWS Direct Connect Locations in the AWS Direct Connect User Guide. + +Required Parameters +{ + "connectionId": "The ID of a connection, LAG, or interconnect." +} + +Optional Parameters +{ + "providerName": "The name of the service provider who establishes connectivity on your behalf. If you specify this parameter, the LOA-CFA lists the provider name alongside your company name as the requester of the cross connect.", + "loaContentType": "The standard media type for the LOA-CFA document. The only supported value is application/pdf." +} +""" +DescribeLoa(args) = direct_connect("DescribeLoa", args) + +""" + DeleteDirectConnectGatewayAssociationProposal() + +Deletes the association proposal request between the specified Direct Connect gateway and virtual private gateway or transit gateway. + +Required Parameters +{ + "proposalId": "The ID of the proposal." +} +""" +DeleteDirectConnectGatewayAssociationProposal(args) = direct_connect("DeleteDirectConnectGatewayAssociationProposal", args) + +""" + DisassociateConnectionFromLag() + +Disassociates a connection from a link aggregation group (LAG). The connection is interrupted and re-established as a standalone connection (the connection is not deleted; to delete the connection, use the DeleteConnection request). If the LAG has associated virtual interfaces or hosted connections, they remain associated with the LAG. A disassociated connection owned by an AWS Direct Connect Partner is automatically converted to an interconnect. If disassociating the connection would cause the LAG to fall below its setting for minimum number of operational connections, the request fails, except when it's the last member of the LAG. If all connections are disassociated, the LAG continues to exist as an empty LAG with no physical connections. + +Required Parameters +{ + "connectionId": "The ID of the connection.", + "lagId": "The ID of the LAG." +} +""" +DisassociateConnectionFromLag(args) = direct_connect("DisassociateConnectionFromLag", args) + +""" + DescribeInterconnectLoa() + +Deprecated. Use DescribeLoa instead. Gets the LOA-CFA for the specified interconnect. The Letter of Authorization - Connecting Facility Assignment (LOA-CFA) is a document that is used when establishing your cross connect to AWS at the colocation facility. For more information, see Requesting Cross Connects at AWS Direct Connect Locations in the AWS Direct Connect User Guide. + +Required Parameters +{ + "interconnectId": "The ID of the interconnect." +} + +Optional Parameters +{ + "providerName": "The name of the service provider who establishes connectivity on your behalf. If you supply this parameter, the LOA-CFA lists the provider name alongside your company name as the requester of the cross connect.", + "loaContentType": "The standard media type for the LOA-CFA document. The only supported value is application/pdf." +} +""" +DescribeInterconnectLoa(args) = direct_connect("DescribeInterconnectLoa", args) + +""" + CreateConnection() + +Creates a connection between a customer network and a specific AWS Direct Connect location. A connection links your internal network to an AWS Direct Connect location over a standard Ethernet fiber-optic cable. One end of the cable is connected to your router, the other to an AWS Direct Connect router. To find the locations for your Region, use DescribeLocations. You can automatically add the new connection to a link aggregation group (LAG) by specifying a LAG ID in the request. This ensures that the new connection is allocated on the same AWS Direct Connect endpoint that hosts the specified LAG. If there are no available ports on the endpoint, the request fails and no connection is created. + +Required Parameters +{ + "location": "The location of the connection.", + "connectionName": "The name of the connection.", + "bandwidth": "The bandwidth of the connection." +} + +Optional Parameters +{ + "providerName": "The name of the service provider associated with the requested connection.", + "lagId": "The ID of the LAG.", + "tags": "The tags to associate with the lag." +} +""" +CreateConnection(args) = direct_connect("CreateConnection", args) + +""" + CreateTransitVirtualInterface() + +Creates a transit virtual interface. A transit virtual interface should be used to access one or more transit gateways associated with Direct Connect gateways. A transit virtual interface enables the connection of multiple VPCs attached to a transit gateway to a Direct Connect gateway. If you associate your transit gateway with one or more Direct Connect gateways, the Autonomous System Number (ASN) used by the transit gateway and the Direct Connect gateway must be different. For example, if you use the default ASN 64512 for both your the transit gateway and Direct Connect gateway, the association request fails. + +Required Parameters +{ + "connectionId": "The ID of the connection.", + "newTransitVirtualInterface": "Information about the transit virtual interface." +} +""" +CreateTransitVirtualInterface(args) = direct_connect("CreateTransitVirtualInterface", args) + +""" + DescribeInterconnects() + +Lists the interconnects owned by the AWS account or only the specified interconnect. + +Optional Parameters +{ + "interconnectId": "The ID of the interconnect." +} +""" +DescribeInterconnects() = direct_connect("DescribeInterconnects") +DescribeInterconnects(args) = direct_connect("DescribeInterconnects", args) + +""" + AcceptDirectConnectGatewayAssociationProposal() + +Accepts a proposal request to attach a virtual private gateway or transit gateway to a Direct Connect gateway. + +Required Parameters +{ + "associatedGatewayOwnerAccount": "The ID of the AWS account that owns the virtual private gateway or transit gateway.", + "proposalId": "The ID of the request proposal.", + "directConnectGatewayId": "The ID of the Direct Connect gateway." +} + +Optional Parameters +{ + "overrideAllowedPrefixesToDirectConnectGateway": "Overrides the Amazon VPC prefixes advertised to the Direct Connect gateway. For information about how to set the prefixes, see Allowed Prefixes in the AWS Direct Connect User Guide." +} +""" +AcceptDirectConnectGatewayAssociationProposal(args) = direct_connect("AcceptDirectConnectGatewayAssociationProposal", args) + +""" + DeleteInterconnect() + +Deletes the specified interconnect. Intended for use by AWS Direct Connect Partners only. + +Required Parameters +{ + "interconnectId": "The ID of the interconnect." +} +""" +DeleteInterconnect(args) = direct_connect("DeleteInterconnect", args) + +""" + ConfirmConnection() + +Confirms the creation of the specified hosted connection on an interconnect. Upon creation, the hosted connection is initially in the Ordering state, and remains in this state until the owner confirms creation of the hosted connection. + +Required Parameters +{ + "connectionId": "The ID of the hosted connection." +} +""" +ConfirmConnection(args) = direct_connect("ConfirmConnection", args) + +""" + ConfirmPrivateVirtualInterface() + +Accepts ownership of a private virtual interface created by another AWS account. After the virtual interface owner makes this call, the virtual interface is created and attached to the specified virtual private gateway or Direct Connect gateway, and is made available to handle traffic. + +Required Parameters +{ + "virtualInterfaceId": "The ID of the virtual interface." +} + +Optional Parameters +{ + "virtualGatewayId": "The ID of the virtual private gateway.", + "directConnectGatewayId": "The ID of the Direct Connect gateway." +} +""" +ConfirmPrivateVirtualInterface(args) = direct_connect("ConfirmPrivateVirtualInterface", args) + +""" + UpdateVirtualInterfaceAttributes() + +Updates the specified attributes of the specified virtual private interface. Setting the MTU of a virtual interface to 9001 (jumbo frames) can cause an update to the underlying physical connection if it wasn't updated to support jumbo frames. Updating the connection disrupts network connectivity for all virtual interfaces associated with the connection for up to 30 seconds. To check whether your connection supports jumbo frames, call DescribeConnections. To check whether your virtual interface supports jumbo frames, call DescribeVirtualInterfaces. + +Required Parameters +{ + "virtualInterfaceId": "The ID of the virtual private interface." +} + +Optional Parameters +{ + "mtu": "The maximum transmission unit (MTU), in bytes. The supported values are 1500 and 9001. The default value is 1500." +} +""" +UpdateVirtualInterfaceAttributes(args) = direct_connect("UpdateVirtualInterfaceAttributes", args) + +""" + ConfirmTransitVirtualInterface() + +Accepts ownership of a transit virtual interface created by another AWS account. After the owner of the transit virtual interface makes this call, the specified transit virtual interface is created and made available to handle traffic. + +Required Parameters +{ + "virtualInterfaceId": "The ID of the virtual interface.", + "directConnectGatewayId": "The ID of the Direct Connect gateway." +} +""" +ConfirmTransitVirtualInterface(args) = direct_connect("ConfirmTransitVirtualInterface", args) + +""" + DescribeConnectionsOnInterconnect() + +Deprecated. Use DescribeHostedConnections instead. Lists the connections that have been provisioned on the specified interconnect. Intended for use by AWS Direct Connect Partners only. + +Required Parameters +{ + "interconnectId": "The ID of the interconnect." +} +""" +DescribeConnectionsOnInterconnect(args) = direct_connect("DescribeConnectionsOnInterconnect", args) + +""" + DeleteDirectConnectGatewayAssociation() + +Deletes the association between the specified Direct Connect gateway and virtual private gateway. We recommend that you specify the associationID to delete the association. Alternatively, if you own virtual gateway and a Direct Connect gateway association, you can specify the virtualGatewayId and directConnectGatewayId to delete an association. + +Optional Parameters +{ + "directConnectGatewayId": "The ID of the Direct Connect gateway.", + "associationId": "The ID of the Direct Connect gateway association.", + "virtualGatewayId": "The ID of the virtual private gateway." +} +""" +DeleteDirectConnectGatewayAssociation() = direct_connect("DeleteDirectConnectGatewayAssociation") +DeleteDirectConnectGatewayAssociation(args) = direct_connect("DeleteDirectConnectGatewayAssociation", args) + +""" + DescribeTags() + +Describes the tags associated with the specified AWS Direct Connect resources. + +Required Parameters +{ + "resourceArns": "The Amazon Resource Names (ARNs) of the resources." +} +""" +DescribeTags(args) = direct_connect("DescribeTags", args) + +""" + CreateLag() + +Creates a link aggregation group (LAG) with the specified number of bundled physical connections between the customer network and a specific AWS Direct Connect location. A LAG is a logical interface that uses the Link Aggregation Control Protocol (LACP) to aggregate multiple interfaces, enabling you to treat them as a single interface. All connections in a LAG must use the same bandwidth and must terminate at the same AWS Direct Connect endpoint. You can have up to 10 connections per LAG. Regardless of this limit, if you request more connections for the LAG than AWS Direct Connect can allocate on a single endpoint, no LAG is created. You can specify an existing physical connection or interconnect to include in the LAG (which counts towards the total number of connections). Doing so interrupts the current physical connection or hosted connections, and re-establishes them as a member of the LAG. The LAG will be created on the same AWS Direct Connect endpoint to which the connection terminates. Any virtual interfaces associated with the connection are automatically disassociated and re-associated with the LAG. The connection ID does not change. If the AWS account used to create a LAG is a registered AWS Direct Connect Partner, the LAG is automatically enabled to host sub-connections. For a LAG owned by a partner, any associated virtual interfaces cannot be directly configured. + +Required Parameters +{ + "location": "The location for the LAG.", + "connectionsBandwidth": "The bandwidth of the individual physical connections bundled by the LAG. The possible values are 50Mbps, 100Mbps, 200Mbps, 300Mbps, 400Mbps, 500Mbps, 1Gbps, 2Gbps, 5Gbps, and 10Gbps. ", + "lagName": "The name of the LAG.", + "numberOfConnections": "The number of physical connections initially provisioned and bundled by the LAG." +} + +Optional Parameters +{ + "connectionId": "The ID of an existing connection to migrate to the LAG.", + "providerName": "The name of the service provider associated with the LAG.", + "childConnectionTags": "The tags to associate with the automtically created LAGs.", + "tags": "The tags to associate with the LAG." +} +""" +CreateLag(args) = direct_connect("CreateLag", args) + +""" + DescribeHostedConnections() + +Lists the hosted connections that have been provisioned on the specified interconnect or link aggregation group (LAG). Intended for use by AWS Direct Connect Partners only. + +Required Parameters +{ + "connectionId": "The ID of the interconnect or LAG." +} +""" +DescribeHostedConnections(args) = direct_connect("DescribeHostedConnections", args) + +""" + DeleteConnection() + +Deletes the specified connection. Deleting a connection only stops the AWS Direct Connect port hour and data transfer charges. If you are partnering with any third parties to connect with the AWS Direct Connect location, you must cancel your service with them separately. + +Required Parameters +{ + "connectionId": "The ID of the connection." +} +""" +DeleteConnection(args) = direct_connect("DeleteConnection", args) + +""" + CreateInterconnect() + +Creates an interconnect between an AWS Direct Connect Partner's network and a specific AWS Direct Connect location. An interconnect is a connection that is capable of hosting other connections. The AWS Direct Connect partner can use an interconnect to provide AWS Direct Connect hosted connections to customers through their own network services. Like a standard connection, an interconnect links the partner's network to an AWS Direct Connect location over a standard Ethernet fiber-optic cable. One end is connected to the partner's router, the other to an AWS Direct Connect router. You can automatically add the new interconnect to a link aggregation group (LAG) by specifying a LAG ID in the request. This ensures that the new interconnect is allocated on the same AWS Direct Connect endpoint that hosts the specified LAG. If there are no available ports on the endpoint, the request fails and no interconnect is created. For each end customer, the AWS Direct Connect Partner provisions a connection on their interconnect by calling AllocateHostedConnection. The end customer can then connect to AWS resources by creating a virtual interface on their connection, using the VLAN assigned to them by the AWS Direct Connect Partner. Intended for use by AWS Direct Connect Partners only. + +Required Parameters +{ + "location": "The location of the interconnect.", + "interconnectName": "The name of the interconnect.", + "bandwidth": "The port bandwidth, in Gbps. The possible values are 1 and 10." +} + +Optional Parameters +{ + "providerName": "The name of the service provider associated with the interconnect.", + "lagId": "The ID of the LAG.", + "tags": "The tags to associate with the interconnect." +} +""" +CreateInterconnect(args) = direct_connect("CreateInterconnect", args) + +""" + AllocatePublicVirtualInterface() + +Provisions a public virtual interface to be owned by the specified AWS account. The owner of a connection calls this function to provision a public virtual interface to be owned by the specified AWS account. Virtual interfaces created using this function must be confirmed by the owner using ConfirmPublicVirtualInterface. Until this step has been completed, the virtual interface is in the confirming state and is not available to handle traffic. When creating an IPv6 public virtual interface, omit the Amazon address and customer address. IPv6 addresses are automatically assigned from the Amazon pool of IPv6 addresses; you cannot specify custom IPv6 addresses. + +Required Parameters +{ + "connectionId": "The ID of the connection on which the public virtual interface is provisioned.", + "newPublicVirtualInterfaceAllocation": "Information about the public virtual interface.", + "ownerAccount": "The ID of the AWS account that owns the public virtual interface." +} +""" +AllocatePublicVirtualInterface(args) = direct_connect("AllocatePublicVirtualInterface", args) + +""" + UpdateLag() + +Updates the attributes of the specified link aggregation group (LAG). You can update the following attributes: The name of the LAG. The value for the minimum number of connections that must be operational for the LAG itself to be operational. When you create a LAG, the default value for the minimum number of operational connections is zero (0). If you update this value and the number of operational connections falls below the specified value, the LAG automatically goes down to avoid over-utilization of the remaining connections. Adjust this value with care, as it could force the LAG down if it is set higher than the current number of operational connections. + +Required Parameters +{ + "lagId": "The ID of the LAG." +} + +Optional Parameters +{ + "lagName": "The name of the LAG.", + "minimumLinks": "The minimum number of physical connections that must be operational for the LAG itself to be operational." +} +""" +UpdateLag(args) = direct_connect("UpdateLag", args) + +""" + AssociateVirtualInterface() + +Associates a virtual interface with a specified link aggregation group (LAG) or connection. Connectivity to AWS is temporarily interrupted as the virtual interface is being migrated. If the target connection or LAG has an associated virtual interface with a conflicting VLAN number or a conflicting IP address, the operation fails. Virtual interfaces associated with a hosted connection cannot be associated with a LAG; hosted connections must be migrated along with their virtual interfaces using AssociateHostedConnection. To reassociate a virtual interface to a new connection or LAG, the requester must own either the virtual interface itself or the connection to which the virtual interface is currently associated. Additionally, the requester must own the connection or LAG for the association. + +Required Parameters +{ + "connectionId": "The ID of the LAG or connection.", + "virtualInterfaceId": "The ID of the virtual interface." +} +""" +AssociateVirtualInterface(args) = direct_connect("AssociateVirtualInterface", args) + +""" + DescribeConnections() + +Displays the specified connection or all connections in this Region. + +Optional Parameters +{ + "connectionId": "The ID of the connection." +} +""" +DescribeConnections() = direct_connect("DescribeConnections") +DescribeConnections(args) = direct_connect("DescribeConnections", args) + +""" + DescribeDirectConnectGateways() + +Lists all your Direct Connect gateways or only the specified Direct Connect gateway. Deleted Direct Connect gateways are not returned. + +Optional Parameters +{ + "maxResults": "The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value. If MaxResults is given a value larger than 100, only 100 results are returned.", + "nextToken": "The token provided in the previous call to retrieve the next page.", + "directConnectGatewayId": "The ID of the Direct Connect gateway." +} +""" +DescribeDirectConnectGateways() = direct_connect("DescribeDirectConnectGateways") +DescribeDirectConnectGateways(args) = direct_connect("DescribeDirectConnectGateways", args) + +""" + DescribeLags() + +Describes all your link aggregation groups (LAG) or the specified LAG. + +Optional Parameters +{ + "lagId": "The ID of the LAG." +} +""" +DescribeLags() = direct_connect("DescribeLags") +DescribeLags(args) = direct_connect("DescribeLags", args) + +""" + CreateDirectConnectGatewayAssociation() + +Creates an association between a Direct Connect gateway and a virtual private gateway. The virtual private gateway must be attached to a VPC and must not be associated with another Direct Connect gateway. + +Required Parameters +{ + "directConnectGatewayId": "The ID of the Direct Connect gateway." +} + +Optional Parameters +{ + "gatewayId": "The ID of the virtual private gateway or transit gateway.", + "addAllowedPrefixesToDirectConnectGateway": "The Amazon VPC prefixes to advertise to the Direct Connect gateway This parameter is required when you create an association to a transit gateway. For information about how to set the prefixes, see Allowed Prefixes in the AWS Direct Connect User Guide.", + "virtualGatewayId": "The ID of the virtual private gateway." +} +""" +CreateDirectConnectGatewayAssociation(args) = direct_connect("CreateDirectConnectGatewayAssociation", args) + +""" + DescribeVirtualInterfaces() + +Displays all virtual interfaces for an AWS account. Virtual interfaces deleted fewer than 15 minutes before you make the request are also returned. If you specify a connection ID, only the virtual interfaces associated with the connection are returned. If you specify a virtual interface ID, then only a single virtual interface is returned. A virtual interface (VLAN) transmits the traffic between the AWS Direct Connect location and the customer network. + +Optional Parameters +{ + "connectionId": "The ID of the connection.", + "virtualInterfaceId": "The ID of the virtual interface." +} +""" +DescribeVirtualInterfaces() = direct_connect("DescribeVirtualInterfaces") +DescribeVirtualInterfaces(args) = direct_connect("DescribeVirtualInterfaces", args) + +""" + CreateDirectConnectGatewayAssociationProposal() + +Creates a proposal to associate the specified virtual private gateway or transit gateway with the specified Direct Connect gateway. You can only associate a Direct Connect gateway and virtual private gateway or transit gateway when the account that owns the Direct Connect gateway and the account that owns the virtual private gateway or transit gateway have the same AWS Payer ID. + +Required Parameters +{ + "directConnectGatewayOwnerAccount": "The ID of the AWS account that owns the Direct Connect gateway.", + "gatewayId": "The ID of the virtual private gateway or transit gateway.", + "directConnectGatewayId": "The ID of the Direct Connect gateway." +} + +Optional Parameters +{ + "removeAllowedPrefixesToDirectConnectGateway": "The Amazon VPC prefixes to no longer advertise to the Direct Connect gateway.", + "addAllowedPrefixesToDirectConnectGateway": "The Amazon VPC prefixes to advertise to the Direct Connect gateway." +} +""" +CreateDirectConnectGatewayAssociationProposal(args) = direct_connect("CreateDirectConnectGatewayAssociationProposal", args) + +""" + DescribeDirectConnectGatewayAssociationProposals() + +Describes one or more association proposals for connection between a virtual private gateway or transit gateway and a Direct Connect gateway. + +Optional Parameters +{ + "proposalId": "The ID of the proposal.", + "associatedGatewayId": "The ID of the associated gateway.", + "maxResults": "The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value. If MaxResults is given a value larger than 100, only 100 results are returned.", + "nextToken": "The token for the next page of results.", + "directConnectGatewayId": "The ID of the Direct Connect gateway." +} +""" +DescribeDirectConnectGatewayAssociationProposals() = direct_connect("DescribeDirectConnectGatewayAssociationProposals") +DescribeDirectConnectGatewayAssociationProposals(args) = direct_connect("DescribeDirectConnectGatewayAssociationProposals", args) + +""" + CreateDirectConnectGateway() + +Creates a Direct Connect gateway, which is an intermediate object that enables you to connect a set of virtual interfaces and virtual private gateways. A Direct Connect gateway is global and visible in any AWS Region after it is created. The virtual interfaces and virtual private gateways that are connected through a Direct Connect gateway can be in different AWS Regions. This enables you to connect to a VPC in any Region, regardless of the Region in which the virtual interfaces are located, and pass traffic between them. + +Required Parameters +{ + "directConnectGatewayName": "The name of the Direct Connect gateway." +} + +Optional Parameters +{ + "amazonSideAsn": "The autonomous system number (ASN) for Border Gateway Protocol (BGP) to be configured on the Amazon side of the connection. The ASN must be in the private range of 64,512 to 65,534 or 4,200,000,000 to 4,294,967,294. The default is 64512." +} +""" +CreateDirectConnectGateway(args) = direct_connect("CreateDirectConnectGateway", args) diff --git a/src/services/directory_service.jl b/src/services/directory_service.jl new file mode 100644 index 0000000000..1303a08efc --- /dev/null +++ b/src/services/directory_service.jl @@ -0,0 +1,863 @@ +include("../AWSServices.jl") +using .AWSServices: directory_service + +""" + DeregisterEventTopic() + +Removes the specified directory as a publisher to the specified SNS topic. + +Required Parameters +{ + "DirectoryId": "The Directory ID to remove as a publisher. This directory will no longer send messages to the specified SNS topic.", + "TopicName": "The name of the SNS topic from which to remove the directory as a publisher." +} +""" +DeregisterEventTopic(args) = directory_service("DeregisterEventTopic", args) + +""" + ListSchemaExtensions() + +Lists all schema extensions applied to a Microsoft AD Directory. + +Required Parameters +{ + "DirectoryId": "The identifier of the directory from which to retrieve the schema extension information." +} + +Optional Parameters +{ + "NextToken": "The ListSchemaExtensions.NextToken value from a previous call to ListSchemaExtensions. Pass null if this is the first call.", + "Limit": "The maximum number of items to return." +} +""" +ListSchemaExtensions(args) = directory_service("ListSchemaExtensions", args) + +""" + GetSnapshotLimits() + +Obtains the manual snapshot limits for a directory. + +Required Parameters +{ + "DirectoryId": "Contains the identifier of the directory to obtain the limits for." +} +""" +GetSnapshotLimits(args) = directory_service("GetSnapshotLimits", args) + +""" + RestoreFromSnapshot() + +Restores a directory using an existing directory snapshot. When you restore a directory from a snapshot, any changes made to the directory after the snapshot date are overwritten. This action returns as soon as the restore operation is initiated. You can monitor the progress of the restore operation by calling the DescribeDirectories operation with the directory identifier. When the DirectoryDescription.Stage value changes to Active, the restore operation is complete. + +Required Parameters +{ + "SnapshotId": "The identifier of the snapshot to restore from." +} +""" +RestoreFromSnapshot(args) = directory_service("RestoreFromSnapshot", args) + +""" + ListIpRoutes() + +Lists the address blocks that you have added to a directory. + +Required Parameters +{ + "DirectoryId": "Identifier (ID) of the directory for which you want to retrieve the IP addresses." +} + +Optional Parameters +{ + "NextToken": "The ListIpRoutes.NextToken value from a previous call to ListIpRoutes. Pass null if this is the first call.", + "Limit": "Maximum number of items to return. If this value is zero, the maximum number of items is specified by the limitations of the operation." +} +""" +ListIpRoutes(args) = directory_service("ListIpRoutes", args) + +""" + CreateLogSubscription() + +Creates a subscription to forward real-time Directory Service domain controller security logs to the specified Amazon CloudWatch log group in your AWS account. + +Required Parameters +{ + "LogGroupName": "The name of the CloudWatch log group where the real-time domain controller logs are forwarded.", + "DirectoryId": "Identifier of the directory to which you want to subscribe and receive real-time logs to your specified CloudWatch log group." +} +""" +CreateLogSubscription(args) = directory_service("CreateLogSubscription", args) + +""" + ShareDirectory() + +Shares a specified directory (DirectoryId) in your AWS account (directory owner) with another AWS account (directory consumer). With this operation you can use your directory from any AWS account and from any Amazon VPC within an AWS Region. When you share your AWS Managed Microsoft AD directory, AWS Directory Service creates a shared directory in the directory consumer account. This shared directory contains the metadata to provide access to the directory within the directory owner account. The shared directory is visible in all VPCs in the directory consumer account. The ShareMethod parameter determines whether the specified directory can be shared between AWS accounts inside the same AWS organization (ORGANIZATIONS). It also determines whether you can share the directory with any other AWS account either inside or outside of the organization (HANDSHAKE). The ShareNotes parameter is only used when HANDSHAKE is called, which sends a directory sharing request to the directory consumer. + +Required Parameters +{ + "DirectoryId": "Identifier of the AWS Managed Microsoft AD directory that you want to share with other AWS accounts.", + "ShareMethod": "The method used when sharing a directory to determine whether the directory should be shared within your AWS organization (ORGANIZATIONS) or with any AWS account by sending a directory sharing request (HANDSHAKE).", + "ShareTarget": "Identifier for the directory consumer account with whom the directory is to be shared." +} + +Optional Parameters +{ + "ShareNotes": "A directory share request that is sent by the directory owner to the directory consumer. The request includes a typed message to help the directory consumer administrator determine whether to approve or reject the share invitation." +} +""" +ShareDirectory(args) = directory_service("ShareDirectory", args) + +""" + DisableRadius() + +Disables multi-factor authentication (MFA) with the Remote Authentication Dial In User Service (RADIUS) server for an AD Connector or Microsoft AD directory. + +Required Parameters +{ + "DirectoryId": "The identifier of the directory for which to disable MFA." +} +""" +DisableRadius(args) = directory_service("DisableRadius", args) + +""" + AcceptSharedDirectory() + +Accepts a directory sharing request that was sent from the directory owner account. + +Required Parameters +{ + "SharedDirectoryId": "Identifier of the shared directory in the directory consumer account. This identifier is different for each directory owner account. " +} +""" +AcceptSharedDirectory(args) = directory_service("AcceptSharedDirectory", args) + +""" + DeregisterCertificate() + +Deletes from the system the certificate that was registered for a secured LDAP connection. + +Required Parameters +{ + "DirectoryId": "The identifier of the directory.", + "CertificateId": "The identifier of the certificate." +} +""" +DeregisterCertificate(args) = directory_service("DeregisterCertificate", args) + +""" + CreateAlias() + +Creates an alias for a directory and assigns the alias to the directory. The alias is used to construct the access URL for the directory, such as http://<alias>.awsapps.com. After an alias has been created, it cannot be deleted or reused, so this operation should only be used when absolutely necessary. + +Required Parameters +{ + "DirectoryId": "The identifier of the directory for which to create the alias.", + "Alias": "The requested alias. The alias must be unique amongst all aliases in AWS. This operation throws an EntityAlreadyExistsException error if the alias already exists." +} +""" +CreateAlias(args) = directory_service("CreateAlias", args) + +""" + UpdateConditionalForwarder() + +Updates a conditional forwarder that has been set up for your AWS directory. + +Required Parameters +{ + "RemoteDomainName": "The fully qualified domain name (FQDN) of the remote domain with which you will set up a trust relationship.", + "DnsIpAddrs": "The updated IP addresses of the remote DNS server associated with the conditional forwarder.", + "DirectoryId": "The directory ID of the AWS directory for which to update the conditional forwarder." +} +""" +UpdateConditionalForwarder(args) = directory_service("UpdateConditionalForwarder", args) + +""" + DescribeSnapshots() + +Obtains information about the directory snapshots that belong to this account. This operation supports pagination with the use of the NextToken request and response parameters. If more results are available, the DescribeSnapshots.NextToken member contains a token that you pass in the next call to DescribeSnapshots to retrieve the next set of items. You can also specify a maximum number of return results with the Limit parameter. + +Optional Parameters +{ + "SnapshotIds": "A list of identifiers of the snapshots to obtain the information for. If this member is null or empty, all snapshots are returned using the Limit and NextToken members.", + "NextToken": "The DescribeSnapshotsResult.NextToken value from a previous call to DescribeSnapshots. Pass null if this is the first call.", + "DirectoryId": "The identifier of the directory for which to retrieve snapshot information.", + "Limit": "The maximum number of objects to return." +} +""" +DescribeSnapshots() = directory_service("DescribeSnapshots") +DescribeSnapshots(args) = directory_service("DescribeSnapshots", args) + +""" + DescribeCertificate() + +Displays information about the certificate registered for a secured LDAP connection. + +Required Parameters +{ + "DirectoryId": "The identifier of the directory.", + "CertificateId": "The identifier of the certificate." +} +""" +DescribeCertificate(args) = directory_service("DescribeCertificate", args) + +""" + DescribeEventTopics() + +Obtains information about which SNS topics receive status messages from the specified directory. If no input parameters are provided, such as DirectoryId or TopicName, this request describes all of the associations in the account. + +Optional Parameters +{ + "DirectoryId": "The Directory ID for which to get the list of associated SNS topics. If this member is null, associations for all Directory IDs are returned.", + "TopicNames": "A list of SNS topic names for which to obtain the information. If this member is null, all associations for the specified Directory ID are returned. An empty list results in an InvalidParameterException being thrown." +} +""" +DescribeEventTopics() = directory_service("DescribeEventTopics") +DescribeEventTopics(args) = directory_service("DescribeEventTopics", args) + +""" + CreateConditionalForwarder() + +Creates a conditional forwarder associated with your AWS directory. Conditional forwarders are required in order to set up a trust relationship with another domain. The conditional forwarder points to the trusted domain. + +Required Parameters +{ + "RemoteDomainName": "The fully qualified domain name (FQDN) of the remote domain with which you will set up a trust relationship.", + "DnsIpAddrs": "The IP addresses of the remote DNS server associated with RemoteDomainName.", + "DirectoryId": "The directory ID of the AWS directory for which you are creating the conditional forwarder." +} +""" +CreateConditionalForwarder(args) = directory_service("CreateConditionalForwarder", args) + +""" + CancelSchemaExtension() + +Cancels an in-progress schema extension to a Microsoft AD directory. Once a schema extension has started replicating to all domain controllers, the task can no longer be canceled. A schema extension can be canceled during any of the following states; Initializing, CreatingSnapshot, and UpdatingSchema. + +Required Parameters +{ + "DirectoryId": "The identifier of the directory whose schema extension will be canceled.", + "SchemaExtensionId": "The identifier of the schema extension that will be canceled." +} +""" +CancelSchemaExtension(args) = directory_service("CancelSchemaExtension", args) + +""" + UpdateNumberOfDomainControllers() + +Adds or removes domain controllers to or from the directory. Based on the difference between current value and new value (provided through this API call), domain controllers will be added or removed. It may take up to 45 minutes for any new domain controllers to become fully active once the requested number of domain controllers is updated. During this time, you cannot make another update request. + +Required Parameters +{ + "DirectoryId": "Identifier of the directory to which the domain controllers will be added or removed.", + "DesiredNumber": "The number of domain controllers desired in the directory." +} +""" +UpdateNumberOfDomainControllers(args) = directory_service("UpdateNumberOfDomainControllers", args) + +""" + DescribeSharedDirectories() + +Returns the shared directories in your account. + +Required Parameters +{ + "OwnerDirectoryId": "Returns the identifier of the directory in the directory owner account. " +} + +Optional Parameters +{ + "SharedDirectoryIds": "A list of identifiers of all shared directories in your account. ", + "NextToken": "The DescribeSharedDirectoriesResult.NextToken value from a previous call to DescribeSharedDirectories. Pass null if this is the first call. ", + "Limit": "The number of shared directories to return in the response object." +} +""" +DescribeSharedDirectories(args) = directory_service("DescribeSharedDirectories", args) + +""" + CreateDirectory() + +Creates a Simple AD directory. For more information, see Simple Active Directory in the AWS Directory Service Admin Guide. Before you call CreateDirectory, ensure that all of the required permissions have been explicitly granted through a policy. For details about what permissions are required to run the CreateDirectory operation, see AWS Directory Service API Permissions: Actions, Resources, and Conditions Reference. + +Required Parameters +{ + "Password": "The password for the directory administrator. The directory creation process creates a directory administrator account with the user name Administrator and this password. If you need to change the password for the administrator account, you can use the ResetUserPassword API call.", + "Name": "The fully qualified name for the directory, such as corp.example.com.", + "Size": "The size of the directory." +} + +Optional Parameters +{ + "Description": "A description for the directory.", + "VpcSettings": "A DirectoryVpcSettings object that contains additional information for the operation.", + "Tags": "The tags to be assigned to the Simple AD directory.", + "ShortName": "The NetBIOS name of the directory, such as CORP." +} +""" +CreateDirectory(args) = directory_service("CreateDirectory", args) + +""" + DisableSso() + +Disables single-sign on for a directory. + +Required Parameters +{ + "DirectoryId": "The identifier of the directory for which to disable single-sign on." +} + +Optional Parameters +{ + "UserName": "The username of an alternate account to use to disable single-sign on. This is only used for AD Connector directories. This account must have privileges to remove a service principal name. If the AD Connector service account does not have privileges to remove a service principal name, you can specify an alternate account with the UserName and Password parameters. These credentials are only used to disable single sign-on and are not stored by the service. The AD Connector service account is not changed.", + "Password": "The password of an alternate account to use to disable single-sign on. This is only used for AD Connector directories. For more information, see the UserName parameter." +} +""" +DisableSso(args) = directory_service("DisableSso", args) + +""" + CreateTrust() + +AWS Directory Service for Microsoft Active Directory allows you to configure trust relationships. For example, you can establish a trust between your AWS Managed Microsoft AD directory, and your existing on-premises Microsoft Active Directory. This would allow you to provide users and groups access to resources in either domain, with a single set of credentials. This action initiates the creation of the AWS side of a trust relationship between an AWS Managed Microsoft AD directory and an external domain. You can create either a forest trust or an external trust. + +Required Parameters +{ + "RemoteDomainName": "The Fully Qualified Domain Name (FQDN) of the external domain for which to create the trust relationship.", + "DirectoryId": "The Directory ID of the AWS Managed Microsoft AD directory for which to establish the trust relationship.", + "TrustPassword": "The trust password. The must be the same password that was used when creating the trust relationship on the external domain.", + "TrustDirection": "The direction of the trust relationship." +} + +Optional Parameters +{ + "ConditionalForwarderIpAddrs": "The IP addresses of the remote DNS server associated with RemoteDomainName.", + "TrustType": "The trust relationship type. Forest is the default.", + "SelectiveAuth": "Optional parameter to enable selective authentication for the trust." +} +""" +CreateTrust(args) = directory_service("CreateTrust", args) + +""" + VerifyTrust() + +AWS Directory Service for Microsoft Active Directory allows you to configure and verify trust relationships. This action verifies a trust relationship between your AWS Managed Microsoft AD directory and an external domain. + +Required Parameters +{ + "TrustId": "The unique Trust ID of the trust relationship to verify." +} +""" +VerifyTrust(args) = directory_service("VerifyTrust", args) + +""" + UnshareDirectory() + +Stops the directory sharing between the directory owner and consumer accounts. + +Required Parameters +{ + "DirectoryId": "The identifier of the AWS Managed Microsoft AD directory that you want to stop sharing.", + "UnshareTarget": "Identifier for the directory consumer account with whom the directory has to be unshared." +} +""" +UnshareDirectory(args) = directory_service("UnshareDirectory", args) + +""" + RegisterEventTopic() + +Associates a directory with an SNS topic. This establishes the directory as a publisher to the specified SNS topic. You can then receive email or text (SMS) messages when the status of your directory changes. You get notified if your directory goes from an Active status to an Impaired or Inoperable status. You also receive a notification when the directory returns to an Active status. + +Required Parameters +{ + "DirectoryId": "The Directory ID that will publish status messages to the SNS topic.", + "TopicName": "The SNS topic name to which the directory will publish status messages. This SNS topic must be in the same region as the specified Directory ID." +} +""" +RegisterEventTopic(args) = directory_service("RegisterEventTopic", args) + +""" + DeleteDirectory() + +Deletes an AWS Directory Service directory. Before you call DeleteDirectory, ensure that all of the required permissions have been explicitly granted through a policy. For details about what permissions are required to run the DeleteDirectory operation, see AWS Directory Service API Permissions: Actions, Resources, and Conditions Reference. + +Required Parameters +{ + "DirectoryId": "The identifier of the directory to delete." +} +""" +DeleteDirectory(args) = directory_service("DeleteDirectory", args) + +""" + AddIpRoutes() + +If the DNS server for your on-premises domain uses a publicly addressable IP address, you must add a CIDR address block to correctly route traffic to and from your Microsoft AD on Amazon Web Services. AddIpRoutes adds this address block. You can also use AddIpRoutes to facilitate routing traffic that uses public IP ranges from your Microsoft AD on AWS to a peer VPC. Before you call AddIpRoutes, ensure that all of the required permissions have been explicitly granted through a policy. For details about what permissions are required to run the AddIpRoutes operation, see AWS Directory Service API Permissions: Actions, Resources, and Conditions Reference. + +Required Parameters +{ + "DirectoryId": "Identifier (ID) of the directory to which to add the address block.", + "IpRoutes": "IP address blocks, using CIDR format, of the traffic to route. This is often the IP address block of the DNS server used for your on-premises domain." +} + +Optional Parameters +{ + "UpdateSecurityGroupForDirectoryControllers": "If set to true, updates the inbound and outbound rules of the security group that has the description: \"AWS created security group for directory ID directory controllers.\" Following are the new rules: Inbound: Type: Custom UDP Rule, Protocol: UDP, Range: 88, Source: 0.0.0.0/0 Type: Custom UDP Rule, Protocol: UDP, Range: 123, Source: 0.0.0.0/0 Type: Custom UDP Rule, Protocol: UDP, Range: 138, Source: 0.0.0.0/0 Type: Custom UDP Rule, Protocol: UDP, Range: 389, Source: 0.0.0.0/0 Type: Custom UDP Rule, Protocol: UDP, Range: 464, Source: 0.0.0.0/0 Type: Custom UDP Rule, Protocol: UDP, Range: 445, Source: 0.0.0.0/0 Type: Custom TCP Rule, Protocol: TCP, Range: 88, Source: 0.0.0.0/0 Type: Custom TCP Rule, Protocol: TCP, Range: 135, Source: 0.0.0.0/0 Type: Custom TCP Rule, Protocol: TCP, Range: 445, Source: 0.0.0.0/0 Type: Custom TCP Rule, Protocol: TCP, Range: 464, Source: 0.0.0.0/0 Type: Custom TCP Rule, Protocol: TCP, Range: 636, Source: 0.0.0.0/0 Type: Custom TCP Rule, Protocol: TCP, Range: 1024-65535, Source: 0.0.0.0/0 Type: Custom TCP Rule, Protocol: TCP, Range: 3268-33269, Source: 0.0.0.0/0 Type: DNS (UDP), Protocol: UDP, Range: 53, Source: 0.0.0.0/0 Type: DNS (TCP), Protocol: TCP, Range: 53, Source: 0.0.0.0/0 Type: LDAP, Protocol: TCP, Range: 389, Source: 0.0.0.0/0 Type: All ICMP, Protocol: All, Range: N/A, Source: 0.0.0.0/0 Outbound: Type: All traffic, Protocol: All, Range: All, Destination: 0.0.0.0/0 These security rules impact an internal network interface that is not exposed publicly." +} +""" +AddIpRoutes(args) = directory_service("AddIpRoutes", args) + +""" + ListCertificates() + +For the specified directory, lists all the certificates registered for a secured LDAP connection. + +Required Parameters +{ + "DirectoryId": "The identifier of the directory." +} + +Optional Parameters +{ + "NextToken": "A token for requesting another page of certificates if the NextToken response element indicates that more certificates are available. Use the value of the returned NextToken element in your request until the token comes back as null. Pass null if this is the first call.", + "Limit": "The number of items that should show up on one page" +} +""" +ListCertificates(args) = directory_service("ListCertificates", args) + +""" + ListTagsForResource() + +Lists all tags on a directory. + +Required Parameters +{ + "ResourceId": "Identifier (ID) of the directory for which you want to retrieve tags." +} + +Optional Parameters +{ + "NextToken": "Reserved for future use.", + "Limit": "Reserved for future use." +} +""" +ListTagsForResource(args) = directory_service("ListTagsForResource", args) + +""" + GetDirectoryLimits() + +Obtains directory limit information for the current Region. +""" +GetDirectoryLimits() = directory_service("GetDirectoryLimits") +GetDirectoryLimits(args) = directory_service("GetDirectoryLimits", args) + +""" + ListLogSubscriptions() + +Lists the active log subscriptions for the AWS account. + +Optional Parameters +{ + "NextToken": "The token for the next set of items to return.", + "DirectoryId": "If a DirectoryID is provided, lists only the log subscription associated with that directory. If no DirectoryId is provided, lists all log subscriptions associated with your AWS account. If there are no log subscriptions for the AWS account or the directory, an empty list will be returned.", + "Limit": "The maximum number of items returned." +} +""" +ListLogSubscriptions() = directory_service("ListLogSubscriptions") +ListLogSubscriptions(args) = directory_service("ListLogSubscriptions", args) + +""" + StartSchemaExtension() + +Applies a schema extension to a Microsoft AD directory. + +Required Parameters +{ + "Description": "A description of the schema extension.", + "DirectoryId": "The identifier of the directory for which the schema extension will be applied to.", + "CreateSnapshotBeforeSchemaExtension": "If true, creates a snapshot of the directory before applying the schema extension.", + "LdifContent": "The LDIF file represented as a string. To construct the LdifContent string, precede each line as it would be formatted in an ldif file with n. See the example request below for more details. The file size can be no larger than 1MB." +} +""" +StartSchemaExtension(args) = directory_service("StartSchemaExtension", args) + +""" + DeleteTrust() + +Deletes an existing trust relationship between your AWS Managed Microsoft AD directory and an external domain. + +Required Parameters +{ + "TrustId": "The Trust ID of the trust relationship to be deleted." +} + +Optional Parameters +{ + "DeleteAssociatedConditionalForwarder": "Delete a conditional forwarder as part of a DeleteTrustRequest." +} +""" +DeleteTrust(args) = directory_service("DeleteTrust", args) + +""" + AddTagsToResource() + +Adds or overwrites one or more tags for the specified directory. Each directory can have a maximum of 50 tags. Each tag consists of a key and optional value. Tag keys must be unique to each resource. + +Required Parameters +{ + "Tags": "The tags to be assigned to the directory.", + "ResourceId": "Identifier (ID) for the directory to which to add the tag." +} +""" +AddTagsToResource(args) = directory_service("AddTagsToResource", args) + +""" + RemoveTagsFromResource() + +Removes tags from a directory. + +Required Parameters +{ + "ResourceId": "Identifier (ID) of the directory from which to remove the tag.", + "TagKeys": "The tag key (name) of the tag to be removed." +} +""" +RemoveTagsFromResource(args) = directory_service("RemoveTagsFromResource", args) + +""" + DescribeConditionalForwarders() + +Obtains information about the conditional forwarders for this account. If no input parameters are provided for RemoteDomainNames, this request describes all conditional forwarders for the specified directory ID. + +Required Parameters +{ + "DirectoryId": "The directory ID for which to get the list of associated conditional forwarders." +} + +Optional Parameters +{ + "RemoteDomainNames": "The fully qualified domain names (FQDN) of the remote domains for which to get the list of associated conditional forwarders. If this member is null, all conditional forwarders are returned." +} +""" +DescribeConditionalForwarders(args) = directory_service("DescribeConditionalForwarders", args) + +""" + DescribeDomainControllers() + +Provides information about any domain controllers in your directory. + +Required Parameters +{ + "DirectoryId": "Identifier of the directory for which to retrieve the domain controller information." +} + +Optional Parameters +{ + "DomainControllerIds": "A list of identifiers for the domain controllers whose information will be provided.", + "NextToken": "The DescribeDomainControllers.NextToken value from a previous call to DescribeDomainControllers. Pass null if this is the first call. ", + "Limit": "The maximum number of items to return." +} +""" +DescribeDomainControllers(args) = directory_service("DescribeDomainControllers", args) + +""" + DescribeLDAPSSettings() + +Describes the status of LDAP security for the specified directory. + +Required Parameters +{ + "DirectoryId": "The identifier of the directory." +} + +Optional Parameters +{ + "NextToken": "The type of next token used for pagination.", + "Type": "The type of LDAP security to enable. Currently only the value Client is supported.", + "Limit": "Specifies the number of items that should be displayed on one page." +} +""" +DescribeLDAPSSettings(args) = directory_service("DescribeLDAPSSettings", args) + +""" + CreateComputer() + +Creates a computer account in the specified directory, and joins the computer to the directory. + +Required Parameters +{ + "Password": "A one-time password that is used to join the computer to the directory. You should generate a random, strong password to use for this parameter.", + "DirectoryId": "The identifier of the directory in which to create the computer account.", + "ComputerName": "The name of the computer account." +} + +Optional Parameters +{ + "ComputerAttributes": "An array of Attribute objects that contain any LDAP attributes to apply to the computer account.", + "OrganizationalUnitDistinguishedName": "The fully-qualified distinguished name of the organizational unit to place the computer account in." +} +""" +CreateComputer(args) = directory_service("CreateComputer", args) + +""" + UpdateTrust() + +Updates the trust that has been set up between your AWS Managed Microsoft AD directory and an on-premises Active Directory. + +Required Parameters +{ + "TrustId": "Identifier of the trust relationship." +} + +Optional Parameters +{ + "SelectiveAuth": "Updates selective authentication for the trust." +} +""" +UpdateTrust(args) = directory_service("UpdateTrust", args) + +""" + DeleteSnapshot() + +Deletes a directory snapshot. + +Required Parameters +{ + "SnapshotId": "The identifier of the directory snapshot to be deleted." +} +""" +DeleteSnapshot(args) = directory_service("DeleteSnapshot", args) + +""" + EnableRadius() + +Enables multi-factor authentication (MFA) with the Remote Authentication Dial In User Service (RADIUS) server for an AD Connector or Microsoft AD directory. + +Required Parameters +{ + "DirectoryId": "The identifier of the directory for which to enable MFA.", + "RadiusSettings": "A RadiusSettings object that contains information about the RADIUS server." +} +""" +EnableRadius(args) = directory_service("EnableRadius", args) + +""" + RegisterCertificate() + +Registers a certificate for secured LDAP connection. + +Required Parameters +{ + "DirectoryId": "The identifier of the directory.", + "CertificateData": "The certificate PEM string that needs to be registered." +} +""" +RegisterCertificate(args) = directory_service("RegisterCertificate", args) + +""" + RejectSharedDirectory() + +Rejects a directory sharing request that was sent from the directory owner account. + +Required Parameters +{ + "SharedDirectoryId": "Identifier of the shared directory in the directory consumer account. This identifier is different for each directory owner account." +} +""" +RejectSharedDirectory(args) = directory_service("RejectSharedDirectory", args) + +""" + EnableLDAPS() + +Activates the switch for the specific directory to always use LDAP secure calls. + +Required Parameters +{ + "DirectoryId": "The identifier of the directory.", + "Type": "The type of LDAP security to enable. Currently only the value Client is supported." +} +""" +EnableLDAPS(args) = directory_service("EnableLDAPS", args) + +""" + ResetUserPassword() + +Resets the password for any user in your AWS Managed Microsoft AD or Simple AD directory. You can reset the password for any user in your directory with the following exceptions: For Simple AD, you cannot reset the password for any user that is a member of either the Domain Admins or Enterprise Admins group except for the administrator user. For AWS Managed Microsoft AD, you can only reset the password for a user that is in an OU based off of the NetBIOS name that you typed when you created your directory. For example, you cannot reset the password for a user in the AWS Reserved OU. For more information about the OU structure for an AWS Managed Microsoft AD directory, see What Gets Created in the AWS Directory Service Administration Guide. + +Required Parameters +{ + "UserName": "The user name of the user whose password will be reset.", + "DirectoryId": "Identifier of the AWS Managed Microsoft AD or Simple AD directory in which the user resides.", + "NewPassword": "The new password that will be reset." +} +""" +ResetUserPassword(args) = directory_service("ResetUserPassword", args) + +""" + DeleteConditionalForwarder() + +Deletes a conditional forwarder that has been set up for your AWS directory. + +Required Parameters +{ + "RemoteDomainName": "The fully qualified domain name (FQDN) of the remote domain with which you are deleting the conditional forwarder.", + "DirectoryId": "The directory ID for which you are deleting the conditional forwarder." +} +""" +DeleteConditionalForwarder(args) = directory_service("DeleteConditionalForwarder", args) + +""" + CreateSnapshot() + +Creates a snapshot of a Simple AD or Microsoft AD directory in the AWS cloud. You cannot take snapshots of AD Connector directories. + +Required Parameters +{ + "DirectoryId": "The identifier of the directory of which to take a snapshot." +} + +Optional Parameters +{ + "Name": "The descriptive name to apply to the snapshot." +} +""" +CreateSnapshot(args) = directory_service("CreateSnapshot", args) + +""" + EnableSso() + +Enables single sign-on for a directory. Single sign-on allows users in your directory to access certain AWS services from a computer joined to the directory without having to enter their credentials separately. + +Required Parameters +{ + "DirectoryId": "The identifier of the directory for which to enable single-sign on." +} + +Optional Parameters +{ + "UserName": "The username of an alternate account to use to enable single-sign on. This is only used for AD Connector directories. This account must have privileges to add a service principal name. If the AD Connector service account does not have privileges to add a service principal name, you can specify an alternate account with the UserName and Password parameters. These credentials are only used to enable single sign-on and are not stored by the service. The AD Connector service account is not changed.", + "Password": "The password of an alternate account to use to enable single-sign on. This is only used for AD Connector directories. For more information, see the UserName parameter." +} +""" +EnableSso(args) = directory_service("EnableSso", args) + +""" + DescribeDirectories() + +Obtains information about the directories that belong to this account. You can retrieve information about specific directories by passing the directory identifiers in the DirectoryIds parameter. Otherwise, all directories that belong to the current account are returned. This operation supports pagination with the use of the NextToken request and response parameters. If more results are available, the DescribeDirectoriesResult.NextToken member contains a token that you pass in the next call to DescribeDirectories to retrieve the next set of items. You can also specify a maximum number of return results with the Limit parameter. + +Optional Parameters +{ + "DirectoryIds": "A list of identifiers of the directories for which to obtain the information. If this member is null, all directories that belong to the current account are returned. An empty list results in an InvalidParameterException being thrown.", + "NextToken": "The DescribeDirectoriesResult.NextToken value from a previous call to DescribeDirectories. Pass null if this is the first call.", + "Limit": "The maximum number of items to return. If this value is zero, the maximum number of items is specified by the limitations of the operation." +} +""" +DescribeDirectories() = directory_service("DescribeDirectories") +DescribeDirectories(args) = directory_service("DescribeDirectories", args) + +""" + DisableLDAPS() + +Deactivates LDAP secure calls for the specified directory. + +Required Parameters +{ + "DirectoryId": "The identifier of the directory.", + "Type": "The type of LDAP security to enable. Currently only the value Client is supported." +} +""" +DisableLDAPS(args) = directory_service("DisableLDAPS", args) + +""" + DeleteLogSubscription() + +Deletes the specified log subscription. + +Required Parameters +{ + "DirectoryId": "Identifier of the directory whose log subscription you want to delete." +} +""" +DeleteLogSubscription(args) = directory_service("DeleteLogSubscription", args) + +""" + ConnectDirectory() + +Creates an AD Connector to connect to an on-premises directory. Before you call ConnectDirectory, ensure that all of the required permissions have been explicitly granted through a policy. For details about what permissions are required to run the ConnectDirectory operation, see AWS Directory Service API Permissions: Actions, Resources, and Conditions Reference. + +Required Parameters +{ + "Password": "The password for the on-premises user account.", + "ConnectSettings": "A DirectoryConnectSettings object that contains additional information for the operation.", + "Name": "The fully qualified name of the on-premises directory, such as corp.example.com.", + "Size": "The size of the directory." +} + +Optional Parameters +{ + "Description": "A description for the directory.", + "Tags": "The tags to be assigned to AD Connector.", + "ShortName": "The NetBIOS name of the on-premises directory, such as CORP." +} +""" +ConnectDirectory(args) = directory_service("ConnectDirectory", args) + +""" + RemoveIpRoutes() + +Removes IP address blocks from a directory. + +Required Parameters +{ + "DirectoryId": "Identifier (ID) of the directory from which you want to remove the IP addresses.", + "CidrIps": "IP address blocks that you want to remove." +} +""" +RemoveIpRoutes(args) = directory_service("RemoveIpRoutes", args) + +""" + UpdateRadius() + +Updates the Remote Authentication Dial In User Service (RADIUS) server information for an AD Connector or Microsoft AD directory. + +Required Parameters +{ + "DirectoryId": "The identifier of the directory for which to update the RADIUS server information.", + "RadiusSettings": "A RadiusSettings object that contains information about the RADIUS server." +} +""" +UpdateRadius(args) = directory_service("UpdateRadius", args) + +""" + DescribeTrusts() + +Obtains information about the trust relationships for this account. If no input parameters are provided, such as DirectoryId or TrustIds, this request describes all the trust relationships belonging to the account. + +Optional Parameters +{ + "NextToken": "The DescribeTrustsResult.NextToken value from a previous call to DescribeTrusts. Pass null if this is the first call.", + "DirectoryId": "The Directory ID of the AWS directory that is a part of the requested trust relationship.", + "TrustIds": "A list of identifiers of the trust relationships for which to obtain the information. If this member is null, all trust relationships that belong to the current account are returned. An empty list results in an InvalidParameterException being thrown.", + "Limit": "The maximum number of objects to return." +} +""" +DescribeTrusts() = directory_service("DescribeTrusts") +DescribeTrusts(args) = directory_service("DescribeTrusts", args) + +""" + CreateMicrosoftAD() + +Creates a Microsoft AD directory in the AWS Cloud. For more information, see AWS Managed Microsoft AD in the AWS Directory Service Admin Guide. Before you call CreateMicrosoftAD, ensure that all of the required permissions have been explicitly granted through a policy. For details about what permissions are required to run the CreateMicrosoftAD operation, see AWS Directory Service API Permissions: Actions, Resources, and Conditions Reference. + +Required Parameters +{ + "Password": "The password for the default administrative user named Admin. If you need to change the password for the administrator account, you can use the ResetUserPassword API call.", + "VpcSettings": "Contains VPC information for the CreateDirectory or CreateMicrosoftAD operation.", + "Name": "The fully qualified domain name for the AWS Managed Microsoft AD directory, such as corp.example.com. This name will resolve inside your VPC only. It does not need to be publicly resolvable." +} + +Optional Parameters +{ + "Description": "A description for the directory. This label will appear on the AWS console Directory Details page after the directory is created.", + "Tags": "The tags to be assigned to the AWS Managed Microsoft AD directory.", + "ShortName": "The NetBIOS name for your domain, such as CORP. If you don't specify a NetBIOS name, it will default to the first part of your directory DNS. For example, CORP for the directory DNS corp.example.com. ", + "Edition": "AWS Managed Microsoft AD is available in two editions: Standard and Enterprise. Enterprise is the default." +} +""" +CreateMicrosoftAD(args) = directory_service("CreateMicrosoftAD", args) diff --git a/src/services/dlm.jl b/src/services/dlm.jl new file mode 100644 index 0000000000..d51a0c7e01 --- /dev/null +++ b/src/services/dlm.jl @@ -0,0 +1,121 @@ +include("../AWSServices.jl") +using .AWSServices: dlm + +""" + ListTagsForResource() + +Lists the tags for the specified resource. + +Required Parameters +{ + "ResourceArn": "The Amazon Resource Name (ARN) of the resource." +} +""" +ListTagsForResource(args) = dlm("GET", "/tags/{resourceArn}", args) + +""" + UntagResource() + +Removes the specified tags from the specified resource. + +Required Parameters +{ + "ResourceArn": "The Amazon Resource Name (ARN) of the resource.", + "TagKeys": "The tag keys." +} +""" +UntagResource(args) = dlm("DELETE", "/tags/{resourceArn}", args) + +""" + GetLifecyclePolicy() + +Gets detailed information about the specified lifecycle policy. + +Required Parameters +{ + "PolicyId": "The identifier of the lifecycle policy." +} +""" +GetLifecyclePolicy(args) = dlm("GET", "/policies/{policyId}/", args) + +""" + CreateLifecyclePolicy() + +Creates a policy to manage the lifecycle of the specified AWS resources. You can create up to 100 lifecycle policies. + +Required Parameters +{ + "PolicyDetails": "The configuration details of the lifecycle policy.", + "Description": "A description of the lifecycle policy. The characters ^[0-9A-Za-z _-]+ are supported.", + "State": "The desired activation state of the lifecycle policy after creation.", + "ExecutionRoleArn": "The Amazon Resource Name (ARN) of the IAM role used to run the operations specified by the lifecycle policy." +} + +Optional Parameters +{ + "Tags": "The tags to apply to the lifecycle policy during creation." +} +""" +CreateLifecyclePolicy(args) = dlm("POST", "/policies", args) + +""" + GetLifecyclePolicies() + +Gets summary information about all or the specified data lifecycle policies. To get complete information about a policy, use GetLifecyclePolicy. + +Optional Parameters +{ + "TagsToAdd": "The tags to add to objects created by the policy. Tags are strings in the format key=value. These user-defined tags are added in addition to the AWS-added lifecycle tags.", + "TargetTags": "The target tag for a policy. Tags are strings in the format key=value.", + "PolicyIds": "The identifiers of the data lifecycle policies.", + "State": "The activation state.", + "ResourceTypes": "The resource type." +} +""" +GetLifecyclePolicies() = dlm("GET", "/policies") +GetLifecyclePolicies(args) = dlm("GET", "/policies", args) + +""" + UpdateLifecyclePolicy() + +Updates the specified lifecycle policy. + +Required Parameters +{ + "PolicyId": "The identifier of the lifecycle policy." +} + +Optional Parameters +{ + "PolicyDetails": "The configuration of the lifecycle policy. You cannot update the policy type or the resource type.", + "Description": "A description of the lifecycle policy.", + "State": "The desired activation state of the lifecycle policy after creation.", + "ExecutionRoleArn": "The Amazon Resource Name (ARN) of the IAM role used to run the operations specified by the lifecycle policy." +} +""" +UpdateLifecyclePolicy(args) = dlm("PATCH", "/policies/{policyId}", args) + +""" + DeleteLifecyclePolicy() + +Deletes the specified lifecycle policy and halts the automated operations that the policy specified. + +Required Parameters +{ + "PolicyId": "The identifier of the lifecycle policy." +} +""" +DeleteLifecyclePolicy(args) = dlm("DELETE", "/policies/{policyId}/", args) + +""" + TagResource() + +Adds the specified tags to the specified resource. + +Required Parameters +{ + "ResourceArn": "The Amazon Resource Name (ARN) of the resource.", + "Tags": "One or more tags." +} +""" +TagResource(args) = dlm("POST", "/tags/{resourceArn}", args) diff --git a/src/services/docdb.jl b/src/services/docdb.jl new file mode 100644 index 0000000000..8fea93c820 --- /dev/null +++ b/src/services/docdb.jl @@ -0,0 +1,751 @@ +include("../AWSServices.jl") +using .AWSServices: docdb + +""" + ListTagsForResource() + +Lists all tags on an Amazon DocumentDB resource. + +Required Parameters +{ + "ResourceName": "The Amazon DocumentDB resource with tags to be listed. This value is an Amazon Resource Name (ARN)." +} + +Optional Parameters +{ + "Filters": "This parameter is not currently supported." +} +""" +ListTagsForResource(args) = docdb("ListTagsForResource", args) + +""" + DeleteDBSubnetGroup() + +Deletes a subnet group. The specified database subnet group must not be associated with any DB instances. + +Required Parameters +{ + "DBSubnetGroupName": "The name of the database subnet group to delete. You can't delete the default subnet group. Constraints: Must match the name of an existing DBSubnetGroup. Must not be default. Example: mySubnetgroup " +} +""" +DeleteDBSubnetGroup(args) = docdb("DeleteDBSubnetGroup", args) + +""" + DescribeDBEngineVersions() + +Returns a list of the available engines. + +Optional Parameters +{ + "MaxRecords": " The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token (marker) is included in the response so that the remaining results can be retrieved. Default: 100 Constraints: Minimum 20, maximum 100.", + "Marker": "An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.", + "ListSupportedTimezones": "If this parameter is specified and the requested engine supports the TimeZone parameter for CreateDBInstance, the response includes a list of supported time zones for each engine version. ", + "EngineVersion": "The database engine version to return. Example: 5.1.49 ", + "Engine": "The database engine to return.", + "Filters": "This parameter is not currently supported.", + "ListSupportedCharacterSets": "If this parameter is specified and the requested engine supports the CharacterSetName parameter for CreateDBInstance, the response includes a list of supported character sets for each engine version. ", + "DefaultOnly": "Indicates that only the default version of the specified engine or engine and major version combination is returned.", + "DBParameterGroupFamily": "The name of a specific parameter group family to return details for. Constraints: If provided, must match an existing DBParameterGroupFamily. " +} +""" +DescribeDBEngineVersions() = docdb("DescribeDBEngineVersions") +DescribeDBEngineVersions(args) = docdb("DescribeDBEngineVersions", args) + +""" + DeleteDBClusterParameterGroup() + +Deletes a specified cluster parameter group. The cluster parameter group to be deleted can't be associated with any clusters. + +Required Parameters +{ + "DBClusterParameterGroupName": "The name of the cluster parameter group. Constraints: Must be the name of an existing cluster parameter group. You can't delete a default cluster parameter group. Cannot be associated with any clusters. " +} +""" +DeleteDBClusterParameterGroup(args) = docdb("DeleteDBClusterParameterGroup", args) + +""" + DescribeDBInstances() + +Returns information about provisioned Amazon DocumentDB instances. This API supports pagination. + +Optional Parameters +{ + "DBInstanceIdentifier": "The user-provided instance identifier. If this parameter is specified, information from only the specific instance is returned. This parameter isn't case sensitive. Constraints: If provided, must match the identifier of an existing DBInstance. ", + "MaxRecords": " The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token (marker) is included in the response so that the remaining results can be retrieved. Default: 100 Constraints: Minimum 20, maximum 100.", + "Marker": "An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.", + "Filters": "A filter that specifies one or more instances to describe. Supported filters: db-cluster-id - Accepts cluster identifiers and cluster Amazon Resource Names (ARNs). The results list includes only the information about the instances that are associated with the clusters that are identified by these ARNs. db-instance-id - Accepts instance identifiers and instance ARNs. The results list includes only the information about the instances that are identified by these ARNs. " +} +""" +DescribeDBInstances() = docdb("DescribeDBInstances") +DescribeDBInstances(args) = docdb("DescribeDBInstances", args) + +""" + DescribeOrderableDBInstanceOptions() + +Returns a list of orderable instance options for the specified engine. + +Required Parameters +{ + "Engine": "The name of the engine to retrieve instance options for." +} + +Optional Parameters +{ + "MaxRecords": " The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token (marker) is included in the response so that the remaining results can be retrieved. Default: 100 Constraints: Minimum 20, maximum 100.", + "Marker": "An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.", + "EngineVersion": "The engine version filter value. Specify this parameter to show only the available offerings that match the specified engine version.", + "LicenseModel": "The license model filter value. Specify this parameter to show only the available offerings that match the specified license model.", + "Vpc": "The virtual private cloud (VPC) filter value. Specify this parameter to show only the available VPC or non-VPC offerings.", + "DBInstanceClass": "The instance class filter value. Specify this parameter to show only the available offerings that match the specified instance class.", + "Filters": "This parameter is not currently supported." +} +""" +DescribeOrderableDBInstanceOptions(args) = docdb("DescribeOrderableDBInstanceOptions", args) + +""" + DescribeDBClusterParameters() + +Returns the detailed parameter list for a particular cluster parameter group. + +Required Parameters +{ + "DBClusterParameterGroupName": "The name of a specific cluster parameter group to return parameter details for. Constraints: If provided, must match the name of an existing DBClusterParameterGroup. " +} + +Optional Parameters +{ + "MaxRecords": " The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token (marker) is included in the response so that the remaining results can be retrieved. Default: 100 Constraints: Minimum 20, maximum 100.", + "Marker": "An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.", + "Source": " A value that indicates to return only parameters for a specific source. Parameter sources can be engine, service, or customer. ", + "Filters": "This parameter is not currently supported." +} +""" +DescribeDBClusterParameters(args) = docdb("DescribeDBClusterParameters", args) + +""" + DescribeDBClusterSnapshotAttributes() + +Returns a list of cluster snapshot attribute names and values for a manual DB cluster snapshot. When you share snapshots with other AWS accounts, DescribeDBClusterSnapshotAttributes returns the restore attribute and a list of IDs for the AWS accounts that are authorized to copy or restore the manual cluster snapshot. If all is included in the list of values for the restore attribute, then the manual cluster snapshot is public and can be copied or restored by all AWS accounts. + +Required Parameters +{ + "DBClusterSnapshotIdentifier": "The identifier for the cluster snapshot to describe the attributes for." +} +""" +DescribeDBClusterSnapshotAttributes(args) = docdb("DescribeDBClusterSnapshotAttributes", args) + +""" + DescribeEvents() + +Returns events related to instances, security groups, snapshots, and DB parameter groups for the past 14 days. You can obtain events specific to a particular DB instance, security group, snapshot, or parameter group by providing the name as a parameter. By default, the events of the past hour are returned. + +Optional Parameters +{ + "StartTime": " The beginning of the time interval to retrieve events for, specified in ISO 8601 format. Example: 2009-07-08T18:00Z", + "MaxRecords": " The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token (marker) is included in the response so that the remaining results can be retrieved. Default: 100 Constraints: Minimum 20, maximum 100.", + "Marker": "An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.", + "SourceIdentifier": "The identifier of the event source for which events are returned. If not specified, then all sources are included in the response. Constraints: If SourceIdentifier is provided, SourceType must also be provided. If the source type is DBInstance, a DBInstanceIdentifier must be provided. If the source type is DBSecurityGroup, a DBSecurityGroupName must be provided. If the source type is DBParameterGroup, a DBParameterGroupName must be provided. If the source type is DBSnapshot, a DBSnapshotIdentifier must be provided. Cannot end with a hyphen or contain two consecutive hyphens. ", + "EndTime": " The end of the time interval for which to retrieve events, specified in ISO 8601 format. Example: 2009-07-08T18:00Z", + "SourceType": "The event source to retrieve events for. If no value is specified, all events are returned.", + "Duration": "The number of minutes to retrieve events for. Default: 60", + "Filters": "This parameter is not currently supported.", + "EventCategories": "A list of event categories that trigger notifications for an event notification subscription." +} +""" +DescribeEvents() = docdb("DescribeEvents") +DescribeEvents(args) = docdb("DescribeEvents", args) + +""" + FailoverDBCluster() + +Forces a failover for a cluster. A failover for a cluster promotes one of the Amazon DocumentDB replicas (read-only instances) in the cluster to be the primary instance (the cluster writer). If the primary instance fails, Amazon DocumentDB automatically fails over to an Amazon DocumentDB replica, if one exists. You can force a failover when you want to simulate a failure of a primary instance for testing. + +Optional Parameters +{ + "DBClusterIdentifier": "A cluster identifier to force a failover for. This parameter is not case sensitive. Constraints: Must match the identifier of an existing DBCluster. ", + "TargetDBInstanceIdentifier": "The name of the instance to promote to the primary instance. You must specify the instance identifier for an Amazon DocumentDB replica in the cluster. For example, mydbcluster-replica1." +} +""" +FailoverDBCluster() = docdb("FailoverDBCluster") +FailoverDBCluster(args) = docdb("FailoverDBCluster", args) + +""" + ModifyDBClusterSnapshotAttribute() + +Adds an attribute and values to, or removes an attribute and values from, a manual DB cluster snapshot. To share a manual cluster snapshot with other AWS accounts, specify restore as the AttributeName, and use the ValuesToAdd parameter to add a list of IDs of the AWS accounts that are authorized to restore the manual cluster snapshot. Use the value all to make the manual cluster snapshot public, which means that it can be copied or restored by all AWS accounts. Do not add the all value for any manual DB cluster snapshots that contain private information that you don't want available to all AWS accounts. If a manual cluster snapshot is encrypted, it can be shared, but only by specifying a list of authorized AWS account IDs for the ValuesToAdd parameter. You can't use all as a value for that parameter in this case. + +Required Parameters +{ + "AttributeName": "The name of the cluster snapshot attribute to modify. To manage authorization for other AWS accounts to copy or restore a manual cluster snapshot, set this value to restore.", + "DBClusterSnapshotIdentifier": "The identifier for the cluster snapshot to modify the attributes for." +} + +Optional Parameters +{ + "ValuesToAdd": "A list of cluster snapshot attributes to add to the attribute specified by AttributeName. To authorize other AWS accounts to copy or restore a manual cluster snapshot, set this list to include one or more AWS account IDs. To make the manual cluster snapshot restorable by any AWS account, set it to all. Do not add the all value for any manual cluster snapshots that contain private information that you don't want to be available to all AWS accounts.", + "ValuesToRemove": "A list of cluster snapshot attributes to remove from the attribute specified by AttributeName. To remove authorization for other AWS accounts to copy or restore a manual cluster snapshot, set this list to include one or more AWS account identifiers. To remove authorization for any AWS account to copy or restore the cluster snapshot, set it to all . If you specify all, an AWS account whose account ID is explicitly added to the restore attribute can still copy or restore a manual cluster snapshot." +} +""" +ModifyDBClusterSnapshotAttribute(args) = docdb("ModifyDBClusterSnapshotAttribute", args) + +""" + ModifyDBInstance() + +Modifies settings for an instance. You can change one or more database configuration parameters by specifying these parameters and the new values in the request. + +Required Parameters +{ + "DBInstanceIdentifier": "The instance identifier. This value is stored as a lowercase string. Constraints: Must match the identifier of an existing DBInstance. " +} + +Optional Parameters +{ + "PromotionTier": "A value that specifies the order in which an Amazon DocumentDB replica is promoted to the primary instance after a failure of the existing primary instance. Default: 1 Valid values: 0-15", + "NewDBInstanceIdentifier": " The new instance identifier for the instance when renaming an instance. When you change the instance identifier, an instance reboot occurs immediately if you set Apply Immediately to true. It occurs during the next maintenance window if you set Apply Immediately to false. This value is stored as a lowercase string. Constraints: Must contain from 1 to 63 letters, numbers, or hyphens. The first character must be a letter. Cannot end with a hyphen or contain two consecutive hyphens. Example: mydbinstance ", + "CACertificateIdentifier": "Indicates the certificate that needs to be associated with the instance.", + "ApplyImmediately": "Specifies whether the modifications in this request and any pending modifications are asynchronously applied as soon as possible, regardless of the PreferredMaintenanceWindow setting for the instance. If this parameter is set to false, changes to the instance are applied during the next maintenance window. Some parameter changes can cause an outage and are applied on the next reboot. Default: false ", + "PreferredMaintenanceWindow": "The weekly time range (in UTC) during which system maintenance can occur, which might result in an outage. Changing this parameter doesn't result in an outage except in the following situation, and the change is asynchronously applied as soon as possible. If there are pending actions that cause a reboot, and the maintenance window is changed to include the current time, changing this parameter causes a reboot of the instance. If you are moving this window to the current time, there must be at least 30 minutes between the current time and end of the window to ensure that pending changes are applied. Default: Uses existing setting. Format: ddd:hh24:mi-ddd:hh24:mi Valid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun Constraints: Must be at least 30 minutes.", + "AutoMinorVersionUpgrade": "Indicates that minor version upgrades are applied automatically to the instance during the maintenance window. Changing this parameter doesn't result in an outage except in the following case, and the change is asynchronously applied as soon as possible. An outage results if this parameter is set to true during the maintenance window, and a newer minor version is available, and Amazon DocumentDB has enabled automatic patching for that engine version. ", + "DBInstanceClass": "The new compute and memory capacity of the instance; for example, db.r5.large. Not all instance classes are available in all AWS Regions. If you modify the instance class, an outage occurs during the change. The change is applied during the next maintenance window, unless ApplyImmediately is specified as true for this request. Default: Uses existing setting." +} +""" +ModifyDBInstance(args) = docdb("ModifyDBInstance", args) + +""" + StartDBCluster() + +Restarts the stopped cluster that is specified by DBClusterIdentifier. For more information, see Stopping and Starting an Amazon DocumentDB Cluster. + +Required Parameters +{ + "DBClusterIdentifier": "The identifier of the cluster to restart. Example: docdb-2019-05-28-15-24-52 " +} +""" +StartDBCluster(args) = docdb("StartDBCluster", args) + +""" + AddTagsToResource() + +Adds metadata tags to an Amazon DocumentDB resource. You can use these tags with cost allocation reporting to track costs that are associated with Amazon DocumentDB resources. or in a Condition statement in an AWS Identity and Access Management (IAM) policy for Amazon DocumentDB. + +Required Parameters +{ + "Tags": "The tags to be assigned to the Amazon DocumentDB resource. ", + "ResourceName": "The Amazon DocumentDB resource that the tags are added to. This value is an Amazon Resource Name (ARN)." +} +""" +AddTagsToResource(args) = docdb("AddTagsToResource", args) + +""" + StopDBCluster() + +Stops the running cluster that is specified by DBClusterIdentifier. The cluster must be in the available state. For more information, see Stopping and Starting an Amazon DocumentDB Cluster. + +Required Parameters +{ + "DBClusterIdentifier": "The identifier of the cluster to stop. Example: docdb-2019-05-28-15-24-52 " +} +""" +StopDBCluster(args) = docdb("StopDBCluster", args) + +""" + RemoveTagsFromResource() + +Removes metadata tags from an Amazon DocumentDB resource. + +Required Parameters +{ + "ResourceName": "The Amazon DocumentDB resource that the tags are removed from. This value is an Amazon Resource Name (ARN).", + "TagKeys": "The tag key (name) of the tag to be removed." +} +""" +RemoveTagsFromResource(args) = docdb("RemoveTagsFromResource", args) + +""" + CreateDBClusterSnapshot() + +Creates a snapshot of a cluster. + +Required Parameters +{ + "DBClusterSnapshotIdentifier": "The identifier of the cluster snapshot. This parameter is stored as a lowercase string. Constraints: Must contain from 1 to 63 letters, numbers, or hyphens. The first character must be a letter. Cannot end with a hyphen or contain two consecutive hyphens. Example: my-cluster-snapshot1 ", + "DBClusterIdentifier": "The identifier of the cluster to create a snapshot for. This parameter is not case sensitive. Constraints: Must match the identifier of an existing DBCluster. Example: my-cluster " +} + +Optional Parameters +{ + "Tags": "The tags to be assigned to the cluster snapshot." +} +""" +CreateDBClusterSnapshot(args) = docdb("CreateDBClusterSnapshot", args) + +""" + DescribeEngineDefaultClusterParameters() + +Returns the default engine and system parameter information for the cluster database engine. + +Required Parameters +{ + "DBParameterGroupFamily": "The name of the cluster parameter group family to return the engine parameter information for." +} + +Optional Parameters +{ + "MaxRecords": " The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token (marker) is included in the response so that the remaining results can be retrieved. Default: 100 Constraints: Minimum 20, maximum 100.", + "Marker": "An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.", + "Filters": "This parameter is not currently supported." +} +""" +DescribeEngineDefaultClusterParameters(args) = docdb("DescribeEngineDefaultClusterParameters", args) + +""" + CreateDBCluster() + +Creates a new Amazon DocumentDB cluster. + +Required Parameters +{ + "DBClusterIdentifier": "The cluster identifier. This parameter is stored as a lowercase string. Constraints: Must contain from 1 to 63 letters, numbers, or hyphens. The first character must be a letter. Cannot end with a hyphen or contain two consecutive hyphens. Example: my-cluster ", + "Engine": "The name of the database engine to be used for this cluster. Valid values: docdb ", + "MasterUserPassword": "The password for the master database user. This password can contain any printable ASCII character except forward slash (/), double quote (\"), or the \"at\" symbol (@). Constraints: Must contain from 8 to 100 characters.", + "MasterUsername": "The name of the master user for the cluster. Constraints: Must be from 1 to 63 letters or numbers. The first character must be a letter. Cannot be a reserved word for the chosen database engine. " +} + +Optional Parameters +{ + "PreferredMaintenanceWindow": "The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC). Format: ddd:hh24:mi-ddd:hh24:mi The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region, occurring on a random day of the week. Valid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun Constraints: Minimum 30-minute window.", + "AvailabilityZones": "A list of Amazon EC2 Availability Zones that instances in the cluster can be created in.", + "BackupRetentionPeriod": "The number of days for which automated backups are retained. You must specify a minimum value of 1. Default: 1 Constraints: Must be a value from 1 to 35. ", + "DBSubnetGroupName": "A subnet group to associate with this cluster. Constraints: Must match the name of an existing DBSubnetGroup. Must not be default. Example: mySubnetgroup ", + "Tags": "The tags to be assigned to the cluster.", + "StorageEncrypted": "Specifies whether the cluster is encrypted.", + "PreferredBackupWindow": "The daily time range during which automated backups are created if automated backups are enabled using the BackupRetentionPeriod parameter. The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region. Constraints: Must be in the format hh24:mi-hh24:mi. Must be in Universal Coordinated Time (UTC). Must not conflict with the preferred maintenance window. Must be at least 30 minutes. ", + "EngineVersion": "The version number of the database engine to use.", + "DBClusterParameterGroupName": " The name of the cluster parameter group to associate with this cluster.", + "Port": "The port number on which the instances in the cluster accept connections.", + "EnableCloudwatchLogsExports": "A list of log types that need to be enabled for exporting to Amazon CloudWatch Logs.", + "DeletionProtection": "Specifies whether this cluster can be deleted. If DeletionProtection is enabled, the cluster cannot be deleted unless it is modified and DeletionProtection is disabled. DeletionProtection protects clusters from being accidentally deleted.", + "VpcSecurityGroupIds": "A list of EC2 VPC security groups to associate with this cluster.", + "KmsKeyId": "The AWS KMS key identifier for an encrypted cluster. The AWS KMS key identifier is the Amazon Resource Name (ARN) for the AWS KMS encryption key. If you are creating a cluster using the same AWS account that owns the AWS KMS encryption key that is used to encrypt the new cluster, you can use the AWS KMS key alias instead of the ARN for the AWS KMS encryption key. If an encryption key is not specified in KmsKeyId: If ReplicationSourceIdentifier identifies an encrypted source, then Amazon DocumentDB uses the encryption key that is used to encrypt the source. Otherwise, Amazon DocumentDB uses your default encryption key. If the StorageEncrypted parameter is true and ReplicationSourceIdentifier is not specified, Amazon DocumentDB uses your default encryption key. AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS Region. If you create a replica of an encrypted cluster in another AWS Region, you must set KmsKeyId to a KMS key ID that is valid in the destination AWS Region. This key is used to encrypt the replica in that AWS Region." +} +""" +CreateDBCluster(args) = docdb("CreateDBCluster", args) + +""" + ResetDBClusterParameterGroup() + + Modifies the parameters of a cluster parameter group to the default value. To reset specific parameters, submit a list of the following: ParameterName and ApplyMethod. To reset the entire cluster parameter group, specify the DBClusterParameterGroupName and ResetAllParameters parameters. When you reset the entire group, dynamic parameters are updated immediately and static parameters are set to pending-reboot to take effect on the next DB instance reboot. + +Required Parameters +{ + "DBClusterParameterGroupName": "The name of the cluster parameter group to reset." +} + +Optional Parameters +{ + "Parameters": "A list of parameter names in the cluster parameter group to reset to the default values. You can't use this parameter if the ResetAllParameters parameter is set to true.", + "ResetAllParameters": "A value that is set to true to reset all parameters in the cluster parameter group to their default values, and false otherwise. You can't use this parameter if there is a list of parameter names specified for the Parameters parameter." +} +""" +ResetDBClusterParameterGroup(args) = docdb("ResetDBClusterParameterGroup", args) + +""" + CreateDBSubnetGroup() + +Creates a new subnet group. subnet groups must contain at least one subnet in at least two Availability Zones in the AWS Region. + +Required Parameters +{ + "DBSubnetGroupName": "The name for the subnet group. This value is stored as a lowercase string. Constraints: Must contain no more than 255 letters, numbers, periods, underscores, spaces, or hyphens. Must not be default. Example: mySubnetgroup ", + "SubnetIds": "The Amazon EC2 subnet IDs for the subnet group.", + "DBSubnetGroupDescription": "The description for the subnet group." +} + +Optional Parameters +{ + "Tags": "The tags to be assigned to the subnet group." +} +""" +CreateDBSubnetGroup(args) = docdb("CreateDBSubnetGroup", args) + +""" + RebootDBInstance() + +You might need to reboot your instance, usually for maintenance reasons. For example, if you make certain changes, or if you change the cluster parameter group that is associated with the instance, you must reboot the instance for the changes to take effect. Rebooting an instance restarts the database engine service. Rebooting an instance results in a momentary outage, during which the instance status is set to rebooting. + +Required Parameters +{ + "DBInstanceIdentifier": "The instance identifier. This parameter is stored as a lowercase string. Constraints: Must match the identifier of an existing DBInstance. " +} + +Optional Parameters +{ + "ForceFailover": " When true, the reboot is conducted through a Multi-AZ failover. Constraint: You can't specify true if the instance is not configured for Multi-AZ." +} +""" +RebootDBInstance(args) = docdb("RebootDBInstance", args) + +""" + CreateDBClusterParameterGroup() + +Creates a new cluster parameter group. Parameters in a cluster parameter group apply to all of the instances in a DB cluster. A cluster parameter group is initially created with the default parameters for the database engine used by instances in the cluster. To provide custom values for any of the parameters, you must modify the group after you create it. After you create a DB cluster parameter group, you must associate it with your cluster. For the new DB cluster parameter group and associated settings to take effect, you must then reboot the instances in the cluster without failover. After you create a cluster parameter group, you should wait at least 5 minutes before creating your first cluster that uses that cluster parameter group as the default parameter group. This allows Amazon DocumentDB to fully complete the create action before the cluster parameter group is used as the default for a new cluster. This step is especially important for parameters that are critical when creating the default database for a cluster, such as the character set for the default database defined by the character_set_database parameter. + +Required Parameters +{ + "Description": "The description for the cluster parameter group.", + "DBClusterParameterGroupName": "The name of the cluster parameter group. Constraints: Must not match the name of an existing DBClusterParameterGroup. This value is stored as a lowercase string. ", + "DBParameterGroupFamily": "The cluster parameter group family name." +} + +Optional Parameters +{ + "Tags": "The tags to be assigned to the cluster parameter group." +} +""" +CreateDBClusterParameterGroup(args) = docdb("CreateDBClusterParameterGroup", args) + +""" + DeleteDBInstance() + +Deletes a previously provisioned instance. + +Required Parameters +{ + "DBInstanceIdentifier": "The instance identifier for the instance to be deleted. This parameter isn't case sensitive. Constraints: Must match the name of an existing instance. " +} +""" +DeleteDBInstance(args) = docdb("DeleteDBInstance", args) + +""" + DescribeEventCategories() + +Displays a list of categories for all event source types, or, if specified, for a specified source type. + +Optional Parameters +{ + "SourceType": "The type of source that is generating the events. Valid values: db-instance, db-parameter-group, db-security-group, db-snapshot ", + "Filters": "This parameter is not currently supported." +} +""" +DescribeEventCategories() = docdb("DescribeEventCategories") +DescribeEventCategories(args) = docdb("DescribeEventCategories", args) + +""" + CopyDBClusterSnapshot() + +Copies a snapshot of a cluster. To copy a cluster snapshot from a shared manual cluster snapshot, SourceDBClusterSnapshotIdentifier must be the Amazon Resource Name (ARN) of the shared cluster snapshot. To cancel the copy operation after it is in progress, delete the target cluster snapshot identified by TargetDBClusterSnapshotIdentifier while that DB cluster snapshot is in the copying status. + +Required Parameters +{ + "TargetDBClusterSnapshotIdentifier": "The identifier of the new cluster snapshot to create from the source cluster snapshot. This parameter is not case sensitive. Constraints: Must contain from 1 to 63 letters, numbers, or hyphens. The first character must be a letter. Cannot end with a hyphen or contain two consecutive hyphens. Example: my-cluster-snapshot2 ", + "SourceDBClusterSnapshotIdentifier": "The identifier of the cluster snapshot to copy. This parameter is not case sensitive. You can't copy an encrypted, shared cluster snapshot from one AWS Region to another. Constraints: Must specify a valid system snapshot in the \"available\" state. If the source snapshot is in the same AWS Region as the copy, specify a valid snapshot identifier. If the source snapshot is in a different AWS Region than the copy, specify a valid cluster snapshot ARN. Example: my-cluster-snapshot1 " +} + +Optional Parameters +{ + "Tags": "The tags to be assigned to the cluster snapshot.", + "PreSignedUrl": "The URL that contains a Signature Version 4 signed request for the CopyDBClusterSnapshot API action in the AWS Region that contains the source cluster snapshot to copy. You must use the PreSignedUrl parameter when copying an encrypted cluster snapshot from another AWS Region. The presigned URL must be a valid request for the CopyDBSClusterSnapshot API action that can be executed in the source AWS Region that contains the encrypted DB cluster snapshot to be copied. The presigned URL request must contain the following parameter values: KmsKeyId - The AWS KMS key identifier for the key to use to encrypt the copy of the cluster snapshot in the destination AWS Region. This is the same identifier for both the CopyDBClusterSnapshot action that is called in the destination AWS Region, and the action contained in the presigned URL. DestinationRegion - The name of the AWS Region that the DB cluster snapshot will be created in. SourceDBClusterSnapshotIdentifier - The cluster snapshot identifier for the encrypted cluster snapshot to be copied. This identifier must be in the Amazon Resource Name (ARN) format for the source AWS Region. For example, if you are copying an encrypted cluster snapshot from the us-west-2 AWS Region, then your SourceDBClusterSnapshotIdentifier looks like the following example: arn:aws:rds:us-west-2:123456789012:cluster-snapshot:my-cluster-snapshot-20161115. ", + "CopyTags": "Set to true to copy all tags from the source cluster snapshot to the target cluster snapshot, and otherwise false. The default is false.", + "KmsKeyId": "The AWS KMS key ID for an encrypted cluster snapshot. The AWS KMS key ID is the Amazon Resource Name (ARN), AWS KMS key identifier, or the AWS KMS key alias for the AWS KMS encryption key. If you copy an encrypted cluster snapshot from your AWS account, you can specify a value for KmsKeyId to encrypt the copy with a new AWS KMS encryption key. If you don't specify a value for KmsKeyId, then the copy of the cluster snapshot is encrypted with the same AWS KMS key as the source cluster snapshot. If you copy an encrypted cluster snapshot that is shared from another AWS account, then you must specify a value for KmsKeyId. To copy an encrypted cluster snapshot to another AWS Region, set KmsKeyId to the AWS KMS key ID that you want to use to encrypt the copy of the cluster snapshot in the destination Region. AWS KMS encryption keys are specific to the AWS Region that they are created in, and you can't use encryption keys from one Region in another Region. If you copy an unencrypted cluster snapshot and specify a value for the KmsKeyId parameter, an error is returned." +} +""" +CopyDBClusterSnapshot(args) = docdb("CopyDBClusterSnapshot", args) + +""" + ModifyDBCluster() + +Modifies a setting for an Amazon DocumentDB cluster. You can change one or more database configuration parameters by specifying these parameters and the new values in the request. + +Required Parameters +{ + "DBClusterIdentifier": "The cluster identifier for the cluster that is being modified. This parameter is not case sensitive. Constraints: Must match the identifier of an existing DBCluster. " +} + +Optional Parameters +{ + "PreferredMaintenanceWindow": "The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC). Format: ddd:hh24:mi-ddd:hh24:mi The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region, occurring on a random day of the week. Valid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun Constraints: Minimum 30-minute window.", + "BackupRetentionPeriod": "The number of days for which automated backups are retained. You must specify a minimum value of 1. Default: 1 Constraints: Must be a value from 1 to 35. ", + "PreferredBackupWindow": "The daily time range during which automated backups are created if automated backups are enabled, using the BackupRetentionPeriod parameter. The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region. Constraints: Must be in the format hh24:mi-hh24:mi. Must be in Universal Coordinated Time (UTC). Must not conflict with the preferred maintenance window. Must be at least 30 minutes. ", + "EngineVersion": "The version number of the database engine to which you want to upgrade. Changing this parameter results in an outage. The change is applied during the next maintenance window unless the ApplyImmediately parameter is set to true.", + "DBClusterParameterGroupName": "The name of the cluster parameter group to use for the cluster.", + "MasterUserPassword": "The password for the master database user. This password can contain any printable ASCII character except forward slash (/), double quote (\"), or the \"at\" symbol (@). Constraints: Must contain from 8 to 100 characters.", + "Port": "The port number on which the cluster accepts connections. Constraints: Must be a value from 1150 to 65535. Default: The same port as the original cluster.", + "NewDBClusterIdentifier": "The new cluster identifier for the cluster when renaming a cluster. This value is stored as a lowercase string. Constraints: Must contain from 1 to 63 letters, numbers, or hyphens. The first character must be a letter. Cannot end with a hyphen or contain two consecutive hyphens. Example: my-cluster2 ", + "CloudwatchLogsExportConfiguration": "The configuration setting for the log types to be enabled for export to Amazon CloudWatch Logs for a specific instance or cluster. The EnableLogTypes and DisableLogTypes arrays determine which logs are exported (or not exported) to CloudWatch Logs.", + "ApplyImmediately": "A value that specifies whether the changes in this request and any pending changes are asynchronously applied as soon as possible, regardless of the PreferredMaintenanceWindow setting for the cluster. If this parameter is set to false, changes to the cluster are applied during the next maintenance window. The ApplyImmediately parameter affects only the NewDBClusterIdentifier and MasterUserPassword values. If you set this parameter value to false, the changes to the NewDBClusterIdentifier and MasterUserPassword values are applied during the next maintenance window. All other changes are applied immediately, regardless of the value of the ApplyImmediately parameter. Default: false ", + "VpcSecurityGroupIds": "A list of virtual private cloud (VPC) security groups that the cluster will belong to.", + "DeletionProtection": "Specifies whether this cluster can be deleted. If DeletionProtection is enabled, the cluster cannot be deleted unless it is modified and DeletionProtection is disabled. DeletionProtection protects clusters from being accidentally deleted." +} +""" +ModifyDBCluster(args) = docdb("ModifyDBCluster", args) + +""" + DescribeCertificates() + +Returns a list of certificate authority (CA) certificates provided by Amazon DocumentDB for this AWS account. + +Optional Parameters +{ + "MaxRecords": "The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved. Default: 100 Constraints: Minimum: 20 Maximum: 100 ", + "Marker": "An optional pagination token provided by a previous DescribeCertificates request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.", + "Filters": "This parameter is not currently supported.", + "CertificateIdentifier": "The user-supplied certificate identifier. If this parameter is specified, information for only the specified certificate is returned. If this parameter is omitted, a list of up to MaxRecords certificates is returned. This parameter is not case sensitive. Constraints Must match an existing CertificateIdentifier. " +} +""" +DescribeCertificates() = docdb("DescribeCertificates") +DescribeCertificates(args) = docdb("DescribeCertificates", args) + +""" + DescribeDBClusters() + +Returns information about provisioned Amazon DocumentDB clusters. This API operation supports pagination. For certain management features such as cluster and instance lifecycle management, Amazon DocumentDB leverages operational technology that is shared with Amazon RDS and Amazon Neptune. Use the filterName=engine,Values=docdb filter parameter to return only Amazon DocumentDB clusters. + +Optional Parameters +{ + "MaxRecords": " The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token (marker) is included in the response so that the remaining results can be retrieved. Default: 100 Constraints: Minimum 20, maximum 100.", + "Marker": "An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.", + "DBClusterIdentifier": "The user-provided cluster identifier. If this parameter is specified, information from only the specific cluster is returned. This parameter isn't case sensitive. Constraints: If provided, must match an existing DBClusterIdentifier. ", + "Filters": "A filter that specifies one or more clusters to describe. Supported filters: db-cluster-id - Accepts cluster identifiers and cluster Amazon Resource Names (ARNs). The results list only includes information about the clusters identified by these ARNs. " +} +""" +DescribeDBClusters() = docdb("DescribeDBClusters") +DescribeDBClusters(args) = docdb("DescribeDBClusters", args) + +""" + DeleteDBClusterSnapshot() + +Deletes a cluster snapshot. If the snapshot is being copied, the copy operation is terminated. The cluster snapshot must be in the available state to be deleted. + +Required Parameters +{ + "DBClusterSnapshotIdentifier": "The identifier of the cluster snapshot to delete. Constraints: Must be the name of an existing cluster snapshot in the available state." +} +""" +DeleteDBClusterSnapshot(args) = docdb("DeleteDBClusterSnapshot", args) + +""" + DescribeDBClusterSnapshots() + +Returns information about cluster snapshots. This API operation supports pagination. + +Optional Parameters +{ + "MaxRecords": " The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token (marker) is included in the response so that the remaining results can be retrieved. Default: 100 Constraints: Minimum 20, maximum 100.", + "Marker": "An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.", + "IncludeShared": "Set to true to include shared manual cluster snapshots from other AWS accounts that this AWS account has been given permission to copy or restore, and otherwise false. The default is false.", + "DBClusterSnapshotIdentifier": "A specific cluster snapshot identifier to describe. This parameter can't be used with the DBClusterIdentifier parameter. This value is stored as a lowercase string. Constraints: If provided, must match the identifier of an existing DBClusterSnapshot. If this identifier is for an automated snapshot, the SnapshotType parameter must also be specified. ", + "DBClusterIdentifier": "The ID of the cluster to retrieve the list of cluster snapshots for. This parameter can't be used with the DBClusterSnapshotIdentifier parameter. This parameter is not case sensitive. Constraints: If provided, must match the identifier of an existing DBCluster. ", + "SnapshotType": "The type of cluster snapshots to be returned. You can specify one of the following values: automated - Return all cluster snapshots that Amazon DocumentDB has automatically created for your AWS account. manual - Return all cluster snapshots that you have manually created for your AWS account. shared - Return all manual cluster snapshots that have been shared to your AWS account. public - Return all cluster snapshots that have been marked as public. If you don't specify a SnapshotType value, then both automated and manual cluster snapshots are returned. You can include shared cluster snapshots with these results by setting the IncludeShared parameter to true. You can include public cluster snapshots with these results by setting the IncludePublic parameter to true. The IncludeShared and IncludePublic parameters don't apply for SnapshotType values of manual or automated. The IncludePublic parameter doesn't apply when SnapshotType is set to shared. The IncludeShared parameter doesn't apply when SnapshotType is set to public.", + "Filters": "This parameter is not currently supported.", + "IncludePublic": "Set to true to include manual cluster snapshots that are public and can be copied or restored by any AWS account, and otherwise false. The default is false." +} +""" +DescribeDBClusterSnapshots() = docdb("DescribeDBClusterSnapshots") +DescribeDBClusterSnapshots(args) = docdb("DescribeDBClusterSnapshots", args) + +""" + DescribeDBSubnetGroups() + +Returns a list of DBSubnetGroup descriptions. If a DBSubnetGroupName is specified, the list will contain only the descriptions of the specified DBSubnetGroup. + +Optional Parameters +{ + "MaxRecords": " The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token (marker) is included in the response so that the remaining results can be retrieved. Default: 100 Constraints: Minimum 20, maximum 100.", + "DBSubnetGroupName": "The name of the subnet group to return details for.", + "Marker": "An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.", + "Filters": "This parameter is not currently supported." +} +""" +DescribeDBSubnetGroups() = docdb("DescribeDBSubnetGroups") +DescribeDBSubnetGroups(args) = docdb("DescribeDBSubnetGroups", args) + +""" + ModifyDBClusterParameterGroup() + + Modifies the parameters of a cluster parameter group. To modify more than one parameter, submit a list of the following: ParameterName, ParameterValue, and ApplyMethod. A maximum of 20 parameters can be modified in a single request. Changes to dynamic parameters are applied immediately. Changes to static parameters require a reboot or maintenance window before the change can take effect. After you create a cluster parameter group, you should wait at least 5 minutes before creating your first cluster that uses that cluster parameter group as the default parameter group. This allows Amazon DocumentDB to fully complete the create action before the parameter group is used as the default for a new cluster. This step is especially important for parameters that are critical when creating the default database for a cluster, such as the character set for the default database defined by the character_set_database parameter. + +Required Parameters +{ + "Parameters": "A list of parameters in the cluster parameter group to modify.", + "DBClusterParameterGroupName": "The name of the cluster parameter group to modify." +} +""" +ModifyDBClusterParameterGroup(args) = docdb("ModifyDBClusterParameterGroup", args) + +""" + RestoreDBClusterFromSnapshot() + +Creates a new cluster from a snapshot or cluster snapshot. If a snapshot is specified, the target cluster is created from the source DB snapshot with a default configuration and default security group. If a cluster snapshot is specified, the target cluster is created from the source cluster restore point with the same configuration as the original source DB cluster, except that the new cluster is created with the default security group. + +Required Parameters +{ + "DBClusterIdentifier": "The name of the cluster to create from the snapshot or cluster snapshot. This parameter isn't case sensitive. Constraints: Must contain from 1 to 63 letters, numbers, or hyphens. The first character must be a letter. Cannot end with a hyphen or contain two consecutive hyphens. Example: my-snapshot-id ", + "Engine": "The database engine to use for the new cluster. Default: The same as source. Constraint: Must be compatible with the engine of the source.", + "SnapshotIdentifier": "The identifier for the snapshot or cluster snapshot to restore from. You can use either the name or the Amazon Resource Name (ARN) to specify a cluster snapshot. However, you can use only the ARN to specify a snapshot. Constraints: Must match the identifier of an existing snapshot. " +} + +Optional Parameters +{ + "DBSubnetGroupName": "The name of the subnet group to use for the new cluster. Constraints: If provided, must match the name of an existing DBSubnetGroup. Example: mySubnetgroup ", + "EnableCloudwatchLogsExports": "A list of log types that must be enabled for exporting to Amazon CloudWatch Logs.", + "Tags": "The tags to be assigned to the restored cluster.", + "DeletionProtection": "Specifies whether this cluster can be deleted. If DeletionProtection is enabled, the cluster cannot be deleted unless it is modified and DeletionProtection is disabled. DeletionProtection protects clusters from being accidentally deleted.", + "EngineVersion": "The version of the database engine to use for the new cluster.", + "VpcSecurityGroupIds": "A list of virtual private cloud (VPC) security groups that the new cluster will belong to.", + "KmsKeyId": "The AWS KMS key identifier to use when restoring an encrypted cluster from a DB snapshot or cluster snapshot. The AWS KMS key identifier is the Amazon Resource Name (ARN) for the AWS KMS encryption key. If you are restoring a cluster with the same AWS account that owns the AWS KMS encryption key used to encrypt the new cluster, then you can use the AWS KMS key alias instead of the ARN for the AWS KMS encryption key. If you do not specify a value for the KmsKeyId parameter, then the following occurs: If the snapshot or cluster snapshot in SnapshotIdentifier is encrypted, then the restored cluster is encrypted using the AWS KMS key that was used to encrypt the snapshot or the cluster snapshot. If the snapshot or the cluster snapshot in SnapshotIdentifier is not encrypted, then the restored DB cluster is not encrypted. ", + "AvailabilityZones": "Provides the list of Amazon EC2 Availability Zones that instances in the restored DB cluster can be created in.", + "Port": "The port number on which the new cluster accepts connections. Constraints: Must be a value from 1150 to 65535. Default: The same port as the original cluster." +} +""" +RestoreDBClusterFromSnapshot(args) = docdb("RestoreDBClusterFromSnapshot", args) + +""" + RestoreDBClusterToPointInTime() + +Restores a cluster to an arbitrary point in time. Users can restore to any point in time before LatestRestorableTime for up to BackupRetentionPeriod days. The target cluster is created from the source cluster with the same configuration as the original cluster, except that the new cluster is created with the default security group. + +Required Parameters +{ + "DBClusterIdentifier": "The name of the new cluster to be created. Constraints: Must contain from 1 to 63 letters, numbers, or hyphens. The first character must be a letter. Cannot end with a hyphen or contain two consecutive hyphens. ", + "SourceDBClusterIdentifier": "The identifier of the source cluster from which to restore. Constraints: Must match the identifier of an existing DBCluster. " +} + +Optional Parameters +{ + "DBSubnetGroupName": "The subnet group name to use for the new cluster. Constraints: If provided, must match the name of an existing DBSubnetGroup. Example: mySubnetgroup ", + "EnableCloudwatchLogsExports": "A list of log types that must be enabled for exporting to Amazon CloudWatch Logs.", + "UseLatestRestorableTime": "A value that is set to true to restore the cluster to the latest restorable backup time, and false otherwise. Default: false Constraints: Cannot be specified if the RestoreToTime parameter is provided.", + "Tags": "The tags to be assigned to the restored cluster.", + "DeletionProtection": "Specifies whether this cluster can be deleted. If DeletionProtection is enabled, the cluster cannot be deleted unless it is modified and DeletionProtection is disabled. DeletionProtection protects clusters from being accidentally deleted.", + "VpcSecurityGroupIds": "A list of VPC security groups that the new cluster belongs to.", + "KmsKeyId": "The AWS KMS key identifier to use when restoring an encrypted cluster from an encrypted cluster. The AWS KMS key identifier is the Amazon Resource Name (ARN) for the AWS KMS encryption key. If you are restoring a cluster with the same AWS account that owns the AWS KMS encryption key used to encrypt the new cluster, then you can use the AWS KMS key alias instead of the ARN for the AWS KMS encryption key. You can restore to a new cluster and encrypt the new cluster with an AWS KMS key that is different from the AWS KMS key used to encrypt the source cluster. The new DB cluster is encrypted with the AWS KMS key identified by the KmsKeyId parameter. If you do not specify a value for the KmsKeyId parameter, then the following occurs: If the cluster is encrypted, then the restored cluster is encrypted using the AWS KMS key that was used to encrypt the source cluster. If the cluster is not encrypted, then the restored cluster is not encrypted. If DBClusterIdentifier refers to a cluster that is not encrypted, then the restore request is rejected.", + "Port": "The port number on which the new cluster accepts connections. Constraints: Must be a value from 1150 to 65535. Default: The default port for the engine.", + "RestoreToTime": "The date and time to restore the cluster to. Valid values: A time in Universal Coordinated Time (UTC) format. Constraints: Must be before the latest restorable time for the instance. Must be specified if the UseLatestRestorableTime parameter is not provided. Cannot be specified if the UseLatestRestorableTime parameter is true. Cannot be specified if the RestoreType parameter is copy-on-write. Example: 2015-03-07T23:45:00Z " +} +""" +RestoreDBClusterToPointInTime(args) = docdb("RestoreDBClusterToPointInTime", args) + +""" + DeleteDBCluster() + +Deletes a previously provisioned cluster. When you delete a cluster, all automated backups for that cluster are deleted and can't be recovered. Manual DB cluster snapshots of the specified cluster are not deleted. + +Required Parameters +{ + "DBClusterIdentifier": "The cluster identifier for the cluster to be deleted. This parameter isn't case sensitive. Constraints: Must match an existing DBClusterIdentifier. " +} + +Optional Parameters +{ + "SkipFinalSnapshot": " Determines whether a final cluster snapshot is created before the cluster is deleted. If true is specified, no cluster snapshot is created. If false is specified, a cluster snapshot is created before the DB cluster is deleted. If SkipFinalSnapshot is false, you must specify a FinalDBSnapshotIdentifier parameter. Default: false ", + "FinalDBSnapshotIdentifier": " The cluster snapshot identifier of the new cluster snapshot created when SkipFinalSnapshot is set to false. Specifying this parameter and also setting the SkipFinalShapshot parameter to true results in an error. Constraints: Must be from 1 to 255 letters, numbers, or hyphens. The first character must be a letter. Cannot end with a hyphen or contain two consecutive hyphens. " +} +""" +DeleteDBCluster(args) = docdb("DeleteDBCluster", args) + +""" + CreateDBInstance() + +Creates a new instance. + +Required Parameters +{ + "DBInstanceIdentifier": "The instance identifier. This parameter is stored as a lowercase string. Constraints: Must contain from 1 to 63 letters, numbers, or hyphens. The first character must be a letter. Cannot end with a hyphen or contain two consecutive hyphens. Example: mydbinstance ", + "Engine": "The name of the database engine to be used for this instance. Valid value: docdb ", + "DBClusterIdentifier": "The identifier of the cluster that the instance will belong to.", + "DBInstanceClass": "The compute and memory capacity of the instance; for example, db.r5.large. " +} + +Optional Parameters +{ + "PromotionTier": "A value that specifies the order in which an Amazon DocumentDB replica is promoted to the primary instance after a failure of the existing primary instance. Default: 1 Valid values: 0-15", + "Tags": "The tags to be assigned to the instance. You can assign up to 10 tags to an instance.", + "AvailabilityZone": " The Amazon EC2 Availability Zone that the instance is created in. Default: A random, system-chosen Availability Zone in the endpoint's AWS Region. Example: us-east-1d Constraint: The AvailabilityZone parameter can't be specified if the MultiAZ parameter is set to true. The specified Availability Zone must be in the same AWS Region as the current endpoint. ", + "PreferredMaintenanceWindow": "The time range each week during which system maintenance can occur, in Universal Coordinated Time (UTC). Format: ddd:hh24:mi-ddd:hh24:mi The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region, occurring on a random day of the week. Valid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun Constraints: Minimum 30-minute window.", + "AutoMinorVersionUpgrade": "Indicates that minor engine upgrades are applied automatically to the instance during the maintenance window. Default: true " +} +""" +CreateDBInstance(args) = docdb("CreateDBInstance", args) + +""" + DescribeDBClusterParameterGroups() + +Returns a list of DBClusterParameterGroup descriptions. If a DBClusterParameterGroupName parameter is specified, the list contains only the description of the specified cluster parameter group. + +Optional Parameters +{ + "MaxRecords": " The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token (marker) is included in the response so that the remaining results can be retrieved. Default: 100 Constraints: Minimum 20, maximum 100.", + "Marker": "An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.", + "DBClusterParameterGroupName": "The name of a specific cluster parameter group to return details for. Constraints: If provided, must match the name of an existing DBClusterParameterGroup. ", + "Filters": "This parameter is not currently supported." +} +""" +DescribeDBClusterParameterGroups() = docdb("DescribeDBClusterParameterGroups") +DescribeDBClusterParameterGroups(args) = docdb("DescribeDBClusterParameterGroups", args) + +""" + ApplyPendingMaintenanceAction() + +Applies a pending maintenance action to a resource (for example, to a DB instance). + +Required Parameters +{ + "ApplyAction": "The pending maintenance action to apply to this resource. Valid values: system-update, db-upgrade ", + "OptInType": "A value that specifies the type of opt-in request or undoes an opt-in request. An opt-in request of type immediate can't be undone. Valid values: immediate - Apply the maintenance action immediately. next-maintenance - Apply the maintenance action during the next maintenance window for the resource. undo-opt-in - Cancel any existing next-maintenance opt-in requests. ", + "ResourceIdentifier": "The Amazon Resource Name (ARN) of the resource that the pending maintenance action applies to." +} +""" +ApplyPendingMaintenanceAction(args) = docdb("ApplyPendingMaintenanceAction", args) + +""" + CopyDBClusterParameterGroup() + +Copies the specified cluster parameter group. + +Required Parameters +{ + "SourceDBClusterParameterGroupIdentifier": "The identifier or Amazon Resource Name (ARN) for the source cluster parameter group. Constraints: Must specify a valid cluster parameter group. If the source cluster parameter group is in the same AWS Region as the copy, specify a valid parameter group identifier; for example, my-db-cluster-param-group, or a valid ARN. If the source parameter group is in a different AWS Region than the copy, specify a valid cluster parameter group ARN; for example, arn:aws:rds:us-east-1:123456789012:cluster-pg:custom-cluster-group1. ", + "TargetDBClusterParameterGroupDescription": "A description for the copied cluster parameter group.", + "TargetDBClusterParameterGroupIdentifier": "The identifier for the copied cluster parameter group. Constraints: Cannot be null, empty, or blank. Must contain from 1 to 255 letters, numbers, or hyphens. The first character must be a letter. Cannot end with a hyphen or contain two consecutive hyphens. Example: my-cluster-param-group1 " +} + +Optional Parameters +{ + "Tags": "The tags that are to be assigned to the parameter group." +} +""" +CopyDBClusterParameterGroup(args) = docdb("CopyDBClusterParameterGroup", args) + +""" + ModifyDBSubnetGroup() + +Modifies an existing subnet group. subnet groups must contain at least one subnet in at least two Availability Zones in the AWS Region. + +Required Parameters +{ + "DBSubnetGroupName": "The name for the subnet group. This value is stored as a lowercase string. You can't modify the default subnet group. Constraints: Must match the name of an existing DBSubnetGroup. Must not be default. Example: mySubnetgroup ", + "SubnetIds": "The Amazon EC2 subnet IDs for the subnet group." +} + +Optional Parameters +{ + "DBSubnetGroupDescription": "The description for the subnet group." +} +""" +ModifyDBSubnetGroup(args) = docdb("ModifyDBSubnetGroup", args) + +""" + DescribePendingMaintenanceActions() + +Returns a list of resources (for example, instances) that have at least one pending maintenance action. + +Optional Parameters +{ + "Marker": "An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.", + "MaxRecords": " The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token (marker) is included in the response so that the remaining results can be retrieved. Default: 100 Constraints: Minimum 20, maximum 100.", + "Filters": "A filter that specifies one or more resources to return pending maintenance actions for. Supported filters: db-cluster-id - Accepts cluster identifiers and cluster Amazon Resource Names (ARNs). The results list includes only pending maintenance actions for the clusters identified by these ARNs. db-instance-id - Accepts instance identifiers and instance ARNs. The results list includes only pending maintenance actions for the DB instances identified by these ARNs. ", + "ResourceIdentifier": "The ARN of a resource to return pending maintenance actions for." +} +""" +DescribePendingMaintenanceActions() = docdb("DescribePendingMaintenanceActions") +DescribePendingMaintenanceActions(args) = docdb("DescribePendingMaintenanceActions", args) diff --git a/src/services/dynamodb.jl b/src/services/dynamodb.jl new file mode 100644 index 0000000000..a153250a6c --- /dev/null +++ b/src/services/dynamodb.jl @@ -0,0 +1,699 @@ +include("../AWSServices.jl") +using .AWSServices: dynamodb + +""" + RestoreTableToPointInTime() + +Restores the specified table to the specified point in time within EarliestRestorableDateTime and LatestRestorableDateTime. You can restore your table to any point in time during the last 35 days. Any number of users can execute up to 4 concurrent restores (any type of restore) in a given account. When you restore using point in time recovery, DynamoDB restores your table data to the state based on the selected date and time (day:hour:minute:second) to a new table. Along with data, the following are also included on the new restored table using point in time recovery: Global secondary indexes (GSIs) Local secondary indexes (LSIs) Provisioned read and write capacity Encryption settings All these settings come from the current settings of the source table at the time of restore. You must manually set up the following on the restored table: Auto scaling policies IAM policies Amazon CloudWatch metrics and alarms Tags Stream settings Time to Live (TTL) settings Point in time recovery settings + +Required Parameters +{ + "TargetTableName": "The name of the new table to which it must be restored to." +} + +Optional Parameters +{ + "ProvisionedThroughputOverride": "Provisioned throughput settings for the restored table.", + "SSESpecificationOverride": "The new server-side encryption settings for the restored table.", + "UseLatestRestorableTime": "Restore the table to the latest possible time. LatestRestorableDateTime is typically 5 minutes before the current time. ", + "SourceTableName": "Name of the source table that is being restored.", + "BillingModeOverride": "The billing mode of the restored table.", + "GlobalSecondaryIndexOverride": "List of global secondary indexes for the restored table. The indexes provided should match existing secondary indexes. You can choose to exclude some or all of the indexes at the time of restore.", + "SourceTableArn": "The DynamoDB table that will be restored. This value is an Amazon Resource Name (ARN).", + "LocalSecondaryIndexOverride": "List of local secondary indexes for the restored table. The indexes provided should match existing secondary indexes. You can choose to exclude some or all of the indexes at the time of restore.", + "RestoreDateTime": "Time in the past to restore the table to." +} +""" +RestoreTableToPointInTime(args) = dynamodb("RestoreTableToPointInTime", args) + +""" + CreateGlobalTable() + +Creates a global table from an existing table. A global table creates a replication relationship between two or more DynamoDB tables with the same table name in the provided Regions. This method only applies to Version 2017.11.29 of global tables. If you want to add a new replica table to a global table, each of the following conditions must be true: The table must have the same primary key as all of the other replicas. The table must have the same name as all of the other replicas. The table must have DynamoDB Streams enabled, with the stream containing both the new and the old images of the item. None of the replica tables in the global table can contain any data. If global secondary indexes are specified, then the following conditions must also be met: The global secondary indexes must have the same name. The global secondary indexes must have the same hash key and sort key (if present). Write capacity settings should be set consistently across your replica tables and secondary indexes. DynamoDB strongly recommends enabling auto scaling to manage the write capacity settings for all of your global tables replicas and indexes. If you prefer to manage write capacity settings manually, you should provision equal replicated write capacity units to your replica tables. You should also provision equal replicated write capacity units to matching secondary indexes across your global table. + +Required Parameters +{ + "ReplicationGroup": "The Regions where the global table needs to be created.", + "GlobalTableName": "The global table name." +} +""" +CreateGlobalTable(args) = dynamodb("CreateGlobalTable", args) + +""" + DeleteItem() + +Deletes a single item in a table by primary key. You can perform a conditional delete operation that deletes the item if it exists, or if it has an expected attribute value. In addition to deleting an item, you can also return the item's attribute values in the same operation, using the ReturnValues parameter. Unless you specify conditions, the DeleteItem is an idempotent operation; running it multiple times on the same item or attribute does not result in an error response. Conditional deletes are useful for deleting items only if specific conditions are met. If those conditions are met, DynamoDB performs the delete. Otherwise, the item is not deleted. + +Required Parameters +{ + "TableName": "The name of the table from which to delete the item.", + "Key": "A map of attribute names to AttributeValue objects, representing the primary key of the item to delete. For the primary key, you must provide all of the attributes. For example, with a simple primary key, you only need to provide a value for the partition key. For a composite primary key, you must provide values for both the partition key and the sort key." +} + +Optional Parameters +{ + "ReturnValues": "Use ReturnValues if you want to get the item attributes as they appeared before they were deleted. For DeleteItem, the valid values are: NONE - If ReturnValues is not specified, or if its value is NONE, then nothing is returned. (This setting is the default for ReturnValues.) ALL_OLD - The content of the old item is returned. The ReturnValues parameter is used by several DynamoDB operations; however, DeleteItem does not recognize any values other than NONE or ALL_OLD. ", + "ConditionExpression": "A condition that must be satisfied in order for a conditional DeleteItem to succeed. An expression can contain any of the following: Functions: attribute_exists | attribute_not_exists | attribute_type | contains | begins_with | size These function names are case-sensitive. Comparison operators: = | <> | < | > | <= | >= | BETWEEN | IN Logical operators: AND | OR | NOT For more information about condition expressions, see Condition Expressions in the Amazon DynamoDB Developer Guide.", + "ExpressionAttributeValues": "One or more values that can be substituted in an expression. Use the : (colon) character in an expression to dereference an attribute value. For example, suppose that you wanted to check whether the value of the ProductStatus attribute was one of the following: Available | Backordered | Discontinued You would first need to specify ExpressionAttributeValues as follows: { \":avail\":{\"S\":\"Available\"}, \":back\":{\"S\":\"Backordered\"}, \":disc\":{\"S\":\"Discontinued\"} } You could then use these values in an expression, such as this: ProductStatus IN (:avail, :back, :disc) For more information on expression attribute values, see Condition Expressions in the Amazon DynamoDB Developer Guide.", + "ReturnConsumedCapacity": "", + "ReturnItemCollectionMetrics": "Determines whether item collection metrics are returned. If set to SIZE, the response includes statistics about item collections, if any, that were modified during the operation are returned in the response. If set to NONE (the default), no statistics are returned.", + "ConditionalOperator": "This is a legacy parameter. Use ConditionExpression instead. For more information, see ConditionalOperator in the Amazon DynamoDB Developer Guide.", + "ExpressionAttributeNames": "One or more substitution tokens for attribute names in an expression. The following are some use cases for using ExpressionAttributeNames: To access an attribute whose name conflicts with a DynamoDB reserved word. To create a placeholder for repeating occurrences of an attribute name in an expression. To prevent special characters in an attribute name from being misinterpreted in an expression. Use the # character in an expression to dereference an attribute name. For example, consider the following attribute name: Percentile The name of this attribute conflicts with a reserved word, so it cannot be used directly in an expression. (For the complete list of reserved words, see Reserved Words in the Amazon DynamoDB Developer Guide). To work around this, you could specify the following for ExpressionAttributeNames: {\"#P\":\"Percentile\"} You could then use this substitution in an expression, as in this example: #P = :val Tokens that begin with the : character are expression attribute values, which are placeholders for the actual value at runtime. For more information on expression attribute names, see Specifying Item Attributes in the Amazon DynamoDB Developer Guide.", + "Expected": "This is a legacy parameter. Use ConditionExpression instead. For more information, see Expected in the Amazon DynamoDB Developer Guide." +} +""" +DeleteItem(args) = dynamodb("DeleteItem", args) + +""" + ListGlobalTables() + +Lists all global tables that have a replica in the specified Region. This method only applies to Version 2017.11.29 of global tables. + +Optional Parameters +{ + "ExclusiveStartGlobalTableName": "The first global table name that this operation will evaluate.", + "RegionName": "Lists the global tables in a specific Region.", + "Limit": "The maximum number of table names to return, if the parameter is not specified DynamoDB defaults to 100. If the number of global tables DynamoDB finds reaches this limit, it stops the operation and returns the table names collected up to that point, with a table name in the LastEvaluatedGlobalTableName to apply in a subsequent operation to the ExclusiveStartGlobalTableName parameter." +} +""" +ListGlobalTables() = dynamodb("ListGlobalTables") +ListGlobalTables(args) = dynamodb("ListGlobalTables", args) + +""" + DescribeGlobalTable() + +Returns information about the specified global table. This method only applies to Version 2017.11.29 of global tables. + +Required Parameters +{ + "GlobalTableName": "The name of the global table." +} +""" +DescribeGlobalTable(args) = dynamodb("DescribeGlobalTable", args) + +""" + UpdateGlobalTableSettings() + +Updates settings for a global table. + +Required Parameters +{ + "GlobalTableName": "The name of the global table" +} + +Optional Parameters +{ + "GlobalTableProvisionedWriteCapacityAutoScalingSettingsUpdate": "Auto scaling settings for managing provisioned write capacity for the global table.", + "ReplicaSettingsUpdate": "Represents the settings for a global table in a Region that will be modified.", + "GlobalTableBillingMode": "The billing mode of the global table. If GlobalTableBillingMode is not specified, the global table defaults to PROVISIONED capacity billing mode. PROVISIONED - We recommend using PROVISIONED for predictable workloads. PROVISIONED sets the billing mode to Provisioned Mode. PAY_PER_REQUEST - We recommend using PAY_PER_REQUEST for unpredictable workloads. PAY_PER_REQUEST sets the billing mode to On-Demand Mode. ", + "GlobalTableProvisionedWriteCapacityUnits": "The maximum number of writes consumed per second before DynamoDB returns a ThrottlingException. ", + "GlobalTableGlobalSecondaryIndexSettingsUpdate": "Represents the settings of a global secondary index for a global table that will be modified." +} +""" +UpdateGlobalTableSettings(args) = dynamodb("UpdateGlobalTableSettings", args) + +""" + UpdateTimeToLive() + +The UpdateTimeToLive method enables or disables Time to Live (TTL) for the specified table. A successful UpdateTimeToLive call returns the current TimeToLiveSpecification. It can take up to one hour for the change to fully process. Any additional UpdateTimeToLive calls for the same table during this one hour duration result in a ValidationException. TTL compares the current time in epoch time format to the time stored in the TTL attribute of an item. If the epoch time value stored in the attribute is less than the current time, the item is marked as expired and subsequently deleted. The epoch time format is the number of seconds elapsed since 12:00:00 AM January 1, 1970 UTC. DynamoDB deletes expired items on a best-effort basis to ensure availability of throughput for other data operations. DynamoDB typically deletes expired items within two days of expiration. The exact duration within which an item gets deleted after expiration is specific to the nature of the workload. Items that have expired and not been deleted will still show up in reads, queries, and scans. As items are deleted, they are removed from any local secondary index and global secondary index immediately in the same eventually consistent way as a standard delete operation. For more information, see Time To Live in the Amazon DynamoDB Developer Guide. + +Required Parameters +{ + "TableName": "The name of the table to be configured.", + "TimeToLiveSpecification": "Represents the settings used to enable or disable Time to Live for the specified table." +} +""" +UpdateTimeToLive(args) = dynamodb("UpdateTimeToLive", args) + +""" + DescribeGlobalTableSettings() + +Describes Region-specific settings for a global table. This method only applies to Version 2017.11.29 of global tables. + +Required Parameters +{ + "GlobalTableName": "The name of the global table to describe." +} +""" +DescribeGlobalTableSettings(args) = dynamodb("DescribeGlobalTableSettings", args) + +""" + DescribeBackup() + +Describes an existing backup of a table. You can call DescribeBackup at a maximum rate of 10 times per second. + +Required Parameters +{ + "BackupArn": "The Amazon Resource Name (ARN) associated with the backup." +} +""" +DescribeBackup(args) = dynamodb("DescribeBackup", args) + +""" + DeleteTable() + +The DeleteTable operation deletes a table and all of its items. After a DeleteTable request, the specified table is in the DELETING state until DynamoDB completes the deletion. If the table is in the ACTIVE state, you can delete it. If a table is in CREATING or UPDATING states, then DynamoDB returns a ResourceInUseException. If the specified table does not exist, DynamoDB returns a ResourceNotFoundException. If table is already in the DELETING state, no error is returned. DynamoDB might continue to accept data read and write operations, such as GetItem and PutItem, on a table in the DELETING state until the table deletion is complete. When you delete a table, any indexes on that table are also deleted. If you have DynamoDB Streams enabled on the table, then the corresponding stream on that table goes into the DISABLED state, and the stream is automatically deleted after 24 hours. Use the DescribeTable action to check the status of the table. + +Required Parameters +{ + "TableName": "The name of the table to delete." +} +""" +DeleteTable(args) = dynamodb("DeleteTable", args) + +""" + DescribeTableReplicaAutoScaling() + +Describes auto scaling settings across replicas of the global table at once. This method only applies to Version 2019.11.21 of global tables. + +Required Parameters +{ + "TableName": "The name of the table." +} +""" +DescribeTableReplicaAutoScaling(args) = dynamodb("DescribeTableReplicaAutoScaling", args) + +""" + Query() + +The Query operation finds items based on primary key values. You can query any table or secondary index that has a composite primary key (a partition key and a sort key). Use the KeyConditionExpression parameter to provide a specific value for the partition key. The Query operation will return all of the items from the table or index with that partition key value. You can optionally narrow the scope of the Query operation by specifying a sort key value and a comparison operator in KeyConditionExpression. To further refine the Query results, you can optionally provide a FilterExpression. A FilterExpression determines which items within the results should be returned to you. All of the other results are discarded. A Query operation always returns a result set. If no matching items are found, the result set will be empty. Queries that do not return results consume the minimum number of read capacity units for that type of read operation. DynamoDB calculates the number of read capacity units consumed based on item size, not on the amount of data that is returned to an application. The number of capacity units consumed will be the same whether you request all of the attributes (the default behavior) or just some of them (using a projection expression). The number will also be the same whether or not you use a FilterExpression. Query results are always sorted by the sort key value. If the data type of the sort key is Number, the results are returned in numeric order; otherwise, the results are returned in order of UTF-8 bytes. By default, the sort order is ascending. To reverse the order, set the ScanIndexForward parameter to false. A single Query operation will read up to the maximum number of items set (if using the Limit parameter) or a maximum of 1 MB of data and then apply any filtering to the results using FilterExpression. If LastEvaluatedKey is present in the response, you will need to paginate the result set. For more information, see Paginating the Results in the Amazon DynamoDB Developer Guide. FilterExpression is applied after a Query finishes, but before the results are returned. A FilterExpression cannot contain partition key or sort key attributes. You need to specify those attributes in the KeyConditionExpression. A Query operation can return an empty result set and a LastEvaluatedKey if all the items read for the page of results are filtered out. You can query a table, a local secondary index, or a global secondary index. For a query on a table or on a local secondary index, you can set the ConsistentRead parameter to true and obtain a strongly consistent result. Global secondary indexes support eventually consistent reads only, so do not specify ConsistentRead when querying a global secondary index. + +Required Parameters +{ + "TableName": "The name of the table containing the requested items." +} + +Optional Parameters +{ + "ScanIndexForward": "Specifies the order for index traversal: If true (default), the traversal is performed in ascending order; if false, the traversal is performed in descending order. Items with the same partition key value are stored in sorted order by sort key. If the sort key data type is Number, the results are stored in numeric order. For type String, the results are stored in order of UTF-8 bytes. For type Binary, DynamoDB treats each byte of the binary data as unsigned. If ScanIndexForward is true, DynamoDB returns the results in the order in which they are stored (by sort key value). This is the default behavior. If ScanIndexForward is false, DynamoDB reads the results in reverse order by sort key value, and then returns the results to the client.", + "AttributesToGet": "This is a legacy parameter. Use ProjectionExpression instead. For more information, see AttributesToGet in the Amazon DynamoDB Developer Guide.", + "Limit": "The maximum number of items to evaluate (not necessarily the number of matching items). If DynamoDB processes the number of items up to the limit while processing the results, it stops the operation and returns the matching values up to that point, and a key in LastEvaluatedKey to apply in a subsequent operation, so that you can pick up where you left off. Also, if the processed dataset size exceeds 1 MB before DynamoDB reaches this limit, it stops the operation and returns the matching values up to the limit, and a key in LastEvaluatedKey to apply in a subsequent operation to continue the operation. For more information, see Query and Scan in the Amazon DynamoDB Developer Guide.", + "ProjectionExpression": "A string that identifies one or more attributes to retrieve from the table. These attributes can include scalars, sets, or elements of a JSON document. The attributes in the expression must be separated by commas. If no attribute names are specified, then all attributes will be returned. If any of the requested attributes are not found, they will not appear in the result. For more information, see Accessing Item Attributes in the Amazon DynamoDB Developer Guide.", + "ConditionalOperator": "This is a legacy parameter. Use FilterExpression instead. For more information, see ConditionalOperator in the Amazon DynamoDB Developer Guide.", + "KeyConditions": "This is a legacy parameter. Use KeyConditionExpression instead. For more information, see KeyConditions in the Amazon DynamoDB Developer Guide.", + "KeyConditionExpression": "The condition that specifies the key values for items to be retrieved by the Query action. The condition must perform an equality test on a single partition key value. The condition can optionally perform one of several comparison tests on a single sort key value. This allows Query to retrieve one item with a given partition key value and sort key value, or several items that have the same partition key value but different sort key values. The partition key equality test is required, and must be specified in the following format: partitionKeyName = :partitionkeyval If you also want to provide a condition for the sort key, it must be combined using AND with the condition for the sort key. Following is an example, using the = comparison operator for the sort key: partitionKeyName = :partitionkeyval AND sortKeyName = :sortkeyval Valid comparisons for the sort key condition are as follows: sortKeyName = :sortkeyval - true if the sort key value is equal to :sortkeyval. sortKeyName < :sortkeyval - true if the sort key value is less than :sortkeyval. sortKeyName <= :sortkeyval - true if the sort key value is less than or equal to :sortkeyval. sortKeyName > :sortkeyval - true if the sort key value is greater than :sortkeyval. sortKeyName >= :sortkeyval - true if the sort key value is greater than or equal to :sortkeyval. sortKeyName BETWEEN :sortkeyval1 AND :sortkeyval2 - true if the sort key value is greater than or equal to :sortkeyval1, and less than or equal to :sortkeyval2. begins_with ( sortKeyName, :sortkeyval ) - true if the sort key value begins with a particular operand. (You cannot use this function with a sort key that is of type Number.) Note that the function name begins_with is case-sensitive. Use the ExpressionAttributeValues parameter to replace tokens such as :partitionval and :sortval with actual values at runtime. You can optionally use the ExpressionAttributeNames parameter to replace the names of the partition key and sort key with placeholder tokens. This option might be necessary if an attribute name conflicts with a DynamoDB reserved word. For example, the following KeyConditionExpression parameter causes an error because Size is a reserved word: Size = :myval To work around this, define a placeholder (such a #S) to represent the attribute name Size. KeyConditionExpression then is as follows: #S = :myval For a list of reserved words, see Reserved Words in the Amazon DynamoDB Developer Guide. For more information on ExpressionAttributeNames and ExpressionAttributeValues, see Using Placeholders for Attribute Names and Values in the Amazon DynamoDB Developer Guide.", + "FilterExpression": "A string that contains conditions that DynamoDB applies after the Query operation, but before the data is returned to you. Items that do not satisfy the FilterExpression criteria are not returned. A FilterExpression does not allow key attributes. You cannot define a filter expression based on a partition key or a sort key. A FilterExpression is applied after the items have already been read; the process of filtering does not consume any additional read capacity units. For more information, see Filter Expressions in the Amazon DynamoDB Developer Guide.", + "IndexName": "The name of an index to query. This index can be any local secondary index or global secondary index on the table. Note that if you use the IndexName parameter, you must also provide TableName. ", + "ConsistentRead": "Determines the read consistency model: If set to true, then the operation uses strongly consistent reads; otherwise, the operation uses eventually consistent reads. Strongly consistent reads are not supported on global secondary indexes. If you query a global secondary index with ConsistentRead set to true, you will receive a ValidationException.", + "ExpressionAttributeNames": "One or more substitution tokens for attribute names in an expression. The following are some use cases for using ExpressionAttributeNames: To access an attribute whose name conflicts with a DynamoDB reserved word. To create a placeholder for repeating occurrences of an attribute name in an expression. To prevent special characters in an attribute name from being misinterpreted in an expression. Use the # character in an expression to dereference an attribute name. For example, consider the following attribute name: Percentile The name of this attribute conflicts with a reserved word, so it cannot be used directly in an expression. (For the complete list of reserved words, see Reserved Words in the Amazon DynamoDB Developer Guide). To work around this, you could specify the following for ExpressionAttributeNames: {\"#P\":\"Percentile\"} You could then use this substitution in an expression, as in this example: #P = :val Tokens that begin with the : character are expression attribute values, which are placeholders for the actual value at runtime. For more information on expression attribute names, see Specifying Item Attributes in the Amazon DynamoDB Developer Guide.", + "QueryFilter": "This is a legacy parameter. Use FilterExpression instead. For more information, see QueryFilter in the Amazon DynamoDB Developer Guide.", + "ExclusiveStartKey": "The primary key of the first item that this operation will evaluate. Use the value that was returned for LastEvaluatedKey in the previous operation. The data type for ExclusiveStartKey must be String, Number, or Binary. No set data types are allowed.", + "ExpressionAttributeValues": "One or more values that can be substituted in an expression. Use the : (colon) character in an expression to dereference an attribute value. For example, suppose that you wanted to check whether the value of the ProductStatus attribute was one of the following: Available | Backordered | Discontinued You would first need to specify ExpressionAttributeValues as follows: { \":avail\":{\"S\":\"Available\"}, \":back\":{\"S\":\"Backordered\"}, \":disc\":{\"S\":\"Discontinued\"} } You could then use these values in an expression, such as this: ProductStatus IN (:avail, :back, :disc) For more information on expression attribute values, see Specifying Conditions in the Amazon DynamoDB Developer Guide.", + "ReturnConsumedCapacity": "", + "Select": "The attributes to be returned in the result. You can retrieve all item attributes, specific item attributes, the count of matching items, or in the case of an index, some or all of the attributes projected into the index. ALL_ATTRIBUTES - Returns all of the item attributes from the specified table or index. If you query a local secondary index, then for each matching item in the index, DynamoDB fetches the entire item from the parent table. If the index is configured to project all item attributes, then all of the data can be obtained from the local secondary index, and no fetching is required. ALL_PROJECTED_ATTRIBUTES - Allowed only when querying an index. Retrieves all attributes that have been projected into the index. If the index is configured to project all attributes, this return value is equivalent to specifying ALL_ATTRIBUTES. COUNT - Returns the number of matching items, rather than the matching items themselves. SPECIFIC_ATTRIBUTES - Returns only the attributes listed in AttributesToGet. This return value is equivalent to specifying AttributesToGet without specifying any value for Select. If you query or scan a local secondary index and request only attributes that are projected into that index, the operation will read only the index and not the table. If any of the requested attributes are not projected into the local secondary index, DynamoDB fetches each of these attributes from the parent table. This extra fetching incurs additional throughput cost and latency. If you query or scan a global secondary index, you can only request attributes that are projected into the index. Global secondary index queries cannot fetch attributes from the parent table. If neither Select nor AttributesToGet are specified, DynamoDB defaults to ALL_ATTRIBUTES when accessing a table, and ALL_PROJECTED_ATTRIBUTES when accessing an index. You cannot use both Select and AttributesToGet together in a single request, unless the value for Select is SPECIFIC_ATTRIBUTES. (This usage is equivalent to specifying AttributesToGet without any value for Select.) If you use the ProjectionExpression parameter, then the value for Select can only be SPECIFIC_ATTRIBUTES. Any other value for Select will return an error. " +} +""" +Query(args) = dynamodb("Query", args) + +""" + UpdateTable() + +Modifies the provisioned throughput settings, global secondary indexes, or DynamoDB Streams settings for a given table. You can only perform one of the following operations at once: Modify the provisioned throughput settings of the table. Enable or disable DynamoDB Streams on the table. Remove a global secondary index from the table. Create a new global secondary index on the table. After the index begins backfilling, you can use UpdateTable to perform other operations. UpdateTable is an asynchronous operation; while it is executing, the table status changes from ACTIVE to UPDATING. While it is UPDATING, you cannot issue another UpdateTable request. When the table returns to the ACTIVE state, the UpdateTable operation is complete. + +Required Parameters +{ + "TableName": "The name of the table to be updated." +} + +Optional Parameters +{ + "AttributeDefinitions": "An array of attributes that describe the key schema for the table and indexes. If you are adding a new global secondary index to the table, AttributeDefinitions must include the key element(s) of the new index.", + "GlobalSecondaryIndexUpdates": "An array of one or more global secondary indexes for the table. For each index in the array, you can request one action: Create - add a new global secondary index to the table. Update - modify the provisioned throughput settings of an existing global secondary index. Delete - remove a global secondary index from the table. You can create or delete only one global secondary index per UpdateTable operation. For more information, see Managing Global Secondary Indexes in the Amazon DynamoDB Developer Guide. ", + "SSESpecification": "The new server-side encryption settings for the specified table.", + "ProvisionedThroughput": "The new provisioned throughput settings for the specified table or index.", + "BillingMode": "Controls how you are charged for read and write throughput and how you manage capacity. When switching from pay-per-request to provisioned capacity, initial provisioned capacity values must be set. The initial provisioned capacity values are estimated based on the consumed read and write capacity of your table and global secondary indexes over the past 30 minutes. PROVISIONED - We recommend using PROVISIONED for predictable workloads. PROVISIONED sets the billing mode to Provisioned Mode. PAY_PER_REQUEST - We recommend using PAY_PER_REQUEST for unpredictable workloads. PAY_PER_REQUEST sets the billing mode to On-Demand Mode. ", + "ReplicaUpdates": "A list of replica update actions (create, delete, or update) for the table. This property only applies to Version 2019.11.21 of global tables. ", + "StreamSpecification": "Represents the DynamoDB Streams configuration for the table. You receive a ResourceInUseException if you try to enable a stream on a table that already has a stream, or if you try to disable a stream on a table that doesn't have a stream. " +} +""" +UpdateTable(args) = dynamodb("UpdateTable", args) + +""" + UpdateTableReplicaAutoScaling() + +Updates auto scaling settings on your global tables at once. This method only applies to Version 2019.11.21 of global tables. + +Required Parameters +{ + "TableName": "The name of the global table to be updated." +} + +Optional Parameters +{ + "GlobalSecondaryIndexUpdates": "Represents the auto scaling settings of the global secondary indexes of the replica to be updated.", + "ProvisionedWriteCapacityAutoScalingUpdate": "", + "ReplicaUpdates": "Represents the auto scaling settings of replicas of the table that will be modified." +} +""" +UpdateTableReplicaAutoScaling(args) = dynamodb("UpdateTableReplicaAutoScaling", args) + +""" + ListBackups() + +List backups associated with an AWS account. To list backups for a given table, specify TableName. ListBackups returns a paginated list of results with at most 1 MB worth of items in a page. You can also specify a limit for the maximum number of entries to be returned in a page. In the request, start time is inclusive, but end time is exclusive. Note that these limits are for the time at which the original backup was requested. You can call ListBackups a maximum of five times per second. + +Optional Parameters +{ + "TimeRangeLowerBound": "Only backups created after this time are listed. TimeRangeLowerBound is inclusive.", + "ExclusiveStartBackupArn": " LastEvaluatedBackupArn is the Amazon Resource Name (ARN) of the backup last evaluated when the current page of results was returned, inclusive of the current page of results. This value may be specified as the ExclusiveStartBackupArn of a new ListBackups operation in order to fetch the next page of results. ", + "TableName": "The backups from the table specified by TableName are listed. ", + "TimeRangeUpperBound": "Only backups created before this time are listed. TimeRangeUpperBound is exclusive. ", + "BackupType": "The backups from the table specified by BackupType are listed. Where BackupType can be: USER - On-demand backup created by you. SYSTEM - On-demand backup automatically created by DynamoDB. ALL - All types of on-demand backups (USER and SYSTEM). ", + "Limit": "Maximum number of backups to return at once." +} +""" +ListBackups() = dynamodb("ListBackups") +ListBackups(args) = dynamodb("ListBackups", args) + +""" + DescribeTimeToLive() + +Gives a description of the Time to Live (TTL) status on the specified table. + +Required Parameters +{ + "TableName": "The name of the table to be described." +} +""" +DescribeTimeToLive(args) = dynamodb("DescribeTimeToLive", args) + +""" + CreateBackup() + +Creates a backup for an existing table. Each time you create an on-demand backup, the entire table data is backed up. There is no limit to the number of on-demand backups that can be taken. When you create an on-demand backup, a time marker of the request is cataloged, and the backup is created asynchronously, by applying all changes until the time of the request to the last full table snapshot. Backup requests are processed instantaneously and become available for restore within minutes. You can call CreateBackup at a maximum rate of 50 times per second. All backups in DynamoDB work without consuming any provisioned throughput on the table. If you submit a backup request on 2018-12-14 at 14:25:00, the backup is guaranteed to contain all data committed to the table up to 14:24:00, and data committed after 14:26:00 will not be. The backup might contain data modifications made between 14:24:00 and 14:26:00. On-demand backup does not support causal consistency. Along with data, the following are also included on the backups: Global secondary indexes (GSIs) Local secondary indexes (LSIs) Streams Provisioned read and write capacity + +Required Parameters +{ + "TableName": "The name of the table.", + "BackupName": "Specified name for the backup." +} +""" +CreateBackup(args) = dynamodb("CreateBackup", args) + +""" + ListContributorInsights() + +Returns a list of ContributorInsightsSummary for a table and all its global secondary indexes. + +Optional Parameters +{ + "MaxResults": "Maximum number of results to return per page.", + "NextToken": "A token to for the desired page, if there is one.", + "TableName": "The name of the table." +} +""" +ListContributorInsights() = dynamodb("ListContributorInsights") +ListContributorInsights(args) = dynamodb("ListContributorInsights", args) + +""" + ListTables() + +Returns an array of table names associated with the current account and endpoint. The output from ListTables is paginated, with each page returning a maximum of 100 table names. + +Optional Parameters +{ + "ExclusiveStartTableName": "The first table name that this operation will evaluate. Use the value that was returned for LastEvaluatedTableName in a previous operation, so that you can obtain the next page of results.", + "Limit": "A maximum number of table names to return. If this parameter is not specified, the limit is 100." +} +""" +ListTables() = dynamodb("ListTables") +ListTables(args) = dynamodb("ListTables", args) + +""" + TagResource() + +Associate a set of tags with an Amazon DynamoDB resource. You can then activate these user-defined tags so that they appear on the Billing and Cost Management console for cost allocation tracking. You can call TagResource up to five times per second, per account. For an overview on tagging DynamoDB resources, see Tagging for DynamoDB in the Amazon DynamoDB Developer Guide. + +Required Parameters +{ + "ResourceArn": "Identifies the Amazon DynamoDB resource to which tags should be added. This value is an Amazon Resource Name (ARN).", + "Tags": "The tags to be assigned to the Amazon DynamoDB resource." +} +""" +TagResource(args) = dynamodb("TagResource", args) + +""" + CreateTable() + +The CreateTable operation adds a new table to your account. In an AWS account, table names must be unique within each Region. That is, you can have two tables with same name if you create the tables in different Regions. CreateTable is an asynchronous operation. Upon receiving a CreateTable request, DynamoDB immediately returns a response with a TableStatus of CREATING. After the table is created, DynamoDB sets the TableStatus to ACTIVE. You can perform read and write operations only on an ACTIVE table. You can optionally define secondary indexes on the new table, as part of the CreateTable operation. If you want to create multiple tables with secondary indexes on them, you must create the tables sequentially. Only one table with secondary indexes can be in the CREATING state at any given time. You can use the DescribeTable action to check the table status. + +Required Parameters +{ + "AttributeDefinitions": "An array of attributes that describe the key schema for the table and indexes.", + "TableName": "The name of the table to create.", + "KeySchema": "Specifies the attributes that make up the primary key for a table or an index. The attributes in KeySchema must also be defined in the AttributeDefinitions array. For more information, see Data Model in the Amazon DynamoDB Developer Guide. Each KeySchemaElement in the array is composed of: AttributeName - The name of this key attribute. KeyType - The role that the key attribute will assume: HASH - partition key RANGE - sort key The partition key of an item is also known as its hash attribute. The term \"hash attribute\" derives from the DynamoDB usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values. The sort key of an item is also known as its range attribute. The term \"range attribute\" derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value. For a simple primary key (partition key), you must provide exactly one element with a KeyType of HASH. For a composite primary key (partition key and sort key), you must provide exactly two elements, in this order: The first element must have a KeyType of HASH, and the second element must have a KeyType of RANGE. For more information, see Working with Tables in the Amazon DynamoDB Developer Guide." +} + +Optional Parameters +{ + "LocalSecondaryIndexes": "One or more local secondary indexes (the maximum is 5) to be created on the table. Each index is scoped to a given partition key value. There is a 10 GB size limit per partition key value; otherwise, the size of a local secondary index is unconstrained. Each local secondary index in the array includes the following: IndexName - The name of the local secondary index. Must be unique only for this table. KeySchema - Specifies the key schema for the local secondary index. The key schema must begin with the same partition key as the table. Projection - Specifies attributes that are copied (projected) from the table into the index. These are in addition to the primary key attributes and index key attributes, which are automatically projected. Each attribute specification is composed of: ProjectionType - One of the following: KEYS_ONLY - Only the index and primary keys are projected into the index. INCLUDE - Only the specified table attributes are projected into the index. The list of projected attributes is in NonKeyAttributes. ALL - All of the table attributes are projected into the index. NonKeyAttributes - A list of one or more non-key attribute names that are projected into the secondary index. The total count of attributes provided in NonKeyAttributes, summed across all of the secondary indexes, must not exceed 100. If you project the same attribute into two different indexes, this counts as two distinct attributes when determining the total. ", + "SSESpecification": "Represents the settings used to enable server-side encryption.", + "Tags": "A list of key-value pairs to label the table. For more information, see Tagging for DynamoDB.", + "GlobalSecondaryIndexes": "One or more global secondary indexes (the maximum is 20) to be created on the table. Each global secondary index in the array includes the following: IndexName - The name of the global secondary index. Must be unique only for this table. KeySchema - Specifies the key schema for the global secondary index. Projection - Specifies attributes that are copied (projected) from the table into the index. These are in addition to the primary key attributes and index key attributes, which are automatically projected. Each attribute specification is composed of: ProjectionType - One of the following: KEYS_ONLY - Only the index and primary keys are projected into the index. INCLUDE - Only the specified table attributes are projected into the index. The list of projected attributes is in NonKeyAttributes. ALL - All of the table attributes are projected into the index. NonKeyAttributes - A list of one or more non-key attribute names that are projected into the secondary index. The total count of attributes provided in NonKeyAttributes, summed across all of the secondary indexes, must not exceed 100. If you project the same attribute into two different indexes, this counts as two distinct attributes when determining the total. ProvisionedThroughput - The provisioned throughput settings for the global secondary index, consisting of read and write capacity units. ", + "ProvisionedThroughput": "Represents the provisioned throughput settings for a specified table or index. The settings can be modified using the UpdateTable operation. If you set BillingMode as PROVISIONED, you must specify this property. If you set BillingMode as PAY_PER_REQUEST, you cannot specify this property. For current minimum and maximum provisioned throughput values, see Limits in the Amazon DynamoDB Developer Guide.", + "BillingMode": "Controls how you are charged for read and write throughput and how you manage capacity. This setting can be changed later. PROVISIONED - We recommend using PROVISIONED for predictable workloads. PROVISIONED sets the billing mode to Provisioned Mode. PAY_PER_REQUEST - We recommend using PAY_PER_REQUEST for unpredictable workloads. PAY_PER_REQUEST sets the billing mode to On-Demand Mode. ", + "StreamSpecification": "The settings for DynamoDB Streams on the table. These settings consist of: StreamEnabled - Indicates whether DynamoDB Streams is to be enabled (true) or disabled (false). StreamViewType - When an item in the table is modified, StreamViewType determines what information is written to the table's stream. Valid values for StreamViewType are: KEYS_ONLY - Only the key attributes of the modified item are written to the stream. NEW_IMAGE - The entire item, as it appears after it was modified, is written to the stream. OLD_IMAGE - The entire item, as it appeared before it was modified, is written to the stream. NEW_AND_OLD_IMAGES - Both the new and the old item images of the item are written to the stream. " +} +""" +CreateTable(args) = dynamodb("CreateTable", args) + +""" + TransactGetItems() + + TransactGetItems is a synchronous operation that atomically retrieves multiple items from one or more tables (but not from indexes) in a single account and Region. A TransactGetItems call can contain up to 25 TransactGetItem objects, each of which contains a Get structure that specifies an item to retrieve from a table in the account and Region. A call to TransactGetItems cannot retrieve items from tables in more than one AWS account or Region. The aggregate size of the items in the transaction cannot exceed 4 MB. DynamoDB rejects the entire TransactGetItems request if any of the following is true: A conflicting operation is in the process of updating an item to be read. There is insufficient provisioned capacity for the transaction to be completed. There is a user error, such as an invalid data format. The aggregate size of the items in the transaction cannot exceed 4 MB. + +Required Parameters +{ + "TransactItems": "An ordered array of up to 25 TransactGetItem objects, each of which contains a Get structure." +} + +Optional Parameters +{ + "ReturnConsumedCapacity": "A value of TOTAL causes consumed capacity information to be returned, and a value of NONE prevents that information from being returned. No other value is valid." +} +""" +TransactGetItems(args) = dynamodb("TransactGetItems", args) + +""" + TransactWriteItems() + + TransactWriteItems is a synchronous write operation that groups up to 25 action requests. These actions can target items in different tables, but not in different AWS accounts or Regions, and no two actions can target the same item. For example, you cannot both ConditionCheck and Update the same item. The aggregate size of the items in the transaction cannot exceed 4 MB. The actions are completed atomically so that either all of them succeed, or all of them fail. They are defined by the following objects: Put  —   Initiates a PutItem operation to write a new item. This structure specifies the primary key of the item to be written, the name of the table to write it in, an optional condition expression that must be satisfied for the write to succeed, a list of the item's attributes, and a field indicating whether to retrieve the item's attributes if the condition is not met. Update  —   Initiates an UpdateItem operation to update an existing item. This structure specifies the primary key of the item to be updated, the name of the table where it resides, an optional condition expression that must be satisfied for the update to succeed, an expression that defines one or more attributes to be updated, and a field indicating whether to retrieve the item's attributes if the condition is not met. Delete  —   Initiates a DeleteItem operation to delete an existing item. This structure specifies the primary key of the item to be deleted, the name of the table where it resides, an optional condition expression that must be satisfied for the deletion to succeed, and a field indicating whether to retrieve the item's attributes if the condition is not met. ConditionCheck  —   Applies a condition to an item that is not being modified by the transaction. This structure specifies the primary key of the item to be checked, the name of the table where it resides, a condition expression that must be satisfied for the transaction to succeed, and a field indicating whether to retrieve the item's attributes if the condition is not met. DynamoDB rejects the entire TransactWriteItems request if any of the following is true: A condition in one of the condition expressions is not met. An ongoing operation is in the process of updating the same item. There is insufficient provisioned capacity for the transaction to be completed. An item size becomes too large (bigger than 400 KB), a local secondary index (LSI) becomes too large, or a similar validation error occurs because of changes made by the transaction. The aggregate size of the items in the transaction exceeds 4 MB. There is a user error, such as an invalid data format. + +Required Parameters +{ + "TransactItems": "An ordered array of up to 25 TransactWriteItem objects, each of which contains a ConditionCheck, Put, Update, or Delete object. These can operate on items in different tables, but the tables must reside in the same AWS account and Region, and no two of them can operate on the same item. " +} + +Optional Parameters +{ + "ClientRequestToken": "Providing a ClientRequestToken makes the call to TransactWriteItems idempotent, meaning that multiple identical calls have the same effect as one single call. Although multiple identical calls using the same client request token produce the same result on the server (no side effects), the responses to the calls might not be the same. If the ReturnConsumedCapacity> parameter is set, then the initial TransactWriteItems call returns the amount of write capacity units consumed in making the changes. Subsequent TransactWriteItems calls with the same client token return the number of read capacity units consumed in reading the item. A client request token is valid for 10 minutes after the first request that uses it is completed. After 10 minutes, any request with the same client token is treated as a new request. Do not resubmit the same request with the same client token for more than 10 minutes, or the result might not be idempotent. If you submit a request with the same client token but a change in other parameters within the 10-minute idempotency window, DynamoDB returns an IdempotentParameterMismatch exception.", + "ReturnConsumedCapacity": "", + "ReturnItemCollectionMetrics": "Determines whether item collection metrics are returned. If set to SIZE, the response includes statistics about item collections (if any), that were modified during the operation and are returned in the response. If set to NONE (the default), no statistics are returned. " +} +""" +TransactWriteItems(args) = dynamodb("TransactWriteItems", args) + +""" + UntagResource() + +Removes the association of tags from an Amazon DynamoDB resource. You can call UntagResource up to five times per second, per account. For an overview on tagging DynamoDB resources, see Tagging for DynamoDB in the Amazon DynamoDB Developer Guide. + +Required Parameters +{ + "ResourceArn": "The DynamoDB resource that the tags will be removed from. This value is an Amazon Resource Name (ARN).", + "TagKeys": "A list of tag keys. Existing tags of the resource whose keys are members of this list will be removed from the DynamoDB resource." +} +""" +UntagResource(args) = dynamodb("UntagResource", args) + +""" + BatchWriteItem() + +The BatchWriteItem operation puts or deletes multiple items in one or more tables. A single call to BatchWriteItem can write up to 16 MB of data, which can comprise as many as 25 put or delete requests. Individual items to be written can be as large as 400 KB. BatchWriteItem cannot update items. To update items, use the UpdateItem action. The individual PutItem and DeleteItem operations specified in BatchWriteItem are atomic; however BatchWriteItem as a whole is not. If any requested operations fail because the table's provisioned throughput is exceeded or an internal processing failure occurs, the failed operations are returned in the UnprocessedItems response parameter. You can investigate and optionally resend the requests. Typically, you would call BatchWriteItem in a loop. Each iteration would check for unprocessed items and submit a new BatchWriteItem request with those unprocessed items until all items have been processed. If none of the items can be processed due to insufficient provisioned throughput on all of the tables in the request, then BatchWriteItem returns a ProvisionedThroughputExceededException. If DynamoDB returns any unprocessed items, you should retry the batch operation on those items. However, we strongly recommend that you use an exponential backoff algorithm. If you retry the batch operation immediately, the underlying read or write requests can still fail due to throttling on the individual tables. If you delay the batch operation using exponential backoff, the individual requests in the batch are much more likely to succeed. For more information, see Batch Operations and Error Handling in the Amazon DynamoDB Developer Guide. With BatchWriteItem, you can efficiently write or delete large amounts of data, such as from Amazon EMR, or copy data from another database into DynamoDB. In order to improve performance with these large-scale operations, BatchWriteItem does not behave in the same way as individual PutItem and DeleteItem calls would. For example, you cannot specify conditions on individual put and delete requests, and BatchWriteItem does not return deleted items in the response. If you use a programming language that supports concurrency, you can use threads to write items in parallel. Your application must include the necessary logic to manage the threads. With languages that don't support threading, you must update or delete the specified items one at a time. In both situations, BatchWriteItem performs the specified put and delete operations in parallel, giving you the power of the thread pool approach without having to introduce complexity into your application. Parallel processing reduces latency, but each specified put and delete request consumes the same number of write capacity units whether it is processed in parallel or not. Delete operations on nonexistent items consume one write capacity unit. If one or more of the following is true, DynamoDB rejects the entire batch write operation: One or more tables specified in the BatchWriteItem request does not exist. Primary key attributes specified on an item in the request do not match those in the corresponding table's primary key schema. You try to perform multiple operations on the same item in the same BatchWriteItem request. For example, you cannot put and delete the same item in the same BatchWriteItem request. Your request contains at least two items with identical hash and range keys (which essentially is two put operations). There are more than 25 requests in the batch. Any individual item in a batch exceeds 400 KB. The total request size exceeds 16 MB. + +Required Parameters +{ + "RequestItems": "A map of one or more table names and, for each table, a list of operations to be performed (DeleteRequest or PutRequest). Each element in the map consists of the following: DeleteRequest - Perform a DeleteItem operation on the specified item. The item to be deleted is identified by a Key subelement: Key - A map of primary key attribute values that uniquely identify the item. Each entry in this map consists of an attribute name and an attribute value. For each primary key, you must provide all of the key attributes. For example, with a simple primary key, you only need to provide a value for the partition key. For a composite primary key, you must provide values for both the partition key and the sort key. PutRequest - Perform a PutItem operation on the specified item. The item to be put is identified by an Item subelement: Item - A map of attributes and their values. Each entry in this map consists of an attribute name and an attribute value. Attribute values must not be null; string and binary type attributes must have lengths greater than zero; and set type attributes must not be empty. Requests that contain empty values are rejected with a ValidationException exception. If you specify any attributes that are part of an index key, then the data types for those attributes must match those of the schema in the table's attribute definition. " +} + +Optional Parameters +{ + "ReturnConsumedCapacity": "", + "ReturnItemCollectionMetrics": "Determines whether item collection metrics are returned. If set to SIZE, the response includes statistics about item collections, if any, that were modified during the operation are returned in the response. If set to NONE (the default), no statistics are returned." +} +""" +BatchWriteItem(args) = dynamodb("BatchWriteItem", args) + +""" + DescribeContributorInsights() + +Returns information about contributor insights, for a given table or global secondary index. + +Required Parameters +{ + "TableName": "The name of the table to describe." +} + +Optional Parameters +{ + "IndexName": "The name of the global secondary index to describe, if applicable." +} +""" +DescribeContributorInsights(args) = dynamodb("DescribeContributorInsights", args) + +""" + DeleteBackup() + +Deletes an existing backup of a table. You can call DeleteBackup at a maximum rate of 10 times per second. + +Required Parameters +{ + "BackupArn": "The ARN associated with the backup." +} +""" +DeleteBackup(args) = dynamodb("DeleteBackup", args) + +""" + ListTagsOfResource() + +List all tags on an Amazon DynamoDB resource. You can call ListTagsOfResource up to 10 times per second, per account. For an overview on tagging DynamoDB resources, see Tagging for DynamoDB in the Amazon DynamoDB Developer Guide. + +Required Parameters +{ + "ResourceArn": "The Amazon DynamoDB resource with tags to be listed. This value is an Amazon Resource Name (ARN)." +} + +Optional Parameters +{ + "NextToken": "An optional string that, if supplied, must be copied from the output of a previous call to ListTagOfResource. When provided in this manner, this API fetches the next page of results." +} +""" +ListTagsOfResource(args) = dynamodb("ListTagsOfResource", args) + +""" + DescribeTable() + +Returns information about the table, including the current status of the table, when it was created, the primary key schema, and any indexes on the table. If you issue a DescribeTable request immediately after a CreateTable request, DynamoDB might return a ResourceNotFoundException. This is because DescribeTable uses an eventually consistent query, and the metadata for your table might not be available at that moment. Wait for a few seconds, and then try the DescribeTable request again. + +Required Parameters +{ + "TableName": "The name of the table to describe." +} +""" +DescribeTable(args) = dynamodb("DescribeTable", args) + +""" + PutItem() + +Creates a new item, or replaces an old item with a new item. If an item that has the same primary key as the new item already exists in the specified table, the new item completely replaces the existing item. You can perform a conditional put operation (add a new item if one with the specified primary key doesn't exist), or replace an existing item if it has certain attribute values. You can return the item's attribute values in the same operation, using the ReturnValues parameter. This topic provides general information about the PutItem API. For information on how to call the PutItem API using the AWS SDK in specific languages, see the following: PutItem in the AWS Command Line Interface PutItem in the AWS SDK for .NET PutItem in the AWS SDK for C++ PutItem in the AWS SDK for Go PutItem in the AWS SDK for Java PutItem in the AWS SDK for JavaScript PutItem in the AWS SDK for PHP V3 PutItem in the AWS SDK for Python PutItem in the AWS SDK for Ruby V2 When you add an item, the primary key attributes are the only required attributes. Attribute values cannot be null. String and Binary type attributes must have lengths greater than zero. Set type attributes cannot be empty. Requests with empty values will be rejected with a ValidationException exception. To prevent a new item from replacing an existing item, use a conditional expression that contains the attribute_not_exists function with the name of the attribute being used as the partition key for the table. Since every record must contain that attribute, the attribute_not_exists function will only succeed if no matching item exists. For more information about PutItem, see Working with Items in the Amazon DynamoDB Developer Guide. + +Required Parameters +{ + "TableName": "The name of the table to contain the item.", + "Item": "A map of attribute name/value pairs, one for each attribute. Only the primary key attributes are required; you can optionally provide other attribute name-value pairs for the item. You must provide all of the attributes for the primary key. For example, with a simple primary key, you only need to provide a value for the partition key. For a composite primary key, you must provide both values for both the partition key and the sort key. If you specify any attributes that are part of an index key, then the data types for those attributes must match those of the schema in the table's attribute definition. For more information about primary keys, see Primary Key in the Amazon DynamoDB Developer Guide. Each element in the Item map is an AttributeValue object." +} + +Optional Parameters +{ + "ReturnValues": "Use ReturnValues if you want to get the item attributes as they appeared before they were updated with the PutItem request. For PutItem, the valid values are: NONE - If ReturnValues is not specified, or if its value is NONE, then nothing is returned. (This setting is the default for ReturnValues.) ALL_OLD - If PutItem overwrote an attribute name-value pair, then the content of the old item is returned. The ReturnValues parameter is used by several DynamoDB operations; however, PutItem does not recognize any values other than NONE or ALL_OLD. ", + "ConditionExpression": "A condition that must be satisfied in order for a conditional PutItem operation to succeed. An expression can contain any of the following: Functions: attribute_exists | attribute_not_exists | attribute_type | contains | begins_with | size These function names are case-sensitive. Comparison operators: = | <> | < | > | <= | >= | BETWEEN | IN Logical operators: AND | OR | NOT For more information on condition expressions, see Condition Expressions in the Amazon DynamoDB Developer Guide.", + "ExpressionAttributeValues": "One or more values that can be substituted in an expression. Use the : (colon) character in an expression to dereference an attribute value. For example, suppose that you wanted to check whether the value of the ProductStatus attribute was one of the following: Available | Backordered | Discontinued You would first need to specify ExpressionAttributeValues as follows: { \":avail\":{\"S\":\"Available\"}, \":back\":{\"S\":\"Backordered\"}, \":disc\":{\"S\":\"Discontinued\"} } You could then use these values in an expression, such as this: ProductStatus IN (:avail, :back, :disc) For more information on expression attribute values, see Condition Expressions in the Amazon DynamoDB Developer Guide.", + "ReturnConsumedCapacity": "", + "ReturnItemCollectionMetrics": "Determines whether item collection metrics are returned. If set to SIZE, the response includes statistics about item collections, if any, that were modified during the operation are returned in the response. If set to NONE (the default), no statistics are returned.", + "ConditionalOperator": "This is a legacy parameter. Use ConditionExpression instead. For more information, see ConditionalOperator in the Amazon DynamoDB Developer Guide.", + "ExpressionAttributeNames": "One or more substitution tokens for attribute names in an expression. The following are some use cases for using ExpressionAttributeNames: To access an attribute whose name conflicts with a DynamoDB reserved word. To create a placeholder for repeating occurrences of an attribute name in an expression. To prevent special characters in an attribute name from being misinterpreted in an expression. Use the # character in an expression to dereference an attribute name. For example, consider the following attribute name: Percentile The name of this attribute conflicts with a reserved word, so it cannot be used directly in an expression. (For the complete list of reserved words, see Reserved Words in the Amazon DynamoDB Developer Guide). To work around this, you could specify the following for ExpressionAttributeNames: {\"#P\":\"Percentile\"} You could then use this substitution in an expression, as in this example: #P = :val Tokens that begin with the : character are expression attribute values, which are placeholders for the actual value at runtime. For more information on expression attribute names, see Specifying Item Attributes in the Amazon DynamoDB Developer Guide.", + "Expected": "This is a legacy parameter. Use ConditionExpression instead. For more information, see Expected in the Amazon DynamoDB Developer Guide." +} +""" +PutItem(args) = dynamodb("PutItem", args) + +""" + RestoreTableFromBackup() + +Creates a new table from an existing backup. Any number of users can execute up to 4 concurrent restores (any type of restore) in a given account. You can call RestoreTableFromBackup at a maximum rate of 10 times per second. You must manually set up the following on the restored table: Auto scaling policies IAM policies Amazon CloudWatch metrics and alarms Tags Stream settings Time to Live (TTL) settings + +Required Parameters +{ + "BackupArn": "The Amazon Resource Name (ARN) associated with the backup.", + "TargetTableName": "The name of the new table to which the backup must be restored." +} + +Optional Parameters +{ + "ProvisionedThroughputOverride": "Provisioned throughput settings for the restored table.", + "SSESpecificationOverride": "The new server-side encryption settings for the restored table.", + "GlobalSecondaryIndexOverride": "List of global secondary indexes for the restored table. The indexes provided should match existing secondary indexes. You can choose to exclude some or all of the indexes at the time of restore.", + "BillingModeOverride": "The billing mode of the restored table.", + "LocalSecondaryIndexOverride": "List of local secondary indexes for the restored table. The indexes provided should match existing secondary indexes. You can choose to exclude some or all of the indexes at the time of restore." +} +""" +RestoreTableFromBackup(args) = dynamodb("RestoreTableFromBackup", args) + +""" + DescribeLimits() + +Returns the current provisioned-capacity limits for your AWS account in a Region, both for the Region as a whole and for any one DynamoDB table that you create there. When you establish an AWS account, the account has initial limits on the maximum read capacity units and write capacity units that you can provision across all of your DynamoDB tables in a given Region. Also, there are per-table limits that apply when you create a table there. For more information, see Limits page in the Amazon DynamoDB Developer Guide. Although you can increase these limits by filing a case at AWS Support Center, obtaining the increase is not instantaneous. The DescribeLimits action lets you write code to compare the capacity you are currently using to those limits imposed by your account so that you have enough time to apply for an increase before you hit a limit. For example, you could use one of the AWS SDKs to do the following: Call DescribeLimits for a particular Region to obtain your current account limits on provisioned capacity there. Create a variable to hold the aggregate read capacity units provisioned for all your tables in that Region, and one to hold the aggregate write capacity units. Zero them both. Call ListTables to obtain a list of all your DynamoDB tables. For each table name listed by ListTables, do the following: Call DescribeTable with the table name. Use the data returned by DescribeTable to add the read capacity units and write capacity units provisioned for the table itself to your variables. If the table has one or more global secondary indexes (GSIs), loop over these GSIs and add their provisioned capacity values to your variables as well. Report the account limits for that Region returned by DescribeLimits, along with the total current provisioned capacity levels you have calculated. This will let you see whether you are getting close to your account-level limits. The per-table limits apply only when you are creating a new table. They restrict the sum of the provisioned capacity of the new table itself and all its global secondary indexes. For existing tables and their GSIs, DynamoDB doesn't let you increase provisioned capacity extremely rapidly. But the only upper limit that applies is that the aggregate provisioned capacity over all your tables and GSIs cannot exceed either of the per-account limits. DescribeLimits should only be called periodically. You can expect throttling errors if you call it more than once in a minute. The DescribeLimits Request element has no content. +""" +DescribeLimits() = dynamodb("DescribeLimits") +DescribeLimits(args) = dynamodb("DescribeLimits", args) + +""" + DescribeEndpoints() + +Returns the regional endpoint information. +""" +DescribeEndpoints() = dynamodb("DescribeEndpoints") +DescribeEndpoints(args) = dynamodb("DescribeEndpoints", args) + +""" + GetItem() + +The GetItem operation returns a set of attributes for the item with the given primary key. If there is no matching item, GetItem does not return any data and there will be no Item element in the response. GetItem provides an eventually consistent read by default. If your application requires a strongly consistent read, set ConsistentRead to true. Although a strongly consistent read might take more time than an eventually consistent read, it always returns the last updated value. + +Required Parameters +{ + "TableName": "The name of the table containing the requested item.", + "Key": "A map of attribute names to AttributeValue objects, representing the primary key of the item to retrieve. For the primary key, you must provide all of the attributes. For example, with a simple primary key, you only need to provide a value for the partition key. For a composite primary key, you must provide values for both the partition key and the sort key." +} + +Optional Parameters +{ + "ReturnConsumedCapacity": "", + "ProjectionExpression": "A string that identifies one or more attributes to retrieve from the table. These attributes can include scalars, sets, or elements of a JSON document. The attributes in the expression must be separated by commas. If no attribute names are specified, then all attributes are returned. If any of the requested attributes are not found, they do not appear in the result. For more information, see Specifying Item Attributes in the Amazon DynamoDB Developer Guide.", + "AttributesToGet": "This is a legacy parameter. Use ProjectionExpression instead. For more information, see AttributesToGet in the Amazon DynamoDB Developer Guide.", + "ConsistentRead": "Determines the read consistency model: If set to true, then the operation uses strongly consistent reads; otherwise, the operation uses eventually consistent reads.", + "ExpressionAttributeNames": "One or more substitution tokens for attribute names in an expression. The following are some use cases for using ExpressionAttributeNames: To access an attribute whose name conflicts with a DynamoDB reserved word. To create a placeholder for repeating occurrences of an attribute name in an expression. To prevent special characters in an attribute name from being misinterpreted in an expression. Use the # character in an expression to dereference an attribute name. For example, consider the following attribute name: Percentile The name of this attribute conflicts with a reserved word, so it cannot be used directly in an expression. (For the complete list of reserved words, see Reserved Words in the Amazon DynamoDB Developer Guide). To work around this, you could specify the following for ExpressionAttributeNames: {\"#P\":\"Percentile\"} You could then use this substitution in an expression, as in this example: #P = :val Tokens that begin with the : character are expression attribute values, which are placeholders for the actual value at runtime. For more information on expression attribute names, see Specifying Item Attributes in the Amazon DynamoDB Developer Guide." +} +""" +GetItem(args) = dynamodb("GetItem", args) + +""" + UpdateGlobalTable() + +Adds or removes replicas in the specified global table. The global table must already exist to be able to use this operation. Any replica to be added must be empty, have the same name as the global table, have the same key schema, have DynamoDB Streams enabled, and have the same provisioned and maximum write capacity units. Although you can use UpdateGlobalTable to add replicas and remove replicas in a single request, for simplicity we recommend that you issue separate requests for adding or removing replicas. If global secondary indexes are specified, then the following conditions must also be met: The global secondary indexes must have the same name. The global secondary indexes must have the same hash key and sort key (if present). The global secondary indexes must have the same provisioned and maximum write capacity units. + +Required Parameters +{ + "ReplicaUpdates": "A list of Regions that should be added or removed from the global table.", + "GlobalTableName": "The global table name." +} +""" +UpdateGlobalTable(args) = dynamodb("UpdateGlobalTable", args) + +""" + UpdateContributorInsights() + +Updates the status for contributor insights for a specific table or index. + +Required Parameters +{ + "ContributorInsightsAction": "Represents the contributor insights action.", + "TableName": "The name of the table." +} + +Optional Parameters +{ + "IndexName": "The global secondary index name, if applicable." +} +""" +UpdateContributorInsights(args) = dynamodb("UpdateContributorInsights", args) + +""" + Scan() + +The Scan operation returns one or more items and item attributes by accessing every item in a table or a secondary index. To have DynamoDB return fewer items, you can provide a FilterExpression operation. If the total number of scanned items exceeds the maximum dataset size limit of 1 MB, the scan stops and results are returned to the user as a LastEvaluatedKey value to continue the scan in a subsequent operation. The results also include the number of items exceeding the limit. A scan can result in no table data meeting the filter criteria. A single Scan operation reads up to the maximum number of items set (if using the Limit parameter) or a maximum of 1 MB of data and then apply any filtering to the results using FilterExpression. If LastEvaluatedKey is present in the response, you need to paginate the result set. For more information, see Paginating the Results in the Amazon DynamoDB Developer Guide. Scan operations proceed sequentially; however, for faster performance on a large table or secondary index, applications can request a parallel Scan operation by providing the Segment and TotalSegments parameters. For more information, see Parallel Scan in the Amazon DynamoDB Developer Guide. Scan uses eventually consistent reads when accessing the data in a table; therefore, the result set might not include the changes to data in the table immediately before the operation began. If you need a consistent copy of the data, as of the time that the Scan begins, you can set the ConsistentRead parameter to true. + +Required Parameters +{ + "TableName": "The name of the table containing the requested items; or, if you provide IndexName, the name of the table to which that index belongs." +} + +Optional Parameters +{ + "AttributesToGet": "This is a legacy parameter. Use ProjectionExpression instead. For more information, see AttributesToGet in the Amazon DynamoDB Developer Guide.", + "Limit": "The maximum number of items to evaluate (not necessarily the number of matching items). If DynamoDB processes the number of items up to the limit while processing the results, it stops the operation and returns the matching values up to that point, and a key in LastEvaluatedKey to apply in a subsequent operation, so that you can pick up where you left off. Also, if the processed dataset size exceeds 1 MB before DynamoDB reaches this limit, it stops the operation and returns the matching values up to the limit, and a key in LastEvaluatedKey to apply in a subsequent operation to continue the operation. For more information, see Working with Queries in the Amazon DynamoDB Developer Guide.", + "Segment": "For a parallel Scan request, Segment identifies an individual segment to be scanned by an application worker. Segment IDs are zero-based, so the first segment is always 0. For example, if you want to use four application threads to scan a table or an index, then the first thread specifies a Segment value of 0, the second thread specifies 1, and so on. The value of LastEvaluatedKey returned from a parallel Scan request must be used as ExclusiveStartKey with the same segment ID in a subsequent Scan operation. The value for Segment must be greater than or equal to 0, and less than the value provided for TotalSegments. If you provide Segment, you must also provide TotalSegments.", + "ProjectionExpression": "A string that identifies one or more attributes to retrieve from the specified table or index. These attributes can include scalars, sets, or elements of a JSON document. The attributes in the expression must be separated by commas. If no attribute names are specified, then all attributes will be returned. If any of the requested attributes are not found, they will not appear in the result. For more information, see Specifying Item Attributes in the Amazon DynamoDB Developer Guide.", + "ConditionalOperator": "This is a legacy parameter. Use FilterExpression instead. For more information, see ConditionalOperator in the Amazon DynamoDB Developer Guide.", + "ScanFilter": "This is a legacy parameter. Use FilterExpression instead. For more information, see ScanFilter in the Amazon DynamoDB Developer Guide.", + "FilterExpression": "A string that contains conditions that DynamoDB applies after the Scan operation, but before the data is returned to you. Items that do not satisfy the FilterExpression criteria are not returned. A FilterExpression is applied after the items have already been read; the process of filtering does not consume any additional read capacity units. For more information, see Filter Expressions in the Amazon DynamoDB Developer Guide.", + "IndexName": "The name of a secondary index to scan. This index can be any local secondary index or global secondary index. Note that if you use the IndexName parameter, you must also provide TableName.", + "ConsistentRead": "A Boolean value that determines the read consistency model during the scan: If ConsistentRead is false, then the data returned from Scan might not contain the results from other recently completed write operations (PutItem, UpdateItem, or DeleteItem). If ConsistentRead is true, then all of the write operations that completed before the Scan began are guaranteed to be contained in the Scan response. The default setting for ConsistentRead is false. The ConsistentRead parameter is not supported on global secondary indexes. If you scan a global secondary index with ConsistentRead set to true, you will receive a ValidationException.", + "ExpressionAttributeNames": "One or more substitution tokens for attribute names in an expression. The following are some use cases for using ExpressionAttributeNames: To access an attribute whose name conflicts with a DynamoDB reserved word. To create a placeholder for repeating occurrences of an attribute name in an expression. To prevent special characters in an attribute name from being misinterpreted in an expression. Use the # character in an expression to dereference an attribute name. For example, consider the following attribute name: Percentile The name of this attribute conflicts with a reserved word, so it cannot be used directly in an expression. (For the complete list of reserved words, see Reserved Words in the Amazon DynamoDB Developer Guide). To work around this, you could specify the following for ExpressionAttributeNames: {\"#P\":\"Percentile\"} You could then use this substitution in an expression, as in this example: #P = :val Tokens that begin with the : character are expression attribute values, which are placeholders for the actual value at runtime. For more information on expression attribute names, see Specifying Item Attributes in the Amazon DynamoDB Developer Guide.", + "ExclusiveStartKey": "The primary key of the first item that this operation will evaluate. Use the value that was returned for LastEvaluatedKey in the previous operation. The data type for ExclusiveStartKey must be String, Number or Binary. No set data types are allowed. In a parallel scan, a Scan request that includes ExclusiveStartKey must specify the same segment whose previous Scan returned the corresponding value of LastEvaluatedKey.", + "ExpressionAttributeValues": "One or more values that can be substituted in an expression. Use the : (colon) character in an expression to dereference an attribute value. For example, suppose that you wanted to check whether the value of the ProductStatus attribute was one of the following: Available | Backordered | Discontinued You would first need to specify ExpressionAttributeValues as follows: { \":avail\":{\"S\":\"Available\"}, \":back\":{\"S\":\"Backordered\"}, \":disc\":{\"S\":\"Discontinued\"} } You could then use these values in an expression, such as this: ProductStatus IN (:avail, :back, :disc) For more information on expression attribute values, see Condition Expressions in the Amazon DynamoDB Developer Guide.", + "ReturnConsumedCapacity": "", + "TotalSegments": "For a parallel Scan request, TotalSegments represents the total number of segments into which the Scan operation will be divided. The value of TotalSegments corresponds to the number of application workers that will perform the parallel scan. For example, if you want to use four application threads to scan a table or an index, specify a TotalSegments value of 4. The value for TotalSegments must be greater than or equal to 1, and less than or equal to 1000000. If you specify a TotalSegments value of 1, the Scan operation will be sequential rather than parallel. If you specify TotalSegments, you must also specify Segment.", + "Select": "The attributes to be returned in the result. You can retrieve all item attributes, specific item attributes, the count of matching items, or in the case of an index, some or all of the attributes projected into the index. ALL_ATTRIBUTES - Returns all of the item attributes from the specified table or index. If you query a local secondary index, then for each matching item in the index, DynamoDB fetches the entire item from the parent table. If the index is configured to project all item attributes, then all of the data can be obtained from the local secondary index, and no fetching is required. ALL_PROJECTED_ATTRIBUTES - Allowed only when querying an index. Retrieves all attributes that have been projected into the index. If the index is configured to project all attributes, this return value is equivalent to specifying ALL_ATTRIBUTES. COUNT - Returns the number of matching items, rather than the matching items themselves. SPECIFIC_ATTRIBUTES - Returns only the attributes listed in AttributesToGet. This return value is equivalent to specifying AttributesToGet without specifying any value for Select. If you query or scan a local secondary index and request only attributes that are projected into that index, the operation reads only the index and not the table. If any of the requested attributes are not projected into the local secondary index, DynamoDB fetches each of these attributes from the parent table. This extra fetching incurs additional throughput cost and latency. If you query or scan a global secondary index, you can only request attributes that are projected into the index. Global secondary index queries cannot fetch attributes from the parent table. If neither Select nor AttributesToGet are specified, DynamoDB defaults to ALL_ATTRIBUTES when accessing a table, and ALL_PROJECTED_ATTRIBUTES when accessing an index. You cannot use both Select and AttributesToGet together in a single request, unless the value for Select is SPECIFIC_ATTRIBUTES. (This usage is equivalent to specifying AttributesToGet without any value for Select.) If you use the ProjectionExpression parameter, then the value for Select can only be SPECIFIC_ATTRIBUTES. Any other value for Select will return an error. " +} +""" +Scan(args) = dynamodb("Scan", args) + +""" + UpdateItem() + +Edits an existing item's attributes, or adds a new item to the table if it does not already exist. You can put, delete, or add attribute values. You can also perform a conditional update on an existing item (insert a new attribute name-value pair if it doesn't exist, or replace an existing name-value pair if it has certain expected attribute values). You can also return the item's attribute values in the same UpdateItem operation using the ReturnValues parameter. + +Required Parameters +{ + "TableName": "The name of the table containing the item to update.", + "Key": "The primary key of the item to be updated. Each element consists of an attribute name and a value for that attribute. For the primary key, you must provide all of the attributes. For example, with a simple primary key, you only need to provide a value for the partition key. For a composite primary key, you must provide values for both the partition key and the sort key." +} + +Optional Parameters +{ + "AttributeUpdates": "This is a legacy parameter. Use UpdateExpression instead. For more information, see AttributeUpdates in the Amazon DynamoDB Developer Guide.", + "ConditionExpression": "A condition that must be satisfied in order for a conditional update to succeed. An expression can contain any of the following: Functions: attribute_exists | attribute_not_exists | attribute_type | contains | begins_with | size These function names are case-sensitive. Comparison operators: = | <> | < | > | <= | >= | BETWEEN | IN Logical operators: AND | OR | NOT For more information about condition expressions, see Specifying Conditions in the Amazon DynamoDB Developer Guide.", + "UpdateExpression": "An expression that defines one or more attributes to be updated, the action to be performed on them, and new values for them. The following action values are available for UpdateExpression. SET - Adds one or more attributes and values to an item. If any of these attributes already exist, they are replaced by the new values. You can also use SET to add or subtract from an attribute that is of type Number. For example: SET myNum = myNum + :val SET supports the following functions: if_not_exists (path, operand) - if the item does not contain an attribute at the specified path, then if_not_exists evaluates to operand; otherwise, it evaluates to path. You can use this function to avoid overwriting an attribute that may already be present in the item. list_append (operand, operand) - evaluates to a list with a new element added to it. You can append the new element to the start or the end of the list by reversing the order of the operands. These function names are case-sensitive. REMOVE - Removes one or more attributes from an item. ADD - Adds the specified value to the item, if the attribute does not already exist. If the attribute does exist, then the behavior of ADD depends on the data type of the attribute: If the existing attribute is a number, and if Value is also a number, then Value is mathematically added to the existing attribute. If Value is a negative number, then it is subtracted from the existing attribute. If you use ADD to increment or decrement a number value for an item that doesn't exist before the update, DynamoDB uses 0 as the initial value. Similarly, if you use ADD for an existing item to increment or decrement an attribute value that doesn't exist before the update, DynamoDB uses 0 as the initial value. For example, suppose that the item you want to update doesn't have an attribute named itemcount, but you decide to ADD the number 3 to this attribute anyway. DynamoDB will create the itemcount attribute, set its initial value to 0, and finally add 3 to it. The result will be a new itemcount attribute in the item, with a value of 3. If the existing data type is a set and if Value is also a set, then Value is added to the existing set. For example, if the attribute value is the set [1,2], and the ADD action specified [3], then the final attribute value is [1,2,3]. An error occurs if an ADD action is specified for a set attribute and the attribute type specified does not match the existing set type. Both sets must have the same primitive data type. For example, if the existing data type is a set of strings, the Value must also be a set of strings. The ADD action only supports Number and set data types. In addition, ADD can only be used on top-level attributes, not nested attributes. DELETE - Deletes an element from a set. If a set of values is specified, then those values are subtracted from the old set. For example, if the attribute value was the set [a,b,c] and the DELETE action specifies [a,c], then the final attribute value is [b]. Specifying an empty set is an error. The DELETE action only supports set data types. In addition, DELETE can only be used on top-level attributes, not nested attributes. You can have many actions in a single expression, such as the following: SET a=:value1, b=:value2 DELETE :value3, :value4, :value5 For more information on update expressions, see Modifying Items and Attributes in the Amazon DynamoDB Developer Guide.", + "ReturnValues": "Use ReturnValues if you want to get the item attributes as they appear before or after they are updated. For UpdateItem, the valid values are: NONE - If ReturnValues is not specified, or if its value is NONE, then nothing is returned. (This setting is the default for ReturnValues.) ALL_OLD - Returns all of the attributes of the item, as they appeared before the UpdateItem operation. UPDATED_OLD - Returns only the updated attributes, as they appeared before the UpdateItem operation. ALL_NEW - Returns all of the attributes of the item, as they appear after the UpdateItem operation. UPDATED_NEW - Returns only the updated attributes, as they appear after the UpdateItem operation. There is no additional cost associated with requesting a return value aside from the small network and processing overhead of receiving a larger response. No read capacity units are consumed. The values returned are strongly consistent.", + "ExpressionAttributeValues": "One or more values that can be substituted in an expression. Use the : (colon) character in an expression to dereference an attribute value. For example, suppose that you wanted to check whether the value of the ProductStatus attribute was one of the following: Available | Backordered | Discontinued You would first need to specify ExpressionAttributeValues as follows: { \":avail\":{\"S\":\"Available\"}, \":back\":{\"S\":\"Backordered\"}, \":disc\":{\"S\":\"Discontinued\"} } You could then use these values in an expression, such as this: ProductStatus IN (:avail, :back, :disc) For more information on expression attribute values, see Condition Expressions in the Amazon DynamoDB Developer Guide.", + "ReturnConsumedCapacity": "", + "ReturnItemCollectionMetrics": "Determines whether item collection metrics are returned. If set to SIZE, the response includes statistics about item collections, if any, that were modified during the operation are returned in the response. If set to NONE (the default), no statistics are returned.", + "ConditionalOperator": "This is a legacy parameter. Use ConditionExpression instead. For more information, see ConditionalOperator in the Amazon DynamoDB Developer Guide.", + "ExpressionAttributeNames": "One or more substitution tokens for attribute names in an expression. The following are some use cases for using ExpressionAttributeNames: To access an attribute whose name conflicts with a DynamoDB reserved word. To create a placeholder for repeating occurrences of an attribute name in an expression. To prevent special characters in an attribute name from being misinterpreted in an expression. Use the # character in an expression to dereference an attribute name. For example, consider the following attribute name: Percentile The name of this attribute conflicts with a reserved word, so it cannot be used directly in an expression. (For the complete list of reserved words, see Reserved Words in the Amazon DynamoDB Developer Guide.) To work around this, you could specify the following for ExpressionAttributeNames: {\"#P\":\"Percentile\"} You could then use this substitution in an expression, as in this example: #P = :val Tokens that begin with the : character are expression attribute values, which are placeholders for the actual value at runtime. For more information about expression attribute names, see Specifying Item Attributes in the Amazon DynamoDB Developer Guide.", + "Expected": "This is a legacy parameter. Use ConditionExpression instead. For more information, see Expected in the Amazon DynamoDB Developer Guide." +} +""" +UpdateItem(args) = dynamodb("UpdateItem", args) + +""" + BatchGetItem() + +The BatchGetItem operation returns the attributes of one or more items from one or more tables. You identify requested items by primary key. A single operation can retrieve up to 16 MB of data, which can contain as many as 100 items. BatchGetItem returns a partial result if the response size limit is exceeded, the table's provisioned throughput is exceeded, or an internal processing failure occurs. If a partial result is returned, the operation returns a value for UnprocessedKeys. You can use this value to retry the operation starting with the next item to get. If you request more than 100 items, BatchGetItem returns a ValidationException with the message "Too many items requested for the BatchGetItem call." For example, if you ask to retrieve 100 items, but each individual item is 300 KB in size, the system returns 52 items (so as not to exceed the 16 MB limit). It also returns an appropriate UnprocessedKeys value so you can get the next page of results. If desired, your application can include its own logic to assemble the pages of results into one dataset. If none of the items can be processed due to insufficient provisioned throughput on all of the tables in the request, then BatchGetItem returns a ProvisionedThroughputExceededException. If at least one of the items is successfully processed, then BatchGetItem completes successfully, while returning the keys of the unread items in UnprocessedKeys. If DynamoDB returns any unprocessed items, you should retry the batch operation on those items. However, we strongly recommend that you use an exponential backoff algorithm. If you retry the batch operation immediately, the underlying read or write requests can still fail due to throttling on the individual tables. If you delay the batch operation using exponential backoff, the individual requests in the batch are much more likely to succeed. For more information, see Batch Operations and Error Handling in the Amazon DynamoDB Developer Guide. By default, BatchGetItem performs eventually consistent reads on every table in the request. If you want strongly consistent reads instead, you can set ConsistentRead to true for any or all tables. In order to minimize response latency, BatchGetItem retrieves items in parallel. When designing your application, keep in mind that DynamoDB does not return items in any particular order. To help parse the response by item, include the primary key values for the items in your request in the ProjectionExpression parameter. If a requested item does not exist, it is not returned in the result. Requests for nonexistent items consume the minimum read capacity units according to the type of read. For more information, see Working with Tables in the Amazon DynamoDB Developer Guide. + +Required Parameters +{ + "RequestItems": "A map of one or more table names and, for each table, a map that describes one or more items to retrieve from that table. Each table name can be used only once per BatchGetItem request. Each element in the map of items to retrieve consists of the following: ConsistentRead - If true, a strongly consistent read is used; if false (the default), an eventually consistent read is used. ExpressionAttributeNames - One or more substitution tokens for attribute names in the ProjectionExpression parameter. The following are some use cases for using ExpressionAttributeNames: To access an attribute whose name conflicts with a DynamoDB reserved word. To create a placeholder for repeating occurrences of an attribute name in an expression. To prevent special characters in an attribute name from being misinterpreted in an expression. Use the # character in an expression to dereference an attribute name. For example, consider the following attribute name: Percentile The name of this attribute conflicts with a reserved word, so it cannot be used directly in an expression. (For the complete list of reserved words, see Reserved Words in the Amazon DynamoDB Developer Guide). To work around this, you could specify the following for ExpressionAttributeNames: {\"#P\":\"Percentile\"} You could then use this substitution in an expression, as in this example: #P = :val Tokens that begin with the : character are expression attribute values, which are placeholders for the actual value at runtime. For more information about expression attribute names, see Accessing Item Attributes in the Amazon DynamoDB Developer Guide. Keys - An array of primary key attribute values that define specific items in the table. For each primary key, you must provide all of the key attributes. For example, with a simple primary key, you only need to provide the partition key value. For a composite key, you must provide both the partition key value and the sort key value. ProjectionExpression - A string that identifies one or more attributes to retrieve from the table. These attributes can include scalars, sets, or elements of a JSON document. The attributes in the expression must be separated by commas. If no attribute names are specified, then all attributes are returned. If any of the requested attributes are not found, they do not appear in the result. For more information, see Accessing Item Attributes in the Amazon DynamoDB Developer Guide. AttributesToGet - This is a legacy parameter. Use ProjectionExpression instead. For more information, see AttributesToGet in the Amazon DynamoDB Developer Guide. " +} + +Optional Parameters +{ + "ReturnConsumedCapacity": "" +} +""" +BatchGetItem(args) = dynamodb("BatchGetItem", args) + +""" + UpdateContinuousBackups() + + UpdateContinuousBackups enables or disables point in time recovery for the specified table. A successful UpdateContinuousBackups call returns the current ContinuousBackupsDescription. Continuous backups are ENABLED on all tables at table creation. If point in time recovery is enabled, PointInTimeRecoveryStatus will be set to ENABLED. Once continuous backups and point in time recovery are enabled, you can restore to any point in time within EarliestRestorableDateTime and LatestRestorableDateTime. LatestRestorableDateTime is typically 5 minutes before the current time. You can restore your table to any point in time during the last 35 days. + +Required Parameters +{ + "TableName": "The name of the table.", + "PointInTimeRecoverySpecification": "Represents the settings used to enable point in time recovery." +} +""" +UpdateContinuousBackups(args) = dynamodb("UpdateContinuousBackups", args) + +""" + DescribeContinuousBackups() + +Checks the status of continuous backups and point in time recovery on the specified table. Continuous backups are ENABLED on all tables at table creation. If point in time recovery is enabled, PointInTimeRecoveryStatus will be set to ENABLED. After continuous backups and point in time recovery are enabled, you can restore to any point in time within EarliestRestorableDateTime and LatestRestorableDateTime. LatestRestorableDateTime is typically 5 minutes before the current time. You can restore your table to any point in time during the last 35 days. You can call DescribeContinuousBackups at a maximum rate of 10 times per second. + +Required Parameters +{ + "TableName": "Name of the table for which the customer wants to check the continuous backups and point in time recovery settings." +} +""" +DescribeContinuousBackups(args) = dynamodb("DescribeContinuousBackups", args) diff --git a/src/services/dynamodb_streams.jl b/src/services/dynamodb_streams.jl new file mode 100644 index 0000000000..73cc07fa5d --- /dev/null +++ b/src/services/dynamodb_streams.jl @@ -0,0 +1,71 @@ +include("../AWSServices.jl") +using .AWSServices: dynamodb_streams + +""" + GetRecords() + +Retrieves the stream records from a given shard. Specify a shard iterator using the ShardIterator parameter. The shard iterator specifies the position in the shard from which you want to start reading stream records sequentially. If there are no stream records available in the portion of the shard that the iterator points to, GetRecords returns an empty list. Note that it might take multiple calls to get to a portion of the shard that contains stream records. GetRecords can retrieve a maximum of 1 MB of data or 1000 stream records, whichever comes first. + +Required Parameters +{ + "ShardIterator": "A shard iterator that was retrieved from a previous GetShardIterator operation. This iterator can be used to access the stream records in this shard." +} + +Optional Parameters +{ + "Limit": "The maximum number of records to return from the shard. The upper limit is 1000." +} +""" +GetRecords(args) = dynamodb_streams("GetRecords", args) + +""" + GetShardIterator() + +Returns a shard iterator. A shard iterator provides information about how to retrieve the stream records from within a shard. Use the shard iterator in a subsequent GetRecords request to read the stream records from the shard. A shard iterator expires 15 minutes after it is returned to the requester. + +Required Parameters +{ + "ShardId": "The identifier of the shard. The iterator will be returned for this shard ID.", + "ShardIteratorType": "Determines how the shard iterator is used to start reading stream records from the shard: AT_SEQUENCE_NUMBER - Start reading exactly from the position denoted by a specific sequence number. AFTER_SEQUENCE_NUMBER - Start reading right after the position denoted by a specific sequence number. TRIM_HORIZON - Start reading at the last (untrimmed) stream record, which is the oldest record in the shard. In DynamoDB Streams, there is a 24 hour limit on data retention. Stream records whose age exceeds this limit are subject to removal (trimming) from the stream. LATEST - Start reading just after the most recent stream record in the shard, so that you always read the most recent data in the shard. ", + "StreamArn": "The Amazon Resource Name (ARN) for the stream." +} + +Optional Parameters +{ + "SequenceNumber": "The sequence number of a stream record in the shard from which to start reading." +} +""" +GetShardIterator(args) = dynamodb_streams("GetShardIterator", args) + +""" + ListStreams() + +Returns an array of stream ARNs associated with the current account and endpoint. If the TableName parameter is present, then ListStreams will return only the streams ARNs for that table. You can call ListStreams at a maximum rate of 5 times per second. + +Optional Parameters +{ + "ExclusiveStartStreamArn": "The ARN (Amazon Resource Name) of the first item that this operation will evaluate. Use the value that was returned for LastEvaluatedStreamArn in the previous operation. ", + "TableName": "If this parameter is provided, then only the streams associated with this table name are returned.", + "Limit": "The maximum number of streams to return. The upper limit is 100." +} +""" +ListStreams() = dynamodb_streams("ListStreams") +ListStreams(args) = dynamodb_streams("ListStreams", args) + +""" + DescribeStream() + +Returns information about a stream, including the current status of the stream, its Amazon Resource Name (ARN), the composition of its shards, and its corresponding DynamoDB table. You can call DescribeStream at a maximum rate of 10 times per second. Each shard in the stream has a SequenceNumberRange associated with it. If the SequenceNumberRange has a StartingSequenceNumber but no EndingSequenceNumber, then the shard is still open (able to receive more stream records). If both StartingSequenceNumber and EndingSequenceNumber are present, then that shard is closed and can no longer receive more data. + +Required Parameters +{ + "StreamArn": "The Amazon Resource Name (ARN) for the stream." +} + +Optional Parameters +{ + "ExclusiveStartShardId": "The shard ID of the first item that this operation will evaluate. Use the value that was returned for LastEvaluatedShardId in the previous operation. ", + "Limit": "The maximum number of shard objects to return. The upper limit is 100." +} +""" +DescribeStream(args) = dynamodb_streams("DescribeStream", args) diff --git a/src/services/ebs.jl b/src/services/ebs.jl new file mode 100644 index 0000000000..6bb914b635 --- /dev/null +++ b/src/services/ebs.jl @@ -0,0 +1,55 @@ +include("../AWSServices.jl") +using .AWSServices: ebs + +""" + ListChangedBlocks() + +Returns the block indexes and block tokens for blocks that are different between two Amazon Elastic Block Store snapshots of the same volume/snapshot lineage. + +Required Parameters +{ + "SecondSnapshotId": "The ID of the second snapshot to use for the comparison. The SecondSnapshotId parameter must be specified with a FirstSnapshotID parameter; otherwise, an error occurs. " +} + +Optional Parameters +{ + "MaxResults": "The number of results to return.", + "StartingBlockIndex": "The block index from which the comparison should start. The list in the response will start from this block index or the next valid block index in the snapshots.", + "NextToken": "The token to request the next page of results.", + "FirstSnapshotId": "The ID of the first snapshot to use for the comparison. The FirstSnapshotID parameter must be specified with a SecondSnapshotId parameter; otherwise, an error occurs. " +} +""" +ListChangedBlocks(args) = ebs("GET", "/snapshots/{secondSnapshotId}/changedblocks", args) + +""" + GetSnapshotBlock() + +Returns the data in a block in an Amazon Elastic Block Store snapshot. + +Required Parameters +{ + "SnapshotId": "The ID of the snapshot containing the block from which to get data.", + "BlockIndex": "The block index of the block from which to get data. Obtain the BlockIndex by running the ListChangedBlocks or ListSnapshotBlocks operations.", + "BlockToken": "The block token of the block from which to get data. Obtain the BlockToken by running the ListChangedBlocks or ListSnapshotBlocks operations." +} +""" +GetSnapshotBlock(args) = ebs("GET", "/snapshots/{snapshotId}/blocks/{blockIndex}", args) + +""" + ListSnapshotBlocks() + +Returns the block indexes and block tokens for blocks in an Amazon Elastic Block Store snapshot. + +Required Parameters +{ + "SnapshotId": "The ID of the snapshot from which to get block indexes and block tokens." +} + +Optional Parameters +{ + "MaxResults": "The number of results to return.", + "StartingBlockIndex": "The block index from which the list should start. The list in the response will start from this block index or the next valid block index in the snapshot.", + "NextToken": "The token to request the next page of results." +} +""" +ListSnapshotBlocks(args) = ebs("GET", "/snapshots/{snapshotId}/blocks", args) diff --git a/src/services/ec2.jl b/src/services/ec2.jl new file mode 100644 index 0000000000..44659898fd --- /dev/null +++ b/src/services/ec2.jl @@ -0,0 +1,7283 @@ +include("../AWSServices.jl") +using .AWSServices: ec2 + +""" + ModifyHosts() + +Modify the auto-placement setting of a Dedicated Host. When auto-placement is enabled, any instances that you launch with a tenancy of host but without a specific host ID are placed onto any available Dedicated Host in your account that has auto-placement enabled. When auto-placement is disabled, you need to provide a host ID to have the instance launch onto a specific host. If no host ID is provided, the instance is launched onto a suitable host with auto-placement enabled. You can also use this API action to modify a Dedicated Host to support either multiple instance types in an instance family, or to support a specific instance type only. + +Required Parameters +{ + "HostIds": "The IDs of the Dedicated Hosts to modify." +} + +Optional Parameters +{ + "InstanceFamily": "Specifies the instance family to be supported by the Dedicated Host. Specify this parameter to modify a Dedicated Host to support multiple instance types within its current instance family. If you want to modify a Dedicated Host to support a specific instance type only, omit this parameter and specify InstanceType instead. You cannot specify InstanceFamily and InstanceType in the same request.", + "AutoPlacement": "Specify whether to enable or disable auto-placement.", + "InstanceType": "Specifies the instance type to be supported by the Dedicated Host. Specify this parameter to modify a Dedicated Host to support only a specific instance type. If you want to modify a Dedicated Host to support multiple instance types in its current instance family, omit this parameter and specify InstanceFamily instead. You cannot specify InstanceType and InstanceFamily in the same request.", + "HostRecovery": "Indicates whether to enable or disable host recovery for the Dedicated Host. For more information, see Host Recovery in the Amazon Elastic Compute Cloud User Guide." +} +""" +ModifyHosts(args) = ec2("ModifyHosts", args) + +""" + StartInstances() + +Starts an Amazon EBS-backed instance that you've previously stopped. Instances that use Amazon EBS volumes as their root devices can be quickly stopped and started. When an instance is stopped, the compute resources are released and you are not billed for instance usage. However, your root partition Amazon EBS volume remains and continues to persist your data, and you are charged for Amazon EBS volume usage. You can restart your instance at any time. Every time you start your Windows instance, Amazon EC2 charges you for a full instance hour. If you stop and restart your Windows instance, a new instance hour begins and Amazon EC2 charges you for another full instance hour even if you are still within the same 60-minute period when it was stopped. Every time you start your Linux instance, Amazon EC2 charges a one-minute minimum for instance usage, and thereafter charges per second for instance usage. Before stopping an instance, make sure it is in a state from which it can be restarted. Stopping an instance does not preserve data stored in RAM. Performing this operation on an instance that uses an instance store as its root device returns an error. For more information, see Stopping Instances in the Amazon Elastic Compute Cloud User Guide. + +Required Parameters +{ + "InstanceIds": "The IDs of the instances." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "AdditionalInfo": "Reserved." +} +""" +StartInstances(args) = ec2("StartInstances", args) + +""" + DetachInternetGateway() + +Detaches an internet gateway from a VPC, disabling connectivity between the internet and the VPC. The VPC must not contain any running instances with Elastic IP addresses or public IPv4 addresses. + +Required Parameters +{ + "InternetGatewayId": "The ID of the internet gateway.", + "VpcId": "The ID of the VPC." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +DetachInternetGateway(args) = ec2("DetachInternetGateway", args) + +""" + DescribeIamInstanceProfileAssociations() + +Describes your IAM instance profile associations. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned NextToken value.", + "NextToken": "The token to request the next page of results.", + "AssociationIds": "The IAM instance profile associations.", + "Filters": "The filters. instance-id - The ID of the instance. state - The state of the association (associating | associated | disassociating | disassociated). " +} +""" +DescribeIamInstanceProfileAssociations() = ec2("DescribeIamInstanceProfileAssociations") +DescribeIamInstanceProfileAssociations(args) = ec2("DescribeIamInstanceProfileAssociations", args) + +""" + DescribeVolumeAttribute() + +Describes the specified attribute of the specified volume. You can specify only one attribute at a time. For more information about EBS volumes, see Amazon EBS Volumes in the Amazon Elastic Compute Cloud User Guide. + +Required Parameters +{ + "VolumeId": "The ID of the volume.", + "Attribute": "The attribute of the volume. This parameter is required." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +DescribeVolumeAttribute(args) = ec2("DescribeVolumeAttribute", args) + +""" + CreateClientVpnRoute() + +Adds a route to a network to a Client VPN endpoint. Each Client VPN endpoint has a route table that describes the available destination network routes. Each route in the route table specifies the path for traffic to specific resources or networks. + +Required Parameters +{ + "TargetVpcSubnetId": "The ID of the subnet through which you want to route traffic. The specified subnet must be an existing target network of the Client VPN endpoint.", + "DestinationCidrBlock": "The IPv4 address range, in CIDR notation, of the route destination. For example: To add a route for Internet access, enter 0.0.0.0/0 To add a route for a peered VPC, enter the peered VPC's IPv4 CIDR range To add a route for an on-premises network, enter the AWS Site-to-Site VPN connection's IPv4 CIDR range Route address ranges cannot overlap with the CIDR range specified for client allocation.", + "ClientVpnEndpointId": "The ID of the Client VPN endpoint to which to add the route." +} + +Optional Parameters +{ + "Description": "A brief description of the route.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "ClientToken": "Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency." +} +""" +CreateClientVpnRoute(args) = ec2("CreateClientVpnRoute", args) + +""" + GetReservedInstancesExchangeQuote() + +Returns a quote and exchange information for exchanging one or more specified Convertible Reserved Instances for a new Convertible Reserved Instance. If the exchange cannot be performed, the reason is returned in the response. Use AcceptReservedInstancesExchangeQuote to perform the exchange. + +Required Parameters +{ + "ReservedInstanceIds": "The IDs of the Convertible Reserved Instances to exchange." +} + +Optional Parameters +{ + "TargetConfigurations": "The configuration of the target Convertible Reserved Instance to exchange for your current Convertible Reserved Instances.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +GetReservedInstancesExchangeQuote(args) = ec2("GetReservedInstancesExchangeQuote", args) + +""" + ProvisionByoipCidr() + +Provisions an IPv4 or IPv6 address range for use with your AWS resources through bring your own IP addresses (BYOIP) and creates a corresponding address pool. After the address range is provisioned, it is ready to be advertised using AdvertiseByoipCidr. AWS verifies that you own the address range and are authorized to advertise it. You must ensure that the address range is registered to you and that you created an RPKI ROA to authorize Amazon ASNs 16509 and 14618 to advertise the address range. For more information, see Bring Your Own IP Addresses (BYOIP) in the Amazon Elastic Compute Cloud User Guide. Provisioning an address range is an asynchronous operation, so the call returns immediately, but the address range is not ready to use until its status changes from pending-provision to provisioned. To monitor the status of an address range, use DescribeByoipCidrs. To allocate an Elastic IP address from your IPv4 address pool, use AllocateAddress with either the specific address from the address pool or the ID of the address pool. + +Required Parameters +{ + "Cidr": "The public IPv4 or IPv6 address range, in CIDR notation. The most specific IPv4 prefix that you can specify is /24. The most specific IPv6 prefix you can specify is /56. The address range cannot overlap with another address range that you've brought to this or another Region." +} + +Optional Parameters +{ + "Description": "A description for the address range and the address pool.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "CidrAuthorizationContext": "A signed document that proves that you are authorized to bring the specified IP address range to Amazon using BYOIP.", + "PubliclyAdvertisable": "(IPv6 only) Indicate whether the address range will be publicly advertised to the internet. Default: true" +} +""" +ProvisionByoipCidr(args) = ec2("ProvisionByoipCidr", args) + +""" + ReplaceRoute() + +Replaces an existing route within a route table in a VPC. You must provide only one of the following: internet gateway, virtual private gateway, NAT instance, NAT gateway, VPC peering connection, network interface, egress-only internet gateway, or transit gateway. For more information, see Route Tables in the Amazon Virtual Private Cloud User Guide. + +Required Parameters +{ + "RouteTableId": "The ID of the route table." +} + +Optional Parameters +{ + "DestinationIpv6CidrBlock": "The IPv6 CIDR address block used for the destination match. The value that you provide must match the CIDR of an existing route in the table.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "EgressOnlyInternetGatewayId": "[IPv6 traffic only] The ID of an egress-only internet gateway.", + "TransitGatewayId": "The ID of a transit gateway.", + "InstanceId": "The ID of a NAT instance in your VPC.", + "LocalGatewayId": "The ID of the local gateway.", + "NatGatewayId": "[IPv4 traffic only] The ID of a NAT gateway.", + "DestinationCidrBlock": "The IPv4 CIDR address block used for the destination match. The value that you provide must match the CIDR of an existing route in the table.", + "LocalTarget": "Specifies whether to reset the local route to its default target (local).", + "VpcPeeringConnectionId": "The ID of a VPC peering connection.", + "NetworkInterfaceId": "The ID of a network interface.", + "GatewayId": "The ID of an internet gateway or virtual private gateway." +} +""" +ReplaceRoute(args) = ec2("ReplaceRoute", args) + +""" + RegisterImage() + +Registers an AMI. When you're creating an AMI, this is the final step you must complete before you can launch an instance from the AMI. For more information about creating AMIs, see Creating Your Own AMIs in the Amazon Elastic Compute Cloud User Guide. For Amazon EBS-backed instances, CreateImage creates and registers the AMI in a single request, so you don't have to register the AMI yourself. You can also use RegisterImage to create an Amazon EBS-backed Linux AMI from a snapshot of a root device volume. You specify the snapshot using the block device mapping. For more information, see Launching a Linux Instance from a Backup in the Amazon Elastic Compute Cloud User Guide. You can't register an image where a secondary (non-root) snapshot has AWS Marketplace product codes. Windows and some Linux distributions, such as Red Hat Enterprise Linux (RHEL) and SUSE Linux Enterprise Server (SLES), use the EC2 billing product code associated with an AMI to verify the subscription status for package updates. To create a new AMI for operating systems that require a billing product code, instead of registering the AMI, do the following to preserve the billing product code association: Launch an instance from an existing AMI with that billing product code. Customize the instance. Create an AMI from the instance using CreateImage. If you purchase a Reserved Instance to apply to an On-Demand Instance that was launched from an AMI with a billing product code, make sure that the Reserved Instance has the matching billing product code. If you purchase a Reserved Instance without the matching billing product code, the Reserved Instance will not be applied to the On-Demand Instance. For information about how to obtain the platform details and billing information of an AMI, see Obtaining Billing Information in the Amazon Elastic Compute Cloud User Guide. If needed, you can deregister an AMI at any time. Any modifications you make to an AMI backed by an instance store volume invalidates its registration. If you make changes to an image, deregister the previous image and register the new image. + +Required Parameters +{ + "Name": "A name for your AMI. Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets ([]), spaces ( ), periods (.), slashes (/), dashes (-), single quotes ('), at-signs (@), or underscores(_)" +} + +Optional Parameters +{ + "BlockDeviceMappings": "The block device mapping entries.", + "Architecture": "The architecture of the AMI. Default: For Amazon EBS-backed AMIs, i386. For instance store-backed AMIs, the architecture specified in the manifest file.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "RootDeviceName": "The device name of the root device volume (for example, /dev/sda1).", + "KernelId": "The ID of the kernel.", + "BillingProducts": "The billing product codes. Your account must be authorized to specify billing product codes. Otherwise, you can use the AWS Marketplace to bill for the use of an AMI.", + "ImageLocation": "The full path to your AMI manifest in Amazon S3 storage. The specified bucket must have the aws-exec-read canned access control list (ACL) to ensure that it can be accessed by Amazon EC2. For more information, see Canned ACLs in the Amazon S3 Service Developer Guide.", + "EnaSupport": "Set to true to enable enhanced networking with ENA for the AMI and any instances that you launch from the AMI. This option is supported only for HVM AMIs. Specifying this option with a PV AMI can make instances launched from the AMI unreachable.", + "Description": "A description for your AMI.", + "SriovNetSupport": "Set to simple to enable enhanced networking with the Intel 82599 Virtual Function interface for the AMI and any instances that you launch from the AMI. There is no way to disable sriovNetSupport at this time. This option is supported only for HVM AMIs. Specifying this option with a PV AMI can make instances launched from the AMI unreachable.", + "RamdiskId": "The ID of the RAM disk.", + "VirtualizationType": "The type of virtualization (hvm | paravirtual). Default: paravirtual " +} +""" +RegisterImage(args) = ec2("RegisterImage", args) + +""" + DescribeNetworkInterfaceAttribute() + +Describes a network interface attribute. You can specify only one attribute at a time. + +Required Parameters +{ + "NetworkInterfaceId": "The ID of the network interface." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "Attribute": "The attribute of the network interface. This parameter is required." +} +""" +DescribeNetworkInterfaceAttribute(args) = ec2("DescribeNetworkInterfaceAttribute", args) + +""" + RevokeSecurityGroupIngress() + +Removes the specified ingress rules from a security group. To remove a rule, the values that you specify (for example, ports) must match the existing rule's values exactly. [EC2-Classic only] If the values you specify do not match the existing rule's values, no error is returned. Use DescribeSecurityGroups to verify that the rule has been removed. Each rule consists of the protocol and the CIDR range or source security group. For the TCP and UDP protocols, you must also specify the destination port or range of ports. For the ICMP protocol, you must also specify the ICMP type and code. If the security group rule has a description, you do not have to specify the description to revoke the rule. Rule changes are propagated to instances within the security group as quickly as possible. However, a small delay might occur. + +Optional Parameters +{ + "SourceSecurityGroupName": "[EC2-Classic, default VPC] The name of the source security group. You can't specify this parameter in combination with the following parameters: the CIDR IP address range, the start of the port range, the IP protocol, and the end of the port range. For EC2-VPC, the source security group must be in the same VPC. To revoke a specific rule for an IP protocol and port range, use a set of IP permissions instead.", + "SourceSecurityGroupOwnerId": "[EC2-Classic] The AWS account ID of the source security group, if the source security group is in a different account. You can't specify this parameter in combination with the following parameters: the CIDR IP address range, the IP protocol, the start of the port range, and the end of the port range. To revoke a specific rule for an IP protocol and port range, use a set of IP permissions instead.", + "CidrIp": "The CIDR IP address range. You can't specify this parameter when specifying a source security group.", + "GroupId": "The ID of the security group. You must specify either the security group ID or the security group name in the request. For security groups in a nondefault VPC, you must specify the security group ID.", + "IpProtocol": "The IP protocol name (tcp, udp, icmp) or number (see Protocol Numbers). Use -1 to specify all.", + "FromPort": "The start of port range for the TCP and UDP protocols, or an ICMP type number. For the ICMP type number, use -1 to specify all ICMP types.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "GroupName": "[EC2-Classic, default VPC] The name of the security group. You must specify either the security group ID or the security group name in the request.", + "ToPort": "The end of port range for the TCP and UDP protocols, or an ICMP code number. For the ICMP code number, use -1 to specify all ICMP codes for the ICMP type.", + "IpPermissions": "The sets of IP permissions. You can't specify a source security group and a CIDR IP address range in the same set of permissions." +} +""" +RevokeSecurityGroupIngress() = ec2("RevokeSecurityGroupIngress") +RevokeSecurityGroupIngress(args) = ec2("RevokeSecurityGroupIngress", args) + +""" + CreateSpotDatafeedSubscription() + +Creates a data feed for Spot Instances, enabling you to view Spot Instance usage logs. You can create one data feed per AWS account. For more information, see Spot Instance Data Feed in the Amazon EC2 User Guide for Linux Instances. + +Required Parameters +{ + "Bucket": "The Amazon S3 bucket in which to store the Spot Instance data feed." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "Prefix": "A prefix for the data feed file names." +} +""" +CreateSpotDatafeedSubscription(args) = ec2("CreateSpotDatafeedSubscription", args) + +""" + DeleteNetworkAclEntry() + +Deletes the specified ingress or egress entry (rule) from the specified network ACL. + +Required Parameters +{ + "Egress": "Indicates whether the rule is an egress rule.", + "RuleNumber": "The rule number of the entry to delete.", + "NetworkAclId": "The ID of the network ACL." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +DeleteNetworkAclEntry(args) = ec2("DeleteNetworkAclEntry", args) + +""" + DetachClassicLinkVpc() + +Unlinks (detaches) a linked EC2-Classic instance from a VPC. After the instance has been unlinked, the VPC security groups are no longer associated with it. An instance is automatically unlinked from a VPC when it's stopped. + +Required Parameters +{ + "InstanceId": "The ID of the instance to unlink from the VPC.", + "VpcId": "The ID of the VPC to which the instance is linked." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +DetachClassicLinkVpc(args) = ec2("DetachClassicLinkVpc", args) + +""" + CreateKeyPair() + +Creates a 2048-bit RSA key pair with the specified name. Amazon EC2 stores the public key and displays the private key for you to save to a file. The private key is returned as an unencrypted PEM encoded PKCS#1 private key. If a key with the specified name already exists, Amazon EC2 returns an error. You can have up to five thousand key pairs per Region. The key pair returned to you is available only in the Region in which you create it. If you prefer, you can create your own key pair using a third-party tool and upload it to any Region using ImportKeyPair. For more information, see Key Pairs in the Amazon Elastic Compute Cloud User Guide. + +Required Parameters +{ + "KeyName": "A unique name for the key pair. Constraints: Up to 255 ASCII characters" +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +CreateKeyPair(args) = ec2("CreateKeyPair", args) + +""" + ReplaceTransitGatewayRoute() + +Replaces the specified route in the specified transit gateway route table. + +Required Parameters +{ + "DestinationCidrBlock": "The CIDR range used for the destination match. Routing decisions are based on the most specific match.", + "TransitGatewayRouteTableId": "The ID of the route table." +} + +Optional Parameters +{ + "TransitGatewayAttachmentId": "The ID of the attachment.", + "Blackhole": "Indicates whether traffic matching this route is to be dropped.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +ReplaceTransitGatewayRoute(args) = ec2("ReplaceTransitGatewayRoute", args) + +""" + DeleteVpcEndpoints() + +Deletes one or more specified VPC endpoints. Deleting a gateway endpoint also deletes the endpoint routes in the route tables that were associated with the endpoint. Deleting an interface endpoint deletes the endpoint network interfaces. + +Required Parameters +{ + "VpcEndpointIds": "One or more VPC endpoint IDs." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +DeleteVpcEndpoints(args) = ec2("DeleteVpcEndpoints", args) + +""" + DescribeTrafficMirrorFilters() + +Describes one or more Traffic Mirror filters. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.", + "TrafficMirrorFilterIds": "The ID of the Traffic Mirror filter.", + "NextToken": "The token for the next page of results.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "Filters": "One or more filters. The possible values are: description: The Traffic Mirror filter description. traffic-mirror-filter-id: The ID of the Traffic Mirror filter. " +} +""" +DescribeTrafficMirrorFilters() = ec2("DescribeTrafficMirrorFilters") +DescribeTrafficMirrorFilters(args) = ec2("DescribeTrafficMirrorFilters", args) + +""" + ReplaceNetworkAclAssociation() + +Changes which network ACL a subnet is associated with. By default when you create a subnet, it's automatically associated with the default network ACL. For more information, see Network ACLs in the Amazon Virtual Private Cloud User Guide. This is an idempotent operation. + +Required Parameters +{ + "AssociationId": "The ID of the current association between the original network ACL and the subnet.", + "NetworkAclId": "The ID of the new network ACL to associate with the subnet." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +ReplaceNetworkAclAssociation(args) = ec2("ReplaceNetworkAclAssociation", args) + +""" + ModifyVpcEndpointServicePermissions() + +Modifies the permissions for your VPC endpoint service. You can add or remove permissions for service consumers (IAM users, IAM roles, and AWS accounts) to connect to your endpoint service. If you grant permissions to all principals, the service is public. Any users who know the name of a public service can send a request to attach an endpoint. If the service does not require manual approval, attachments are automatically approved. + +Required Parameters +{ + "ServiceId": "The ID of the service." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "AddAllowedPrincipals": "The Amazon Resource Names (ARN) of one or more principals. Permissions are granted to the principals in this list. To grant permissions to all principals, specify an asterisk (*).", + "RemoveAllowedPrincipals": "The Amazon Resource Names (ARN) of one or more principals. Permissions are revoked for principals in this list." +} +""" +ModifyVpcEndpointServicePermissions(args) = ec2("ModifyVpcEndpointServicePermissions", args) + +""" + DescribeClientVpnRoutes() + +Describes the routes for the specified Client VPN endpoint. + +Required Parameters +{ + "ClientVpnEndpointId": "The ID of the Client VPN endpoint." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the nextToken value.", + "NextToken": "The token to retrieve the next page of results.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "Filters": "One or more filters. Filter names and values are case-sensitive. destination-cidr - The CIDR of the route destination. origin - How the route was associated with the Client VPN endpoint (associate | add-route). target-subnet - The ID of the subnet through which traffic is routed. " +} +""" +DescribeClientVpnRoutes(args) = ec2("DescribeClientVpnRoutes", args) + +""" + ReplaceNetworkAclEntry() + +Replaces an entry (rule) in a network ACL. For more information, see Network ACLs in the Amazon Virtual Private Cloud User Guide. + +Required Parameters +{ + "Egress": "Indicates whether to replace the egress rule. Default: If no value is specified, we replace the ingress rule.", + "RuleNumber": "The rule number of the entry to replace.", + "NetworkAclId": "The ID of the ACL.", + "RuleAction": "Indicates whether to allow or deny the traffic that matches the rule.", + "Protocol": "The protocol number. A value of \"-1\" means all protocols. If you specify \"-1\" or a protocol number other than \"6\" (TCP), \"17\" (UDP), or \"1\" (ICMP), traffic on all ports is allowed, regardless of any ports or ICMP types or codes that you specify. If you specify protocol \"58\" (ICMPv6) and specify an IPv4 CIDR block, traffic for all ICMP types and codes allowed, regardless of any that you specify. If you specify protocol \"58\" (ICMPv6) and specify an IPv6 CIDR block, you must specify an ICMP type and code." +} + +Optional Parameters +{ + "IcmpTypeCode": "ICMP protocol: The ICMP or ICMPv6 type and code. Required if specifying protocol 1 (ICMP) or protocol 58 (ICMPv6) with an IPv6 CIDR block.", + "CidrBlock": "The IPv4 network range to allow or deny, in CIDR notation (for example 172.16.0.0/24).", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "Ipv6CidrBlock": "The IPv6 network range to allow or deny, in CIDR notation (for example 2001:bd8:1234:1a00::/64).", + "PortRange": "TCP or UDP protocols: The range of ports the rule applies to. Required if specifying protocol 6 (TCP) or 17 (UDP)." +} +""" +ReplaceNetworkAclEntry(args) = ec2("ReplaceNetworkAclEntry", args) + +""" + DescribeSnapshots() + +Describes the specified EBS snapshots available to you or all of the EBS snapshots available to you. The snapshots available to you include public snapshots, private snapshots that you own, and private snapshots owned by other AWS accounts for which you have explicit create volume permissions. The create volume permissions fall into the following categories: public: The owner of the snapshot granted create volume permissions for the snapshot to the all group. All AWS accounts have create volume permissions for these snapshots. explicit: The owner of the snapshot granted create volume permissions to a specific AWS account. implicit: An AWS account has implicit create volume permissions for all snapshots it owns. The list of snapshots returned can be filtered by specifying snapshot IDs, snapshot owners, or AWS accounts with create volume permissions. If no options are specified, Amazon EC2 returns all snapshots for which you have create volume permissions. If you specify one or more snapshot IDs, only snapshots that have the specified IDs are returned. If you specify an invalid snapshot ID, an error is returned. If you specify a snapshot ID for which you do not have access, it is not included in the returned results. If you specify one or more snapshot owners using the OwnerIds option, only snapshots from the specified owners and for which you have access are returned. The results can include the AWS account IDs of the specified owners, amazon for snapshots owned by Amazon, or self for snapshots that you own. If you specify a list of restorable users, only snapshots with create snapshot permissions for those users are returned. You can specify AWS account IDs (if you own the snapshots), self for snapshots for which you own or have explicit permissions, or all for public snapshots. If you are describing a long list of snapshots, you can paginate the output to make the list more manageable. The MaxResults parameter sets the maximum number of results returned in a single page. If the list of results exceeds your MaxResults value, then that number of results is returned along with a NextToken value that can be passed to a subsequent DescribeSnapshots request to retrieve the remaining results. To get the state of fast snapshot restores for a snapshot, use DescribeFastSnapshotRestores. For more information about EBS snapshots, see Amazon EBS Snapshots in the Amazon Elastic Compute Cloud User Guide. + +Optional Parameters +{ + "MaxResults": "The maximum number of snapshot results returned by DescribeSnapshots in paginated output. When this parameter is used, DescribeSnapshots only returns MaxResults results in a single page along with a NextToken response element. The remaining results of the initial request can be seen by sending another DescribeSnapshots request with the returned NextToken value. This value can be between 5 and 1000; if MaxResults is given a value larger than 1000, only 1000 results are returned. If this parameter is not used, then DescribeSnapshots returns all results. You cannot specify this parameter and the snapshot IDs parameter in the same request.", + "OwnerIds": "Describes the snapshots owned by these owners.", + "SnapshotIds": "The snapshot IDs. Default: Describes the snapshots for which you have create volume permissions.", + "NextToken": "The NextToken value returned from a previous paginated DescribeSnapshots request where MaxResults was used and the results exceeded the value of that parameter. Pagination continues from the end of the previous results that returned the NextToken value. This value is null when there are no more results to return.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "Filters": "The filters. description - A description of the snapshot. encrypted - Indicates whether the snapshot is encrypted (true | false) owner-alias - Value from an Amazon-maintained list (amazon | self | all | aws-marketplace | microsoft) of snapshot owners. Not to be confused with the user-configured AWS account alias, which is set from the IAM console. owner-id - The ID of the AWS account that owns the snapshot. progress - The progress of the snapshot, as a percentage (for example, 80%). snapshot-id - The snapshot ID. start-time - The time stamp when the snapshot was initiated. status - The status of the snapshot (pending | completed | error). tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value. tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value. volume-id - The ID of the volume the snapshot is for. volume-size - The size of the volume, in GiB. ", + "RestorableByUserIds": "The IDs of the AWS accounts that can create volumes from the snapshot." +} +""" +DescribeSnapshots() = ec2("DescribeSnapshots") +DescribeSnapshots(args) = ec2("DescribeSnapshots", args) + +""" + ResetNetworkInterfaceAttribute() + +Resets a network interface attribute. You can specify only one attribute at a time. + +Required Parameters +{ + "NetworkInterfaceId": "The ID of the network interface." +} + +Optional Parameters +{ + "SourceDestCheck": "The source/destination checking attribute. Resets the value to true.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +ResetNetworkInterfaceAttribute(args) = ec2("ResetNetworkInterfaceAttribute", args) + +""" + ModifyImageAttribute() + +Modifies the specified attribute of the specified AMI. You can specify only one attribute at a time. You can use the Attribute parameter to specify the attribute or one of the following parameters: Description, LaunchPermission, or ProductCode. AWS Marketplace product codes cannot be modified. Images with an AWS Marketplace product code cannot be made public. To enable the SriovNetSupport enhanced networking attribute of an image, enable SriovNetSupport on an instance and create an AMI from the instance. + +Required Parameters +{ + "ImageId": "The ID of the AMI." +} + +Optional Parameters +{ + "LaunchPermission": "A new launch permission for the AMI.", + "Description": "A new description for the AMI.", + "ProductCodes": "The DevPay product codes. After you add a product code to an AMI, it can't be removed.", + "Value": "The value of the attribute being modified. This parameter can be used only when the Attribute parameter is description or productCodes.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "Attribute": "The name of the attribute to modify. The valid values are description, launchPermission, and productCodes.", + "OperationType": "The operation type. This parameter can be used only when the Attribute parameter is launchPermission.", + "UserIds": "The AWS account IDs. This parameter can be used only when the Attribute parameter is launchPermission.", + "UserGroups": "The user groups. This parameter can be used only when the Attribute parameter is launchPermission." +} +""" +ModifyImageAttribute(args) = ec2("ModifyImageAttribute", args) + +""" + AssociateSubnetCidrBlock() + +Associates a CIDR block with your subnet. You can only associate a single IPv6 CIDR block with your subnet. An IPv6 CIDR block must have a prefix length of /64. + +Required Parameters +{ + "Ipv6CidrBlock": "The IPv6 CIDR block for your subnet. The subnet must have a /64 prefix length.", + "SubnetId": "The ID of your subnet." +} +""" +AssociateSubnetCidrBlock(args) = ec2("AssociateSubnetCidrBlock", args) + +""" + RejectTransitGatewayVpcAttachment() + +Rejects a request to attach a VPC to a transit gateway. The VPC attachment must be in the pendingAcceptance state. Use DescribeTransitGatewayVpcAttachments to view your pending VPC attachment requests. Use AcceptTransitGatewayVpcAttachment to accept a VPC attachment request. + +Required Parameters +{ + "TransitGatewayAttachmentId": "The ID of the attachment." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +RejectTransitGatewayVpcAttachment(args) = ec2("RejectTransitGatewayVpcAttachment", args) + +""" + DeregisterTransitGatewayMulticastGroupSources() + +Deregisters the specified sources (network interfaces) from the transit gateway multicast group. + +Optional Parameters +{ + "TransitGatewayMulticastDomainId": "The ID of the transit gateway multicast domain.", + "GroupIpAddress": "The IP address assigned to the transit gateway multicast group.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "NetworkInterfaceIds": "The IDs of the group sources' network interfaces." +} +""" +DeregisterTransitGatewayMulticastGroupSources() = ec2("DeregisterTransitGatewayMulticastGroupSources") +DeregisterTransitGatewayMulticastGroupSources(args) = ec2("DeregisterTransitGatewayMulticastGroupSources", args) + +""" + DeleteSpotDatafeedSubscription() + +Deletes the data feed for Spot Instances. + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +DeleteSpotDatafeedSubscription() = ec2("DeleteSpotDatafeedSubscription") +DeleteSpotDatafeedSubscription(args) = ec2("DeleteSpotDatafeedSubscription", args) + +""" + DescribeIdFormat() + +Describes the ID format settings for your resources on a per-Region basis, for example, to view which resource types are enabled for longer IDs. This request only returns information about resource types whose ID formats can be modified; it does not return information about other resource types. The following resource types support longer IDs: bundle | conversion-task | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association | export-task | flow-log | image | import-task | instance | internet-gateway | network-acl | network-acl-association | network-interface | network-interface-attachment | prefix-list | reservation | route-table | route-table-association | security-group | snapshot | subnet | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway. These settings apply to the IAM user who makes the request; they do not apply to the entire AWS account. By default, an IAM user defaults to the same settings as the root user, unless they explicitly override the settings by running the ModifyIdFormat command. Resources created with longer IDs are visible to all IAM users, regardless of these settings and provided that they have permission to use the relevant Describe command for the resource type. + +Optional Parameters +{ + "Resource": "The type of resource: bundle | conversion-task | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association | export-task | flow-log | image | import-task | instance | internet-gateway | network-acl | network-acl-association | network-interface | network-interface-attachment | prefix-list | reservation | route-table | route-table-association | security-group | snapshot | subnet | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway " +} +""" +DescribeIdFormat() = ec2("DescribeIdFormat") +DescribeIdFormat(args) = ec2("DescribeIdFormat", args) + +""" + StartVpcEndpointServicePrivateDnsVerification() + +Initiates the verification process to prove that the service provider owns the private DNS name domain for the endpoint service. The service provider must successfully perform the verification before the consumer can use the name to access the service. Before the service provider runs this command, they must add a record to the DNS server. For more information, see Adding a TXT Record to Your Domain's DNS Server in the Amazon VPC User Guide. + +Required Parameters +{ + "ServiceId": "The ID of the endpoint service." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +StartVpcEndpointServicePrivateDnsVerification(args) = ec2("StartVpcEndpointServicePrivateDnsVerification", args) + +""" + UnassignIpv6Addresses() + +Unassigns one or more IPv6 addresses from a network interface. + +Required Parameters +{ + "Ipv6Addresses": "The IPv6 addresses to unassign from the network interface.", + "NetworkInterfaceId": "The ID of the network interface." +} +""" +UnassignIpv6Addresses(args) = ec2("UnassignIpv6Addresses", args) + +""" + ImportInstance() + +Creates an import instance task using metadata from the specified disk image. ImportInstance only supports single-volume VMs. To import multi-volume VMs, use ImportImage. For more information, see Importing a Virtual Machine Using the Amazon EC2 CLI. For information about the import manifest referenced by this API action, see VM Import Manifest. + +Required Parameters +{ + "Platform": "The instance operating system." +} + +Optional Parameters +{ + "Description": "A description for the instance being imported.", + "DiskImages": "The disk image.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "LaunchSpecification": "The launch specification." +} +""" +ImportInstance(args) = ec2("ImportInstance", args) + +""" + SearchLocalGatewayRoutes() + +Searches for routes in the specified local gateway route table. + +Required Parameters +{ + "LocalGatewayRouteTableId": "The ID of the local gateway route table.", + "Filters": "One or more filters." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.", + "NextToken": "The token for the next page of results.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +SearchLocalGatewayRoutes(args) = ec2("SearchLocalGatewayRoutes", args) + +""" + CancelSpotFleetRequests() + +Cancels the specified Spot Fleet requests. After you cancel a Spot Fleet request, the Spot Fleet launches no new Spot Instances. You must specify whether the Spot Fleet should also terminate its Spot Instances. If you terminate the instances, the Spot Fleet request enters the cancelled_terminating state. Otherwise, the Spot Fleet request enters the cancelled_running state and the instances continue to run until they are interrupted or you terminate them manually. + +Required Parameters +{ + "TerminateInstances": "Indicates whether to terminate instances for a Spot Fleet request if it is canceled successfully.", + "SpotFleetRequestIds": "The IDs of the Spot Fleet requests." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +CancelSpotFleetRequests(args) = ec2("CancelSpotFleetRequests", args) + +""" + UpdateSecurityGroupRuleDescriptionsEgress() + +[VPC only] Updates the description of an egress (outbound) security group rule. You can replace an existing description, or add a description to a rule that did not have one previously. You specify the description as part of the IP permissions structure. You can remove a description for a security group rule by omitting the description parameter in the request. + +Required Parameters +{ + "IpPermissions": "The IP permissions for the security group rule." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "GroupName": "[Default VPC] The name of the security group. You must specify either the security group ID or the security group name in the request.", + "GroupId": "The ID of the security group. You must specify either the security group ID or the security group name in the request. For security groups in a nondefault VPC, you must specify the security group ID." +} +""" +UpdateSecurityGroupRuleDescriptionsEgress(args) = ec2("UpdateSecurityGroupRuleDescriptionsEgress", args) + +""" + DeletePlacementGroup() + +Deletes the specified placement group. You must terminate all instances in the placement group before you can delete the placement group. For more information, see Placement Groups in the Amazon Elastic Compute Cloud User Guide. + +Required Parameters +{ + "GroupName": "The name of the placement group." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +DeletePlacementGroup(args) = ec2("DeletePlacementGroup", args) + +""" + GetEbsDefaultKmsKeyId() + +Describes the default customer master key (CMK) for EBS encryption by default for your account in this Region. You can change the default CMK for encryption by default using ModifyEbsDefaultKmsKeyId or ResetEbsDefaultKmsKeyId. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide. + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +GetEbsDefaultKmsKeyId() = ec2("GetEbsDefaultKmsKeyId") +GetEbsDefaultKmsKeyId(args) = ec2("GetEbsDefaultKmsKeyId", args) + +""" + DescribeFleets() + +Describes the specified EC2 Fleets or all of your EC2 Fleets. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return in a single call. Specify a value between 1 and 1000. The default value is 1000. To retrieve the remaining results, make another call with the returned NextToken value.", + "NextToken": "The token for the next set of results.", + "FleetIds": "The ID of the EC2 Fleets.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "Filters": "The filters. activity-status - The progress of the EC2 Fleet ( error | pending-fulfillment | pending-termination | fulfilled). excess-capacity-termination-policy - Indicates whether to terminate running instances if the target capacity is decreased below the current EC2 Fleet size (true | false). fleet-state - The state of the EC2 Fleet (submitted | active | deleted | failed | deleted-running | deleted-terminating | modifying). replace-unhealthy-instances - Indicates whether EC2 Fleet should replace unhealthy instances (true | false). type - The type of request (instant | request | maintain). " +} +""" +DescribeFleets() = ec2("DescribeFleets") +DescribeFleets(args) = ec2("DescribeFleets", args) + +""" + DeleteTrafficMirrorTarget() + +Deletes the specified Traffic Mirror target. You cannot delete a Traffic Mirror target that is in use by a Traffic Mirror session. + +Required Parameters +{ + "TrafficMirrorTargetId": "The ID of the Traffic Mirror target." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +DeleteTrafficMirrorTarget(args) = ec2("DeleteTrafficMirrorTarget", args) + +""" + CreateImage() + +Creates an Amazon EBS-backed AMI from an Amazon EBS-backed instance that is either running or stopped. If you customized your instance with instance store volumes or EBS volumes in addition to the root device volume, the new AMI contains block device mapping information for those volumes. When you launch an instance from this new AMI, the instance automatically launches with those additional volumes. For more information, see Creating Amazon EBS-Backed Linux AMIs in the Amazon Elastic Compute Cloud User Guide. + +Required Parameters +{ + "InstanceId": "The ID of the instance.", + "Name": "A name for the new image. Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets ([]), spaces ( ), periods (.), slashes (/), dashes (-), single quotes ('), at-signs (@), or underscores(_)" +} + +Optional Parameters +{ + "BlockDeviceMappings": "The block device mappings. This parameter cannot be used to modify the encryption status of existing volumes or snapshots. To create an AMI with encrypted snapshots, use the CopyImage action.", + "Description": "A description for the new image.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "NoReboot": "By default, Amazon EC2 attempts to shut down and reboot the instance before creating the image. If the 'No Reboot' option is set, Amazon EC2 doesn't shut down the instance before creating the image. When this option is used, file system integrity on the created image can't be guaranteed." +} +""" +CreateImage(args) = ec2("CreateImage", args) + +""" + DescribeVpcClassicLinkDnsSupport() + +Describes the ClassicLink DNS support status of one or more VPCs. If enabled, the DNS hostname of a linked EC2-Classic instance resolves to its private IP address when addressed from an instance in the VPC to which it's linked. Similarly, the DNS hostname of an instance in a VPC resolves to its private IP address when addressed from a linked EC2-Classic instance. For more information, see ClassicLink in the Amazon Elastic Compute Cloud User Guide. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.", + "NextToken": "The token for the next page of results.", + "VpcIds": "One or more VPC IDs." +} +""" +DescribeVpcClassicLinkDnsSupport() = ec2("DescribeVpcClassicLinkDnsSupport") +DescribeVpcClassicLinkDnsSupport(args) = ec2("DescribeVpcClassicLinkDnsSupport", args) + +""" + SearchTransitGatewayRoutes() + +Searches for routes in the specified transit gateway route table. + +Required Parameters +{ + "TransitGatewayRouteTableId": "The ID of the transit gateway route table.", + "Filters": "One or more filters. The possible values are: attachment.transit-gateway-attachment-id- The id of the transit gateway attachment. attachment.resource-id - The resource id of the transit gateway attachment. attachment.resource-type - The attachment resource type (vpc | vpn). route-search.exact-match - The exact match of the specified filter. route-search.longest-prefix-match - The longest prefix that matches the route. route-search.subnet-of-match - The routes with a subnet that match the specified CIDR filter. route-search.supernet-of-match - The routes with a CIDR that encompass the CIDR filter. For example, if you have 10.0.1.0/29 and 10.0.1.0/31 routes in your route table and you specify supernet-of-match as 10.0.1.0/30, then the result returns 10.0.1.0/29. state - The state of the route (active | blackhole). type - The type of route (propagated | static). " +} + +Optional Parameters +{ + "MaxResults": "The maximum number of routes to return.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +SearchTransitGatewayRoutes(args) = ec2("SearchTransitGatewayRoutes", args) + +""" + DescribeTags() + +Describes the specified tags for your EC2 resources. For more information about tags, see Tagging Your Resources in the Amazon Elastic Compute Cloud User Guide. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return in a single call. This value can be between 5 and 1000. To retrieve the remaining results, make another call with the returned NextToken value.", + "NextToken": "The token to retrieve the next page of results.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "Filters": "The filters. key - The tag key. resource-id - The ID of the resource. resource-type - The resource type (customer-gateway | dedicated-host | dhcp-options | elastic-ip | fleet | fpga-image | image | instance | host-reservation | internet-gateway | launch-template | natgateway | network-acl | network-interface | placement-group | reserved-instances | route-table | security-group | snapshot | spot-instances-request | subnet | volume | vpc | vpc-endpoint | vpc-endpoint-service | vpc-peering-connection | vpn-connection | vpn-gateway). tag:<key> - The key/value combination of the tag. For example, specify \"tag:Owner\" for the filter name and \"TeamA\" for the filter value to find resources with the tag \"Owner=TeamA\". value - The tag value. " +} +""" +DescribeTags() = ec2("DescribeTags") +DescribeTags(args) = ec2("DescribeTags", args) + +""" + CreateCustomerGateway() + +Provides information to AWS about your VPN customer gateway device. The customer gateway is the appliance at your end of the VPN connection. (The device on the AWS side of the VPN connection is the virtual private gateway.) You must provide the Internet-routable IP address of the customer gateway's external interface. The IP address must be static and can be behind a device performing network address translation (NAT). For devices that use Border Gateway Protocol (BGP), you can also provide the device's BGP Autonomous System Number (ASN). You can use an existing ASN assigned to your network. If you don't have an ASN already, you can use a private ASN (in the 64512 - 65534 range). Amazon EC2 supports all 2-byte ASN numbers in the range of 1 - 65534, with the exception of 7224, which is reserved in the us-east-1 Region, and 9059, which is reserved in the eu-west-1 Region. For more information, see AWS Site-to-Site VPN in the AWS Site-to-Site VPN User Guide. To create more than one customer gateway with the same VPN type, IP address, and BGP ASN, specify a unique device name for each customer gateway. Identical requests return information about the existing customer gateway and do not create new customer gateways. + +Required Parameters +{ + "Type": "The type of VPN connection that this customer gateway supports (ipsec.1).", + "BgpAsn": "For devices that support BGP, the customer gateway's BGP ASN. Default: 65000" +} + +Optional Parameters +{ + "DeviceName": "A name for the customer gateway device. Length Constraints: Up to 255 characters.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "CertificateArn": "The Amazon Resource Name (ARN) for the customer gateway certificate.", + "PublicIp": "The Internet-routable IP address for the customer gateway's outside interface. The address must be static." +} +""" +CreateCustomerGateway(args) = ec2("CreateCustomerGateway", args) + +""" + AcceptTransitGatewayVpcAttachment() + +Accepts a request to attach a VPC to a transit gateway. The VPC attachment must be in the pendingAcceptance state. Use DescribeTransitGatewayVpcAttachments to view your pending VPC attachment requests. Use RejectTransitGatewayVpcAttachment to reject a VPC attachment request. + +Required Parameters +{ + "TransitGatewayAttachmentId": "The ID of the attachment." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +AcceptTransitGatewayVpcAttachment(args) = ec2("AcceptTransitGatewayVpcAttachment", args) + +""" + ReleaseHosts() + +When you no longer want to use an On-Demand Dedicated Host it can be released. On-Demand billing is stopped and the host goes into released state. The host ID of Dedicated Hosts that have been released can no longer be specified in another request, for example, to modify the host. You must stop or terminate all instances on a host before it can be released. When Dedicated Hosts are released, it may take some time for them to stop counting toward your limit and you may receive capacity errors when trying to allocate new Dedicated Hosts. Wait a few minutes and then try again. Released hosts still appear in a DescribeHosts response. + +Required Parameters +{ + "HostIds": "The IDs of the Dedicated Hosts to release." +} +""" +ReleaseHosts(args) = ec2("ReleaseHosts", args) + +""" + ExportTransitGatewayRoutes() + +Exports routes from the specified transit gateway route table to the specified S3 bucket. By default, all routes are exported. Alternatively, you can filter by CIDR range. The routes are saved to the specified bucket in a JSON file. For more information, see Export Route Tables to Amazon S3 in Transit Gateways. + +Required Parameters +{ + "TransitGatewayRouteTableId": "The ID of the route table.", + "S3Bucket": "The name of the S3 bucket." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "Filters": "One or more filters. The possible values are: attachment.transit-gateway-attachment-id - The id of the transit gateway attachment. attachment.resource-id - The resource id of the transit gateway attachment. route-search.exact-match - The exact match of the specified filter. route-search.longest-prefix-match - The longest prefix that matches the route. route-search.subnet-of-match - The routes with a subnet that match the specified CIDR filter. route-search.supernet-of-match - The routes with a CIDR that encompass the CIDR filter. For example, if you have 10.0.1.0/29 and 10.0.1.0/31 routes in your route table and you specify supernet-of-match as 10.0.1.0/30, then the result returns 10.0.1.0/29. state - The state of the attachment (available | deleted | deleting | failed | modifying | pendingAcceptance | pending | rollingBack | rejected | rejecting). transit-gateway-route-destination-cidr-block - The CIDR range. type - The type of route (active | blackhole). " +} +""" +ExportTransitGatewayRoutes(args) = ec2("ExportTransitGatewayRoutes", args) + +""" + CreateVpc() + +Creates a VPC with the specified IPv4 CIDR block. The smallest VPC you can create uses a /28 netmask (16 IPv4 addresses), and the largest uses a /16 netmask (65,536 IPv4 addresses). For more information about how large to make your VPC, see Your VPC and Subnets in the Amazon Virtual Private Cloud User Guide. You can optionally request an IPv6 CIDR block for the VPC. You can request an Amazon-provided IPv6 CIDR block from Amazon's pool of IPv6 addresses, or an IPv6 CIDR block from an IPv6 address pool that you provisioned through bring your own IP addresses (BYOIP). By default, each instance you launch in the VPC has the default DHCP options, which include only a default DNS server that we provide (AmazonProvidedDNS). For more information, see DHCP Options Sets in the Amazon Virtual Private Cloud User Guide. You can specify the instance tenancy value for the VPC when you create it. You can't change this value for the VPC after you create it. For more information, see Dedicated Instances in the Amazon Elastic Compute Cloud User Guide. + +Required Parameters +{ + "CidrBlock": "The IPv4 network range for the VPC, in CIDR notation. For example, 10.0.0.0/16." +} + +Optional Parameters +{ + "Ipv6Pool": "The ID of an IPv6 address pool from which to allocate the IPv6 CIDR block.", + "InstanceTenancy": "The tenancy options for instances launched into the VPC. For default, instances are launched with shared tenancy by default. You can launch instances with any tenancy into a shared tenancy VPC. For dedicated, instances are launched as dedicated tenancy instances by default. You can only launch instances with a tenancy of dedicated or host into a dedicated tenancy VPC. Important: The host value cannot be used with this parameter. Use the default or dedicated values only. Default: default ", + "AmazonProvidedIpv6CidrBlock": "Requests an Amazon-provided IPv6 CIDR block with a /56 prefix length for the VPC. You cannot specify the range of IP addresses, or the size of the CIDR block.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "Ipv6CidrBlockNetworkBorderGroup": "The name of the location from which we advertise the IPV6 CIDR block. Use this parameter to limit the address to this location. You must set AmazonProvidedIpv6CidrBlock to true to use this parameter.", + "Ipv6CidrBlock": "The IPv6 CIDR block from the IPv6 address pool. You must also specify Ipv6Pool in the request. To let Amazon choose the IPv6 CIDR block for you, omit this parameter." +} +""" +CreateVpc(args) = ec2("CreateVpc", args) + +""" + DeleteSnapshot() + +Deletes the specified snapshot. When you make periodic snapshots of a volume, the snapshots are incremental, and only the blocks on the device that have changed since your last snapshot are saved in the new snapshot. When you delete a snapshot, only the data not needed for any other snapshot is removed. So regardless of which prior snapshots have been deleted, all active snapshots will have access to all the information needed to restore the volume. You cannot delete a snapshot of the root device of an EBS volume used by a registered AMI. You must first de-register the AMI before you can delete the snapshot. For more information, see Deleting an Amazon EBS Snapshot in the Amazon Elastic Compute Cloud User Guide. + +Required Parameters +{ + "SnapshotId": "The ID of the EBS snapshot." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +DeleteSnapshot(args) = ec2("DeleteSnapshot", args) + +""" + CreateDefaultSubnet() + +Creates a default subnet with a size /20 IPv4 CIDR block in the specified Availability Zone in your default VPC. You can have only one default subnet per Availability Zone. For more information, see Creating a Default Subnet in the Amazon Virtual Private Cloud User Guide. + +Required Parameters +{ + "AvailabilityZone": "The Availability Zone in which to create the default subnet." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +CreateDefaultSubnet(args) = ec2("CreateDefaultSubnet", args) + +""" + CreateNetworkAclEntry() + +Creates an entry (a rule) in a network ACL with the specified rule number. Each network ACL has a set of numbered ingress rules and a separate set of numbered egress rules. When determining whether a packet should be allowed in or out of a subnet associated with the ACL, we process the entries in the ACL according to the rule numbers, in ascending order. Each network ACL has a set of ingress rules and a separate set of egress rules. We recommend that you leave room between the rule numbers (for example, 100, 110, 120, ...), and not number them one right after the other (for example, 101, 102, 103, ...). This makes it easier to add a rule between existing ones without having to renumber the rules. After you add an entry, you can't modify it; you must either replace it, or create an entry and delete the old one. For more information about network ACLs, see Network ACLs in the Amazon Virtual Private Cloud User Guide. + +Required Parameters +{ + "Egress": "Indicates whether this is an egress rule (rule is applied to traffic leaving the subnet).", + "RuleNumber": "The rule number for the entry (for example, 100). ACL entries are processed in ascending order by rule number. Constraints: Positive integer from 1 to 32766. The range 32767 to 65535 is reserved for internal use.", + "NetworkAclId": "The ID of the network ACL.", + "RuleAction": "Indicates whether to allow or deny the traffic that matches the rule.", + "Protocol": "The protocol number. A value of \"-1\" means all protocols. If you specify \"-1\" or a protocol number other than \"6\" (TCP), \"17\" (UDP), or \"1\" (ICMP), traffic on all ports is allowed, regardless of any ports or ICMP types or codes that you specify. If you specify protocol \"58\" (ICMPv6) and specify an IPv4 CIDR block, traffic for all ICMP types and codes allowed, regardless of any that you specify. If you specify protocol \"58\" (ICMPv6) and specify an IPv6 CIDR block, you must specify an ICMP type and code." +} + +Optional Parameters +{ + "IcmpTypeCode": "ICMP protocol: The ICMP or ICMPv6 type and code. Required if specifying protocol 1 (ICMP) or protocol 58 (ICMPv6) with an IPv6 CIDR block.", + "CidrBlock": "The IPv4 network range to allow or deny, in CIDR notation (for example 172.16.0.0/24).", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "Ipv6CidrBlock": "The IPv6 network range to allow or deny, in CIDR notation (for example 2001:db8:1234:1a00::/64).", + "PortRange": "TCP or UDP protocols: The range of ports the rule applies to. Required if specifying protocol 6 (TCP) or 17 (UDP)." +} +""" +CreateNetworkAclEntry(args) = ec2("CreateNetworkAclEntry", args) + +""" + GetTransitGatewayAttachmentPropagations() + +Lists the route tables to which the specified resource attachment propagates routes. + +Required Parameters +{ + "TransitGatewayAttachmentId": "The ID of the attachment." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.", + "NextToken": "The token for the next page of results.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "Filters": "One or more filters. The possible values are: transit-gateway-route-table-id - The ID of the transit gateway route table. " +} +""" +GetTransitGatewayAttachmentPropagations(args) = ec2("GetTransitGatewayAttachmentPropagations", args) + +""" + DescribePrincipalIdFormat() + +Describes the ID format settings for the root user and all IAM roles and IAM users that have explicitly specified a longer ID (17-character ID) preference. By default, all IAM roles and IAM users default to the same ID settings as the root user, unless they explicitly override the settings. This request is useful for identifying those IAM users and IAM roles that have overridden the default ID settings. The following resource types support longer IDs: bundle | conversion-task | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association | export-task | flow-log | image | import-task | instance | internet-gateway | network-acl | network-acl-association | network-interface | network-interface-attachment | prefix-list | reservation | route-table | route-table-association | security-group | snapshot | subnet | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned NextToken value. ", + "NextToken": "The token to request the next page of results.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "Resources": "The type of resource: bundle | conversion-task | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association | export-task | flow-log | image | import-task | instance | internet-gateway | network-acl | network-acl-association | network-interface | network-interface-attachment | prefix-list | reservation | route-table | route-table-association | security-group | snapshot | subnet | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway " +} +""" +DescribePrincipalIdFormat() = ec2("DescribePrincipalIdFormat") +DescribePrincipalIdFormat(args) = ec2("DescribePrincipalIdFormat", args) + +""" + DescribeNetworkInterfaces() + +Describes one or more of your network interfaces. + +Optional Parameters +{ + "MaxResults": "The maximum number of items to return for this request. The request returns a token that you can specify in a subsequent call to get the next set of results. You cannot specify this parameter and the network interface IDs parameter in the same request.", + "NextToken": "The token to retrieve the next page of results.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "NetworkInterfaceIds": "One or more network interface IDs. Default: Describes all your network interfaces.", + "Filters": "One or more filters. addresses.private-ip-address - The private IPv4 addresses associated with the network interface. addresses.primary - Whether the private IPv4 address is the primary IP address associated with the network interface. addresses.association.public-ip - The association ID returned when the network interface was associated with the Elastic IP address (IPv4). addresses.association.owner-id - The owner ID of the addresses associated with the network interface. association.association-id - The association ID returned when the network interface was associated with an IPv4 address. association.allocation-id - The allocation ID returned when you allocated the Elastic IP address (IPv4) for your network interface. association.ip-owner-id - The owner of the Elastic IP address (IPv4) associated with the network interface. association.public-ip - The address of the Elastic IP address (IPv4) bound to the network interface. association.public-dns-name - The public DNS name for the network interface (IPv4). attachment.attachment-id - The ID of the interface attachment. attachment.attach-time - The time that the network interface was attached to an instance. attachment.delete-on-termination - Indicates whether the attachment is deleted when an instance is terminated. attachment.device-index - The device index to which the network interface is attached. attachment.instance-id - The ID of the instance to which the network interface is attached. attachment.instance-owner-id - The owner ID of the instance to which the network interface is attached. attachment.nat-gateway-id - The ID of the NAT gateway to which the network interface is attached. attachment.status - The status of the attachment (attaching | attached | detaching | detached). availability-zone - The Availability Zone of the network interface. description - The description of the network interface. group-id - The ID of a security group associated with the network interface. group-name - The name of a security group associated with the network interface. ipv6-addresses.ipv6-address - An IPv6 address associated with the network interface. mac-address - The MAC address of the network interface. network-interface-id - The ID of the network interface. owner-id - The AWS account ID of the network interface owner. private-ip-address - The private IPv4 address or addresses of the network interface. private-dns-name - The private DNS name of the network interface (IPv4). requester-id - The ID of the entity that launched the instance on your behalf (for example, AWS Management Console, Auto Scaling, and so on). requester-managed - Indicates whether the network interface is being managed by an AWS service (for example, AWS Management Console, Auto Scaling, and so on). source-dest-check - Indicates whether the network interface performs source/destination checking. A value of true means checking is enabled, and false means checking is disabled. The value must be false for the network interface to perform network address translation (NAT) in your VPC. status - The status of the network interface. If the network interface is not attached to an instance, the status is available; if a network interface is attached to an instance the status is in-use. subnet-id - The ID of the subnet for the network interface. tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value. tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value. vpc-id - The ID of the VPC for the network interface. " +} +""" +DescribeNetworkInterfaces() = ec2("DescribeNetworkInterfaces") +DescribeNetworkInterfaces(args) = ec2("DescribeNetworkInterfaces", args) + +""" + ModifyInstanceMetadataOptions() + +Modify the instance metadata parameters on a running or stopped instance. When you modify the parameters on a stopped instance, they are applied when the instance is started. When you modify the parameters on a running instance, the API responds with a state of “pending”. After the parameter modifications are successfully applied to the instance, the state of the modifications changes from “pending” to “applied” in subsequent describe-instances API calls. For more information, see Instance Metadata and User Data. + +Required Parameters +{ + "InstanceId": "The ID of the instance." +} + +Optional Parameters +{ + "HttpTokens": "The state of token usage for your instance metadata requests. If the parameter is not specified in the request, the default state is optional. If the state is optional, you can choose to retrieve instance metadata with or without a signed token header on your request. If you retrieve the IAM role credentials without a token, the version 1.0 role credentials are returned. If you retrieve the IAM role credentials using a valid signed token, the version 2.0 role credentials are returned. If the state is required, you must send a signed token header with any instance metadata retrieval requests. In this state, retrieving the IAM role credential always returns the version 2.0 credentials; the version 1.0 credentials are not available.", + "HttpPutResponseHopLimit": "The desired HTTP PUT response hop limit for instance metadata requests. The larger the number, the further instance metadata requests can travel. If no parameter is specified, the existing state is maintained. Possible values: Integers from 1 to 64", + "HttpEndpoint": "This parameter enables or disables the HTTP metadata endpoint on your instances. If the parameter is not specified, the existing state is maintained. If you specify a value of disabled, you will not be able to access your instance metadata. ", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +ModifyInstanceMetadataOptions(args) = ec2("ModifyInstanceMetadataOptions", args) + +""" + GetConsoleOutput() + +Gets the console output for the specified instance. For Linux instances, the instance console output displays the exact console output that would normally be displayed on a physical monitor attached to a computer. For Windows instances, the instance console output includes the last three system event log errors. By default, the console output returns buffered information that was posted shortly after an instance transition state (start, stop, reboot, or terminate). This information is available for at least one hour after the most recent post. Only the most recent 64 KB of console output is available. You can optionally retrieve the latest serial console output at any time during the instance lifecycle. This option is supported on instance types that use the Nitro hypervisor. For more information, see Instance Console Output in the Amazon Elastic Compute Cloud User Guide. + +Required Parameters +{ + "InstanceId": "The ID of the instance." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "Latest": "When enabled, retrieves the latest console output for the instance. Default: disabled (false)" +} +""" +GetConsoleOutput(args) = ec2("GetConsoleOutput", args) + +""" + SearchTransitGatewayMulticastGroups() + +Searches one or more transit gateway multicast groups and returns the group membership information. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.", + "TransitGatewayMulticastDomainId": "The ID of the transit gateway multicast domain.", + "NextToken": "The token for the next page of results.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "Filters": "One or more filters. The possible values are: group-ip-address - The IP address of the transit gateway multicast group. is-group-member - The resource is a group member. Valid values are true | false. is-group-source - The resource is a group source. Valid values are true | false. member-type - The member type. Valid values are igmp | static. resource-id - The ID of the resource. resource-type - The type of resource. Valid values are vpc | vpn | direct-connect-gateway | tgw-peering. source-type - The source type. Valid values are igmp | static. state - The state of the subnet association. Valid values are associated | associated | disassociated | disassociating. subnet-id - The ID of the subnet. transit-gateway-attachment-id - The id of the transit gateway attachment. " +} +""" +SearchTransitGatewayMulticastGroups() = ec2("SearchTransitGatewayMulticastGroups") +SearchTransitGatewayMulticastGroups(args) = ec2("SearchTransitGatewayMulticastGroups", args) + +""" + DeleteTrafficMirrorFilter() + +Deletes the specified Traffic Mirror filter. You cannot delete a Traffic Mirror filter that is in use by a Traffic Mirror session. + +Required Parameters +{ + "TrafficMirrorFilterId": "The ID of the Traffic Mirror filter." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +DeleteTrafficMirrorFilter(args) = ec2("DeleteTrafficMirrorFilter", args) + +""" + DescribeTransitGatewayMulticastDomains() + +Describes one or more transit gateway multicast domains. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.", + "NextToken": "The token for the next page of results.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "Filters": "One or more filters. The possible values are: state - The state of the transit gateway multicast domain. Valid values are pending | available | deleting | deleted. transit-gateway-id - The ID of the transit gateway. transit-gateway-multicast-domain-id - The ID of the transit gateway multicast domain. ", + "TransitGatewayMulticastDomainIds": "The ID of the transit gateway multicast domain." +} +""" +DescribeTransitGatewayMulticastDomains() = ec2("DescribeTransitGatewayMulticastDomains") +DescribeTransitGatewayMulticastDomains(args) = ec2("DescribeTransitGatewayMulticastDomains", args) + +""" + ExportClientVpnClientConfiguration() + +Downloads the contents of the Client VPN endpoint configuration file for the specified Client VPN endpoint. The Client VPN endpoint configuration file includes the Client VPN endpoint and certificate information clients need to establish a connection with the Client VPN endpoint. + +Required Parameters +{ + "ClientVpnEndpointId": "The ID of the Client VPN endpoint." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +ExportClientVpnClientConfiguration(args) = ec2("ExportClientVpnClientConfiguration", args) + +""" + DeleteNetworkInterface() + +Deletes the specified network interface. You must detach the network interface before you can delete it. + +Required Parameters +{ + "NetworkInterfaceId": "The ID of the network interface." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +DeleteNetworkInterface(args) = ec2("DeleteNetworkInterface", args) + +""" + CreatePlacementGroup() + +Creates a placement group in which to launch instances. The strategy of the placement group determines how the instances are organized within the group. A cluster placement group is a logical grouping of instances within a single Availability Zone that benefit from low network latency, high network throughput. A spread placement group places instances on distinct hardware. A partition placement group places groups of instances in different partitions, where instances in one partition do not share the same hardware with instances in another partition. For more information, see Placement Groups in the Amazon Elastic Compute Cloud User Guide. + +Optional Parameters +{ + "Strategy": "The placement strategy.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "PartitionCount": "The number of partitions. Valid only when Strategy is set to partition.", + "GroupName": "A name for the placement group. Must be unique within the scope of your account for the Region. Constraints: Up to 255 ASCII characters" +} +""" +CreatePlacementGroup() = ec2("CreatePlacementGroup") +CreatePlacementGroup(args) = ec2("CreatePlacementGroup", args) + +""" + ImportClientVpnClientCertificateRevocationList() + +Uploads a client certificate revocation list to the specified Client VPN endpoint. Uploading a client certificate revocation list overwrites the existing client certificate revocation list. Uploading a client certificate revocation list resets existing client connections. + +Required Parameters +{ + "CertificateRevocationList": "The client certificate revocation list file. For more information, see Generate a Client Certificate Revocation List in the AWS Client VPN Administrator Guide.", + "ClientVpnEndpointId": "The ID of the Client VPN endpoint to which the client certificate revocation list applies." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +ImportClientVpnClientCertificateRevocationList(args) = ec2("ImportClientVpnClientCertificateRevocationList", args) + +""" + DescribeAccountAttributes() + +Describes attributes of your AWS account. The following are the supported account attributes: supported-platforms: Indicates whether your account can launch instances into EC2-Classic and EC2-VPC, or only into EC2-VPC. default-vpc: The ID of the default VPC for your account, or none. max-instances: This attribute is no longer supported. The returned value does not reflect your actual vCPU limit for running On-Demand Instances. For more information, see On-Demand Instance Limits in the Amazon Elastic Compute Cloud User Guide. vpc-max-security-groups-per-interface: The maximum number of security groups that you can assign to a network interface. max-elastic-ips: The maximum number of Elastic IP addresses that you can allocate for use with EC2-Classic. vpc-max-elastic-ips: The maximum number of Elastic IP addresses that you can allocate for use with EC2-VPC. + +Optional Parameters +{ + "AttributeNames": "The account attribute names.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +DescribeAccountAttributes() = ec2("DescribeAccountAttributes") +DescribeAccountAttributes(args) = ec2("DescribeAccountAttributes", args) + +""" + RequestSpotInstances() + +Creates a Spot Instance request. For more information, see Spot Instance Requests in the Amazon EC2 User Guide for Linux Instances. + +Optional Parameters +{ + "BlockDurationMinutes": "The required duration for the Spot Instances (also known as Spot blocks), in minutes. This value must be a multiple of 60 (60, 120, 180, 240, 300, or 360). The duration period starts as soon as your Spot Instance receives its instance ID. At the end of the duration period, Amazon EC2 marks the Spot Instance for termination and provides a Spot Instance termination notice, which gives the instance a two-minute warning before it terminates. You can't specify an Availability Zone group or a launch group if you specify a duration.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "SpotPrice": "The maximum price per hour that you are willing to pay for a Spot Instance. The default is the On-Demand price.", + "ValidFrom": "The start date of the request. If this is a one-time request, the request becomes active at this date and time and remains active until all instances launch, the request expires, or the request is canceled. If the request is persistent, the request becomes active at this date and time and remains active until it expires or is canceled. The specified start date and time cannot be equal to the current date and time. You must specify a start date and time that occurs after the current date and time.", + "LaunchGroup": "The instance launch group. Launch groups are Spot Instances that launch together and terminate together. Default: Instances are launched and terminated individually", + "AvailabilityZoneGroup": "The user-specified name for a logical grouping of requests. When you specify an Availability Zone group in a Spot Instance request, all Spot Instances in the request are launched in the same Availability Zone. Instance proximity is maintained with this parameter, but the choice of Availability Zone is not. The group applies only to requests for Spot Instances of the same instance type. Any additional Spot Instance requests that are specified with the same Availability Zone group name are launched in that same Availability Zone, as long as at least one instance from the group is still active. If there is no active instance running in the Availability Zone group that you specify for a new Spot Instance request (all instances are terminated, the request is expired, or the maximum price you specified falls below current Spot price), then Amazon EC2 launches the instance in any Availability Zone where the constraint can be met. Consequently, the subsequent set of Spot Instances could be placed in a different zone from the original request, even if you specified the same Availability Zone group. Default: Instances are launched in any available Availability Zone.", + "ClientToken": "Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency in the Amazon EC2 User Guide for Linux Instances.", + "LaunchSpecification": "The launch specification.", + "ValidUntil": "The end date of the request. If this is a one-time request, the request remains active until all instances launch, the request is canceled, or this date is reached. If the request is persistent, it remains active until it is canceled or this date is reached. The default end date is 7 days from the current date.", + "InstanceInterruptionBehavior": "The behavior when a Spot Instance is interrupted. The default is terminate.", + "Type": "The Spot Instance request type. Default: one-time ", + "InstanceCount": "The maximum number of Spot Instances to launch. Default: 1" +} +""" +RequestSpotInstances() = ec2("RequestSpotInstances") +RequestSpotInstances(args) = ec2("RequestSpotInstances", args) + +""" + GetCoipPoolUsage() + +Describes the allocations from the specified customer-owned address pool. + +Required Parameters +{ + "PoolId": "The ID of the address pool." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.", + "NextToken": "The token for the next page of results.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "Filters": "The filters. The following are the possible values: coip-address-usage.allocation-id coip-address-usage.aws-account-id coip-address-usage.aws-service coip-address-usage.co-ip " +} +""" +GetCoipPoolUsage(args) = ec2("GetCoipPoolUsage", args) + +""" + DeleteFleets() + +Deletes the specified EC2 Fleet. After you delete an EC2 Fleet, it launches no new instances. You must specify whether an EC2 Fleet should also terminate its instances. If you terminate the instances, the EC2 Fleet enters the deleted_terminating state. Otherwise, the EC2 Fleet enters the deleted_running state, and the instances continue to run until they are interrupted or you terminate them manually. + +Required Parameters +{ + "TerminateInstances": "Indicates whether to terminate instances for an EC2 Fleet if it is deleted successfully.", + "FleetIds": "The IDs of the EC2 Fleets." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +DeleteFleets(args) = ec2("DeleteFleets", args) + +""" + ModifyIdFormat() + +Modifies the ID format for the specified resource on a per-Region basis. You can specify that resources should receive longer IDs (17-character IDs) when they are created. This request can only be used to modify longer ID settings for resource types that are within the opt-in period. Resources currently in their opt-in period include: bundle | conversion-task | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association | export-task | flow-log | image | import-task | internet-gateway | network-acl | network-acl-association | network-interface | network-interface-attachment | prefix-list | route-table | route-table-association | security-group | subnet | subnet-cidr-block-association | vpc | vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway. This setting applies to the IAM user who makes the request; it does not apply to the entire AWS account. By default, an IAM user defaults to the same settings as the root user. If you're using this action as the root user, then these settings apply to the entire account, unless an IAM user explicitly overrides these settings for themselves. For more information, see Resource IDs in the Amazon Elastic Compute Cloud User Guide. Resources created with longer IDs are visible to all IAM roles and users, regardless of these settings and provided that they have permission to use the relevant Describe command for the resource type. + +Required Parameters +{ + "Resource": "The type of resource: bundle | conversion-task | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association | export-task | flow-log | image | import-task | internet-gateway | network-acl | network-acl-association | network-interface | network-interface-attachment | prefix-list | route-table | route-table-association | security-group | subnet | subnet-cidr-block-association | vpc | vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway. Alternatively, use the all-current option to include all resource types that are currently within their opt-in period for longer IDs.", + "UseLongIds": "Indicate whether the resource should use longer IDs (17-character IDs)." +} +""" +ModifyIdFormat(args) = ec2("ModifyIdFormat", args) + +""" + AssociateDhcpOptions() + +Associates a set of DHCP options (that you've previously created) with the specified VPC, or associates no DHCP options with the VPC. After you associate the options with the VPC, any existing instances and all new instances that you launch in that VPC use the options. You don't need to restart or relaunch the instances. They automatically pick up the changes within a few hours, depending on how frequently the instance renews its DHCP lease. You can explicitly renew the lease using the operating system on the instance. For more information, see DHCP Options Sets in the Amazon Virtual Private Cloud User Guide. + +Required Parameters +{ + "DhcpOptionsId": "The ID of the DHCP options set, or default to associate no DHCP options with the VPC.", + "VpcId": "The ID of the VPC." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +AssociateDhcpOptions(args) = ec2("AssociateDhcpOptions", args) + +""" + DescribeRouteTables() + +Describes one or more of your route tables. Each subnet in your VPC must be associated with a route table. If a subnet is not explicitly associated with any route table, it is implicitly associated with the main route table. This command does not return the subnet ID for implicit associations. For more information, see Route Tables in the Amazon Virtual Private Cloud User Guide. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.", + "NextToken": "The token for the next page of results.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "RouteTableIds": "One or more route table IDs. Default: Describes all your route tables.", + "Filters": "One or more filters. association.route-table-association-id - The ID of an association ID for the route table. association.route-table-id - The ID of the route table involved in the association. association.subnet-id - The ID of the subnet involved in the association. association.main - Indicates whether the route table is the main route table for the VPC (true | false). Route tables that do not have an association ID are not returned in the response. owner-id - The ID of the AWS account that owns the route table. route-table-id - The ID of the route table. route.destination-cidr-block - The IPv4 CIDR range specified in a route in the table. route.destination-ipv6-cidr-block - The IPv6 CIDR range specified in a route in the route table. route.destination-prefix-list-id - The ID (prefix) of the AWS service specified in a route in the table. route.egress-only-internet-gateway-id - The ID of an egress-only Internet gateway specified in a route in the route table. route.gateway-id - The ID of a gateway specified in a route in the table. route.instance-id - The ID of an instance specified in a route in the table. route.nat-gateway-id - The ID of a NAT gateway. route.transit-gateway-id - The ID of a transit gateway. route.origin - Describes how the route was created. CreateRouteTable indicates that the route was automatically created when the route table was created; CreateRoute indicates that the route was manually added to the route table; EnableVgwRoutePropagation indicates that the route was propagated by route propagation. route.state - The state of a route in the route table (active | blackhole). The blackhole state indicates that the route's target isn't available (for example, the specified gateway isn't attached to the VPC, the specified NAT instance has been terminated, and so on). route.vpc-peering-connection-id - The ID of a VPC peering connection specified in a route in the table. tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value. tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value. transit-gateway-id - The ID of a transit gateway. vpc-id - The ID of the VPC for the route table. " +} +""" +DescribeRouteTables() = ec2("DescribeRouteTables") +DescribeRouteTables(args) = ec2("DescribeRouteTables", args) + +""" + CreateSnapshots() + +Creates crash-consistent snapshots of multiple EBS volumes and stores the data in S3. Volumes are chosen by specifying an instance. Any attached volumes will produce one snapshot each that is crash-consistent across the instance. Boot volumes can be excluded by changing the parameters. + +Required Parameters +{ + "InstanceSpecification": "The instance to specify which volumes should be included in the snapshots." +} + +Optional Parameters +{ + "Description": " A description propagated to every snapshot specified by the instance.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "TagSpecifications": "Tags to apply to every snapshot specified by the instance.", + "CopyTagsFromSource": "Copies the tags from the specified volume to corresponding snapshot." +} +""" +CreateSnapshots(args) = ec2("CreateSnapshots", args) + +""" + DeleteVpnConnection() + +Deletes the specified VPN connection. If you're deleting the VPC and its associated components, we recommend that you detach the virtual private gateway from the VPC and delete the VPC before deleting the VPN connection. If you believe that the tunnel credentials for your VPN connection have been compromised, you can delete the VPN connection and create a new one that has new keys, without needing to delete the VPC or virtual private gateway. If you create a new VPN connection, you must reconfigure the customer gateway using the new configuration information returned with the new VPN connection ID. + +Required Parameters +{ + "VpnConnectionId": "The ID of the VPN connection." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +DeleteVpnConnection(args) = ec2("DeleteVpnConnection", args) + +""" + DescribeClientVpnConnections() + +Describes active client connections and connections that have been terminated within the last 60 minutes for the specified Client VPN endpoint. + +Required Parameters +{ + "ClientVpnEndpointId": "The ID of the Client VPN endpoint." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the nextToken value.", + "NextToken": "The token to retrieve the next page of results.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "Filters": "One or more filters. Filter names and values are case-sensitive. connection-id - The ID of the connection. username - For Active Directory client authentication, the user name of the client who established the client connection. " +} +""" +DescribeClientVpnConnections(args) = ec2("DescribeClientVpnConnections", args) + +""" + CreateFlowLogs() + +Creates one or more flow logs to capture information about IP traffic for a specific network interface, subnet, or VPC. Flow log data for a monitored network interface is recorded as flow log records, which are log events consisting of fields that describe the traffic flow. For more information, see Flow Log Records in the Amazon Virtual Private Cloud User Guide. When publishing to CloudWatch Logs, flow log records are published to a log group, and each network interface has a unique log stream in the log group. When publishing to Amazon S3, flow log records for all of the monitored network interfaces are published to a single log file object that is stored in the specified bucket. For more information, see VPC Flow Logs in the Amazon Virtual Private Cloud User Guide. + +Required Parameters +{ + "TrafficType": "The type of traffic to log. You can log traffic that the resource accepts or rejects, or all traffic.", + "ResourceType": "The type of resource for which to create the flow log. For example, if you specified a VPC ID for the ResourceId property, specify VPC for this property.", + "ResourceIds": "The ID of the subnet, network interface, or VPC for which you want to create a flow log. Constraints: Maximum of 1000 resources" +} + +Optional Parameters +{ + "DeliverLogsPermissionArn": "The ARN for the IAM role that permits Amazon EC2 to publish flow logs to a CloudWatch Logs log group in your account. If you specify LogDestinationType as s3, do not specify DeliverLogsPermissionArn or LogGroupName.", + "LogGroupName": "The name of a new or existing CloudWatch Logs log group where Amazon EC2 publishes your flow logs. If you specify LogDestinationType as s3, do not specify DeliverLogsPermissionArn or LogGroupName.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "LogFormat": "The fields to include in the flow log record, in the order in which they should appear. For a list of available fields, see Flow Log Records. If you omit this parameter, the flow log is created using the default format. If you specify this parameter, you must specify at least one field. Specify the fields using the {field-id} format, separated by spaces. For the AWS CLI, use single quotation marks (' ') to surround the parameter value. Only applicable to flow logs that are published to an Amazon S3 bucket.", + "LogDestination": "Specifies the destination to which the flow log data is to be published. Flow log data can be published to a CloudWatch Logs log group or an Amazon S3 bucket. The value specified for this parameter depends on the value specified for LogDestinationType. If LogDestinationType is not specified or cloud-watch-logs, specify the Amazon Resource Name (ARN) of the CloudWatch Logs log group. For example, to publish to a log group called my-logs, specify arn:aws:logs:us-east-1:123456789012:log-group:my-logs. Alternatively, use LogGroupName instead. If LogDestinationType is s3, specify the ARN of the Amazon S3 bucket. You can also specify a subfolder in the bucket. To specify a subfolder in the bucket, use the following ARN format: bucket_ARN/subfolder_name/. For example, to specify a subfolder named my-logs in a bucket named my-bucket, use the following ARN: arn:aws:s3:::my-bucket/my-logs/. You cannot use AWSLogs as a subfolder name. This is a reserved term.", + "ClientToken": "Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.", + "TagSpecifications": "The tags to apply to the flow logs.", + "MaxAggregationInterval": "The maximum interval of time during which a flow of packets is captured and aggregated into a flow log record. You can specify 60 seconds (1 minute) or 600 seconds (10 minutes). When a network interface is attached to a Nitro-based instance, the aggregation interval is always 60 seconds or less, regardless of the value that you specify. Default: 600", + "LogDestinationType": "Specifies the type of destination to which the flow log data is to be published. Flow log data can be published to CloudWatch Logs or Amazon S3. To publish flow log data to CloudWatch Logs, specify cloud-watch-logs. To publish flow log data to Amazon S3, specify s3. If you specify LogDestinationType as s3, do not specify DeliverLogsPermissionArn or LogGroupName. Default: cloud-watch-logs " +} +""" +CreateFlowLogs(args) = ec2("CreateFlowLogs", args) + +""" + DeleteTrafficMirrorSession() + +Deletes the specified Traffic Mirror session. + +Required Parameters +{ + "TrafficMirrorSessionId": "The ID of the Traffic Mirror session." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +DeleteTrafficMirrorSession(args) = ec2("DeleteTrafficMirrorSession", args) + +""" + RestoreAddressToClassic() + +Restores an Elastic IP address that was previously moved to the EC2-VPC platform back to the EC2-Classic platform. You cannot move an Elastic IP address that was originally allocated for use in EC2-VPC. The Elastic IP address must not be associated with an instance or network interface. + +Required Parameters +{ + "PublicIp": "The Elastic IP address." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +RestoreAddressToClassic(args) = ec2("RestoreAddressToClassic", args) + +""" + CreateLocalGatewayRouteTableVpcAssociation() + +Associates the specified VPC with the specified local gateway route table. + +Required Parameters +{ + "LocalGatewayRouteTableId": "The ID of the local gateway route table.", + "VpcId": "The ID of the VPC." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +CreateLocalGatewayRouteTableVpcAssociation(args) = ec2("CreateLocalGatewayRouteTableVpcAssociation", args) + +""" + DisassociateIamInstanceProfile() + +Disassociates an IAM instance profile from a running or stopped instance. Use DescribeIamInstanceProfileAssociations to get the association ID. + +Required Parameters +{ + "AssociationId": "The ID of the IAM instance profile association." +} +""" +DisassociateIamInstanceProfile(args) = ec2("DisassociateIamInstanceProfile", args) + +""" + DescribeLaunchTemplates() + +Describes one or more launch templates. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned NextToken value. This value can be between 1 and 200.", + "NextToken": "The token to request the next page of results.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "LaunchTemplateNames": "One or more launch template names.", + "Filters": "One or more filters. create-time - The time the launch template was created. launch-template-name - The name of the launch template. tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value. tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value. ", + "LaunchTemplateIds": "One or more launch template IDs." +} +""" +DescribeLaunchTemplates() = ec2("DescribeLaunchTemplates") +DescribeLaunchTemplates(args) = ec2("DescribeLaunchTemplates", args) + +""" + DescribeCustomerGateways() + +Describes one or more of your VPN customer gateways. For more information, see AWS Site-to-Site VPN in the AWS Site-to-Site VPN User Guide. + +Optional Parameters +{ + "CustomerGatewayIds": "One or more customer gateway IDs. Default: Describes all your customer gateways.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "Filters": "One or more filters. bgp-asn - The customer gateway's Border Gateway Protocol (BGP) Autonomous System Number (ASN). customer-gateway-id - The ID of the customer gateway. ip-address - The IP address of the customer gateway's Internet-routable external interface. state - The state of the customer gateway (pending | available | deleting | deleted). type - The type of customer gateway. Currently, the only supported type is ipsec.1. tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value. tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value. " +} +""" +DescribeCustomerGateways() = ec2("DescribeCustomerGateways") +DescribeCustomerGateways(args) = ec2("DescribeCustomerGateways", args) + +""" + DeleteVpnConnectionRoute() + +Deletes the specified static route associated with a VPN connection between an existing virtual private gateway and a VPN customer gateway. The static route allows traffic to be routed from the virtual private gateway to the VPN customer gateway. + +Required Parameters +{ + "DestinationCidrBlock": "The CIDR block associated with the local subnet of the customer network.", + "VpnConnectionId": "The ID of the VPN connection." +} +""" +DeleteVpnConnectionRoute(args) = ec2("DeleteVpnConnectionRoute", args) + +""" + DescribePlacementGroups() + +Describes the specified placement groups or all of your placement groups. For more information, see Placement Groups in the Amazon Elastic Compute Cloud User Guide. + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "GroupNames": "The names of the placement groups. Default: Describes all your placement groups, or only those otherwise specified.", + "Filters": "The filters. group-name - The name of the placement group. state - The state of the placement group (pending | available | deleting | deleted). strategy - The strategy of the placement group (cluster | spread | partition). ", + "GroupIds": "The IDs of the placement groups." +} +""" +DescribePlacementGroups() = ec2("DescribePlacementGroups") +DescribePlacementGroups(args) = ec2("DescribePlacementGroups", args) + +""" + DescribeTrafficMirrorSessions() + +Describes one or more Traffic Mirror sessions. By default, all Traffic Mirror sessions are described. Alternatively, you can filter the results. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.", + "NextToken": "The token for the next page of results.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "TrafficMirrorSessionIds": "The ID of the Traffic Mirror session.", + "Filters": "One or more filters. The possible values are: description: The Traffic Mirror session description. network-interface-id: The ID of the Traffic Mirror session network interface. owner-id: The ID of the account that owns the Traffic Mirror session. packet-length: The assigned number of packets to mirror. session-number: The assigned session number. traffic-mirror-filter-id: The ID of the Traffic Mirror filter. traffic-mirror-session-id: The ID of the Traffic Mirror session. traffic-mirror-target-id: The ID of the Traffic Mirror target. virtual-network-id: The virtual network ID of the Traffic Mirror session. " +} +""" +DescribeTrafficMirrorSessions() = ec2("DescribeTrafficMirrorSessions") +DescribeTrafficMirrorSessions(args) = ec2("DescribeTrafficMirrorSessions", args) + +""" + ModifyVpnTunnelOptions() + +Modifies the options for a VPN tunnel in an AWS Site-to-Site VPN connection. You can modify multiple options for a tunnel in a single request, but you can only modify one tunnel at a time. For more information, see Site-to-Site VPN Tunnel Options for Your Site-to-Site VPN Connection in the AWS Site-to-Site VPN User Guide. + +Required Parameters +{ + "VpnConnectionId": "The ID of the AWS Site-to-Site VPN connection.", + "VpnTunnelOutsideIpAddress": "The external IP address of the VPN tunnel.", + "TunnelOptions": "The tunnel options to modify." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +ModifyVpnTunnelOptions(args) = ec2("ModifyVpnTunnelOptions", args) + +""" + CreateTransitGatewayPeeringAttachment() + +Requests a transit gateway peering attachment between the specified transit gateway (requester) and a peer transit gateway (accepter). The transit gateways must be in different Regions. The peer transit gateway can be in your account or a different AWS account. After you create the peering attachment, the owner of the accepter transit gateway must accept the attachment request. + +Required Parameters +{ + "TransitGatewayId": "The ID of the transit gateway.", + "PeerTransitGatewayId": "The ID of the peer transit gateway with which to create the peering attachment.", + "PeerAccountId": "The AWS account ID of the owner of the peer transit gateway.", + "PeerRegion": "The Region where the peer transit gateway is located." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "TagSpecifications": "The tags to apply to the transit gateway peering attachment." +} +""" +CreateTransitGatewayPeeringAttachment(args) = ec2("CreateTransitGatewayPeeringAttachment", args) + +""" + EnableVpcClassicLink() + +Enables a VPC for ClassicLink. You can then link EC2-Classic instances to your ClassicLink-enabled VPC to allow communication over private IP addresses. You cannot enable your VPC for ClassicLink if any of your VPC route tables have existing routes for address ranges within the 10.0.0.0/8 IP address range, excluding local routes for VPCs in the 10.0.0.0/16 and 10.1.0.0/16 IP address ranges. For more information, see ClassicLink in the Amazon Elastic Compute Cloud User Guide. + +Required Parameters +{ + "VpcId": "The ID of the VPC." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +EnableVpcClassicLink(args) = ec2("EnableVpcClassicLink", args) + +""" + CreateTransitGatewayVpcAttachment() + +Attaches the specified VPC to the specified transit gateway. If you attach a VPC with a CIDR range that overlaps the CIDR range of a VPC that is already attached, the new VPC CIDR range is not propagated to the default propagation route table. To send VPC traffic to an attached transit gateway, add a route to the VPC route table using CreateRoute. + +Required Parameters +{ + "TransitGatewayId": "The ID of the transit gateway.", + "SubnetIds": "The IDs of one or more subnets. You can specify only one subnet per Availability Zone. You must specify at least one subnet, but we recommend that you specify two subnets for better availability. The transit gateway uses one IP address from each specified subnet.", + "VpcId": "The ID of the VPC." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "TagSpecifications": "The tags to apply to the VPC attachment.", + "Options": "The VPC attachment options." +} +""" +CreateTransitGatewayVpcAttachment(args) = ec2("CreateTransitGatewayVpcAttachment", args) + +""" + ModifyClientVpnEndpoint() + +Modifies the specified Client VPN endpoint. Modifying the DNS server resets existing client connections. + +Required Parameters +{ + "ClientVpnEndpointId": "The ID of the Client VPN endpoint to modify." +} + +Optional Parameters +{ + "VpnPort": "The port number to assign to the Client VPN endpoint for TCP and UDP traffic. Valid Values: 443 | 1194 Default Value: 443 ", + "Description": "A brief description of the Client VPN endpoint.", + "ServerCertificateArn": "The ARN of the server certificate to be used. The server certificate must be provisioned in AWS Certificate Manager (ACM).", + "ConnectionLogOptions": "Information about the client connection logging options. If you enable client connection logging, data about client connections is sent to a Cloudwatch Logs log stream. The following information is logged: Client connection requests Client connection results (successful and unsuccessful) Reasons for unsuccessful client connection requests Client connection termination time ", + "SecurityGroupIds": "The IDs of one or more security groups to apply to the target network.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "DnsServers": "Information about the DNS servers to be used by Client VPN connections. A Client VPN endpoint can have up to two DNS servers.", + "SplitTunnel": "Indicates whether the VPN is split-tunnel. For information about split-tunnel VPN endpoints, see Split-Tunnel AWS Client VPN Endpoint in the AWS Client VPN Administrator Guide.", + "VpcId": "The ID of the VPC to associate with the Client VPN endpoint." +} +""" +ModifyClientVpnEndpoint(args) = ec2("ModifyClientVpnEndpoint", args) + +""" + ModifyVpcTenancy() + +Modifies the instance tenancy attribute of the specified VPC. You can change the instance tenancy attribute of a VPC to default only. You cannot change the instance tenancy attribute to dedicated. After you modify the tenancy of the VPC, any new instances that you launch into the VPC have a tenancy of default, unless you specify otherwise during launch. The tenancy of any existing instances in the VPC is not affected. For more information, see Dedicated Instances in the Amazon Elastic Compute Cloud User Guide. + +Required Parameters +{ + "InstanceTenancy": "The instance tenancy attribute for the VPC. ", + "VpcId": "The ID of the VPC." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +ModifyVpcTenancy(args) = ec2("ModifyVpcTenancy", args) + +""" + DetachVolume() + +Detaches an EBS volume from an instance. Make sure to unmount any file systems on the device within your operating system before detaching the volume. Failure to do so can result in the volume becoming stuck in the busy state while detaching. If this happens, detachment can be delayed indefinitely until you unmount the volume, force detachment, reboot the instance, or all three. If an EBS volume is the root device of an instance, it can't be detached while the instance is running. To detach the root volume, stop the instance first. When a volume with an AWS Marketplace product code is detached from an instance, the product code is no longer associated with the instance. For more information, see Detaching an Amazon EBS Volume in the Amazon Elastic Compute Cloud User Guide. + +Required Parameters +{ + "VolumeId": "The ID of the volume." +} + +Optional Parameters +{ + "Force": "Forces detachment if the previous detachment attempt did not occur cleanly (for example, logging into an instance, unmounting the volume, and detaching normally). This option can lead to data loss or a corrupted file system. Use this option only as a last resort to detach a volume from a failed instance. The instance won't have an opportunity to flush file system caches or file system metadata. If you use this option, you must perform file system check and repair procedures.", + "InstanceId": "The ID of the instance. If you are detaching a Multi-Attach enabled volume, you must specify an instance ID.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "Device": "The device name." +} +""" +DetachVolume(args) = ec2("DetachVolume", args) + +""" + DescribeVpcAttribute() + +Describes the specified attribute of the specified VPC. You can specify only one attribute at a time. + +Required Parameters +{ + "VpcId": "The ID of the VPC.", + "Attribute": "The VPC attribute." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +DescribeVpcAttribute(args) = ec2("DescribeVpcAttribute", args) + +""" + DisassociateTransitGatewayRouteTable() + +Disassociates a resource attachment from a transit gateway route table. + +Required Parameters +{ + "TransitGatewayAttachmentId": "The ID of the attachment.", + "TransitGatewayRouteTableId": "The ID of the transit gateway route table." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +DisassociateTransitGatewayRouteTable(args) = ec2("DisassociateTransitGatewayRouteTable", args) + +""" + DescribeElasticGpus() + +Describes the Elastic Graphics accelerator associated with your instances. For more information about Elastic Graphics, see Amazon Elastic Graphics. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned NextToken value. This value can be between 5 and 1000.", + "NextToken": "The token to request the next page of results.", + "ElasticGpuIds": "The Elastic Graphics accelerator IDs.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "Filters": "The filters. availability-zone - The Availability Zone in which the Elastic Graphics accelerator resides. elastic-gpu-health - The status of the Elastic Graphics accelerator (OK | IMPAIRED). elastic-gpu-state - The state of the Elastic Graphics accelerator (ATTACHED). elastic-gpu-type - The type of Elastic Graphics accelerator; for example, eg1.medium. instance-id - The ID of the instance to which the Elastic Graphics accelerator is associated. " +} +""" +DescribeElasticGpus() = ec2("DescribeElasticGpus") +DescribeElasticGpus(args) = ec2("DescribeElasticGpus", args) + +""" + DescribeInstanceCreditSpecifications() + +Describes the credit option for CPU usage of the specified burstable performance instances. The credit options are standard and unlimited. If you do not specify an instance ID, Amazon EC2 returns burstable performance instances with the unlimited credit option, as well as instances that were previously configured as T2, T3, and T3a with the unlimited credit option. For example, if you resize a T2 instance, while it is configured as unlimited, to an M4 instance, Amazon EC2 returns the M4 instance. If you specify one or more instance IDs, Amazon EC2 returns the credit option (standard or unlimited) of those instances. If you specify an instance ID that is not valid, such as an instance that is not a burstable performance instance, an error is returned. Recently terminated instances might appear in the returned results. This interval is usually less than one hour. If an Availability Zone is experiencing a service disruption and you specify instance IDs in the affected zone, or do not specify any instance IDs at all, the call fails. If you specify only instance IDs in an unaffected zone, the call works normally. For more information, see Burstable Performance Instances in the Amazon Elastic Compute Cloud User Guide. + +Optional Parameters +{ + "InstanceIds": "The instance IDs. Default: Describes all your instances. Constraints: Maximum 1000 explicitly specified instance IDs.", + "MaxResults": "The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned NextToken value. This value can be between 5 and 1000. You cannot specify this parameter and the instance IDs parameter in the same call.", + "NextToken": "The token to retrieve the next page of results.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "Filters": "The filters. instance-id - The ID of the instance. " +} +""" +DescribeInstanceCreditSpecifications() = ec2("DescribeInstanceCreditSpecifications") +DescribeInstanceCreditSpecifications(args) = ec2("DescribeInstanceCreditSpecifications", args) + +""" + CreateVpcEndpointConnectionNotification() + +Creates a connection notification for a specified VPC endpoint or VPC endpoint service. A connection notification notifies you of specific endpoint events. You must create an SNS topic to receive notifications. For more information, see Create a Topic in the Amazon Simple Notification Service Developer Guide. You can create a connection notification for interface endpoints only. + +Required Parameters +{ + "ConnectionNotificationArn": "The ARN of the SNS topic for the notifications.", + "ConnectionEvents": "One or more endpoint events for which to receive notifications. Valid values are Accept, Connect, Delete, and Reject." +} + +Optional Parameters +{ + "ServiceId": "The ID of the endpoint service.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "VpcEndpointId": "The ID of the endpoint.", + "ClientToken": "Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency." +} +""" +CreateVpcEndpointConnectionNotification(args) = ec2("CreateVpcEndpointConnectionNotification", args) + +""" + DeleteTransitGatewayPeeringAttachment() + +Deletes a transit gateway peering attachment. + +Required Parameters +{ + "TransitGatewayAttachmentId": "The ID of the transit gateway peering attachment." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +DeleteTransitGatewayPeeringAttachment(args) = ec2("DeleteTransitGatewayPeeringAttachment", args) + +""" + BundleInstance() + +Bundles an Amazon instance store-backed Windows instance. During bundling, only the root device volume (C: ) is bundled. Data on other instance store volumes is not preserved. This action is not applicable for Linux/Unix instances or Windows instances that are backed by Amazon EBS. + +Required Parameters +{ + "InstanceId": "The ID of the instance to bundle. Type: String Default: None Required: Yes", + "Storage": "The bucket in which to store the AMI. You can specify a bucket that you already own or a new bucket that Amazon EC2 creates on your behalf. If you specify a bucket that belongs to someone else, Amazon EC2 returns an error." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +BundleInstance(args) = ec2("BundleInstance", args) + +""" + DescribeVolumes() + +Describes the specified EBS volumes or all of your EBS volumes. If you are describing a long list of volumes, you can paginate the output to make the list more manageable. The MaxResults parameter sets the maximum number of results returned in a single page. If the list of results exceeds your MaxResults value, then that number of results is returned along with a NextToken value that can be passed to a subsequent DescribeVolumes request to retrieve the remaining results. For more information about EBS volumes, see Amazon EBS Volumes in the Amazon Elastic Compute Cloud User Guide. + +Optional Parameters +{ + "MaxResults": "The maximum number of volume results returned by DescribeVolumes in paginated output. When this parameter is used, DescribeVolumes only returns MaxResults results in a single page along with a NextToken response element. The remaining results of the initial request can be seen by sending another DescribeVolumes request with the returned NextToken value. This value can be between 5 and 500; if MaxResults is given a value larger than 500, only 500 results are returned. If this parameter is not used, then DescribeVolumes returns all results. You cannot specify this parameter and the volume IDs parameter in the same request.", + "NextToken": "The NextToken value returned from a previous paginated DescribeVolumes request where MaxResults was used and the results exceeded the value of that parameter. Pagination continues from the end of the previous results that returned the NextToken value. This value is null when there are no more results to return.", + "VolumeIds": "The volume IDs.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "Filters": "The filters. attachment.attach-time - The time stamp when the attachment initiated. attachment.delete-on-termination - Whether the volume is deleted on instance termination. attachment.device - The device name specified in the block device mapping (for example, /dev/sda1). attachment.instance-id - The ID of the instance the volume is attached to. attachment.status - The attachment state (attaching | attached | detaching). availability-zone - The Availability Zone in which the volume was created. create-time - The time stamp when the volume was created. encrypted - Indicates whether the volume is encrypted (true | false) multi-attach-enabled - Indicates whether the volume is enabled for Multi-Attach (true | false) fast-restored - Indicates whether the volume was created from a snapshot that is enabled for fast snapshot restore (true | false). size - The size of the volume, in GiB. snapshot-id - The snapshot from which the volume was created. status - The status of the volume (creating | available | in-use | deleting | deleted | error). tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value. tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value. volume-id - The volume ID. volume-type - The Amazon EBS volume type. This can be gp2 for General Purpose SSD, io1 for Provisioned IOPS SSD, st1 for Throughput Optimized HDD, sc1 for Cold HDD, or standard for Magnetic volumes. " +} +""" +DescribeVolumes() = ec2("DescribeVolumes") +DescribeVolumes(args) = ec2("DescribeVolumes", args) + +""" + DescribeByoipCidrs() + +Describes the IP address ranges that were specified in calls to ProvisionByoipCidr. To describe the address pools that were created when you provisioned the address ranges, use DescribePublicIpv4Pools or DescribeIpv6Pools. + +Required Parameters +{ + "MaxResults": "The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value." +} + +Optional Parameters +{ + "NextToken": "The token for the next page of results.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +DescribeByoipCidrs(args) = ec2("DescribeByoipCidrs", args) + +""" + CopyFpgaImage() + +Copies the specified Amazon FPGA Image (AFI) to the current Region. + +Required Parameters +{ + "SourceFpgaImageId": "The ID of the source AFI.", + "SourceRegion": "The Region that contains the source AFI." +} + +Optional Parameters +{ + "Description": "The description for the new AFI.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "ClientToken": "Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.", + "Name": "The name for the new AFI. The default is the name of the source AFI." +} +""" +CopyFpgaImage(args) = ec2("CopyFpgaImage", args) + +""" + DescribeTransitGatewayAttachments() + +Describes one or more attachments between resources and transit gateways. By default, all attachments are described. Alternatively, you can filter the results by attachment ID, attachment state, resource ID, or resource owner. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.", + "TransitGatewayAttachmentIds": "The IDs of the attachments.", + "NextToken": "The token for the next page of results.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "Filters": "One or more filters. The possible values are: association.state - The state of the association (associating | associated | disassociating). association.transit-gateway-route-table-id - The ID of the route table for the transit gateway. resource-id - The ID of the resource. resource-owner-id - The ID of the AWS account that owns the resource. resource-type - The resource type (vpc | vpn). state - The state of the attachment (available | deleted | deleting | failed | modifying | pendingAcceptance | pending | rollingBack | rejected | rejecting). transit-gateway-attachment-id - The ID of the attachment. transit-gateway-id - The ID of the transit gateway. transit-gateway-owner-id - The ID of the AWS account that owns the transit gateway. " +} +""" +DescribeTransitGatewayAttachments() = ec2("DescribeTransitGatewayAttachments") +DescribeTransitGatewayAttachments(args) = ec2("DescribeTransitGatewayAttachments", args) + +""" + DeleteTransitGatewayRoute() + +Deletes the specified route from the specified transit gateway route table. + +Required Parameters +{ + "DestinationCidrBlock": "The CIDR range for the route. This must match the CIDR for the route exactly.", + "TransitGatewayRouteTableId": "The ID of the transit gateway route table." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +DeleteTransitGatewayRoute(args) = ec2("DeleteTransitGatewayRoute", args) + +""" + AssociateClientVpnTargetNetwork() + +Associates a target network with a Client VPN endpoint. A target network is a subnet in a VPC. You can associate multiple subnets from the same VPC with a Client VPN endpoint. You can associate only one subnet in each Availability Zone. We recommend that you associate at least two subnets to provide Availability Zone redundancy. If you specified a VPC when you created the Client VPN endpoint or if you have previous subnet associations, the specified subnet must be in the same VPC. To specify a subnet that's in a different VPC, you must first modify the Client VPN endpoint (ModifyClientVpnEndpoint) and change the VPC that's associated with it. + +Required Parameters +{ + "ClientVpnEndpointId": "The ID of the Client VPN endpoint.", + "SubnetId": "The ID of the subnet to associate with the Client VPN endpoint." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "ClientToken": "Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency." +} +""" +AssociateClientVpnTargetNetwork(args) = ec2("AssociateClientVpnTargetNetwork", args) + +""" + DescribeConversionTasks() + +Describes the specified conversion tasks or all your conversion tasks. For more information, see the VM Import/Export User Guide. For information about the import manifest referenced by this API action, see VM Import Manifest. + +Optional Parameters +{ + "ConversionTaskIds": "The conversion task IDs.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +DescribeConversionTasks() = ec2("DescribeConversionTasks") +DescribeConversionTasks(args) = ec2("DescribeConversionTasks", args) + +""" + DescribeSpotFleetRequests() + +Describes your Spot Fleet requests. Spot Fleet requests are deleted 48 hours after they are canceled and their instances are terminated. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return in a single call. Specify a value between 1 and 1000. The default value is 1000. To retrieve the remaining results, make another call with the returned NextToken value.", + "NextToken": "The token for the next set of results.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "SpotFleetRequestIds": "The IDs of the Spot Fleet requests." +} +""" +DescribeSpotFleetRequests() = ec2("DescribeSpotFleetRequests") +DescribeSpotFleetRequests(args) = ec2("DescribeSpotFleetRequests", args) + +""" + DescribeVolumesModifications() + +Reports the current modification status of EBS volumes. Current-generation EBS volumes support modification of attributes including type, size, and (for io1 volumes) IOPS provisioning while either attached to or detached from an instance. Following an action from the API or the console to modify a volume, the status of the modification may be modifying, optimizing, completed, or failed. If a volume has never been modified, then certain elements of the returned VolumeModification objects are null. You can also use CloudWatch Events to check the status of a modification to an EBS volume. For information about CloudWatch Events, see the Amazon CloudWatch Events User Guide. For more information, see Monitoring Volume Modifications" in the Amazon Elastic Compute Cloud User Guide. + +Optional Parameters +{ + "MaxResults": "The maximum number of results (up to a limit of 500) to be returned in a paginated request.", + "NextToken": "The nextToken value returned by a previous paginated request.", + "VolumeIds": "The IDs of the volumes for which in-progress modifications will be described.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "Filters": "The filters. Supported filters: volume-id | modification-state | target-size | target-iops | target-volume-type | original-size | original-iops | original-volume-type | start-time | originalMultiAttachEnabled | targetMultiAttachEnabled. " +} +""" +DescribeVolumesModifications() = ec2("DescribeVolumesModifications") +DescribeVolumesModifications(args) = ec2("DescribeVolumesModifications", args) + +""" + ModifyVpcEndpoint() + +Modifies attributes of a specified VPC endpoint. The attributes that you can modify depend on the type of VPC endpoint (interface or gateway). For more information, see VPC Endpoints in the Amazon Virtual Private Cloud User Guide. + +Required Parameters +{ + "VpcEndpointId": "The ID of the endpoint." +} + +Optional Parameters +{ + "ResetPolicy": "(Gateway endpoint) Specify true to reset the policy document to the default policy. The default policy allows full access to the service.", + "RemoveSecurityGroupIds": "(Interface endpoint) One or more security group IDs to disassociate from the network interface.", + "RemoveRouteTableIds": "(Gateway endpoint) One or more route table IDs to disassociate from the endpoint.", + "AddRouteTableIds": "(Gateway endpoint) One or more route tables IDs to associate with the endpoint.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "PrivateDnsEnabled": "(Interface endpoint) Indicates whether a private hosted zone is associated with the VPC.", + "AddSecurityGroupIds": "(Interface endpoint) One or more security group IDs to associate with the network interface.", + "AddSubnetIds": "(Interface endpoint) One or more subnet IDs in which to serve the endpoint.", + "PolicyDocument": "A policy to attach to the endpoint that controls access to the service. The policy must be in valid JSON format.", + "RemoveSubnetIds": "(Interface endpoint) One or more subnets IDs in which to remove the endpoint." +} +""" +ModifyVpcEndpoint(args) = ec2("ModifyVpcEndpoint", args) + +""" + CreateLocalGatewayRoute() + +Creates a static route for the specified local gateway route table. + +Required Parameters +{ + "DestinationCidrBlock": "The CIDR range used for destination matches. Routing decisions are based on the most specific match.", + "LocalGatewayRouteTableId": "The ID of the local gateway route table.", + "LocalGatewayVirtualInterfaceGroupId": "The ID of the virtual interface group." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +CreateLocalGatewayRoute(args) = ec2("CreateLocalGatewayRoute", args) + +""" + RunScheduledInstances() + +Launches the specified Scheduled Instances. Before you can launch a Scheduled Instance, you must purchase it and obtain an identifier using PurchaseScheduledInstances. You must launch a Scheduled Instance during its scheduled time period. You can't stop or reboot a Scheduled Instance, but you can terminate it as needed. If you terminate a Scheduled Instance before the current scheduled time period ends, you can launch it again after a few minutes. For more information, see Scheduled Instances in the Amazon Elastic Compute Cloud User Guide. + +Required Parameters +{ + "ScheduledInstanceId": "The Scheduled Instance ID.", + "LaunchSpecification": "The launch specification. You must match the instance type, Availability Zone, network, and platform of the schedule that you purchased." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "InstanceCount": "The number of instances. Default: 1", + "ClientToken": "Unique, case-sensitive identifier that ensures the idempotency of the request. For more information, see Ensuring Idempotency." +} +""" +RunScheduledInstances(args) = ec2("RunScheduledInstances", args) + +""" + DescribeTransitGateways() + +Describes one or more transit gateways. By default, all transit gateways are described. Alternatively, you can filter the results. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.", + "NextToken": "The token for the next page of results.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "Filters": "One or more filters. The possible values are: options.propagation-default-route-table-id - The ID of the default propagation route table. options.amazon-side-asn - The private ASN for the Amazon side of a BGP session. options.association-default-route-table-id - The ID of the default association route table. options.auto-accept-shared-attachments - Indicates whether there is automatic acceptance of attachment requests (enable | disable). options.default-route-table-association - Indicates whether resource attachments are automatically associated with the default association route table (enable | disable). options.default-route-table-propagation - Indicates whether resource attachments automatically propagate routes to the default propagation route table (enable | disable). options.dns-support - Indicates whether DNS support is enabled (enable | disable). options.vpn-ecmp-support - Indicates whether Equal Cost Multipath Protocol support is enabled (enable | disable). owner-id - The ID of the AWS account that owns the transit gateway. state - The state of the attachment (available | deleted | deleting | failed | modifying | pendingAcceptance | pending | rollingBack | rejected | rejecting). transit-gateway-id - The ID of the transit gateway. ", + "TransitGatewayIds": "The IDs of the transit gateways." +} +""" +DescribeTransitGateways() = ec2("DescribeTransitGateways") +DescribeTransitGateways(args) = ec2("DescribeTransitGateways", args) + +""" + CreateVpcEndpointServiceConfiguration() + +Creates a VPC endpoint service configuration to which service consumers (AWS accounts, IAM users, and IAM roles) can connect. Service consumers can create an interface VPC endpoint to connect to your service. To create an endpoint service configuration, you must first create a Network Load Balancer for your service. For more information, see VPC Endpoint Services in the Amazon Virtual Private Cloud User Guide. If you set the private DNS name, you must prove that you own the private DNS domain name. For more information, see VPC Endpoint Service Private DNS Name Verification in the Amazon Virtual Private Cloud User Guide. + +Required Parameters +{ + "NetworkLoadBalancerArns": "The Amazon Resource Names (ARNs) of one or more Network Load Balancers for your service." +} + +Optional Parameters +{ + "AcceptanceRequired": "Indicates whether requests from service consumers to create an endpoint to your service must be accepted. To accept a request, use AcceptVpcEndpointConnections.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "TagSpecifications": "The tags to associate with the service.", + "PrivateDnsName": "The private DNS name to assign to the VPC endpoint service.", + "ClientToken": "Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency." +} +""" +CreateVpcEndpointServiceConfiguration(args) = ec2("CreateVpcEndpointServiceConfiguration", args) + +""" + DescribeFlowLogs() + +Describes one or more flow logs. To view the information in your flow logs (the log streams for the network interfaces), you must use the CloudWatch Logs console or the CloudWatch Logs API. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.", + "NextToken": "The token for the next page of results.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "Filter": "One or more filters. deliver-log-status - The status of the logs delivery (SUCCESS | FAILED). log-destination-type - The type of destination to which the flow log publishes data. Possible destination types include cloud-watch-logs and S3. flow-log-id - The ID of the flow log. log-group-name - The name of the log group. resource-id - The ID of the VPC, subnet, or network interface. traffic-type - The type of traffic (ACCEPT | REJECT | ALL). tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value. tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value. ", + "FlowLogIds": "One or more flow log IDs. Constraint: Maximum of 1000 flow log IDs." +} +""" +DescribeFlowLogs() = ec2("DescribeFlowLogs") +DescribeFlowLogs(args) = ec2("DescribeFlowLogs", args) + +""" + CreateFleet() + +Launches an EC2 Fleet. You can create a single EC2 Fleet that includes multiple launch specifications that vary by instance type, AMI, Availability Zone, or subnet. For more information, see Launching an EC2 Fleet in the Amazon Elastic Compute Cloud User Guide. + +Required Parameters +{ + "LaunchTemplateConfigs": "The configuration for the EC2 Fleet.", + "TargetCapacitySpecification": "The number of units to request." +} + +Optional Parameters +{ + "OnDemandOptions": "Describes the configuration of On-Demand Instances in an EC2 Fleet.", + "TerminateInstancesWithExpiration": "Indicates whether running instances should be terminated when the EC2 Fleet expires.", + "ReplaceUnhealthyInstances": "Indicates whether EC2 Fleet should replace unhealthy instances.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "ExcessCapacityTerminationPolicy": "Indicates whether running instances should be terminated if the total target capacity of the EC2 Fleet is decreased below the current size of the EC2 Fleet.", + "ValidFrom": "The start date and time of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ). The default is to start fulfilling the request immediately.", + "ClientToken": "Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.", + "ValidUntil": "The end date and time of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ). At this point, no new EC2 Fleet requests are placed or able to fulfill the request. If no value is specified, the request remains until you cancel it.", + "TagSpecifications": "The key-value pair for tagging the EC2 Fleet request on creation. The value for ResourceType must be fleet, otherwise the fleet request fails. To tag instances at launch, specify the tags in the launch template. For information about tagging after launch, see Tagging Your Resources. ", + "SpotOptions": "Describes the configuration of Spot Instances in an EC2 Fleet.", + "Type": "The type of the request. By default, the EC2 Fleet places an asynchronous request for your desired capacity, and maintains it by replenishing interrupted Spot Instances (maintain). A value of instant places a synchronous one-time request, and returns errors for any instances that could not be launched. A value of request places an asynchronous one-time request without maintaining capacity or submitting requests in alternative capacity pools if capacity is unavailable. For more information, see EC2 Fleet Request Types in the Amazon Elastic Compute Cloud User Guide." +} +""" +CreateFleet(args) = ec2("CreateFleet", args) + +""" + RequestSpotFleet() + +Creates a Spot Fleet request. The Spot Fleet request specifies the total target capacity and the On-Demand target capacity. Amazon EC2 calculates the difference between the total capacity and On-Demand capacity, and launches the difference as Spot capacity. You can submit a single request that includes multiple launch specifications that vary by instance type, AMI, Availability Zone, or subnet. By default, the Spot Fleet requests Spot Instances in the Spot Instance pool where the price per unit is the lowest. Each launch specification can include its own instance weighting that reflects the value of the instance type to your application workload. Alternatively, you can specify that the Spot Fleet distribute the target capacity across the Spot pools included in its launch specifications. By ensuring that the Spot Instances in your Spot Fleet are in different Spot pools, you can improve the availability of your fleet. You can specify tags for the Spot Fleet request and instances launched by the fleet. You cannot tag other resource types in a Spot Fleet request because only the spot-fleet-request and instance resource types are supported. For more information, see Spot Fleet Requests in the Amazon EC2 User Guide for Linux Instances. + +Required Parameters +{ + "SpotFleetRequestConfig": "The configuration for the Spot Fleet request." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +RequestSpotFleet(args) = ec2("RequestSpotFleet", args) + +""" + DeleteTransitGateway() + +Deletes the specified transit gateway. + +Required Parameters +{ + "TransitGatewayId": "The ID of the transit gateway." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +DeleteTransitGateway(args) = ec2("DeleteTransitGateway", args) + +""" + CreateVpnConnection() + +Creates a VPN connection between an existing virtual private gateway and a VPN customer gateway. The supported connection type is ipsec.1. The response includes information that you need to give to your network administrator to configure your customer gateway. We strongly recommend that you use HTTPS when calling this operation because the response contains sensitive cryptographic information for configuring your customer gateway. If you decide to shut down your VPN connection for any reason and later create a new VPN connection, you must reconfigure your customer gateway with the new information returned from this call. This is an idempotent operation. If you perform the operation more than once, Amazon EC2 doesn't return an error. For more information, see AWS Site-to-Site VPN in the AWS Site-to-Site VPN User Guide. + +Required Parameters +{ + "Type": "The type of VPN connection (ipsec.1).", + "CustomerGatewayId": "The ID of the customer gateway." +} + +Optional Parameters +{ + "TransitGatewayId": "The ID of the transit gateway. If you specify a transit gateway, you cannot specify a virtual private gateway.", + "VpnGatewayId": "The ID of the virtual private gateway. If you specify a virtual private gateway, you cannot specify a transit gateway.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "Options": "The options for the VPN connection." +} +""" +CreateVpnConnection(args) = ec2("CreateVpnConnection", args) + +""" + CancelReservedInstancesListing() + +Cancels the specified Reserved Instance listing in the Reserved Instance Marketplace. For more information, see Reserved Instance Marketplace in the Amazon Elastic Compute Cloud User Guide. + +Required Parameters +{ + "ReservedInstancesListingId": "The ID of the Reserved Instance listing." +} +""" +CancelReservedInstancesListing(args) = ec2("CancelReservedInstancesListing", args) + +""" + ImportVolume() + +Creates an import volume task using metadata from the specified disk image.For more information, see Importing Disks to Amazon EBS. For information about the import manifest referenced by this API action, see VM Import Manifest. + +Required Parameters +{ + "AvailabilityZone": "The Availability Zone for the resulting EBS volume.", + "Image": "The disk image.", + "Volume": "The volume size." +} + +Optional Parameters +{ + "Description": "A description of the volume.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +ImportVolume(args) = ec2("ImportVolume", args) + +""" + GetHostReservationPurchasePreview() + +Preview a reservation purchase with configurations that match those of your Dedicated Host. You must have active Dedicated Hosts in your account before you purchase a reservation. This is a preview of the PurchaseHostReservation action and does not result in the offering being purchased. + +Required Parameters +{ + "HostIdSet": "The IDs of the Dedicated Hosts with which the reservation is associated.", + "OfferingId": "The offering ID of the reservation." +} +""" +GetHostReservationPurchasePreview(args) = ec2("GetHostReservationPurchasePreview", args) + +""" + DisableTransitGatewayRouteTablePropagation() + +Disables the specified resource attachment from propagating routes to the specified propagation route table. + +Required Parameters +{ + "TransitGatewayAttachmentId": "The ID of the attachment.", + "TransitGatewayRouteTableId": "The ID of the propagation route table." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +DisableTransitGatewayRouteTablePropagation(args) = ec2("DisableTransitGatewayRouteTablePropagation", args) + +""" + ModifyTrafficMirrorFilterRule() + +Modifies the specified Traffic Mirror rule. DestinationCidrBlock and SourceCidrBlock must both be an IPv4 range or an IPv6 range. + +Required Parameters +{ + "TrafficMirrorFilterRuleId": "The ID of the Traffic Mirror rule." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "RuleNumber": "The number of the Traffic Mirror rule. This number must be unique for each Traffic Mirror rule in a given direction. The rules are processed in ascending order by rule number.", + "SourcePortRange": "The port range to assign to the Traffic Mirror rule.", + "Protocol": "The protocol, for example TCP, to assign to the Traffic Mirror rule.", + "SourceCidrBlock": "The source CIDR block to assign to the Traffic Mirror rule.", + "RemoveFields": "The properties that you want to remove from the Traffic Mirror filter rule. When you remove a property from a Traffic Mirror filter rule, the property is set to the default.", + "DestinationCidrBlock": "The destination CIDR block to assign to the Traffic Mirror rule.", + "DestinationPortRange": "The destination ports that are associated with the Traffic Mirror rule.", + "Description": "The description to assign to the Traffic Mirror rule.", + "RuleAction": "The action to assign to the rule.", + "TrafficDirection": "The type of traffic (ingress | egress) to assign to the rule." +} +""" +ModifyTrafficMirrorFilterRule(args) = ec2("ModifyTrafficMirrorFilterRule", args) + +""" + DeprovisionByoipCidr() + +Releases the specified address range that you provisioned for use with your AWS resources through bring your own IP addresses (BYOIP) and deletes the corresponding address pool. Before you can release an address range, you must stop advertising it using WithdrawByoipCidr and you must not have any IP addresses allocated from its address range. + +Required Parameters +{ + "Cidr": "The address range, in CIDR notation. The prefix must be the same prefix that you specified when you provisioned the address range." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +DeprovisionByoipCidr(args) = ec2("DeprovisionByoipCidr", args) + +""" + CreateVpcEndpoint() + +Creates a VPC endpoint for a specified service. An endpoint enables you to create a private connection between your VPC and the service. The service may be provided by AWS, an AWS Marketplace Partner, or another AWS account. For more information, see VPC Endpoints in the Amazon Virtual Private Cloud User Guide. A gateway endpoint serves as a target for a route in your route table for traffic destined for the AWS service. You can specify an endpoint policy to attach to the endpoint, which will control access to the service from your VPC. You can also specify the VPC route tables that use the endpoint. An interface endpoint is a network interface in your subnet that serves as an endpoint for communicating with the specified service. You can specify the subnets in which to create an endpoint, and the security groups to associate with the endpoint network interface. Use DescribeVpcEndpointServices to get a list of supported services. + +Required Parameters +{ + "ServiceName": "The service name. To get a list of available services, use the DescribeVpcEndpointServices request, or get the name from the service provider.", + "VpcId": "The ID of the VPC in which the endpoint will be used." +} + +Optional Parameters +{ + "SecurityGroupIds": "(Interface endpoint) The ID of one or more security groups to associate with the endpoint network interface.", + "SubnetIds": "(Interface endpoint) The ID of one or more subnets in which to create an endpoint network interface.", + "PrivateDnsEnabled": "(Interface endpoint) Indicates whether to associate a private hosted zone with the specified VPC. The private hosted zone contains a record set for the default public DNS name for the service for the Region (for example, kinesis.us-east-1.amazonaws.com), which resolves to the private IP addresses of the endpoint network interfaces in the VPC. This enables you to make requests to the default public DNS name for the service instead of the public DNS names that are automatically generated by the VPC endpoint service. To use a private hosted zone, you must set the following VPC attributes to true: enableDnsHostnames and enableDnsSupport. Use ModifyVpcAttribute to set the VPC attributes. Default: true ", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "TagSpecifications": "The tags to associate with the endpoint.", + "VpcEndpointType": "The type of endpoint. Default: Gateway", + "ClientToken": "Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.", + "RouteTableIds": "(Gateway endpoint) One or more route table IDs.", + "PolicyDocument": "A policy to attach to the endpoint that controls access to the service. The policy must be in valid JSON format. If this parameter is not specified, we attach a default policy that allows full access to the service." +} +""" +CreateVpcEndpoint(args) = ec2("CreateVpcEndpoint", args) + +""" + CreateNatGateway() + +Creates a NAT gateway in the specified public subnet. This action creates a network interface in the specified subnet with a private IP address from the IP address range of the subnet. Internet-bound traffic from a private subnet can be routed to the NAT gateway, therefore enabling instances in the private subnet to connect to the internet. For more information, see NAT Gateways in the Amazon Virtual Private Cloud User Guide. + +Required Parameters +{ + "AllocationId": "The allocation ID of an Elastic IP address to associate with the NAT gateway. If the Elastic IP address is associated with another resource, you must first disassociate it.", + "SubnetId": "The subnet in which to create the NAT gateway." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "TagSpecifications": "The tags to assign to the NAT gateway.", + "ClientToken": "Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency. Constraint: Maximum 64 ASCII characters." +} +""" +CreateNatGateway(args) = ec2("CreateNatGateway", args) + +""" + ModifyLaunchTemplate() + +Modifies a launch template. You can specify which version of the launch template to set as the default version. When launching an instance, the default version applies when a launch template version is not specified. + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "LaunchTemplateId": "The ID of the launch template. You must specify either the launch template ID or launch template name in the request.", + "DefaultVersion": "The version number of the launch template to set as the default version.", + "ClientToken": "Unique, case-sensitive identifier you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency. Constraint: Maximum 128 ASCII characters.", + "LaunchTemplateName": "The name of the launch template. You must specify either the launch template ID or launch template name in the request." +} +""" +ModifyLaunchTemplate() = ec2("ModifyLaunchTemplate") +ModifyLaunchTemplate(args) = ec2("ModifyLaunchTemplate", args) + +""" + AssociateRouteTable() + +Associates a subnet in your VPC or an internet gateway or virtual private gateway attached to your VPC with a route table in your VPC. This association causes traffic from the subnet or gateway to be routed according to the routes in the route table. The action returns an association ID, which you need in order to disassociate the route table later. A route table can be associated with multiple subnets. For more information, see Route Tables in the Amazon Virtual Private Cloud User Guide. + +Required Parameters +{ + "RouteTableId": "The ID of the route table." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "SubnetId": "The ID of the subnet.", + "GatewayId": "The ID of the internet gateway or virtual private gateway." +} +""" +AssociateRouteTable(args) = ec2("AssociateRouteTable", args) + +""" + CancelCapacityReservation() + +Cancels the specified Capacity Reservation, releases the reserved capacity, and changes the Capacity Reservation's state to cancelled. Instances running in the reserved capacity continue running until you stop them. Stopped instances that target the Capacity Reservation can no longer launch. Modify these instances to either target a different Capacity Reservation, launch On-Demand Instance capacity, or run in any open Capacity Reservation that has matching attributes and sufficient capacity. + +Required Parameters +{ + "CapacityReservationId": "The ID of the Capacity Reservation to be cancelled." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +CancelCapacityReservation(args) = ec2("CancelCapacityReservation", args) + +""" + ModifyVpcEndpointServiceConfiguration() + +Modifies the attributes of your VPC endpoint service configuration. You can change the Network Load Balancers for your service, and you can specify whether acceptance is required for requests to connect to your endpoint service through an interface VPC endpoint. If you set or modify the private DNS name, you must prove that you own the private DNS domain name. For more information, see VPC Endpoint Service Private DNS Name Verification in the Amazon Virtual Private Cloud User Guide. + +Required Parameters +{ + "ServiceId": "The ID of the service." +} + +Optional Parameters +{ + "AcceptanceRequired": "Indicates whether requests to create an endpoint to your service must be accepted.", + "AddNetworkLoadBalancerArns": "The Amazon Resource Names (ARNs) of Network Load Balancers to add to your service configuration.", + "RemovePrivateDnsName": "Removes the private DNS name of the endpoint service.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "RemoveNetworkLoadBalancerArns": "The Amazon Resource Names (ARNs) of Network Load Balancers to remove from your service configuration.", + "PrivateDnsName": "The private DNS name to assign to the endpoint service." +} +""" +ModifyVpcEndpointServiceConfiguration(args) = ec2("ModifyVpcEndpointServiceConfiguration", args) + +""" + DisassociateTransitGatewayMulticastDomain() + +Disassociates the specified subnets from the transit gateway multicast domain. + +Optional Parameters +{ + "TransitGatewayMulticastDomainId": "The ID of the transit gateway multicast domain.", + "TransitGatewayAttachmentId": "The ID of the attachment.", + "SubnetIds": "The IDs of the subnets;", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +DisassociateTransitGatewayMulticastDomain() = ec2("DisassociateTransitGatewayMulticastDomain") +DisassociateTransitGatewayMulticastDomain(args) = ec2("DisassociateTransitGatewayMulticastDomain", args) + +""" + ModifyVpcPeeringConnectionOptions() + +Modifies the VPC peering connection options on one side of a VPC peering connection. You can do the following: Enable/disable communication over the peering connection between an EC2-Classic instance that's linked to your VPC (using ClassicLink) and instances in the peer VPC. Enable/disable communication over the peering connection between instances in your VPC and an EC2-Classic instance that's linked to the peer VPC. Enable/disable the ability to resolve public DNS hostnames to private IP addresses when queried from instances in the peer VPC. If the peered VPCs are in the same AWS account, you can enable DNS resolution for queries from the local VPC. This ensures that queries from the local VPC resolve to private IP addresses in the peer VPC. This option is not available if the peered VPCs are in different AWS accounts or different Regions. For peered VPCs in different AWS accounts, each AWS account owner must initiate a separate request to modify the peering connection options. For inter-region peering connections, you must use the Region for the requester VPC to modify the requester VPC peering options and the Region for the accepter VPC to modify the accepter VPC peering options. To verify which VPCs are the accepter and the requester for a VPC peering connection, use the DescribeVpcPeeringConnections command. + +Required Parameters +{ + "VpcPeeringConnectionId": "The ID of the VPC peering connection." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "RequesterPeeringConnectionOptions": "The VPC peering connection options for the requester VPC.", + "AccepterPeeringConnectionOptions": "The VPC peering connection options for the accepter VPC." +} +""" +ModifyVpcPeeringConnectionOptions(args) = ec2("ModifyVpcPeeringConnectionOptions", args) + +""" + ModifyAvailabilityZoneGroup() + +Enables or disables an Availability Zone group for your account. Use describe-availability-zones to view the value for GroupName. + +Required Parameters +{ + "OptInStatus": "Indicates whether to enable or disable membership. The valid values are opted-in. You must contact AWS Support to disable an Availability Zone group.", + "GroupName": "The name of the Availability Zone Group." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +ModifyAvailabilityZoneGroup(args) = ec2("ModifyAvailabilityZoneGroup", args) + +""" + ImportImage() + +Import single or multi-volume disk images or EBS snapshots into an Amazon Machine Image (AMI). For more information, see Importing a VM as an Image Using VM Import/Export in the VM Import/Export User Guide. + +Optional Parameters +{ + "RoleName": "The name of the role to use when not using the default role, 'vmimport'.", + "Architecture": "The architecture of the virtual machine. Valid values: i386 | x86_64 | arm64 ", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "ClientData": "The client-specific data.", + "ClientToken": "The token to enable idempotency for VM import requests.", + "Platform": "The operating system of the virtual machine. Valid values: Windows | Linux ", + "DiskContainers": "Information about the disk containers.", + "Hypervisor": "The target hypervisor platform. Valid values: xen ", + "Encrypted": "Specifies whether the destination AMI of the imported image should be encrypted. The default CMK for EBS is used unless you specify a non-default AWS Key Management Service (AWS KMS) CMK using KmsKeyId. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.", + "Description": "A description string for the import image task.", + "LicenseType": "The license type to be used for the Amazon Machine Image (AMI) after importing. By default, we detect the source-system operating system (OS) and apply the appropriate license. Specify AWS to replace the source-system license with an AWS license, if appropriate. Specify BYOL to retain the source-system license, if appropriate. To use BYOL, you must have existing licenses with rights to use these licenses in a third party cloud, such as AWS. For more information, see Prerequisites in the VM Import/Export User Guide.", + "KmsKeyId": "An identifier for the symmetric AWS Key Management Service (AWS KMS) customer master key (CMK) to use when creating the encrypted AMI. This parameter is only required if you want to use a non-default CMK; if this parameter is not specified, the default CMK for EBS is used. If a KmsKeyId is specified, the Encrypted flag must also be set. The CMK identifier may be provided in any of the following formats: Key ID Key alias. The alias ARN contains the arn:aws:kms namespace, followed by the Region of the CMK, the AWS account ID of the CMK owner, the alias namespace, and then the CMK alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias. ARN using key ID. The ID ARN contains the arn:aws:kms namespace, followed by the Region of the CMK, the AWS account ID of the CMK owner, the key namespace, and then the CMK ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef. ARN using key alias. The alias ARN contains the arn:aws:kms namespace, followed by the Region of the CMK, the AWS account ID of the CMK owner, the alias namespace, and then the CMK alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias. AWS parses KmsKeyId asynchronously, meaning that the action you call may appear to complete even though you provided an invalid identifier. This action will eventually report failure. The specified CMK must exist in the Region that the AMI is being copied to. Amazon EBS does not support asymmetric CMKs.", + "LicenseSpecifications": "The ARNs of the license configurations." +} +""" +ImportImage() = ec2("ImportImage") +ImportImage(args) = ec2("ImportImage", args) + +""" + ModifyVpnConnection() + +Modifies the target gateway of an AWS Site-to-Site VPN connection. The following migration options are available: An existing virtual private gateway to a new virtual private gateway An existing virtual private gateway to a transit gateway An existing transit gateway to a new transit gateway An existing transit gateway to a virtual private gateway Before you perform the migration to the new gateway, you must configure the new gateway. Use CreateVpnGateway to create a virtual private gateway, or CreateTransitGateway to create a transit gateway. This step is required when you migrate from a virtual private gateway with static routes to a transit gateway. You must delete the static routes before you migrate to the new gateway. Keep a copy of the static route before you delete it. You will need to add back these routes to the transit gateway after the VPN connection migration is complete. After you migrate to the new gateway, you might need to modify your VPC route table. Use CreateRoute and DeleteRoute to make the changes described in VPN Gateway Target Modification Required VPC Route Table Updates in the AWS Site-to-Site VPN User Guide. When the new gateway is a transit gateway, modify the transit gateway route table to allow traffic between the VPC and the AWS Site-to-Site VPN connection. Use CreateTransitGatewayRoute to add the routes. If you deleted VPN static routes, you must add the static routes to the transit gateway route table. After you perform this operation, the AWS VPN endpoint's IP addresses on the AWS side and the tunnel options remain intact. Your AWS Site-to-Site VPN connection will be temporarily unavailable for a brief period while we provision the new endpoints. + +Required Parameters +{ + "VpnConnectionId": "The ID of the VPN connection." +} + +Optional Parameters +{ + "TransitGatewayId": "The ID of the transit gateway.", + "VpnGatewayId": "The ID of the virtual private gateway at the AWS side of the VPN connection.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "CustomerGatewayId": "The ID of the customer gateway at your end of the VPN connection." +} +""" +ModifyVpnConnection(args) = ec2("ModifyVpnConnection", args) + +""" + DeleteLocalGatewayRouteTableVpcAssociation() + +Deletes the specified association between a VPC and local gateway route table. + +Required Parameters +{ + "LocalGatewayRouteTableVpcAssociationId": "The ID of the association." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +DeleteLocalGatewayRouteTableVpcAssociation(args) = ec2("DeleteLocalGatewayRouteTableVpcAssociation", args) + +""" + CreateVpnConnectionRoute() + +Creates a static route associated with a VPN connection between an existing virtual private gateway and a VPN customer gateway. The static route allows traffic to be routed from the virtual private gateway to the VPN customer gateway. For more information, see AWS Site-to-Site VPN in the AWS Site-to-Site VPN User Guide. + +Required Parameters +{ + "DestinationCidrBlock": "The CIDR block associated with the local subnet of the customer network.", + "VpnConnectionId": "The ID of the VPN connection." +} +""" +CreateVpnConnectionRoute(args) = ec2("CreateVpnConnectionRoute", args) + +""" + DescribeVpnGateways() + +Describes one or more of your virtual private gateways. For more information, see AWS Site-to-Site VPN in the AWS Site-to-Site VPN User Guide. + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "Filters": "One or more filters. amazon-side-asn - The Autonomous System Number (ASN) for the Amazon side of the gateway. attachment.state - The current state of the attachment between the gateway and the VPC (attaching | attached | detaching | detached). attachment.vpc-id - The ID of an attached VPC. availability-zone - The Availability Zone for the virtual private gateway (if applicable). state - The state of the virtual private gateway (pending | available | deleting | deleted). tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value. tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value. type - The type of virtual private gateway. Currently the only supported type is ipsec.1. vpn-gateway-id - The ID of the virtual private gateway. ", + "VpnGatewayIds": "One or more virtual private gateway IDs. Default: Describes all your virtual private gateways." +} +""" +DescribeVpnGateways() = ec2("DescribeVpnGateways") +DescribeVpnGateways(args) = ec2("DescribeVpnGateways", args) + +""" + ReportInstanceStatus() + +Submits feedback about the status of an instance. The instance must be in the running state. If your experience with the instance differs from the instance status returned by DescribeInstanceStatus, use ReportInstanceStatus to report your experience with the instance. Amazon EC2 collects this information to improve the accuracy of status checks. Use of this action does not change the value returned by DescribeInstanceStatus. + +Required Parameters +{ + "Instances": "The instances.", + "Status": "The status of all instances listed.", + "ReasonCodes": "The reason codes that describe the health state of your instance. instance-stuck-in-state: My instance is stuck in a state. unresponsive: My instance is unresponsive. not-accepting-credentials: My instance is not accepting my credentials. password-not-available: A password is not available for my instance. performance-network: My instance is experiencing performance problems that I believe are network related. performance-instance-store: My instance is experiencing performance problems that I believe are related to the instance stores. performance-ebs-volume: My instance is experiencing performance problems that I believe are related to an EBS volume. performance-other: My instance is experiencing performance problems. other: [explain using the description parameter] " +} + +Optional Parameters +{ + "StartTime": "The time at which the reported instance health state began.", + "Description": "Descriptive text about the health state of your instance.", + "EndTime": "The time at which the reported instance health state ended.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +ReportInstanceStatus(args) = ec2("ReportInstanceStatus", args) + +""" + ResetSnapshotAttribute() + +Resets permission settings for the specified snapshot. For more information about modifying snapshot permissions, see Sharing Snapshots in the Amazon Elastic Compute Cloud User Guide. + +Required Parameters +{ + "SnapshotId": "The ID of the snapshot.", + "Attribute": "The attribute to reset. Currently, only the attribute for permission to create volumes can be reset." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +ResetSnapshotAttribute(args) = ec2("ResetSnapshotAttribute", args) + +""" + DisableVgwRoutePropagation() + +Disables a virtual private gateway (VGW) from propagating routes to a specified route table of a VPC. + +Required Parameters +{ + "RouteTableId": "The ID of the route table.", + "GatewayId": "The ID of the virtual private gateway." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +DisableVgwRoutePropagation(args) = ec2("DisableVgwRoutePropagation", args) + +""" + ApplySecurityGroupsToClientVpnTargetNetwork() + +Applies a security group to the association between the target network and the Client VPN endpoint. This action replaces the existing security groups with the specified security groups. + +Required Parameters +{ + "SecurityGroupIds": "The IDs of the security groups to apply to the associated target network. Up to 5 security groups can be applied to an associated target network.", + "ClientVpnEndpointId": "The ID of the Client VPN endpoint.", + "VpcId": "The ID of the VPC in which the associated target network is located." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +ApplySecurityGroupsToClientVpnTargetNetwork(args) = ec2("ApplySecurityGroupsToClientVpnTargetNetwork", args) + +""" + DescribeLocalGateways() + +Describes one or more local gateways. By default, all local gateways are described. Alternatively, you can filter the results. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.", + "NextToken": "The token for the next page of results.", + "LocalGatewayIds": "The IDs of the local gateways.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "Filters": "One or more filters." +} +""" +DescribeLocalGateways() = ec2("DescribeLocalGateways") +DescribeLocalGateways(args) = ec2("DescribeLocalGateways", args) + +""" + DescribeTransitGatewayVpcAttachments() + +Describes one or more VPC attachments. By default, all VPC attachments are described. Alternatively, you can filter the results. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.", + "TransitGatewayAttachmentIds": "The IDs of the attachments.", + "NextToken": "The token for the next page of results.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "Filters": "One or more filters. The possible values are: state - The state of the attachment (available | deleted | deleting | failed | modifying | pendingAcceptance | pending | rollingBack | rejected | rejecting). transit-gateway-attachment-id - The ID of the attachment. transit-gateway-id - The ID of the transit gateway. vpc-id - The ID of the VPC. " +} +""" +DescribeTransitGatewayVpcAttachments() = ec2("DescribeTransitGatewayVpcAttachments") +DescribeTransitGatewayVpcAttachments(args) = ec2("DescribeTransitGatewayVpcAttachments", args) + +""" + AllocateAddress() + +Allocates an Elastic IP address to your AWS account. After you allocate the Elastic IP address you can associate it with an instance or network interface. After you release an Elastic IP address, it is released to the IP address pool and can be allocated to a different AWS account. You can allocate an Elastic IP address from an address pool owned by AWS or from an address pool created from a public IPv4 address range that you have brought to AWS for use with your AWS resources using bring your own IP addresses (BYOIP). For more information, see Bring Your Own IP Addresses (BYOIP) in the Amazon Elastic Compute Cloud User Guide. [EC2-VPC] If you release an Elastic IP address, you might be able to recover it. You cannot recover an Elastic IP address that you released after it is allocated to another AWS account. You cannot recover an Elastic IP address for EC2-Classic. To attempt to recover an Elastic IP address that you released, specify it in this operation. An Elastic IP address is for use either in the EC2-Classic platform or in a VPC. By default, you can allocate 5 Elastic IP addresses for EC2-Classic per Region and 5 Elastic IP addresses for EC2-VPC per Region. For more information, see Elastic IP Addresses in the Amazon Elastic Compute Cloud User Guide. + +Optional Parameters +{ + "Address": "[EC2-VPC] The Elastic IP address to recover or an IPv4 address from an address pool.", + "CustomerOwnedIpv4Pool": "The ID of a customer-owned address pool. Use this parameter to let Amazon EC2 select an address from the address pool. Alternatively, specify a specific address from the address pool.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "Domain": "Set to vpc to allocate the address for use with instances in a VPC. Default: The address is for use with instances in EC2-Classic.", + "NetworkBorderGroup": "The location from which the IP address is advertised. Use this parameter to limit the address to this location. A network border group is a unique set of Availability Zones or Local Zones from where AWS advertises IP addresses and limits the addresses to the group. IP addresses cannot move between network border groups. Use DescribeAvailabilityZones to view the network border groups. You cannot use a network border group with EC2 Classic. If you attempt this operation on EC2 classic, you will receive an InvalidParameterCombination error. For more information, see Error Codes. ", + "PublicIpv4Pool": "The ID of an address pool that you own. Use this parameter to let Amazon EC2 select an address from the address pool. To specify a specific address from the address pool, use the Address parameter instead." +} +""" +AllocateAddress() = ec2("AllocateAddress") +AllocateAddress(args) = ec2("AllocateAddress", args) + +""" + DescribeEgressOnlyInternetGateways() + +Describes one or more of your egress-only internet gateways. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.", + "NextToken": "The token for the next page of results.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "EgressOnlyInternetGatewayIds": "One or more egress-only internet gateway IDs.", + "Filters": "One or more filters. tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value. tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value. " +} +""" +DescribeEgressOnlyInternetGateways() = ec2("DescribeEgressOnlyInternetGateways") +DescribeEgressOnlyInternetGateways(args) = ec2("DescribeEgressOnlyInternetGateways", args) + +""" + CreateClientVpnEndpoint() + +Creates a Client VPN endpoint. A Client VPN endpoint is the resource you create and configure to enable and manage client VPN sessions. It is the destination endpoint at which all client VPN sessions are terminated. + +Required Parameters +{ + "ClientCidrBlock": "The IPv4 address range, in CIDR notation, from which to assign client IP addresses. The address range cannot overlap with the local CIDR of the VPC in which the associated subnet is located, or the routes that you add manually. The address range cannot be changed after the Client VPN endpoint has been created. The CIDR block should be /22 or greater.", + "ServerCertificateArn": "The ARN of the server certificate. For more information, see the AWS Certificate Manager User Guide.", + "ConnectionLogOptions": "Information about the client connection logging options. If you enable client connection logging, data about client connections is sent to a Cloudwatch Logs log stream. The following information is logged: Client connection requests Client connection results (successful and unsuccessful) Reasons for unsuccessful client connection requests Client connection termination time ", + "AuthenticationOptions": "Information about the authentication method to be used to authenticate clients." +} + +Optional Parameters +{ + "VpnPort": "The port number to assign to the Client VPN endpoint for TCP and UDP traffic. Valid Values: 443 | 1194 Default Value: 443 ", + "Description": "A brief description of the Client VPN endpoint.", + "SecurityGroupIds": "The IDs of one or more security groups to apply to the target network. You must also specify the ID of the VPC that contains the security groups.", + "TransportProtocol": "The transport protocol to be used by the VPN session. Default value: udp ", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "TagSpecifications": "The tags to apply to the Client VPN endpoint during creation.", + "SplitTunnel": "Indicates whether split-tunnel is enabled on the AWS Client VPN endpoint. By default, split-tunnel on a VPN endpoint is disabled. For information about split-tunnel VPN endpoints, see Split-Tunnel AWS Client VPN Endpoint in the AWS Client VPN Administrator Guide.", + "VpcId": "The ID of the VPC to associate with the Client VPN endpoint. If no security group IDs are specified in the request, the default security group for the VPC is applied.", + "ClientToken": "Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.", + "DnsServers": "Information about the DNS servers to be used for DNS resolution. A Client VPN endpoint can have up to two DNS servers. If no DNS server is specified, the DNS address configured on the device is used for the DNS server." +} +""" +CreateClientVpnEndpoint(args) = ec2("CreateClientVpnEndpoint", args) + +""" + DescribeClientVpnTargetNetworks() + +Describes the target networks associated with the specified Client VPN endpoint. + +Required Parameters +{ + "ClientVpnEndpointId": "The ID of the Client VPN endpoint." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the nextToken value.", + "NextToken": "The token to retrieve the next page of results.", + "AssociationIds": "The IDs of the target network associations.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "Filters": "One or more filters. Filter names and values are case-sensitive. association-id - The ID of the association. target-network-id - The ID of the subnet specified as the target network. vpc-id - The ID of the VPC in which the target network is located. " +} +""" +DescribeClientVpnTargetNetworks(args) = ec2("DescribeClientVpnTargetNetworks", args) + +""" + DescribeClientVpnAuthorizationRules() + +Describes the authorization rules for a specified Client VPN endpoint. + +Required Parameters +{ + "ClientVpnEndpointId": "The ID of the Client VPN endpoint." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the nextToken value.", + "NextToken": "The token to retrieve the next page of results.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "Filters": "One or more filters. Filter names and values are case-sensitive. description - The description of the authorization rule. destination-cidr - The CIDR of the network to which the authorization rule applies. group-id - The ID of the Active Directory group to which the authorization rule grants access. " +} +""" +DescribeClientVpnAuthorizationRules(args) = ec2("DescribeClientVpnAuthorizationRules", args) + +""" + DescribeLaunchTemplateVersions() + +Describes one or more versions of a specified launch template. You can describe all versions, individual versions, or a range of versions. + +Optional Parameters +{ + "Versions": "One or more versions of the launch template.", + "MaxResults": "The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned NextToken value. This value can be between 1 and 200.", + "NextToken": "The token to request the next page of results.", + "MinVersion": "The version number after which to describe launch template versions.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "LaunchTemplateId": "The ID of the launch template. You must specify either the launch template ID or launch template name in the request.", + "MaxVersion": "The version number up to which to describe launch template versions.", + "Filters": "One or more filters. create-time - The time the launch template version was created. ebs-optimized - A boolean that indicates whether the instance is optimized for Amazon EBS I/O. iam-instance-profile - The ARN of the IAM instance profile. image-id - The ID of the AMI. instance-type - The instance type. is-default-version - A boolean that indicates whether the launch template version is the default version. kernel-id - The kernel ID. ram-disk-id - The RAM disk ID. ", + "LaunchTemplateName": "The name of the launch template. You must specify either the launch template ID or launch template name in the request." +} +""" +DescribeLaunchTemplateVersions() = ec2("DescribeLaunchTemplateVersions") +DescribeLaunchTemplateVersions(args) = ec2("DescribeLaunchTemplateVersions", args) + +""" + DescribeSpotDatafeedSubscription() + +Describes the data feed for Spot Instances. For more information, see Spot Instance Data Feed in the Amazon EC2 User Guide for Linux Instances. + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +DescribeSpotDatafeedSubscription() = ec2("DescribeSpotDatafeedSubscription") +DescribeSpotDatafeedSubscription(args) = ec2("DescribeSpotDatafeedSubscription", args) + +""" + DescribeVpcEndpointConnectionNotifications() + +Describes the connection notifications for VPC endpoints and VPC endpoint services. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return in a single call. To retrieve the remaining results, make another request with the returned NextToken value.", + "NextToken": "The token to request the next page of results.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "ConnectionNotificationId": "The ID of the notification.", + "Filters": "One or more filters. connection-notification-arn - The ARN of the SNS topic for the notification. connection-notification-id - The ID of the notification. connection-notification-state - The state of the notification (Enabled | Disabled). connection-notification-type - The type of notification (Topic). service-id - The ID of the endpoint service. vpc-endpoint-id - The ID of the VPC endpoint. " +} +""" +DescribeVpcEndpointConnectionNotifications() = ec2("DescribeVpcEndpointConnectionNotifications") +DescribeVpcEndpointConnectionNotifications(args) = ec2("DescribeVpcEndpointConnectionNotifications", args) + +""" + DescribeRegions() + +Describes the Regions that are enabled for your account, or all Regions. For a list of the Regions supported by Amazon EC2, see Regions and Endpoints. For information about enabling and disabling Regions for your account, see Managing AWS Regions in the AWS General Reference. + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "Filters": "The filters. endpoint - The endpoint of the Region (for example, ec2.us-east-1.amazonaws.com). opt-in-status - The opt-in status of the Region (opt-in-not-required | opted-in | not-opted-in). region-name - The name of the Region (for example, us-east-1). ", + "RegionNames": "The names of the Regions. You can specify any Regions, whether they are enabled and disabled for your account.", + "AllRegions": "Indicates whether to display all Regions, including Regions that are disabled for your account." +} +""" +DescribeRegions() = ec2("DescribeRegions") +DescribeRegions(args) = ec2("DescribeRegions", args) + +""" + AuthorizeClientVpnIngress() + +Adds an ingress authorization rule to a Client VPN endpoint. Ingress authorization rules act as firewall rules that grant access to networks. You must configure ingress authorization rules to enable clients to access resources in AWS or on-premises networks. + +Required Parameters +{ + "ClientVpnEndpointId": "The ID of the Client VPN endpoint.", + "TargetNetworkCidr": "The IPv4 address range, in CIDR notation, of the network for which access is being authorized." +} + +Optional Parameters +{ + "AccessGroupId": "The ID of the Active Directory group to grant access.", + "Description": "A brief description of the authorization rule.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "ClientToken": "Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.", + "AuthorizeAllGroups": "Indicates whether to grant access to all clients. Use true to grant all clients who successfully establish a VPN connection access to the network." +} +""" +AuthorizeClientVpnIngress(args) = ec2("AuthorizeClientVpnIngress", args) + +""" + DeleteRoute() + +Deletes the specified route from the specified route table. + +Required Parameters +{ + "RouteTableId": "The ID of the route table." +} + +Optional Parameters +{ + "DestinationIpv6CidrBlock": "The IPv6 CIDR range for the route. The value you specify must match the CIDR for the route exactly.", + "DestinationCidrBlock": "The IPv4 CIDR range for the route. The value you specify must match the CIDR for the route exactly.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +DeleteRoute(args) = ec2("DeleteRoute", args) + +""" + ModifySubnetAttribute() + +Modifies a subnet attribute. You can only modify one attribute at a time. + +Required Parameters +{ + "SubnetId": "The ID of the subnet." +} + +Optional Parameters +{ + "MapPublicIpOnLaunch": "Specify true to indicate that ENIs attached to instances created in the specified subnet should be assigned a public IPv4 address.", + "AssignIpv6AddressOnCreation": "Specify true to indicate that network interfaces created in the specified subnet should be assigned an IPv6 address. This includes a network interface that's created when launching an instance into the subnet (the instance therefore receives an IPv6 address). If you enable the IPv6 addressing feature for your subnet, your network interface or instance only receives an IPv6 address if it's created using version 2016-11-15 or later of the Amazon EC2 API." +} +""" +ModifySubnetAttribute(args) = ec2("ModifySubnetAttribute", args) + +""" + ModifyFleet() + +Modifies the specified EC2 Fleet. You can only modify an EC2 Fleet request of type maintain. While the EC2 Fleet is being modified, it is in the modifying state. To scale up your EC2 Fleet, increase its target capacity. The EC2 Fleet launches the additional Spot Instances according to the allocation strategy for the EC2 Fleet request. If the allocation strategy is lowest-price, the EC2 Fleet launches instances using the Spot Instance pool with the lowest price. If the allocation strategy is diversified, the EC2 Fleet distributes the instances across the Spot Instance pools. If the allocation strategy is capacity-optimized, EC2 Fleet launches instances from Spot Instance pools with optimal capacity for the number of instances that are launching. To scale down your EC2 Fleet, decrease its target capacity. First, the EC2 Fleet cancels any open requests that exceed the new target capacity. You can request that the EC2 Fleet terminate Spot Instances until the size of the fleet no longer exceeds the new target capacity. If the allocation strategy is lowest-price, the EC2 Fleet terminates the instances with the highest price per unit. If the allocation strategy is capacity-optimized, the EC2 Fleet terminates the instances in the Spot Instance pools that have the least available Spot Instance capacity. If the allocation strategy is diversified, the EC2 Fleet terminates instances across the Spot Instance pools. Alternatively, you can request that the EC2 Fleet keep the fleet at its current size, but not replace any Spot Instances that are interrupted or that you terminate manually. If you are finished with your EC2 Fleet for now, but will use it again later, you can set the target capacity to 0. + +Required Parameters +{ + "FleetId": "The ID of the EC2 Fleet.", + "TargetCapacitySpecification": "The size of the EC2 Fleet." +} + +Optional Parameters +{ + "ExcessCapacityTerminationPolicy": "Indicates whether running instances should be terminated if the total target capacity of the EC2 Fleet is decreased below the current size of the EC2 Fleet.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +ModifyFleet(args) = ec2("ModifyFleet", args) + +""" + CreateTransitGatewayMulticastDomain() + +Creates a multicast domain using the specified transit gateway. The transit gateway must be in the available state before you create a domain. Use DescribeTransitGateways to see the state of transit gateway. + +Required Parameters +{ + "TransitGatewayId": "The ID of the transit gateway." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "TagSpecifications": "The tags for the transit gateway multicast domain." +} +""" +CreateTransitGatewayMulticastDomain(args) = ec2("CreateTransitGatewayMulticastDomain", args) + +""" + DeleteKeyPair() + +Deletes the specified key pair, by removing the public key from Amazon EC2. + +Required Parameters +{ + "KeyName": "The name of the key pair." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +DeleteKeyPair(args) = ec2("DeleteKeyPair", args) + +""" + DescribeTransitGatewayPeeringAttachments() + +Describes your transit gateway peering attachments. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.", + "TransitGatewayAttachmentIds": "One or more IDs of the transit gateway peering attachments.", + "NextToken": "The token for the next page of results.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "Filters": "One or more filters. The possible values are: transit-gateway-attachment-id - The ID of the transit gateway attachment. local-owner-id - The ID of your AWS account. remote-owner-id - The ID of the AWS account in the remote Region that owns the transit gateway. state - The state of the peering attachment (available | deleted | deleting | failed | modifying | pendingAcceptance | pending | rollingBack | rejected | rejecting). transit-gateway-id - The ID of the transit gateway. " +} +""" +DescribeTransitGatewayPeeringAttachments() = ec2("DescribeTransitGatewayPeeringAttachments") +DescribeTransitGatewayPeeringAttachments(args) = ec2("DescribeTransitGatewayPeeringAttachments", args) + +""" + DescribeVpcEndpointServices() + +Describes available services to which you can create a VPC endpoint. + +Optional Parameters +{ + "ServiceNames": "One or more service names.", + "MaxResults": "The maximum number of items to return for this request. The request returns a token that you can specify in a subsequent call to get the next set of results. Constraint: If the value is greater than 1,000, we return only 1,000 items.", + "NextToken": "The token for the next set of items to return. (You received this token from a prior call.)", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "Filters": "One or more filters. service-name - The name of the service. tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value. tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value. " +} +""" +DescribeVpcEndpointServices() = ec2("DescribeVpcEndpointServices") +DescribeVpcEndpointServices(args) = ec2("DescribeVpcEndpointServices", args) + +""" + DeleteClientVpnRoute() + +Deletes a route from a Client VPN endpoint. You can only delete routes that you manually added using the CreateClientVpnRoute action. You cannot delete routes that were automatically added when associating a subnet. To remove routes that have been automatically added, disassociate the target subnet from the Client VPN endpoint. + +Required Parameters +{ + "DestinationCidrBlock": "The IPv4 address range, in CIDR notation, of the route to be deleted.", + "ClientVpnEndpointId": "The ID of the Client VPN endpoint from which the route is to be deleted." +} + +Optional Parameters +{ + "TargetVpcSubnetId": "The ID of the target subnet used by the route.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +DeleteClientVpnRoute(args) = ec2("DeleteClientVpnRoute", args) + +""" + CreateEgressOnlyInternetGateway() + +[IPv6 only] Creates an egress-only internet gateway for your VPC. An egress-only internet gateway is used to enable outbound communication over IPv6 from instances in your VPC to the internet, and prevents hosts outside of your VPC from initiating an IPv6 connection with your instance. + +Required Parameters +{ + "VpcId": "The ID of the VPC for which to create the egress-only internet gateway." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "ClientToken": "Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency." +} +""" +CreateEgressOnlyInternetGateway(args) = ec2("CreateEgressOnlyInternetGateway", args) + +""" + DescribeAvailabilityZones() + +Describes the Availability Zones and Local Zones that are available to you. If there is an event impacting an Availability Zone or Local Zone, you can use this request to view the state and any provided messages for that Availability Zone or Local Zone. For more information about Availability Zones and Local Zones, see Regions and Availability Zones in the Amazon Elastic Compute Cloud User Guide. + +Optional Parameters +{ + "ZoneNames": "The names of the Availability Zones and Local Zones.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "AllAvailabilityZones": "Include all Availability Zones and Local Zones regardless of your opt in status. If you do not use this parameter, the results include only the zones for the Regions where you have chosen the option to opt in.", + "Filters": "The filters. group-name - For Availability Zones, use the Region name. For Local Zones, use the name of the group associated with the Local Zone (for example, us-west-2-lax-1). message - The Availability Zone or Local Zone message. opt-in-status - The opt in status (opted-in, and not-opted-in | opt-in-not-required). region-name - The name of the Region for the Availability Zone or Local Zone (for example, us-east-1). state - The state of the Availability Zone or Local Zone (available | information | impaired | unavailable). zone-id - The ID of the Availability Zone (for example, use1-az1) or the Local Zone (for example, use usw2-lax1-az1). zone-name - The name of the Availability Zone (for example, us-east-1a) or the Local Zone (for example, use us-west-2-lax-1a). ", + "ZoneIds": "The IDs of the Availability Zones and Local Zones." +} +""" +DescribeAvailabilityZones() = ec2("DescribeAvailabilityZones") +DescribeAvailabilityZones(args) = ec2("DescribeAvailabilityZones", args) + +""" + DescribeFpgaImages() + +Describes the Amazon FPGA Images (AFIs) available to you. These include public AFIs, private AFIs that you own, and AFIs owned by other AWS accounts for which you have load permissions. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return in a single call.", + "NextToken": "The token to retrieve the next page of results.", + "Owners": "Filters the AFI by owner. Specify an AWS account ID, self (owner is the sender of the request), or an AWS owner alias (valid values are amazon | aws-marketplace).", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "FpgaImageIds": "The AFI IDs.", + "Filters": "The filters. create-time - The creation time of the AFI. fpga-image-id - The FPGA image identifier (AFI ID). fpga-image-global-id - The global FPGA image identifier (AGFI ID). name - The name of the AFI. owner-id - The AWS account ID of the AFI owner. product-code - The product code. shell-version - The version of the AWS Shell that was used to create the bitstream. state - The state of the AFI (pending | failed | available | unavailable). tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value. tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value. update-time - The time of the most recent update. " +} +""" +DescribeFpgaImages() = ec2("DescribeFpgaImages") +DescribeFpgaImages(args) = ec2("DescribeFpgaImages", args) + +""" + CreateSubnet() + +Creates a subnet in an existing VPC. When you create each subnet, you provide the VPC ID and IPv4 CIDR block for the subnet. After you create a subnet, you can't change its CIDR block. The size of the subnet's IPv4 CIDR block can be the same as a VPC's IPv4 CIDR block, or a subset of a VPC's IPv4 CIDR block. If you create more than one subnet in a VPC, the subnets' CIDR blocks must not overlap. The smallest IPv4 subnet (and VPC) you can create uses a /28 netmask (16 IPv4 addresses), and the largest uses a /16 netmask (65,536 IPv4 addresses). If you've associated an IPv6 CIDR block with your VPC, you can create a subnet with an IPv6 CIDR block that uses a /64 prefix length. AWS reserves both the first four and the last IPv4 address in each subnet's CIDR block. They're not available for use. If you add more than one subnet to a VPC, they're set up in a star topology with a logical router in the middle. If you launch an instance in a VPC using an Amazon EBS-backed AMI, the IP address doesn't change if you stop and restart the instance (unlike a similar instance launched outside a VPC, which gets a new IP address when restarted). It's therefore possible to have a subnet with no running instances (they're all stopped), but no remaining IP addresses available. For more information about subnets, see Your VPC and Subnets in the Amazon Virtual Private Cloud User Guide. + +Required Parameters +{ + "CidrBlock": "The IPv4 network range for the subnet, in CIDR notation. For example, 10.0.0.0/24.", + "VpcId": "The ID of the VPC." +} + +Optional Parameters +{ + "AvailabilityZone": "The Availability Zone or Local Zone for the subnet. Default: AWS selects one for you. If you create more than one subnet in your VPC, we do not necessarily select a different zone for each subnet. To create a subnet in a Local Zone, set this value to the Local Zone ID, for example us-west-2-lax-1a. For information about the Regions that support Local Zones, see Available Regions in the Amazon Elastic Compute Cloud User Guide.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "AvailabilityZoneId": "The AZ ID or the Local Zone ID of the subnet.", + "Ipv6CidrBlock": "The IPv6 network range for the subnet, in CIDR notation. The subnet size must use a /64 prefix length.", + "OutpostArn": "The Amazon Resource Name (ARN) of the Outpost." +} +""" +CreateSubnet(args) = ec2("CreateSubnet", args) + +""" + CreateVpnGateway() + +Creates a virtual private gateway. A virtual private gateway is the endpoint on the VPC side of your VPN connection. You can create a virtual private gateway before creating the VPC itself. For more information, see AWS Site-to-Site VPN in the AWS Site-to-Site VPN User Guide. + +Required Parameters +{ + "Type": "The type of VPN connection this virtual private gateway supports." +} + +Optional Parameters +{ + "AvailabilityZone": "The Availability Zone for the virtual private gateway.", + "AmazonSideAsn": "A private Autonomous System Number (ASN) for the Amazon side of a BGP session. If you're using a 16-bit ASN, it must be in the 64512 to 65534 range. If you're using a 32-bit ASN, it must be in the 4200000000 to 4294967294 range. Default: 64512", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +CreateVpnGateway(args) = ec2("CreateVpnGateway", args) + +""" + DescribePrefixLists() + +Describes available AWS services in a prefix list format, which includes the prefix list name and prefix list ID of the service and the IP address range for the service. A prefix list ID is required for creating an outbound security group rule that allows traffic from a VPC to access an AWS service through a gateway VPC endpoint. Currently, the services that support this action are Amazon S3 and Amazon DynamoDB. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.", + "NextToken": "The token for the next page of results.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "Filters": "One or more filters. prefix-list-id: The ID of a prefix list. prefix-list-name: The name of a prefix list. ", + "PrefixListIds": "One or more prefix list IDs." +} +""" +DescribePrefixLists() = ec2("DescribePrefixLists") +DescribePrefixLists(args) = ec2("DescribePrefixLists", args) + +""" + CancelExportTask() + +Cancels an active export task. The request removes all artifacts of the export, including any partially-created Amazon S3 objects. If the export task is complete or is in the process of transferring the final disk image, the command fails and returns an error. + +Required Parameters +{ + "ExportTaskId": "The ID of the export task. This is the ID returned by CreateInstanceExportTask." +} +""" +CancelExportTask(args) = ec2("CancelExportTask", args) + +""" + CreateSnapshot() + +Creates a snapshot of an EBS volume and stores it in Amazon S3. You can use snapshots for backups, to make copies of EBS volumes, and to save data before shutting down an instance. When a snapshot is created, any AWS Marketplace product codes that are associated with the source volume are propagated to the snapshot. You can take a snapshot of an attached volume that is in use. However, snapshots only capture data that has been written to your EBS volume at the time the snapshot command is issued; this may exclude any data that has been cached by any applications or the operating system. If you can pause any file systems on the volume long enough to take a snapshot, your snapshot should be complete. However, if you cannot pause all file writes to the volume, you should unmount the volume from within the instance, issue the snapshot command, and then remount the volume to ensure a consistent and complete snapshot. You may remount and use your volume while the snapshot status is pending. To create a snapshot for EBS volumes that serve as root devices, you should stop the instance before taking the snapshot. Snapshots that are taken from encrypted volumes are automatically encrypted. Volumes that are created from encrypted snapshots are also automatically encrypted. Your encrypted volumes and any associated snapshots always remain protected. You can tag your snapshots during creation. For more information, see Tagging Your Amazon EC2 Resources in the Amazon Elastic Compute Cloud User Guide. For more information, see Amazon Elastic Block Store and Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide. + +Required Parameters +{ + "VolumeId": "The ID of the EBS volume." +} + +Optional Parameters +{ + "Description": "A description for the snapshot.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "TagSpecifications": "The tags to apply to the snapshot during creation." +} +""" +CreateSnapshot(args) = ec2("CreateSnapshot", args) + +""" + DescribeFpgaImageAttribute() + +Describes the specified attribute of the specified Amazon FPGA Image (AFI). + +Required Parameters +{ + "FpgaImageId": "The ID of the AFI.", + "Attribute": "The AFI attribute." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +DescribeFpgaImageAttribute(args) = ec2("DescribeFpgaImageAttribute", args) + +""" + AuthorizeSecurityGroupIngress() + +Adds the specified ingress rules to a security group. An inbound rule permits instances to receive traffic from the specified IPv4 or IPv6 CIDR address ranges, or from the instances associated with the specified destination security groups. You specify a protocol for each rule (for example, TCP). For TCP and UDP, you must also specify the destination port or port range. For ICMP/ICMPv6, you must also specify the ICMP/ICMPv6 type and code. You can use -1 to mean all types or all codes. Rule changes are propagated to instances within the security group as quickly as possible. However, a small delay might occur. For more information about VPC security group limits, see Amazon VPC Limits. + +Optional Parameters +{ + "SourceSecurityGroupName": "[EC2-Classic, default VPC] The name of the source security group. You can't specify this parameter in combination with the following parameters: the CIDR IP address range, the start of the port range, the IP protocol, and the end of the port range. Creates rules that grant full ICMP, UDP, and TCP access. To create a rule with a specific IP protocol and port range, use a set of IP permissions instead. For EC2-VPC, the source security group must be in the same VPC.", + "SourceSecurityGroupOwnerId": "[nondefault VPC] The AWS account ID for the source security group, if the source security group is in a different account. You can't specify this parameter in combination with the following parameters: the CIDR IP address range, the IP protocol, the start of the port range, and the end of the port range. Creates rules that grant full ICMP, UDP, and TCP access. To create a rule with a specific IP protocol and port range, use a set of IP permissions instead.", + "CidrIp": "The IPv4 address range, in CIDR format. You can't specify this parameter when specifying a source security group. To specify an IPv6 address range, use a set of IP permissions. Alternatively, use a set of IP permissions to specify multiple rules and a description for the rule.", + "GroupId": "The ID of the security group. You must specify either the security group ID or the security group name in the request. For security groups in a nondefault VPC, you must specify the security group ID.", + "IpProtocol": "The IP protocol name (tcp, udp, icmp) or number (see Protocol Numbers). To specify icmpv6, use a set of IP permissions. [VPC only] Use -1 to specify all protocols. If you specify -1 or a protocol other than tcp, udp, or icmp, traffic on all ports is allowed, regardless of any ports you specify. Alternatively, use a set of IP permissions to specify multiple rules and a description for the rule.", + "FromPort": "The start of port range for the TCP and UDP protocols, or an ICMP type number. For the ICMP type number, use -1 to specify all types. If you specify all ICMP types, you must specify all codes. Alternatively, use a set of IP permissions to specify multiple rules and a description for the rule.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "GroupName": "[EC2-Classic, default VPC] The name of the security group. You must specify either the security group ID or the security group name in the request.", + "ToPort": "The end of port range for the TCP and UDP protocols, or an ICMP code number. For the ICMP code number, use -1 to specify all codes. If you specify all ICMP types, you must specify all codes. Alternatively, use a set of IP permissions to specify multiple rules and a description for the rule.", + "IpPermissions": "The sets of IP permissions." +} +""" +AuthorizeSecurityGroupIngress() = ec2("AuthorizeSecurityGroupIngress") +AuthorizeSecurityGroupIngress(args) = ec2("AuthorizeSecurityGroupIngress", args) + +""" + ModifyIdentityIdFormat() + +Modifies the ID format of a resource for a specified IAM user, IAM role, or the root user for an account; or all IAM users, IAM roles, and the root user for an account. You can specify that resources should receive longer IDs (17-character IDs) when they are created. This request can only be used to modify longer ID settings for resource types that are within the opt-in period. Resources currently in their opt-in period include: bundle | conversion-task | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association | export-task | flow-log | image | import-task | internet-gateway | network-acl | network-acl-association | network-interface | network-interface-attachment | prefix-list | route-table | route-table-association | security-group | subnet | subnet-cidr-block-association | vpc | vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway. For more information, see Resource IDs in the Amazon Elastic Compute Cloud User Guide. This setting applies to the principal specified in the request; it does not apply to the principal that makes the request. Resources created with longer IDs are visible to all IAM roles and users, regardless of these settings and provided that they have permission to use the relevant Describe command for the resource type. + +Required Parameters +{ + "Resource": "The type of resource: bundle | conversion-task | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association | export-task | flow-log | image | import-task | internet-gateway | network-acl | network-acl-association | network-interface | network-interface-attachment | prefix-list | route-table | route-table-association | security-group | subnet | subnet-cidr-block-association | vpc | vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway. Alternatively, use the all-current option to include all resource types that are currently within their opt-in period for longer IDs.", + "UseLongIds": "Indicates whether the resource should use longer IDs (17-character IDs)", + "PrincipalArn": "The ARN of the principal, which can be an IAM user, IAM role, or the root user. Specify all to modify the ID format for all IAM users, IAM roles, and the root user of the account." +} +""" +ModifyIdentityIdFormat(args) = ec2("ModifyIdentityIdFormat", args) + +""" + RejectVpcEndpointConnections() + +Rejects one or more VPC endpoint connection requests to your VPC endpoint service. + +Required Parameters +{ + "ServiceId": "The ID of the service.", + "VpcEndpointIds": "The IDs of one or more VPC endpoints." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +RejectVpcEndpointConnections(args) = ec2("RejectVpcEndpointConnections", args) + +""" + UpdateSecurityGroupRuleDescriptionsIngress() + +Updates the description of an ingress (inbound) security group rule. You can replace an existing description, or add a description to a rule that did not have one previously. You specify the description as part of the IP permissions structure. You can remove a description for a security group rule by omitting the description parameter in the request. + +Required Parameters +{ + "IpPermissions": "The IP permissions for the security group rule. " +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "GroupName": "[EC2-Classic, default VPC] The name of the security group. You must specify either the security group ID or the security group name in the request.", + "GroupId": "The ID of the security group. You must specify either the security group ID or the security group name in the request. For security groups in a nondefault VPC, you must specify the security group ID." +} +""" +UpdateSecurityGroupRuleDescriptionsIngress(args) = ec2("UpdateSecurityGroupRuleDescriptionsIngress", args) + +""" + DescribeVpcClassicLink() + +Describes the ClassicLink status of one or more VPCs. + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "VpcIds": "One or more VPCs for which you want to describe the ClassicLink status.", + "Filters": "One or more filters. is-classic-link-enabled - Whether the VPC is enabled for ClassicLink (true | false). tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value. tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value. " +} +""" +DescribeVpcClassicLink() = ec2("DescribeVpcClassicLink") +DescribeVpcClassicLink(args) = ec2("DescribeVpcClassicLink", args) + +""" + DescribeNatGateways() + +Describes one or more of your NAT gateways. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.", + "NextToken": "The token for the next page of results.", + "NatGatewayIds": "One or more NAT gateway IDs.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "Filter": "One or more filters. nat-gateway-id - The ID of the NAT gateway. state - The state of the NAT gateway (pending | failed | available | deleting | deleted). subnet-id - The ID of the subnet in which the NAT gateway resides. tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value. tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value. vpc-id - The ID of the VPC in which the NAT gateway resides. " +} +""" +DescribeNatGateways() = ec2("DescribeNatGateways") +DescribeNatGateways(args) = ec2("DescribeNatGateways", args) + +""" + DeleteSecurityGroup() + +Deletes a security group. If you attempt to delete a security group that is associated with an instance, or is referenced by another security group, the operation fails with InvalidGroup.InUse in EC2-Classic or DependencyViolation in EC2-VPC. + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "GroupName": "[EC2-Classic, default VPC] The name of the security group. You can specify either the security group name or the security group ID.", + "GroupId": "The ID of the security group. Required for a nondefault VPC." +} +""" +DeleteSecurityGroup() = ec2("DeleteSecurityGroup") +DeleteSecurityGroup(args) = ec2("DeleteSecurityGroup", args) + +""" + CreateCapacityReservation() + +Creates a new Capacity Reservation with the specified attributes. Capacity Reservations enable you to reserve capacity for your Amazon EC2 instances in a specific Availability Zone for any duration. This gives you the flexibility to selectively add capacity reservations and still get the Regional RI discounts for that usage. By creating Capacity Reservations, you ensure that you always have access to Amazon EC2 capacity when you need it, for as long as you need it. For more information, see Capacity Reservations in the Amazon Elastic Compute Cloud User Guide. Your request to create a Capacity Reservation could fail if Amazon EC2 does not have sufficient capacity to fulfill the request. If your request fails due to Amazon EC2 capacity constraints, either try again at a later time, try in a different Availability Zone, or request a smaller capacity reservation. If your application is flexible across instance types and sizes, try to create a Capacity Reservation with different instance attributes. Your request could also fail if the requested quantity exceeds your On-Demand Instance limit for the selected instance type. If your request fails due to limit constraints, increase your On-Demand Instance limit for the required instance type and try again. For more information about increasing your instance limits, see Amazon EC2 Service Limits in the Amazon Elastic Compute Cloud User Guide. + +Required Parameters +{ + "InstanceType": "The instance type for which to reserve capacity. For more information, see Instance Types in the Amazon Elastic Compute Cloud User Guide.", + "InstancePlatform": "The type of operating system for which to reserve capacity.", + "InstanceCount": "The number of instances for which to reserve capacity." +} + +Optional Parameters +{ + "Tenancy": "Indicates the tenancy of the Capacity Reservation. A Capacity Reservation can have one of the following tenancy settings: default - The Capacity Reservation is created on hardware that is shared with other AWS accounts. dedicated - The Capacity Reservation is created on single-tenant hardware that is dedicated to a single AWS account. ", + "EndDate": "The date and time at which the Capacity Reservation expires. When a Capacity Reservation expires, the reserved capacity is released and you can no longer launch instances into it. The Capacity Reservation's state changes to expired when it reaches its end date and time. You must provide an EndDate value if EndDateType is limited. Omit EndDate if EndDateType is unlimited. If the EndDateType is limited, the Capacity Reservation is cancelled within an hour from the specified time. For example, if you specify 5/31/2019, 13:30:55, the Capacity Reservation is guaranteed to end between 13:30:55 and 14:30:55 on 5/31/2019.", + "EphemeralStorage": "Indicates whether the Capacity Reservation supports instances with temporary, block-level storage.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "AvailabilityZoneId": "The ID of the Availability Zone in which to create the Capacity Reservation.", + "InstanceMatchCriteria": "Indicates the type of instance launches that the Capacity Reservation accepts. The options include: open - The Capacity Reservation automatically matches all instances that have matching attributes (instance type, platform, and Availability Zone). Instances that have matching attributes run in the Capacity Reservation automatically without specifying any additional parameters. targeted - The Capacity Reservation only accepts instances that have matching attributes (instance type, platform, and Availability Zone), and explicitly target the Capacity Reservation. This ensures that only permitted instances can use the reserved capacity. Default: open ", + "EndDateType": "Indicates the way in which the Capacity Reservation ends. A Capacity Reservation can have one of the following end types: unlimited - The Capacity Reservation remains active until you explicitly cancel it. Do not provide an EndDate if the EndDateType is unlimited. limited - The Capacity Reservation expires automatically at a specified date and time. You must provide an EndDate value if the EndDateType value is limited. ", + "ClientToken": "Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency. Constraint: Maximum 64 ASCII characters.", + "TagSpecifications": "The tags to apply to the Capacity Reservation during launch.", + "AvailabilityZone": "The Availability Zone in which to create the Capacity Reservation.", + "EbsOptimized": "Indicates whether the Capacity Reservation supports EBS-optimized instances. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS- optimized instance." +} +""" +CreateCapacityReservation(args) = ec2("CreateCapacityReservation", args) + +""" + ModifyVpnTunnelCertificate() + +Modifies the VPN tunnel endpoint certificate. + +Required Parameters +{ + "VpnConnectionId": "The ID of the AWS Site-to-Site VPN connection.", + "VpnTunnelOutsideIpAddress": "The external IP address of the VPN tunnel." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +ModifyVpnTunnelCertificate(args) = ec2("ModifyVpnTunnelCertificate", args) + +""" + DisableVpcClassicLinkDnsSupport() + +Disables ClassicLink DNS support for a VPC. If disabled, DNS hostnames resolve to public IP addresses when addressed between a linked EC2-Classic instance and instances in the VPC to which it's linked. For more information, see ClassicLink in the Amazon Elastic Compute Cloud User Guide. + +Optional Parameters +{ + "VpcId": "The ID of the VPC." +} +""" +DisableVpcClassicLinkDnsSupport() = ec2("DisableVpcClassicLinkDnsSupport") +DisableVpcClassicLinkDnsSupport(args) = ec2("DisableVpcClassicLinkDnsSupport", args) + +""" + DescribeStaleSecurityGroups() + +[VPC only] Describes the stale security group rules for security groups in a specified VPC. Rules are stale when they reference a deleted security group in a peer VPC, or a security group in a peer VPC for which the VPC peering connection has been deleted. + +Required Parameters +{ + "VpcId": "The ID of the VPC." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of items to return for this request. The request returns a token that you can specify in a subsequent call to get the next set of results.", + "NextToken": "The token for the next set of items to return. (You received this token from a prior call.)", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +DescribeStaleSecurityGroups(args) = ec2("DescribeStaleSecurityGroups", args) + +""" + CreateTrafficMirrorFilter() + +Creates a Traffic Mirror filter. A Traffic Mirror filter is a set of rules that defines the traffic to mirror. By default, no traffic is mirrored. To mirror traffic, use CreateTrafficMirrorFilterRule to add Traffic Mirror rules to the filter. The rules you add define what traffic gets mirrored. You can also use ModifyTrafficMirrorFilterNetworkServices to mirror supported network services. + +Optional Parameters +{ + "Description": "The description of the Traffic Mirror filter.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "TagSpecifications": "The tags to assign to a Traffic Mirror filter.", + "ClientToken": "Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency." +} +""" +CreateTrafficMirrorFilter() = ec2("CreateTrafficMirrorFilter") +CreateTrafficMirrorFilter(args) = ec2("CreateTrafficMirrorFilter", args) + +""" + DescribeIpv6Pools() + +Describes your IPv6 address pools. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.", + "NextToken": "The token for the next page of results.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "Filters": "One or more filters. tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value. tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value. ", + "PoolIds": "The IDs of the IPv6 address pools." +} +""" +DescribeIpv6Pools() = ec2("DescribeIpv6Pools") +DescribeIpv6Pools(args) = ec2("DescribeIpv6Pools", args) + +""" + DescribeTransitGatewayRouteTables() + +Describes one or more transit gateway route tables. By default, all transit gateway route tables are described. Alternatively, you can filter the results. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.", + "TransitGatewayRouteTableIds": "The IDs of the transit gateway route tables.", + "NextToken": "The token for the next page of results.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "Filters": "One or more filters. The possible values are: default-association-route-table - Indicates whether this is the default association route table for the transit gateway (true | false). default-propagation-route-table - Indicates whether this is the default propagation route table for the transit gateway (true | false). state - The state of the attachment (available | deleted | deleting | failed | modifying | pendingAcceptance | pending | rollingBack | rejected | rejecting). transit-gateway-id - The ID of the transit gateway. transit-gateway-route-table-id - The ID of the transit gateway route table. " +} +""" +DescribeTransitGatewayRouteTables() = ec2("DescribeTransitGatewayRouteTables") +DescribeTransitGatewayRouteTables(args) = ec2("DescribeTransitGatewayRouteTables", args) + +""" + DeleteFlowLogs() + +Deletes one or more flow logs. + +Required Parameters +{ + "FlowLogIds": "One or more flow log IDs. Constraint: Maximum of 1000 flow log IDs." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +DeleteFlowLogs(args) = ec2("DeleteFlowLogs", args) + +""" + CopyImage() + +Initiates the copy of an AMI from the specified source Region to the current Region. You specify the destination Region by using its endpoint when making the request. Copies of encrypted backing snapshots for the AMI are encrypted. Copies of unencrypted backing snapshots remain unencrypted, unless you set Encrypted during the copy operation. You cannot create an unencrypted copy of an encrypted backing snapshot. For more information about the prerequisites and limits when copying an AMI, see Copying an AMI in the Amazon Elastic Compute Cloud User Guide. + +Required Parameters +{ + "SourceRegion": "The name of the Region that contains the AMI to copy.", + "SourceImageId": "The ID of the AMI to copy.", + "Name": "The name of the new AMI in the destination Region." +} + +Optional Parameters +{ + "Description": "A description for the new AMI in the destination Region.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "Encrypted": "Specifies whether the destination snapshots of the copied image should be encrypted. You can encrypt a copy of an unencrypted snapshot, but you cannot create an unencrypted copy of an encrypted snapshot. The default CMK for EBS is used unless you specify a non-default AWS Key Management Service (AWS KMS) CMK using KmsKeyId. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.", + "ClientToken": "Unique, case-sensitive identifier you provide to ensure idempotency of the request. For more information, see How to Ensure Idempotency in the Amazon Elastic Compute Cloud User Guide.", + "KmsKeyId": "An identifier for the symmetric AWS Key Management Service (AWS KMS) customer master key (CMK) to use when creating the encrypted volume. This parameter is only required if you want to use a non-default CMK; if this parameter is not specified, the default CMK for EBS is used. If a KmsKeyId is specified, the Encrypted flag must also be set. To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. When using an alias name, prefix it with \"alias/\". For example: Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab Alias name: alias/ExampleAlias Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias AWS parses KmsKeyId asynchronously, meaning that the action you call may appear to complete even though you provided an invalid identifier. This action will eventually report failure. The specified CMK must exist in the Region that the snapshot is being copied to. Amazon EBS does not support asymmetric CMKs." +} +""" +CopyImage(args) = ec2("CopyImage", args) + +""" + CancelSpotInstanceRequests() + +Cancels one or more Spot Instance requests. Canceling a Spot Instance request does not terminate running Spot Instances associated with the request. + +Required Parameters +{ + "SpotInstanceRequestIds": "One or more Spot Instance request IDs." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +CancelSpotInstanceRequests(args) = ec2("CancelSpotInstanceRequests", args) + +""" + DescribeInstanceTypes() + +Returns a list of all instance types offered in your current AWS Region. The results can be filtered by the attributes of the instance types. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the next token value.", + "NextToken": "The token to retrieve the next page of results.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "InstanceTypes": "The instance types. For more information, see Instance Types in the Amazon Elastic Compute Cloud User Guide.", + "Filters": "One or more filters. Filter names and values are case-sensitive. auto-recovery-supported - Indicates whether auto recovery is supported. (true | false) bare-metal - Indicates whether it is a bare metal instance type. (true | false) burstable-performance-supported - Indicates whether it is a burstable performance instance type. (true | false) current-generation - Indicates whether this instance type is the latest generation instance type of an instance family. (true | false) ebs-info.ebs-optimized-support - Indicates whether the instance type is EBS-optimized. (supported | unsupported | default) ebs-info.encryption-support - Indicates whether EBS encryption is supported. (supported | unsupported) free-tier-eligible - Indicates whether the instance type is eligible to use in the free tier. (true | false) hibernation-supported - Indicates whether On-Demand hibernation is supported. (true | false) hypervisor - The hypervisor used. (nitro | xen) instance-storage-info.disk.count - The number of local disks. instance-storage-info.disk.size-in-gb - The storage size of each instance storage disk, in GB. instance-storage-info.disk.type - The storage technology for the local instance storage disks. (hdd | ssd) instance-storage-info.total-size-in-gb - The total amount of storage available from all local instance storage, in GB. instance-storage-supported - Indicates whether the instance type has local instance storage. (true | false) memory-info.size-in-mib - The memory size. network-info.ena-support - Indicates whether Elastic Network Adapter (ENA) is supported or required. (required | supported | unsupported) network-info.ipv4-addresses-per-interface - The maximum number of private IPv4 addresses per network interface. network-info.ipv6-addresses-per-interface - The maximum number of private IPv6 addresses per network interface. network-info.ipv6-supported - Indicates whether the instance type supports IPv6. (true | false) network-info.maximum-network-interfaces - The maximum number of network interfaces per instance. network-info.network-performance - Describes the network performance. processor-info.sustained-clock-speed-in-ghz - The CPU clock speed, in GHz. vcpu-info.default-cores - The default number of cores for the instance type. vcpu-info.default-threads-per-core - The default number of threads per core for the instance type. vcpu-info.default-vcpus - The default number of vCPUs for the instance type. " +} +""" +DescribeInstanceTypes() = ec2("DescribeInstanceTypes") +DescribeInstanceTypes(args) = ec2("DescribeInstanceTypes", args) + +""" + DescribePublicIpv4Pools() + +Describes the specified IPv4 address pools. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.", + "NextToken": "The token for the next page of results.", + "Filters": "One or more filters. tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value. tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value. ", + "PoolIds": "The IDs of the address pools." +} +""" +DescribePublicIpv4Pools() = ec2("DescribePublicIpv4Pools") +DescribePublicIpv4Pools(args) = ec2("DescribePublicIpv4Pools", args) + +""" + RejectVpcPeeringConnection() + +Rejects a VPC peering connection request. The VPC peering connection must be in the pending-acceptance state. Use the DescribeVpcPeeringConnections request to view your outstanding VPC peering connection requests. To delete an active VPC peering connection, or to delete a VPC peering connection request that you initiated, use DeleteVpcPeeringConnection. + +Required Parameters +{ + "VpcPeeringConnectionId": "The ID of the VPC peering connection." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +RejectVpcPeeringConnection(args) = ec2("RejectVpcPeeringConnection", args) + +""" + DescribeInternetGateways() + +Describes one or more of your internet gateways. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.", + "NextToken": "The token for the next page of results.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "Filters": "One or more filters. attachment.state - The current state of the attachment between the gateway and the VPC (available). Present only if a VPC is attached. attachment.vpc-id - The ID of an attached VPC. internet-gateway-id - The ID of the Internet gateway. owner-id - The ID of the AWS account that owns the internet gateway. tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value. tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value. ", + "InternetGatewayIds": "One or more internet gateway IDs. Default: Describes all your internet gateways." +} +""" +DescribeInternetGateways() = ec2("DescribeInternetGateways") +DescribeInternetGateways(args) = ec2("DescribeInternetGateways", args) + +""" + AdvertiseByoipCidr() + +Advertises an IPv4 or IPv6 address range that is provisioned for use with your AWS resources through bring your own IP addresses (BYOIP). You can perform this operation at most once every 10 seconds, even if you specify different address ranges each time. We recommend that you stop advertising the BYOIP CIDR from other locations when you advertise it from AWS. To minimize down time, you can configure your AWS resources to use an address from a BYOIP CIDR before it is advertised, and then simultaneously stop advertising it from the current location and start advertising it through AWS. It can take a few minutes before traffic to the specified addresses starts routing to AWS because of BGP propagation delays. To stop advertising the BYOIP CIDR, use WithdrawByoipCidr. + +Required Parameters +{ + "Cidr": "The address range, in CIDR notation. This must be the exact range that you provisioned. You can't advertise only a portion of the provisioned range." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +AdvertiseByoipCidr(args) = ec2("AdvertiseByoipCidr", args) + +""" + PurchaseScheduledInstances() + +Purchases the Scheduled Instances with the specified schedule. Scheduled Instances enable you to purchase Amazon EC2 compute capacity by the hour for a one-year term. Before you can purchase a Scheduled Instance, you must call DescribeScheduledInstanceAvailability to check for available schedules and obtain a purchase token. After you purchase a Scheduled Instance, you must call RunScheduledInstances during each scheduled time period. After you purchase a Scheduled Instance, you can't cancel, modify, or resell your purchase. + +Required Parameters +{ + "PurchaseRequests": "The purchase requests." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "ClientToken": "Unique, case-sensitive identifier that ensures the idempotency of the request. For more information, see Ensuring Idempotency." +} +""" +PurchaseScheduledInstances(args) = ec2("PurchaseScheduledInstances", args) + +""" + AssignIpv6Addresses() + +Assigns one or more IPv6 addresses to the specified network interface. You can specify one or more specific IPv6 addresses, or you can specify the number of IPv6 addresses to be automatically assigned from within the subnet's IPv6 CIDR block range. You can assign as many IPv6 addresses to a network interface as you can assign private IPv4 addresses, and the limit varies per instance type. For information, see IP Addresses Per Network Interface Per Instance Type in the Amazon Elastic Compute Cloud User Guide. You must specify either the IPv6 addresses or the IPv6 address count in the request. + +Required Parameters +{ + "NetworkInterfaceId": "The ID of the network interface." +} + +Optional Parameters +{ + "Ipv6AddressCount": "The number of IPv6 addresses to assign to the network interface. Amazon EC2 automatically selects the IPv6 addresses from the subnet range. You can't use this option if specifying specific IPv6 addresses.", + "Ipv6Addresses": "One or more specific IPv6 addresses to be assigned to the network interface. You can't use this option if you're specifying a number of IPv6 addresses." +} +""" +AssignIpv6Addresses(args) = ec2("AssignIpv6Addresses", args) + +""" + DescribeExportImageTasks() + +Describes the specified export image tasks or all your export image tasks. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return in a single call.", + "NextToken": "A token that indicates the next page of results.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "Filters": "Filter tasks using the task-state filter and one of the following values: active, completed, deleting, or deleted.", + "ExportImageTaskIds": "The IDs of the export image tasks." +} +""" +DescribeExportImageTasks() = ec2("DescribeExportImageTasks") +DescribeExportImageTasks(args) = ec2("DescribeExportImageTasks", args) + +""" + ModifyInstanceEventStartTime() + +Modifies the start time for a scheduled Amazon EC2 instance event. + +Required Parameters +{ + "NotBefore": "The new date and time when the event will take place.", + "InstanceId": "The ID of the instance with the scheduled event.", + "InstanceEventId": "The ID of the event whose date and time you are modifying." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +ModifyInstanceEventStartTime(args) = ec2("ModifyInstanceEventStartTime", args) + +""" + RejectTransitGatewayPeeringAttachment() + +Rejects a transit gateway peering attachment request. + +Required Parameters +{ + "TransitGatewayAttachmentId": "The ID of the transit gateway peering attachment." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +RejectTransitGatewayPeeringAttachment(args) = ec2("RejectTransitGatewayPeeringAttachment", args) + +""" + DeleteClientVpnEndpoint() + +Deletes the specified Client VPN endpoint. You must disassociate all target networks before you can delete a Client VPN endpoint. + +Required Parameters +{ + "ClientVpnEndpointId": "The ID of the Client VPN to be deleted." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +DeleteClientVpnEndpoint(args) = ec2("DeleteClientVpnEndpoint", args) + +""" + CreateInstanceExportTask() + +Exports a running or stopped instance to an S3 bucket. For information about the supported operating systems, image formats, and known limitations for the types of instances you can export, see Exporting an Instance as a VM Using VM Import/Export in the VM Import/Export User Guide. + +Required Parameters +{ + "InstanceId": "The ID of the instance." +} + +Optional Parameters +{ + "Description": "A description for the conversion task or the resource being exported. The maximum length is 255 bytes.", + "ExportToS3Task": "The format and location for an instance export task.", + "TargetEnvironment": "The target virtualization environment." +} +""" +CreateInstanceExportTask(args) = ec2("CreateInstanceExportTask", args) + +""" + RebootInstances() + +Requests a reboot of the specified instances. This operation is asynchronous; it only queues a request to reboot the specified instances. The operation succeeds if the instances are valid and belong to you. Requests to reboot terminated instances are ignored. If an instance does not cleanly shut down within four minutes, Amazon EC2 performs a hard reboot. For more information about troubleshooting, see Getting Console Output and Rebooting Instances in the Amazon Elastic Compute Cloud User Guide. + +Required Parameters +{ + "InstanceIds": "The instance IDs." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +RebootInstances(args) = ec2("RebootInstances", args) + +""" + ResetFpgaImageAttribute() + +Resets the specified attribute of the specified Amazon FPGA Image (AFI) to its default value. You can only reset the load permission attribute. + +Required Parameters +{ + "FpgaImageId": "The ID of the AFI." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "Attribute": "The attribute." +} +""" +ResetFpgaImageAttribute(args) = ec2("ResetFpgaImageAttribute", args) + +""" + AttachVolume() + +Attaches an EBS volume to a running or stopped instance and exposes it to the instance with the specified device name. Encrypted EBS volumes must be attached to instances that support Amazon EBS encryption. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide. After you attach an EBS volume, you must make it available. For more information, see Making an EBS Volume Available For Use. If a volume has an AWS Marketplace product code: The volume can be attached only to a stopped instance. AWS Marketplace product codes are copied from the volume to the instance. You must be subscribed to the product. The instance type and operating system of the instance must support the product. For example, you can't detach a volume from a Windows instance and attach it to a Linux instance. For more information, see Attaching Amazon EBS Volumes in the Amazon Elastic Compute Cloud User Guide. + +Required Parameters +{ + "InstanceId": "The ID of the instance.", + "VolumeId": "The ID of the EBS volume. The volume and instance must be within the same Availability Zone.", + "Device": "The device name (for example, /dev/sdh or xvdh)." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +AttachVolume(args) = ec2("AttachVolume", args) + +""" + ModifyVolumeAttribute() + +Modifies a volume attribute. By default, all I/O operations for the volume are suspended when the data on the volume is determined to be potentially inconsistent, to prevent undetectable, latent data corruption. The I/O access to the volume can be resumed by first enabling I/O access and then checking the data consistency on your volume. You can change the default behavior to resume I/O operations. We recommend that you change this only for boot volumes or for volumes that are stateless or disposable. + +Required Parameters +{ + "VolumeId": "The ID of the volume." +} + +Optional Parameters +{ + "AutoEnableIO": "Indicates whether the volume should be auto-enabled for I/O operations.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +ModifyVolumeAttribute(args) = ec2("ModifyVolumeAttribute", args) + +""" + DeleteNetworkInterfacePermission() + +Deletes a permission for a network interface. By default, you cannot delete the permission if the account for which you're removing the permission has attached the network interface to an instance. However, you can force delete the permission, regardless of any attachment. + +Required Parameters +{ + "NetworkInterfacePermissionId": "The ID of the network interface permission." +} + +Optional Parameters +{ + "Force": "Specify true to remove the permission even if the network interface is attached to an instance.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +DeleteNetworkInterfacePermission(args) = ec2("DeleteNetworkInterfacePermission", args) + +""" + AttachInternetGateway() + +Attaches an internet gateway or a virtual private gateway to a VPC, enabling connectivity between the internet and the VPC. For more information about your VPC and internet gateway, see the Amazon Virtual Private Cloud User Guide. + +Required Parameters +{ + "InternetGatewayId": "The ID of the internet gateway.", + "VpcId": "The ID of the VPC." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +AttachInternetGateway(args) = ec2("AttachInternetGateway", args) + +""" + AcceptVpcEndpointConnections() + +Accepts one or more interface VPC endpoint connection requests to your VPC endpoint service. + +Required Parameters +{ + "ServiceId": "The ID of the VPC endpoint service.", + "VpcEndpointIds": "The IDs of one or more interface VPC endpoints." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +AcceptVpcEndpointConnections(args) = ec2("AcceptVpcEndpointConnections", args) + +""" + DescribeImportSnapshotTasks() + +Describes your import snapshot tasks. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned NextToken value.", + "NextToken": "A token that indicates the next page of results.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "ImportTaskIds": "A list of import snapshot task IDs.", + "Filters": "The filters." +} +""" +DescribeImportSnapshotTasks() = ec2("DescribeImportSnapshotTasks") +DescribeImportSnapshotTasks(args) = ec2("DescribeImportSnapshotTasks", args) + +""" + CreateDhcpOptions() + +Creates a set of DHCP options for your VPC. After creating the set, you must associate it with the VPC, causing all existing and new instances that you launch in the VPC to use this set of DHCP options. The following are the individual DHCP options you can specify. For more information about the options, see RFC 2132. domain-name-servers - The IP addresses of up to four domain name servers, or AmazonProvidedDNS. The default DHCP option set specifies AmazonProvidedDNS. If specifying more than one domain name server, specify the IP addresses in a single parameter, separated by commas. To have your instance receive a custom DNS hostname as specified in domain-name, you must set domain-name-servers to a custom DNS server. domain-name - If you're using AmazonProvidedDNS in us-east-1, specify ec2.internal. If you're using AmazonProvidedDNS in another Region, specify region.compute.internal (for example, ap-northeast-1.compute.internal). Otherwise, specify a domain name (for example, MyCompany.com). This value is used to complete unqualified DNS hostnames. Important: Some Linux operating systems accept multiple domain names separated by spaces. However, Windows and other Linux operating systems treat the value as a single domain, which results in unexpected behavior. If your DHCP options set is associated with a VPC that has instances with multiple operating systems, specify only one domain name. ntp-servers - The IP addresses of up to four Network Time Protocol (NTP) servers. netbios-name-servers - The IP addresses of up to four NetBIOS name servers. netbios-node-type - The NetBIOS node type (1, 2, 4, or 8). We recommend that you specify 2 (broadcast and multicast are not currently supported). For more information about these node types, see RFC 2132. Your VPC automatically starts out with a set of DHCP options that includes only a DNS server that we provide (AmazonProvidedDNS). If you create a set of options, and if your VPC has an internet gateway, make sure to set the domain-name-servers option either to AmazonProvidedDNS or to a domain name server of your choice. For more information, see DHCP Options Sets in the Amazon Virtual Private Cloud User Guide. + +Required Parameters +{ + "DhcpConfigurations": "A DHCP configuration option." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +CreateDhcpOptions(args) = ec2("CreateDhcpOptions", args) + +""" + ImportSnapshot() + +Imports a disk into an EBS snapshot. + +Optional Parameters +{ + "Description": "The description string for the import snapshot task.", + "RoleName": "The name of the role to use when not using the default role, 'vmimport'.", + "DiskContainer": "Information about the disk container.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "Encrypted": "Specifies whether the destination snapshot of the imported image should be encrypted. The default CMK for EBS is used unless you specify a non-default AWS Key Management Service (AWS KMS) CMK using KmsKeyId. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.", + "ClientToken": "Token to enable idempotency for VM import requests.", + "KmsKeyId": "An identifier for the symmetric AWS Key Management Service (AWS KMS) customer master key (CMK) to use when creating the encrypted snapshot. This parameter is only required if you want to use a non-default CMK; if this parameter is not specified, the default CMK for EBS is used. If a KmsKeyId is specified, the Encrypted flag must also be set. The CMK identifier may be provided in any of the following formats: Key ID Key alias. The alias ARN contains the arn:aws:kms namespace, followed by the Region of the CMK, the AWS account ID of the CMK owner, the alias namespace, and then the CMK alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias. ARN using key ID. The ID ARN contains the arn:aws:kms namespace, followed by the Region of the CMK, the AWS account ID of the CMK owner, the key namespace, and then the CMK ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef. ARN using key alias. The alias ARN contains the arn:aws:kms namespace, followed by the Region of the CMK, the AWS account ID of the CMK owner, the alias namespace, and then the CMK alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias. AWS parses KmsKeyId asynchronously, meaning that the action you call may appear to complete even though you provided an invalid identifier. This action will eventually report failure. The specified CMK must exist in the Region that the snapshot is being copied to. Amazon EBS does not support asymmetric CMKs.", + "ClientData": "The client-specific data." +} +""" +ImportSnapshot() = ec2("ImportSnapshot") +ImportSnapshot(args) = ec2("ImportSnapshot", args) + +""" + AttachNetworkInterface() + +Attaches a network interface to an instance. + +Required Parameters +{ + "DeviceIndex": "The index of the device for the network interface attachment.", + "InstanceId": "The ID of the instance.", + "NetworkInterfaceId": "The ID of the network interface." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +AttachNetworkInterface(args) = ec2("AttachNetworkInterface", args) + +""" + CreateTrafficMirrorFilterRule() + +Creates a Traffic Mirror filter rule. A Traffic Mirror rule defines the Traffic Mirror source traffic to mirror. You need the Traffic Mirror filter ID when you create the rule. + +Required Parameters +{ + "SourceCidrBlock": "The source CIDR block to assign to the Traffic Mirror rule.", + "DestinationCidrBlock": "The destination CIDR block to assign to the Traffic Mirror rule.", + "RuleNumber": "The number of the Traffic Mirror rule. This number must be unique for each Traffic Mirror rule in a given direction. The rules are processed in ascending order by rule number.", + "RuleAction": "The action to take (accept | reject) on the filtered traffic.", + "TrafficDirection": "The type of traffic (ingress | egress).", + "TrafficMirrorFilterId": "The ID of the filter that this rule is associated with." +} + +Optional Parameters +{ + "Description": "The description of the Traffic Mirror rule.", + "DestinationPortRange": "The destination port range.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "SourcePortRange": "The source port range.", + "ClientToken": "Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.", + "Protocol": "The protocol, for example UDP, to assign to the Traffic Mirror rule. For information about the protocol value, see Protocol Numbers on the Internet Assigned Numbers Authority (IANA) website." +} +""" +CreateTrafficMirrorFilterRule(args) = ec2("CreateTrafficMirrorFilterRule", args) + +""" + DescribeSecurityGroupReferences() + +[VPC only] Describes the VPCs on the other side of a VPC peering connection that are referencing the security groups you've specified in this request. + +Required Parameters +{ + "GroupId": "The IDs of the security groups in your account." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +DescribeSecurityGroupReferences(args) = ec2("DescribeSecurityGroupReferences", args) + +""" + DescribeVpcs() + +Describes one or more of your VPCs. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.", + "NextToken": "The token for the next page of results.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "VpcIds": "One or more VPC IDs. Default: Describes all your VPCs.", + "Filters": "One or more filters. cidr - The primary IPv4 CIDR block of the VPC. The CIDR block you specify must exactly match the VPC's CIDR block for information to be returned for the VPC. Must contain the slash followed by one or two digits (for example, /28). cidr-block-association.cidr-block - An IPv4 CIDR block associated with the VPC. cidr-block-association.association-id - The association ID for an IPv4 CIDR block associated with the VPC. cidr-block-association.state - The state of an IPv4 CIDR block associated with the VPC. dhcp-options-id - The ID of a set of DHCP options. ipv6-cidr-block-association.ipv6-cidr-block - An IPv6 CIDR block associated with the VPC. ipv6-cidr-block-association.ipv6-pool - The ID of the IPv6 address pool from which the IPv6 CIDR block is allocated. ipv6-cidr-block-association.association-id - The association ID for an IPv6 CIDR block associated with the VPC. ipv6-cidr-block-association.state - The state of an IPv6 CIDR block associated with the VPC. isDefault - Indicates whether the VPC is the default VPC. owner-id - The ID of the AWS account that owns the VPC. state - The state of the VPC (pending | available). tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value. tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value. vpc-id - The ID of the VPC. " +} +""" +DescribeVpcs() = ec2("DescribeVpcs") +DescribeVpcs(args) = ec2("DescribeVpcs", args) + +""" + EnableEbsEncryptionByDefault() + +Enables EBS encryption by default for your account in the current Region. After you enable encryption by default, the EBS volumes that you create are are always encrypted, either using the default CMK or the CMK that you specified when you created each volume. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide. You can specify the default CMK for encryption by default using ModifyEbsDefaultKmsKeyId or ResetEbsDefaultKmsKeyId. Enabling encryption by default has no effect on the encryption status of your existing volumes. After you enable encryption by default, you can no longer launch instances using instance types that do not support encryption. For more information, see Supported Instance Types. + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +EnableEbsEncryptionByDefault() = ec2("EnableEbsEncryptionByDefault") +EnableEbsEncryptionByDefault(args) = ec2("EnableEbsEncryptionByDefault", args) + +""" + ModifyInstanceAttribute() + +Modifies the specified attribute of the specified instance. You can specify only one attribute at a time. Note: Using this action to change the security groups associated with an elastic network interface (ENI) attached to an instance in a VPC can result in an error if the instance has more than one ENI. To change the security groups associated with an ENI attached to an instance that has multiple ENIs, we recommend that you use the ModifyNetworkInterfaceAttribute action. To modify some attributes, the instance must be stopped. For more information, see Modifying Attributes of a Stopped Instance in the Amazon Elastic Compute Cloud User Guide. + +Required Parameters +{ + "InstanceId": "The ID of the instance." +} + +Optional Parameters +{ + "BlockDeviceMappings": "Modifies the DeleteOnTermination attribute for volumes that are currently attached. The volume must be owned by the caller. If no value is specified for DeleteOnTermination, the default is true and the volume is deleted when the instance is terminated. To add instance store volumes to an Amazon EBS-backed instance, you must add them when you launch the instance. For more information, see Updating the Block Device Mapping when Launching an Instance in the Amazon Elastic Compute Cloud User Guide.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "Kernel": "Changes the instance's kernel to the specified value. We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see PV-GRUB.", + "InstanceType": "Changes the instance type to the specified value. For more information, see Instance Types. If the instance type is not valid, the error returned is InvalidInstanceAttributeValue.", + "UserData": "Changes the instance's user data to the specified value. If you are using an AWS SDK or command line tool, base64-encoding is performed for you, and you can load the text from a file. Otherwise, you must provide base64-encoded text.", + "Groups": "[EC2-VPC] Changes the security groups of the instance. You must specify at least one security group, even if it's just the default security group for the VPC. You must specify the security group ID, not the security group name.", + "Value": "A new value for the attribute. Use only with the kernel, ramdisk, userData, disableApiTermination, or instanceInitiatedShutdownBehavior attribute.", + "EnaSupport": "Set to true to enable enhanced networking with ENA for the instance. This option is supported only for HVM instances. Specifying this option with a PV instance can make it unreachable.", + "InstanceInitiatedShutdownBehavior": "Specifies whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown).", + "SourceDestCheck": "Specifies whether source/destination checking is enabled. A value of true means that checking is enabled, and false means that checking is disabled. This value must be false for a NAT instance to perform NAT.", + "SriovNetSupport": "Set to simple to enable enhanced networking with the Intel 82599 Virtual Function interface for the instance. There is no way to disable enhanced networking with the Intel 82599 Virtual Function interface at this time. This option is supported only for HVM instances. Specifying this option with a PV instance can make it unreachable.", + "Ramdisk": "Changes the instance's RAM disk to the specified value. We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see PV-GRUB.", + "Attribute": "The name of the attribute.", + "EbsOptimized": "Specifies whether the instance is optimized for Amazon EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS Optimized instance.", + "DisableApiTermination": "If the value is true, you can't terminate the instance using the Amazon EC2 console, CLI, or API; otherwise, you can. You cannot use this parameter for Spot Instances." +} +""" +ModifyInstanceAttribute(args) = ec2("ModifyInstanceAttribute", args) + +""" + ModifyInstancePlacement() + +Modifies the placement attributes for a specified instance. You can do the following: Modify the affinity between an instance and a Dedicated Host. When affinity is set to host and the instance is not associated with a specific Dedicated Host, the next time the instance is launched, it is automatically associated with the host on which it lands. If the instance is restarted or rebooted, this relationship persists. Change the Dedicated Host with which an instance is associated. Change the instance tenancy of an instance from host to dedicated, or from dedicated to host. Move an instance to or from a placement group. At least one attribute for affinity, host ID, tenancy, or placement group name must be specified in the request. Affinity and tenancy can be modified in the same request. To modify the host ID, tenancy, placement group, or partition for an instance, the instance must be in the stopped state. + +Required Parameters +{ + "InstanceId": "The ID of the instance that you are modifying." +} + +Optional Parameters +{ + "Tenancy": "The tenancy for the instance.", + "PartitionNumber": "Reserved for future use.", + "HostResourceGroupArn": "The ARN of the host resource group in which to place the instance.", + "Affinity": "The affinity setting for the instance.", + "GroupName": "The name of the placement group in which to place the instance. For spread placement groups, the instance must have a tenancy of default. For cluster and partition placement groups, the instance must have a tenancy of default or dedicated. To remove an instance from a placement group, specify an empty string (\"\").", + "HostId": "The ID of the Dedicated Host with which to associate the instance." +} +""" +ModifyInstancePlacement(args) = ec2("ModifyInstancePlacement", args) + +""" + StopInstances() + +Stops an Amazon EBS-backed instance. You can use the Stop action to hibernate an instance if the instance is enabled for hibernation and it meets the hibernation prerequisites. For more information, see Hibernate Your Instance in the Amazon Elastic Compute Cloud User Guide. We don't charge usage for a stopped instance, or data transfer fees; however, your root partition Amazon EBS volume remains and continues to persist your data, and you are charged for Amazon EBS volume usage. Every time you start your Windows instance, Amazon EC2 charges you for a full instance hour. If you stop and restart your Windows instance, a new instance hour begins and Amazon EC2 charges you for another full instance hour even if you are still within the same 60-minute period when it was stopped. Every time you start your Linux instance, Amazon EC2 charges a one-minute minimum for instance usage, and thereafter charges per second for instance usage. You can't stop or hibernate instance store-backed instances. You can't use the Stop action to hibernate Spot Instances, but you can specify that Amazon EC2 should hibernate Spot Instances when they are interrupted. For more information, see Hibernating Interrupted Spot Instances in the Amazon Elastic Compute Cloud User Guide. When you stop or hibernate an instance, we shut it down. You can restart your instance at any time. Before stopping or hibernating an instance, make sure it is in a state from which it can be restarted. Stopping an instance does not preserve data stored in RAM, but hibernating an instance does preserve data stored in RAM. If an instance cannot hibernate successfully, a normal shutdown occurs. Stopping and hibernating an instance is different to rebooting or terminating it. For example, when you stop or hibernate an instance, the root device and any other devices attached to the instance persist. When you terminate an instance, the root device and any other devices attached during the instance launch are automatically deleted. For more information about the differences between rebooting, stopping, hibernating, and terminating instances, see Instance Lifecycle in the Amazon Elastic Compute Cloud User Guide. When you stop an instance, we attempt to shut it down forcibly after a short while. If your instance appears stuck in the stopping state after a period of time, there may be an issue with the underlying host computer. For more information, see Troubleshooting Stopping Your Instance in the Amazon Elastic Compute Cloud User Guide. + +Required Parameters +{ + "InstanceIds": "The IDs of the instances." +} + +Optional Parameters +{ + "Force": "Forces the instances to stop. The instances do not have an opportunity to flush file system caches or file system metadata. If you use this option, you must perform file system check and repair procedures. This option is not recommended for Windows instances. Default: false ", + "Hibernate": "Hibernates the instance if the instance was enabled for hibernation at launch. If the instance cannot hibernate successfully, a normal shutdown occurs. For more information, see Hibernate Your Instance in the Amazon Elastic Compute Cloud User Guide. Default: false ", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +StopInstances(args) = ec2("StopInstances", args) + +""" + ModifyVolume() + +You can modify several parameters of an existing EBS volume, including volume size, volume type, and IOPS capacity. If your EBS volume is attached to a current-generation EC2 instance type, you may be able to apply these changes without stopping the instance or detaching the volume from it. For more information about modifying an EBS volume running Linux, see Modifying the Size, IOPS, or Type of an EBS Volume on Linux. For more information about modifying an EBS volume running Windows, see Modifying the Size, IOPS, or Type of an EBS Volume on Windows. When you complete a resize operation on your volume, you need to extend the volume's file-system size to take advantage of the new storage capacity. For information about extending a Linux file system, see Extending a Linux File System. For information about extending a Windows file system, see Extending a Windows File System. You can use CloudWatch Events to check the status of a modification to an EBS volume. For information about CloudWatch Events, see the Amazon CloudWatch Events User Guide. You can also track the status of a modification using DescribeVolumesModifications. For information about tracking status changes using either method, see Monitoring Volume Modifications. With previous-generation instance types, resizing an EBS volume may require detaching and reattaching the volume or stopping and restarting the instance. For more information, see Modifying the Size, IOPS, or Type of an EBS Volume on Linux and Modifying the Size, IOPS, or Type of an EBS Volume on Windows. If you reach the maximum volume modification rate per volume limit, you will need to wait at least six hours before applying further modifications to the affected EBS volume. + +Required Parameters +{ + "VolumeId": "The ID of the volume." +} + +Optional Parameters +{ + "VolumeType": "The target EBS volume type of the volume. Default: If no type is specified, the existing type is retained.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "Iops": "The target IOPS rate of the volume. This is only valid for Provisioned IOPS SSD (io1) volumes. For more information, see Provisioned IOPS SSD (io1) Volumes. Default: If no IOPS value is specified, the existing value is retained.", + "Size": "The target size of the volume, in GiB. The target volume size must be greater than or equal to than the existing size of the volume. For information about available EBS volume sizes, see Amazon EBS Volume Types. Default: If no size is specified, the existing size is retained." +} +""" +ModifyVolume(args) = ec2("ModifyVolume", args) + +""" + GetConsoleScreenshot() + +Retrieve a JPG-format screenshot of a running instance to help with troubleshooting. The returned content is Base64-encoded. + +Required Parameters +{ + "InstanceId": "The ID of the instance." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "WakeUp": "When set to true, acts as keystroke input and wakes up an instance that's in standby or \"sleep\" mode." +} +""" +GetConsoleScreenshot(args) = ec2("GetConsoleScreenshot", args) + +""" + GetPasswordData() + +Retrieves the encrypted administrator password for a running Windows instance. The Windows password is generated at boot by the EC2Config service or EC2Launch scripts (Windows Server 2016 and later). This usually only happens the first time an instance is launched. For more information, see EC2Config and EC2Launch in the Amazon Elastic Compute Cloud User Guide. For the EC2Config service, the password is not generated for rebundled AMIs unless Ec2SetPassword is enabled before bundling. The password is encrypted using the key pair that you specified when you launched the instance. You must provide the corresponding key pair file. When you launch an instance, password generation and encryption may take a few minutes. If you try to retrieve the password before it's available, the output returns an empty string. We recommend that you wait up to 15 minutes after launching an instance before trying to retrieve the generated password. + +Required Parameters +{ + "InstanceId": "The ID of the Windows instance." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +GetPasswordData(args) = ec2("GetPasswordData", args) + +""" + DeleteNatGateway() + +Deletes the specified NAT gateway. Deleting a NAT gateway disassociates its Elastic IP address, but does not release the address from your account. Deleting a NAT gateway does not delete any NAT gateway routes in your route tables. + +Required Parameters +{ + "NatGatewayId": "The ID of the NAT gateway." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +DeleteNatGateway(args) = ec2("DeleteNatGateway", args) + +""" + CreateTransitGatewayRoute() + +Creates a static route for the specified transit gateway route table. + +Required Parameters +{ + "DestinationCidrBlock": "The CIDR range used for destination matches. Routing decisions are based on the most specific match.", + "TransitGatewayRouteTableId": "The ID of the transit gateway route table." +} + +Optional Parameters +{ + "TransitGatewayAttachmentId": "The ID of the attachment.", + "Blackhole": "Indicates whether to drop traffic that matches this route.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +CreateTransitGatewayRoute(args) = ec2("CreateTransitGatewayRoute", args) + +""" + DescribeSpotFleetInstances() + +Describes the running instances for the specified Spot Fleet. + +Required Parameters +{ + "SpotFleetRequestId": "The ID of the Spot Fleet request." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return in a single call. Specify a value between 1 and 1000. The default value is 1000. To retrieve the remaining results, make another call with the returned NextToken value.", + "NextToken": "The token for the next set of results.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +DescribeSpotFleetInstances(args) = ec2("DescribeSpotFleetInstances", args) + +""" + AcceptVpcPeeringConnection() + +Accept a VPC peering connection request. To accept a request, the VPC peering connection must be in the pending-acceptance state, and you must be the owner of the peer VPC. Use DescribeVpcPeeringConnections to view your outstanding VPC peering connection requests. For an inter-Region VPC peering connection request, you must accept the VPC peering connection in the Region of the accepter VPC. + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "VpcPeeringConnectionId": "The ID of the VPC peering connection. You must specify this parameter in the request." +} +""" +AcceptVpcPeeringConnection() = ec2("AcceptVpcPeeringConnection") +AcceptVpcPeeringConnection(args) = ec2("AcceptVpcPeeringConnection", args) + +""" + EnableFastSnapshotRestores() + +Enables fast snapshot restores for the specified snapshots in the specified Availability Zones. You get the full benefit of fast snapshot restores after they enter the enabled state. To get the current state of fast snapshot restores, use DescribeFastSnapshotRestores. To disable fast snapshot restores, use DisableFastSnapshotRestores. For more information, see Amazon EBS Fast Snapshot Restore in the Amazon Elastic Compute Cloud User Guide. + +Required Parameters +{ + "SourceSnapshotIds": "The IDs of one or more snapshots. For example, snap-1234567890abcdef0. You can specify a snapshot that was shared with you from another AWS account.", + "AvailabilityZones": "One or more Availability Zones. For example, us-east-2a." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +EnableFastSnapshotRestores(args) = ec2("EnableFastSnapshotRestores", args) + +""" + DescribeImageAttribute() + +Describes the specified attribute of the specified AMI. You can specify only one attribute at a time. + +Required Parameters +{ + "ImageId": "The ID of the AMI.", + "Attribute": "The AMI attribute. Note: Depending on your account privileges, the blockDeviceMapping attribute may return a Client.AuthFailure error. If this happens, use DescribeImages to get information about the block device mapping for the AMI." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +DescribeImageAttribute(args) = ec2("DescribeImageAttribute", args) + +""" + AuthorizeSecurityGroupEgress() + +[VPC only] Adds the specified egress rules to a security group for use with a VPC. An outbound rule permits instances to send traffic to the specified IPv4 or IPv6 CIDR address ranges, or to the instances associated with the specified destination security groups. You specify a protocol for each rule (for example, TCP). For the TCP and UDP protocols, you must also specify the destination port or port range. For the ICMP protocol, you must also specify the ICMP type and code. You can use -1 for the type or code to mean all types or all codes. Rule changes are propagated to affected instances as quickly as possible. However, a small delay might occur. For more information about VPC security group limits, see Amazon VPC Limits. + +Required Parameters +{ + "GroupId": "The ID of the security group." +} + +Optional Parameters +{ + "SourceSecurityGroupName": "Not supported. Use a set of IP permissions to specify a destination security group.", + "SourceSecurityGroupOwnerId": "Not supported. Use a set of IP permissions to specify a destination security group.", + "CidrIp": "Not supported. Use a set of IP permissions to specify the CIDR.", + "IpProtocol": "Not supported. Use a set of IP permissions to specify the protocol name or number.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "FromPort": "Not supported. Use a set of IP permissions to specify the port.", + "ToPort": "Not supported. Use a set of IP permissions to specify the port.", + "IpPermissions": "The sets of IP permissions. You can't specify a destination security group and a CIDR IP address range in the same set of permissions." +} +""" +AuthorizeSecurityGroupEgress(args) = ec2("AuthorizeSecurityGroupEgress", args) + +""" + CreateLaunchTemplateVersion() + +Creates a new version for a launch template. You can specify an existing version of launch template from which to base the new version. Launch template versions are numbered in the order in which they are created. You cannot specify, change, or replace the numbering of launch template versions. + +Required Parameters +{ + "LaunchTemplateData": "The information for the launch template." +} + +Optional Parameters +{ + "SourceVersion": "The version number of the launch template version on which to base the new version. The new version inherits the same launch parameters as the source version, except for parameters that you specify in LaunchTemplateData. Snapshots applied to the block device mapping are ignored when creating a new version unless they are explicitly included.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "LaunchTemplateId": "The ID of the launch template. You must specify either the launch template ID or launch template name in the request.", + "ClientToken": "Unique, case-sensitive identifier you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency. Constraint: Maximum 128 ASCII characters.", + "VersionDescription": "A description for the version of the launch template.", + "LaunchTemplateName": "The name of the launch template. You must specify either the launch template ID or launch template name in the request." +} +""" +CreateLaunchTemplateVersion(args) = ec2("CreateLaunchTemplateVersion", args) + +""" + DeleteInternetGateway() + +Deletes the specified internet gateway. You must detach the internet gateway from the VPC before you can delete it. + +Required Parameters +{ + "InternetGatewayId": "The ID of the internet gateway." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +DeleteInternetGateway(args) = ec2("DeleteInternetGateway", args) + +""" + DeleteVpc() + +Deletes the specified VPC. You must detach or delete all gateways and resources that are associated with the VPC before you can delete it. For example, you must terminate all instances running in the VPC, delete all security groups associated with the VPC (except the default one), delete all route tables associated with the VPC (except the default one), and so on. + +Required Parameters +{ + "VpcId": "The ID of the VPC." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +DeleteVpc(args) = ec2("DeleteVpc", args) + +""" + CreateTransitGateway() + +Creates a transit gateway. You can use a transit gateway to interconnect your virtual private clouds (VPC) and on-premises networks. After the transit gateway enters the available state, you can attach your VPCs and VPN connections to the transit gateway. To attach your VPCs, use CreateTransitGatewayVpcAttachment. To attach a VPN connection, use CreateCustomerGateway to create a customer gateway and specify the ID of the customer gateway and the ID of the transit gateway in a call to CreateVpnConnection. When you create a transit gateway, we create a default transit gateway route table and use it as the default association route table and the default propagation route table. You can use CreateTransitGatewayRouteTable to create additional transit gateway route tables. If you disable automatic route propagation, we do not create a default transit gateway route table. You can use EnableTransitGatewayRouteTablePropagation to propagate routes from a resource attachment to a transit gateway route table. If you disable automatic associations, you can use AssociateTransitGatewayRouteTable to associate a resource attachment with a transit gateway route table. + +Optional Parameters +{ + "Description": "A description of the transit gateway.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "TagSpecifications": "The tags to apply to the transit gateway.", + "Options": "The transit gateway options." +} +""" +CreateTransitGateway() = ec2("CreateTransitGateway") +CreateTransitGateway(args) = ec2("CreateTransitGateway", args) + +""" + DeleteDhcpOptions() + +Deletes the specified set of DHCP options. You must disassociate the set of DHCP options before you can delete it. You can disassociate the set of DHCP options by associating either a new set of options or the default set of options with the VPC. + +Required Parameters +{ + "DhcpOptionsId": "The ID of the DHCP options set." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +DeleteDhcpOptions(args) = ec2("DeleteDhcpOptions", args) + +""" + DeleteEgressOnlyInternetGateway() + +Deletes an egress-only internet gateway. + +Required Parameters +{ + "EgressOnlyInternetGatewayId": "The ID of the egress-only internet gateway." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +DeleteEgressOnlyInternetGateway(args) = ec2("DeleteEgressOnlyInternetGateway", args) + +""" + DisableVpcClassicLink() + +Disables ClassicLink for a VPC. You cannot disable ClassicLink for a VPC that has EC2-Classic instances linked to it. + +Required Parameters +{ + "VpcId": "The ID of the VPC." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +DisableVpcClassicLink(args) = ec2("DisableVpcClassicLink", args) + +""" + DescribeInstanceTypeOfferings() + +Returns a list of all instance types offered. The results can be filtered by location (Region or Availability Zone). If no location is specified, the instance types offered in the current Region are returned. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the next token value.", + "NextToken": "The token to retrieve the next page of results.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "Filters": "One or more filters. Filter names and values are case-sensitive. location - This depends on the location type. For example, if the location type is region (default), the location is the Region code (for example, us-east-2.) instance-type - The instance type. ", + "LocationType": "The location type." +} +""" +DescribeInstanceTypeOfferings() = ec2("DescribeInstanceTypeOfferings") +DescribeInstanceTypeOfferings(args) = ec2("DescribeInstanceTypeOfferings", args) + +""" + CreateTrafficMirrorSession() + +Creates a Traffic Mirror session. A Traffic Mirror session actively copies packets from a Traffic Mirror source to a Traffic Mirror target. Create a filter, and then assign it to the session to define a subset of the traffic to mirror, for example all TCP traffic. The Traffic Mirror source and the Traffic Mirror target (monitoring appliances) can be in the same VPC, or in a different VPC connected via VPC peering or a transit gateway. By default, no traffic is mirrored. Use CreateTrafficMirrorFilter to create filter rules that specify the traffic to mirror. + +Required Parameters +{ + "SessionNumber": "The session number determines the order in which sessions are evaluated when an interface is used by multiple sessions. The first session with a matching filter is the one that mirrors the packets. Valid values are 1-32766.", + "NetworkInterfaceId": "The ID of the source network interface.", + "TrafficMirrorTargetId": "The ID of the Traffic Mirror target.", + "TrafficMirrorFilterId": "The ID of the Traffic Mirror filter." +} + +Optional Parameters +{ + "Description": "The description of the Traffic Mirror session.", + "PacketLength": "The number of bytes in each packet to mirror. These are bytes after the VXLAN header. Do not specify this parameter when you want to mirror the entire packet. To mirror a subset of the packet, set this to the length (in bytes) that you want to mirror. For example, if you set this value to 100, then the first 100 bytes that meet the filter criteria are copied to the target. If you do not want to mirror the entire packet, use the PacketLength parameter to specify the number of bytes in each packet to mirror.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "TagSpecifications": "The tags to assign to a Traffic Mirror session.", + "ClientToken": "Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.", + "VirtualNetworkId": "The VXLAN ID for the Traffic Mirror session. For more information about the VXLAN protocol, see RFC 7348. If you do not specify a VirtualNetworkId, an account-wide unique id is chosen at random." +} +""" +CreateTrafficMirrorSession(args) = ec2("CreateTrafficMirrorSession", args) + +""" + DescribeInstanceStatus() + +Describes the status of the specified instances or all of your instances. By default, only running instances are described, unless you specifically indicate to return the status of all instances. Instance status includes the following components: Status checks - Amazon EC2 performs status checks on running EC2 instances to identify hardware and software issues. For more information, see Status Checks for Your Instances and Troubleshooting Instances with Failed Status Checks in the Amazon Elastic Compute Cloud User Guide. Scheduled events - Amazon EC2 can schedule events (such as reboot, stop, or terminate) for your instances related to hardware issues, software updates, or system maintenance. For more information, see Scheduled Events for Your Instances in the Amazon Elastic Compute Cloud User Guide. Instance state - You can manage your instances from the moment you launch them through their termination. For more information, see Instance Lifecycle in the Amazon Elastic Compute Cloud User Guide. + +Optional Parameters +{ + "InstanceIds": "The instance IDs. Default: Describes all your instances. Constraints: Maximum 100 explicitly specified instance IDs.", + "MaxResults": "The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned NextToken value. This value can be between 5 and 1000. You cannot specify this parameter and the instance IDs parameter in the same call.", + "NextToken": "The token to retrieve the next page of results.", + "IncludeAllInstances": "When true, includes the health status for all instances. When false, includes the health status for running instances only. Default: false ", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "Filters": "The filters. availability-zone - The Availability Zone of the instance. event.code - The code for the scheduled event (instance-reboot | system-reboot | system-maintenance | instance-retirement | instance-stop). event.description - A description of the event. event.instance-event-id - The ID of the event whose date and time you are modifying. event.not-after - The latest end time for the scheduled event (for example, 2014-09-15T17:15:20.000Z). event.not-before - The earliest start time for the scheduled event (for example, 2014-09-15T17:15:20.000Z). event.not-before-deadline - The deadline for starting the event (for example, 2014-09-15T17:15:20.000Z). instance-state-code - The code for the instance state, as a 16-bit unsigned integer. The high byte is used for internal purposes and should be ignored. The low byte is set based on the state represented. The valid values are 0 (pending), 16 (running), 32 (shutting-down), 48 (terminated), 64 (stopping), and 80 (stopped). instance-state-name - The state of the instance (pending | running | shutting-down | terminated | stopping | stopped). instance-status.reachability - Filters on instance status where the name is reachability (passed | failed | initializing | insufficient-data). instance-status.status - The status of the instance (ok | impaired | initializing | insufficient-data | not-applicable). system-status.reachability - Filters on system status where the name is reachability (passed | failed | initializing | insufficient-data). system-status.status - The system status of the instance (ok | impaired | initializing | insufficient-data | not-applicable). " +} +""" +DescribeInstanceStatus() = ec2("DescribeInstanceStatus") +DescribeInstanceStatus(args) = ec2("DescribeInstanceStatus", args) + +""" + DeleteLaunchTemplate() + +Deletes a launch template. Deleting a launch template deletes all of its versions. + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "LaunchTemplateId": "The ID of the launch template. You must specify either the launch template ID or launch template name in the request.", + "LaunchTemplateName": "The name of the launch template. You must specify either the launch template ID or launch template name in the request." +} +""" +DeleteLaunchTemplate() = ec2("DeleteLaunchTemplate") +DeleteLaunchTemplate(args) = ec2("DeleteLaunchTemplate", args) + +""" + DeleteTrafficMirrorFilterRule() + +Deletes the specified Traffic Mirror rule. + +Required Parameters +{ + "TrafficMirrorFilterRuleId": "The ID of the Traffic Mirror rule." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +DeleteTrafficMirrorFilterRule(args) = ec2("DeleteTrafficMirrorFilterRule", args) + +""" + CreateVolume() + +Creates an EBS volume that can be attached to an instance in the same Availability Zone. The volume is created in the regional endpoint that you send the HTTP request to. For more information see Regions and Endpoints. You can create a new empty volume or restore a volume from an EBS snapshot. Any AWS Marketplace product codes from the snapshot are propagated to the volume. You can create encrypted volumes. Encrypted volumes must be attached to instances that support Amazon EBS encryption. Volumes that are created from encrypted snapshots are also automatically encrypted. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide. You can tag your volumes during creation. For more information, see Tagging Your Amazon EC2 Resources in the Amazon Elastic Compute Cloud User Guide. For more information, see Creating an Amazon EBS Volume in the Amazon Elastic Compute Cloud User Guide. + +Required Parameters +{ + "AvailabilityZone": "The Availability Zone in which to create the volume." +} + +Optional Parameters +{ + "MultiAttachEnabled": "Specifies whether to enable Amazon EBS Multi-Attach. If you enable Multi-Attach, you can attach the volume to up to 16 Nitro-based instances in the same Availability Zone. For more information, see Amazon EBS Multi-Attach in the Amazon Elastic Compute Cloud User Guide.", + "SnapshotId": "The snapshot from which to create the volume. You must specify either a snapshot ID or a volume size.", + "VolumeType": "The volume type. This can be gp2 for General Purpose SSD, io1 for Provisioned IOPS SSD, st1 for Throughput Optimized HDD, sc1 for Cold HDD, or standard for Magnetic volumes. Default: gp2 ", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "TagSpecifications": "The tags to apply to the volume during creation.", + "Encrypted": "Specifies whether the volume should be encrypted. The effect of setting the encryption state to true depends on the volume origin (new or from a snapshot), starting encryption state, ownership, and whether encryption by default is enabled. For more information, see Encryption by Default in the Amazon Elastic Compute Cloud User Guide. Encrypted Amazon EBS volumes must be attached to instances that support Amazon EBS encryption. For more information, see Supported Instance Types.", + "KmsKeyId": "The identifier of the AWS Key Management Service (AWS KMS) customer master key (CMK) to use for Amazon EBS encryption. If this parameter is not specified, your AWS managed CMK for EBS is used. If KmsKeyId is specified, the encrypted state must be true. You can specify the CMK using any of the following: Key ID. For example, key/1234abcd-12ab-34cd-56ef-1234567890ab. Key alias. For example, alias/ExampleAlias. Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef. Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias. AWS authenticates the CMK asynchronously. Therefore, if you specify an ID, alias, or ARN that is not valid, the action can appear to complete, but eventually fails.", + "Iops": "The number of I/O operations per second (IOPS) to provision for the volume, with a maximum ratio of 50 IOPS/GiB. Range is 100 to 64,000 IOPS for volumes in most Regions. Maximum IOPS of 64,000 is guaranteed only on Nitro-based instances. Other instance families guarantee performance up to 32,000 IOPS. For more information, see Amazon EBS Volume Types in the Amazon Elastic Compute Cloud User Guide. This parameter is valid only for Provisioned IOPS SSD (io1) volumes.", + "Size": "The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size. Constraints: 1-16,384 for gp2, 4-16,384 for io1, 500-16,384 for st1, 500-16,384 for sc1, and 1-1,024 for standard. If you specify a snapshot, the volume size must be equal to or larger than the snapshot size. Default: If you're creating the volume from a snapshot and don't specify a volume size, the default is the snapshot size.", + "OutpostArn": "The Amazon Resource Name (ARN) of the Outpost." +} +""" +CreateVolume(args) = ec2("CreateVolume", args) + +""" + DescribeAddresses() + +Describes the specified Elastic IP addresses or all of your Elastic IP addresses. An Elastic IP address is for use in either the EC2-Classic platform or in a VPC. For more information, see Elastic IP Addresses in the Amazon Elastic Compute Cloud User Guide. + +Optional Parameters +{ + "AllocationIds": "[EC2-VPC] Information about the allocation IDs.", + "PublicIps": "One or more Elastic IP addresses. Default: Describes all your Elastic IP addresses.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "Filters": "One or more filters. Filter names and values are case-sensitive. allocation-id - [EC2-VPC] The allocation ID for the address. association-id - [EC2-VPC] The association ID for the address. domain - Indicates whether the address is for use in EC2-Classic (standard) or in a VPC (vpc). instance-id - The ID of the instance the address is associated with, if any. network-border-group - The location from where the IP address is advertised. network-interface-id - [EC2-VPC] The ID of the network interface that the address is associated with, if any. network-interface-owner-id - The AWS account ID of the owner. private-ip-address - [EC2-VPC] The private IP address associated with the Elastic IP address. public-ip - The Elastic IP address. tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value. tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value. " +} +""" +DescribeAddresses() = ec2("DescribeAddresses") +DescribeAddresses(args) = ec2("DescribeAddresses", args) + +""" + ModifyNetworkInterfaceAttribute() + +Modifies the specified network interface attribute. You can specify only one attribute at a time. You can use this action to attach and detach security groups from an existing EC2 instance. + +Required Parameters +{ + "NetworkInterfaceId": "The ID of the network interface." +} + +Optional Parameters +{ + "SourceDestCheck": "Indicates whether source/destination checking is enabled. A value of true means checking is enabled, and false means checking is disabled. This value must be false for a NAT instance to perform NAT. For more information, see NAT Instances in the Amazon Virtual Private Cloud User Guide.", + "Description": "A description for the network interface.", + "Attachment": "Information about the interface attachment. If modifying the 'delete on termination' attribute, you must specify the ID of the interface attachment.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "Groups": "Changes the security groups for the network interface. The new set of groups you specify replaces the current set. You must specify at least one group, even if it's just the default security group in the VPC. You must specify the ID of the security group, not the name." +} +""" +ModifyNetworkInterfaceAttribute(args) = ec2("ModifyNetworkInterfaceAttribute", args) + +""" + UnassignPrivateIpAddresses() + +Unassigns one or more secondary private IP addresses from a network interface. + +Required Parameters +{ + "NetworkInterfaceId": "The ID of the network interface.", + "PrivateIpAddresses": "The secondary private IP addresses to unassign from the network interface. You can specify this option multiple times to unassign more than one IP address." +} +""" +UnassignPrivateIpAddresses(args) = ec2("UnassignPrivateIpAddresses", args) + +""" + CreateReservedInstancesListing() + +Creates a listing for Amazon EC2 Standard Reserved Instances to be sold in the Reserved Instance Marketplace. You can submit one Standard Reserved Instance listing at a time. To get a list of your Standard Reserved Instances, you can use the DescribeReservedInstances operation. Only Standard Reserved Instances can be sold in the Reserved Instance Marketplace. Convertible Reserved Instances cannot be sold. The Reserved Instance Marketplace matches sellers who want to resell Standard Reserved Instance capacity that they no longer need with buyers who want to purchase additional capacity. Reserved Instances bought and sold through the Reserved Instance Marketplace work like any other Reserved Instances. To sell your Standard Reserved Instances, you must first register as a seller in the Reserved Instance Marketplace. After completing the registration process, you can create a Reserved Instance Marketplace listing of some or all of your Standard Reserved Instances, and specify the upfront price to receive for them. Your Standard Reserved Instance listings then become available for purchase. To view the details of your Standard Reserved Instance listing, you can use the DescribeReservedInstancesListings operation. For more information, see Reserved Instance Marketplace in the Amazon Elastic Compute Cloud User Guide. + +Required Parameters +{ + "InstanceCount": "The number of instances that are a part of a Reserved Instance account to be listed in the Reserved Instance Marketplace. This number should be less than or equal to the instance count associated with the Reserved Instance ID specified in this call.", + "ClientToken": "Unique, case-sensitive identifier you provide to ensure idempotency of your listings. This helps avoid duplicate listings. For more information, see Ensuring Idempotency.", + "PriceSchedules": "A list specifying the price of the Standard Reserved Instance for each month remaining in the Reserved Instance term.", + "ReservedInstancesId": "The ID of the active Standard Reserved Instance." +} +""" +CreateReservedInstancesListing(args) = ec2("CreateReservedInstancesListing", args) + +""" + WithdrawByoipCidr() + +Stops advertising an address range that is provisioned as an address pool. You can perform this operation at most once every 10 seconds, even if you specify different address ranges each time. It can take a few minutes before traffic to the specified addresses stops routing to AWS because of BGP propagation delays. + +Required Parameters +{ + "Cidr": "The address range, in CIDR notation." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +WithdrawByoipCidr(args) = ec2("WithdrawByoipCidr", args) + +""" + CreateNetworkAcl() + +Creates a network ACL in a VPC. Network ACLs provide an optional layer of security (in addition to security groups) for the instances in your VPC. For more information, see Network ACLs in the Amazon Virtual Private Cloud User Guide. + +Required Parameters +{ + "VpcId": "The ID of the VPC." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +CreateNetworkAcl(args) = ec2("CreateNetworkAcl", args) + +""" + AssociateTransitGatewayRouteTable() + +Associates the specified attachment with the specified transit gateway route table. You can associate only one route table with an attachment. + +Required Parameters +{ + "TransitGatewayAttachmentId": "The ID of the attachment.", + "TransitGatewayRouteTableId": "The ID of the transit gateway route table." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +AssociateTransitGatewayRouteTable(args) = ec2("AssociateTransitGatewayRouteTable", args) + +""" + ResetImageAttribute() + +Resets an attribute of an AMI to its default value. The productCodes attribute can't be reset. + +Required Parameters +{ + "ImageId": "The ID of the AMI.", + "Attribute": "The attribute to reset (currently you can only reset the launch permission attribute)." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +ResetImageAttribute(args) = ec2("ResetImageAttribute", args) + +""" + DescribeSnapshotAttribute() + +Describes the specified attribute of the specified snapshot. You can specify only one attribute at a time. For more information about EBS snapshots, see Amazon EBS Snapshots in the Amazon Elastic Compute Cloud User Guide. + +Required Parameters +{ + "SnapshotId": "The ID of the EBS snapshot.", + "Attribute": "The snapshot attribute you would like to view." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +DescribeSnapshotAttribute(args) = ec2("DescribeSnapshotAttribute", args) + +""" + AssociateAddress() + +Associates an Elastic IP address with an instance or a network interface. Before you can use an Elastic IP address, you must allocate it to your account. An Elastic IP address is for use in either the EC2-Classic platform or in a VPC. For more information, see Elastic IP Addresses in the Amazon Elastic Compute Cloud User Guide. [EC2-Classic, VPC in an EC2-VPC-only account] If the Elastic IP address is already associated with a different instance, it is disassociated from that instance and associated with the specified instance. If you associate an Elastic IP address with an instance that has an existing Elastic IP address, the existing address is disassociated from the instance, but remains allocated to your account. [VPC in an EC2-Classic account] If you don't specify a private IP address, the Elastic IP address is associated with the primary IP address. If the Elastic IP address is already associated with a different instance or a network interface, you get an error unless you allow reassociation. You cannot associate an Elastic IP address with an instance or network interface that has an existing Elastic IP address. You cannot associate an Elastic IP address with an interface in a different network border group. This is an idempotent operation. If you perform the operation more than once, Amazon EC2 doesn't return an error, and you may be charged for each time the Elastic IP address is remapped to the same instance. For more information, see the Elastic IP Addresses section of Amazon EC2 Pricing. + +Optional Parameters +{ + "PrivateIpAddress": "[EC2-VPC] The primary or secondary private IP address to associate with the Elastic IP address. If no private IP address is specified, the Elastic IP address is associated with the primary private IP address.", + "InstanceId": "The ID of the instance. This is required for EC2-Classic. For EC2-VPC, you can specify either the instance ID or the network interface ID, but not both. The operation fails if you specify an instance ID unless exactly one network interface is attached.", + "NetworkInterfaceId": "[EC2-VPC] The ID of the network interface. If the instance has more than one network interface, you must specify a network interface ID. For EC2-VPC, you can specify either the instance ID or the network interface ID, but not both. ", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "AllocationId": "[EC2-VPC] The allocation ID. This is required for EC2-VPC.", + "PublicIp": "The Elastic IP address to associate with the instance. This is required for EC2-Classic.", + "AllowReassociation": "[EC2-VPC] For a VPC in an EC2-Classic account, specify true to allow an Elastic IP address that is already associated with an instance or network interface to be reassociated with the specified instance or network interface. Otherwise, the operation fails. In a VPC in an EC2-VPC-only account, reassociation is automatic, therefore you can specify false to ensure the operation fails if the Elastic IP address is already associated with another resource." +} +""" +AssociateAddress() = ec2("AssociateAddress") +AssociateAddress(args) = ec2("AssociateAddress", args) + +""" + DeleteVpcEndpointConnectionNotifications() + +Deletes one or more VPC endpoint connection notifications. + +Required Parameters +{ + "ConnectionNotificationIds": "One or more notification IDs." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +DeleteVpcEndpointConnectionNotifications(args) = ec2("DeleteVpcEndpointConnectionNotifications", args) + +""" + DisassociateClientVpnTargetNetwork() + +Disassociates a target network from the specified Client VPN endpoint. When you disassociate the last target network from a Client VPN, the following happens: The route that was automatically added for the VPC is deleted All active client connections are terminated New client connections are disallowed The Client VPN endpoint's status changes to pending-associate + +Required Parameters +{ + "AssociationId": "The ID of the target network association.", + "ClientVpnEndpointId": "The ID of the Client VPN endpoint from which to disassociate the target network." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +DisassociateClientVpnTargetNetwork(args) = ec2("DisassociateClientVpnTargetNetwork", args) + +""" + EnableVpcClassicLinkDnsSupport() + +Enables a VPC to support DNS hostname resolution for ClassicLink. If enabled, the DNS hostname of a linked EC2-Classic instance resolves to its private IP address when addressed from an instance in the VPC to which it's linked. Similarly, the DNS hostname of an instance in a VPC resolves to its private IP address when addressed from a linked EC2-Classic instance. For more information, see ClassicLink in the Amazon Elastic Compute Cloud User Guide. + +Optional Parameters +{ + "VpcId": "The ID of the VPC." +} +""" +EnableVpcClassicLinkDnsSupport() = ec2("EnableVpcClassicLinkDnsSupport") +EnableVpcClassicLinkDnsSupport(args) = ec2("EnableVpcClassicLinkDnsSupport", args) + +""" + DescribeReservedInstancesModifications() + +Describes the modifications made to your Reserved Instances. If no parameter is specified, information about all your Reserved Instances modification requests is returned. If a modification ID is specified, only information about the specific modification is returned. For more information, see Modifying Reserved Instances in the Amazon Elastic Compute Cloud User Guide. + +Optional Parameters +{ + "ReservedInstancesModificationIds": "IDs for the submitted modification request.", + "NextToken": "The token to retrieve the next page of results.", + "Filters": "One or more filters. client-token - The idempotency token for the modification request. create-date - The time when the modification request was created. effective-date - The time when the modification becomes effective. modification-result.reserved-instances-id - The ID for the Reserved Instances created as part of the modification request. This ID is only available when the status of the modification is fulfilled. modification-result.target-configuration.availability-zone - The Availability Zone for the new Reserved Instances. modification-result.target-configuration.instance-count - The number of new Reserved Instances. modification-result.target-configuration.instance-type - The instance type of the new Reserved Instances. modification-result.target-configuration.platform - The network platform of the new Reserved Instances (EC2-Classic | EC2-VPC). reserved-instances-id - The ID of the Reserved Instances modified. reserved-instances-modification-id - The ID of the modification request. status - The status of the Reserved Instances modification request (processing | fulfilled | failed). status-message - The reason for the status. update-date - The time when the modification request was last updated. " +} +""" +DescribeReservedInstancesModifications() = ec2("DescribeReservedInstancesModifications") +DescribeReservedInstancesModifications(args) = ec2("DescribeReservedInstancesModifications", args) + +""" + ExportClientVpnClientCertificateRevocationList() + +Downloads the client certificate revocation list for the specified Client VPN endpoint. + +Required Parameters +{ + "ClientVpnEndpointId": "The ID of the Client VPN endpoint." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +ExportClientVpnClientCertificateRevocationList(args) = ec2("ExportClientVpnClientCertificateRevocationList", args) + +""" + DescribeVpcEndpointServicePermissions() + +Describes the principals (service consumers) that are permitted to discover your VPC endpoint service. + +Required Parameters +{ + "ServiceId": "The ID of the service." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return for the request in a single page. The remaining results of the initial request can be seen by sending another request with the returned NextToken value. This value can be between 5 and 1,000; if MaxResults is given a value larger than 1,000, only 1,000 results are returned.", + "NextToken": "The token to retrieve the next page of results.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "Filters": "One or more filters. principal - The ARN of the principal. principal-type - The principal type (All | Service | OrganizationUnit | Account | User | Role). " +} +""" +DescribeVpcEndpointServicePermissions(args) = ec2("DescribeVpcEndpointServicePermissions", args) + +""" + ModifyEbsDefaultKmsKeyId() + +Changes the default customer master key (CMK) for EBS encryption by default for your account in this Region. AWS creates a unique AWS managed CMK in each Region for use with encryption by default. If you change the default CMK to a symmetric customer managed CMK, it is used instead of the AWS managed CMK. To reset the default CMK to the AWS managed CMK for EBS, use ResetEbsDefaultKmsKeyId. Amazon EBS does not support asymmetric CMKs. If you delete or disable the customer managed CMK that you specified for use with encryption by default, your instances will fail to launch. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide. + +Required Parameters +{ + "KmsKeyId": "The identifier of the AWS Key Management Service (AWS KMS) customer master key (CMK) to use for Amazon EBS encryption. If this parameter is not specified, your AWS managed CMK for EBS is used. If KmsKeyId is specified, the encrypted state must be true. You can specify the CMK using any of the following: Key ID. For example, key/1234abcd-12ab-34cd-56ef-1234567890ab. Key alias. For example, alias/ExampleAlias. Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef. Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias. AWS authenticates the CMK asynchronously. Therefore, if you specify an ID, alias, or ARN that is not valid, the action can appear to complete, but eventually fails. Amazon EBS does not support asymmetric CMKs." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +ModifyEbsDefaultKmsKeyId(args) = ec2("ModifyEbsDefaultKmsKeyId", args) + +""" + ModifyTransitGatewayVpcAttachment() + +Modifies the specified VPC attachment. + +Required Parameters +{ + "TransitGatewayAttachmentId": "The ID of the attachment." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "Options": "The new VPC attachment options. You cannot modify the IPv6 options. ", + "AddSubnetIds": "The IDs of one or more subnets to add. You can specify at most one subnet per Availability Zone.", + "RemoveSubnetIds": "The IDs of one or more subnets to remove." +} +""" +ModifyTransitGatewayVpcAttachment(args) = ec2("ModifyTransitGatewayVpcAttachment", args) + +""" + DeleteCustomerGateway() + +Deletes the specified customer gateway. You must delete the VPN connection before you can delete the customer gateway. + +Required Parameters +{ + "CustomerGatewayId": "The ID of the customer gateway." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +DeleteCustomerGateway(args) = ec2("DeleteCustomerGateway", args) + +""" + DeleteLaunchTemplateVersions() + +Deletes one or more versions of a launch template. You cannot delete the default version of a launch template; you must first assign a different version as the default. If the default version is the only version for the launch template, you must delete the entire launch template using DeleteLaunchTemplate. + +Required Parameters +{ + "Versions": "The version numbers of one or more launch template versions to delete." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "LaunchTemplateId": "The ID of the launch template. You must specify either the launch template ID or launch template name in the request.", + "LaunchTemplateName": "The name of the launch template. You must specify either the launch template ID or launch template name in the request." +} +""" +DeleteLaunchTemplateVersions(args) = ec2("DeleteLaunchTemplateVersions", args) + +""" + DescribeHostReservations() + +Describes reservations that are associated with Dedicated Hosts in your account. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the returned nextToken value. This value can be between 5 and 500. If maxResults is given a larger value than 500, you receive an error.", + "NextToken": "The token to use to retrieve the next page of results.", + "HostReservationIdSet": "The host reservation IDs.", + "Filter": "The filters. instance-family - The instance family (for example, m4). payment-option - The payment option (NoUpfront | PartialUpfront | AllUpfront). state - The state of the reservation (payment-pending | payment-failed | active | retired). tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value. tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value. " +} +""" +DescribeHostReservations() = ec2("DescribeHostReservations") +DescribeHostReservations(args) = ec2("DescribeHostReservations", args) + +""" + EnableTransitGatewayRouteTablePropagation() + +Enables the specified attachment to propagate routes to the specified propagation route table. + +Required Parameters +{ + "TransitGatewayAttachmentId": "The ID of the attachment.", + "TransitGatewayRouteTableId": "The ID of the propagation route table." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +EnableTransitGatewayRouteTablePropagation(args) = ec2("EnableTransitGatewayRouteTablePropagation", args) + +""" + DeleteVpnGateway() + +Deletes the specified virtual private gateway. You must first detach the virtual private gateway from the VPC. Note that you don't need to delete the virtual private gateway if you plan to delete and recreate the VPN connection between your VPC and your network. + +Required Parameters +{ + "VpnGatewayId": "The ID of the virtual private gateway." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +DeleteVpnGateway(args) = ec2("DeleteVpnGateway", args) + +""" + CreateNetworkInterface() + +Creates a network interface in the specified subnet. For more information about network interfaces, see Elastic Network Interfaces in the Amazon Virtual Private Cloud User Guide. + +Required Parameters +{ + "SubnetId": "The ID of the subnet to associate with the network interface." +} + +Optional Parameters +{ + "Ipv6AddressCount": "The number of IPv6 addresses to assign to a network interface. Amazon EC2 automatically selects the IPv6 addresses from the subnet range. You can't use this option if specifying specific IPv6 addresses. If your subnet has the AssignIpv6AddressOnCreation attribute set to true, you can specify 0 to override this setting.", + "InterfaceType": "Indicates the type of network interface. To create an Elastic Fabric Adapter (EFA), specify efa. For more information, see Elastic Fabric Adapter in the Amazon Elastic Compute Cloud User Guide.", + "Description": "A description for the network interface.", + "PrivateIpAddress": "The primary private IPv4 address of the network interface. If you don't specify an IPv4 address, Amazon EC2 selects one for you from the subnet's IPv4 CIDR range. If you specify an IP address, you cannot indicate any IP addresses specified in privateIpAddresses as primary (only one IP address can be designated as primary).", + "SecondaryPrivateIpAddressCount": "The number of secondary private IPv4 addresses to assign to a network interface. When you specify a number of secondary IPv4 addresses, Amazon EC2 selects these IP addresses within the subnet's IPv4 CIDR range. You can't specify this option and specify more than one private IP address using privateIpAddresses. The number of IP addresses you can assign to a network interface varies by instance type. For more information, see IP Addresses Per ENI Per Instance Type in the Amazon Virtual Private Cloud User Guide.", + "Ipv6Addresses": "One or more specific IPv6 addresses from the IPv6 CIDR block range of your subnet. You can't use this option if you're specifying a number of IPv6 addresses.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "Groups": "The IDs of one or more security groups.", + "PrivateIpAddresses": "One or more private IPv4 addresses." +} +""" +CreateNetworkInterface(args) = ec2("CreateNetworkInterface", args) + +""" + DetachVpnGateway() + +Detaches a virtual private gateway from a VPC. You do this if you're planning to turn off the VPC and not use it anymore. You can confirm a virtual private gateway has been completely detached from a VPC by describing the virtual private gateway (any attachments to the virtual private gateway are also described). You must wait for the attachment's state to switch to detached before you can delete the VPC or attach a different VPC to the virtual private gateway. + +Required Parameters +{ + "VpnGatewayId": "The ID of the virtual private gateway.", + "VpcId": "The ID of the VPC." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +DetachVpnGateway(args) = ec2("DetachVpnGateway", args) + +""" + DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations() + +Describes the associations between virtual interface groups and local gateway route tables. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.", + "NextToken": "The token for the next page of results.", + "LocalGatewayRouteTableVirtualInterfaceGroupAssociationIds": "The IDs of the associations.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "Filters": "One or more filters." +} +""" +DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations() = ec2("DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations") +DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations(args) = ec2("DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations", args) + +""" + DeregisterTransitGatewayMulticastGroupMembers() + +Deregisters the specified members (network interfaces) from the transit gateway multicast group. + +Optional Parameters +{ + "TransitGatewayMulticastDomainId": "The ID of the transit gateway multicast domain.", + "GroupIpAddress": "The IP address assigned to the transit gateway multicast group.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "NetworkInterfaceIds": "The IDs of the group members' network interfaces." +} +""" +DeregisterTransitGatewayMulticastGroupMembers() = ec2("DeregisterTransitGatewayMulticastGroupMembers") +DeregisterTransitGatewayMulticastGroupMembers(args) = ec2("DeregisterTransitGatewayMulticastGroupMembers", args) + +""" + MonitorInstances() + +Enables detailed monitoring for a running instance. Otherwise, basic monitoring is enabled. For more information, see Monitoring Your Instances and Volumes in the Amazon Elastic Compute Cloud User Guide. To disable detailed monitoring, see . + +Required Parameters +{ + "InstanceIds": "The IDs of the instances." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +MonitorInstances(args) = ec2("MonitorInstances", args) + +""" + AcceptTransitGatewayPeeringAttachment() + +Accepts a transit gateway peering attachment request. The peering attachment must be in the pendingAcceptance state. + +Required Parameters +{ + "TransitGatewayAttachmentId": "The ID of the transit gateway attachment." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +AcceptTransitGatewayPeeringAttachment(args) = ec2("AcceptTransitGatewayPeeringAttachment", args) + +""" + DescribeScheduledInstances() + +Describes the specified Scheduled Instances or all your Scheduled Instances. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return in a single call. This value can be between 5 and 300. The default value is 100. To retrieve the remaining results, make another call with the returned NextToken value.", + "NextToken": "The token for the next set of results.", + "SlotStartTimeRange": "The time period for the first schedule to start.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "Filters": "The filters. availability-zone - The Availability Zone (for example, us-west-2a). instance-type - The instance type (for example, c4.large). network-platform - The network platform (EC2-Classic or EC2-VPC). platform - The platform (Linux/UNIX or Windows). ", + "ScheduledInstanceIds": "The Scheduled Instance IDs." +} +""" +DescribeScheduledInstances() = ec2("DescribeScheduledInstances") +DescribeScheduledInstances(args) = ec2("DescribeScheduledInstances", args) + +""" + AssociateIamInstanceProfile() + +Associates an IAM instance profile with a running or stopped instance. You cannot associate more than one IAM instance profile with an instance. + +Required Parameters +{ + "InstanceId": "The ID of the instance.", + "IamInstanceProfile": "The IAM instance profile." +} +""" +AssociateIamInstanceProfile(args) = ec2("AssociateIamInstanceProfile", args) + +""" + DeleteNetworkAcl() + +Deletes the specified network ACL. You can't delete the ACL if it's associated with any subnets. You can't delete the default network ACL. + +Required Parameters +{ + "NetworkAclId": "The ID of the network ACL." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +DeleteNetworkAcl(args) = ec2("DeleteNetworkAcl", args) + +""" + ExportImage() + +Exports an Amazon Machine Image (AMI) to a VM file. For more information, see Exporting a VM Directory from an Amazon Machine Image (AMI) in the VM Import/Export User Guide. + +Required Parameters +{ + "DiskImageFormat": "The disk image format.", + "S3ExportLocation": "Information about the destination S3 bucket. The bucket must exist and grant WRITE and READ_ACP permissions to the AWS account vm-import-export@amazon.com.", + "ImageId": "The ID of the image." +} + +Optional Parameters +{ + "Description": "A description of the image being exported. The maximum length is 255 bytes.", + "RoleName": "The name of the role that grants VM Import/Export permission to export images to your S3 bucket. If this parameter is not specified, the default role is named 'vmimport'.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "ClientToken": "Token to enable idempotency for export image requests." +} +""" +ExportImage(args) = ec2("ExportImage", args) + +""" + GetTransitGatewayMulticastDomainAssociations() + +Gets information about the associations for the transit gateway multicast domain. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.", + "TransitGatewayMulticastDomainId": "The ID of the transit gateway multicast domain.", + "NextToken": "The token for the next page of results.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "Filters": "One or more filters. The possible values are: resource-id - The ID of the resource. resource-type - The type of resource. The valid value is: vpc. state - The state of the subnet association. Valid values are associated | associating | disassociated | disassociating. subnet-id - The ID of the subnet. transit-gateway-attachment-id - The id of the transit gateway attachment. " +} +""" +GetTransitGatewayMulticastDomainAssociations() = ec2("GetTransitGatewayMulticastDomainAssociations") +GetTransitGatewayMulticastDomainAssociations(args) = ec2("GetTransitGatewayMulticastDomainAssociations", args) + +""" + ModifyVpcEndpointConnectionNotification() + +Modifies a connection notification for VPC endpoint or VPC endpoint service. You can change the SNS topic for the notification, or the events for which to be notified. + +Required Parameters +{ + "ConnectionNotificationId": "The ID of the notification." +} + +Optional Parameters +{ + "ConnectionNotificationArn": "The ARN for the SNS topic for the notification.", + "ConnectionEvents": "One or more events for the endpoint. Valid values are Accept, Connect, Delete, and Reject.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +ModifyVpcEndpointConnectionNotification(args) = ec2("ModifyVpcEndpointConnectionNotification", args) + +""" + DescribeLocalGatewayRouteTables() + +Describes one or more local gateway route tables. By default, all local gateway route tables are described. Alternatively, you can filter the results. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.", + "NextToken": "The token for the next page of results.", + "LocalGatewayRouteTableIds": "The IDs of the local gateway route tables.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "Filters": "One or more filters." +} +""" +DescribeLocalGatewayRouteTables() = ec2("DescribeLocalGatewayRouteTables") +DescribeLocalGatewayRouteTables(args) = ec2("DescribeLocalGatewayRouteTables", args) + +""" + DescribeReservedInstances() + +Describes one or more of the Reserved Instances that you purchased. For more information about Reserved Instances, see Reserved Instances in the Amazon Elastic Compute Cloud User Guide. + +Optional Parameters +{ + "OfferingClass": "Describes whether the Reserved Instance is Standard or Convertible.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "ReservedInstancesIds": "One or more Reserved Instance IDs. Default: Describes all your Reserved Instances, or only those otherwise specified.", + "OfferingType": "The Reserved Instance offering type. If you are using tools that predate the 2011-11-01 API version, you only have access to the Medium Utilization Reserved Instance offering type.", + "Filters": "One or more filters. availability-zone - The Availability Zone where the Reserved Instance can be used. duration - The duration of the Reserved Instance (one year or three years), in seconds (31536000 | 94608000). end - The time when the Reserved Instance expires (for example, 2015-08-07T11:54:42.000Z). fixed-price - The purchase price of the Reserved Instance (for example, 9800.0). instance-type - The instance type that is covered by the reservation. scope - The scope of the Reserved Instance (Region or Availability Zone). product-description - The Reserved Instance product platform description. Instances that include (Amazon VPC) in the product platform description will only be displayed to EC2-Classic account holders and are for use with Amazon VPC (Linux/UNIX | Linux/UNIX (Amazon VPC) | SUSE Linux | SUSE Linux (Amazon VPC) | Red Hat Enterprise Linux | Red Hat Enterprise Linux (Amazon VPC) | Windows | Windows (Amazon VPC) | Windows with SQL Server Standard | Windows with SQL Server Standard (Amazon VPC) | Windows with SQL Server Web | Windows with SQL Server Web (Amazon VPC) | Windows with SQL Server Enterprise | Windows with SQL Server Enterprise (Amazon VPC)). reserved-instances-id - The ID of the Reserved Instance. start - The time at which the Reserved Instance purchase request was placed (for example, 2014-08-07T11:54:42.000Z). state - The state of the Reserved Instance (payment-pending | active | payment-failed | retired). tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value. tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value. usage-price - The usage price of the Reserved Instance, per hour (for example, 0.84). " +} +""" +DescribeReservedInstances() = ec2("DescribeReservedInstances") +DescribeReservedInstances(args) = ec2("DescribeReservedInstances", args) + +""" + RunInstances() + +Launches the specified number of instances using an AMI for which you have permissions. You can specify a number of options, or leave the default options. The following rules apply: [EC2-VPC] If you don't specify a subnet ID, we choose a default subnet from your default VPC for you. If you don't have a default VPC, you must specify a subnet ID in the request. [EC2-Classic] If don't specify an Availability Zone, we choose one for you. Some instance types must be launched into a VPC. If you do not have a default VPC, or if you do not specify a subnet ID, the request fails. For more information, see Instance Types Available Only in a VPC. [EC2-VPC] All instances have a network interface with a primary private IPv4 address. If you don't specify this address, we choose one from the IPv4 range of your subnet. Not all instance types support IPv6 addresses. For more information, see Instance Types. If you don't specify a security group ID, we use the default security group. For more information, see Security Groups. If any of the AMIs have a product code attached for which the user has not subscribed, the request fails. You can create a launch template, which is a resource that contains the parameters to launch an instance. When you launch an instance using RunInstances, you can specify the launch template instead of specifying the launch parameters. To ensure faster instance launches, break up large requests into smaller batches. For example, create five separate launch requests for 100 instances each instead of one launch request for 500 instances. An instance is ready for you to use when it's in the running state. You can check the state of your instance using DescribeInstances. You can tag instances and EBS volumes during launch, after launch, or both. For more information, see CreateTags and Tagging Your Amazon EC2 Resources. Linux instances have access to the public key of the key pair at boot. You can use this key to provide secure access to the instance. Amazon EC2 public images use this feature to provide secure access without passwords. For more information, see Key Pairs in the Amazon Elastic Compute Cloud User Guide. For troubleshooting, see What To Do If An Instance Immediately Terminates, and Troubleshooting Connecting to Your Instance in the Amazon Elastic Compute Cloud User Guide. + +Required Parameters +{ + "MinCount": "The minimum number of instances to launch. If you specify a minimum that is more instances than Amazon EC2 can launch in the target Availability Zone, Amazon EC2 launches no instances. Constraints: Between 1 and the maximum number you're allowed for the specified instance type. For more information about the default limits, and how to request an increase, see How many instances can I run in Amazon EC2 in the Amazon EC2 General FAQ.", + "MaxCount": "The maximum number of instances to launch. If you specify more instances than Amazon EC2 can launch in the target Availability Zone, Amazon EC2 launches the largest possible number of instances above MinCount. Constraints: Between 1 and the maximum number you're allowed for the specified instance type. For more information about the default limits, and how to request an increase, see How many instances can I run in Amazon EC2 in the Amazon EC2 FAQ." +} + +Optional Parameters +{ + "BlockDeviceMappings": "The block device mapping entries.", + "CpuOptions": "The CPU options for the instance. For more information, see Optimizing CPU Options in the Amazon Elastic Compute Cloud User Guide.", + "ElasticInferenceAccelerators": "An elastic inference accelerator to associate with the instance. Elastic inference accelerators are a resource you can attach to your Amazon EC2 instances to accelerate your Deep Learning (DL) inference workloads.", + "Monitoring": "Specifies whether detailed monitoring is enabled for the instance.", + "Ipv6Addresses": "[EC2-VPC] The IPv6 addresses from the range of the subnet to associate with the primary network interface. You cannot specify this option and the option to assign a number of IPv6 addresses in the same request. You cannot specify this option if you've specified a minimum number of instances to launch. You cannot specify this option and the network interfaces option in the same request.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "IamInstanceProfile": "The IAM instance profile.", + "MetadataOptions": "The metadata options for the instance. For more information, see Instance Metadata and User Data.", + "ElasticGpuSpecification": "An elastic GPU to associate with the instance. An Elastic GPU is a GPU resource that you can attach to your Windows instance to accelerate the graphics performance of your applications. For more information, see Amazon EC2 Elastic GPUs in the Amazon Elastic Compute Cloud User Guide.", + "InstanceType": "The instance type. For more information, see Instance Types in the Amazon Elastic Compute Cloud User Guide. Default: m1.small ", + "UserData": "The user data to make available to the instance. For more information, see Running Commands on Your Linux Instance at Launch (Linux) and Adding User Data (Windows). If you are using a command line tool, base64-encoding is performed for you, and you can load the text from a file. Otherwise, you must provide base64-encoded text. User data is limited to 16 KB.", + "CreditSpecification": "The credit option for CPU usage of the burstable performance instance. Valid values are standard and unlimited. To change this attribute after launch, use ModifyInstanceCreditSpecification. For more information, see Burstable Performance Instances in the Amazon Elastic Compute Cloud User Guide. Default: standard (T2 instances) or unlimited (T3/T3a instances)", + "KeyName": "The name of the key pair. You can create a key pair using CreateKeyPair or ImportKeyPair. If you do not specify a key pair, you can't connect to the instance unless you choose an AMI that is configured to allow users another way to log in. ", + "SecurityGroups": "[EC2-Classic, default VPC] The names of the security groups. For a nondefault VPC, you must use security group IDs instead. If you specify a network interface, you must specify any security groups as part of the network interface. Default: Amazon EC2 uses the default security group.", + "AdditionalInfo": "Reserved.", + "ClientToken": "Unique, case-sensitive identifier you provide to ensure the idempotency of the request. If you do not specify a client token, a randomly generated token is used for the request to ensure idempotency. For more information, see Ensuring Idempotency. Constraints: Maximum 64 ASCII characters", + "LaunchTemplate": "The launch template to use to launch the instances. Any parameters that you specify in RunInstances override the same parameters in the launch template. You can specify either the name or ID of a launch template, but not both.", + "KernelId": "The ID of the kernel. We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see PV-GRUB in the Amazon Elastic Compute Cloud User Guide. ", + "InstanceMarketOptions": "The market (purchasing) option for the instances. For RunInstances, persistent Spot Instance requests are only supported when InstanceInterruptionBehavior is set to either hibernate or stop.", + "PrivateIpAddress": "[EC2-VPC] The primary IPv4 address. You must specify a value from the IPv4 address range of the subnet. Only one private IP address can be designated as primary. You can't specify this option if you've specified the option to designate a private IP address as the primary IP address in a network interface specification. You cannot specify this option if you're launching more than one instance in the request. You cannot specify this option and the network interfaces option in the same request.", + "SecurityGroupIds": "The IDs of the security groups. You can create a security group using CreateSecurityGroup. If you specify a network interface, you must specify any security groups as part of the network interface.", + "Placement": "The placement for the instance.", + "TagSpecifications": "The tags to apply to the resources during launch. You can only tag instances and volumes on launch. The specified tags are applied to all instances or volumes that are created during launch. To tag a resource after it has been created, see CreateTags.", + "InstanceInitiatedShutdownBehavior": "Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown). Default: stop ", + "SubnetId": "[EC2-VPC] The ID of the subnet to launch the instance into. If you specify a network interface, you must specify any subnets as part of the network interface.", + "Ipv6AddressCount": "[EC2-VPC] The number of IPv6 addresses to associate with the primary network interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet. You cannot specify this option and the option to assign specific IPv6 addresses in the same request. You can specify this option if you've specified a minimum number of instances to launch. You cannot specify this option and the network interfaces option in the same request.", + "CapacityReservationSpecification": "Information about the Capacity Reservation targeting option. If you do not specify this parameter, the instance's Capacity Reservation preference defaults to open, which enables it to run in any open Capacity Reservation that has matching attributes (instance type, platform, Availability Zone).", + "NetworkInterfaces": "The network interfaces to associate with the instance. If you specify a network interface, you must specify any security groups and subnets as part of the network interface.", + "RamdiskId": "The ID of the RAM disk to select. Some kernels require additional drivers at launch. Check the kernel requirements for information about whether you need to specify a RAM disk. To find kernel requirements, go to the AWS Resource Center and search for the kernel ID. We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see PV-GRUB in the Amazon Elastic Compute Cloud User Guide. ", + "ImageId": "The ID of the AMI. An AMI ID is required to launch an instance and must be specified here or in a launch template.", + "EbsOptimized": "Indicates whether the instance is optimized for Amazon EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal Amazon EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS-optimized instance. Default: false ", + "HibernationOptions": "Indicates whether an instance is enabled for hibernation. For more information, see Hibernate Your Instance in the Amazon Elastic Compute Cloud User Guide.", + "DisableApiTermination": "If you set this parameter to true, you can't terminate the instance using the Amazon EC2 console, CLI, or API; otherwise, you can. To change this attribute after launch, use ModifyInstanceAttribute. Alternatively, if you set InstanceInitiatedShutdownBehavior to terminate, you can terminate the instance by running the shutdown command from the instance. Default: false ", + "LicenseSpecifications": "The license configurations." +} +""" +RunInstances(args) = ec2("RunInstances", args) + +""" + CreateVpcPeeringConnection() + +Requests a VPC peering connection between two VPCs: a requester VPC that you own and an accepter VPC with which to create the connection. The accepter VPC can belong to another AWS account and can be in a different Region to the requester VPC. The requester VPC and accepter VPC cannot have overlapping CIDR blocks. Limitations and rules apply to a VPC peering connection. For more information, see the limitations section in the VPC Peering Guide. The owner of the accepter VPC must accept the peering request to activate the peering connection. The VPC peering connection request expires after 7 days, after which it cannot be accepted or rejected. If you create a VPC peering connection request between VPCs with overlapping CIDR blocks, the VPC peering connection has a status of failed. + +Optional Parameters +{ + "PeerOwnerId": "The AWS account ID of the owner of the accepter VPC. Default: Your AWS account ID", + "PeerVpcId": "The ID of the VPC with which you are creating the VPC peering connection. You must specify this parameter in the request.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "PeerRegion": "The Region code for the accepter VPC, if the accepter VPC is located in a Region other than the Region in which you make the request. Default: The Region in which you make the request.", + "VpcId": "The ID of the requester VPC. You must specify this parameter in the request." +} +""" +CreateVpcPeeringConnection() = ec2("CreateVpcPeeringConnection") +CreateVpcPeeringConnection(args) = ec2("CreateVpcPeeringConnection", args) + +""" + DescribeLocalGatewayVirtualInterfaces() + +Describes the specified local gateway virtual interfaces. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.", + "NextToken": "The token for the next page of results.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "LocalGatewayVirtualInterfaceIds": "The IDs of the virtual interfaces.", + "Filters": "One or more filters." +} +""" +DescribeLocalGatewayVirtualInterfaces() = ec2("DescribeLocalGatewayVirtualInterfaces") +DescribeLocalGatewayVirtualInterfaces(args) = ec2("DescribeLocalGatewayVirtualInterfaces", args) + +""" + DescribeHosts() + +Describes the specified Dedicated Hosts or all your Dedicated Hosts. The results describe only the Dedicated Hosts in the Region you're currently using. All listed instances consume capacity on your Dedicated Host. Dedicated Hosts that have recently been released are listed with the state released. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the returned nextToken value. This value can be between 5 and 500. If maxResults is given a larger value than 500, you receive an error. You cannot specify this parameter and the host IDs parameter in the same request.", + "HostIds": "The IDs of the Dedicated Hosts. The IDs are used for targeted instance launches.", + "NextToken": "The token to use to retrieve the next page of results.", + "Filter": "The filters. auto-placement - Whether auto-placement is enabled or disabled (on | off). availability-zone - The Availability Zone of the host. client-token - The idempotency token that you provided when you allocated the host. host-reservation-id - The ID of the reservation assigned to this host. instance-type - The instance type size that the Dedicated Host is configured to support. state - The allocation state of the Dedicated Host (available | under-assessment | permanent-failure | released | released-permanent-failure). tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value. " +} +""" +DescribeHosts() = ec2("DescribeHosts") +DescribeHosts(args) = ec2("DescribeHosts", args) + +""" + AllocateHosts() + +Allocates a Dedicated Host to your account. At a minimum, specify the supported instance type or instance family, the Availability Zone in which to allocate the host, and the number of hosts to allocate. + +Required Parameters +{ + "AvailabilityZone": "The Availability Zone in which to allocate the Dedicated Host.", + "Quantity": "The number of Dedicated Hosts to allocate to your account with these parameters." +} + +Optional Parameters +{ + "InstanceFamily": "Specifies the instance family to be supported by the Dedicated Hosts. If you specify an instance family, the Dedicated Hosts support multiple instance types within that instance family. If you want the Dedicated Hosts to support a specific instance type only, omit this parameter and specify InstanceType instead. You cannot specify InstanceFamily and InstanceType in the same request.", + "AutoPlacement": "Indicates whether the host accepts any untargeted instance launches that match its instance type configuration, or if it only accepts Host tenancy instance launches that specify its unique host ID. For more information, see Understanding Instance Placement and Host Affinity in the Amazon EC2 User Guide for Linux Instances. Default: on ", + "InstanceType": "Specifies the instance type to be supported by the Dedicated Hosts. If you specify an instance type, the Dedicated Hosts support instances of the specified instance type only. If you want the Dedicated Hosts to support multiple instance types in a specific instance family, omit this parameter and specify InstanceFamily instead. You cannot specify InstanceType and InstanceFamily in the same request.", + "TagSpecifications": "The tags to apply to the Dedicated Host during creation.", + "ClientToken": "Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.", + "HostRecovery": "Indicates whether to enable or disable host recovery for the Dedicated Host. Host recovery is disabled by default. For more information, see Host Recovery in the Amazon Elastic Compute Cloud User Guide. Default: off " +} +""" +AllocateHosts(args) = ec2("AllocateHosts", args) + +""" + DescribeFleetInstances() + +Describes the running instances for the specified EC2 Fleet. + +Required Parameters +{ + "FleetId": "The ID of the EC2 Fleet." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return in a single call. Specify a value between 1 and 1000. The default value is 1000. To retrieve the remaining results, make another call with the returned NextToken value.", + "NextToken": "The token for the next set of results.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "Filters": "The filters. instance-type - The instance type. " +} +""" +DescribeFleetInstances(args) = ec2("DescribeFleetInstances", args) + +""" + CreateInternetGateway() + +Creates an internet gateway for use with a VPC. After creating the internet gateway, you attach it to a VPC using AttachInternetGateway. For more information about your VPC and internet gateway, see the Amazon Virtual Private Cloud User Guide. + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +CreateInternetGateway() = ec2("CreateInternetGateway") +CreateInternetGateway(args) = ec2("CreateInternetGateway", args) + +""" + DeleteFpgaImage() + +Deletes the specified Amazon FPGA Image (AFI). + +Required Parameters +{ + "FpgaImageId": "The ID of the AFI." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +DeleteFpgaImage(args) = ec2("DeleteFpgaImage", args) + +""" + DescribeReservedInstancesListings() + +Describes your account's Reserved Instance listings in the Reserved Instance Marketplace. The Reserved Instance Marketplace matches sellers who want to resell Reserved Instance capacity that they no longer need with buyers who want to purchase additional capacity. Reserved Instances bought and sold through the Reserved Instance Marketplace work like any other Reserved Instances. As a seller, you choose to list some or all of your Reserved Instances, and you specify the upfront price to receive for them. Your Reserved Instances are then listed in the Reserved Instance Marketplace and are available for purchase. As a buyer, you specify the configuration of the Reserved Instance to purchase, and the Marketplace matches what you're searching for with what's available. The Marketplace first sells the lowest priced Reserved Instances to you, and continues to sell available Reserved Instance listings to you until your demand is met. You are charged based on the total price of all of the listings that you purchase. For more information, see Reserved Instance Marketplace in the Amazon Elastic Compute Cloud User Guide. + +Optional Parameters +{ + "ReservedInstancesListingId": "One or more Reserved Instance listing IDs.", + "Filters": "One or more filters. reserved-instances-id - The ID of the Reserved Instances. reserved-instances-listing-id - The ID of the Reserved Instances listing. status - The status of the Reserved Instance listing (pending | active | cancelled | closed). status-message - The reason for the status. ", + "ReservedInstancesId": "One or more Reserved Instance IDs." +} +""" +DescribeReservedInstancesListings() = ec2("DescribeReservedInstancesListings") +DescribeReservedInstancesListings(args) = ec2("DescribeReservedInstancesListings", args) + +""" + ModifyCapacityReservation() + +Modifies a Capacity Reservation's capacity and the conditions under which it is to be released. You cannot change a Capacity Reservation's instance type, EBS optimization, instance store settings, platform, Availability Zone, or instance eligibility. If you need to modify any of these attributes, we recommend that you cancel the Capacity Reservation, and then create a new one with the required attributes. + +Required Parameters +{ + "CapacityReservationId": "The ID of the Capacity Reservation." +} + +Optional Parameters +{ + "EndDate": "The date and time at which the Capacity Reservation expires. When a Capacity Reservation expires, the reserved capacity is released and you can no longer launch instances into it. The Capacity Reservation's state changes to expired when it reaches its end date and time. The Capacity Reservation is cancelled within an hour from the specified time. For example, if you specify 5/31/2019, 13:30:55, the Capacity Reservation is guaranteed to end between 13:30:55 and 14:30:55 on 5/31/2019. You must provide an EndDate value if EndDateType is limited. Omit EndDate if EndDateType is unlimited.", + "EndDateType": "Indicates the way in which the Capacity Reservation ends. A Capacity Reservation can have one of the following end types: unlimited - The Capacity Reservation remains active until you explicitly cancel it. Do not provide an EndDate value if EndDateType is unlimited. limited - The Capacity Reservation expires automatically at a specified date and time. You must provide an EndDate value if EndDateType is limited. ", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "InstanceCount": "The number of instances for which to reserve capacity." +} +""" +ModifyCapacityReservation(args) = ec2("ModifyCapacityReservation", args) + +""" + AcceptReservedInstancesExchangeQuote() + +Accepts the Convertible Reserved Instance exchange quote described in the GetReservedInstancesExchangeQuote call. + +Required Parameters +{ + "ReservedInstanceIds": "The IDs of the Convertible Reserved Instances to exchange for another Convertible Reserved Instance of the same or higher value." +} + +Optional Parameters +{ + "TargetConfigurations": "The configuration of the target Convertible Reserved Instance to exchange for your current Convertible Reserved Instances.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +AcceptReservedInstancesExchangeQuote(args) = ec2("AcceptReservedInstancesExchangeQuote", args) + +""" + CreateLaunchTemplate() + +Creates a launch template. A launch template contains the parameters to launch an instance. When you launch an instance using RunInstances, you can specify a launch template instead of providing the launch parameters in the request. + +Required Parameters +{ + "LaunchTemplateData": "The information for the launch template.", + "LaunchTemplateName": "A name for the launch template." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "TagSpecifications": "The tags to apply to the launch template during creation.", + "ClientToken": "Unique, case-sensitive identifier you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency. Constraint: Maximum 128 ASCII characters.", + "VersionDescription": "A description for the first version of the launch template." +} +""" +CreateLaunchTemplate(args) = ec2("CreateLaunchTemplate", args) + +""" + TerminateInstances() + +Shuts down the specified instances. This operation is idempotent; if you terminate an instance more than once, each call succeeds. If you specify multiple instances and the request fails (for example, because of a single incorrect instance ID), none of the instances are terminated. Terminated instances remain visible after termination (for approximately one hour). By default, Amazon EC2 deletes all EBS volumes that were attached when the instance launched. Volumes attached after instance launch continue running. You can stop, start, and terminate EBS-backed instances. You can only terminate instance store-backed instances. What happens to an instance differs if you stop it or terminate it. For example, when you stop an instance, the root device and any other devices attached to the instance persist. When you terminate an instance, any attached EBS volumes with the DeleteOnTermination block device mapping parameter set to true are automatically deleted. For more information about the differences between stopping and terminating instances, see Instance Lifecycle in the Amazon Elastic Compute Cloud User Guide. For more information about troubleshooting, see Troubleshooting Terminating Your Instance in the Amazon Elastic Compute Cloud User Guide. + +Required Parameters +{ + "InstanceIds": "The IDs of the instances. Constraints: Up to 1000 instance IDs. We recommend breaking up this request into smaller batches." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +TerminateInstances(args) = ec2("TerminateInstances", args) + +""" + DescribeCapacityReservations() + +Describes one or more of your Capacity Reservations. The results describe only the Capacity Reservations in the AWS Region that you're currently using. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the returned nextToken value.", + "NextToken": "The token to retrieve the next page of results.", + "CapacityReservationIds": "The ID of the Capacity Reservation.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "Filters": "One or more filters. instance-type - The type of instance for which the Capacity Reservation reserves capacity. owner-id - The ID of the AWS account that owns the Capacity Reservation. availability-zone-id - The Availability Zone ID of the Capacity Reservation. instance-platform - The type of operating system for which the Capacity Reservation reserves capacity. availability-zone - The Availability Zone ID of the Capacity Reservation. tenancy - Indicates the tenancy of the Capacity Reservation. A Capacity Reservation can have one of the following tenancy settings: default - The Capacity Reservation is created on hardware that is shared with other AWS accounts. dedicated - The Capacity Reservation is created on single-tenant hardware that is dedicated to a single AWS account. state - The current state of the Capacity Reservation. A Capacity Reservation can be in one of the following states: active- The Capacity Reservation is active and the capacity is available for your use. expired - The Capacity Reservation expired automatically at the date and time specified in your request. The reserved capacity is no longer available for your use. cancelled - The Capacity Reservation was manually cancelled. The reserved capacity is no longer available for your use. pending - The Capacity Reservation request was successful but the capacity provisioning is still pending. failed - The Capacity Reservation request has failed. A request might fail due to invalid request parameters, capacity constraints, or instance limit constraints. Failed requests are retained for 60 minutes. end-date - The date and time at which the Capacity Reservation expires. When a Capacity Reservation expires, the reserved capacity is released and you can no longer launch instances into it. The Capacity Reservation's state changes to expired when it reaches its end date and time. end-date-type - Indicates the way in which the Capacity Reservation ends. A Capacity Reservation can have one of the following end types: unlimited - The Capacity Reservation remains active until you explicitly cancel it. limited - The Capacity Reservation expires automatically at a specified date and time. instance-match-criteria - Indicates the type of instance launches that the Capacity Reservation accepts. The options include: open - The Capacity Reservation accepts all instances that have matching attributes (instance type, platform, and Availability Zone). Instances that have matching attributes launch into the Capacity Reservation automatically without specifying any additional parameters. targeted - The Capacity Reservation only accepts instances that have matching attributes (instance type, platform, and Availability Zone), and explicitly target the Capacity Reservation. This ensures that only permitted instances can use the reserved capacity. " +} +""" +DescribeCapacityReservations() = ec2("DescribeCapacityReservations") +DescribeCapacityReservations(args) = ec2("DescribeCapacityReservations", args) + +""" + DescribeVpnConnections() + +Describes one or more of your VPN connections. For more information, see AWS Site-to-Site VPN in the AWS Site-to-Site VPN User Guide. + +Optional Parameters +{ + "VpnConnectionIds": "One or more VPN connection IDs. Default: Describes your VPN connections.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "Filters": "One or more filters. customer-gateway-configuration - The configuration information for the customer gateway. customer-gateway-id - The ID of a customer gateway associated with the VPN connection. state - The state of the VPN connection (pending | available | deleting | deleted). option.static-routes-only - Indicates whether the connection has static routes only. Used for devices that do not support Border Gateway Protocol (BGP). route.destination-cidr-block - The destination CIDR block. This corresponds to the subnet used in a customer data center. bgp-asn - The BGP Autonomous System Number (ASN) associated with a BGP device. tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value. tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value. type - The type of VPN connection. Currently the only supported type is ipsec.1. vpn-connection-id - The ID of the VPN connection. vpn-gateway-id - The ID of a virtual private gateway associated with the VPN connection. transit-gateway-id - The ID of a transit gateway associated with the VPN connection. " +} +""" +DescribeVpnConnections() = ec2("DescribeVpnConnections") +DescribeVpnConnections(args) = ec2("DescribeVpnConnections", args) + +""" + EnableVolumeIO() + +Enables I/O operations for a volume that had I/O operations disabled because the data on the volume was potentially inconsistent. + +Required Parameters +{ + "VolumeId": "The ID of the volume." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +EnableVolumeIO(args) = ec2("EnableVolumeIO", args) + +""" + DescribeMovingAddresses() + +Describes your Elastic IP addresses that are being moved to the EC2-VPC platform, or that are being restored to the EC2-Classic platform. This request does not return information about any other Elastic IP addresses in your account. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return for the request in a single page. The remaining results of the initial request can be seen by sending another request with the returned NextToken value. This value can be between 5 and 1000; if MaxResults is given a value outside of this range, an error is returned. Default: If no value is provided, the default is 1000.", + "NextToken": "The token for the next page of results.", + "PublicIps": "One or more Elastic IP addresses.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "Filters": "One or more filters. moving-status - The status of the Elastic IP address (MovingToVpc | RestoringToClassic). " +} +""" +DescribeMovingAddresses() = ec2("DescribeMovingAddresses") +DescribeMovingAddresses(args) = ec2("DescribeMovingAddresses", args) + +""" + CreateRouteTable() + +Creates a route table for the specified VPC. After you create a route table, you can add routes and associate the table with a subnet. For more information, see Route Tables in the Amazon Virtual Private Cloud User Guide. + +Required Parameters +{ + "VpcId": "The ID of the VPC." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +CreateRouteTable(args) = ec2("CreateRouteTable", args) + +""" + GetDefaultCreditSpecification() + +Describes the default credit option for CPU usage of a burstable performance instance family. For more information, see Burstable Performance Instances in the Amazon Elastic Compute Cloud User Guide. + +Required Parameters +{ + "InstanceFamily": "The instance family." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +GetDefaultCreditSpecification(args) = ec2("GetDefaultCreditSpecification", args) + +""" + UnmonitorInstances() + +Disables detailed monitoring for a running instance. For more information, see Monitoring Your Instances and Volumes in the Amazon Elastic Compute Cloud User Guide. + +Required Parameters +{ + "InstanceIds": "The IDs of the instances." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +UnmonitorInstances(args) = ec2("UnmonitorInstances", args) + +""" + GetCapacityReservationUsage() + +Gets usage information about a Capacity Reservation. If the Capacity Reservation is shared, it shows usage information for the Capacity Reservation owner and each AWS account that is currently using the shared capacity. If the Capacity Reservation is not shared, it shows only the Capacity Reservation owner's usage. + +Required Parameters +{ + "CapacityReservationId": "The ID of the Capacity Reservation." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the returned nextToken value. Valid range: Minimum value of 1. Maximum value of 1000.", + "NextToken": "The token to retrieve the next page of results.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +GetCapacityReservationUsage(args) = ec2("GetCapacityReservationUsage", args) + +""" + DeleteSubnet() + +Deletes the specified subnet. You must terminate all running instances in the subnet before you can delete the subnet. + +Required Parameters +{ + "SubnetId": "The ID of the subnet." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +DeleteSubnet(args) = ec2("DeleteSubnet", args) + +""" + DeleteVolume() + +Deletes the specified EBS volume. The volume must be in the available state (not attached to an instance). The volume can remain in the deleting state for several minutes. For more information, see Deleting an Amazon EBS Volume in the Amazon Elastic Compute Cloud User Guide. + +Required Parameters +{ + "VolumeId": "The ID of the volume." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +DeleteVolume(args) = ec2("DeleteVolume", args) + +""" + DescribeKeyPairs() + +Describes the specified key pairs or all of your key pairs. For more information about key pairs, see Key Pairs in the Amazon Elastic Compute Cloud User Guide. + +Optional Parameters +{ + "KeyNames": "The key pair names. Default: Describes all your key pairs.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "Filters": "The filters. fingerprint - The fingerprint of the key pair. key-name - The name of the key pair. ", + "KeyPairIds": "The IDs of the key pairs." +} +""" +DescribeKeyPairs() = ec2("DescribeKeyPairs") +DescribeKeyPairs(args) = ec2("DescribeKeyPairs", args) + +""" + CreateSecurityGroup() + +Creates a security group. A security group acts as a virtual firewall for your instance to control inbound and outbound traffic. For more information, see Amazon EC2 Security Groups in the Amazon Elastic Compute Cloud User Guide and Security Groups for Your VPC in the Amazon Virtual Private Cloud User Guide. When you create a security group, you specify a friendly name of your choice. You can have a security group for use in EC2-Classic with the same name as a security group for use in a VPC. However, you can't have two security groups for use in EC2-Classic with the same name or two security groups for use in a VPC with the same name. You have a default security group for use in EC2-Classic and a default security group for use in your VPC. If you don't specify a security group when you launch an instance, the instance is launched into the appropriate default security group. A default security group includes a default rule that grants instances unrestricted network access to each other. You can add or remove rules from your security groups using AuthorizeSecurityGroupIngress, AuthorizeSecurityGroupEgress, RevokeSecurityGroupIngress, and RevokeSecurityGroupEgress. For more information about VPC security group limits, see Amazon VPC Limits. + +Required Parameters +{ + "Description": "A description for the security group. This is informational only. Constraints: Up to 255 characters in length Constraints for EC2-Classic: ASCII characters Constraints for EC2-VPC: a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}! *", + "GroupName": "The name of the security group. Constraints: Up to 255 characters in length. Cannot start with sg-. Constraints for EC2-Classic: ASCII characters Constraints for EC2-VPC: a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}! *" +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "VpcId": "[EC2-VPC] The ID of the VPC. Required for EC2-VPC." +} +""" +CreateSecurityGroup(args) = ec2("CreateSecurityGroup", args) + +""" + RegisterTransitGatewayMulticastGroupMembers() + +Registers members (network interfaces) with the transit gateway multicast group. A member is a network interface associated with a supported EC2 instance that receives multicast traffic. For information about supported instances, see Multicast Consideration in Amazon VPC Transit Gateways. After you add the members, use SearchTransitGatewayMulticastGroups to verify that the members were added to the transit gateway multicast group. + +Optional Parameters +{ + "TransitGatewayMulticastDomainId": "The ID of the transit gateway multicast domain.", + "GroupIpAddress": "The IP address assigned to the transit gateway multicast group.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "NetworkInterfaceIds": "The group members' network interface IDs to register with the transit gateway multicast group." +} +""" +RegisterTransitGatewayMulticastGroupMembers() = ec2("RegisterTransitGatewayMulticastGroupMembers") +RegisterTransitGatewayMulticastGroupMembers(args) = ec2("RegisterTransitGatewayMulticastGroupMembers", args) + +""" + RevokeClientVpnIngress() + +Removes an ingress authorization rule from a Client VPN endpoint. + +Required Parameters +{ + "ClientVpnEndpointId": "The ID of the Client VPN endpoint with which the authorization rule is associated.", + "TargetNetworkCidr": "The IPv4 address range, in CIDR notation, of the network for which access is being removed." +} + +Optional Parameters +{ + "AccessGroupId": "The ID of the Active Directory group for which to revoke access. ", + "RevokeAllGroups": "Indicates whether access should be revoked for all clients.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +RevokeClientVpnIngress(args) = ec2("RevokeClientVpnIngress", args) + +""" + DescribeSpotFleetRequestHistory() + +Describes the events for the specified Spot Fleet request during the specified time. Spot Fleet events are delayed by up to 30 seconds before they can be described. This ensures that you can query by the last evaluated time and not miss a recorded event. Spot Fleet events are available for 48 hours. + +Required Parameters +{ + "StartTime": "The starting date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).", + "SpotFleetRequestId": "The ID of the Spot Fleet request." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return in a single call. Specify a value between 1 and 1000. The default value is 1000. To retrieve the remaining results, make another call with the returned NextToken value.", + "NextToken": "The token for the next set of results.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "EventType": "The type of events to describe. By default, all events are described." +} +""" +DescribeSpotFleetRequestHistory(args) = ec2("DescribeSpotFleetRequestHistory", args) + +""" + DescribeFastSnapshotRestores() + +Describes the state of fast snapshot restores for your snapshots. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.", + "NextToken": "The token for the next page of results.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "Filters": "The filters. The possible values are: availability-zone: The Availability Zone of the snapshot. owner-id: The ID of the AWS account that owns the snapshot. snapshot-id: The ID of the snapshot. state: The state of fast snapshot restores for the snapshot (enabling | optimizing | enabled | disabling | disabled). " +} +""" +DescribeFastSnapshotRestores() = ec2("DescribeFastSnapshotRestores") +DescribeFastSnapshotRestores(args) = ec2("DescribeFastSnapshotRestores", args) + +""" + ModifySpotFleetRequest() + +Modifies the specified Spot Fleet request. You can only modify a Spot Fleet request of type maintain. While the Spot Fleet request is being modified, it is in the modifying state. To scale up your Spot Fleet, increase its target capacity. The Spot Fleet launches the additional Spot Instances according to the allocation strategy for the Spot Fleet request. If the allocation strategy is lowestPrice, the Spot Fleet launches instances using the Spot Instance pool with the lowest price. If the allocation strategy is diversified, the Spot Fleet distributes the instances across the Spot Instance pools. If the allocation strategy is capacityOptimized, Spot Fleet launches instances from Spot Instance pools with optimal capacity for the number of instances that are launching. To scale down your Spot Fleet, decrease its target capacity. First, the Spot Fleet cancels any open requests that exceed the new target capacity. You can request that the Spot Fleet terminate Spot Instances until the size of the fleet no longer exceeds the new target capacity. If the allocation strategy is lowestPrice, the Spot Fleet terminates the instances with the highest price per unit. If the allocation strategy is capacityOptimized, the Spot Fleet terminates the instances in the Spot Instance pools that have the least available Spot Instance capacity. If the allocation strategy is diversified, the Spot Fleet terminates instances across the Spot Instance pools. Alternatively, you can request that the Spot Fleet keep the fleet at its current size, but not replace any Spot Instances that are interrupted or that you terminate manually. If you are finished with your Spot Fleet for now, but will use it again later, you can set the target capacity to 0. + +Required Parameters +{ + "SpotFleetRequestId": "The ID of the Spot Fleet request." +} + +Optional Parameters +{ + "ExcessCapacityTerminationPolicy": "Indicates whether running Spot Instances should be terminated if the target capacity of the Spot Fleet request is decreased below the current size of the Spot Fleet.", + "TargetCapacity": "The size of the fleet.", + "OnDemandTargetCapacity": "The number of On-Demand Instances in the fleet." +} +""" +ModifySpotFleetRequest(args) = ec2("ModifySpotFleetRequest", args) + +""" + ImportKeyPair() + +Imports the public key from an RSA key pair that you created with a third-party tool. Compare this with CreateKeyPair, in which AWS creates the key pair and gives the keys to you (AWS keeps a copy of the public key). With ImportKeyPair, you create the key pair and give AWS just the public key. The private key is never transferred between you and AWS. For more information about key pairs, see Key Pairs in the Amazon Elastic Compute Cloud User Guide. + +Required Parameters +{ + "PublicKeyMaterial": "The public key. For API calls, the text must be base64-encoded. For command line tools, base64 encoding is performed for you.", + "KeyName": "A unique name for the key pair." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +ImportKeyPair(args) = ec2("ImportKeyPair", args) + +""" + DisassociateAddress() + +Disassociates an Elastic IP address from the instance or network interface it's associated with. An Elastic IP address is for use in either the EC2-Classic platform or in a VPC. For more information, see Elastic IP Addresses in the Amazon Elastic Compute Cloud User Guide. This is an idempotent operation. If you perform the operation more than once, Amazon EC2 doesn't return an error. + +Optional Parameters +{ + "AssociationId": "[EC2-VPC] The association ID. Required for EC2-VPC.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "PublicIp": "[EC2-Classic] The Elastic IP address. Required for EC2-Classic." +} +""" +DisassociateAddress() = ec2("DisassociateAddress") +DisassociateAddress(args) = ec2("DisassociateAddress", args) + +""" + DescribeSecurityGroups() + +Describes the specified security groups or all of your security groups. A security group is for use with instances either in the EC2-Classic platform or in a specific VPC. For more information, see Amazon EC2 Security Groups in the Amazon Elastic Compute Cloud User Guide and Security Groups for Your VPC in the Amazon Virtual Private Cloud User Guide. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return in a single call. To retrieve the remaining results, make another request with the returned NextToken value. This value can be between 5 and 1000. If this parameter is not specified, then all results are returned.", + "NextToken": "The token to request the next page of results.", + "GroupNames": "[EC2-Classic and default VPC only] The names of the security groups. You can specify either the security group name or the security group ID. For security groups in a nondefault VPC, use the group-name filter to describe security groups by name. Default: Describes all your security groups.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "Filters": "The filters. If using multiple filters for rules, the results include security groups for which any combination of rules - not necessarily a single rule - match all filters. description - The description of the security group. egress.ip-permission.cidr - An IPv4 CIDR block for an outbound security group rule. egress.ip-permission.from-port - For an outbound rule, the start of port range for the TCP and UDP protocols, or an ICMP type number. egress.ip-permission.group-id - The ID of a security group that has been referenced in an outbound security group rule. egress.ip-permission.group-name - The name of a security group that has been referenced in an outbound security group rule. egress.ip-permission.ipv6-cidr - An IPv6 CIDR block for an outbound security group rule. egress.ip-permission.prefix-list-id - The ID (prefix) of the AWS service to which a security group rule allows outbound access. egress.ip-permission.protocol - The IP protocol for an outbound security group rule (tcp | udp | icmp or a protocol number). egress.ip-permission.to-port - For an outbound rule, the end of port range for the TCP and UDP protocols, or an ICMP code. egress.ip-permission.user-id - The ID of an AWS account that has been referenced in an outbound security group rule. group-id - The ID of the security group. group-name - The name of the security group. ip-permission.cidr - An IPv4 CIDR block for an inbound security group rule. ip-permission.from-port - For an inbound rule, the start of port range for the TCP and UDP protocols, or an ICMP type number. ip-permission.group-id - The ID of a security group that has been referenced in an inbound security group rule. ip-permission.group-name - The name of a security group that has been referenced in an inbound security group rule. ip-permission.ipv6-cidr - An IPv6 CIDR block for an inbound security group rule. ip-permission.prefix-list-id - The ID (prefix) of the AWS service from which a security group rule allows inbound access. ip-permission.protocol - The IP protocol for an inbound security group rule (tcp | udp | icmp or a protocol number). ip-permission.to-port - For an inbound rule, the end of port range for the TCP and UDP protocols, or an ICMP code. ip-permission.user-id - The ID of an AWS account that has been referenced in an inbound security group rule. owner-id - The AWS account ID of the owner of the security group. tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value. tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value. vpc-id - The ID of the VPC specified when the security group was created. ", + "GroupIds": "The IDs of the security groups. Required for security groups in a nondefault VPC. Default: Describes all your security groups." +} +""" +DescribeSecurityGroups() = ec2("DescribeSecurityGroups") +DescribeSecurityGroups(args) = ec2("DescribeSecurityGroups", args) + +""" + DisassociateRouteTable() + +Disassociates a subnet from a route table. After you perform this action, the subnet no longer uses the routes in the route table. Instead, it uses the routes in the VPC's main route table. For more information about route tables, see Route Tables in the Amazon Virtual Private Cloud User Guide. + +Required Parameters +{ + "AssociationId": "The association ID representing the current association between the route table and subnet." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +DisassociateRouteTable(args) = ec2("DisassociateRouteTable", args) + +""" + ConfirmProductInstance() + +Determines whether a product code is associated with an instance. This action can only be used by the owner of the product code. It is useful when a product code owner must verify whether another user's instance is eligible for support. + +Required Parameters +{ + "InstanceId": "The ID of the instance.", + "ProductCode": "The product code. This must be a product code that you own." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +ConfirmProductInstance(args) = ec2("ConfirmProductInstance", args) + +""" + AssociateTransitGatewayMulticastDomain() + +Associates the specified subnets and transit gateway attachments with the specified transit gateway multicast domain. The transit gateway attachment must be in the available state before you can add a resource. Use DescribeTransitGatewayAttachments to see the state of the attachment. + +Optional Parameters +{ + "TransitGatewayMulticastDomainId": "The ID of the transit gateway multicast domain.", + "TransitGatewayAttachmentId": "The ID of the transit gateway attachment to associate with the transit gateway multicast domain.", + "SubnetIds": "The IDs of the subnets to associate with the transit gateway multicast domain.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +AssociateTransitGatewayMulticastDomain() = ec2("AssociateTransitGatewayMulticastDomain") +AssociateTransitGatewayMulticastDomain(args) = ec2("AssociateTransitGatewayMulticastDomain", args) + +""" + DescribeInstanceAttribute() + +Describes the specified attribute of the specified instance. You can specify only one attribute at a time. Valid attribute values are: instanceType | kernel | ramdisk | userData | disableApiTermination | instanceInitiatedShutdownBehavior | rootDeviceName | blockDeviceMapping | productCodes | sourceDestCheck | groupSet | ebsOptimized | sriovNetSupport + +Required Parameters +{ + "InstanceId": "The ID of the instance.", + "Attribute": "The instance attribute. Note: The enaSupport attribute is not supported at this time." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +DescribeInstanceAttribute(args) = ec2("DescribeInstanceAttribute", args) + +""" + ModifySnapshotAttribute() + +Adds or removes permission settings for the specified snapshot. You may add or remove specified AWS account IDs from a snapshot's list of create volume permissions, but you cannot do both in a single operation. If you need to both add and remove account IDs for a snapshot, you must use multiple operations. You can make up to 500 modifications to a snapshot in a single operation. Encrypted snapshots and snapshots with AWS Marketplace product codes cannot be made public. Snapshots encrypted with your default CMK cannot be shared with other accounts. For more information about modifying snapshot permissions, see Sharing Snapshots in the Amazon Elastic Compute Cloud User Guide. + +Required Parameters +{ + "SnapshotId": "The ID of the snapshot." +} + +Optional Parameters +{ + "GroupNames": "The group to modify for the snapshot.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "Attribute": "The snapshot attribute to modify. Only volume creation permissions can be modified.", + "OperationType": "The type of operation to perform to the attribute.", + "UserIds": "The account ID to modify for the snapshot.", + "CreateVolumePermission": "A JSON representation of the snapshot attribute modification." +} +""" +ModifySnapshotAttribute(args) = ec2("ModifySnapshotAttribute", args) + +""" + AssignPrivateIpAddresses() + +Assigns one or more secondary private IP addresses to the specified network interface. You can specify one or more specific secondary IP addresses, or you can specify the number of secondary IP addresses to be automatically assigned within the subnet's CIDR block range. The number of secondary IP addresses that you can assign to an instance varies by instance type. For information about instance types, see Instance Types in the Amazon Elastic Compute Cloud User Guide. For more information about Elastic IP addresses, see Elastic IP Addresses in the Amazon Elastic Compute Cloud User Guide. When you move a secondary private IP address to another network interface, any Elastic IP address that is associated with the IP address is also moved. Remapping an IP address is an asynchronous operation. When you move an IP address from one network interface to another, check network/interfaces/macs/mac/local-ipv4s in the instance metadata to confirm that the remapping is complete. You must specify either the IP addresses or the IP address count in the request. + +Required Parameters +{ + "NetworkInterfaceId": "The ID of the network interface." +} + +Optional Parameters +{ + "AllowReassignment": "Indicates whether to allow an IP address that is already assigned to another network interface or instance to be reassigned to the specified network interface.", + "SecondaryPrivateIpAddressCount": "The number of secondary IP addresses to assign to the network interface. You can't specify this parameter when also specifying private IP addresses.", + "PrivateIpAddresses": "One or more IP addresses to be assigned as a secondary private IP address to the network interface. You can't specify this parameter when also specifying a number of secondary IP addresses. If you don't specify an IP address, Amazon EC2 automatically selects an IP address within the subnet range." +} +""" +AssignPrivateIpAddresses(args) = ec2("AssignPrivateIpAddresses", args) + +""" + DescribeNetworkAcls() + +Describes one or more of your network ACLs. For more information, see Network ACLs in the Amazon Virtual Private Cloud User Guide. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.", + "NextToken": "The token for the next page of results.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "NetworkAclIds": "One or more network ACL IDs. Default: Describes all your network ACLs.", + "Filters": "One or more filters. association.association-id - The ID of an association ID for the ACL. association.network-acl-id - The ID of the network ACL involved in the association. association.subnet-id - The ID of the subnet involved in the association. default - Indicates whether the ACL is the default network ACL for the VPC. entry.cidr - The IPv4 CIDR range specified in the entry. entry.icmp.code - The ICMP code specified in the entry, if any. entry.icmp.type - The ICMP type specified in the entry, if any. entry.ipv6-cidr - The IPv6 CIDR range specified in the entry. entry.port-range.from - The start of the port range specified in the entry. entry.port-range.to - The end of the port range specified in the entry. entry.protocol - The protocol specified in the entry (tcp | udp | icmp or a protocol number). entry.rule-action - Allows or denies the matching traffic (allow | deny). entry.rule-number - The number of an entry (in other words, rule) in the set of ACL entries. network-acl-id - The ID of the network ACL. owner-id - The ID of the AWS account that owns the network ACL. tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value. tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value. vpc-id - The ID of the VPC for the network ACL. " +} +""" +DescribeNetworkAcls() = ec2("DescribeNetworkAcls") +DescribeNetworkAcls(args) = ec2("DescribeNetworkAcls", args) + +""" + DescribeVpcEndpointConnections() + +Describes the VPC endpoint connections to your VPC endpoint services, including any endpoints that are pending your acceptance. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return for the request in a single page. The remaining results of the initial request can be seen by sending another request with the returned NextToken value. This value can be between 5 and 1,000; if MaxResults is given a value larger than 1,000, only 1,000 results are returned.", + "NextToken": "The token to retrieve the next page of results.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "Filters": "One or more filters. service-id - The ID of the service. vpc-endpoint-owner - The AWS account number of the owner of the endpoint. vpc-endpoint-state - The state of the endpoint (pendingAcceptance | pending | available | deleting | deleted | rejected | failed). vpc-endpoint-id - The ID of the endpoint. " +} +""" +DescribeVpcEndpointConnections() = ec2("DescribeVpcEndpointConnections") +DescribeVpcEndpointConnections(args) = ec2("DescribeVpcEndpointConnections", args) + +""" + ModifyTrafficMirrorFilterNetworkServices() + +Allows or restricts mirroring network services. By default, Amazon DNS network services are not eligible for Traffic Mirror. Use AddNetworkServices to add network services to a Traffic Mirror filter. When a network service is added to the Traffic Mirror filter, all traffic related to that network service will be mirrored. When you no longer want to mirror network services, use RemoveNetworkServices to remove the network services from the Traffic Mirror filter. For information about filter rule properties, see Network Services in the Traffic Mirroring User Guide . + +Required Parameters +{ + "TrafficMirrorFilterId": "The ID of the Traffic Mirror filter." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "AddNetworkServices": "The network service, for example Amazon DNS, that you want to mirror.", + "RemoveNetworkServices": "The network service, for example Amazon DNS, that you no longer want to mirror." +} +""" +ModifyTrafficMirrorFilterNetworkServices(args) = ec2("ModifyTrafficMirrorFilterNetworkServices", args) + +""" + DescribeVpcEndpoints() + +Describes one or more of your VPC endpoints. + +Optional Parameters +{ + "MaxResults": "The maximum number of items to return for this request. The request returns a token that you can specify in a subsequent call to get the next set of results. Constraint: If the value is greater than 1,000, we return only 1,000 items.", + "NextToken": "The token for the next set of items to return. (You received this token from a prior call.)", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "Filters": "One or more filters. service-name - The name of the service. vpc-id - The ID of the VPC in which the endpoint resides. vpc-endpoint-id - The ID of the endpoint. vpc-endpoint-state - The state of the endpoint (pendingAcceptance | pending | available | deleting | deleted | rejected | failed). tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value. tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value. ", + "VpcEndpointIds": "One or more endpoint IDs." +} +""" +DescribeVpcEndpoints() = ec2("DescribeVpcEndpoints") +DescribeVpcEndpoints(args) = ec2("DescribeVpcEndpoints", args) + +""" + AttachClassicLinkVpc() + +Links an EC2-Classic instance to a ClassicLink-enabled VPC through one or more of the VPC's security groups. You cannot link an EC2-Classic instance to more than one VPC at a time. You can only link an instance that's in the running state. An instance is automatically unlinked from a VPC when it's stopped - you can link it to the VPC again when you restart it. After you've linked an instance, you cannot change the VPC security groups that are associated with it. To change the security groups, you must first unlink the instance, and then link it again. Linking your instance to a VPC is sometimes referred to as attaching your instance. + +Required Parameters +{ + "InstanceId": "The ID of an EC2-Classic instance to link to the ClassicLink-enabled VPC.", + "VpcId": "The ID of a ClassicLink-enabled VPC.", + "Groups": "The ID of one or more of the VPC's security groups. You cannot specify security groups from a different VPC." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +AttachClassicLinkVpc(args) = ec2("AttachClassicLinkVpc", args) + +""" + DisableEbsEncryptionByDefault() + +Disables EBS encryption by default for your account in the current Region. After you disable encryption by default, you can still create encrypted volumes by enabling encryption when you create each volume. Disabling encryption by default does not change the encryption status of your existing volumes. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide. + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +DisableEbsEncryptionByDefault() = ec2("DisableEbsEncryptionByDefault") +DisableEbsEncryptionByDefault(args) = ec2("DisableEbsEncryptionByDefault", args) + +""" + AssociateVpcCidrBlock() + +Associates a CIDR block with your VPC. You can associate a secondary IPv4 CIDR block, an Amazon-provided IPv6 CIDR block, or an IPv6 CIDR block from an IPv6 address pool that you provisioned through bring your own IP addresses (BYOIP). The IPv6 CIDR block size is fixed at /56. You must specify one of the following in the request: an IPv4 CIDR block, an IPv6 pool, or an Amazon-provided IPv6 CIDR block. For more information about associating CIDR blocks with your VPC and applicable restrictions, see VPC and Subnet Sizing in the Amazon Virtual Private Cloud User Guide. + +Required Parameters +{ + "VpcId": "The ID of the VPC." +} + +Optional Parameters +{ + "Ipv6Pool": "The ID of an IPv6 address pool from which to allocate the IPv6 CIDR block.", + "CidrBlock": "An IPv4 CIDR block to associate with the VPC.", + "AmazonProvidedIpv6CidrBlock": "Requests an Amazon-provided IPv6 CIDR block with a /56 prefix length for the VPC. You cannot specify the range of IPv6 addresses, or the size of the CIDR block.", + "Ipv6CidrBlockNetworkBorderGroup": "The name of the location from which we advertise the IPV6 CIDR block. Use this parameter to limit the CiDR block to this location. You must set AmazonProvidedIpv6CidrBlock to true to use this parameter. You can have one IPv6 CIDR block association per network border group.", + "Ipv6CidrBlock": "An IPv6 CIDR block from the IPv6 address pool. You must also specify Ipv6Pool in the request. To let Amazon choose the IPv6 CIDR block for you, omit this parameter." +} +""" +AssociateVpcCidrBlock(args) = ec2("AssociateVpcCidrBlock", args) + +""" + DescribeNetworkInterfacePermissions() + +Describes the permissions for your network interfaces. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned NextToken value. If this parameter is not specified, up to 50 results are returned by default.", + "NextToken": "The token to request the next page of results.", + "NetworkInterfacePermissionIds": "One or more network interface permission IDs.", + "Filters": "One or more filters. network-interface-permission.network-interface-permission-id - The ID of the permission. network-interface-permission.network-interface-id - The ID of the network interface. network-interface-permission.aws-account-id - The AWS account ID. network-interface-permission.aws-service - The AWS service. network-interface-permission.permission - The type of permission (INSTANCE-ATTACH | EIP-ASSOCIATE). " +} +""" +DescribeNetworkInterfacePermissions() = ec2("DescribeNetworkInterfacePermissions") +DescribeNetworkInterfacePermissions(args) = ec2("DescribeNetworkInterfacePermissions", args) + +""" + TerminateClientVpnConnections() + +Terminates active Client VPN endpoint connections. This action can be used to terminate a specific client connection, or up to five connections established by a specific user. + +Required Parameters +{ + "ClientVpnEndpointId": "The ID of the Client VPN endpoint to which the client is connected." +} + +Optional Parameters +{ + "ConnectionId": "The ID of the client connection to be terminated.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "Username": "The name of the user who initiated the connection. Use this option to terminate all active connections for the specified user. This option can only be used if the user has established up to five connections." +} +""" +TerminateClientVpnConnections(args) = ec2("TerminateClientVpnConnections", args) + +""" + ReleaseAddress() + +Releases the specified Elastic IP address. [EC2-Classic, default VPC] Releasing an Elastic IP address automatically disassociates it from any instance that it's associated with. To disassociate an Elastic IP address without releasing it, use DisassociateAddress. [Nondefault VPC] You must use DisassociateAddress to disassociate the Elastic IP address before you can release it. Otherwise, Amazon EC2 returns an error (InvalidIPAddress.InUse). After releasing an Elastic IP address, it is released to the IP address pool. Be sure to update your DNS records and any servers or devices that communicate with the address. If you attempt to release an Elastic IP address that you already released, you'll get an AuthFailure error if the address is already allocated to another AWS account. [EC2-VPC] After you release an Elastic IP address for use in a VPC, you might be able to recover it. For more information, see AllocateAddress. + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "AllocationId": "[EC2-VPC] The allocation ID. Required for EC2-VPC.", + "PublicIp": "[EC2-Classic] The Elastic IP address. Required for EC2-Classic.", + "NetworkBorderGroup": "The location that the IP address is released from. If you provide an incorrect network border group, you will receive an InvalidAddress.NotFound error. For more information, see Error Codes. You cannot use a network border group with EC2 Classic. If you attempt this operation on EC2 classic, you will receive an InvalidParameterCombination error. For more information, see Error Codes. " +} +""" +ReleaseAddress() = ec2("ReleaseAddress") +ReleaseAddress(args) = ec2("ReleaseAddress", args) + +""" + CreateRoute() + +Creates a route in a route table within a VPC. You must specify one of the following targets: internet gateway or virtual private gateway, NAT instance, NAT gateway, VPC peering connection, network interface, egress-only internet gateway, or transit gateway. When determining how to route traffic, we use the route with the most specific match. For example, traffic is destined for the IPv4 address 192.0.2.3, and the route table includes the following two IPv4 routes: 192.0.2.0/24 (goes to some target A) 192.0.2.0/28 (goes to some target B) Both routes apply to the traffic destined for 192.0.2.3. However, the second route in the list covers a smaller number of IP addresses and is therefore more specific, so we use that route to determine where to target the traffic. For more information about route tables, see Route Tables in the Amazon Virtual Private Cloud User Guide. + +Required Parameters +{ + "RouteTableId": "The ID of the route table for the route." +} + +Optional Parameters +{ + "DestinationIpv6CidrBlock": "The IPv6 CIDR block used for the destination match. Routing decisions are based on the most specific match.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "EgressOnlyInternetGatewayId": "[IPv6 traffic only] The ID of an egress-only internet gateway.", + "TransitGatewayId": "The ID of a transit gateway.", + "InstanceId": "The ID of a NAT instance in your VPC. The operation fails if you specify an instance ID unless exactly one network interface is attached.", + "LocalGatewayId": "The ID of the local gateway.", + "NatGatewayId": "[IPv4 traffic only] The ID of a NAT gateway.", + "DestinationCidrBlock": "The IPv4 CIDR address block used for the destination match. Routing decisions are based on the most specific match.", + "VpcPeeringConnectionId": "The ID of a VPC peering connection.", + "NetworkInterfaceId": "The ID of a network interface.", + "GatewayId": "The ID of an internet gateway or virtual private gateway attached to your VPC." +} +""" +CreateRoute(args) = ec2("CreateRoute", args) + +""" + DeleteQueuedReservedInstances() + +Deletes the queued purchases for the specified Reserved Instances. + +Required Parameters +{ + "ReservedInstancesIds": "The IDs of the Reserved Instances." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +DeleteQueuedReservedInstances(args) = ec2("DeleteQueuedReservedInstances", args) + +""" + DescribeVpcEndpointServiceConfigurations() + +Describes the VPC endpoint service configurations in your account (your services). + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return for the request in a single page. The remaining results of the initial request can be seen by sending another request with the returned NextToken value. This value can be between 5 and 1,000; if MaxResults is given a value larger than 1,000, only 1,000 results are returned.", + "ServiceIds": "The IDs of one or more services.", + "NextToken": "The token to retrieve the next page of results.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "Filters": "One or more filters. service-name - The name of the service. service-id - The ID of the service. service-state - The state of the service (Pending | Available | Deleting | Deleted | Failed). tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value. tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value. " +} +""" +DescribeVpcEndpointServiceConfigurations() = ec2("DescribeVpcEndpointServiceConfigurations") +DescribeVpcEndpointServiceConfigurations(args) = ec2("DescribeVpcEndpointServiceConfigurations", args) + +""" + CancelImportTask() + +Cancels an in-process import virtual machine or import snapshot task. + +Optional Parameters +{ + "CancelReason": "The reason for canceling the task.", + "ImportTaskId": "The ID of the import image or import snapshot task to be canceled.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +CancelImportTask() = ec2("CancelImportTask") +CancelImportTask(args) = ec2("CancelImportTask", args) + +""" + MoveAddressToVpc() + +Moves an Elastic IP address from the EC2-Classic platform to the EC2-VPC platform. The Elastic IP address must be allocated to your account for more than 24 hours, and it must not be associated with an instance. After the Elastic IP address is moved, it is no longer available for use in the EC2-Classic platform, unless you move it back using the RestoreAddressToClassic request. You cannot move an Elastic IP address that was originally allocated for use in the EC2-VPC platform to the EC2-Classic platform. + +Required Parameters +{ + "PublicIp": "The Elastic IP address." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +MoveAddressToVpc(args) = ec2("MoveAddressToVpc", args) + +""" + DescribeSpotPriceHistory() + +Describes the Spot price history. For more information, see Spot Instance Pricing History in the Amazon EC2 User Guide for Linux Instances. When you specify a start and end time, this operation returns the prices of the instance types within the time range that you specified and the time when the price changed. The price is valid within the time period that you specified; the response merely indicates the last time that the price changed. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return in a single call. Specify a value between 1 and 1000. The default value is 1000. To retrieve the remaining results, make another call with the returned NextToken value.", + "StartTime": "The date and time, up to the past 90 days, from which to start retrieving the price history data, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).", + "NextToken": "The token for the next set of results.", + "EndTime": "The date and time, up to the current date, from which to stop retrieving the price history data, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).", + "AvailabilityZone": "Filters the results by the specified Availability Zone.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "InstanceTypes": "Filters the results by the specified instance types.", + "ProductDescriptions": "Filters the results by the specified basic product descriptions.", + "Filters": "One or more filters. availability-zone - The Availability Zone for which prices should be returned. instance-type - The type of instance (for example, m3.medium). product-description - The product description for the Spot price (Linux/UNIX | SUSE Linux | Windows | Linux/UNIX (Amazon VPC) | SUSE Linux (Amazon VPC) | Windows (Amazon VPC)). spot-price - The Spot price. The value must match exactly (or use wildcards; greater than or less than comparison is not supported). timestamp - The time stamp of the Spot price history, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ). You can use wildcards (* and ?). Greater than or less than comparison is not supported. " +} +""" +DescribeSpotPriceHistory() = ec2("DescribeSpotPriceHistory") +DescribeSpotPriceHistory(args) = ec2("DescribeSpotPriceHistory", args) + +""" + DisassociateVpcCidrBlock() + +Disassociates a CIDR block from a VPC. To disassociate the CIDR block, you must specify its association ID. You can get the association ID by using DescribeVpcs. You must detach or delete all gateways and resources that are associated with the CIDR block before you can disassociate it. You cannot disassociate the CIDR block with which you originally created the VPC (the primary CIDR block). + +Required Parameters +{ + "AssociationId": "The association ID for the CIDR block." +} +""" +DisassociateVpcCidrBlock(args) = ec2("DisassociateVpcCidrBlock", args) + +""" + ResetEbsDefaultKmsKeyId() + +Resets the default customer master key (CMK) for EBS encryption for your account in this Region to the AWS managed CMK for EBS. After resetting the default CMK to the AWS managed CMK, you can continue to encrypt by a customer managed CMK by specifying it when you create the volume. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide. + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +ResetEbsDefaultKmsKeyId() = ec2("ResetEbsDefaultKmsKeyId") +ResetEbsDefaultKmsKeyId(args) = ec2("ResetEbsDefaultKmsKeyId", args) + +""" + DeleteTransitGatewayVpcAttachment() + +Deletes the specified VPC attachment. + +Required Parameters +{ + "TransitGatewayAttachmentId": "The ID of the attachment." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +DeleteTransitGatewayVpcAttachment(args) = ec2("DeleteTransitGatewayVpcAttachment", args) + +""" + DeregisterImage() + +Deregisters the specified AMI. After you deregister an AMI, it can't be used to launch new instances; however, it doesn't affect any instances that you've already launched from the AMI. You'll continue to incur usage costs for those instances until you terminate them. When you deregister an Amazon EBS-backed AMI, it doesn't affect the snapshot that was created for the root volume of the instance during the AMI creation process. When you deregister an instance store-backed AMI, it doesn't affect the files that you uploaded to Amazon S3 when you created the AMI. + +Required Parameters +{ + "ImageId": "The ID of the AMI." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +DeregisterImage(args) = ec2("DeregisterImage", args) + +""" + DescribeCoipPools() + +Describes the specified customer-owned address pools or all of your customer-owned address pools. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.", + "NextToken": "The token for the next page of results.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "Filters": "The filters. The following are the possible values: coip-pool.pool-id coip-pool.local-gateway-route-table-id ", + "PoolIds": "The IDs of the address pools." +} +""" +DescribeCoipPools() = ec2("DescribeCoipPools") +DescribeCoipPools(args) = ec2("DescribeCoipPools", args) + +""" + DescribeClassicLinkInstances() + +Describes one or more of your linked EC2-Classic instances. This request only returns information about EC2-Classic instances linked to a VPC through ClassicLink. You cannot use this request to return information about other instances. + +Optional Parameters +{ + "InstanceIds": "One or more instance IDs. Must be instances linked to a VPC through ClassicLink.", + "MaxResults": "The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value. Constraint: If the value is greater than 1000, we return only 1000 items.", + "NextToken": "The token for the next page of results.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "Filters": "One or more filters. group-id - The ID of a VPC security group that's associated with the instance. instance-id - The ID of the instance. tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value. tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value. vpc-id - The ID of the VPC to which the instance is linked. vpc-id - The ID of the VPC that the instance is linked to. " +} +""" +DescribeClassicLinkInstances() = ec2("DescribeClassicLinkInstances") +DescribeClassicLinkInstances(args) = ec2("DescribeClassicLinkInstances", args) + +""" + DescribeDhcpOptions() + +Describes one or more of your DHCP options sets. For more information, see DHCP Options Sets in the Amazon Virtual Private Cloud User Guide. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.", + "NextToken": "The token for the next page of results.", + "DhcpOptionsIds": "The IDs of one or more DHCP options sets. Default: Describes all your DHCP options sets.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "Filters": "One or more filters. dhcp-options-id - The ID of a DHCP options set. key - The key for one of the options (for example, domain-name). value - The value for one of the options. owner-id - The ID of the AWS account that owns the DHCP options set. tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value. tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value. " +} +""" +DescribeDhcpOptions() = ec2("DescribeDhcpOptions") +DescribeDhcpOptions(args) = ec2("DescribeDhcpOptions", args) + +""" + DescribeReservedInstancesOfferings() + +Describes Reserved Instance offerings that are available for purchase. With Reserved Instances, you purchase the right to launch instances for a period of time. During that time period, you do not receive insufficient capacity errors, and you pay a lower usage rate than the rate charged for On-Demand instances for the actual time used. If you have listed your own Reserved Instances for sale in the Reserved Instance Marketplace, they will be excluded from these results. This is to ensure that you do not purchase your own Reserved Instances. For more information, see Reserved Instance Marketplace in the Amazon Elastic Compute Cloud User Guide. + +Optional Parameters +{ + "MaxInstanceCount": "The maximum number of instances to filter when searching for offerings. Default: 20", + "InstanceTenancy": "The tenancy of the instances covered by the reservation. A Reserved Instance with a tenancy of dedicated is applied to instances that run in a VPC on single-tenant hardware (i.e., Dedicated Instances). Important: The host value cannot be used with this parameter. Use the default or dedicated values only. Default: default ", + "ProductDescription": "The Reserved Instance product platform description. Instances that include (Amazon VPC) in the description are for use with Amazon VPC.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "InstanceType": "The instance type that the reservation will cover (for example, m1.small). For more information, see Instance Types in the Amazon Elastic Compute Cloud User Guide.", + "IncludeMarketplace": "Include Reserved Instance Marketplace offerings in the response.", + "OfferingType": "The Reserved Instance offering type. If you are using tools that predate the 2011-11-01 API version, you only have access to the Medium Utilization Reserved Instance offering type. ", + "MaxResults": "The maximum number of results to return for the request in a single page. The remaining results of the initial request can be seen by sending another request with the returned NextToken value. The maximum is 100. Default: 100", + "MaxDuration": "The maximum duration (in seconds) to filter when searching for offerings. Default: 94608000 (3 years)", + "OfferingClass": "The offering class of the Reserved Instance. Can be standard or convertible.", + "MinDuration": "The minimum duration (in seconds) to filter when searching for offerings. Default: 2592000 (1 month)", + "ReservedInstancesOfferingIds": "One or more Reserved Instances offering IDs.", + "NextToken": "The token to retrieve the next page of results.", + "AvailabilityZone": "The Availability Zone in which the Reserved Instance can be used.", + "Filters": "One or more filters. availability-zone - The Availability Zone where the Reserved Instance can be used. duration - The duration of the Reserved Instance (for example, one year or three years), in seconds (31536000 | 94608000). fixed-price - The purchase price of the Reserved Instance (for example, 9800.0). instance-type - The instance type that is covered by the reservation. marketplace - Set to true to show only Reserved Instance Marketplace offerings. When this filter is not used, which is the default behavior, all offerings from both AWS and the Reserved Instance Marketplace are listed. product-description - The Reserved Instance product platform description. Instances that include (Amazon VPC) in the product platform description will only be displayed to EC2-Classic account holders and are for use with Amazon VPC. (Linux/UNIX | Linux/UNIX (Amazon VPC) | SUSE Linux | SUSE Linux (Amazon VPC) | Red Hat Enterprise Linux | Red Hat Enterprise Linux (Amazon VPC) | Windows | Windows (Amazon VPC) | Windows with SQL Server Standard | Windows with SQL Server Standard (Amazon VPC) | Windows with SQL Server Web | Windows with SQL Server Web (Amazon VPC) | Windows with SQL Server Enterprise | Windows with SQL Server Enterprise (Amazon VPC)) reserved-instances-offering-id - The Reserved Instances offering ID. scope - The scope of the Reserved Instance (Availability Zone or Region). usage-price - The usage price of the Reserved Instance, per hour (for example, 0.84). " +} +""" +DescribeReservedInstancesOfferings() = ec2("DescribeReservedInstancesOfferings") +DescribeReservedInstancesOfferings(args) = ec2("DescribeReservedInstancesOfferings", args) + +""" + EnableVgwRoutePropagation() + +Enables a virtual private gateway (VGW) to propagate routes to the specified route table of a VPC. + +Required Parameters +{ + "RouteTableId": "The ID of the route table. The routing table must be associated with the same VPC that the virtual private gateway is attached to. ", + "GatewayId": "The ID of the virtual private gateway that is attached to a VPC. The virtual private gateway must be attached to the same VPC that the routing tables are associated with. " +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +EnableVgwRoutePropagation(args) = ec2("EnableVgwRoutePropagation", args) + +""" + DeleteTransitGatewayMulticastDomain() + +Deletes the specified transit gateway multicast domain. + +Required Parameters +{ + "TransitGatewayMulticastDomainId": "The ID of the transit gateway multicast domain." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +DeleteTransitGatewayMulticastDomain(args) = ec2("DeleteTransitGatewayMulticastDomain", args) + +""" + ReplaceIamInstanceProfileAssociation() + +Replaces an IAM instance profile for the specified running instance. You can use this action to change the IAM instance profile that's associated with an instance without having to disassociate the existing IAM instance profile first. Use DescribeIamInstanceProfileAssociations to get the association ID. + +Required Parameters +{ + "AssociationId": "The ID of the existing IAM instance profile association.", + "IamInstanceProfile": "The IAM instance profile." +} +""" +ReplaceIamInstanceProfileAssociation(args) = ec2("ReplaceIamInstanceProfileAssociation", args) + +""" + DescribeSpotInstanceRequests() + +Describes the specified Spot Instance requests. You can use DescribeSpotInstanceRequests to find a running Spot Instance by examining the response. If the status of the Spot Instance is fulfilled, the instance ID appears in the response and contains the identifier of the instance. Alternatively, you can use DescribeInstances with a filter to look for instances where the instance lifecycle is spot. We recommend that you set MaxResults to a value between 5 and 1000 to limit the number of results returned. This paginates the output, which makes the list more manageable and returns the results faster. If the list of results exceeds your MaxResults value, then that number of results is returned along with a NextToken value that can be passed to a subsequent DescribeSpotInstanceRequests request to retrieve the remaining results. Spot Instance requests are deleted four hours after they are canceled and their instances are terminated. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return in a single call. Specify a value between 5 and 1000. To retrieve the remaining results, make another call with the returned NextToken value.", + "NextToken": "The token to request the next set of results. This value is null when there are no more results to return.", + "SpotInstanceRequestIds": "One or more Spot Instance request IDs.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "Filters": "One or more filters. availability-zone-group - The Availability Zone group. create-time - The time stamp when the Spot Instance request was created. fault-code - The fault code related to the request. fault-message - The fault message related to the request. instance-id - The ID of the instance that fulfilled the request. launch-group - The Spot Instance launch group. launch.block-device-mapping.delete-on-termination - Indicates whether the EBS volume is deleted on instance termination. launch.block-device-mapping.device-name - The device name for the volume in the block device mapping (for example, /dev/sdh or xvdh). launch.block-device-mapping.snapshot-id - The ID of the snapshot for the EBS volume. launch.block-device-mapping.volume-size - The size of the EBS volume, in GiB. launch.block-device-mapping.volume-type - The type of EBS volume: gp2 for General Purpose SSD, io1 for Provisioned IOPS SSD, st1 for Throughput Optimized HDD, sc1for Cold HDD, or standard for Magnetic. launch.group-id - The ID of the security group for the instance. launch.group-name - The name of the security group for the instance. launch.image-id - The ID of the AMI. launch.instance-type - The type of instance (for example, m3.medium). launch.kernel-id - The kernel ID. launch.key-name - The name of the key pair the instance launched with. launch.monitoring-enabled - Whether detailed monitoring is enabled for the Spot Instance. launch.ramdisk-id - The RAM disk ID. launched-availability-zone - The Availability Zone in which the request is launched. network-interface.addresses.primary - Indicates whether the IP address is the primary private IP address. network-interface.delete-on-termination - Indicates whether the network interface is deleted when the instance is terminated. network-interface.description - A description of the network interface. network-interface.device-index - The index of the device for the network interface attachment on the instance. network-interface.group-id - The ID of the security group associated with the network interface. network-interface.network-interface-id - The ID of the network interface. network-interface.private-ip-address - The primary private IP address of the network interface. network-interface.subnet-id - The ID of the subnet for the instance. product-description - The product description associated with the instance (Linux/UNIX | Windows). spot-instance-request-id - The Spot Instance request ID. spot-price - The maximum hourly price for any Spot Instance launched to fulfill the request. state - The state of the Spot Instance request (open | active | closed | cancelled | failed). Spot request status information can help you track your Amazon EC2 Spot Instance requests. For more information, see Spot Request Status in the Amazon EC2 User Guide for Linux Instances. status-code - The short code describing the most recent evaluation of your Spot Instance request. status-message - The message explaining the status of the Spot Instance request. tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value. tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value. type - The type of Spot Instance request (one-time | persistent). valid-from - The start date of the request. valid-until - The end date of the request. " +} +""" +DescribeSpotInstanceRequests() = ec2("DescribeSpotInstanceRequests") +DescribeSpotInstanceRequests(args) = ec2("DescribeSpotInstanceRequests", args) + +""" + DescribeVolumeStatus() + +Describes the status of the specified volumes. Volume status provides the result of the checks performed on your volumes to determine events that can impair the performance of your volumes. The performance of a volume can be affected if an issue occurs on the volume's underlying host. If the volume's underlying host experiences a power outage or system issue, after the system is restored, there could be data inconsistencies on the volume. Volume events notify you if this occurs. Volume actions notify you if any action needs to be taken in response to the event. The DescribeVolumeStatus operation provides the following information about the specified volumes: Status: Reflects the current status of the volume. The possible values are ok, impaired , warning, or insufficient-data. If all checks pass, the overall status of the volume is ok. If the check fails, the overall status is impaired. If the status is insufficient-data, then the checks may still be taking place on your volume at the time. We recommend that you retry the request. For more information about volume status, see Monitoring the Status of Your Volumes in the Amazon Elastic Compute Cloud User Guide. Events: Reflect the cause of a volume status and may require you to take action. For example, if your volume returns an impaired status, then the volume event might be potential-data-inconsistency. This means that your volume has been affected by an issue with the underlying host, has all I/O operations disabled, and may have inconsistent data. Actions: Reflect the actions you may have to take in response to an event. For example, if the status of the volume is impaired and the volume event shows potential-data-inconsistency, then the action shows enable-volume-io. This means that you may want to enable the I/O operations for the volume by calling the EnableVolumeIO action and then check the volume for data consistency. Volume status is based on the volume status checks, and does not reflect the volume state. Therefore, volume status does not indicate volumes in the error state (for example, when a volume is incapable of accepting I/O.) + +Optional Parameters +{ + "MaxResults": "The maximum number of volume results returned by DescribeVolumeStatus in paginated output. When this parameter is used, the request only returns MaxResults results in a single page along with a NextToken response element. The remaining results of the initial request can be seen by sending another request with the returned NextToken value. This value can be between 5 and 1000; if MaxResults is given a value larger than 1000, only 1000 results are returned. If this parameter is not used, then DescribeVolumeStatus returns all results. You cannot specify this parameter and the volume IDs parameter in the same request.", + "NextToken": "The NextToken value to include in a future DescribeVolumeStatus request. When the results of the request exceed MaxResults, this value can be used to retrieve the next page of results. This value is null when there are no more results to return.", + "VolumeIds": "The IDs of the volumes. Default: Describes all your volumes.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "Filters": "The filters. action.code - The action code for the event (for example, enable-volume-io). action.description - A description of the action. action.event-id - The event ID associated with the action. availability-zone - The Availability Zone of the instance. event.description - A description of the event. event.event-id - The event ID. event.event-type - The event type (for io-enabled: passed | failed; for io-performance: io-performance:degraded | io-performance:severely-degraded | io-performance:stalled). event.not-after - The latest end time for the event. event.not-before - The earliest start time for the event. volume-status.details-name - The cause for volume-status.status (io-enabled | io-performance). volume-status.details-status - The status of volume-status.details-name (for io-enabled: passed | failed; for io-performance: normal | degraded | severely-degraded | stalled). volume-status.status - The status of the volume (ok | impaired | warning | insufficient-data). " +} +""" +DescribeVolumeStatus() = ec2("DescribeVolumeStatus") +DescribeVolumeStatus(args) = ec2("DescribeVolumeStatus", args) + +""" + DeleteRouteTable() + +Deletes the specified route table. You must disassociate the route table from any subnets before you can delete it. You can't delete the main route table. + +Required Parameters +{ + "RouteTableId": "The ID of the route table." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +DeleteRouteTable(args) = ec2("DeleteRouteTable", args) + +""" + ModifyInstanceCapacityReservationAttributes() + +Modifies the Capacity Reservation settings for a stopped instance. Use this action to configure an instance to target a specific Capacity Reservation, run in any open Capacity Reservation with matching attributes, or run On-Demand Instance capacity. + +Required Parameters +{ + "CapacityReservationSpecification": "Information about the Capacity Reservation targeting option.", + "InstanceId": "The ID of the instance to be modified." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +ModifyInstanceCapacityReservationAttributes(args) = ec2("ModifyInstanceCapacityReservationAttributes", args) + +""" + DescribeExportTasks() + +Describes the specified export instance tasks or all your export instance tasks. + +Optional Parameters +{ + "ExportTaskIds": "The export task IDs.", + "Filters": "the filters for the export tasks." +} +""" +DescribeExportTasks() = ec2("DescribeExportTasks") +DescribeExportTasks(args) = ec2("DescribeExportTasks", args) + +""" + AttachVpnGateway() + +Attaches a virtual private gateway to a VPC. You can attach one virtual private gateway to one VPC at a time. For more information, see AWS Site-to-Site VPN in the AWS Site-to-Site VPN User Guide. + +Required Parameters +{ + "VpnGatewayId": "The ID of the virtual private gateway.", + "VpcId": "The ID of the VPC." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +AttachVpnGateway(args) = ec2("AttachVpnGateway", args) + +""" + DescribeFleetHistory() + +Describes the events for the specified EC2 Fleet during the specified time. EC2 Fleet events are delayed by up to 30 seconds before they can be described. This ensures that you can query by the last evaluated time and not miss a recorded event. EC2 Fleet events are available for 48 hours. + +Required Parameters +{ + "StartTime": "The start date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).", + "FleetId": "The ID of the EC2 Fleet." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return in a single call. Specify a value between 1 and 1000. The default value is 1000. To retrieve the remaining results, make another call with the returned NextToken value.", + "NextToken": "The token for the next set of results.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "EventType": "The type of events to describe. By default, all events are described." +} +""" +DescribeFleetHistory(args) = ec2("DescribeFleetHistory", args) + +""" + GetAssociatedIpv6PoolCidrs() + +Gets information about the IPv6 CIDR block associations for a specified IPv6 address pool. + +Required Parameters +{ + "PoolId": "The ID of the IPv6 address pool." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.", + "NextToken": "The token for the next page of results.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +GetAssociatedIpv6PoolCidrs(args) = ec2("GetAssociatedIpv6PoolCidrs", args) + +""" + DeleteTags() + +Deletes the specified set of tags from the specified set of resources. To list the current tags, use DescribeTags. For more information about tags, see Tagging Your Resources in the Amazon Elastic Compute Cloud User Guide. + +Required Parameters +{ + "Resources": "The IDs of the resources, separated by spaces. Constraints: Up to 1000 resource IDs. We recommend breaking up this request into smaller batches." +} + +Optional Parameters +{ + "Tags": "The tags to delete. Specify a tag key and an optional tag value to delete specific tags. If you specify a tag key without a tag value, we delete any tag with this key regardless of its value. If you specify a tag key with an empty string as the tag value, we delete the tag only if its value is an empty string. If you omit this parameter, we delete all user-defined tags for the specified resources. We do not delete AWS-generated tags (tags that have the aws: prefix).", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +DeleteTags(args) = ec2("DeleteTags", args) + +""" + CreateTags() + +Adds or overwrites the specified tags for the specified Amazon EC2 resource or resources. Each resource can have a maximum of 50 tags. Each tag consists of a key and optional value. Tag keys must be unique per resource. For more information about tags, see Tagging Your Resources in the Amazon Elastic Compute Cloud User Guide. For more information about creating IAM policies that control users' access to resources based on tags, see Supported Resource-Level Permissions for Amazon EC2 API Actions in the Amazon Elastic Compute Cloud User Guide. + +Required Parameters +{ + "Tags": "The tags. The value parameter is required, but if you don't want the tag to have a value, specify the parameter with no value, and we set the value to an empty string.", + "Resources": "The IDs of the resources, separated by spaces. Constraints: Up to 1000 resource IDs. We recommend breaking up this request into smaller batches." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +CreateTags(args) = ec2("CreateTags", args) + +""" + CreateFpgaImage() + +Creates an Amazon FPGA Image (AFI) from the specified design checkpoint (DCP). The create operation is asynchronous. To verify that the AFI is ready for use, check the output logs. An AFI contains the FPGA bitstream that is ready to download to an FPGA. You can securely deploy an AFI on multiple FPGA-accelerated instances. For more information, see the AWS FPGA Hardware Development Kit. + +Required Parameters +{ + "InputStorageLocation": "The location of the encrypted design checkpoint in Amazon S3. The input must be a tarball." +} + +Optional Parameters +{ + "LogsStorageLocation": "The location in Amazon S3 for the output logs.", + "Description": "A description for the AFI.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "TagSpecifications": "The tags to apply to the FPGA image during creation.", + "ClientToken": "Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.", + "Name": "A name for the AFI." +} +""" +CreateFpgaImage(args) = ec2("CreateFpgaImage", args) + +""" + CreateDefaultVpc() + +Creates a default VPC with a size /16 IPv4 CIDR block and a default subnet in each Availability Zone. For more information about the components of a default VPC, see Default VPC and Default Subnets in the Amazon Virtual Private Cloud User Guide. You cannot specify the components of the default VPC yourself. If you deleted your previous default VPC, you can create a default VPC. You cannot have more than one default VPC per Region. If your account supports EC2-Classic, you cannot use this action to create a default VPC in a Region that supports EC2-Classic. If you want a default VPC in a Region that supports EC2-Classic, see "I really want a default VPC for my existing EC2 account. Is that possible?" in the Default VPCs FAQ. + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +CreateDefaultVpc() = ec2("CreateDefaultVpc") +CreateDefaultVpc(args) = ec2("CreateDefaultVpc", args) + +""" + GetLaunchTemplateData() + +Retrieves the configuration data of the specified instance. You can use this data to create a launch template. + +Required Parameters +{ + "InstanceId": "The ID of the instance." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +GetLaunchTemplateData(args) = ec2("GetLaunchTemplateData", args) + +""" + DescribeImportImageTasks() + +Displays details about an import virtual machine or import snapshot tasks that are already created. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return in a single call.", + "NextToken": "A token that indicates the next page of results.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "ImportTaskIds": "The IDs of the import image tasks.", + "Filters": "Filter tasks using the task-state filter and one of the following values: active, completed, deleting, or deleted." +} +""" +DescribeImportImageTasks() = ec2("DescribeImportImageTasks") +DescribeImportImageTasks(args) = ec2("DescribeImportImageTasks", args) + +""" + ModifyReservedInstances() + +Modifies the Availability Zone, instance count, instance type, or network platform (EC2-Classic or EC2-VPC) of your Reserved Instances. The Reserved Instances to be modified must be identical, except for Availability Zone, network platform, and instance type. For more information, see Modifying Reserved Instances in the Amazon Elastic Compute Cloud User Guide. + +Required Parameters +{ + "TargetConfigurations": "The configuration settings for the Reserved Instances to modify.", + "ReservedInstancesIds": "The IDs of the Reserved Instances to modify." +} + +Optional Parameters +{ + "ClientToken": "A unique, case-sensitive token you provide to ensure idempotency of your modification request. For more information, see Ensuring Idempotency." +} +""" +ModifyReservedInstances(args) = ec2("ModifyReservedInstances", args) + +""" + DescribeHostReservationOfferings() + +Describes the Dedicated Host reservations that are available to purchase. The results describe all of the Dedicated Host reservation offerings, including offerings that might not match the instance family and Region of your Dedicated Hosts. When purchasing an offering, ensure that the instance family and Region of the offering matches that of the Dedicated Hosts with which it is to be associated. For more information about supported instance types, see Dedicated Hosts Overview in the Amazon Elastic Compute Cloud User Guide. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the returned nextToken value. This value can be between 5 and 500. If maxResults is given a larger value than 500, you receive an error.", + "MaxDuration": "This is the maximum duration of the reservation to purchase, specified in seconds. Reservations are available in one-year and three-year terms. The number of seconds specified must be the number of seconds in a year (365x24x60x60) times one of the supported durations (1 or 3). For example, specify 94608000 for three years.", + "MinDuration": "This is the minimum duration of the reservation you'd like to purchase, specified in seconds. Reservations are available in one-year and three-year terms. The number of seconds specified must be the number of seconds in a year (365x24x60x60) times one of the supported durations (1 or 3). For example, specify 31536000 for one year.", + "NextToken": "The token to use to retrieve the next page of results.", + "Filter": "The filters. instance-family - The instance family of the offering (for example, m4). payment-option - The payment option (NoUpfront | PartialUpfront | AllUpfront). ", + "OfferingId": "The ID of the reservation offering." +} +""" +DescribeHostReservationOfferings() = ec2("DescribeHostReservationOfferings") +DescribeHostReservationOfferings(args) = ec2("DescribeHostReservationOfferings", args) + +""" + PurchaseReservedInstancesOffering() + +Purchases a Reserved Instance for use with your account. With Reserved Instances, you pay a lower hourly rate compared to On-Demand instance pricing. Use DescribeReservedInstancesOfferings to get a list of Reserved Instance offerings that match your specifications. After you've purchased a Reserved Instance, you can check for your new Reserved Instance with DescribeReservedInstances. To queue a purchase for a future date and time, specify a purchase time. If you do not specify a purchase time, the default is the current time. For more information, see Reserved Instances and Reserved Instance Marketplace in the Amazon Elastic Compute Cloud User Guide. + +Required Parameters +{ + "ReservedInstancesOfferingId": "The ID of the Reserved Instance offering to purchase.", + "InstanceCount": "The number of Reserved Instances to purchase." +} + +Optional Parameters +{ + "PurchaseTime": "The time at which to purchase the Reserved Instance, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).", + "LimitPrice": "Specified for Reserved Instance Marketplace offerings to limit the total order and ensure that the Reserved Instances are not purchased at unexpected prices.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +PurchaseReservedInstancesOffering(args) = ec2("PurchaseReservedInstancesOffering", args) + +""" + ModifyInstanceCreditSpecification() + +Modifies the credit option for CPU usage on a running or stopped burstable performance instance. The credit options are standard and unlimited. For more information, see Burstable Performance Instances in the Amazon Elastic Compute Cloud User Guide. + +Required Parameters +{ + "InstanceCreditSpecifications": "Information about the credit option for CPU usage." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "ClientToken": "A unique, case-sensitive token that you provide to ensure idempotency of your modification request. For more information, see Ensuring Idempotency." +} +""" +ModifyInstanceCreditSpecification(args) = ec2("ModifyInstanceCreditSpecification", args) + +""" + GetTransitGatewayRouteTableAssociations() + +Gets information about the associations for the specified transit gateway route table. + +Required Parameters +{ + "TransitGatewayRouteTableId": "The ID of the transit gateway route table." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.", + "NextToken": "The token for the next page of results.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "Filters": "One or more filters. The possible values are: resource-id - The ID of the resource. resource-type - The resource type (vpc | vpn). transit-gateway-attachment-id - The ID of the attachment. " +} +""" +GetTransitGatewayRouteTableAssociations(args) = ec2("GetTransitGatewayRouteTableAssociations", args) + +""" + DescribeInstances() + +Describes the specified instances or all of AWS account's instances. If you specify one or more instance IDs, Amazon EC2 returns information for those instances. If you do not specify instance IDs, Amazon EC2 returns information for all relevant instances. If you specify an instance ID that is not valid, an error is returned. If you specify an instance that you do not own, it is not included in the returned results. Recently terminated instances might appear in the returned results. This interval is usually less than one hour. If you describe instances in the rare case where an Availability Zone is experiencing a service disruption and you specify instance IDs that are in the affected zone, or do not specify any instance IDs at all, the call fails. If you describe instances and specify only instance IDs that are in an unaffected zone, the call works normally. + +Optional Parameters +{ + "InstanceIds": "The instance IDs. Default: Describes all your instances.", + "MaxResults": "The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned NextToken value. This value can be between 5 and 1000. You cannot specify this parameter and the instance IDs parameter in the same call.", + "NextToken": "The token to request the next page of results.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "Filters": "The filters. affinity - The affinity setting for an instance running on a Dedicated Host (default | host). architecture - The instance architecture (i386 | x86_64 | arm64). availability-zone - The Availability Zone of the instance. block-device-mapping.attach-time - The attach time for an EBS volume mapped to the instance, for example, 2010-09-15T17:15:20.000Z. block-device-mapping.delete-on-termination - A Boolean that indicates whether the EBS volume is deleted on instance termination. block-device-mapping.device-name - The device name specified in the block device mapping (for example, /dev/sdh or xvdh). block-device-mapping.status - The status for the EBS volume (attaching | attached | detaching | detached). block-device-mapping.volume-id - The volume ID of the EBS volume. client-token - The idempotency token you provided when you launched the instance. dns-name - The public DNS name of the instance. group-id - The ID of the security group for the instance. EC2-Classic only. group-name - The name of the security group for the instance. EC2-Classic only. hibernation-options.configured - A Boolean that indicates whether the instance is enabled for hibernation. A value of true means that the instance is enabled for hibernation. host-id - The ID of the Dedicated Host on which the instance is running, if applicable. hypervisor - The hypervisor type of the instance (ovm | xen). The value xen is used for both Xen and Nitro hypervisors. iam-instance-profile.arn - The instance profile associated with the instance. Specified as an ARN. image-id - The ID of the image used to launch the instance. instance-id - The ID of the instance. instance-lifecycle - Indicates whether this is a Spot Instance or a Scheduled Instance (spot | scheduled). instance-state-code - The state of the instance, as a 16-bit unsigned integer. The high byte is used for internal purposes and should be ignored. The low byte is set based on the state represented. The valid values are: 0 (pending), 16 (running), 32 (shutting-down), 48 (terminated), 64 (stopping), and 80 (stopped). instance-state-name - The state of the instance (pending | running | shutting-down | terminated | stopping | stopped). instance-type - The type of instance (for example, t2.micro). instance.group-id - The ID of the security group for the instance. instance.group-name - The name of the security group for the instance. ip-address - The public IPv4 address of the instance. kernel-id - The kernel ID. key-name - The name of the key pair used when the instance was launched. launch-index - When launching multiple instances, this is the index for the instance in the launch group (for example, 0, 1, 2, and so on). launch-time - The time when the instance was launched. metadata-options.http-tokens - The metadata request authorization state (optional | required) metadata-options.http-put-response-hop-limit - The http metadata request put response hop limit (integer, possible values 1 to 64) metadata-options.http-endpoint - Enable or disable metadata access on http endpoint (enabled | disabled) monitoring-state - Indicates whether detailed monitoring is enabled (disabled | enabled). network-interface.addresses.private-ip-address - The private IPv4 address associated with the network interface. network-interface.addresses.primary - Specifies whether the IPv4 address of the network interface is the primary private IPv4 address. network-interface.addresses.association.public-ip - The ID of the association of an Elastic IP address (IPv4) with a network interface. network-interface.addresses.association.ip-owner-id - The owner ID of the private IPv4 address associated with the network interface. network-interface.association.public-ip - The address of the Elastic IP address (IPv4) bound to the network interface. network-interface.association.ip-owner-id - The owner of the Elastic IP address (IPv4) associated with the network interface. network-interface.association.allocation-id - The allocation ID returned when you allocated the Elastic IP address (IPv4) for your network interface. network-interface.association.association-id - The association ID returned when the network interface was associated with an IPv4 address. network-interface.attachment.attachment-id - The ID of the interface attachment. network-interface.attachment.instance-id - The ID of the instance to which the network interface is attached. network-interface.attachment.instance-owner-id - The owner ID of the instance to which the network interface is attached. network-interface.attachment.device-index - The device index to which the network interface is attached. network-interface.attachment.status - The status of the attachment (attaching | attached | detaching | detached). network-interface.attachment.attach-time - The time that the network interface was attached to an instance. network-interface.attachment.delete-on-termination - Specifies whether the attachment is deleted when an instance is terminated. network-interface.availability-zone - The Availability Zone for the network interface. network-interface.description - The description of the network interface. network-interface.group-id - The ID of a security group associated with the network interface. network-interface.group-name - The name of a security group associated with the network interface. network-interface.ipv6-addresses.ipv6-address - The IPv6 address associated with the network interface. network-interface.mac-address - The MAC address of the network interface. network-interface.network-interface-id - The ID of the network interface. network-interface.owner-id - The ID of the owner of the network interface. network-interface.private-dns-name - The private DNS name of the network interface. network-interface.requester-id - The requester ID for the network interface. network-interface.requester-managed - Indicates whether the network interface is being managed by AWS. network-interface.status - The status of the network interface (available) | in-use). network-interface.source-dest-check - Whether the network interface performs source/destination checking. A value of true means that checking is enabled, and false means that checking is disabled. The value must be false for the network interface to perform network address translation (NAT) in your VPC. network-interface.subnet-id - The ID of the subnet for the network interface. network-interface.vpc-id - The ID of the VPC for the network interface. owner-id - The AWS account ID of the instance owner. placement-group-name - The name of the placement group for the instance. placement-partition-number - The partition in which the instance is located. platform - The platform. To list only Windows instances, use windows. private-dns-name - The private IPv4 DNS name of the instance. private-ip-address - The private IPv4 address of the instance. product-code - The product code associated with the AMI used to launch the instance. product-code.type - The type of product code (devpay | marketplace). ramdisk-id - The RAM disk ID. reason - The reason for the current state of the instance (for example, shows \"User Initiated [date]\" when you stop or terminate the instance). Similar to the state-reason-code filter. requester-id - The ID of the entity that launched the instance on your behalf (for example, AWS Management Console, Auto Scaling, and so on). reservation-id - The ID of the instance's reservation. A reservation ID is created any time you launch an instance. A reservation ID has a one-to-one relationship with an instance launch request, but can be associated with more than one instance if you launch multiple instances using the same launch request. For example, if you launch one instance, you get one reservation ID. If you launch ten instances using the same launch request, you also get one reservation ID. root-device-name - The device name of the root device volume (for example, /dev/sda1). root-device-type - The type of the root device volume (ebs | instance-store). source-dest-check - Indicates whether the instance performs source/destination checking. A value of true means that checking is enabled, and false means that checking is disabled. The value must be false for the instance to perform network address translation (NAT) in your VPC. spot-instance-request-id - The ID of the Spot Instance request. state-reason-code - The reason code for the state change. state-reason-message - A message that describes the state change. subnet-id - The ID of the subnet for the instance. tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value. tag-key - The key of a tag assigned to the resource. Use this filter to find all resources that have a tag with a specific key, regardless of the tag value. tenancy - The tenancy of an instance (dedicated | default | host). virtualization-type - The virtualization type of the instance (paravirtual | hvm). vpc-id - The ID of the VPC that the instance is running in. " +} +""" +DescribeInstances() = ec2("DescribeInstances") +DescribeInstances(args) = ec2("DescribeInstances", args) + +""" + CreateTransitGatewayRouteTable() + +Creates a route table for the specified transit gateway. + +Required Parameters +{ + "TransitGatewayId": "The ID of the transit gateway." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "TagSpecifications": "The tags to apply to the transit gateway route table." +} +""" +CreateTransitGatewayRouteTable(args) = ec2("CreateTransitGatewayRouteTable", args) + +""" + PurchaseHostReservation() + +Purchase a reservation with configurations that match those of your Dedicated Host. You must have active Dedicated Hosts in your account before you purchase a reservation. This action results in the specified reservation being purchased and charged to your account. + +Required Parameters +{ + "HostIdSet": "The IDs of the Dedicated Hosts with which the reservation will be associated.", + "OfferingId": "The ID of the offering." +} + +Optional Parameters +{ + "LimitPrice": "The specified limit is checked against the total upfront cost of the reservation (calculated as the offering's upfront cost multiplied by the host count). If the total upfront cost is greater than the specified price limit, the request fails. This is used to ensure that the purchase does not exceed the expected upfront cost of the purchase. At this time, the only supported currency is USD. For example, to indicate a limit price of USD 100, specify 100.00.", + "CurrencyCode": "The currency in which the totalUpfrontPrice, LimitPrice, and totalHourlyPrice amounts are specified. At this time, the only supported currency is USD.", + "ClientToken": "Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency." +} +""" +PurchaseHostReservation(args) = ec2("PurchaseHostReservation", args) + +""" + DeleteVpcPeeringConnection() + +Deletes a VPC peering connection. Either the owner of the requester VPC or the owner of the accepter VPC can delete the VPC peering connection if it's in the active state. The owner of the requester VPC can delete a VPC peering connection in the pending-acceptance state. You cannot delete a VPC peering connection that's in the failed state. + +Required Parameters +{ + "VpcPeeringConnectionId": "The ID of the VPC peering connection." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +DeleteVpcPeeringConnection(args) = ec2("DeleteVpcPeeringConnection", args) + +""" + DescribeLocalGatewayVirtualInterfaceGroups() + +Describes the specified local gateway virtual interface groups. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.", + "NextToken": "The token for the next page of results.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "Filters": "One or more filters.", + "LocalGatewayVirtualInterfaceGroupIds": "The IDs of the virtual interface groups." +} +""" +DescribeLocalGatewayVirtualInterfaceGroups() = ec2("DescribeLocalGatewayVirtualInterfaceGroups") +DescribeLocalGatewayVirtualInterfaceGroups(args) = ec2("DescribeLocalGatewayVirtualInterfaceGroups", args) + +""" + ModifyDefaultCreditSpecification() + +Modifies the default credit option for CPU usage of burstable performance instances. The default credit option is set at the account level per AWS Region, and is specified per instance family. All new burstable performance instances in the account launch using the default credit option. ModifyDefaultCreditSpecification is an asynchronous operation, which works at an AWS Region level and modifies the credit option for each Availability Zone. All zones in a Region are updated within five minutes. But if instances are launched during this operation, they might not get the new credit option until the zone is updated. To verify whether the update has occurred, you can call GetDefaultCreditSpecification and check DefaultCreditSpecification for updates. For more information, see Burstable Performance Instances in the Amazon Elastic Compute Cloud User Guide. + +Required Parameters +{ + "InstanceFamily": "The instance family.", + "CpuCredits": "The credit option for CPU usage of the instance family. Valid Values: standard | unlimited " +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +ModifyDefaultCreditSpecification(args) = ec2("ModifyDefaultCreditSpecification", args) + +""" + DescribeClientVpnEndpoints() + +Describes one or more Client VPN endpoints in the account. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the nextToken value.", + "NextToken": "The token to retrieve the next page of results.", + "ClientVpnEndpointIds": "The ID of the Client VPN endpoint.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "Filters": "One or more filters. Filter names and values are case-sensitive. endpoint-id - The ID of the Client VPN endpoint. transport-protocol - The transport protocol (tcp | udp). " +} +""" +DescribeClientVpnEndpoints() = ec2("DescribeClientVpnEndpoints") +DescribeClientVpnEndpoints(args) = ec2("DescribeClientVpnEndpoints", args) + +""" + CancelConversionTask() + +Cancels an active conversion task. The task can be the import of an instance or volume. The action removes all artifacts of the conversion, including a partially uploaded volume or instance. If the conversion is complete or is in the process of transferring the final disk image, the command fails and returns an exception. For more information, see Importing a Virtual Machine Using the Amazon EC2 CLI. + +Required Parameters +{ + "ConversionTaskId": "The ID of the conversion task." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "ReasonMessage": "The reason for canceling the conversion task." +} +""" +CancelConversionTask(args) = ec2("CancelConversionTask", args) + +""" + GetTransitGatewayRouteTablePropagations() + +Gets information about the route table propagations for the specified transit gateway route table. + +Required Parameters +{ + "TransitGatewayRouteTableId": "The ID of the transit gateway route table." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.", + "NextToken": "The token for the next page of results.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "Filters": "One or more filters. The possible values are: resource-id - The ID of the resource. resource-type - The resource type (vpc | vpn). transit-gateway-attachment-id - The ID of the attachment. " +} +""" +GetTransitGatewayRouteTablePropagations(args) = ec2("GetTransitGatewayRouteTablePropagations", args) + +""" + DescribeTrafficMirrorTargets() + +Information about one or more Traffic Mirror targets. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.", + "NextToken": "The token for the next page of results.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "Filters": "One or more filters. The possible values are: description: The Traffic Mirror target description. network-interface-id: The ID of the Traffic Mirror session network interface. network-load-balancer-arn: The Amazon Resource Name (ARN) of the Network Load Balancer that is associated with the session. owner-id: The ID of the account that owns the Traffic Mirror session. traffic-mirror-target-id: The ID of the Traffic Mirror target. ", + "TrafficMirrorTargetIds": "The ID of the Traffic Mirror targets." +} +""" +DescribeTrafficMirrorTargets() = ec2("DescribeTrafficMirrorTargets") +DescribeTrafficMirrorTargets(args) = ec2("DescribeTrafficMirrorTargets", args) + +""" + RevokeSecurityGroupEgress() + +[VPC only] Removes the specified egress rules from a security group for EC2-VPC. This action doesn't apply to security groups for use in EC2-Classic. To remove a rule, the values that you specify (for example, ports) must match the existing rule's values exactly. Each rule consists of the protocol and the IPv4 or IPv6 CIDR range or source security group. For the TCP and UDP protocols, you must also specify the destination port or range of ports. For the ICMP protocol, you must also specify the ICMP type and code. If the security group rule has a description, you do not have to specify the description to revoke the rule. Rule changes are propagated to instances within the security group as quickly as possible. However, a small delay might occur. + +Required Parameters +{ + "GroupId": "The ID of the security group." +} + +Optional Parameters +{ + "SourceSecurityGroupName": "Not supported. Use a set of IP permissions to specify a destination security group.", + "SourceSecurityGroupOwnerId": "Not supported. Use a set of IP permissions to specify a destination security group.", + "CidrIp": "Not supported. Use a set of IP permissions to specify the CIDR.", + "IpProtocol": "Not supported. Use a set of IP permissions to specify the protocol name or number.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "FromPort": "Not supported. Use a set of IP permissions to specify the port.", + "ToPort": "Not supported. Use a set of IP permissions to specify the port.", + "IpPermissions": "The sets of IP permissions. You can't specify a destination security group and a CIDR IP address range in the same set of permissions." +} +""" +RevokeSecurityGroupEgress(args) = ec2("RevokeSecurityGroupEgress", args) + +""" + DescribeSubnets() + +Describes one or more of your subnets. For more information, see Your VPC and Subnets in the Amazon Virtual Private Cloud User Guide. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.", + "NextToken": "The token for the next page of results.", + "SubnetIds": "One or more subnet IDs. Default: Describes all your subnets.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "Filters": "One or more filters. availability-zone - The Availability Zone for the subnet. You can also use availabilityZone as the filter name. availability-zone-id - The ID of the Availability Zone for the subnet. You can also use availabilityZoneId as the filter name. available-ip-address-count - The number of IPv4 addresses in the subnet that are available. cidr-block - The IPv4 CIDR block of the subnet. The CIDR block you specify must exactly match the subnet's CIDR block for information to be returned for the subnet. You can also use cidr or cidrBlock as the filter names. default-for-az - Indicates whether this is the default subnet for the Availability Zone. You can also use defaultForAz as the filter name. ipv6-cidr-block-association.ipv6-cidr-block - An IPv6 CIDR block associated with the subnet. ipv6-cidr-block-association.association-id - An association ID for an IPv6 CIDR block associated with the subnet. ipv6-cidr-block-association.state - The state of an IPv6 CIDR block associated with the subnet. owner-id - The ID of the AWS account that owns the subnet. state - The state of the subnet (pending | available). subnet-arn - The Amazon Resource Name (ARN) of the subnet. subnet-id - The ID of the subnet. tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value. tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value. vpc-id - The ID of the VPC for the subnet. " +} +""" +DescribeSubnets() = ec2("DescribeSubnets") +DescribeSubnets(args) = ec2("DescribeSubnets", args) + +""" + CreateNetworkInterfacePermission() + +Grants an AWS-authorized account permission to attach the specified network interface to an instance in their account. You can grant permission to a single AWS account only, and only one account at a time. + +Required Parameters +{ + "Permission": "The type of permission to grant.", + "NetworkInterfaceId": "The ID of the network interface." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "AwsAccountId": "The AWS account ID.", + "AwsService": "The AWS service. Currently not supported." +} +""" +CreateNetworkInterfacePermission(args) = ec2("CreateNetworkInterfacePermission", args) + +""" + DescribeLocalGatewayRouteTableVpcAssociations() + +Describes the specified associations between VPCs and local gateway route tables. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.", + "NextToken": "The token for the next page of results.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "LocalGatewayRouteTableVpcAssociationIds": "The IDs of the associations.", + "Filters": "One or more filters." +} +""" +DescribeLocalGatewayRouteTableVpcAssociations() = ec2("DescribeLocalGatewayRouteTableVpcAssociations") +DescribeLocalGatewayRouteTableVpcAssociations(args) = ec2("DescribeLocalGatewayRouteTableVpcAssociations", args) + +""" + GetEbsEncryptionByDefault() + +Describes whether EBS encryption by default is enabled for your account in the current Region. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide. + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +GetEbsEncryptionByDefault() = ec2("GetEbsEncryptionByDefault") +GetEbsEncryptionByDefault(args) = ec2("GetEbsEncryptionByDefault", args) + +""" + ModifyVpcAttribute() + +Modifies the specified attribute of the specified VPC. + +Required Parameters +{ + "VpcId": "The ID of the VPC." +} + +Optional Parameters +{ + "EnableDnsHostnames": "Indicates whether the instances launched in the VPC get DNS hostnames. If enabled, instances in the VPC get DNS hostnames; otherwise, they do not. You cannot modify the DNS resolution and DNS hostnames attributes in the same request. Use separate requests for each attribute. You can only enable DNS hostnames if you've enabled DNS support.", + "EnableDnsSupport": "Indicates whether the DNS resolution is supported for the VPC. If enabled, queries to the Amazon provided DNS server at the 169.254.169.253 IP address, or the reserved IP address at the base of the VPC network range \"plus two\" succeed. If disabled, the Amazon provided DNS service in the VPC that resolves public DNS hostnames to IP addresses is not enabled. You cannot modify the DNS resolution and DNS hostnames attributes in the same request. Use separate requests for each attribute." +} +""" +ModifyVpcAttribute(args) = ec2("ModifyVpcAttribute", args) + +""" + CreateTrafficMirrorTarget() + +Creates a target for your Traffic Mirror session. A Traffic Mirror target is the destination for mirrored traffic. The Traffic Mirror source and the Traffic Mirror target (monitoring appliances) can be in the same VPC, or in different VPCs connected via VPC peering or a transit gateway. A Traffic Mirror target can be a network interface, or a Network Load Balancer. To use the target in a Traffic Mirror session, use CreateTrafficMirrorSession. + +Optional Parameters +{ + "Description": "The description of the Traffic Mirror target.", + "NetworkInterfaceId": "The network interface ID that is associated with the target.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "NetworkLoadBalancerArn": "The Amazon Resource Name (ARN) of the Network Load Balancer that is associated with the target.", + "TagSpecifications": "The tags to assign to the Traffic Mirror target.", + "ClientToken": "Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency." +} +""" +CreateTrafficMirrorTarget() = ec2("CreateTrafficMirrorTarget") +CreateTrafficMirrorTarget(args) = ec2("CreateTrafficMirrorTarget", args) + +""" + SendDiagnosticInterrupt() + +Sends a diagnostic interrupt to the specified Amazon EC2 instance to trigger a kernel panic (on Linux instances), or a blue screen/stop error (on Windows instances). For instances based on Intel and AMD processors, the interrupt is received as a non-maskable interrupt (NMI). In general, the operating system crashes and reboots when a kernel panic or stop error is triggered. The operating system can also be configured to perform diagnostic tasks, such as generating a memory dump file, loading a secondary kernel, or obtaining a call trace. Before sending a diagnostic interrupt to your instance, ensure that its operating system is configured to perform the required diagnostic tasks. For more information about configuring your operating system to generate a crash dump when a kernel panic or stop error occurs, see Send a Diagnostic Interrupt (Linux instances) or Send a Diagnostic Interrupt (Windows instances). + +Required Parameters +{ + "InstanceId": "The ID of the instance." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +SendDiagnosticInterrupt(args) = ec2("SendDiagnosticInterrupt", args) + +""" + DetachNetworkInterface() + +Detaches a network interface from an instance. + +Required Parameters +{ + "AttachmentId": "The ID of the attachment." +} + +Optional Parameters +{ + "Force": "Specifies whether to force a detachment. Use the Force parameter only as a last resort to detach a network interface from a failed instance. If you use the Force parameter to detach a network interface, you might not be able to attach a different network interface to the same index on the instance without first stopping and starting the instance. If you force the detachment of a network interface, the instance metadata might not get updated. This means that the attributes associated with the detached network interface might still be visible. The instance metadata will get updated when you stop and start the instance. ", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +DetachNetworkInterface(args) = ec2("DetachNetworkInterface", args) + +""" + ModifyFpgaImageAttribute() + +Modifies the specified attribute of the specified Amazon FPGA Image (AFI). + +Required Parameters +{ + "FpgaImageId": "The ID of the AFI." +} + +Optional Parameters +{ + "ProductCodes": "The product codes. After you add a product code to an AFI, it can't be removed. This parameter is valid only when modifying the productCodes attribute.", + "Description": "A description for the AFI.", + "LoadPermission": "The load permission for the AFI.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "Attribute": "The name of the attribute.", + "OperationType": "The operation type.", + "UserIds": "The AWS account IDs. This parameter is valid only when modifying the loadPermission attribute.", + "UserGroups": "The user groups. This parameter is valid only when modifying the loadPermission attribute.", + "Name": "A name for the AFI." +} +""" +ModifyFpgaImageAttribute(args) = ec2("ModifyFpgaImageAttribute", args) + +""" + DisassociateSubnetCidrBlock() + +Disassociates a CIDR block from a subnet. Currently, you can disassociate an IPv6 CIDR block only. You must detach or delete all gateways and resources that are associated with the CIDR block before you can disassociate it. + +Required Parameters +{ + "AssociationId": "The association ID for the CIDR block." +} +""" +DisassociateSubnetCidrBlock(args) = ec2("DisassociateSubnetCidrBlock", args) + +""" + DescribeVpcPeeringConnections() + +Describes one or more of your VPC peering connections. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.", + "NextToken": "The token for the next page of results.", + "VpcPeeringConnectionIds": "One or more VPC peering connection IDs. Default: Describes all your VPC peering connections.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "Filters": "One or more filters. accepter-vpc-info.cidr-block - The IPv4 CIDR block of the accepter VPC. accepter-vpc-info.owner-id - The AWS account ID of the owner of the accepter VPC. accepter-vpc-info.vpc-id - The ID of the accepter VPC. expiration-time - The expiration date and time for the VPC peering connection. requester-vpc-info.cidr-block - The IPv4 CIDR block of the requester's VPC. requester-vpc-info.owner-id - The AWS account ID of the owner of the requester VPC. requester-vpc-info.vpc-id - The ID of the requester VPC. status-code - The status of the VPC peering connection (pending-acceptance | failed | expired | provisioning | active | deleting | deleted | rejected). status-message - A message that provides more information about the status of the VPC peering connection, if applicable. tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value. tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value. vpc-peering-connection-id - The ID of the VPC peering connection. " +} +""" +DescribeVpcPeeringConnections() = ec2("DescribeVpcPeeringConnections") +DescribeVpcPeeringConnections(args) = ec2("DescribeVpcPeeringConnections", args) + +""" + DescribeImages() + +Describes the specified images (AMIs, AKIs, and ARIs) available to you or all of the images available to you. The images available to you include public images, private images that you own, and private images owned by other AWS accounts for which you have explicit launch permissions. Recently deregistered images appear in the returned results for a short interval and then return empty results. After all instances that reference a deregistered AMI are terminated, specifying the ID of the image results in an error indicating that the AMI ID cannot be found. + +Optional Parameters +{ + "ImageIds": "The image IDs. Default: Describes all images available to you.", + "Owners": "Filters the images by the owner. Specify an AWS account ID, self (owner is the sender of the request), or an AWS owner alias (valid values are amazon | aws-marketplace | microsoft). Omitting this option returns all images for which you have launch permissions, regardless of ownership.", + "ExecutableUsers": "Scopes the images by users with explicit launch permissions. Specify an AWS account ID, self (the sender of the request), or all (public AMIs).", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "Filters": "The filters. architecture - The image architecture (i386 | x86_64 | arm64). block-device-mapping.delete-on-termination - A Boolean value that indicates whether the Amazon EBS volume is deleted on instance termination. block-device-mapping.device-name - The device name specified in the block device mapping (for example, /dev/sdh or xvdh). block-device-mapping.snapshot-id - The ID of the snapshot used for the EBS volume. block-device-mapping.volume-size - The volume size of the EBS volume, in GiB. block-device-mapping.volume-type - The volume type of the EBS volume (gp2 | io1 | st1 | sc1 | standard). block-device-mapping.encrypted - A Boolean that indicates whether the EBS volume is encrypted. description - The description of the image (provided during image creation). ena-support - A Boolean that indicates whether enhanced networking with ENA is enabled. hypervisor - The hypervisor type (ovm | xen). image-id - The ID of the image. image-type - The image type (machine | kernel | ramdisk). is-public - A Boolean that indicates whether the image is public. kernel-id - The kernel ID. manifest-location - The location of the image manifest. name - The name of the AMI (provided during image creation). owner-alias - String value from an Amazon-maintained list (amazon | aws-marketplace | microsoft) of snapshot owners. Not to be confused with the user-configured AWS account alias, which is set from the IAM console. owner-id - The AWS account ID of the image owner. platform - The platform. To only list Windows-based AMIs, use windows. product-code - The product code. product-code.type - The type of the product code (devpay | marketplace). ramdisk-id - The RAM disk ID. root-device-name - The device name of the root device volume (for example, /dev/sda1). root-device-type - The type of the root device volume (ebs | instance-store). state - The state of the image (available | pending | failed). state-reason-code - The reason code for the state change. state-reason-message - The message for the state change. sriov-net-support - A value of simple indicates that enhanced networking with the Intel 82599 VF interface is enabled. tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value. tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value. virtualization-type - The virtualization type (paravirtual | hvm). " +} +""" +DescribeImages() = ec2("DescribeImages") +DescribeImages(args) = ec2("DescribeImages", args) + +""" + DescribeBundleTasks() + +Describes the specified bundle tasks or all of your bundle tasks. Completed bundle tasks are listed for only a limited time. If your bundle task is no longer in the list, you can still register an AMI from it. Just use RegisterImage with the Amazon S3 bucket name and image manifest name you provided to the bundle task. + +Optional Parameters +{ + "BundleIds": "The bundle task IDs. Default: Describes all your bundle tasks.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "Filters": "The filters. bundle-id - The ID of the bundle task. error-code - If the task failed, the error code returned. error-message - If the task failed, the error message returned. instance-id - The ID of the instance. progress - The level of task completion, as a percentage (for example, 20%). s3-bucket - The Amazon S3 bucket to store the AMI. s3-prefix - The beginning of the AMI name. start-time - The time the task started (for example, 2013-09-15T17:15:20.000Z). state - The state of the task (pending | waiting-for-shutdown | bundling | storing | cancelling | complete | failed). update-time - The time of the most recent update for the task. " +} +""" +DescribeBundleTasks() = ec2("DescribeBundleTasks") +DescribeBundleTasks(args) = ec2("DescribeBundleTasks", args) + +""" + CopySnapshot() + +Copies a point-in-time snapshot of an EBS volume and stores it in Amazon S3. You can copy the snapshot within the same Region or from one Region to another. You can use the snapshot to create EBS volumes or Amazon Machine Images (AMIs). Copies of encrypted EBS snapshots remain encrypted. Copies of unencrypted snapshots remain unencrypted, unless you enable encryption for the snapshot copy operation. By default, encrypted snapshot copies use the default AWS Key Management Service (AWS KMS) customer master key (CMK); however, you can specify a different CMK. To copy an encrypted snapshot that has been shared from another account, you must have permissions for the CMK used to encrypt the snapshot. Snapshots created by copying another snapshot have an arbitrary volume ID that should not be used for any purpose. For more information, see Copying an Amazon EBS Snapshot in the Amazon Elastic Compute Cloud User Guide. + +Required Parameters +{ + "SourceRegion": "The ID of the Region that contains the snapshot to be copied.", + "SourceSnapshotId": "The ID of the EBS snapshot to copy." +} + +Optional Parameters +{ + "PresignedUrl": "When you copy an encrypted source snapshot using the Amazon EC2 Query API, you must supply a pre-signed URL. This parameter is optional for unencrypted snapshots. For more information, see Query Requests. The PresignedUrl should use the snapshot source endpoint, the CopySnapshot action, and include the SourceRegion, SourceSnapshotId, and DestinationRegion parameters. The PresignedUrl must be signed using AWS Signature Version 4. Because EBS snapshots are stored in Amazon S3, the signing algorithm for this parameter uses the same logic that is described in Authenticating Requests by Using Query Parameters (AWS Signature Version 4) in the Amazon Simple Storage Service API Reference. An invalid or improperly signed PresignedUrl will cause the copy operation to fail asynchronously, and the snapshot will move to an error state.", + "Description": "A description for the EBS snapshot.", + "DestinationRegion": "The destination Region to use in the PresignedUrl parameter of a snapshot copy operation. This parameter is only valid for specifying the destination Region in a PresignedUrl parameter, where it is required. The snapshot copy is sent to the regional endpoint that you sent the HTTP request to (for example, ec2.us-east-1.amazonaws.com). With the AWS CLI, this is specified using the --region parameter or the default Region in your AWS configuration file.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "TagSpecifications": "The tags to apply to the new snapshot.", + "Encrypted": "To encrypt a copy of an unencrypted snapshot if encryption by default is not enabled, enable encryption using this parameter. Otherwise, omit this parameter. Encrypted snapshots are encrypted, even if you omit this parameter and encryption by default is not enabled. You cannot set this parameter to false. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.", + "KmsKeyId": "The identifier of the AWS Key Management Service (AWS KMS) customer master key (CMK) to use for Amazon EBS encryption. If this parameter is not specified, your AWS managed CMK for EBS is used. If KmsKeyId is specified, the encrypted state must be true. You can specify the CMK using any of the following: Key ID. For example, key/1234abcd-12ab-34cd-56ef-1234567890ab. Key alias. For example, alias/ExampleAlias. Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef. Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias. AWS authenticates the CMK asynchronously. Therefore, if you specify an ID, alias, or ARN that is not valid, the action can appear to complete, but eventually fails." +} +""" +CopySnapshot(args) = ec2("CopySnapshot", args) + +""" + ModifyTrafficMirrorSession() + +Modifies a Traffic Mirror session. + +Required Parameters +{ + "TrafficMirrorSessionId": "The ID of the Traffic Mirror session." +} + +Optional Parameters +{ + "Description": "The description to assign to the Traffic Mirror session.", + "PacketLength": "The number of bytes in each packet to mirror. These are bytes after the VXLAN header. To mirror a subset, set this to the length (in bytes) to mirror. For example, if you set this value to 100, then the first 100 bytes that meet the filter criteria are copied to the target. Do not specify this parameter when you want to mirror the entire packet.", + "SessionNumber": "The session number determines the order in which sessions are evaluated when an interface is used by multiple sessions. The first session with a matching filter is the one that mirrors the packets. Valid values are 1-32766.", + "RemoveFields": "The properties that you want to remove from the Traffic Mirror session. When you remove a property from a Traffic Mirror session, the property is set to the default.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "TrafficMirrorTargetId": "The Traffic Mirror target. The target must be in the same VPC as the source, or have a VPC peering connection with the source.", + "VirtualNetworkId": "The virtual network ID of the Traffic Mirror session.", + "TrafficMirrorFilterId": "The ID of the Traffic Mirror filter." +} +""" +ModifyTrafficMirrorSession(args) = ec2("ModifyTrafficMirrorSession", args) + +""" + ResetInstanceAttribute() + +Resets an attribute of an instance to its default value. To reset the kernel or ramdisk, the instance must be in a stopped state. To reset the sourceDestCheck, the instance can be either running or stopped. The sourceDestCheck attribute controls whether source/destination checking is enabled. The default value is true, which means checking is enabled. This value must be false for a NAT instance to perform NAT. For more information, see NAT Instances in the Amazon Virtual Private Cloud User Guide. + +Required Parameters +{ + "InstanceId": "The ID of the instance.", + "Attribute": "The attribute to reset. You can only reset the following attributes: kernel | ramdisk | sourceDestCheck. To change an instance attribute, use ModifyInstanceAttribute. " +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +ResetInstanceAttribute(args) = ec2("ResetInstanceAttribute", args) + +""" + ReplaceRouteTableAssociation() + +Changes the route table associated with a given subnet, internet gateway, or virtual private gateway in a VPC. After the operation completes, the subnet or gateway uses the routes in the new route table. For more information about route tables, see Route Tables in the Amazon Virtual Private Cloud User Guide. You can also use this operation to change which table is the main route table in the VPC. Specify the main route table's association ID and the route table ID of the new main route table. + +Required Parameters +{ + "AssociationId": "The association ID.", + "RouteTableId": "The ID of the new route table to associate with the subnet." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +ReplaceRouteTableAssociation(args) = ec2("ReplaceRouteTableAssociation", args) + +""" + DescribeScheduledInstanceAvailability() + +Finds available schedules that meet the specified criteria. You can search for an available schedule no more than 3 months in advance. You must meet the minimum required duration of 1,200 hours per year. For example, the minimum daily schedule is 4 hours, the minimum weekly schedule is 24 hours, and the minimum monthly schedule is 100 hours. After you find a schedule that meets your needs, call PurchaseScheduledInstances to purchase Scheduled Instances with that schedule. + +Required Parameters +{ + "Recurrence": "The schedule recurrence.", + "FirstSlotStartTimeRange": "The time period for the first schedule to start." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return in a single call. This value can be between 5 and 300. The default value is 300. To retrieve the remaining results, make another call with the returned NextToken value.", + "NextToken": "The token for the next set of results.", + "MinSlotDurationInHours": "The minimum available duration, in hours. The minimum required duration is 1,200 hours per year. For example, the minimum daily schedule is 4 hours, the minimum weekly schedule is 24 hours, and the minimum monthly schedule is 100 hours.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "MaxSlotDurationInHours": "The maximum available duration, in hours. This value must be greater than MinSlotDurationInHours and less than 1,720.", + "Filters": "The filters. availability-zone - The Availability Zone (for example, us-west-2a). instance-type - The instance type (for example, c4.large). network-platform - The network platform (EC2-Classic or EC2-VPC). platform - The platform (Linux/UNIX or Windows). " +} +""" +DescribeScheduledInstanceAvailability(args) = ec2("DescribeScheduledInstanceAvailability", args) + +""" + DeleteVpcEndpointServiceConfigurations() + +Deletes one or more VPC endpoint service configurations in your account. Before you delete the endpoint service configuration, you must reject any Available or PendingAcceptance interface endpoint connections that are attached to the service. + +Required Parameters +{ + "ServiceIds": "The IDs of one or more services." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +DeleteVpcEndpointServiceConfigurations(args) = ec2("DeleteVpcEndpointServiceConfigurations", args) + +""" + DescribeAggregateIdFormat() + +Describes the longer ID format settings for all resource types in a specific Region. This request is useful for performing a quick audit to determine whether a specific Region is fully opted in for longer IDs (17-character IDs). This request only returns information about resource types that support longer IDs. The following resource types support longer IDs: bundle | conversion-task | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association | export-task | flow-log | image | import-task | instance | internet-gateway | network-acl | network-acl-association | network-interface | network-interface-attachment | prefix-list | reservation | route-table | route-table-association | security-group | snapshot | subnet | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway. + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +DescribeAggregateIdFormat() = ec2("DescribeAggregateIdFormat") +DescribeAggregateIdFormat(args) = ec2("DescribeAggregateIdFormat", args) + +""" + DeleteLocalGatewayRoute() + +Deletes the specified route from the specified local gateway route table. + +Required Parameters +{ + "DestinationCidrBlock": "The CIDR range for the route. This must match the CIDR for the route exactly.", + "LocalGatewayRouteTableId": "The ID of the local gateway route table." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +DeleteLocalGatewayRoute(args) = ec2("DeleteLocalGatewayRoute", args) + +""" + DisableFastSnapshotRestores() + +Disables fast snapshot restores for the specified snapshots in the specified Availability Zones. + +Required Parameters +{ + "SourceSnapshotIds": "The IDs of one or more snapshots. For example, snap-1234567890abcdef0.", + "AvailabilityZones": "One or more Availability Zones. For example, us-east-2a." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +DisableFastSnapshotRestores(args) = ec2("DisableFastSnapshotRestores", args) + +""" + CancelBundleTask() + +Cancels a bundling operation for an instance store-backed Windows instance. + +Required Parameters +{ + "BundleId": "The ID of the bundle task." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +CancelBundleTask(args) = ec2("CancelBundleTask", args) + +""" + DescribeIdentityIdFormat() + +Describes the ID format settings for resources for the specified IAM user, IAM role, or root user. For example, you can view the resource types that are enabled for longer IDs. This request only returns information about resource types whose ID formats can be modified; it does not return information about other resource types. For more information, see Resource IDs in the Amazon Elastic Compute Cloud User Guide. The following resource types support longer IDs: bundle | conversion-task | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association | export-task | flow-log | image | import-task | instance | internet-gateway | network-acl | network-acl-association | network-interface | network-interface-attachment | prefix-list | reservation | route-table | route-table-association | security-group | snapshot | subnet | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway. These settings apply to the principal specified in the request. They do not apply to the principal that makes the request. + +Required Parameters +{ + "PrincipalArn": "The ARN of the principal, which can be an IAM role, IAM user, or the root user." +} + +Optional Parameters +{ + "Resource": "The type of resource: bundle | conversion-task | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association | export-task | flow-log | image | import-task | instance | internet-gateway | network-acl | network-acl-association | network-interface | network-interface-attachment | prefix-list | reservation | route-table | route-table-association | security-group | snapshot | subnet | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway " +} +""" +DescribeIdentityIdFormat(args) = ec2("DescribeIdentityIdFormat", args) + +""" + RegisterTransitGatewayMulticastGroupSources() + +Registers sources (network interfaces) with the specified transit gateway multicast group. A multicast source is a network interface attached to a supported instance that sends multicast traffic. For information about supported instances, see Multicast Considerations in Amazon VPC Transit Gateways. After you add the source, use SearchTransitGatewayMulticastGroups to verify that the source was added to the multicast group. + +Optional Parameters +{ + "TransitGatewayMulticastDomainId": "The ID of the transit gateway multicast domain.", + "GroupIpAddress": "The IP address assigned to the transit gateway multicast group.", + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.", + "NetworkInterfaceIds": "The group sources' network interface IDs to register with the transit gateway multicast group." +} +""" +RegisterTransitGatewayMulticastGroupSources() = ec2("RegisterTransitGatewayMulticastGroupSources") +RegisterTransitGatewayMulticastGroupSources(args) = ec2("RegisterTransitGatewayMulticastGroupSources", args) + +""" + DeleteTransitGatewayRouteTable() + +Deletes the specified transit gateway route table. You must disassociate the route table from any transit gateway route tables before you can delete it. + +Required Parameters +{ + "TransitGatewayRouteTableId": "The ID of the transit gateway route table." +} + +Optional Parameters +{ + "DryRun": "Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation." +} +""" +DeleteTransitGatewayRouteTable(args) = ec2("DeleteTransitGatewayRouteTable", args) diff --git a/src/services/ec2_instance_connect.jl b/src/services/ec2_instance_connect.jl new file mode 100644 index 0000000000..8910eacf5c --- /dev/null +++ b/src/services/ec2_instance_connect.jl @@ -0,0 +1,17 @@ +include("../AWSServices.jl") +using .AWSServices: ec2_instance_connect + +""" + SendSSHPublicKey() + +Pushes an SSH public key to a particular OS user on a given EC2 instance for 60 seconds. + +Required Parameters +{ + "InstanceOSUser": "The OS user on the EC2 instance whom the key may be used to authenticate as.", + "AvailabilityZone": "The availability zone the EC2 instance was launched in.", + "InstanceId": "The EC2 instance you wish to publish the SSH key to.", + "SSHPublicKey": "The public key to be published to the instance. To use it after publication you must have the matching private key." +} +""" +SendSSHPublicKey(args) = ec2_instance_connect("SendSSHPublicKey", args) diff --git a/src/services/ecr.jl b/src/services/ecr.jl new file mode 100644 index 0000000000..824410fb6f --- /dev/null +++ b/src/services/ecr.jl @@ -0,0 +1,514 @@ +include("../AWSServices.jl") +using .AWSServices: ecr + +""" + ListTagsForResource() + +List the tags for an Amazon ECR resource. + +Required Parameters +{ + "resourceArn": "The Amazon Resource Name (ARN) that identifies the resource for which to list the tags. Currently, the only supported resource is an Amazon ECR repository." +} +""" +ListTagsForResource(args) = ecr("ListTagsForResource", args) + +""" + CreateRepository() + +Creates a repository. For more information, see Amazon ECR Repositories in the Amazon Elastic Container Registry User Guide. + +Required Parameters +{ + "repositoryName": "The name to use for the repository. The repository name may be specified on its own (such as nginx-web-app) or it can be prepended with a namespace to group the repository into a category (such as project-a/nginx-web-app)." +} + +Optional Parameters +{ + "imageTagMutability": "The tag mutability setting for the repository. If this parameter is omitted, the default setting of MUTABLE will be used which will allow image tags to be overwritten. If IMMUTABLE is specified, all image tags within the repository will be immutable which will prevent them from being overwritten.", + "tags": "The metadata that you apply to the repository to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define. Tag keys can have a maximum character length of 128 characters, and tag values can have a maximum length of 256 characters.", + "imageScanningConfiguration": "The image scanning configuration for the repository. This setting determines whether images are scanned for known vulnerabilities after being pushed to the repository." +} +""" +CreateRepository(args) = ecr("CreateRepository", args) + +""" + DeleteRepository() + +Deletes a repository. If the repository contains images, you must either delete all images in the repository or use the force option to delete the repository. + +Required Parameters +{ + "repositoryName": "The name of the repository to delete." +} + +Optional Parameters +{ + "registryId": "The AWS account ID associated with the registry that contains the repository to delete. If you do not specify a registry, the default registry is assumed.", + "force": " If a repository contains images, forces the deletion." +} +""" +DeleteRepository(args) = ecr("DeleteRepository", args) + +""" + DescribeRepositories() + +Describes image repositories in a registry. + +Optional Parameters +{ + "registryId": "The AWS account ID associated with the registry that contains the repositories to be described. If you do not specify a registry, the default registry is assumed.", + "repositoryNames": "A list of repositories to describe. If this parameter is omitted, then all repositories in a registry are described.", + "maxResults": "The maximum number of repository results returned by DescribeRepositories in paginated output. When this parameter is used, DescribeRepositories only returns maxResults results in a single page along with a nextToken response element. The remaining results of the initial request can be seen by sending another DescribeRepositories request with the returned nextToken value. This value can be between 1 and 1000. If this parameter is not used, then DescribeRepositories returns up to 100 results and a nextToken value, if applicable. This option cannot be used when you specify repositories with repositoryNames.", + "nextToken": "The nextToken value returned from a previous paginated DescribeRepositories request where maxResults was used and the results exceeded the value of that parameter. Pagination continues from the end of the previous results that returned the nextToken value. This value is null when there are no more results to return. This option cannot be used when you specify repositories with repositoryNames. This token should be treated as an opaque identifier that is only used to retrieve the next items in a list and not for other programmatic purposes. " +} +""" +DescribeRepositories() = ecr("DescribeRepositories") +DescribeRepositories(args) = ecr("DescribeRepositories", args) + +""" + ListImages() + +Lists all the image IDs for the specified repository. You can filter images based on whether or not they are tagged by using the tagStatus filter and specifying either TAGGED, UNTAGGED or ANY. For example, you can filter your results to return only UNTAGGED images and then pipe that result to a BatchDeleteImage operation to delete them. Or, you can filter your results to return only TAGGED images to list all of the tags in your repository. + +Required Parameters +{ + "repositoryName": "The repository with image IDs to be listed." +} + +Optional Parameters +{ + "registryId": "The AWS account ID associated with the registry that contains the repository in which to list images. If you do not specify a registry, the default registry is assumed.", + "filter": "The filter key and value with which to filter your ListImages results.", + "maxResults": "The maximum number of image results returned by ListImages in paginated output. When this parameter is used, ListImages only returns maxResults results in a single page along with a nextToken response element. The remaining results of the initial request can be seen by sending another ListImages request with the returned nextToken value. This value can be between 1 and 1000. If this parameter is not used, then ListImages returns up to 100 results and a nextToken value, if applicable.", + "nextToken": "The nextToken value returned from a previous paginated ListImages request where maxResults was used and the results exceeded the value of that parameter. Pagination continues from the end of the previous results that returned the nextToken value. This value is null when there are no more results to return. This token should be treated as an opaque identifier that is only used to retrieve the next items in a list and not for other programmatic purposes. " +} +""" +ListImages(args) = ecr("ListImages", args) + +""" + DeleteLifecyclePolicy() + +Deletes the lifecycle policy associated with the specified repository. + +Required Parameters +{ + "repositoryName": "The name of the repository." +} + +Optional Parameters +{ + "registryId": "The AWS account ID associated with the registry that contains the repository. If you do not specify a registry, the default registry is assumed." +} +""" +DeleteLifecyclePolicy(args) = ecr("DeleteLifecyclePolicy", args) + +""" + GetAuthorizationToken() + +Retrieves an authorization token. An authorization token represents your IAM authentication credentials and can be used to access any Amazon ECR registry that your IAM principal has access to. The authorization token is valid for 12 hours. The authorizationToken returned is a base64 encoded string that can be decoded and used in a docker login command to authenticate to a registry. The AWS CLI offers an get-login-password command that simplifies the login process. For more information, see Registry Authentication in the Amazon Elastic Container Registry User Guide. + +Optional Parameters +{ + "registryIds": "A list of AWS account IDs that are associated with the registries for which to get AuthorizationData objects. If you do not specify a registry, the default registry is assumed." +} +""" +GetAuthorizationToken() = ecr("GetAuthorizationToken") +GetAuthorizationToken(args) = ecr("GetAuthorizationToken", args) + +""" + GetLifecyclePolicy() + +Retrieves the lifecycle policy for the specified repository. + +Required Parameters +{ + "repositoryName": "The name of the repository." +} + +Optional Parameters +{ + "registryId": "The AWS account ID associated with the registry that contains the repository. If you do not specify a registry, the default registry is assumed." +} +""" +GetLifecyclePolicy(args) = ecr("GetLifecyclePolicy", args) + +""" + CompleteLayerUpload() + +Informs Amazon ECR that the image layer upload has completed for a specified registry, repository name, and upload ID. You can optionally provide a sha256 digest of the image layer for data validation purposes. When an image is pushed, the CompleteLayerUpload API is called once per each new image layer to verify that the upload has completed. This operation is used by the Amazon ECR proxy, and it is not intended for general use by customers for pulling and pushing images. In most cases, you should use the docker CLI to pull, tag, and push images. + +Required Parameters +{ + "repositoryName": "The name of the repository to associate with the image layer.", + "layerDigests": "The sha256 digest of the image layer.", + "uploadId": "The upload ID from a previous InitiateLayerUpload operation to associate with the image layer." +} + +Optional Parameters +{ + "registryId": "The AWS account ID associated with the registry to which to upload layers. If you do not specify a registry, the default registry is assumed." +} +""" +CompleteLayerUpload(args) = ecr("CompleteLayerUpload", args) + +""" + DescribeImages() + +Returns metadata about the images in a repository. Beginning with Docker version 1.9, the Docker client compresses image layers before pushing them to a V2 Docker registry. The output of the docker images command shows the uncompressed image size, so it may return a larger image size than the image sizes returned by DescribeImages. + +Required Parameters +{ + "repositoryName": "The repository that contains the images to describe." +} + +Optional Parameters +{ + "imageIds": "The list of image IDs for the requested repository.", + "registryId": "The AWS account ID associated with the registry that contains the repository in which to describe images. If you do not specify a registry, the default registry is assumed.", + "filter": "The filter key and value with which to filter your DescribeImages results.", + "maxResults": "The maximum number of repository results returned by DescribeImages in paginated output. When this parameter is used, DescribeImages only returns maxResults results in a single page along with a nextToken response element. The remaining results of the initial request can be seen by sending another DescribeImages request with the returned nextToken value. This value can be between 1 and 1000. If this parameter is not used, then DescribeImages returns up to 100 results and a nextToken value, if applicable. This option cannot be used when you specify images with imageIds.", + "nextToken": "The nextToken value returned from a previous paginated DescribeImages request where maxResults was used and the results exceeded the value of that parameter. Pagination continues from the end of the previous results that returned the nextToken value. This value is null when there are no more results to return. This option cannot be used when you specify images with imageIds." +} +""" +DescribeImages(args) = ecr("DescribeImages", args) + +""" + BatchCheckLayerAvailability() + +Checks the availability of one or more image layers in a repository. When an image is pushed to a repository, each image layer is checked to verify if it has been uploaded before. If it is, then the image layer is skipped. When an image is pulled from a repository, each image layer is checked once to verify it is available to be pulled. This operation is used by the Amazon ECR proxy, and it is not intended for general use by customers for pulling and pushing images. In most cases, you should use the docker CLI to pull, tag, and push images. + +Required Parameters +{ + "repositoryName": "The name of the repository that is associated with the image layers to check.", + "layerDigests": "The digests of the image layers to check." +} + +Optional Parameters +{ + "registryId": "The AWS account ID associated with the registry that contains the image layers to check. If you do not specify a registry, the default registry is assumed." +} +""" +BatchCheckLayerAvailability(args) = ecr("BatchCheckLayerAvailability", args) + +""" + GetRepositoryPolicy() + +Retrieves the repository policy for the specified repository. + +Required Parameters +{ + "repositoryName": "The name of the repository with the policy to retrieve." +} + +Optional Parameters +{ + "registryId": "The AWS account ID associated with the registry that contains the repository. If you do not specify a registry, the default registry is assumed." +} +""" +GetRepositoryPolicy(args) = ecr("GetRepositoryPolicy", args) + +""" + PutImage() + +Creates or updates the image manifest and tags associated with an image. When an image is pushed and all new image layers have been uploaded, the PutImage API is called once to create or update the image manifest and tags associated with the image. This operation is used by the Amazon ECR proxy, and it is not intended for general use by customers for pulling and pushing images. In most cases, you should use the docker CLI to pull, tag, and push images. + +Required Parameters +{ + "repositoryName": "The name of the repository in which to put the image.", + "imageManifest": "The image manifest corresponding to the image to be uploaded." +} + +Optional Parameters +{ + "registryId": "The AWS account ID associated with the registry that contains the repository in which to put the image. If you do not specify a registry, the default registry is assumed.", + "imageTag": "The tag to associate with the image. This parameter is required for images that use the Docker Image Manifest V2 Schema 2 or OCI formats." +} +""" +PutImage(args) = ecr("PutImage", args) + +""" + BatchDeleteImage() + +Deletes a list of specified images within a repository. Images are specified with either an imageTag or imageDigest. You can remove a tag from an image by specifying the image's tag in your request. When you remove the last tag from an image, the image is deleted from your repository. You can completely delete an image (and all of its tags) by specifying the image's digest in your request. + +Required Parameters +{ + "imageIds": "A list of image ID references that correspond to images to delete. The format of the imageIds reference is imageTag=tag or imageDigest=digest.", + "repositoryName": "The repository that contains the image to delete." +} + +Optional Parameters +{ + "registryId": "The AWS account ID associated with the registry that contains the image to delete. If you do not specify a registry, the default registry is assumed." +} +""" +BatchDeleteImage(args) = ecr("BatchDeleteImage", args) + +""" + PutImageScanningConfiguration() + +Updates the image scanning configuration for the specified repository. + +Required Parameters +{ + "repositoryName": "The name of the repository in which to update the image scanning configuration setting.", + "imageScanningConfiguration": "The image scanning configuration for the repository. This setting determines whether images are scanned for known vulnerabilities after being pushed to the repository." +} + +Optional Parameters +{ + "registryId": "The AWS account ID associated with the registry that contains the repository in which to update the image scanning configuration setting. If you do not specify a registry, the default registry is assumed." +} +""" +PutImageScanningConfiguration(args) = ecr("PutImageScanningConfiguration", args) + +""" + PutImageTagMutability() + +Updates the image tag mutability settings for the specified repository. For more information, see Image Tag Mutability in the Amazon Elastic Container Registry User Guide. + +Required Parameters +{ + "repositoryName": "The name of the repository in which to update the image tag mutability settings.", + "imageTagMutability": "The tag mutability setting for the repository. If MUTABLE is specified, image tags can be overwritten. If IMMUTABLE is specified, all image tags within the repository will be immutable which will prevent them from being overwritten." +} + +Optional Parameters +{ + "registryId": "The AWS account ID associated with the registry that contains the repository in which to update the image tag mutability settings. If you do not specify a registry, the default registry is assumed." +} +""" +PutImageTagMutability(args) = ecr("PutImageTagMutability", args) + +""" + PutLifecyclePolicy() + +Creates or updates the lifecycle policy for the specified repository. For more information, see Lifecycle Policy Template. + +Required Parameters +{ + "repositoryName": "The name of the repository to receive the policy.", + "lifecyclePolicyText": "The JSON repository policy text to apply to the repository." +} + +Optional Parameters +{ + "registryId": "The AWS account ID associated with the registry that contains the repository. If you do
 not specify a registry, the default registry is assumed." +} +""" +PutLifecyclePolicy(args) = ecr("PutLifecyclePolicy", args) + +""" + StartLifecyclePolicyPreview() + +Starts a preview of a lifecycle policy for the specified repository. This allows you to see the results before associating the lifecycle policy with the repository. + +Required Parameters +{ + "repositoryName": "The name of the repository to be evaluated." +} + +Optional Parameters +{ + "registryId": "The AWS account ID associated with the registry that contains the repository. If you do not specify a registry, the default registry is assumed.", + "lifecyclePolicyText": "The policy to be evaluated against. If you do not specify a policy, the current policy for the repository is used." +} +""" +StartLifecyclePolicyPreview(args) = ecr("StartLifecyclePolicyPreview", args) + +""" + UploadLayerPart() + +Uploads an image layer part to Amazon ECR. When an image is pushed, each new image layer is uploaded in parts. The maximum size of each image layer part can be 20971520 bytes (or about 20MB). The UploadLayerPart API is called once per each new image layer part. This operation is used by the Amazon ECR proxy, and it is not intended for general use by customers for pulling and pushing images. In most cases, you should use the docker CLI to pull, tag, and push images. + +Required Parameters +{ + "repositoryName": "The name of the repository to which you are uploading layer parts.", + "partFirstByte": "The integer value of the first byte of the layer part.", + "partLastByte": "The integer value of the last byte of the layer part.", + "uploadId": "The upload ID from a previous InitiateLayerUpload operation to associate with the layer part upload.", + "layerPartBlob": "The base64-encoded layer part payload." +} + +Optional Parameters +{ + "registryId": "The AWS account ID associated with the registry to which you are uploading layer parts. If you do not specify a registry, the default registry is assumed." +} +""" +UploadLayerPart(args) = ecr("UploadLayerPart", args) + +""" + TagResource() + +Adds specified tags to a resource with the specified ARN. Existing tags on a resource are not changed if they are not specified in the request parameters. + +Required Parameters +{ + "resourceArn": "The Amazon Resource Name (ARN) of the the resource to which to add tags. Currently, the only supported resource is an Amazon ECR repository.", + "tags": "The tags to add to the resource. A tag is an array of key-value pairs. Tag keys can have a maximum character length of 128 characters, and tag values can have a maximum length of 256 characters." +} +""" +TagResource(args) = ecr("TagResource", args) + +""" + UntagResource() + +Deletes specified tags from a resource. + +Required Parameters +{ + "resourceArn": "The Amazon Resource Name (ARN) of the resource from which to remove tags. Currently, the only supported resource is an Amazon ECR repository.", + "tagKeys": "The keys of the tags to be removed." +} +""" +UntagResource(args) = ecr("UntagResource", args) + +""" + GetDownloadUrlForLayer() + +Retrieves the pre-signed Amazon S3 download URL corresponding to an image layer. You can only get URLs for image layers that are referenced in an image. When an image is pulled, the GetDownloadUrlForLayer API is called once per image layer. This operation is used by the Amazon ECR proxy, and it is not intended for general use by customers for pulling and pushing images. In most cases, you should use the docker CLI to pull, tag, and push images. + +Required Parameters +{ + "layerDigest": "The digest of the image layer to download.", + "repositoryName": "The name of the repository that is associated with the image layer to download." +} + +Optional Parameters +{ + "registryId": "The AWS account ID associated with the registry that contains the image layer to download. If you do not specify a registry, the default registry is assumed." +} +""" +GetDownloadUrlForLayer(args) = ecr("GetDownloadUrlForLayer", args) + +""" + SetRepositoryPolicy() + +Applies a repository policy to the specified repository to control access permissions. For more information, see Amazon ECR Repository Policies in the Amazon Elastic Container Registry User Guide. + +Required Parameters +{ + "repositoryName": "The name of the repository to receive the policy.", + "policyText": "The JSON repository policy text to apply to the repository. For more information, see Amazon ECR Repository Policy Examples in the Amazon Elastic Container Registry User Guide." +} + +Optional Parameters +{ + "registryId": "The AWS account ID associated with the registry that contains the repository. If you do not specify a registry, the default registry is assumed.", + "force": "If the policy you are attempting to set on a repository policy would prevent you from setting another policy in the future, you must force the SetRepositoryPolicy operation. This is intended to prevent accidental repository lock outs." +} +""" +SetRepositoryPolicy(args) = ecr("SetRepositoryPolicy", args) + +""" + DeleteRepositoryPolicy() + +Deletes the repository policy associated with the specified repository. + +Required Parameters +{ + "repositoryName": "The name of the repository that is associated with the repository policy to delete." +} + +Optional Parameters +{ + "registryId": "The AWS account ID associated with the registry that contains the repository policy to delete. If you do not specify a registry, the default registry is assumed." +} +""" +DeleteRepositoryPolicy(args) = ecr("DeleteRepositoryPolicy", args) + +""" + StartImageScan() + +Starts an image vulnerability scan. An image scan can only be started once per day on an individual image. This limit includes if an image was scanned on initial push. For more information, see Image Scanning in the Amazon Elastic Container Registry User Guide. + +Required Parameters +{ + "repositoryName": "The name of the repository that contains the images to scan.", + "imageId": "" +} + +Optional Parameters +{ + "registryId": "The AWS account ID associated with the registry that contains the repository in which to start an image scan request. If you do not specify a registry, the default registry is assumed." +} +""" +StartImageScan(args) = ecr("StartImageScan", args) + +""" + BatchGetImage() + +Gets detailed information for an image. Images are specified with either an imageTag or imageDigest. When an image is pulled, the BatchGetImage API is called once to retrieve the image manifest. + +Required Parameters +{ + "imageIds": "A list of image ID references that correspond to images to describe. The format of the imageIds reference is imageTag=tag or imageDigest=digest.", + "repositoryName": "The repository that contains the images to describe." +} + +Optional Parameters +{ + "registryId": "The AWS account ID associated with the registry that contains the images to describe. If you do not specify a registry, the default registry is assumed.", + "acceptedMediaTypes": "The accepted media types for the request. Valid values: application/vnd.docker.distribution.manifest.v1+json | application/vnd.docker.distribution.manifest.v2+json | application/vnd.oci.image.manifest.v1+json " +} +""" +BatchGetImage(args) = ecr("BatchGetImage", args) + +""" + GetLifecyclePolicyPreview() + +Retrieves the results of the lifecycle policy preview request for the specified repository. + +Required Parameters +{ + "repositoryName": "The name of the repository." +} + +Optional Parameters +{ + "imageIds": "The list of imageIDs to be included.", + "registryId": "The AWS account ID associated with the registry that contains the repository. If you do not specify a registry, the default registry is assumed.", + "filter": "An optional parameter that filters results based on image tag status and all tags, if tagged.", + "maxResults": "The maximum number of repository results returned by GetLifecyclePolicyPreviewRequest in
 paginated output. When this parameter is used, GetLifecyclePolicyPreviewRequest only returns
 maxResults results in a single page along with a nextToken
 response element. The remaining results of the initial request can be seen by sending
 another GetLifecyclePolicyPreviewRequest request with the returned nextToken
 value. This value can be between 1 and 1000. If this
 parameter is not used, then GetLifecyclePolicyPreviewRequest returns up to
 100 results and a nextToken value, if
 applicable. This option cannot be used when you specify images with imageIds.", + "nextToken": "The nextToken value returned from a previous paginated
 GetLifecyclePolicyPreviewRequest request where maxResults was used and the
 results exceeded the value of that parameter. Pagination continues from the end of the
 previous results that returned the nextToken value. This value is
 null when there are no more results to return. This option cannot be used when you specify images with imageIds." +} +""" +GetLifecyclePolicyPreview(args) = ecr("GetLifecyclePolicyPreview", args) + +""" + DescribeImageScanFindings() + +Returns the scan findings for the specified image. + +Required Parameters +{ + "repositoryName": "The repository for the image for which to describe the scan findings.", + "imageId": "" +} + +Optional Parameters +{ + "registryId": "The AWS account ID associated with the registry that contains the repository in which to describe the image scan findings for. If you do not specify a registry, the default registry is assumed.", + "maxResults": "The maximum number of image scan results returned by DescribeImageScanFindings in paginated output. When this parameter is used, DescribeImageScanFindings only returns maxResults results in a single page along with a nextToken response element. The remaining results of the initial request can be seen by sending another DescribeImageScanFindings request with the returned nextToken value. This value can be between 1 and 1000. If this parameter is not used, then DescribeImageScanFindings returns up to 100 results and a nextToken value, if applicable.", + "nextToken": "The nextToken value returned from a previous paginated DescribeImageScanFindings request where maxResults was used and the results exceeded the value of that parameter. Pagination continues from the end of the previous results that returned the nextToken value. This value is null when there are no more results to return." +} +""" +DescribeImageScanFindings(args) = ecr("DescribeImageScanFindings", args) + +""" + InitiateLayerUpload() + +Notifies Amazon ECR that you intend to upload an image layer. When an image is pushed, the InitiateLayerUpload API is called once per image layer that has not already been uploaded. Whether an image layer has been uploaded before is determined by the BatchCheckLayerAvailability API action. This operation is used by the Amazon ECR proxy, and it is not intended for general use by customers for pulling and pushing images. In most cases, you should use the docker CLI to pull, tag, and push images. + +Required Parameters +{ + "repositoryName": "The name of the repository to which you intend to upload layers." +} + +Optional Parameters +{ + "registryId": "The AWS account ID associated with the registry to which you intend to upload layers. If you do not specify a registry, the default registry is assumed." +} +""" +InitiateLayerUpload(args) = ecr("InitiateLayerUpload", args) diff --git a/src/services/ecs.jl b/src/services/ecs.jl new file mode 100644 index 0000000000..34161e63bc --- /dev/null +++ b/src/services/ecs.jl @@ -0,0 +1,877 @@ +include("../AWSServices.jl") +using .AWSServices: ecs + +""" + PutAttributes() + +Create or update an attribute on an Amazon ECS resource. If the attribute does not exist, it is created. If the attribute exists, its value is replaced with the specified value. To delete an attribute, use DeleteAttributes. For more information, see Attributes in the Amazon Elastic Container Service Developer Guide. + +Required Parameters +{ + "attributes": "The attributes to apply to your resource. You can specify up to 10 custom attributes per resource. You can specify up to 10 attributes in a single call." +} + +Optional Parameters +{ + "cluster": "The short name or full Amazon Resource Name (ARN) of the cluster that contains the resource to apply attributes. If you do not specify a cluster, the default cluster is assumed." +} +""" +PutAttributes(args) = ecs("PutAttributes", args) + +""" + DescribeTaskDefinition() + +Describes a task definition. You can specify a family and revision to find information about a specific task definition, or you can simply specify the family to find the latest ACTIVE revision in that family. You can only describe INACTIVE task definitions while an active task or service references them. + +Required Parameters +{ + "taskDefinition": "The family for the latest ACTIVE revision, family and revision (family:revision) for a specific revision in the family, or full Amazon Resource Name (ARN) of the task definition to describe." +} + +Optional Parameters +{ + "include": "Specifies whether to see the resource tags for the task definition. If TAGS is specified, the tags are included in the response. If this field is omitted, tags are not included in the response." +} +""" +DescribeTaskDefinition(args) = ecs("DescribeTaskDefinition", args) + +""" + UpdateClusterSettings() + +Modifies the settings to use for a cluster. + +Required Parameters +{ + "settings": "The setting to use by default for a cluster. This parameter is used to enable CloudWatch Container Insights for a cluster. If this value is specified, it will override the containerInsights value set with PutAccountSetting or PutAccountSettingDefault.", + "cluster": "The name of the cluster to modify the settings for." +} +""" +UpdateClusterSettings(args) = ecs("UpdateClusterSettings", args) + +""" + ListTaskDefinitions() + +Returns a list of task definitions that are registered to your account. You can filter the results by family name with the familyPrefix parameter or by status with the status parameter. + +Optional Parameters +{ + "status": "The task definition status with which to filter the ListTaskDefinitions results. By default, only ACTIVE task definitions are listed. By setting this parameter to INACTIVE, you can view task definitions that are INACTIVE as long as an active task or service still references them. If you paginate the resulting output, be sure to keep the status value constant in each subsequent request.", + "sort": "The order in which to sort the results. Valid values are ASC and DESC. By default (ASC), task definitions are listed lexicographically by family name and in ascending numerical order by revision so that the newest task definitions in a family are listed last. Setting this parameter to DESC reverses the sort order on family name and revision so that the newest task definitions in a family are listed first.", + "maxResults": "The maximum number of task definition results returned by ListTaskDefinitions in paginated output. When this parameter is used, ListTaskDefinitions only returns maxResults results in a single page along with a nextToken response element. The remaining results of the initial request can be seen by sending another ListTaskDefinitions request with the returned nextToken value. This value can be between 1 and 100. If this parameter is not used, then ListTaskDefinitions returns up to 100 results and a nextToken value if applicable.", + "nextToken": "The nextToken value returned from a ListTaskDefinitions request indicating that more results are available to fulfill the request and further calls will be needed. If maxResults was provided, it is possible the number of results to be fewer than maxResults. This token should be treated as an opaque identifier that is only used to retrieve the next items in a list and not for other programmatic purposes. ", + "familyPrefix": "The full family name with which to filter the ListTaskDefinitions results. Specifying a familyPrefix limits the listed task definitions to task definition revisions that belong to that family." +} +""" +ListTaskDefinitions() = ecs("ListTaskDefinitions") +ListTaskDefinitions(args) = ecs("ListTaskDefinitions", args) + +""" + TagResource() + +Associates the specified tags to a resource with the specified resourceArn. If existing tags on a resource are not specified in the request parameters, they are not changed. When a resource is deleted, the tags associated with that resource are deleted as well. + +Required Parameters +{ + "resourceArn": "The Amazon Resource Name (ARN) of the resource to which to add tags. Currently, the supported resources are Amazon ECS capacity providers, tasks, services, task definitions, clusters, and container instances.", + "tags": "The tags to add to the resource. A tag is an array of key-value pairs. The following basic restrictions apply to tags: Maximum number of tags per resource - 50 For each resource, each tag key must be unique, and each tag key can have only one value. Maximum key length - 128 Unicode characters in UTF-8 Maximum value length - 256 Unicode characters in UTF-8 If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : / @. Tag keys and values are case-sensitive. Do not use aws:, AWS:, or any upper or lowercase combination of such as a prefix for either keys or values as it is reserved for AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with this prefix do not count against your tags per resource limit. " +} +""" +TagResource(args) = ecs("TagResource", args) + +""" + DeleteAccountSetting() + +Disables an account setting for a specified IAM user, IAM role, or the root user for an account. + +Required Parameters +{ + "name": "The resource name for which to disable the account setting. If serviceLongArnFormat is specified, the ARN for your Amazon ECS services is affected. If taskLongArnFormat is specified, the ARN and resource ID for your Amazon ECS tasks is affected. If containerInstanceLongArnFormat is specified, the ARN and resource ID for your Amazon ECS container instances is affected. If awsvpcTrunking is specified, the ENI limit for your Amazon ECS container instances is affected." +} + +Optional Parameters +{ + "principalArn": "The ARN of the principal, which can be an IAM user, IAM role, or the root user. If you specify the root user, it disables the account setting for all IAM users, IAM roles, and the root user of the account unless an IAM user or role explicitly overrides these settings. If this field is omitted, the setting is changed only for the authenticated user." +} +""" +DeleteAccountSetting(args) = ecs("DeleteAccountSetting", args) + +""" + DeleteCluster() + +Deletes the specified cluster. The cluster will transition to the INACTIVE state. Clusters with an INACTIVE status may remain discoverable in your account for a period of time. However, this behavior is subject to change in the future, so you should not rely on INACTIVE clusters persisting. You must deregister all container instances from this cluster before you may delete it. You can list the container instances in a cluster with ListContainerInstances and deregister them with DeregisterContainerInstance. + +Required Parameters +{ + "cluster": "The short name or full Amazon Resource Name (ARN) of the cluster to delete." +} +""" +DeleteCluster(args) = ecs("DeleteCluster", args) + +""" + DeleteAttributes() + +Deletes one or more custom attributes from an Amazon ECS resource. + +Required Parameters +{ + "attributes": "The attributes to delete from your resource. You can specify up to 10 attributes per request. For custom attributes, specify the attribute name and target ID, but do not specify the value. If you specify the target ID using the short form, you must also specify the target type." +} + +Optional Parameters +{ + "cluster": "The short name or full Amazon Resource Name (ARN) of the cluster that contains the resource to delete attributes. If you do not specify a cluster, the default cluster is assumed." +} +""" +DeleteAttributes(args) = ecs("DeleteAttributes", args) + +""" + DiscoverPollEndpoint() + + This action is only used by the Amazon ECS agent, and it is not intended for use outside of the agent. Returns an endpoint for the Amazon ECS agent to poll for updates. + +Optional Parameters +{ + "containerInstance": "The container instance ID or full ARN of the container instance. The ARN contains the arn:aws:ecs namespace, followed by the Region of the container instance, the AWS account ID of the container instance owner, the container-instance namespace, and then the container instance ID. For example, arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID.", + "cluster": "The short name or full Amazon Resource Name (ARN) of the cluster to which the container instance belongs." +} +""" +DiscoverPollEndpoint() = ecs("DiscoverPollEndpoint") +DiscoverPollEndpoint(args) = ecs("DiscoverPollEndpoint", args) + +""" + CreateCluster() + +Creates a new Amazon ECS cluster. By default, your account receives a default cluster when you launch your first container instance. However, you can create your own cluster with a unique name with the CreateCluster action. When you call the CreateCluster API operation, Amazon ECS attempts to create the Amazon ECS service-linked role for your account so that required resources in other AWS services can be managed on your behalf. However, if the IAM user that makes the call does not have permissions to create the service-linked role, it is not created. For more information, see Using Service-Linked Roles for Amazon ECS in the Amazon Elastic Container Service Developer Guide. + +Optional Parameters +{ + "defaultCapacityProviderStrategy": "The capacity provider strategy to use by default for the cluster. When creating a service or running a task on a cluster, if no capacity provider or launch type is specified then the default capacity provider strategy for the cluster is used. A capacity provider strategy consists of one or more capacity providers along with the base and weight to assign to them. A capacity provider must be associated with the cluster to be used in a capacity provider strategy. The PutClusterCapacityProviders API is used to associate a capacity provider with a cluster. Only capacity providers with an ACTIVE or UPDATING status can be used. If specifying a capacity provider that uses an Auto Scaling group, the capacity provider must already be created. New capacity providers can be created with the CreateCapacityProvider API operation. To use a AWS Fargate capacity provider, specify either the FARGATE or FARGATE_SPOT capacity providers. The AWS Fargate capacity providers are available to all accounts and only need to be associated with a cluster to be used. If a default capacity provider strategy is not defined for a cluster during creation, it can be defined later with the PutClusterCapacityProviders API operation.", + "capacityProviders": "The short name or full Amazon Resource Name (ARN) of one or more capacity providers to associate with the cluster. If specifying a capacity provider that uses an Auto Scaling group, the capacity provider must already be created and not already associated with another cluster. New capacity providers can be created with the CreateCapacityProvider API operation. To use a AWS Fargate capacity provider, specify either the FARGATE or FARGATE_SPOT capacity providers. The AWS Fargate capacity providers are available to all accounts and only need to be associated with a cluster to be used. The PutClusterCapacityProviders API operation is used to update the list of available capacity providers for a cluster after the cluster is created.", + "settings": "The setting to use when creating a cluster. This parameter is used to enable CloudWatch Container Insights for a cluster. If this value is specified, it will override the containerInsights value set with PutAccountSetting or PutAccountSettingDefault.", + "tags": "The metadata that you apply to the cluster to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define. The following basic restrictions apply to tags: Maximum number of tags per resource - 50 For each resource, each tag key must be unique, and each tag key can have only one value. Maximum key length - 128 Unicode characters in UTF-8 Maximum value length - 256 Unicode characters in UTF-8 If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : / @. Tag keys and values are case-sensitive. Do not use aws:, AWS:, or any upper or lowercase combination of such as a prefix for either keys or values as it is reserved for AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with this prefix do not count against your tags per resource limit. ", + "clusterName": "The name of your cluster. If you do not specify a name for your cluster, you create a cluster named default. Up to 255 letters (uppercase and lowercase), numbers, and hyphens are allowed. " +} +""" +CreateCluster() = ecs("CreateCluster") +CreateCluster(args) = ecs("CreateCluster", args) + +""" + PutAccountSettingDefault() + +Modifies an account setting for all IAM users on an account for whom no individual account setting has been specified. Account settings are set on a per-Region basis. + +Required Parameters +{ + "name": "The resource name for which to modify the account setting. If serviceLongArnFormat is specified, the ARN for your Amazon ECS services is affected. If taskLongArnFormat is specified, the ARN and resource ID for your Amazon ECS tasks is affected. If containerInstanceLongArnFormat is specified, the ARN and resource ID for your Amazon ECS container instances is affected. If awsvpcTrunking is specified, the ENI limit for your Amazon ECS container instances is affected. If containerInsights is specified, the default setting for CloudWatch Container Insights for your clusters is affected.", + "value": "The account setting value for the specified principal ARN. Accepted values are enabled and disabled." +} +""" +PutAccountSettingDefault(args) = ecs("PutAccountSettingDefault", args) + +""" + SubmitAttachmentStateChanges() + + This action is only used by the Amazon ECS agent, and it is not intended for use outside of the agent. Sent to acknowledge that an attachment changed states. + +Required Parameters +{ + "attachments": "Any attachments associated with the state change request." +} + +Optional Parameters +{ + "cluster": "The short name or full ARN of the cluster that hosts the container instance the attachment belongs to." +} +""" +SubmitAttachmentStateChanges(args) = ecs("SubmitAttachmentStateChanges", args) + +""" + UpdateService() + +Modifies the parameters of a service. For services using the rolling update (ECS) deployment controller, the desired count, deployment configuration, network configuration, or task definition used can be updated. For services using the blue/green (CODE_DEPLOY) deployment controller, only the desired count, deployment configuration, and health check grace period can be updated using this API. If the network configuration, platform version, or task definition need to be updated, a new AWS CodeDeploy deployment should be created. For more information, see CreateDeployment in the AWS CodeDeploy API Reference. For services using an external deployment controller, you can update only the desired count and health check grace period using this API. If the launch type, load balancer, network configuration, platform version, or task definition need to be updated, you should create a new task set. For more information, see CreateTaskSet. You can add to or subtract from the number of instantiations of a task definition in a service by specifying the cluster that the service is running in and a new desiredCount parameter. If you have updated the Docker image of your application, you can create a new task definition with that image and deploy it to your service. The service scheduler uses the minimum healthy percent and maximum percent parameters (in the service's deployment configuration) to determine the deployment strategy. If your updated Docker image uses the same tag as what is in the existing task definition for your service (for example, my_image:latest), you do not need to create a new revision of your task definition. You can update the service using the forceNewDeployment option. The new tasks launched by the deployment pull the current image/tag combination from your repository when they start. You can also update the deployment configuration of a service. When a deployment is triggered by updating the task definition of a service, the service scheduler uses the deployment configuration parameters, minimumHealthyPercent and maximumPercent, to determine the deployment strategy. If minimumHealthyPercent is below 100%, the scheduler can ignore desiredCount temporarily during a deployment. For example, if desiredCount is four tasks, a minimum of 50% allows the scheduler to stop two existing tasks before starting two new tasks. Tasks for services that do not use a load balancer are considered healthy if they are in the RUNNING state. Tasks for services that use a load balancer are considered healthy if they are in the RUNNING state and the container instance they are hosted on is reported as healthy by the load balancer. The maximumPercent parameter represents an upper limit on the number of running tasks during a deployment, which enables you to define the deployment batch size. For example, if desiredCount is four tasks, a maximum of 200% starts four new tasks before stopping the four older tasks (provided that the cluster resources required to do this are available). When UpdateService stops a task during a deployment, the equivalent of docker stop is issued to the containers running in the task. This results in a SIGTERM and a 30-second timeout, after which SIGKILL is sent and the containers are forcibly stopped. If the container handles the SIGTERM gracefully and exits within 30 seconds from receiving it, no SIGKILL is sent. When the service scheduler launches new tasks, it determines task placement in your cluster with the following logic: Determine which of the container instances in your cluster can support your service's task definition (for example, they have the required CPU, memory, ports, and container instance attributes). By default, the service scheduler attempts to balance tasks across Availability Zones in this manner (although you can choose a different placement strategy): Sort the valid container instances by the fewest number of running tasks for this service in the same Availability Zone as the instance. For example, if zone A has one running service task and zones B and C each have zero, valid container instances in either zone B or C are considered optimal for placement. Place the new service task on a valid container instance in an optimal Availability Zone (based on the previous steps), favoring container instances with the fewest number of running tasks for this service. When the service scheduler stops running tasks, it attempts to maintain balance across the Availability Zones in your cluster using the following logic: Sort the container instances by the largest number of running tasks for this service in the same Availability Zone as the instance. For example, if zone A has one running service task and zones B and C each have two, container instances in either zone B or C are considered optimal for termination. Stop the task on a container instance in an optimal Availability Zone (based on the previous steps), favoring container instances with the largest number of running tasks for this service. + +Required Parameters +{ + "service": "The name of the service to update." +} + +Optional Parameters +{ + "healthCheckGracePeriodSeconds": "The period of time, in seconds, that the Amazon ECS service scheduler should ignore unhealthy Elastic Load Balancing target health checks after a task has first started. This is only valid if your service is configured to use a load balancer. If your service's tasks take a while to start and respond to Elastic Load Balancing health checks, you can specify a health check grace period of up to 2,147,483,647 seconds. During that time, the Amazon ECS service scheduler ignores the Elastic Load Balancing health check status. This grace period can prevent the ECS service scheduler from marking tasks as unhealthy and stopping them before they have time to come up.", + "taskDefinition": "The family and revision (family:revision) or full ARN of the task definition to run in your service. If a revision is not specified, the latest ACTIVE revision is used. If you modify the task definition with UpdateService, Amazon ECS spawns a task with the new version of the task definition and then stops an old task after the new version is running.", + "platformVersion": "The platform version on which your tasks in the service are running. A platform version is only specified for tasks using the Fargate launch type. If a platform version is not specified, the LATEST platform version is used by default. For more information, see AWS Fargate Platform Versions in the Amazon Elastic Container Service Developer Guide.", + "capacityProviderStrategy": "The capacity provider strategy to update the service to use. If the service is using the default capacity provider strategy for the cluster, the service can be updated to use one or more capacity providers. However, when a service is using a non-default capacity provider strategy, the service cannot be updated to use the cluster's default capacity provider strategy. ", + "deploymentConfiguration": "Optional deployment parameters that control how many tasks run during the deployment and the ordering of stopping and starting tasks.", + "placementStrategy": "The task placement strategy objects to update the service to use. If no value is specified, the existing placement strategy for the service will remain unchanged. If this value is specified, it will override the existing placement strategy defined for the service. To remove an existing placement strategy, specify an empty object. You can specify a maximum of five strategy rules per service.", + "forceNewDeployment": "Whether to force a new deployment of the service. Deployments are not forced by default. You can use this option to trigger a new deployment with no service definition changes. For example, you can update a service's tasks to use a newer Docker image with the same image/tag combination (my_image:latest) or to roll Fargate tasks onto a newer platform version.", + "networkConfiguration": "", + "cluster": "The short name or full Amazon Resource Name (ARN) of the cluster that your service is running on. If you do not specify a cluster, the default cluster is assumed.", + "desiredCount": "The number of instantiations of the task to place and keep running in your service.", + "placementConstraints": "An array of task placement constraint objects to update the service to use. If no value is specified, the existing placement constraints for the service will remain unchanged. If this value is specified, it will override any existing placement constraints defined for the service. To remove all existing placement constraints, specify an empty array. You can specify a maximum of 10 constraints per task (this limit includes constraints in the task definition and those specified at runtime)." +} +""" +UpdateService(args) = ecs("UpdateService", args) + +""" + UntagResource() + +Deletes specified tags from a resource. + +Required Parameters +{ + "resourceArn": "The Amazon Resource Name (ARN) of the resource from which to delete tags. Currently, the supported resources are Amazon ECS capacity providers, tasks, services, task definitions, clusters, and container instances.", + "tagKeys": "The keys of the tags to be removed." +} +""" +UntagResource(args) = ecs("UntagResource", args) + +""" + ListAccountSettings() + +Lists the account settings for a specified principal. + +Optional Parameters +{ + "name": "The resource name you want to list the account settings for.", + "maxResults": "The maximum number of account setting results returned by ListAccountSettings in paginated output. When this parameter is used, ListAccountSettings only returns maxResults results in a single page along with a nextToken response element. The remaining results of the initial request can be seen by sending another ListAccountSettings request with the returned nextToken value. This value can be between 1 and 10. If this parameter is not used, then ListAccountSettings returns up to 10 results and a nextToken value if applicable.", + "value": "The value of the account settings with which to filter results. You must also specify an account setting name to use this parameter.", + "principalArn": "The ARN of the principal, which can be an IAM user, IAM role, or the root user. If this field is omitted, the account settings are listed only for the authenticated user.", + "effectiveSettings": "Specifies whether to return the effective settings. If true, the account settings for the root user or the default setting for the principalArn are returned. If false, the account settings for the principalArn are returned if they are set. Otherwise, no account settings are returned.", + "nextToken": "The nextToken value returned from a ListAccountSettings request indicating that more results are available to fulfill the request and further calls will be needed. If maxResults was provided, it is possible the number of results to be fewer than maxResults. This token should be treated as an opaque identifier that is only used to retrieve the next items in a list and not for other programmatic purposes. " +} +""" +ListAccountSettings() = ecs("ListAccountSettings") +ListAccountSettings(args) = ecs("ListAccountSettings", args) + +""" + PutAccountSetting() + +Modifies an account setting. Account settings are set on a per-Region basis. If you change the account setting for the root user, the default settings for all of the IAM users and roles for which no individual account setting has been specified are reset. For more information, see Account Settings in the Amazon Elastic Container Service Developer Guide. When serviceLongArnFormat, taskLongArnFormat, or containerInstanceLongArnFormat are specified, the Amazon Resource Name (ARN) and resource ID format of the resource type for a specified IAM user, IAM role, or the root user for an account is affected. The opt-in and opt-out account setting must be set for each Amazon ECS resource separately. The ARN and resource ID format of a resource will be defined by the opt-in status of the IAM user or role that created the resource. You must enable this setting to use Amazon ECS features such as resource tagging. When awsvpcTrunking is specified, the elastic network interface (ENI) limit for any new container instances that support the feature is changed. If awsvpcTrunking is enabled, any new container instances that support the feature are launched have the increased ENI limits available to them. For more information, see Elastic Network Interface Trunking in the Amazon Elastic Container Service Developer Guide. When containerInsights is specified, the default setting indicating whether CloudWatch Container Insights is enabled for your clusters is changed. If containerInsights is enabled, any new clusters that are created will have Container Insights enabled unless you disable it during cluster creation. For more information, see CloudWatch Container Insights in the Amazon Elastic Container Service Developer Guide. + +Required Parameters +{ + "name": "The Amazon ECS resource name for which to modify the account setting. If serviceLongArnFormat is specified, the ARN for your Amazon ECS services is affected. If taskLongArnFormat is specified, the ARN and resource ID for your Amazon ECS tasks is affected. If containerInstanceLongArnFormat is specified, the ARN and resource ID for your Amazon ECS container instances is affected. If awsvpcTrunking is specified, the elastic network interface (ENI) limit for your Amazon ECS container instances is affected. If containerInsights is specified, the default setting for CloudWatch Container Insights for your clusters is affected.", + "value": "The account setting value for the specified principal ARN. Accepted values are enabled and disabled." +} + +Optional Parameters +{ + "principalArn": "The ARN of the principal, which can be an IAM user, IAM role, or the root user. If you specify the root user, it modifies the account setting for all IAM users, IAM roles, and the root user of the account unless an IAM user or role explicitly overrides these settings. If this field is omitted, the setting is changed only for the authenticated user." +} +""" +PutAccountSetting(args) = ecs("PutAccountSetting", args) + +""" + DescribeServices() + +Describes the specified services running in your cluster. + +Required Parameters +{ + "services": "A list of services to describe. You may specify up to 10 services to describe in a single operation." +} + +Optional Parameters +{ + "include": "Specifies whether you want to see the resource tags for the service. If TAGS is specified, the tags are included in the response. If this field is omitted, tags are not included in the response.", + "cluster": "The short name or full Amazon Resource Name (ARN)the cluster that hosts the service to describe. If you do not specify a cluster, the default cluster is assumed. This parameter is required if the service or services you are describing were launched in any cluster other than the default cluster." +} +""" +DescribeServices(args) = ecs("DescribeServices", args) + +""" + UpdateContainerAgent() + +Updates the Amazon ECS container agent on a specified container instance. Updating the Amazon ECS container agent does not interrupt running tasks or services on the container instance. The process for updating the agent differs depending on whether your container instance was launched with the Amazon ECS-optimized AMI or another operating system. UpdateContainerAgent requires the Amazon ECS-optimized AMI or Amazon Linux with the ecs-init service installed and running. For help updating the Amazon ECS container agent on other operating systems, see Manually Updating the Amazon ECS Container Agent in the Amazon Elastic Container Service Developer Guide. + +Required Parameters +{ + "containerInstance": "The container instance ID or full ARN entries for the container instance on which you would like to update the Amazon ECS container agent." +} + +Optional Parameters +{ + "cluster": "The short name or full Amazon Resource Name (ARN) of the cluster that your container instance is running on. If you do not specify a cluster, the default cluster is assumed." +} +""" +UpdateContainerAgent(args) = ecs("UpdateContainerAgent", args) + +""" + DeleteTaskSet() + +Deletes a specified task set within a service. This is used when a service uses the EXTERNAL deployment controller type. For more information, see Amazon ECS Deployment Types in the Amazon Elastic Container Service Developer Guide. + +Required Parameters +{ + "taskSet": "The task set ID or full Amazon Resource Name (ARN) of the task set to delete.", + "service": "The short name or full Amazon Resource Name (ARN) of the service that hosts the task set to delete.", + "cluster": "The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service that the task set exists in to delete." +} + +Optional Parameters +{ + "force": "If true, this allows you to delete a task set even if it hasn't been scaled down to zero." +} +""" +DeleteTaskSet(args) = ecs("DeleteTaskSet", args) + +""" + RegisterContainerInstance() + + This action is only used by the Amazon ECS agent, and it is not intended for use outside of the agent. Registers an EC2 instance into the specified cluster. This instance becomes available to place containers on. + +Optional Parameters +{ + "cluster": "The short name or full Amazon Resource Name (ARN) of the cluster with which to register your container instance. If you do not specify a cluster, the default cluster is assumed.", + "versionInfo": "The version information for the Amazon ECS container agent and Docker daemon running on the container instance.", + "instanceIdentityDocumentSignature": "The instance identity document signature for the EC2 instance to register. This signature can be found by running the following command from the instance: curl http://169.254.169.254/latest/dynamic/instance-identity/signature/ ", + "attributes": "The container instance attributes that this container instance supports.", + "containerInstanceArn": "The ARN of the container instance (if it was previously registered).", + "totalResources": "The resources available on the instance.", + "tags": "The metadata that you apply to the container instance to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define. The following basic restrictions apply to tags: Maximum number of tags per resource - 50 For each resource, each tag key must be unique, and each tag key can have only one value. Maximum key length - 128 Unicode characters in UTF-8 Maximum value length - 256 Unicode characters in UTF-8 If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : / @. Tag keys and values are case-sensitive. Do not use aws:, AWS:, or any upper or lowercase combination of such as a prefix for either keys or values as it is reserved for AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with this prefix do not count against your tags per resource limit. ", + "platformDevices": "The devices that are available on the container instance. The only supported device type is a GPU.", + "instanceIdentityDocument": "The instance identity document for the EC2 instance to register. This document can be found by running the following command from the instance: curl http://169.254.169.254/latest/dynamic/instance-identity/document/ " +} +""" +RegisterContainerInstance() = ecs("RegisterContainerInstance") +RegisterContainerInstance(args) = ecs("RegisterContainerInstance", args) + +""" + UpdateContainerInstancesState() + +Modifies the status of an Amazon ECS container instance. Once a container instance has reached an ACTIVE state, you can change the status of a container instance to DRAINING to manually remove an instance from a cluster, for example to perform system updates, update the Docker daemon, or scale down the cluster size. A container instance cannot be changed to DRAINING until it has reached an ACTIVE status. If the instance is in any other status, an error will be received. When you set a container instance to DRAINING, Amazon ECS prevents new tasks from being scheduled for placement on the container instance and replacement service tasks are started on other container instances in the cluster if the resources are available. Service tasks on the container instance that are in the PENDING state are stopped immediately. Service tasks on the container instance that are in the RUNNING state are stopped and replaced according to the service's deployment configuration parameters, minimumHealthyPercent and maximumPercent. You can change the deployment configuration of your service using UpdateService. If minimumHealthyPercent is below 100%, the scheduler can ignore desiredCount temporarily during task replacement. For example, desiredCount is four tasks, a minimum of 50% allows the scheduler to stop two existing tasks before starting two new tasks. If the minimum is 100%, the service scheduler can't remove existing tasks until the replacement tasks are considered healthy. Tasks for services that do not use a load balancer are considered healthy if they are in the RUNNING state. Tasks for services that use a load balancer are considered healthy if they are in the RUNNING state and the container instance they are hosted on is reported as healthy by the load balancer. The maximumPercent parameter represents an upper limit on the number of running tasks during task replacement, which enables you to define the replacement batch size. For example, if desiredCount is four tasks, a maximum of 200% starts four new tasks before stopping the four tasks to be drained, provided that the cluster resources required to do this are available. If the maximum is 100%, then replacement tasks can't start until the draining tasks have stopped. Any PENDING or RUNNING tasks that do not belong to a service are not affected. You must wait for them to finish or stop them manually. A container instance has completed draining when it has no more RUNNING tasks. You can verify this using ListTasks. When a container instance has been drained, you can set a container instance to ACTIVE status and once it has reached that status the Amazon ECS scheduler can begin scheduling tasks on the instance again. + +Required Parameters +{ + "containerInstances": "A list of container instance IDs or full ARN entries.", + "status": "The container instance state with which to update the container instance. The only valid values for this action are ACTIVE and DRAINING. A container instance can only be updated to DRAINING status once it has reached an ACTIVE state. If a container instance is in REGISTERING, DEREGISTERING, or REGISTRATION_FAILED state you can describe the container instance but will be unable to update the container instance state." +} + +Optional Parameters +{ + "cluster": "The short name or full Amazon Resource Name (ARN) of the cluster that hosts the container instance to update. If you do not specify a cluster, the default cluster is assumed." +} +""" +UpdateContainerInstancesState(args) = ecs("UpdateContainerInstancesState", args) + +""" + ListTagsForResource() + +List the tags for an Amazon ECS resource. + +Required Parameters +{ + "resourceArn": "The Amazon Resource Name (ARN) that identifies the resource for which to list the tags. Currently, the supported resources are Amazon ECS tasks, services, task definitions, clusters, and container instances." +} +""" +ListTagsForResource(args) = ecs("ListTagsForResource", args) + +""" + RunTask() + +Starts a new task using the specified task definition. You can allow Amazon ECS to place tasks for you, or you can customize how Amazon ECS places tasks using placement constraints and placement strategies. For more information, see Scheduling Tasks in the Amazon Elastic Container Service Developer Guide. Alternatively, you can use StartTask to use your own scheduler or place tasks manually on specific container instances. The Amazon ECS API follows an eventual consistency model, due to the distributed nature of the system supporting the API. This means that the result of an API command you run that affects your Amazon ECS resources might not be immediately visible to all subsequent commands you run. Keep this in mind when you carry out an API command that immediately follows a previous API command. To manage eventual consistency, you can do the following: Confirm the state of the resource before you run a command to modify it. Run the DescribeTasks command using an exponential backoff algorithm to ensure that you allow enough time for the previous command to propagate through the system. To do this, run the DescribeTasks command repeatedly, starting with a couple of seconds of wait time and increasing gradually up to five minutes of wait time. Add wait time between subsequent commands, even if the DescribeTasks command returns an accurate response. Apply an exponential backoff algorithm starting with a couple of seconds of wait time, and increase gradually up to about five minutes of wait time. + +Required Parameters +{ + "taskDefinition": "The family and revision (family:revision) or full ARN of the task definition to run. If a revision is not specified, the latest ACTIVE revision is used." +} + +Optional Parameters +{ + "platformVersion": "The platform version the task should run. A platform version is only specified for tasks using the Fargate launch type. If one is not specified, the LATEST platform version is used by default. For more information, see AWS Fargate Platform Versions in the Amazon Elastic Container Service Developer Guide.", + "launchType": "The launch type on which to run your task. For more information, see Amazon ECS Launch Types in the Amazon Elastic Container Service Developer Guide. If a launchType is specified, the capacityProviderStrategy parameter must be omitted.", + "capacityProviderStrategy": "The capacity provider strategy to use for the task. A capacity provider strategy consists of one or more capacity providers along with the base and weight to assign to them. A capacity provider must be associated with the cluster to be used in a capacity provider strategy. The PutClusterCapacityProviders API is used to associate a capacity provider with a cluster. Only capacity providers with an ACTIVE or UPDATING status can be used. If a capacityProviderStrategy is specified, the launchType parameter must be omitted. If no capacityProviderStrategy or launchType is specified, the defaultCapacityProviderStrategy for the cluster is used. If specifying a capacity provider that uses an Auto Scaling group, the capacity provider must already be created. New capacity providers can be created with the CreateCapacityProvider API operation. To use a AWS Fargate capacity provider, specify either the FARGATE or FARGATE_SPOT capacity providers. The AWS Fargate capacity providers are available to all accounts and only need to be associated with a cluster to be used. The PutClusterCapacityProviders API operation is used to update the list of available capacity providers for a cluster after the cluster is created.", + "count": "The number of instantiations of the specified task to place on your cluster. You can specify up to 10 tasks per call.", + "referenceId": "The reference ID to use for the task.", + "placementStrategy": "The placement strategy objects to use for the task. You can specify a maximum of five strategy rules per task.", + "networkConfiguration": "The network configuration for the task. This parameter is required for task definitions that use the awsvpc network mode to receive their own elastic network interface, and it is not supported for other network modes. For more information, see Task Networking in the Amazon Elastic Container Service Developer Guide.", + "enableECSManagedTags": "Specifies whether to enable Amazon ECS managed tags for the task. For more information, see Tagging Your Amazon ECS Resources in the Amazon Elastic Container Service Developer Guide.", + "group": "The name of the task group to associate with the task. The default value is the family name of the task definition (for example, family:my-family-name).", + "cluster": "The short name or full Amazon Resource Name (ARN) of the cluster on which to run your task. If you do not specify a cluster, the default cluster is assumed.", + "overrides": "A list of container overrides in JSON format that specify the name of a container in the specified task definition and the overrides it should receive. You can override the default command for a container (that is specified in the task definition or Docker image) with a command override. You can also override existing environment variables (that are specified in the task definition or Docker image) on a container or add new environment variables to it with an environment override. A total of 8192 characters are allowed for overrides. This limit includes the JSON formatting characters of the override structure. ", + "propagateTags": "Specifies whether to propagate the tags from the task definition to the task. If no value is specified, the tags are not propagated. Tags can only be propagated to the task during task creation. To add tags to a task after task creation, use the TagResource API action. An error will be received if you specify the SERVICE option when running a task. ", + "placementConstraints": "An array of placement constraint objects to use for the task. You can specify up to 10 constraints per task (including constraints in the task definition and those specified at runtime).", + "startedBy": "An optional tag specified when a task is started. For example, if you automatically trigger a task to run a batch process job, you could apply a unique identifier for that job to your task with the startedBy parameter. You can then identify which tasks belong to that job by filtering the results of a ListTasks call with the startedBy value. Up to 36 letters (uppercase and lowercase), numbers, hyphens, and underscores are allowed. If a task is started by an Amazon ECS service, then the startedBy parameter contains the deployment ID of the service that starts it.", + "tags": "The metadata that you apply to the task to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define. The following basic restrictions apply to tags: Maximum number of tags per resource - 50 For each resource, each tag key must be unique, and each tag key can have only one value. Maximum key length - 128 Unicode characters in UTF-8 Maximum value length - 256 Unicode characters in UTF-8 If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : / @. Tag keys and values are case-sensitive. Do not use aws:, AWS:, or any upper or lowercase combination of such as a prefix for either keys or values as it is reserved for AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with this prefix do not count against your tags per resource limit. " +} +""" +RunTask(args) = ecs("RunTask", args) + +""" + DescribeCapacityProviders() + +Describes one or more of your capacity providers. + +Optional Parameters +{ + "capacityProviders": "The short name or full Amazon Resource Name (ARN) of one or more capacity providers. Up to 100 capacity providers can be described in an action.", + "maxResults": "The maximum number of account setting results returned by DescribeCapacityProviders in paginated output. When this parameter is used, DescribeCapacityProviders only returns maxResults results in a single page along with a nextToken response element. The remaining results of the initial request can be seen by sending another DescribeCapacityProviders request with the returned nextToken value. This value can be between 1 and 10. If this parameter is not used, then DescribeCapacityProviders returns up to 10 results and a nextToken value if applicable.", + "nextToken": "The nextToken value returned from a previous paginated DescribeCapacityProviders request where maxResults was used and the results exceeded the value of that parameter. Pagination continues from the end of the previous results that returned the nextToken value. This token should be treated as an opaque identifier that is only used to retrieve the next items in a list and not for other programmatic purposes. ", + "include": "Specifies whether or not you want to see the resource tags for the capacity provider. If TAGS is specified, the tags are included in the response. If this field is omitted, tags are not included in the response." +} +""" +DescribeCapacityProviders() = ecs("DescribeCapacityProviders") +DescribeCapacityProviders(args) = ecs("DescribeCapacityProviders", args) + +""" + ListTasks() + +Returns a list of tasks for a specified cluster. You can filter the results by family name, by a particular container instance, or by the desired status of the task with the family, containerInstance, and desiredStatus parameters. Recently stopped tasks might appear in the returned results. Currently, stopped tasks appear in the returned results for at least one hour. + +Optional Parameters +{ + "family": "The name of the family with which to filter the ListTasks results. Specifying a family limits the results to tasks that belong to that family.", + "serviceName": "The name of the service with which to filter the ListTasks results. Specifying a serviceName limits the results to tasks that belong to that service.", + "desiredStatus": "The task desired status with which to filter the ListTasks results. Specifying a desiredStatus of STOPPED limits the results to tasks that Amazon ECS has set the desired status to STOPPED. This can be useful for debugging tasks that are not starting properly or have died or finished. The default status filter is RUNNING, which shows tasks that Amazon ECS has set the desired status to RUNNING. Although you can filter results based on a desired status of PENDING, this does not return any results. Amazon ECS never sets the desired status of a task to that value (only a task's lastStatus may have a value of PENDING). ", + "launchType": "The launch type for services to list.", + "maxResults": "The maximum number of task results returned by ListTasks in paginated output. When this parameter is used, ListTasks only returns maxResults results in a single page along with a nextToken response element. The remaining results of the initial request can be seen by sending another ListTasks request with the returned nextToken value. This value can be between 1 and 100. If this parameter is not used, then ListTasks returns up to 100 results and a nextToken value if applicable.", + "startedBy": "The startedBy value with which to filter the task results. Specifying a startedBy value limits the results to tasks that were started with that value.", + "containerInstance": "The container instance ID or full ARN of the container instance with which to filter the ListTasks results. Specifying a containerInstance limits the results to tasks that belong to that container instance.", + "nextToken": "The nextToken value returned from a ListTasks request indicating that more results are available to fulfill the request and further calls will be needed. If maxResults was provided, it is possible the number of results to be fewer than maxResults. This token should be treated as an opaque identifier that is only used to retrieve the next items in a list and not for other programmatic purposes. ", + "cluster": "The short name or full Amazon Resource Name (ARN) of the cluster that hosts the tasks to list. If you do not specify a cluster, the default cluster is assumed." +} +""" +ListTasks() = ecs("ListTasks") +ListTasks(args) = ecs("ListTasks", args) + +""" + DescribeTasks() + +Describes a specified task or tasks. + +Required Parameters +{ + "tasks": "A list of up to 100 task IDs or full ARN entries." +} + +Optional Parameters +{ + "include": "Specifies whether you want to see the resource tags for the task. If TAGS is specified, the tags are included in the response. If this field is omitted, tags are not included in the response.", + "cluster": "The short name or full Amazon Resource Name (ARN) of the cluster that hosts the task or tasks to describe. If you do not specify a cluster, the default cluster is assumed. This parameter is required if the task or tasks you are describing were launched in any cluster other than the default cluster." +} +""" +DescribeTasks(args) = ecs("DescribeTasks", args) + +""" + DeleteService() + +Deletes a specified service within a cluster. You can delete a service if you have no running tasks in it and the desired task count is zero. If the service is actively maintaining tasks, you cannot delete it, and you must update the service to a desired task count of zero. For more information, see UpdateService. When you delete a service, if there are still running tasks that require cleanup, the service status moves from ACTIVE to DRAINING, and the service is no longer visible in the console or in the ListServices API operation. After all tasks have transitioned to either STOPPING or STOPPED status, the service status moves from DRAINING to INACTIVE. Services in the DRAINING or INACTIVE status can still be viewed with the DescribeServices API operation. However, in the future, INACTIVE services may be cleaned up and purged from Amazon ECS record keeping, and DescribeServices calls on those services return a ServiceNotFoundException error. If you attempt to create a new service with the same name as an existing service in either ACTIVE or DRAINING status, you receive an error. + +Required Parameters +{ + "service": "The name of the service to delete." +} + +Optional Parameters +{ + "force": "If true, allows you to delete a service even if it has not been scaled down to zero tasks. It is only necessary to use this if the service is using the REPLICA scheduling strategy.", + "cluster": "The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service to delete. If you do not specify a cluster, the default cluster is assumed." +} +""" +DeleteService(args) = ecs("DeleteService", args) + +""" + UpdateTaskSet() + +Modifies a task set. This is used when a service uses the EXTERNAL deployment controller type. For more information, see Amazon ECS Deployment Types in the Amazon Elastic Container Service Developer Guide. + +Required Parameters +{ + "taskSet": "The short name or full Amazon Resource Name (ARN) of the task set to update.", + "service": "The short name or full Amazon Resource Name (ARN) of the service that the task set exists in.", + "scale": "", + "cluster": "The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service that the task set exists in." +} +""" +UpdateTaskSet(args) = ecs("UpdateTaskSet", args) + +""" + ListServices() + +Lists the services that are running in a specified cluster. + +Optional Parameters +{ + "schedulingStrategy": "The scheduling strategy for services to list.", + "launchType": "The launch type for the services to list.", + "maxResults": "The maximum number of service results returned by ListServices in paginated output. When this parameter is used, ListServices only returns maxResults results in a single page along with a nextToken response element. The remaining results of the initial request can be seen by sending another ListServices request with the returned nextToken value. This value can be between 1 and 100. If this parameter is not used, then ListServices returns up to 10 results and a nextToken value if applicable.", + "nextToken": "The nextToken value returned from a ListServices request indicating that more results are available to fulfill the request and further calls will be needed. If maxResults was provided, it is possible the number of results to be fewer than maxResults. This token should be treated as an opaque identifier that is only used to retrieve the next items in a list and not for other programmatic purposes. ", + "cluster": "The short name or full Amazon Resource Name (ARN) of the cluster that hosts the services to list. If you do not specify a cluster, the default cluster is assumed." +} +""" +ListServices() = ecs("ListServices") +ListServices(args) = ecs("ListServices", args) + +""" + DeregisterContainerInstance() + +Deregisters an Amazon ECS container instance from the specified cluster. This instance is no longer available to run tasks. If you intend to use the container instance for some other purpose after deregistration, you should stop all of the tasks running on the container instance before deregistration. That prevents any orphaned tasks from consuming resources. Deregistering a container instance removes the instance from a cluster, but it does not terminate the EC2 instance. If you are finished using the instance, be sure to terminate it in the Amazon EC2 console to stop billing. If you terminate a running container instance, Amazon ECS automatically deregisters the instance from your cluster (stopped container instances or instances with disconnected agents are not automatically deregistered when terminated). + +Required Parameters +{ + "containerInstance": "The container instance ID or full ARN of the container instance to deregister. The ARN contains the arn:aws:ecs namespace, followed by the Region of the container instance, the AWS account ID of the container instance owner, the container-instance namespace, and then the container instance ID. For example, arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID." +} + +Optional Parameters +{ + "force": "Forces the deregistration of the container instance. If you have tasks running on the container instance when you deregister it with the force option, these tasks remain running until you terminate the instance or the tasks stop through some other means, but they are orphaned (no longer monitored or accounted for by Amazon ECS). If an orphaned task on your container instance is part of an Amazon ECS service, then the service scheduler starts another copy of that task, on a different container instance if possible. Any containers in orphaned service tasks that are registered with a Classic Load Balancer or an Application Load Balancer target group are deregistered. They begin connection draining according to the settings on the load balancer or target group.", + "cluster": "The short name or full Amazon Resource Name (ARN) of the cluster that hosts the container instance to deregister. If you do not specify a cluster, the default cluster is assumed." +} +""" +DeregisterContainerInstance(args) = ecs("DeregisterContainerInstance", args) + +""" + CreateService() + +Runs and maintains a desired number of tasks from a specified task definition. If the number of tasks running in a service drops below the desiredCount, Amazon ECS runs another copy of the task in the specified cluster. To update an existing service, see the UpdateService action. In addition to maintaining the desired count of tasks in your service, you can optionally run your service behind one or more load balancers. The load balancers distribute traffic across the tasks that are associated with the service. For more information, see Service Load Balancing in the Amazon Elastic Container Service Developer Guide. Tasks for services that do not use a load balancer are considered healthy if they're in the RUNNING state. Tasks for services that do use a load balancer are considered healthy if they're in the RUNNING state and the container instance that they're hosted on is reported as healthy by the load balancer. There are two service scheduler strategies available: REPLICA - The replica scheduling strategy places and maintains the desired number of tasks across your cluster. By default, the service scheduler spreads tasks across Availability Zones. You can use task placement strategies and constraints to customize task placement decisions. For more information, see Service Scheduler Concepts in the Amazon Elastic Container Service Developer Guide. DAEMON - The daemon scheduling strategy deploys exactly one task on each active container instance that meets all of the task placement constraints that you specify in your cluster. When using this strategy, you don't need to specify a desired number of tasks, a task placement strategy, or use Service Auto Scaling policies. For more information, see Service Scheduler Concepts in the Amazon Elastic Container Service Developer Guide. You can optionally specify a deployment configuration for your service. The deployment is triggered by changing properties, such as the task definition or the desired count of a service, with an UpdateService operation. The default value for a replica service for minimumHealthyPercent is 100%. The default value for a daemon service for minimumHealthyPercent is 0%. If a service is using the ECS deployment controller, the minimum healthy percent represents a lower limit on the number of tasks in a service that must remain in the RUNNING state during a deployment, as a percentage of the desired number of tasks (rounded up to the nearest integer), and while any container instances are in the DRAINING state if the service contains tasks using the EC2 launch type. This parameter enables you to deploy without using additional cluster capacity. For example, if your service has a desired number of four tasks and a minimum healthy percent of 50%, the scheduler might stop two existing tasks to free up cluster capacity before starting two new tasks. Tasks for services that do not use a load balancer are considered healthy if they're in the RUNNING state. Tasks for services that do use a load balancer are considered healthy if they're in the RUNNING state and they're reported as healthy by the load balancer. The default value for minimum healthy percent is 100%. If a service is using the ECS deployment controller, the maximum percent parameter represents an upper limit on the number of tasks in a service that are allowed in the RUNNING or PENDING state during a deployment, as a percentage of the desired number of tasks (rounded down to the nearest integer), and while any container instances are in the DRAINING state if the service contains tasks using the EC2 launch type. This parameter enables you to define the deployment batch size. For example, if your service has a desired number of four tasks and a maximum percent value of 200%, the scheduler may start four new tasks before stopping the four older tasks (provided that the cluster resources required to do this are available). The default value for maximum percent is 200%. If a service is using either the CODE_DEPLOY or EXTERNAL deployment controller types and tasks that use the EC2 launch type, the minimum healthy percent and maximum percent values are used only to define the lower and upper limit on the number of the tasks in the service that remain in the RUNNING state while the container instances are in the DRAINING state. If the tasks in the service use the Fargate launch type, the minimum healthy percent and maximum percent values aren't used, although they're currently visible when describing your service. When creating a service that uses the EXTERNAL deployment controller, you can specify only parameters that aren't controlled at the task set level. The only required parameter is the service name. You control your services using the CreateTaskSet operation. For more information, see Amazon ECS Deployment Types in the Amazon Elastic Container Service Developer Guide. When the service scheduler launches new tasks, it determines task placement in your cluster using the following logic: Determine which of the container instances in your cluster can support your service's task definition (for example, they have the required CPU, memory, ports, and container instance attributes). By default, the service scheduler attempts to balance tasks across Availability Zones in this manner (although you can choose a different placement strategy) with the placementStrategy parameter): Sort the valid container instances, giving priority to instances that have the fewest number of running tasks for this service in their respective Availability Zone. For example, if zone A has one running service task and zones B and C each have zero, valid container instances in either zone B or C are considered optimal for placement. Place the new service task on a valid container instance in an optimal Availability Zone (based on the previous steps), favoring container instances with the fewest number of running tasks for this service. + +Required Parameters +{ + "serviceName": "The name of your service. Up to 255 letters (uppercase and lowercase), numbers, and hyphens are allowed. Service names must be unique within a cluster, but you can have similarly named services in multiple clusters within a Region or across multiple Regions." +} + +Optional Parameters +{ + "healthCheckGracePeriodSeconds": "The period of time, in seconds, that the Amazon ECS service scheduler should ignore unhealthy Elastic Load Balancing target health checks after a task has first started. This is only used when your service is configured to use a load balancer. If your service has a load balancer defined and you don't specify a health check grace period value, the default value of 0 is used. If your service's tasks take a while to start and respond to Elastic Load Balancing health checks, you can specify a health check grace period of up to 2,147,483,647 seconds. During that time, the Amazon ECS service scheduler ignores health check status. This grace period can prevent the service scheduler from marking tasks as unhealthy and stopping them before they have time to come up.", + "role": "The name or full Amazon Resource Name (ARN) of the IAM role that allows Amazon ECS to make calls to your load balancer on your behalf. This parameter is only permitted if you are using a load balancer with your service and your task definition does not use the awsvpc network mode. If you specify the role parameter, you must also specify a load balancer object with the loadBalancers parameter. If your account has already created the Amazon ECS service-linked role, that role is used by default for your service unless you specify a role here. The service-linked role is required if your task definition uses the awsvpc network mode or if the service is configured to use service discovery, an external deployment controller, multiple target groups, or Elastic Inference accelerators in which case you should not specify a role here. For more information, see Using Service-Linked Roles for Amazon ECS in the Amazon Elastic Container Service Developer Guide. If your specified role has a path other than /, then you must either specify the full role ARN (this is recommended) or prefix the role name with the path. For example, if a role with the name bar has a path of /foo/ then you would specify /foo/bar as the role name. For more information, see Friendly Names and Paths in the IAM User Guide.", + "schedulingStrategy": "The scheduling strategy to use for the service. For more information, see Services. There are two service scheduler strategies available: REPLICA-The replica scheduling strategy places and maintains the desired number of tasks across your cluster. By default, the service scheduler spreads tasks across Availability Zones. You can use task placement strategies and constraints to customize task placement decisions. This scheduler strategy is required if the service is using the CODE_DEPLOY or EXTERNAL deployment controller types. DAEMON-The daemon scheduling strategy deploys exactly one task on each active container instance that meets all of the task placement constraints that you specify in your cluster. When you're using this strategy, you don't need to specify a desired number of tasks, a task placement strategy, or use Service Auto Scaling policies. Tasks using the Fargate launch type or the CODE_DEPLOY or EXTERNAL deployment controller types don't support the DAEMON scheduling strategy. ", + "clientToken": "Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Up to 32 ASCII characters are allowed.", + "taskDefinition": "The family and revision (family:revision) or full ARN of the task definition to run in your service. If a revision is not specified, the latest ACTIVE revision is used. A task definition must be specified if the service is using the ECS deployment controller.", + "platformVersion": "The platform version that your tasks in the service are running on. A platform version is specified only for tasks using the Fargate launch type. If one isn't specified, the LATEST platform version is used by default. For more information, see AWS Fargate Platform Versions in the Amazon Elastic Container Service Developer Guide.", + "launchType": "The launch type on which to run your service. For more information, see Amazon ECS Launch Types in the Amazon Elastic Container Service Developer Guide. If a launchType is specified, the capacityProviderStrategy parameter must be omitted.", + "capacityProviderStrategy": "The capacity provider strategy to use for the service. A capacity provider strategy consists of one or more capacity providers along with the base and weight to assign to them. A capacity provider must be associated with the cluster to be used in a capacity provider strategy. The PutClusterCapacityProviders API is used to associate a capacity provider with a cluster. Only capacity providers with an ACTIVE or UPDATING status can be used. If a capacityProviderStrategy is specified, the launchType parameter must be omitted. If no capacityProviderStrategy or launchType is specified, the defaultCapacityProviderStrategy for the cluster is used. If specifying a capacity provider that uses an Auto Scaling group, the capacity provider must already be created. New capacity providers can be created with the CreateCapacityProvider API operation. To use a AWS Fargate capacity provider, specify either the FARGATE or FARGATE_SPOT capacity providers. The AWS Fargate capacity providers are available to all accounts and only need to be associated with a cluster to be used. The PutClusterCapacityProviders API operation is used to update the list of available capacity providers for a cluster after the cluster is created.", + "deploymentConfiguration": "Optional deployment parameters that control how many tasks run during the deployment and the ordering of stopping and starting tasks.", + "placementStrategy": "The placement strategy objects to use for tasks in your service. You can specify a maximum of five strategy rules per service.", + "networkConfiguration": "The network configuration for the service. This parameter is required for task definitions that use the awsvpc network mode to receive their own elastic network interface, and it is not supported for other network modes. For more information, see Task Networking in the Amazon Elastic Container Service Developer Guide.", + "enableECSManagedTags": "Specifies whether to enable Amazon ECS managed tags for the tasks within the service. For more information, see Tagging Your Amazon ECS Resources in the Amazon Elastic Container Service Developer Guide.", + "propagateTags": "Specifies whether to propagate the tags from the task definition or the service to the tasks in the service. If no value is specified, the tags are not propagated. Tags can only be propagated to the tasks within the service during service creation. To add tags to a task after service creation, use the TagResource API action.", + "cluster": "The short name or full Amazon Resource Name (ARN) of the cluster on which to run your service. If you do not specify a cluster, the default cluster is assumed.", + "loadBalancers": "A load balancer object representing the load balancers to use with your service. For more information, see Service Load Balancing in the Amazon Elastic Container Service Developer Guide. If the service is using the rolling update (ECS) deployment controller and using either an Application Load Balancer or Network Load Balancer, you can specify multiple target groups to attach to the service. The service-linked role is required for services that make use of multiple target groups. For more information, see Using Service-Linked Roles for Amazon ECS in the Amazon Elastic Container Service Developer Guide. If the service is using the CODE_DEPLOY deployment controller, the service is required to use either an Application Load Balancer or Network Load Balancer. When creating an AWS CodeDeploy deployment group, you specify two target groups (referred to as a targetGroupPair). During a deployment, AWS CodeDeploy determines which task set in your service has the status PRIMARY and associates one target group with it, and then associates the other target group with the replacement task set. The load balancer can also have up to two listeners: a required listener for production traffic and an optional listener that allows you perform validation tests with Lambda functions before routing production traffic to it. After you create a service using the ECS deployment controller, the load balancer name or target group ARN, container name, and container port specified in the service definition are immutable. If you are using the CODE_DEPLOY deployment controller, these values can be changed when updating the service. For Application Load Balancers and Network Load Balancers, this object must contain the load balancer target group ARN, the container name (as it appears in a container definition), and the container port to access from the load balancer. When a task from this service is placed on a container instance, the container instance and port combination is registered as a target in the target group specified here. For Classic Load Balancers, this object must contain the load balancer name, the container name (as it appears in a container definition), and the container port to access from the load balancer. When a task from this service is placed on a container instance, the container instance is registered with the load balancer specified here. Services with tasks that use the awsvpc network mode (for example, those with the Fargate launch type) only support Application Load Balancers and Network Load Balancers. Classic Load Balancers are not supported. Also, when you create any target groups for these services, you must choose ip as the target type, not instance, because tasks that use the awsvpc network mode are associated with an elastic network interface, not an Amazon EC2 instance.", + "serviceRegistries": "The details of the service discovery registries to assign to this service. For more information, see Service Discovery. Service discovery is supported for Fargate tasks if you are using platform version v1.1.0 or later. For more information, see AWS Fargate Platform Versions. ", + "desiredCount": "The number of instantiations of the specified task definition to place and keep running on your cluster. This is required if schedulingStrategy is REPLICA or is not specified. If schedulingStrategy is DAEMON then this is not required.", + "placementConstraints": "An array of placement constraint objects to use for tasks in your service. You can specify a maximum of 10 constraints per task (this limit includes constraints in the task definition and those specified at runtime). ", + "tags": "The metadata that you apply to the service to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define. When a service is deleted, the tags are deleted as well. The following basic restrictions apply to tags: Maximum number of tags per resource - 50 For each resource, each tag key must be unique, and each tag key can have only one value. Maximum key length - 128 Unicode characters in UTF-8 Maximum value length - 256 Unicode characters in UTF-8 If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : / @. Tag keys and values are case-sensitive. Do not use aws:, AWS:, or any upper or lowercase combination of such as a prefix for either keys or values as it is reserved for AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with this prefix do not count against your tags per resource limit. ", + "deploymentController": "The deployment controller to use for the service." +} +""" +CreateService(args) = ecs("CreateService", args) + +""" + CreateCapacityProvider() + +Creates a new capacity provider. Capacity providers are associated with an Amazon ECS cluster and are used in capacity provider strategies to facilitate cluster auto scaling. Only capacity providers using an Auto Scaling group can be created. Amazon ECS tasks on AWS Fargate use the FARGATE and FARGATE_SPOT capacity providers which are already created and available to all accounts in Regions supported by AWS Fargate. + +Required Parameters +{ + "name": "The name of the capacity provider. Up to 255 characters are allowed, including letters (upper and lowercase), numbers, underscores, and hyphens. The name cannot be prefixed with \"aws\", \"ecs\", or \"fargate\".", + "autoScalingGroupProvider": "The details of the Auto Scaling group for the capacity provider." +} + +Optional Parameters +{ + "tags": "The metadata that you apply to the capacity provider to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define. The following basic restrictions apply to tags: Maximum number of tags per resource - 50 For each resource, each tag key must be unique, and each tag key can have only one value. Maximum key length - 128 Unicode characters in UTF-8 Maximum value length - 256 Unicode characters in UTF-8 If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : / @. Tag keys and values are case-sensitive. Do not use aws:, AWS:, or any upper or lowercase combination of such as a prefix for either keys or values as it is reserved for AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with this prefix do not count against your tags per resource limit. " +} +""" +CreateCapacityProvider(args) = ecs("CreateCapacityProvider", args) + +""" + CreateTaskSet() + +Create a task set in the specified cluster and service. This is used when a service uses the EXTERNAL deployment controller type. For more information, see Amazon ECS Deployment Types in the Amazon Elastic Container Service Developer Guide. + +Required Parameters +{ + "taskDefinition": "The task definition for the tasks in the task set to use.", + "service": "The short name or full Amazon Resource Name (ARN) of the service to create the task set in.", + "cluster": "The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service to create the task set in." +} + +Optional Parameters +{ + "platformVersion": "The platform version that the tasks in the task set should use. A platform version is specified only for tasks using the Fargate launch type. If one isn't specified, the LATEST platform version is used by default.", + "loadBalancers": "A load balancer object representing the load balancer to use with the task set. The supported load balancer types are either an Application Load Balancer or a Network Load Balancer.", + "clientToken": "Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Up to 32 ASCII characters are allowed.", + "launchType": "The launch type that new tasks in the task set will use. For more information, see Amazon ECS Launch Types in the Amazon Elastic Container Service Developer Guide. If a launchType is specified, the capacityProviderStrategy parameter must be omitted.", + "externalId": "An optional non-unique tag that identifies this task set in external systems. If the task set is associated with a service discovery registry, the tasks in this task set will have the ECS_TASK_SET_EXTERNAL_ID AWS Cloud Map attribute set to the provided value.", + "capacityProviderStrategy": "The capacity provider strategy to use for the task set. A capacity provider strategy consists of one or more capacity providers along with the base and weight to assign to them. A capacity provider must be associated with the cluster to be used in a capacity provider strategy. The PutClusterCapacityProviders API is used to associate a capacity provider with a cluster. Only capacity providers with an ACTIVE or UPDATING status can be used. If a capacityProviderStrategy is specified, the launchType parameter must be omitted. If no capacityProviderStrategy or launchType is specified, the defaultCapacityProviderStrategy for the cluster is used. If specifying a capacity provider that uses an Auto Scaling group, the capacity provider must already be created. New capacity providers can be created with the CreateCapacityProvider API operation. To use a AWS Fargate capacity provider, specify either the FARGATE or FARGATE_SPOT capacity providers. The AWS Fargate capacity providers are available to all accounts and only need to be associated with a cluster to be used. The PutClusterCapacityProviders API operation is used to update the list of available capacity providers for a cluster after the cluster is created.", + "serviceRegistries": "The details of the service discovery registries to assign to this task set. For more information, see Service Discovery.", + "tags": "The metadata that you apply to the task set to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define. When a service is deleted, the tags are deleted as well. The following basic restrictions apply to tags: Maximum number of tags per resource - 50 For each resource, each tag key must be unique, and each tag key can have only one value. Maximum key length - 128 Unicode characters in UTF-8 Maximum value length - 256 Unicode characters in UTF-8 If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : / @. Tag keys and values are case-sensitive. Do not use aws:, AWS:, or any upper or lowercase combination of such as a prefix for either keys or values as it is reserved for AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with this prefix do not count against your tags per resource limit. ", + "networkConfiguration": "", + "scale": "" +} +""" +CreateTaskSet(args) = ecs("CreateTaskSet", args) + +""" + StartTask() + +Starts a new task from the specified task definition on the specified container instance or instances. Alternatively, you can use RunTask to place tasks for you. For more information, see Scheduling Tasks in the Amazon Elastic Container Service Developer Guide. + +Required Parameters +{ + "containerInstances": "The container instance IDs or full ARN entries for the container instances on which you would like to place your task. You can specify up to 10 container instances.", + "taskDefinition": "The family and revision (family:revision) or full ARN of the task definition to start. If a revision is not specified, the latest ACTIVE revision is used." +} + +Optional Parameters +{ + "overrides": "A list of container overrides in JSON format that specify the name of a container in the specified task definition and the overrides it should receive. You can override the default command for a container (that is specified in the task definition or Docker image) with a command override. You can also override existing environment variables (that are specified in the task definition or Docker image) on a container or add new environment variables to it with an environment override. A total of 8192 characters are allowed for overrides. This limit includes the JSON formatting characters of the override structure. ", + "cluster": "The short name or full Amazon Resource Name (ARN) of the cluster on which to start your task. If you do not specify a cluster, the default cluster is assumed.", + "startedBy": "An optional tag specified when a task is started. For example, if you automatically trigger a task to run a batch process job, you could apply a unique identifier for that job to your task with the startedBy parameter. You can then identify which tasks belong to that job by filtering the results of a ListTasks call with the startedBy value. Up to 36 letters (uppercase and lowercase), numbers, hyphens, and underscores are allowed. If a task is started by an Amazon ECS service, then the startedBy parameter contains the deployment ID of the service that starts it.", + "referenceId": "The reference ID to use for the task.", + "tags": "The metadata that you apply to the task to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define. The following basic restrictions apply to tags: Maximum number of tags per resource - 50 For each resource, each tag key must be unique, and each tag key can have only one value. Maximum key length - 128 Unicode characters in UTF-8 Maximum value length - 256 Unicode characters in UTF-8 If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : / @. Tag keys and values are case-sensitive. Do not use aws:, AWS:, or any upper or lowercase combination of such as a prefix for either keys or values as it is reserved for AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with this prefix do not count against your tags per resource limit. ", + "networkConfiguration": "The VPC subnet and security group configuration for tasks that receive their own elastic network interface by using the awsvpc networking mode.", + "enableECSManagedTags": "Specifies whether to enable Amazon ECS managed tags for the task. For more information, see Tagging Your Amazon ECS Resources in the Amazon Elastic Container Service Developer Guide.", + "propagateTags": "Specifies whether to propagate the tags from the task definition or the service to the task. If no value is specified, the tags are not propagated.", + "group": "The name of the task group to associate with the task. The default value is the family name of the task definition (for example, family:my-family-name)." +} +""" +StartTask(args) = ecs("StartTask", args) + +""" + SubmitTaskStateChange() + + This action is only used by the Amazon ECS agent, and it is not intended for use outside of the agent. Sent to acknowledge that a task changed states. + +Optional Parameters +{ + "task": "The task ID or full ARN of the task in the state change request.", + "pullStartedAt": "The Unix timestamp for when the container image pull began.", + "pullStoppedAt": "The Unix timestamp for when the container image pull completed.", + "status": "The status of the state change request.", + "executionStoppedAt": "The Unix timestamp for when the task execution stopped.", + "reason": "The reason for the state change request.", + "containers": "Any containers associated with the state change request.", + "attachments": "Any attachments associated with the state change request.", + "cluster": "The short name or full Amazon Resource Name (ARN) of the cluster that hosts the task." +} +""" +SubmitTaskStateChange() = ecs("SubmitTaskStateChange") +SubmitTaskStateChange(args) = ecs("SubmitTaskStateChange", args) + +""" + DescribeClusters() + +Describes one or more of your clusters. + +Optional Parameters +{ + "clusters": "A list of up to 100 cluster names or full cluster Amazon Resource Name (ARN) entries. If you do not specify a cluster, the default cluster is assumed.", + "include": "Whether to include additional information about your clusters in the response. If this field is omitted, the attachments, statistics, and tags are not included. If ATTACHMENTS is specified, the attachments for the container instances or tasks within the cluster are included. If SETTINGS is specified, the settings for the cluster are included. If STATISTICS is specified, the following additional information, separated by launch type, is included: runningEC2TasksCount runningFargateTasksCount pendingEC2TasksCount pendingFargateTasksCount activeEC2ServiceCount activeFargateServiceCount drainingEC2ServiceCount drainingFargateServiceCount If TAGS is specified, the metadata tags associated with the cluster are included." +} +""" +DescribeClusters() = ecs("DescribeClusters") +DescribeClusters(args) = ecs("DescribeClusters", args) + +""" + UpdateServicePrimaryTaskSet() + +Modifies which task set in a service is the primary task set. Any parameters that are updated on the primary task set in a service will transition to the service. This is used when a service uses the EXTERNAL deployment controller type. For more information, see Amazon ECS Deployment Types in the Amazon Elastic Container Service Developer Guide. + +Required Parameters +{ + "service": "The short name or full Amazon Resource Name (ARN) of the service that the task set exists in.", + "primaryTaskSet": "The short name or full Amazon Resource Name (ARN) of the task set to set as the primary task set in the deployment.", + "cluster": "The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service that the task set exists in." +} +""" +UpdateServicePrimaryTaskSet(args) = ecs("UpdateServicePrimaryTaskSet", args) + +""" + ListAttributes() + +Lists the attributes for Amazon ECS resources within a specified target type and cluster. When you specify a target type and cluster, ListAttributes returns a list of attribute objects, one for each attribute on each resource. You can filter the list of results to a single attribute name to only return results that have that name. You can also filter the results by attribute name and value, for example, to see which container instances in a cluster are running a Linux AMI (ecs.os-type=linux). + +Required Parameters +{ + "targetType": "The type of the target with which to list attributes." +} + +Optional Parameters +{ + "attributeValue": "The value of the attribute with which to filter results. You must also specify an attribute name to use this parameter.", + "attributeName": "The name of the attribute with which to filter the results. ", + "maxResults": "The maximum number of cluster results returned by ListAttributes in paginated output. When this parameter is used, ListAttributes only returns maxResults results in a single page along with a nextToken response element. The remaining results of the initial request can be seen by sending another ListAttributes request with the returned nextToken value. This value can be between 1 and 100. If this parameter is not used, then ListAttributes returns up to 100 results and a nextToken value if applicable.", + "nextToken": "The nextToken value returned from a ListAttributes request indicating that more results are available to fulfill the request and further calls will be needed. If maxResults was provided, it is possible the number of results to be fewer than maxResults. This token should be treated as an opaque identifier that is only used to retrieve the next items in a list and not for other programmatic purposes. ", + "cluster": "The short name or full Amazon Resource Name (ARN) of the cluster to list attributes. If you do not specify a cluster, the default cluster is assumed." +} +""" +ListAttributes(args) = ecs("ListAttributes", args) + +""" + ListTaskDefinitionFamilies() + +Returns a list of task definition families that are registered to your account (which may include task definition families that no longer have any ACTIVE task definition revisions). You can filter out task definition families that do not contain any ACTIVE task definition revisions by setting the status parameter to ACTIVE. You can also filter the results with the familyPrefix parameter. + +Optional Parameters +{ + "status": "The task definition family status with which to filter the ListTaskDefinitionFamilies results. By default, both ACTIVE and INACTIVE task definition families are listed. If this parameter is set to ACTIVE, only task definition families that have an ACTIVE task definition revision are returned. If this parameter is set to INACTIVE, only task definition families that do not have any ACTIVE task definition revisions are returned. If you paginate the resulting output, be sure to keep the status value constant in each subsequent request.", + "maxResults": "The maximum number of task definition family results returned by ListTaskDefinitionFamilies in paginated output. When this parameter is used, ListTaskDefinitions only returns maxResults results in a single page along with a nextToken response element. The remaining results of the initial request can be seen by sending another ListTaskDefinitionFamilies request with the returned nextToken value. This value can be between 1 and 100. If this parameter is not used, then ListTaskDefinitionFamilies returns up to 100 results and a nextToken value if applicable.", + "nextToken": "The nextToken value returned from a ListTaskDefinitionFamilies request indicating that more results are available to fulfill the request and further calls will be needed. If maxResults was provided, it is possible the number of results to be fewer than maxResults. This token should be treated as an opaque identifier that is only used to retrieve the next items in a list and not for other programmatic purposes. ", + "familyPrefix": "The familyPrefix is a string that is used to filter the results of ListTaskDefinitionFamilies. If you specify a familyPrefix, only task definition family names that begin with the familyPrefix string are returned." +} +""" +ListTaskDefinitionFamilies() = ecs("ListTaskDefinitionFamilies") +ListTaskDefinitionFamilies(args) = ecs("ListTaskDefinitionFamilies", args) + +""" + RegisterTaskDefinition() + +Registers a new task definition from the supplied family and containerDefinitions. Optionally, you can add data volumes to your containers with the volumes parameter. For more information about task definition parameters and defaults, see Amazon ECS Task Definitions in the Amazon Elastic Container Service Developer Guide. You can specify an IAM role for your task with the taskRoleArn parameter. When you specify an IAM role for a task, its containers can then use the latest versions of the AWS CLI or SDKs to make API requests to the AWS services that are specified in the IAM policy associated with the role. For more information, see IAM Roles for Tasks in the Amazon Elastic Container Service Developer Guide. You can specify a Docker networking mode for the containers in your task definition with the networkMode parameter. The available network modes correspond to those described in Network settings in the Docker run reference. If you specify the awsvpc network mode, the task is allocated an elastic network interface, and you must specify a NetworkConfiguration when you create a service or run a task with the task definition. For more information, see Task Networking in the Amazon Elastic Container Service Developer Guide. + +Required Parameters +{ + "family": "You must specify a family for a task definition, which allows you to track multiple versions of the same task definition. The family is used as a name for your task definition. Up to 255 letters (uppercase and lowercase), numbers, and hyphens are allowed.", + "containerDefinitions": "A list of container definitions in JSON format that describe the different containers that make up your task." +} + +Optional Parameters +{ + "pidMode": "The process namespace to use for the containers in the task. The valid values are host or task. If host is specified, then all containers within the tasks that specified the host PID mode on the same container instance share the same process namespace with the host Amazon EC2 instance. If task is specified, all containers within the specified task share the same process namespace. If no value is specified, the default is a private namespace. For more information, see PID settings in the Docker run reference. If the host PID mode is used, be aware that there is a heightened risk of undesired process namespace expose. For more information, see Docker security. This parameter is not supported for Windows containers or tasks using the Fargate launch type. ", + "executionRoleArn": "The Amazon Resource Name (ARN) of the task execution role that the Amazon ECS container agent and the Docker daemon can assume.", + "ipcMode": "The IPC resource namespace to use for the containers in the task. The valid values are host, task, or none. If host is specified, then all containers within the tasks that specified the host IPC mode on the same container instance share the same IPC resources with the host Amazon EC2 instance. If task is specified, all containers within the specified task share the same IPC resources. If none is specified, then IPC resources within the containers of a task are private and not shared with other containers in a task or on the container instance. If no value is specified, then the IPC resource namespace sharing depends on the Docker daemon setting on the container instance. For more information, see IPC settings in the Docker run reference. If the host IPC mode is used, be aware that there is a heightened risk of undesired IPC namespace expose. For more information, see Docker security. If you are setting namespaced kernel parameters using systemControls for the containers in the task, the following will apply to your IPC resource namespace. For more information, see System Controls in the Amazon Elastic Container Service Developer Guide. For tasks that use the host IPC mode, IPC namespace related systemControls are not supported. For tasks that use the task IPC mode, IPC namespace related systemControls will apply to all containers within a task. This parameter is not supported for Windows containers or tasks using the Fargate launch type. ", + "networkMode": "The Docker networking mode to use for the containers in the task. The valid values are none, bridge, awsvpc, and host. The default Docker network mode is bridge. If you are using the Fargate launch type, the awsvpc network mode is required. If you are using the EC2 launch type, any network mode can be used. If the network mode is set to none, you cannot specify port mappings in your container definitions, and the tasks containers do not have external connectivity. The host and awsvpc network modes offer the highest networking performance for containers because they use the EC2 network stack instead of the virtualized network stack provided by the bridge mode. With the host and awsvpc network modes, exposed container ports are mapped directly to the corresponding host port (for the host network mode) or the attached elastic network interface port (for the awsvpc network mode), so you cannot take advantage of dynamic host port mappings. If the network mode is awsvpc, the task is allocated an elastic network interface, and you must specify a NetworkConfiguration value when you create a service or run a task with the task definition. For more information, see Task Networking in the Amazon Elastic Container Service Developer Guide. Currently, only Amazon ECS-optimized AMIs, other Amazon Linux variants with the ecs-init package, or AWS Fargate infrastructure support the awsvpc network mode. If the network mode is host, you cannot run multiple instantiations of the same task on a single container instance when port mappings are used. Docker for Windows uses different network modes than Docker for Linux. When you register a task definition with Windows containers, you must not specify a network mode. If you use the console to register a task definition with Windows containers, you must choose the <default> network mode object. For more information, see Network settings in the Docker run reference.", + "memory": "The amount of memory (in MiB) used by the task. It can be expressed as an integer using MiB, for example 1024, or as a string using GB, for example 1GB or 1 GB, in a task definition. String values are converted to an integer indicating the MiB when the task definition is registered. Task-level CPU and memory parameters are ignored for Windows containers. We recommend specifying container-level resources for Windows containers. If using the EC2 launch type, this field is optional. If using the Fargate launch type, this field is required and you must use one of the following values, which determines your range of supported values for the cpu parameter: 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available cpu values: 256 (.25 vCPU) 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available cpu values: 512 (.5 vCPU) 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) - Available cpu values: 1024 (1 vCPU) Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - Available cpu values: 2048 (2 vCPU) Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - Available cpu values: 4096 (4 vCPU) ", + "volumes": "A list of volume definitions in JSON format that containers in your task may use.", + "requiresCompatibilities": "The launch type required by the task. If no value is specified, it defaults to EC2.", + "cpu": "The number of CPU units used by the task. It can be expressed as an integer using CPU units, for example 1024, or as a string using vCPUs, for example 1 vCPU or 1 vcpu, in a task definition. String values are converted to an integer indicating the CPU units when the task definition is registered. Task-level CPU and memory parameters are ignored for Windows containers. We recommend specifying container-level resources for Windows containers. If you are using the EC2 launch type, this field is optional. Supported values are between 128 CPU units (0.125 vCPUs) and 10240 CPU units (10 vCPUs). If you are using the Fargate launch type, this field is required and you must use one of the following values, which determines your range of supported values for the memory parameter: 256 (.25 vCPU) - Available memory values: 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) 512 (.5 vCPU) - Available memory values: 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) 1024 (1 vCPU) - Available memory values: 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) 2048 (2 vCPU) - Available memory values: Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) 4096 (4 vCPU) - Available memory values: Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) ", + "proxyConfiguration": "", + "inferenceAccelerators": "The Elastic Inference accelerators to use for the containers in the task.", + "taskRoleArn": "The short name or full Amazon Resource Name (ARN) of the IAM role that containers in this task can assume. All containers in this task are granted the permissions that are specified in this role. For more information, see IAM Roles for Tasks in the Amazon Elastic Container Service Developer Guide.", + "placementConstraints": "An array of placement constraint objects to use for the task. You can specify a maximum of 10 constraints per task (this limit includes constraints in the task definition and those specified at runtime).", + "tags": "The metadata that you apply to the task definition to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define. The following basic restrictions apply to tags: Maximum number of tags per resource - 50 For each resource, each tag key must be unique, and each tag key can have only one value. Maximum key length - 128 Unicode characters in UTF-8 Maximum value length - 256 Unicode characters in UTF-8 If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : / @. Tag keys and values are case-sensitive. Do not use aws:, AWS:, or any upper or lowercase combination of such as a prefix for either keys or values as it is reserved for AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with this prefix do not count against your tags per resource limit. " +} +""" +RegisterTaskDefinition(args) = ecs("RegisterTaskDefinition", args) + +""" + StopTask() + +Stops a running task. Any tags associated with the task will be deleted. When StopTask is called on a task, the equivalent of docker stop is issued to the containers running in the task. This results in a SIGTERM value and a default 30-second timeout, after which the SIGKILL value is sent and the containers are forcibly stopped. If the container handles the SIGTERM value gracefully and exits within 30 seconds from receiving it, no SIGKILL value is sent. The default 30-second timeout can be configured on the Amazon ECS container agent with the ECS_CONTAINER_STOP_TIMEOUT variable. For more information, see Amazon ECS Container Agent Configuration in the Amazon Elastic Container Service Developer Guide. + +Required Parameters +{ + "task": "The task ID or full Amazon Resource Name (ARN) of the task to stop." +} + +Optional Parameters +{ + "reason": "An optional message specified when a task is stopped. For example, if you are using a custom scheduler, you can use this parameter to specify the reason for stopping the task here, and the message appears in subsequent DescribeTasks API operations on this task. Up to 255 characters are allowed in this message.", + "cluster": "The short name or full Amazon Resource Name (ARN) of the cluster that hosts the task to stop. If you do not specify a cluster, the default cluster is assumed." +} +""" +StopTask(args) = ecs("StopTask", args) + +""" + SubmitContainerStateChange() + + This action is only used by the Amazon ECS agent, and it is not intended for use outside of the agent. Sent to acknowledge that a container changed states. + +Optional Parameters +{ + "task": "The task ID or full Amazon Resource Name (ARN) of the task that hosts the container.", + "cluster": "The short name or full ARN of the cluster that hosts the container.", + "runtimeId": "The ID of the Docker container.", + "status": "The status of the state change request.", + "networkBindings": "The network bindings of the container.", + "containerName": "The name of the container.", + "reason": "The reason for the state change request.", + "exitCode": "The exit code returned for the state change request." +} +""" +SubmitContainerStateChange() = ecs("SubmitContainerStateChange") +SubmitContainerStateChange(args) = ecs("SubmitContainerStateChange", args) + +""" + DescribeTaskSets() + +Describes the task sets in the specified cluster and service. This is used when a service uses the EXTERNAL deployment controller type. For more information, see Amazon ECS Deployment Types in the Amazon Elastic Container Service Developer Guide. + +Required Parameters +{ + "service": "The short name or full Amazon Resource Name (ARN) of the service that the task sets exist in.", + "cluster": "The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service that the task sets exist in." +} + +Optional Parameters +{ + "taskSets": "The ID or full Amazon Resource Name (ARN) of task sets to describe.", + "include": "Specifies whether to see the resource tags for the task set. If TAGS is specified, the tags are included in the response. If this field is omitted, tags are not included in the response." +} +""" +DescribeTaskSets(args) = ecs("DescribeTaskSets", args) + +""" + ListContainerInstances() + +Returns a list of container instances in a specified cluster. You can filter the results of a ListContainerInstances operation with cluster query language statements inside the filter parameter. For more information, see Cluster Query Language in the Amazon Elastic Container Service Developer Guide. + +Optional Parameters +{ + "status": "Filters the container instances by status. For example, if you specify the DRAINING status, the results include only container instances that have been set to DRAINING using UpdateContainerInstancesState. If you do not specify this parameter, the default is to include container instances set to all states other than INACTIVE.", + "filter": "You can filter the results of a ListContainerInstances operation with cluster query language statements. For more information, see Cluster Query Language in the Amazon Elastic Container Service Developer Guide.", + "maxResults": "The maximum number of container instance results returned by ListContainerInstances in paginated output. When this parameter is used, ListContainerInstances only returns maxResults results in a single page along with a nextToken response element. The remaining results of the initial request can be seen by sending another ListContainerInstances request with the returned nextToken value. This value can be between 1 and 100. If this parameter is not used, then ListContainerInstances returns up to 100 results and a nextToken value if applicable.", + "nextToken": "The nextToken value returned from a ListContainerInstances request indicating that more results are available to fulfill the request and further calls will be needed. If maxResults was provided, it is possible the number of results to be fewer than maxResults. This token should be treated as an opaque identifier that is only used to retrieve the next items in a list and not for other programmatic purposes. ", + "cluster": "The short name or full Amazon Resource Name (ARN) of the cluster that hosts the container instances to list. If you do not specify a cluster, the default cluster is assumed." +} +""" +ListContainerInstances() = ecs("ListContainerInstances") +ListContainerInstances(args) = ecs("ListContainerInstances", args) + +""" + PutClusterCapacityProviders() + +Modifies the available capacity providers and the default capacity provider strategy for a cluster. You must specify both the available capacity providers and a default capacity provider strategy for the cluster. If the specified cluster has existing capacity providers associated with it, you must specify all existing capacity providers in addition to any new ones you want to add. Any existing capacity providers associated with a cluster that are omitted from a PutClusterCapacityProviders API call will be disassociated with the cluster. You can only disassociate an existing capacity provider from a cluster if it's not being used by any existing tasks. When creating a service or running a task on a cluster, if no capacity provider or launch type is specified, then the cluster's default capacity provider strategy is used. It is recommended to define a default capacity provider strategy for your cluster, however you may specify an empty array ([]) to bypass defining a default strategy. + +Required Parameters +{ + "defaultCapacityProviderStrategy": "The capacity provider strategy to use by default for the cluster. When creating a service or running a task on a cluster, if no capacity provider or launch type is specified then the default capacity provider strategy for the cluster is used. A capacity provider strategy consists of one or more capacity providers along with the base and weight to assign to them. A capacity provider must be associated with the cluster to be used in a capacity provider strategy. The PutClusterCapacityProviders API is used to associate a capacity provider with a cluster. Only capacity providers with an ACTIVE or UPDATING status can be used. If specifying a capacity provider that uses an Auto Scaling group, the capacity provider must already be created. New capacity providers can be created with the CreateCapacityProvider API operation. To use a AWS Fargate capacity provider, specify either the FARGATE or FARGATE_SPOT capacity providers. The AWS Fargate capacity providers are available to all accounts and only need to be associated with a cluster to be used.", + "capacityProviders": "The name of one or more capacity providers to associate with the cluster. If specifying a capacity provider that uses an Auto Scaling group, the capacity provider must already be created. New capacity providers can be created with the CreateCapacityProvider API operation. To use a AWS Fargate capacity provider, specify either the FARGATE or FARGATE_SPOT capacity providers. The AWS Fargate capacity providers are available to all accounts and only need to be associated with a cluster to be used.", + "cluster": "The short name or full Amazon Resource Name (ARN) of the cluster to modify the capacity provider settings for. If you do not specify a cluster, the default cluster is assumed." +} +""" +PutClusterCapacityProviders(args) = ecs("PutClusterCapacityProviders", args) + +""" + DeregisterTaskDefinition() + +Deregisters the specified task definition by family and revision. Upon deregistration, the task definition is marked as INACTIVE. Existing tasks and services that reference an INACTIVE task definition continue to run without disruption. Existing services that reference an INACTIVE task definition can still scale up or down by modifying the service's desired count. You cannot use an INACTIVE task definition to run new tasks or create new services, and you cannot update an existing service to reference an INACTIVE task definition. However, there may be up to a 10-minute window following deregistration where these restrictions have not yet taken effect. At this time, INACTIVE task definitions remain discoverable in your account indefinitely. However, this behavior is subject to change in the future, so you should not rely on INACTIVE task definitions persisting beyond the lifecycle of any associated tasks and services. + +Required Parameters +{ + "taskDefinition": "The family and revision (family:revision) or full Amazon Resource Name (ARN) of the task definition to deregister. You must specify a revision." +} +""" +DeregisterTaskDefinition(args) = ecs("DeregisterTaskDefinition", args) + +""" + DescribeContainerInstances() + +Describes Amazon Elastic Container Service container instances. Returns metadata about registered and remaining resources on each container instance requested. + +Required Parameters +{ + "containerInstances": "A list of up to 100 container instance IDs or full Amazon Resource Name (ARN) entries." +} + +Optional Parameters +{ + "include": "Specifies whether you want to see the resource tags for the container instance. If TAGS is specified, the tags are included in the response. If this field is omitted, tags are not included in the response.", + "cluster": "The short name or full Amazon Resource Name (ARN) of the cluster that hosts the container instances to describe. If you do not specify a cluster, the default cluster is assumed. This parameter is required if the container instance or container instances you are describing were launched in any cluster other than the default cluster." +} +""" +DescribeContainerInstances(args) = ecs("DescribeContainerInstances", args) + +""" + ListClusters() + +Returns a list of existing clusters. + +Optional Parameters +{ + "maxResults": "The maximum number of cluster results returned by ListClusters in paginated output. When this parameter is used, ListClusters only returns maxResults results in a single page along with a nextToken response element. The remaining results of the initial request can be seen by sending another ListClusters request with the returned nextToken value. This value can be between 1 and 100. If this parameter is not used, then ListClusters returns up to 100 results and a nextToken value if applicable.", + "nextToken": "The nextToken value returned from a ListClusters request indicating that more results are available to fulfill the request and further calls will be needed. If maxResults was provided, it is possible the number of results to be fewer than maxResults. This token should be treated as an opaque identifier that is only used to retrieve the next items in a list and not for other programmatic purposes. " +} +""" +ListClusters() = ecs("ListClusters") +ListClusters(args) = ecs("ListClusters", args) diff --git a/src/services/efs.jl b/src/services/efs.jl new file mode 100644 index 0000000000..797fb62886 --- /dev/null +++ b/src/services/efs.jl @@ -0,0 +1,354 @@ +include("../AWSServices.jl") +using .AWSServices: efs + +""" + CreateMountTarget() + +Creates a mount target for a file system. You can then mount the file system on EC2 instances by using the mount target. You can create one mount target in each Availability Zone in your VPC. All EC2 instances in a VPC within a given Availability Zone share a single mount target for a given file system. If you have multiple subnets in an Availability Zone, you create a mount target in one of the subnets. EC2 instances do not need to be in the same subnet as the mount target in order to access their file system. For more information, see Amazon EFS: How it Works. In the request, you also specify a file system ID for which you are creating the mount target and the file system's lifecycle state must be available. For more information, see DescribeFileSystems. In the request, you also provide a subnet ID, which determines the following: VPC in which Amazon EFS creates the mount target Availability Zone in which Amazon EFS creates the mount target IP address range from which Amazon EFS selects the IP address of the mount target (if you don't specify an IP address in the request) After creating the mount target, Amazon EFS returns a response that includes, a MountTargetId and an IpAddress. You use this IP address when mounting the file system in an EC2 instance. You can also use the mount target's DNS name when mounting the file system. The EC2 instance on which you mount the file system by using the mount target can resolve the mount target's DNS name to its IP address. For more information, see How it Works: Implementation Overview. Note that you can create mount targets for a file system in only one VPC, and there can be only one mount target per Availability Zone. That is, if the file system already has one or more mount targets created for it, the subnet specified in the request to add another mount target must meet the following requirements: Must belong to the same VPC as the subnets of the existing mount targets Must not be in the same Availability Zone as any of the subnets of the existing mount targets If the request satisfies the requirements, Amazon EFS does the following: Creates a new mount target in the specified subnet. Also creates a new network interface in the subnet as follows: If the request provides an IpAddress, Amazon EFS assigns that IP address to the network interface. Otherwise, Amazon EFS assigns a free address in the subnet (in the same way that the Amazon EC2 CreateNetworkInterface call does when a request does not specify a primary private IP address). If the request provides SecurityGroups, this network interface is associated with those security groups. Otherwise, it belongs to the default security group for the subnet's VPC. Assigns the description Mount target fsmt-id for file system fs-id where fsmt-id is the mount target ID, and fs-id is the FileSystemId. Sets the requesterManaged property of the network interface to true, and the requesterId value to EFS. Each Amazon EFS mount target has one corresponding requester-managed EC2 network interface. After the network interface is created, Amazon EFS sets the NetworkInterfaceId field in the mount target's description to the network interface ID, and the IpAddress field to its address. If network interface creation fails, the entire CreateMountTarget operation fails. The CreateMountTarget call returns only after creating the network interface, but while the mount target state is still creating, you can check the mount target creation status by calling the DescribeMountTargets operation, which among other things returns the mount target state. We recommend that you create a mount target in each of the Availability Zones. There are cost considerations for using a file system in an Availability Zone through a mount target created in another Availability Zone. For more information, see Amazon EFS. In addition, by always using a mount target local to the instance's Availability Zone, you eliminate a partial failure scenario. If the Availability Zone in which your mount target is created goes down, then you can't access your file system through that mount target. This operation requires permissions for the following action on the file system: elasticfilesystem:CreateMountTarget This operation also requires permissions for the following Amazon EC2 actions: ec2:DescribeSubnets ec2:DescribeNetworkInterfaces ec2:CreateNetworkInterface + +Required Parameters +{ + "FileSystemId": "The ID of the file system for which to create the mount target.", + "SubnetId": "The ID of the subnet to add the mount target in." +} + +Optional Parameters +{ + "IpAddress": "Valid IPv4 address within the address range of the specified subnet.", + "SecurityGroups": "Up to five VPC security group IDs, of the form sg-xxxxxxxx. These must be for the same VPC as subnet specified." +} +""" +CreateMountTarget(args) = efs("POST", "/2015-02-01/mount-targets", args) + +""" + ListTagsForResource() + +Lists all tags for a top-level EFS resource. You must provide the ID of the resource that you want to retrieve the tags for. This operation requires permissions for the elasticfilesystem:DescribeAccessPoints action. + +Required Parameters +{ + "ResourceId": "Specifies the EFS resource you want to retrieve tags for. You can retrieve tags for EFS file systems and access points using this API endpoint." +} + +Optional Parameters +{ + "MaxResults": "(Optional) Specifies the maximum number of tag objects to return in the response. The default value is 100.", + "NextToken": "You can use NextToken in a subsequent request to fetch the next page of access point descriptions if the response payload was paginated." +} +""" +ListTagsForResource(args) = efs("GET", "/2015-02-01/resource-tags/{ResourceId}", args) + +""" + CreateAccessPoint() + +Creates an EFS access point. An access point is an application-specific view into an EFS file system that applies an operating system user and group, and a file system path, to any file system request made through the access point. The operating system user and group override any identity information provided by the NFS client. The file system path is exposed as the access point's root directory. Applications using the access point can only access data in its own directory and below. To learn more, see Mounting a File System Using EFS Access Points. This operation requires permissions for the elasticfilesystem:CreateAccessPoint action. + +Required Parameters +{ + "FileSystemId": "The ID of the EFS file system that the access point provides access to.", + "ClientToken": "A string of up to 64 ASCII characters that Amazon EFS uses to ensure idempotent creation." +} + +Optional Parameters +{ + "PosixUser": "The operating system user and group applied to all file system requests made using the access point.", + "Tags": "Creates tags associated with the access point. Each tag is a key-value pair.", + "RootDirectory": "Specifies the directory on the Amazon EFS file system that the access point exposes as the root directory of your file system to NFS clients using the access point. The clients using the access point can only access the root directory and below. If the RootDirectory > Path specified does not exist, EFS creates it and applies the CreationInfo settings when a client connects to an access point. When specifying a RootDirectory, you need to provide the Path, and the CreationInfo is optional." +} +""" +CreateAccessPoint(args) = efs("POST", "/2015-02-01/access-points", args) + +""" + UpdateFileSystem() + +Updates the throughput mode or the amount of provisioned throughput of an existing file system. + +Required Parameters +{ + "FileSystemId": "The ID of the file system that you want to update." +} + +Optional Parameters +{ + "ThroughputMode": "(Optional) The throughput mode that you want your file system to use. If you're not updating your throughput mode, you don't need to provide this value in your request. If you are changing the ThroughputMode to provisioned, you must also set a value for ProvisionedThroughputInMibps.", + "ProvisionedThroughputInMibps": "(Optional) The amount of throughput, in MiB/s, that you want to provision for your file system. Valid values are 1-1024. Required if ThroughputMode is changed to provisioned on update. If you're not updating the amount of provisioned throughput for your file system, you don't need to provide this value in your request. " +} +""" +UpdateFileSystem(args) = efs("PUT", "/2015-02-01/file-systems/{FileSystemId}", args) + +""" + PutFileSystemPolicy() + +Applies an Amazon EFS FileSystemPolicy to an Amazon EFS file system. A file system policy is an IAM resource-based policy and can contain multiple policy statements. A file system always has exactly one file system policy, which can be the default policy or an explicit policy set or updated using this API operation. When an explicit policy is set, it overrides the default policy. For more information about the default file system policy, see Default EFS File System Policy. This operation requires permissions for the elasticfilesystem:PutFileSystemPolicy action. + +Required Parameters +{ + "Policy": "The FileSystemPolicy that you're creating. Accepts a JSON formatted policy definition. To find out more about the elements that make up a file system policy, see EFS Resource-based Policies. ", + "FileSystemId": "The ID of the EFS file system that you want to create or update the FileSystemPolicy for." +} + +Optional Parameters +{ + "BypassPolicyLockoutSafetyCheck": "(Optional) A flag to indicate whether to bypass the FileSystemPolicy lockout safety check. The policy lockout safety check determines whether the policy in the request will prevent the principal making the request will be locked out from making future PutFileSystemPolicy requests on the file system. Set BypassPolicyLockoutSafetyCheck to True only when you intend to prevent the principal that is making the request from making a subsequent PutFileSystemPolicy request on the file system. The default value is False. " +} +""" +PutFileSystemPolicy(args) = efs("PUT", "/2015-02-01/file-systems/{FileSystemId}/policy", args) + +""" + ModifyMountTargetSecurityGroups() + +Modifies the set of security groups in effect for a mount target. When you create a mount target, Amazon EFS also creates a new network interface. For more information, see CreateMountTarget. This operation replaces the security groups in effect for the network interface associated with a mount target, with the SecurityGroups provided in the request. This operation requires that the network interface of the mount target has been created and the lifecycle state of the mount target is not deleted. The operation requires permissions for the following actions: elasticfilesystem:ModifyMountTargetSecurityGroups action on the mount target's file system. ec2:ModifyNetworkInterfaceAttribute action on the mount target's network interface. + +Required Parameters +{ + "MountTargetId": "The ID of the mount target whose security groups you want to modify." +} + +Optional Parameters +{ + "SecurityGroups": "An array of up to five VPC security group IDs." +} +""" +ModifyMountTargetSecurityGroups(args) = efs("PUT", "/2015-02-01/mount-targets/{MountTargetId}/security-groups", args) + +""" + DeleteAccessPoint() + +Deletes the specified access point. After deletion is complete, new clients can no longer connect to the access points. Clients connected to the access point at the time of deletion will continue to function until they terminate their connection. This operation requires permissions for the elasticfilesystem:DeleteAccessPoint action. + +Required Parameters +{ + "AccessPointId": "The ID of the access point that you want to delete." +} +""" +DeleteAccessPoint(args) = efs("DELETE", "/2015-02-01/access-points/{AccessPointId}", args) + +""" + PutLifecycleConfiguration() + +Enables lifecycle management by creating a new LifecycleConfiguration object. A LifecycleConfiguration object defines when files in an Amazon EFS file system are automatically transitioned to the lower-cost EFS Infrequent Access (IA) storage class. A LifecycleConfiguration applies to all files in a file system. Each Amazon EFS file system supports one lifecycle configuration, which applies to all files in the file system. If a LifecycleConfiguration object already exists for the specified file system, a PutLifecycleConfiguration call modifies the existing configuration. A PutLifecycleConfiguration call with an empty LifecyclePolicies array in the request body deletes any existing LifecycleConfiguration and disables lifecycle management. In the request, specify the following: The ID for the file system for which you are enabling, disabling, or modifying lifecycle management. A LifecyclePolicies array of LifecyclePolicy objects that define when files are moved to the IA storage class. The array can contain only one LifecyclePolicy item. This operation requires permissions for the elasticfilesystem:PutLifecycleConfiguration operation. To apply a LifecycleConfiguration object to an encrypted file system, you need the same AWS Key Management Service (AWS KMS) permissions as when you created the encrypted file system. + +Required Parameters +{ + "FileSystemId": "The ID of the file system for which you are creating the LifecycleConfiguration object (String).", + "LifecyclePolicies": "An array of LifecyclePolicy objects that define the file system's LifecycleConfiguration object. A LifecycleConfiguration object tells lifecycle management when to transition files from the Standard storage class to the Infrequent Access storage class." +} +""" +PutLifecycleConfiguration(args) = efs("PUT", "/2015-02-01/file-systems/{FileSystemId}/lifecycle-configuration", args) + +""" + DescribeLifecycleConfiguration() + +Returns the current LifecycleConfiguration object for the specified Amazon EFS file system. EFS lifecycle management uses the LifecycleConfiguration object to identify which files to move to the EFS Infrequent Access (IA) storage class. For a file system without a LifecycleConfiguration object, the call returns an empty array in the response. This operation requires permissions for the elasticfilesystem:DescribeLifecycleConfiguration operation. + +Required Parameters +{ + "FileSystemId": "The ID of the file system whose LifecycleConfiguration object you want to retrieve (String)." +} +""" +DescribeLifecycleConfiguration(args) = efs("GET", "/2015-02-01/file-systems/{FileSystemId}/lifecycle-configuration", args) + +""" + DescribeTags() + +Returns the tags associated with a file system. The order of tags returned in the response of one DescribeTags call and the order of tags returned across the responses of a multiple-call iteration (when using pagination) is unspecified. This operation requires permissions for the elasticfilesystem:DescribeTags action. + +Required Parameters +{ + "FileSystemId": "The ID of the file system whose tag set you want to retrieve." +} + +Optional Parameters +{ + "Marker": "(Optional) An opaque pagination token returned from a previous DescribeTags operation (String). If present, it specifies to continue the list from where the previous call left off.", + "MaxItems": "(Optional) The maximum number of file system tags to return in the response. Currently, this number is automatically set to 100, and other values are ignored. The response is paginated at 100 per page if you have more than 100 tags." +} +""" +DescribeTags(args) = efs("GET", "/2015-02-01/tags/{FileSystemId}/", args) + +""" + TagResource() + +Creates a tag for an EFS resource. You can create tags for EFS file systems and access points using this API operation. This operation requires permissions for the elasticfilesystem:TagResource action. + +Required Parameters +{ + "Tags": "", + "ResourceId": "The ID specifying the EFS resource that you want to create a tag for. " +} +""" +TagResource(args) = efs("POST", "/2015-02-01/resource-tags/{ResourceId}", args) + +""" + UntagResource() + +Removes tags from an EFS resource. You can remove tags from EFS file systems and access points using this API operation. This operation requires permissions for the elasticfilesystem:UntagResource action. + +Required Parameters +{ + "ResourceId": "Specifies the EFS resource that you want to remove tags from." +} + +Optional Parameters +{ + "TagKeys": "The keys of the key:value tag pairs that you want to remove from the specified EFS resource." +} +""" +UntagResource(args) = efs("DELETE", "/2015-02-01/resource-tags/{ResourceId}", args) + +""" + DescribeFileSystemPolicy() + +Returns the FileSystemPolicy for the specified EFS file system. This operation requires permissions for the elasticfilesystem:DescribeFileSystemPolicy action. + +Required Parameters +{ + "FileSystemId": "Specifies which EFS file system to retrieve the FileSystemPolicy for." +} +""" +DescribeFileSystemPolicy(args) = efs("GET", "/2015-02-01/file-systems/{FileSystemId}/policy", args) + +""" + DescribeFileSystems() + +Returns the description of a specific Amazon EFS file system if either the file system CreationToken or the FileSystemId is provided. Otherwise, it returns descriptions of all file systems owned by the caller's AWS account in the AWS Region of the endpoint that you're calling. When retrieving all file system descriptions, you can optionally specify the MaxItems parameter to limit the number of descriptions in a response. Currently, this number is automatically set to 10. If more file system descriptions remain, Amazon EFS returns a NextMarker, an opaque token, in the response. In this case, you should send a subsequent request with the Marker request parameter set to the value of NextMarker. To retrieve a list of your file system descriptions, this operation is used in an iterative process, where DescribeFileSystems is called first without the Marker and then the operation continues to call it with the Marker parameter set to the value of the NextMarker from the previous response until the response has no NextMarker. The order of file systems returned in the response of one DescribeFileSystems call and the order of file systems returned across the responses of a multi-call iteration is unspecified. This operation requires permissions for the elasticfilesystem:DescribeFileSystems action. + +Optional Parameters +{ + "Marker": "(Optional) Opaque pagination token returned from a previous DescribeFileSystems operation (String). If present, specifies to continue the list from where the returning call had left off. ", + "MaxItems": "(Optional) Specifies the maximum number of file systems to return in the response (integer). This number is automatically set to 100. The response is paginated at 100 per page if you have more than 100 file systems. ", + "CreationToken": "(Optional) Restricts the list to the file system with this creation token (String). You specify a creation token when you create an Amazon EFS file system.", + "FileSystemId": "(Optional) ID of the file system whose description you want to retrieve (String)." +} +""" +DescribeFileSystems() = efs("GET", "/2015-02-01/file-systems") +DescribeFileSystems(args) = efs("GET", "/2015-02-01/file-systems", args) + +""" + DescribeMountTargets() + +Returns the descriptions of all the current mount targets, or a specific mount target, for a file system. When requesting all of the current mount targets, the order of mount targets returned in the response is unspecified. This operation requires permissions for the elasticfilesystem:DescribeMountTargets action, on either the file system ID that you specify in FileSystemId, or on the file system of the mount target that you specify in MountTargetId. + +Optional Parameters +{ + "Marker": "(Optional) Opaque pagination token returned from a previous DescribeMountTargets operation (String). If present, it specifies to continue the list from where the previous returning call left off.", + "MountTargetId": "(Optional) ID of the mount target that you want to have described (String). It must be included in your request if FileSystemId is not included. Accepts either a mount target ID or ARN as input.", + "MaxItems": "(Optional) Maximum number of mount targets to return in the response. Currently, this number is automatically set to 10, and other values are ignored. The response is paginated at 100 per page if you have more than 100 mount targets.", + "AccessPointId": "(Optional) The ID of the access point whose mount targets that you want to list. It must be included in your request if a FileSystemId or MountTargetId is not included in your request. Accepts either an access point ID or ARN as input.", + "FileSystemId": "(Optional) ID of the file system whose mount targets you want to list (String). It must be included in your request if an AccessPointId or MountTargetId is not included. Accepts either a file system ID or ARN as input." +} +""" +DescribeMountTargets() = efs("GET", "/2015-02-01/mount-targets") +DescribeMountTargets(args) = efs("GET", "/2015-02-01/mount-targets", args) + +""" + CreateFileSystem() + +Creates a new, empty file system. The operation requires a creation token in the request that Amazon EFS uses to ensure idempotent creation (calling the operation with same creation token has no effect). If a file system does not currently exist that is owned by the caller's AWS account with the specified creation token, this operation does the following: Creates a new, empty file system. The file system will have an Amazon EFS assigned ID, and an initial lifecycle state creating. Returns with the description of the created file system. Otherwise, this operation returns a FileSystemAlreadyExists error with the ID of the existing file system. For basic use cases, you can use a randomly generated UUID for the creation token. The idempotent operation allows you to retry a CreateFileSystem call without risk of creating an extra file system. This can happen when an initial call fails in a way that leaves it uncertain whether or not a file system was actually created. An example might be that a transport level timeout occurred or your connection was reset. As long as you use the same creation token, if the initial call had succeeded in creating a file system, the client can learn of its existence from the FileSystemAlreadyExists error. The CreateFileSystem call returns while the file system's lifecycle state is still creating. You can check the file system creation status by calling the DescribeFileSystems operation, which among other things returns the file system state. This operation also takes an optional PerformanceMode parameter that you choose for your file system. We recommend generalPurpose performance mode for most file systems. File systems using the maxIO performance mode can scale to higher levels of aggregate throughput and operations per second with a tradeoff of slightly higher latencies for most file operations. The performance mode can't be changed after the file system has been created. For more information, see Amazon EFS: Performance Modes. After the file system is fully created, Amazon EFS sets its lifecycle state to available, at which point you can create one or more mount targets for the file system in your VPC. For more information, see CreateMountTarget. You mount your Amazon EFS file system on an EC2 instances in your VPC by using the mount target. For more information, see Amazon EFS: How it Works. This operation requires permissions for the elasticfilesystem:CreateFileSystem action. + +Required Parameters +{ + "CreationToken": "A string of up to 64 ASCII characters. Amazon EFS uses this to ensure idempotent creation." +} + +Optional Parameters +{ + "PerformanceMode": "The performance mode of the file system. We recommend generalPurpose performance mode for most file systems. File systems using the maxIO performance mode can scale to higher levels of aggregate throughput and operations per second with a tradeoff of slightly higher latencies for most file operations. The performance mode can't be changed after the file system has been created.", + "ThroughputMode": "The throughput mode for the file system to be created. There are two throughput modes to choose from for your file system: bursting and provisioned. If you set ThroughputMode to provisioned, you must also set a value for ProvisionedThroughPutInMibps. You can decrease your file system's throughput in Provisioned Throughput mode or change between the throughput modes as long as it’s been more than 24 hours since the last decrease or throughput mode change. For more, see Specifying Throughput with Provisioned Mode in the Amazon EFS User Guide. ", + "ProvisionedThroughputInMibps": "The throughput, measured in MiB/s, that you want to provision for a file system that you're creating. Valid values are 1-1024. Required if ThroughputMode is set to provisioned. The upper limit for throughput is 1024 MiB/s. You can get this limit increased by contacting AWS Support. For more information, see Amazon EFS Limits That You Can Increase in the Amazon EFS User Guide. ", + "Tags": "A value that specifies to create one or more tags associated with the file system. Each tag is a user-defined key-value pair. Name your file system on creation by including a \"Key\":\"Name\",\"Value\":\"{value}\" key-value pair.", + "Encrypted": "A Boolean value that, if true, creates an encrypted file system. When creating an encrypted file system, you have the option of specifying CreateFileSystemRequest KmsKeyId for an existing AWS Key Management Service (AWS KMS) customer master key (CMK). If you don't specify a CMK, then the default CMK for Amazon EFS, /aws/elasticfilesystem, is used to protect the encrypted file system. ", + "KmsKeyId": "The ID of the AWS KMS CMK to be used to protect the encrypted file system. This parameter is only required if you want to use a nondefault CMK. If this parameter is not specified, the default CMK for Amazon EFS is used. This ID can be in one of the following formats: Key ID - A unique identifier of the key, for example 1234abcd-12ab-34cd-56ef-1234567890ab. ARN - An Amazon Resource Name (ARN) for the key, for example arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab. Key alias - A previously created display name for a key, for example alias/projectKey1. Key alias ARN - An ARN for a key alias, for example arn:aws:kms:us-west-2:444455556666:alias/projectKey1. If KmsKeyId is specified, the CreateFileSystemRequest Encrypted parameter must be set to true. EFS accepts only symmetric CMKs. You cannot use asymmetric CMKs with EFS file systems. " +} +""" +CreateFileSystem(args) = efs("POST", "/2015-02-01/file-systems", args) + +""" + DescribeMountTargetSecurityGroups() + +Returns the security groups currently in effect for a mount target. This operation requires that the network interface of the mount target has been created and the lifecycle state of the mount target is not deleted. This operation requires permissions for the following actions: elasticfilesystem:DescribeMountTargetSecurityGroups action on the mount target's file system. ec2:DescribeNetworkInterfaceAttribute action on the mount target's network interface. + +Required Parameters +{ + "MountTargetId": "The ID of the mount target whose security groups you want to retrieve." +} +""" +DescribeMountTargetSecurityGroups(args) = efs("GET", "/2015-02-01/mount-targets/{MountTargetId}/security-groups", args) + +""" + DeleteTags() + +Deletes the specified tags from a file system. If the DeleteTags request includes a tag key that doesn't exist, Amazon EFS ignores it and doesn't cause an error. For more information about tags and related restrictions, see Tag Restrictions in the AWS Billing and Cost Management User Guide. This operation requires permissions for the elasticfilesystem:DeleteTags action. + +Required Parameters +{ + "FileSystemId": "The ID of the file system whose tags you want to delete (String).", + "TagKeys": "A list of tag keys to delete." +} +""" +DeleteTags(args) = efs("POST", "/2015-02-01/delete-tags/{FileSystemId}", args) + +""" + DeleteMountTarget() + +Deletes the specified mount target. This operation forcibly breaks any mounts of the file system by using the mount target that is being deleted, which might disrupt instances or applications using those mounts. To avoid applications getting cut off abruptly, you might consider unmounting any mounts of the mount target, if feasible. The operation also deletes the associated network interface. Uncommitted writes might be lost, but breaking a mount target using this operation does not corrupt the file system itself. The file system you created remains. You can mount an EC2 instance in your VPC by using another mount target. This operation requires permissions for the following action on the file system: elasticfilesystem:DeleteMountTarget The DeleteMountTarget call returns while the mount target state is still deleting. You can check the mount target deletion by calling the DescribeMountTargets operation, which returns a list of mount target descriptions for the given file system. The operation also requires permissions for the following Amazon EC2 action on the mount target's network interface: ec2:DeleteNetworkInterface + +Required Parameters +{ + "MountTargetId": "The ID of the mount target to delete (String)." +} +""" +DeleteMountTarget(args) = efs("DELETE", "/2015-02-01/mount-targets/{MountTargetId}", args) + +""" + DescribeAccessPoints() + +Returns the description of a specific Amazon EFS access point if the AccessPointId is provided. If you provide an EFS FileSystemId, it returns descriptions of all access points for that file system. You can provide either an AccessPointId or a FileSystemId in the request, but not both. This operation requires permissions for the elasticfilesystem:DescribeAccessPoints action. + +Optional Parameters +{ + "MaxResults": "(Optional) When retrieving all access points for a file system, you can optionally specify the MaxItems parameter to limit the number of objects returned in a response. The default value is 100. ", + "NextToken": " NextToken is present if the response is paginated. You can use NextMarker in the subsequent request to fetch the next page of access point descriptions.", + "AccessPointId": "(Optional) Specifies an EFS access point to describe in the response; mutually exclusive with FileSystemId.", + "FileSystemId": "(Optional) If you provide a FileSystemId, EFS returns all access points for that file system; mutually exclusive with AccessPointId." +} +""" +DescribeAccessPoints() = efs("GET", "/2015-02-01/access-points") +DescribeAccessPoints(args) = efs("GET", "/2015-02-01/access-points", args) + +""" + CreateTags() + +Creates or overwrites tags associated with a file system. Each tag is a key-value pair. If a tag key specified in the request already exists on the file system, this operation overwrites its value with the value provided in the request. If you add the Name tag to your file system, Amazon EFS returns it in the response to the DescribeFileSystems operation. This operation requires permission for the elasticfilesystem:CreateTags action. + +Required Parameters +{ + "Tags": "An array of Tag objects to add. Each Tag object is a key-value pair. ", + "FileSystemId": "The ID of the file system whose tags you want to modify (String). This operation modifies the tags only, not the file system." +} +""" +CreateTags(args) = efs("POST", "/2015-02-01/create-tags/{FileSystemId}", args) + +""" + DeleteFileSystem() + +Deletes a file system, permanently severing access to its contents. Upon return, the file system no longer exists and you can't access any contents of the deleted file system. You can't delete a file system that is in use. That is, if the file system has any mount targets, you must first delete them. For more information, see DescribeMountTargets and DeleteMountTarget. The DeleteFileSystem call returns while the file system state is still deleting. You can check the file system deletion status by calling the DescribeFileSystems operation, which returns a list of file systems in your account. If you pass file system ID or creation token for the deleted file system, the DescribeFileSystems returns a 404 FileSystemNotFound error. This operation requires permissions for the elasticfilesystem:DeleteFileSystem action. + +Required Parameters +{ + "FileSystemId": "The ID of the file system you want to delete." +} +""" +DeleteFileSystem(args) = efs("DELETE", "/2015-02-01/file-systems/{FileSystemId}", args) + +""" + DeleteFileSystemPolicy() + +Deletes the FileSystemPolicy for the specified file system. The default FileSystemPolicy goes into effect once the existing policy is deleted. For more information about the default file system policy, see Using Resource-based Policies with EFS. This operation requires permissions for the elasticfilesystem:DeleteFileSystemPolicy action. + +Required Parameters +{ + "FileSystemId": "Specifies the EFS file system for which to delete the FileSystemPolicy." +} +""" +DeleteFileSystemPolicy(args) = efs("DELETE", "/2015-02-01/file-systems/{FileSystemId}/policy", args) diff --git a/src/services/eks.jl b/src/services/eks.jl new file mode 100644 index 0000000000..20b7025720 --- /dev/null +++ b/src/services/eks.jl @@ -0,0 +1,355 @@ +include("../AWSServices.jl") +using .AWSServices: eks + +""" + CreateCluster() + +Creates an Amazon EKS control plane. The Amazon EKS control plane consists of control plane instances that run the Kubernetes software, such as etcd and the API server. The control plane runs in an account managed by AWS, and the Kubernetes API is exposed via the Amazon EKS API server endpoint. Each Amazon EKS cluster control plane is single-tenant and unique and runs on its own set of Amazon EC2 instances. The cluster control plane is provisioned across multiple Availability Zones and fronted by an Elastic Load Balancing Network Load Balancer. Amazon EKS also provisions elastic network interfaces in your VPC subnets to provide connectivity from the control plane instances to the worker nodes (for example, to support kubectl exec, logs, and proxy data flows). Amazon EKS worker nodes run in your AWS account and connect to your cluster's control plane via the Kubernetes API server endpoint and a certificate file that is created for your cluster. You can use the endpointPublicAccess and endpointPrivateAccess parameters to enable or disable public and private access to your cluster's Kubernetes API server endpoint. By default, public access is enabled, and private access is disabled. For more information, see Amazon EKS Cluster Endpoint Access Control in the Amazon EKS User Guide . You can use the logging parameter to enable or disable exporting the Kubernetes control plane logs for your cluster to CloudWatch Logs. By default, cluster control plane logs aren't exported to CloudWatch Logs. For more information, see Amazon EKS Cluster Control Plane Logs in the Amazon EKS User Guide . CloudWatch Logs ingestion, archive storage, and data scanning rates apply to exported control plane logs. For more information, see Amazon CloudWatch Pricing. Cluster creation typically takes between 10 and 15 minutes. After you create an Amazon EKS cluster, you must configure your Kubernetes tooling to communicate with the API server and launch worker nodes into your cluster. For more information, see Managing Cluster Authentication and Launching Amazon EKS Worker Nodes in the Amazon EKS User Guide. + +Required Parameters +{ + "roleArn": "The Amazon Resource Name (ARN) of the IAM role that provides permissions for Amazon EKS to make calls to other AWS API operations on your behalf. For more information, see Amazon EKS Service IAM Role in the Amazon EKS User Guide .", + "name": "The unique name to give to your cluster.", + "resourcesVpcConfig": "The VPC configuration used by the cluster control plane. Amazon EKS VPC resources have specific requirements to work properly with Kubernetes. For more information, see Cluster VPC Considerations and Cluster Security Group Considerations in the Amazon EKS User Guide. You must specify at least two subnets. You can specify up to five security groups, but we recommend that you use a dedicated security group for your cluster control plane." +} + +Optional Parameters +{ + "logging": "Enable or disable exporting the Kubernetes control plane logs for your cluster to CloudWatch Logs. By default, cluster control plane logs aren't exported to CloudWatch Logs. For more information, see Amazon EKS Cluster Control Plane Logs in the Amazon EKS User Guide . CloudWatch Logs ingestion, archive storage, and data scanning rates apply to exported control plane logs. For more information, see Amazon CloudWatch Pricing. ", + "clientRequestToken": "Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.", + "encryptionConfig": "The encryption configuration for the cluster.", + "tags": "The metadata to apply to the cluster to assist with categorization and organization. Each tag consists of a key and an optional value, both of which you define.", + "version": "The desired Kubernetes version for your cluster. If you don't specify a value here, the latest version available in Amazon EKS is used." +} +""" +CreateCluster(args) = eks("POST", "/clusters", args) + +""" + DeleteNodegroup() + +Deletes an Amazon EKS node group for a cluster. + +Required Parameters +{ + "nodegroupName": "The name of the node group to delete.", + "clusterName": "The name of the Amazon EKS cluster that is associated with your node group." +} +""" +DeleteNodegroup(args) = eks("DELETE", "/clusters/{name}/node-groups/{nodegroupName}", args) + +""" + ListTagsForResource() + +List the tags for an Amazon EKS resource. + +Required Parameters +{ + "resourceArn": "The Amazon Resource Name (ARN) that identifies the resource for which to list the tags. Currently, the supported resources are Amazon EKS clusters and managed node groups." +} +""" +ListTagsForResource(args) = eks("GET", "/tags/{resourceArn}", args) + +""" + ListUpdates() + +Lists the updates associated with an Amazon EKS cluster or managed node group in your AWS account, in the specified Region. + +Required Parameters +{ + "name": "The name of the Amazon EKS cluster to list updates for." +} + +Optional Parameters +{ + "nodegroupName": "The name of the Amazon EKS managed node group to list updates for.", + "maxResults": "The maximum number of update results returned by ListUpdates in paginated output. When you use this parameter, ListUpdates returns only maxResults results in a single page along with a nextToken response element. You can see the remaining results of the initial request by sending another ListUpdates request with the returned nextToken value. This value can be between 1 and 100. If you don't use this parameter, ListUpdates returns up to 100 results and a nextToken value if applicable.", + "nextToken": "The nextToken value returned from a previous paginated ListUpdates request where maxResults was used and the results exceeded the value of that parameter. Pagination continues from the end of the previous results that returned the nextToken value." +} +""" +ListUpdates(args) = eks("GET", "/clusters/{name}/updates", args) + +""" + DeleteFargateProfile() + +Deletes an AWS Fargate profile. When you delete a Fargate profile, any pods running on Fargate that were created with the profile are deleted. If those pods match another Fargate profile, then they are scheduled on Fargate with that profile. If they no longer match any Fargate profiles, then they are not scheduled on Fargate and they may remain in a pending state. Only one Fargate profile in a cluster can be in the DELETING status at a time. You must wait for a Fargate profile to finish deleting before you can delete any other profiles in that cluster. + +Required Parameters +{ + "fargateProfileName": "The name of the Fargate profile to delete.", + "clusterName": "The name of the Amazon EKS cluster associated with the Fargate profile to delete." +} +""" +DeleteFargateProfile(args) = eks("DELETE", "/clusters/{name}/fargate-profiles/{fargateProfileName}", args) + +""" + DescribeFargateProfile() + +Returns descriptive information about an AWS Fargate profile. + +Required Parameters +{ + "fargateProfileName": "The name of the Fargate profile to describe.", + "clusterName": "The name of the Amazon EKS cluster associated with the Fargate profile." +} +""" +DescribeFargateProfile(args) = eks("GET", "/clusters/{name}/fargate-profiles/{fargateProfileName}", args) + +""" + ListFargateProfiles() + +Lists the AWS Fargate profiles associated with the specified cluster in your AWS account in the specified Region. + +Required Parameters +{ + "clusterName": "The name of the Amazon EKS cluster that you would like to listFargate profiles in." +} + +Optional Parameters +{ + "maxResults": "The maximum number of Fargate profile results returned by ListFargateProfiles in paginated output. When you use this parameter, ListFargateProfiles returns only maxResults results in a single page along with a nextToken response element. You can see the remaining results of the initial request by sending another ListFargateProfiles request with the returned nextToken value. This value can be between 1 and 100. If you don't use this parameter, ListFargateProfiles returns up to 100 results and a nextToken value if applicable.", + "nextToken": "The nextToken value returned from a previous paginated ListFargateProfiles request where maxResults was used and the results exceeded the value of that parameter. Pagination continues from the end of the previous results that returned the nextToken value." +} +""" +ListFargateProfiles(args) = eks("GET", "/clusters/{name}/fargate-profiles", args) + +""" + TagResource() + +Associates the specified tags to a resource with the specified resourceArn. If existing tags on a resource are not specified in the request parameters, they are not changed. When a resource is deleted, the tags associated with that resource are deleted as well. Tags that you create for Amazon EKS resources do not propagate to any other resources associated with the cluster. For example, if you tag a cluster with this operation, that tag does not automatically propagate to the subnets and worker nodes associated with the cluster. + +Required Parameters +{ + "resourceArn": "The Amazon Resource Name (ARN) of the resource to which to add tags. Currently, the supported resources are Amazon EKS clusters and managed node groups.", + "tags": "The tags to add to the resource. A tag is an array of key-value pairs." +} +""" +TagResource(args) = eks("POST", "/tags/{resourceArn}", args) + +""" + UntagResource() + +Deletes specified tags from a resource. + +Required Parameters +{ + "resourceArn": "The Amazon Resource Name (ARN) of the resource from which to delete tags. Currently, the supported resources are Amazon EKS clusters and managed node groups.", + "tagKeys": "The keys of the tags to be removed." +} +""" +UntagResource(args) = eks("DELETE", "/tags/{resourceArn}", args) + +""" + UpdateNodegroupVersion() + +Updates the Kubernetes version or AMI version of an Amazon EKS managed node group. You can update to the latest available AMI version of a node group's current Kubernetes version by not specifying a Kubernetes version in the request. You can update to the latest AMI version of your cluster's current Kubernetes version by specifying your cluster's Kubernetes version in the request. For more information, see Amazon EKS-Optimized Linux AMI Versions in the Amazon EKS User Guide. You cannot roll back a node group to an earlier Kubernetes version or AMI version. When a node in a managed node group is terminated due to a scaling action or update, the pods in that node are drained first. Amazon EKS attempts to drain the nodes gracefully and will fail if it is unable to do so. You can force the update if Amazon EKS is unable to drain the nodes as a result of a pod disruption budget issue. + +Required Parameters +{ + "nodegroupName": "The name of the managed node group to update.", + "clusterName": "The name of the Amazon EKS cluster that is associated with the managed node group to update." +} + +Optional Parameters +{ + "releaseVersion": "The AMI version of the Amazon EKS-optimized AMI to use for the update. By default, the latest available AMI version for the node group's Kubernetes version is used. For more information, see Amazon EKS-Optimized Linux AMI Versions in the Amazon EKS User Guide.", + "clientRequestToken": "Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.", + "force": "Force the update if the existing node group's pods are unable to be drained due to a pod disruption budget issue. If an update fails because pods could not be drained, you can force the update after it fails to terminate the old node whether or not any pods are running on the node.", + "version": "The Kubernetes version to update to. If no version is specified, then the Kubernetes version of the node group does not change. You can specify the Kubernetes version of the cluster to update the node group to the latest AMI version of the cluster's Kubernetes version." +} +""" +UpdateNodegroupVersion(args) = eks("POST", "/clusters/{name}/node-groups/{nodegroupName}/update-version", args) + +""" + UpdateClusterVersion() + +Updates an Amazon EKS cluster to the specified Kubernetes version. Your cluster continues to function during the update. The response output includes an update ID that you can use to track the status of your cluster update with the DescribeUpdate API operation. Cluster updates are asynchronous, and they should finish within a few minutes. During an update, the cluster status moves to UPDATING (this status transition is eventually consistent). When the update is complete (either Failed or Successful), the cluster status moves to Active. If your cluster has managed node groups attached to it, all of your node groups’ Kubernetes versions must match the cluster’s Kubernetes version in order to update the cluster to a new Kubernetes version. + +Required Parameters +{ + "name": "The name of the Amazon EKS cluster to update.", + "version": "The desired Kubernetes version following a successful update." +} + +Optional Parameters +{ + "clientRequestToken": "Unique, case-sensitive identifier that you provide to ensure the idempotency of the request." +} +""" +UpdateClusterVersion(args) = eks("POST", "/clusters/{name}/updates", args) + +""" + CreateNodegroup() + +Creates a managed worker node group for an Amazon EKS cluster. You can only create a node group for your cluster that is equal to the current Kubernetes version for the cluster. All node groups are created with the latest AMI release version for the respective minor Kubernetes version of the cluster. An Amazon EKS managed node group is an Amazon EC2 Auto Scaling group and associated Amazon EC2 instances that are managed by AWS for an Amazon EKS cluster. Each node group uses a version of the Amazon EKS-optimized Amazon Linux 2 AMI. For more information, see Managed Node Groups in the Amazon EKS User Guide. + +Required Parameters +{ + "subnets": "The subnets to use for the Auto Scaling group that is created for your node group. These subnets must have the tag key kubernetes.io/cluster/CLUSTER_NAME with a value of shared, where CLUSTER_NAME is replaced with the name of your cluster.", + "nodegroupName": "The unique name to give your node group.", + "clusterName": "The name of the cluster to create the node group in.", + "nodeRole": "The Amazon Resource Name (ARN) of the IAM role to associate with your node group. The Amazon EKS worker node kubelet daemon makes calls to AWS APIs on your behalf. Worker nodes receive permissions for these API calls through an IAM instance profile and associated policies. Before you can launch worker nodes and register them into a cluster, you must create an IAM role for those worker nodes to use when they are launched. For more information, see Amazon EKS Worker Node IAM Role in the Amazon EKS User Guide ." +} + +Optional Parameters +{ + "remoteAccess": "The remote access (SSH) configuration to use with your node group.", + "instanceTypes": "The instance type to use for your node group. Currently, you can specify a single instance type for a node group. The default value for this parameter is t3.medium. If you choose a GPU instance type, be sure to specify the AL2_x86_64_GPU with the amiType parameter.", + "releaseVersion": "The AMI version of the Amazon EKS-optimized AMI to use with your node group. By default, the latest available AMI version for the node group's current Kubernetes version is used. For more information, see Amazon EKS-Optimized Linux AMI Versions in the Amazon EKS User Guide.", + "clientRequestToken": "Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.", + "labels": "The Kubernetes labels to be applied to the nodes in the node group when they are created.", + "scalingConfig": "The scaling configuration details for the Auto Scaling group that is created for your node group.", + "amiType": "The AMI type for your node group. GPU instance types should use the AL2_x86_64_GPU AMI type, which uses the Amazon EKS-optimized Linux AMI with GPU support. Non-GPU instances should use the AL2_x86_64 AMI type, which uses the Amazon EKS-optimized Linux AMI.", + "version": "The Kubernetes version to use for your managed nodes. By default, the Kubernetes version of the cluster is used, and this is the only accepted specified value.", + "tags": "The metadata to apply to the node group to assist with categorization and organization. Each tag consists of a key and an optional value, both of which you define. Node group tags do not propagate to any other resources associated with the node group, such as the Amazon EC2 instances or subnets.", + "diskSize": "The root device disk size (in GiB) for your node group instances. The default disk size is 20 GiB." +} +""" +CreateNodegroup(args) = eks("POST", "/clusters/{name}/node-groups", args) + +""" + ListNodegroups() + +Lists the Amazon EKS managed node groups associated with the specified cluster in your AWS account in the specified Region. Self-managed node groups are not listed. + +Required Parameters +{ + "clusterName": "The name of the Amazon EKS cluster that you would like to list node groups in." +} + +Optional Parameters +{ + "maxResults": "The maximum number of node group results returned by ListNodegroups in paginated output. When you use this parameter, ListNodegroups returns only maxResults results in a single page along with a nextToken response element. You can see the remaining results of the initial request by sending another ListNodegroups request with the returned nextToken value. This value can be between 1 and 100. If you don't use this parameter, ListNodegroups returns up to 100 results and a nextToken value if applicable.", + "nextToken": "The nextToken value returned from a previous paginated ListNodegroups request where maxResults was used and the results exceeded the value of that parameter. Pagination continues from the end of the previous results that returned the nextToken value." +} +""" +ListNodegroups(args) = eks("GET", "/clusters/{name}/node-groups", args) + +""" + DescribeNodegroup() + +Returns descriptive information about an Amazon EKS node group. + +Required Parameters +{ + "nodegroupName": "The name of the node group to describe.", + "clusterName": "The name of the Amazon EKS cluster associated with the node group." +} +""" +DescribeNodegroup(args) = eks("GET", "/clusters/{name}/node-groups/{nodegroupName}", args) + +""" + DeleteCluster() + +Deletes the Amazon EKS cluster control plane. If you have active services in your cluster that are associated with a load balancer, you must delete those services before deleting the cluster so that the load balancers are deleted properly. Otherwise, you can have orphaned resources in your VPC that prevent you from being able to delete the VPC. For more information, see Deleting a Cluster in the Amazon EKS User Guide. If you have managed node groups or Fargate profiles attached to the cluster, you must delete them first. For more information, see DeleteNodegroup and DeleteFargateProfile. + +Required Parameters +{ + "name": "The name of the cluster to delete." +} +""" +DeleteCluster(args) = eks("DELETE", "/clusters/{name}", args) + +""" + DescribeCluster() + +Returns descriptive information about an Amazon EKS cluster. The API server endpoint and certificate authority data returned by this operation are required for kubelet and kubectl to communicate with your Kubernetes API server. For more information, see Create a kubeconfig for Amazon EKS. The API server endpoint and certificate authority data aren't available until the cluster reaches the ACTIVE state. + +Required Parameters +{ + "name": "The name of the cluster to describe." +} +""" +DescribeCluster(args) = eks("GET", "/clusters/{name}", args) + +""" + UpdateNodegroupConfig() + +Updates an Amazon EKS managed node group configuration. Your node group continues to function during the update. The response output includes an update ID that you can use to track the status of your node group update with the DescribeUpdate API operation. Currently you can update the Kubernetes labels for a node group or the scaling configuration. + +Required Parameters +{ + "nodegroupName": "The name of the managed node group to update.", + "clusterName": "The name of the Amazon EKS cluster that the managed node group resides in." +} + +Optional Parameters +{ + "clientRequestToken": "Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.", + "labels": "The Kubernetes labels to be applied to the nodes in the node group after the update.", + "scalingConfig": "The scaling configuration details for the Auto Scaling group after the update." +} +""" +UpdateNodegroupConfig(args) = eks("POST", "/clusters/{name}/node-groups/{nodegroupName}/update-config", args) + +""" + UpdateClusterConfig() + +Updates an Amazon EKS cluster configuration. Your cluster continues to function during the update. The response output includes an update ID that you can use to track the status of your cluster update with the DescribeUpdate API operation. You can use this API operation to enable or disable exporting the Kubernetes control plane logs for your cluster to CloudWatch Logs. By default, cluster control plane logs aren't exported to CloudWatch Logs. For more information, see Amazon EKS Cluster Control Plane Logs in the Amazon EKS User Guide . CloudWatch Logs ingestion, archive storage, and data scanning rates apply to exported control plane logs. For more information, see Amazon CloudWatch Pricing. You can also use this API operation to enable or disable public and private access to your cluster's Kubernetes API server endpoint. By default, public access is enabled, and private access is disabled. For more information, see Amazon EKS Cluster Endpoint Access Control in the Amazon EKS User Guide . At this time, you can not update the subnets or security group IDs for an existing cluster. Cluster updates are asynchronous, and they should finish within a few minutes. During an update, the cluster status moves to UPDATING (this status transition is eventually consistent). When the update is complete (either Failed or Successful), the cluster status moves to Active. + +Required Parameters +{ + "name": "The name of the Amazon EKS cluster to update." +} + +Optional Parameters +{ + "logging": "Enable or disable exporting the Kubernetes control plane logs for your cluster to CloudWatch Logs. By default, cluster control plane logs aren't exported to CloudWatch Logs. For more information, see Amazon EKS Cluster Control Plane Logs in the Amazon EKS User Guide . CloudWatch Logs ingestion, archive storage, and data scanning rates apply to exported control plane logs. For more information, see Amazon CloudWatch Pricing. ", + "resourcesVpcConfig": "", + "clientRequestToken": "Unique, case-sensitive identifier that you provide to ensure the idempotency of the request." +} +""" +UpdateClusterConfig(args) = eks("POST", "/clusters/{name}/update-config", args) + +""" + CreateFargateProfile() + +Creates an AWS Fargate profile for your Amazon EKS cluster. You must have at least one Fargate profile in a cluster to be able to run pods on Fargate. The Fargate profile allows an administrator to declare which pods run on Fargate and specify which pods run on which Fargate profile. This declaration is done through the profile’s selectors. Each profile can have up to five selectors that contain a namespace and labels. A namespace is required for every selector. The label field consists of multiple optional key-value pairs. Pods that match the selectors are scheduled on Fargate. If a to-be-scheduled pod matches any of the selectors in the Fargate profile, then that pod is run on Fargate. When you create a Fargate profile, you must specify a pod execution role to use with the pods that are scheduled with the profile. This role is added to the cluster's Kubernetes Role Based Access Control (RBAC) for authorization so that the kubelet that is running on the Fargate infrastructure can register with your Amazon EKS cluster so that it can appear in your cluster as a node. The pod execution role also provides IAM permissions to the Fargate infrastructure to allow read access to Amazon ECR image repositories. For more information, see Pod Execution Role in the Amazon EKS User Guide. Fargate profiles are immutable. However, you can create a new updated profile to replace an existing profile and then delete the original after the updated profile has finished creating. If any Fargate profiles in a cluster are in the DELETING status, you must wait for that Fargate profile to finish deleting before you can create any other profiles in that cluster. For more information, see AWS Fargate Profile in the Amazon EKS User Guide. + +Required Parameters +{ + "fargateProfileName": "The name of the Fargate profile.", + "clusterName": "The name of the Amazon EKS cluster to apply the Fargate profile to.", + "podExecutionRoleArn": "The Amazon Resource Name (ARN) of the pod execution role to use for pods that match the selectors in the Fargate profile. The pod execution role allows Fargate infrastructure to register with your cluster as a node, and it provides read access to Amazon ECR image repositories. For more information, see Pod Execution Role in the Amazon EKS User Guide." +} + +Optional Parameters +{ + "selectors": "The selectors to match for pods to use this Fargate profile. Each selector must have an associated namespace. Optionally, you can also specify labels for a namespace. You may specify up to five selectors in a Fargate profile.", + "subnets": "The IDs of subnets to launch your pods into. At this time, pods running on Fargate are not assigned public IP addresses, so only private subnets (with no direct route to an Internet Gateway) are accepted for this parameter.", + "clientRequestToken": "Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.", + "tags": "The metadata to apply to the Fargate profile to assist with categorization and organization. Each tag consists of a key and an optional value, both of which you define. Fargate profile tags do not propagate to any other resources associated with the Fargate profile, such as the pods that are scheduled with it." +} +""" +CreateFargateProfile(args) = eks("POST", "/clusters/{name}/fargate-profiles", args) + +""" + DescribeUpdate() + +Returns descriptive information about an update against your Amazon EKS cluster or associated managed node group. When the status of the update is Succeeded, the update is complete. If an update fails, the status is Failed, and an error detail explains the reason for the failure. + +Required Parameters +{ + "name": "The name of the Amazon EKS cluster associated with the update.", + "updateId": "The ID of the update to describe." +} + +Optional Parameters +{ + "nodegroupName": "The name of the Amazon EKS node group associated with the update." +} +""" +DescribeUpdate(args) = eks("GET", "/clusters/{name}/updates/{updateId}", args) + +""" + ListClusters() + +Lists the Amazon EKS clusters in your AWS account in the specified Region. + +Optional Parameters +{ + "maxResults": "The maximum number of cluster results returned by ListClusters in paginated output. When you use this parameter, ListClusters returns only maxResults results in a single page along with a nextToken response element. You can see the remaining results of the initial request by sending another ListClusters request with the returned nextToken value. This value can be between 1 and 100. If you don't use this parameter, ListClusters returns up to 100 results and a nextToken value if applicable.", + "nextToken": "The nextToken value returned from a previous paginated ListClusters request where maxResults was used and the results exceeded the value of that parameter. Pagination continues from the end of the previous results that returned the nextToken value. This token should be treated as an opaque identifier that is used only to retrieve the next items in a list and not for other programmatic purposes. " +} +""" +ListClusters() = eks("GET", "/clusters") +ListClusters(args) = eks("GET", "/clusters", args) diff --git a/src/services/elastic_beanstalk.jl b/src/services/elastic_beanstalk.jl new file mode 100644 index 0000000000..1c44c51ea3 --- /dev/null +++ b/src/services/elastic_beanstalk.jl @@ -0,0 +1,725 @@ +include("../AWSServices.jl") +using .AWSServices: elastic_beanstalk + +""" + RetrieveEnvironmentInfo() + +Retrieves the compiled information from a RequestEnvironmentInfo request. Related Topics RequestEnvironmentInfo + +Required Parameters +{ + "InfoType": "The type of information to retrieve." +} + +Optional Parameters +{ + "EnvironmentId": "The ID of the data's environment. If no such environment is found, returns an InvalidParameterValue error. Condition: You must specify either this or an EnvironmentName, or both. If you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error.", + "EnvironmentName": "The name of the data's environment. If no such environment is found, returns an InvalidParameterValue error. Condition: You must specify either this or an EnvironmentId, or both. If you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error. " +} +""" +RetrieveEnvironmentInfo(args) = elastic_beanstalk("RetrieveEnvironmentInfo", args) + +""" + AbortEnvironmentUpdate() + +Cancels in-progress environment configuration update or application version deployment. + +Optional Parameters +{ + "EnvironmentId": "This specifies the ID of the environment with the in-progress update that you want to cancel.", + "EnvironmentName": "This specifies the name of the environment with the in-progress update that you want to cancel." +} +""" +AbortEnvironmentUpdate() = elastic_beanstalk("AbortEnvironmentUpdate") +AbortEnvironmentUpdate(args) = elastic_beanstalk("AbortEnvironmentUpdate", args) + +""" + DeleteApplication() + +Deletes the specified application along with all associated versions and configurations. The application versions will not be deleted from your Amazon S3 bucket. You cannot delete an application that has a running environment. + +Required Parameters +{ + "ApplicationName": "The name of the application to delete." +} + +Optional Parameters +{ + "TerminateEnvByForce": "When set to true, running environments will be terminated before deleting the application." +} +""" +DeleteApplication(args) = elastic_beanstalk("DeleteApplication", args) + +""" + DescribeInstancesHealth() + +Retrieves detailed information about the health of instances in your AWS Elastic Beanstalk. This operation requires enhanced health reporting. + +Optional Parameters +{ + "AttributeNames": "Specifies the response elements you wish to receive. To retrieve all attributes, set to All. If no attribute names are specified, returns a list of instances.", + "NextToken": "Specify the pagination token returned by a previous call.", + "EnvironmentId": "Specify the AWS Elastic Beanstalk environment by ID.", + "EnvironmentName": "Specify the AWS Elastic Beanstalk environment by name." +} +""" +DescribeInstancesHealth() = elastic_beanstalk("DescribeInstancesHealth") +DescribeInstancesHealth(args) = elastic_beanstalk("DescribeInstancesHealth", args) + +""" + DescribeEnvironmentResources() + +Returns AWS resources for this environment. + +Optional Parameters +{ + "EnvironmentId": "The ID of the environment to retrieve AWS resource usage data. Condition: You must specify either this or an EnvironmentName, or both. If you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error. ", + "EnvironmentName": "The name of the environment to retrieve AWS resource usage data. Condition: You must specify either this or an EnvironmentId, or both. If you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error. " +} +""" +DescribeEnvironmentResources() = elastic_beanstalk("DescribeEnvironmentResources") +DescribeEnvironmentResources(args) = elastic_beanstalk("DescribeEnvironmentResources", args) + +""" + CreateApplication() + + Creates an application that has one configuration template named default and no application versions. + +Required Parameters +{ + "ApplicationName": "The name of the application. Constraint: This name must be unique within your account. If the specified name already exists, the action returns an InvalidParameterValue error." +} + +Optional Parameters +{ + "Description": "Describes the application.", + "Tags": "Specifies the tags applied to the application. Elastic Beanstalk applies these tags only to the application. Environments that you create in the application don't inherit the tags.", + "ResourceLifecycleConfig": "Specify an application resource lifecycle configuration to prevent your application from accumulating too many versions." +} +""" +CreateApplication(args) = elastic_beanstalk("CreateApplication", args) + +""" + DescribeEnvironments() + +Returns descriptions for existing environments. + +Optional Parameters +{ + "IncludedDeletedBackTo": " If specified when IncludeDeleted is set to true, then environments deleted after this date are displayed. ", + "MaxRecords": "For a paginated request. Specify a maximum number of environments to include in each response. If no MaxRecords is specified, all available environments are retrieved in a single response.", + "EnvironmentNames": "If specified, AWS Elastic Beanstalk restricts the returned descriptions to include only those that have the specified names.", + "VersionLabel": "If specified, AWS Elastic Beanstalk restricts the returned descriptions to include only those that are associated with this application version.", + "NextToken": "For a paginated request. Specify a token from a previous response page to retrieve the next response page. All other parameter values must be identical to the ones specified in the initial request. If no NextToken is specified, the first page is retrieved.", + "ApplicationName": "If specified, AWS Elastic Beanstalk restricts the returned descriptions to include only those that are associated with this application.", + "EnvironmentIds": "If specified, AWS Elastic Beanstalk restricts the returned descriptions to include only those that have the specified IDs.", + "IncludeDeleted": "Indicates whether to include deleted environments: true: Environments that have been deleted after IncludedDeletedBackTo are displayed. false: Do not include deleted environments." +} +""" +DescribeEnvironments() = elastic_beanstalk("DescribeEnvironments") +DescribeEnvironments(args) = elastic_beanstalk("DescribeEnvironments", args) + +""" + DescribeConfigurationSettings() + +Returns a description of the settings for the specified configuration set, that is, either a configuration template or the configuration set associated with a running environment. When describing the settings for the configuration set associated with a running environment, it is possible to receive two sets of setting descriptions. One is the deployed configuration set, and the other is a draft configuration of an environment that is either in the process of deployment or that failed to deploy. Related Topics DeleteEnvironmentConfiguration + +Required Parameters +{ + "ApplicationName": "The application for the environment or configuration template." +} + +Optional Parameters +{ + "TemplateName": "The name of the configuration template to describe. Conditional: You must specify either this parameter or an EnvironmentName, but not both. If you specify both, AWS Elastic Beanstalk returns an InvalidParameterCombination error. If you do not specify either, AWS Elastic Beanstalk returns a MissingRequiredParameter error. ", + "EnvironmentName": "The name of the environment to describe. Condition: You must specify either this or a TemplateName, but not both. If you specify both, AWS Elastic Beanstalk returns an InvalidParameterCombination error. If you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error. " +} +""" +DescribeConfigurationSettings(args) = elastic_beanstalk("DescribeConfigurationSettings", args) + +""" + DescribeEnvironmentManagedActions() + +Lists an environment's upcoming and in-progress managed actions. + +Optional Parameters +{ + "Status": "To show only actions with a particular status, specify a status.", + "EnvironmentId": "The environment ID of the target environment.", + "EnvironmentName": "The name of the target environment." +} +""" +DescribeEnvironmentManagedActions() = elastic_beanstalk("DescribeEnvironmentManagedActions") +DescribeEnvironmentManagedActions(args) = elastic_beanstalk("DescribeEnvironmentManagedActions", args) + +""" + CreateConfigurationTemplate() + +Creates a configuration template. Templates are associated with a specific application and are used to deploy different versions of the application with the same configuration settings. Templates aren't associated with any environment. The EnvironmentName response element is always null. Related Topics DescribeConfigurationOptions DescribeConfigurationSettings ListAvailableSolutionStacks + +Required Parameters +{ + "ApplicationName": "The name of the application to associate with this configuration template. If no application is found with this name, AWS Elastic Beanstalk returns an InvalidParameterValue error. ", + "TemplateName": "The name of the configuration template. Constraint: This name must be unique per application. Default: If a configuration template already exists with this name, AWS Elastic Beanstalk returns an InvalidParameterValue error. " +} + +Optional Parameters +{ + "OptionSettings": "If specified, AWS Elastic Beanstalk sets the specified configuration option to the requested value. The new value overrides the value obtained from the solution stack or the source configuration template.", + "Description": "Describes this configuration.", + "Tags": "Specifies the tags applied to the configuration template.", + "PlatformArn": "The ARN of the custom platform.", + "EnvironmentId": "The ID of the environment used with this configuration template.", + "SourceConfiguration": "If specified, AWS Elastic Beanstalk uses the configuration values from the specified configuration template to create a new configuration. Values specified in the OptionSettings parameter of this call overrides any values obtained from the SourceConfiguration. If no configuration template is found, returns an InvalidParameterValue error. Constraint: If both the solution stack name parameter and the source configuration parameters are specified, the solution stack of the source configuration template must match the specified solution stack name or else AWS Elastic Beanstalk returns an InvalidParameterCombination error. ", + "SolutionStackName": "The name of the solution stack used by this configuration. The solution stack specifies the operating system, architecture, and application server for a configuration template. It determines the set of configuration options as well as the possible and default values. Use ListAvailableSolutionStacks to obtain a list of available solution stacks. A solution stack name or a source configuration parameter must be specified, otherwise AWS Elastic Beanstalk returns an InvalidParameterValue error. If a solution stack name is not specified and the source configuration parameter is specified, AWS Elastic Beanstalk uses the same solution stack as the source configuration template." +} +""" +CreateConfigurationTemplate(args) = elastic_beanstalk("CreateConfigurationTemplate", args) + +""" + RequestEnvironmentInfo() + +Initiates a request to compile the specified type of information of the deployed environment. Setting the InfoType to tail compiles the last lines from the application server log files of every Amazon EC2 instance in your environment. Setting the InfoType to bundle compresses the application server log files for every Amazon EC2 instance into a .zip file. Legacy and .NET containers do not support bundle logs. Use RetrieveEnvironmentInfo to obtain the set of logs. Related Topics RetrieveEnvironmentInfo + +Required Parameters +{ + "InfoType": "The type of information to request." +} + +Optional Parameters +{ + "EnvironmentId": "The ID of the environment of the requested data. If no such environment is found, RequestEnvironmentInfo returns an InvalidParameterValue error. Condition: You must specify either this or an EnvironmentName, or both. If you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error. ", + "EnvironmentName": "The name of the environment of the requested data. If no such environment is found, RequestEnvironmentInfo returns an InvalidParameterValue error. Condition: You must specify either this or an EnvironmentId, or both. If you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error. " +} +""" +RequestEnvironmentInfo(args) = elastic_beanstalk("RequestEnvironmentInfo", args) + +""" + UpdateApplicationVersion() + +Updates the specified application version to have the specified properties. If a property (for example, description) is not provided, the value remains unchanged. To clear properties, specify an empty string. + +Required Parameters +{ + "VersionLabel": "The name of the version to update. If no application version is found with this label, UpdateApplication returns an InvalidParameterValue error. ", + "ApplicationName": "The name of the application associated with this version. If no application is found with this name, UpdateApplication returns an InvalidParameterValue error." +} + +Optional Parameters +{ + "Description": "A new description for this version." +} +""" +UpdateApplicationVersion(args) = elastic_beanstalk("UpdateApplicationVersion", args) + +""" + DescribeEnvironmentManagedActionHistory() + +Lists an environment's completed and failed managed actions. + +Optional Parameters +{ + "NextToken": "The pagination token returned by a previous request.", + "MaxItems": "The maximum number of items to return for a single request.", + "EnvironmentId": "The environment ID of the target environment.", + "EnvironmentName": "The name of the target environment." +} +""" +DescribeEnvironmentManagedActionHistory() = elastic_beanstalk("DescribeEnvironmentManagedActionHistory") +DescribeEnvironmentManagedActionHistory(args) = elastic_beanstalk("DescribeEnvironmentManagedActionHistory", args) + +""" + RebuildEnvironment() + +Deletes and recreates all of the AWS resources (for example: the Auto Scaling group, load balancer, etc.) for a specified environment and forces a restart. + +Optional Parameters +{ + "EnvironmentId": "The ID of the environment to rebuild. Condition: You must specify either this or an EnvironmentName, or both. If you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error. ", + "EnvironmentName": "The name of the environment to rebuild. Condition: You must specify either this or an EnvironmentId, or both. If you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error. " +} +""" +RebuildEnvironment() = elastic_beanstalk("RebuildEnvironment") +RebuildEnvironment(args) = elastic_beanstalk("RebuildEnvironment", args) + +""" + CheckDNSAvailability() + +Checks if the specified CNAME is available. + +Required Parameters +{ + "CNAMEPrefix": "The prefix used when this CNAME is reserved." +} +""" +CheckDNSAvailability(args) = elastic_beanstalk("CheckDNSAvailability", args) + +""" + ComposeEnvironments() + +Create or update a group of environments that each run a separate component of a single application. Takes a list of version labels that specify application source bundles for each of the environments to create or update. The name of each environment and other required information must be included in the source bundles in an environment manifest named env.yaml. See Compose Environments for details. + +Optional Parameters +{ + "VersionLabels": "A list of version labels, specifying one or more application source bundles that belong to the target application. Each source bundle must include an environment manifest that specifies the name of the environment and the name of the solution stack to use, and optionally can specify environment links to create.", + "ApplicationName": "The name of the application to which the specified source bundles belong.", + "GroupName": "The name of the group to which the target environments belong. Specify a group name only if the environment name defined in each target environment's manifest ends with a + (plus) character. See Environment Manifest (env.yaml) for details." +} +""" +ComposeEnvironments() = elastic_beanstalk("ComposeEnvironments") +ComposeEnvironments(args) = elastic_beanstalk("ComposeEnvironments", args) + +""" + CreatePlatformVersion() + +Create a new version of your custom platform. + +Required Parameters +{ + "PlatformVersion": "The number, such as 1.0.2, for the new platform version.", + "PlatformDefinitionBundle": "The location of the platform definition archive in Amazon S3.", + "PlatformName": "The name of your custom platform." +} + +Optional Parameters +{ + "EnvironmentName": "The name of the builder environment.", + "Tags": "Specifies the tags applied to the new platform version. Elastic Beanstalk applies these tags only to the platform version. Environments that you create using the platform version don't inherit the tags.", + "OptionSettings": "The configuration option settings to apply to the builder environment." +} +""" +CreatePlatformVersion(args) = elastic_beanstalk("CreatePlatformVersion", args) + +""" + ValidateConfigurationSettings() + +Takes a set of configuration settings and either a configuration template or environment, and determines whether those values are valid. This action returns a list of messages indicating any errors or warnings associated with the selection of option values. + +Required Parameters +{ + "ApplicationName": "The name of the application that the configuration template or environment belongs to.", + "OptionSettings": "A list of the options and desired values to evaluate." +} + +Optional Parameters +{ + "TemplateName": "The name of the configuration template to validate the settings against. Condition: You cannot specify both this and an environment name.", + "EnvironmentName": "The name of the environment to validate the settings against. Condition: You cannot specify both this and a configuration template name." +} +""" +ValidateConfigurationSettings(args) = elastic_beanstalk("ValidateConfigurationSettings", args) + +""" + ListTagsForResource() + +Returns the tags applied to an AWS Elastic Beanstalk resource. The response contains a list of tag key-value pairs. Currently, Elastic Beanstalk only supports tagging of Elastic Beanstalk environments. For details about environment tagging, see Tagging Resources in Your Elastic Beanstalk Environment. + +Required Parameters +{ + "ResourceArn": "The Amazon Resource Name (ARN) of the resouce for which a tag list is requested. Must be the ARN of an Elastic Beanstalk environment." +} +""" +ListTagsForResource(args) = elastic_beanstalk("ListTagsForResource", args) + +""" + DeleteEnvironmentConfiguration() + +Deletes the draft configuration associated with the running environment. Updating a running environment with any configuration changes creates a draft configuration set. You can get the draft configuration using DescribeConfigurationSettings while the update is in progress or if the update fails. The DeploymentStatus for the draft configuration indicates whether the deployment is in process or has failed. The draft configuration remains in existence until it is deleted with this action. + +Required Parameters +{ + "ApplicationName": "The name of the application the environment is associated with.", + "EnvironmentName": "The name of the environment to delete the draft configuration from." +} +""" +DeleteEnvironmentConfiguration(args) = elastic_beanstalk("DeleteEnvironmentConfiguration", args) + +""" + ApplyEnvironmentManagedAction() + +Applies a scheduled managed action immediately. A managed action can be applied only if its status is Scheduled. Get the status and action ID of a managed action with DescribeEnvironmentManagedActions. + +Required Parameters +{ + "ActionId": "The action ID of the scheduled managed action to execute." +} + +Optional Parameters +{ + "EnvironmentId": "The environment ID of the target environment.", + "EnvironmentName": "The name of the target environment." +} +""" +ApplyEnvironmentManagedAction(args) = elastic_beanstalk("ApplyEnvironmentManagedAction", args) + +""" + UpdateApplication() + +Updates the specified application to have the specified properties. If a property (for example, description) is not provided, the value remains unchanged. To clear these properties, specify an empty string. + +Required Parameters +{ + "ApplicationName": "The name of the application to update. If no such application is found, UpdateApplication returns an InvalidParameterValue error. " +} + +Optional Parameters +{ + "Description": "A new description for the application. Default: If not specified, AWS Elastic Beanstalk does not update the description." +} +""" +UpdateApplication(args) = elastic_beanstalk("UpdateApplication", args) + +""" + ListPlatformVersions() + +Lists the available platforms. + +Optional Parameters +{ + "MaxRecords": "The maximum number of platform values returned in one call.", + "NextToken": "The starting index into the remaining list of platforms. Use the NextToken value from a previous ListPlatformVersion call.", + "Filters": "List only the platforms where the platform member value relates to one of the supplied values." +} +""" +ListPlatformVersions() = elastic_beanstalk("ListPlatformVersions") +ListPlatformVersions(args) = elastic_beanstalk("ListPlatformVersions", args) + +""" + UpdateEnvironment() + +Updates the environment description, deploys a new application version, updates the configuration settings to an entirely new configuration template, or updates select configuration option values in the running environment. Attempting to update both the release and configuration is not allowed and AWS Elastic Beanstalk returns an InvalidParameterCombination error. When updating the configuration settings to a new template or individual settings, a draft configuration is created and DescribeConfigurationSettings for this environment returns two setting descriptions with different DeploymentStatus values. + +Optional Parameters +{ + "VersionLabel": "If this parameter is specified, AWS Elastic Beanstalk deploys the named application version to the environment. If no such application version is found, returns an InvalidParameterValue error. ", + "GroupName": "The name of the group to which the target environment belongs. Specify a group name only if the environment's name is specified in an environment manifest and not with the environment name or environment ID parameters. See Environment Manifest (env.yaml) for details.", + "SolutionStackName": "This specifies the platform version that the environment will run after the environment is updated.", + "Tier": "This specifies the tier to use to update the environment. Condition: At this time, if you change the tier version, name, or type, AWS Elastic Beanstalk returns InvalidParameterValue error. ", + "OptionSettings": "If specified, AWS Elastic Beanstalk updates the configuration set associated with the running environment and sets the specified configuration options to the requested value.", + "EnvironmentName": "The name of the environment to update. If no environment with this name exists, AWS Elastic Beanstalk returns an InvalidParameterValue error. Condition: You must specify either this or an EnvironmentId, or both. If you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error. ", + "TemplateName": "If this parameter is specified, AWS Elastic Beanstalk deploys this configuration template to the environment. If no such configuration template is found, AWS Elastic Beanstalk returns an InvalidParameterValue error. ", + "Description": "If this parameter is specified, AWS Elastic Beanstalk updates the description of this environment.", + "PlatformArn": "The ARN of the platform, if used.", + "ApplicationName": "The name of the application with which the environment is associated.", + "EnvironmentId": "The ID of the environment to update. If no environment with this ID exists, AWS Elastic Beanstalk returns an InvalidParameterValue error. Condition: You must specify either this or an EnvironmentName, or both. If you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error. ", + "OptionsToRemove": "A list of custom user-defined configuration options to remove from the configuration set for this environment." +} +""" +UpdateEnvironment() = elastic_beanstalk("UpdateEnvironment") +UpdateEnvironment(args) = elastic_beanstalk("UpdateEnvironment", args) + +""" + DescribePlatformVersion() + +Describes the version of the platform. + +Optional Parameters +{ + "PlatformArn": "The ARN of the version of the platform." +} +""" +DescribePlatformVersion() = elastic_beanstalk("DescribePlatformVersion") +DescribePlatformVersion(args) = elastic_beanstalk("DescribePlatformVersion", args) + +""" + CreateStorageLocation() + +Creates a bucket in Amazon S3 to store application versions, logs, and other files used by Elastic Beanstalk environments. The Elastic Beanstalk console and EB CLI call this API the first time you create an environment in a region. If the storage location already exists, CreateStorageLocation still returns the bucket name but does not create a new bucket. +""" +CreateStorageLocation() = elastic_beanstalk("CreateStorageLocation") +CreateStorageLocation(args) = elastic_beanstalk("CreateStorageLocation", args) + +""" + TerminateEnvironment() + +Terminates the specified environment. + +Optional Parameters +{ + "TerminateResources": "Indicates whether the associated AWS resources should shut down when the environment is terminated: true: The specified environment as well as the associated AWS resources, such as Auto Scaling group and LoadBalancer, are terminated. false: AWS Elastic Beanstalk resource management is removed from the environment, but the AWS resources continue to operate. For more information, see the AWS Elastic Beanstalk User Guide. Default: true Valid Values: true | false ", + "ForceTerminate": "Terminates the target environment even if another environment in the same group is dependent on it.", + "EnvironmentId": "The ID of the environment to terminate. Condition: You must specify either this or an EnvironmentName, or both. If you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error. ", + "EnvironmentName": "The name of the environment to terminate. Condition: You must specify either this or an EnvironmentId, or both. If you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error. " +} +""" +TerminateEnvironment() = elastic_beanstalk("TerminateEnvironment") +TerminateEnvironment(args) = elastic_beanstalk("TerminateEnvironment", args) + +""" + CreateApplicationVersion() + +Creates an application version for the specified application. You can create an application version from a source bundle in Amazon S3, a commit in AWS CodeCommit, or the output of an AWS CodeBuild build as follows: Specify a commit in an AWS CodeCommit repository with SourceBuildInformation. Specify a build in an AWS CodeBuild with SourceBuildInformation and BuildConfiguration. Specify a source bundle in S3 with SourceBundle Omit both SourceBuildInformation and SourceBundle to use the default sample application. Once you create an application version with a specified Amazon S3 bucket and key location, you cannot change that Amazon S3 location. If you change the Amazon S3 location, you receive an exception when you attempt to launch an environment from the application version. + +Required Parameters +{ + "VersionLabel": "A label identifying this version. Constraint: Must be unique per application. If an application version already exists with this label for the specified application, AWS Elastic Beanstalk returns an InvalidParameterValue error. ", + "ApplicationName": " The name of the application. If no application is found with this name, and AutoCreateApplication is false, returns an InvalidParameterValue error. " +} + +Optional Parameters +{ + "SourceBundle": "The Amazon S3 bucket and key that identify the location of the source bundle for this version. The Amazon S3 bucket must be in the same region as the environment. Specify a source bundle in S3 or a commit in an AWS CodeCommit repository (with SourceBuildInformation), but not both. If neither SourceBundle nor SourceBuildInformation are provided, Elastic Beanstalk uses a sample application.", + "SourceBuildInformation": "Specify a commit in an AWS CodeCommit Git repository to use as the source code for the application version.", + "Description": "Describes this version.", + "Process": "Pre-processes and validates the environment manifest (env.yaml) and configuration files (*.config files in the .ebextensions folder) in the source bundle. Validating configuration files can identify issues prior to deploying the application version to an environment. You must turn processing on for application versions that you create using AWS CodeBuild or AWS CodeCommit. For application versions built from a source bundle in Amazon S3, processing is optional. The Process option validates Elastic Beanstalk configuration files. It doesn't validate your application's configuration files, like proxy server or Docker configuration. ", + "Tags": "Specifies the tags applied to the application version. Elastic Beanstalk applies these tags only to the application version. Environments that use the application version don't inherit the tags.", + "BuildConfiguration": "Settings for an AWS CodeBuild build.", + "AutoCreateApplication": "Set to true to create an application with the specified name if it doesn't already exist." +} +""" +CreateApplicationVersion(args) = elastic_beanstalk("CreateApplicationVersion", args) + +""" + DescribeApplications() + +Returns the descriptions of existing applications. + +Optional Parameters +{ + "ApplicationNames": "If specified, AWS Elastic Beanstalk restricts the returned descriptions to only include those with the specified names." +} +""" +DescribeApplications() = elastic_beanstalk("DescribeApplications") +DescribeApplications(args) = elastic_beanstalk("DescribeApplications", args) + +""" + SwapEnvironmentCNAMEs() + +Swaps the CNAMEs of two environments. + +Optional Parameters +{ + "DestinationEnvironmentName": "The name of the destination environment. Condition: You must specify at least the DestinationEnvironmentID or the DestinationEnvironmentName. You may also specify both. You must specify the SourceEnvironmentName with the DestinationEnvironmentName. ", + "SourceEnvironmentId": "The ID of the source environment. Condition: You must specify at least the SourceEnvironmentID or the SourceEnvironmentName. You may also specify both. If you specify the SourceEnvironmentId, you must specify the DestinationEnvironmentId. ", + "DestinationEnvironmentId": "The ID of the destination environment. Condition: You must specify at least the DestinationEnvironmentID or the DestinationEnvironmentName. You may also specify both. You must specify the SourceEnvironmentId with the DestinationEnvironmentId. ", + "SourceEnvironmentName": "The name of the source environment. Condition: You must specify at least the SourceEnvironmentID or the SourceEnvironmentName. You may also specify both. If you specify the SourceEnvironmentName, you must specify the DestinationEnvironmentName. " +} +""" +SwapEnvironmentCNAMEs() = elastic_beanstalk("SwapEnvironmentCNAMEs") +SwapEnvironmentCNAMEs(args) = elastic_beanstalk("SwapEnvironmentCNAMEs", args) + +""" + DescribeEvents() + +Returns list of event descriptions matching criteria up to the last 6 weeks. This action returns the most recent 1,000 events from the specified NextToken. + +Optional Parameters +{ + "VersionLabel": "If specified, AWS Elastic Beanstalk restricts the returned descriptions to those associated with this application version.", + "EndTime": " If specified, AWS Elastic Beanstalk restricts the returned descriptions to those that occur up to, but not including, the EndTime. ", + "MaxRecords": "Specifies the maximum number of events that can be returned, beginning with the most recent event.", + "Severity": "If specified, limits the events returned from this call to include only those with the specified severity or higher.", + "EnvironmentName": "If specified, AWS Elastic Beanstalk restricts the returned descriptions to those associated with this environment.", + "StartTime": "If specified, AWS Elastic Beanstalk restricts the returned descriptions to those that occur on or after this time.", + "RequestId": "If specified, AWS Elastic Beanstalk restricts the described events to include only those associated with this request ID.", + "TemplateName": "If specified, AWS Elastic Beanstalk restricts the returned descriptions to those that are associated with this environment configuration.", + "NextToken": "Pagination token. If specified, the events return the next batch of results.", + "PlatformArn": "The ARN of the version of the custom platform.", + "ApplicationName": "If specified, AWS Elastic Beanstalk restricts the returned descriptions to include only those associated with this application.", + "EnvironmentId": "If specified, AWS Elastic Beanstalk restricts the returned descriptions to those associated with this environment." +} +""" +DescribeEvents() = elastic_beanstalk("DescribeEvents") +DescribeEvents(args) = elastic_beanstalk("DescribeEvents", args) + +""" + CreateEnvironment() + +Launches an environment for the specified application using the specified configuration. + +Required Parameters +{ + "ApplicationName": "The name of the application that contains the version to be deployed. If no application is found with this name, CreateEnvironment returns an InvalidParameterValue error. " +} + +Optional Parameters +{ + "CNAMEPrefix": "If specified, the environment attempts to use this value as the prefix for the CNAME. If not specified, the CNAME is generated automatically by appending a random alphanumeric string to the environment name.", + "VersionLabel": "The name of the application version to deploy. If the specified application has no associated application versions, AWS Elastic Beanstalk UpdateEnvironment returns an InvalidParameterValue error. Default: If not specified, AWS Elastic Beanstalk attempts to launch the sample application in the container.", + "GroupName": "The name of the group to which the target environment belongs. Specify a group name only if the environment's name is specified in an environment manifest and not with the environment name parameter. See Environment Manifest (env.yaml) for details.", + "SolutionStackName": "This is an alternative to specifying a template name. If specified, AWS Elastic Beanstalk sets the configuration values to the default values associated with the specified solution stack. For a list of current solution stacks, see Elastic Beanstalk Supported Platforms.", + "Tags": "Specifies the tags applied to resources in the environment.", + "Tier": "This specifies the tier to use for creating this environment.", + "EnvironmentName": "A unique name for the deployment environment. Used in the application URL. Constraint: Must be from 4 to 40 characters in length. The name can contain only letters, numbers, and hyphens. It cannot start or end with a hyphen. This name must be unique within a region in your account. If the specified name already exists in the region, AWS Elastic Beanstalk returns an InvalidParameterValue error. Default: If the CNAME parameter is not specified, the environment name becomes part of the CNAME, and therefore part of the visible URL for your application.", + "OptionSettings": "If specified, AWS Elastic Beanstalk sets the specified configuration options to the requested value in the configuration set for the new environment. These override the values obtained from the solution stack or the configuration template.", + "TemplateName": " The name of the configuration template to use in deployment. If no configuration template is found with this name, AWS Elastic Beanstalk returns an InvalidParameterValue error. ", + "Description": "Describes this environment.", + "PlatformArn": "The ARN of the platform.", + "OptionsToRemove": "A list of custom user-defined configuration options to remove from the configuration set for this new environment." +} +""" +CreateEnvironment(args) = elastic_beanstalk("CreateEnvironment", args) + +""" + DescribeAccountAttributes() + +Returns attributes related to AWS Elastic Beanstalk that are associated with the calling AWS account. The result currently has one set of attributes—resource quotas. +""" +DescribeAccountAttributes() = elastic_beanstalk("DescribeAccountAttributes") +DescribeAccountAttributes(args) = elastic_beanstalk("DescribeAccountAttributes", args) + +""" + DeletePlatformVersion() + +Deletes the specified version of a custom platform. + +Optional Parameters +{ + "PlatformArn": "The ARN of the version of the custom platform." +} +""" +DeletePlatformVersion() = elastic_beanstalk("DeletePlatformVersion") +DeletePlatformVersion(args) = elastic_beanstalk("DeletePlatformVersion", args) + +""" + DescribeEnvironmentHealth() + +Returns information about the overall health of the specified environment. The DescribeEnvironmentHealth operation is only available with AWS Elastic Beanstalk Enhanced Health. + +Optional Parameters +{ + "AttributeNames": "Specify the response elements to return. To retrieve all attributes, set to All. If no attribute names are specified, returns the name of the environment.", + "EnvironmentId": "Specify the environment by ID. You must specify either this or an EnvironmentName, or both.", + "EnvironmentName": "Specify the environment by name. You must specify either this or an EnvironmentName, or both." +} +""" +DescribeEnvironmentHealth() = elastic_beanstalk("DescribeEnvironmentHealth") +DescribeEnvironmentHealth(args) = elastic_beanstalk("DescribeEnvironmentHealth", args) + +""" + UpdateTagsForResource() + +Update the list of tags applied to an AWS Elastic Beanstalk resource. Two lists can be passed: TagsToAdd for tags to add or update, and TagsToRemove. Currently, Elastic Beanstalk only supports tagging of Elastic Beanstalk environments. For details about environment tagging, see Tagging Resources in Your Elastic Beanstalk Environment. If you create a custom IAM user policy to control permission to this operation, specify one of the following two virtual actions (or both) instead of the API operation name: elasticbeanstalk:AddTags Controls permission to call UpdateTagsForResource and pass a list of tags to add in the TagsToAdd parameter. elasticbeanstalk:RemoveTags Controls permission to call UpdateTagsForResource and pass a list of tag keys to remove in the TagsToRemove parameter. For details about creating a custom user policy, see Creating a Custom User Policy. + +Required Parameters +{ + "ResourceArn": "The Amazon Resource Name (ARN) of the resouce to be updated. Must be the ARN of an Elastic Beanstalk environment." +} + +Optional Parameters +{ + "TagsToAdd": "A list of tags to add or update. If a key of an existing tag is added, the tag's value is updated.", + "TagsToRemove": "A list of tag keys to remove. If a tag key doesn't exist, it is silently ignored." +} +""" +UpdateTagsForResource(args) = elastic_beanstalk("UpdateTagsForResource", args) + +""" + DeleteApplicationVersion() + +Deletes the specified version from the specified application. You cannot delete an application version that is associated with a running environment. + +Required Parameters +{ + "VersionLabel": "The label of the version to delete.", + "ApplicationName": "The name of the application to which the version belongs." +} + +Optional Parameters +{ + "DeleteSourceBundle": "Set to true to delete the source bundle from your storage bucket. Otherwise, the application version is deleted only from Elastic Beanstalk and the source bundle remains in Amazon S3." +} +""" +DeleteApplicationVersion(args) = elastic_beanstalk("DeleteApplicationVersion", args) + +""" + DeleteConfigurationTemplate() + +Deletes the specified configuration template. When you launch an environment using a configuration template, the environment gets a copy of the template. You can delete or modify the environment's copy of the template without affecting the running environment. + +Required Parameters +{ + "ApplicationName": "The name of the application to delete the configuration template from.", + "TemplateName": "The name of the configuration template to delete." +} +""" +DeleteConfigurationTemplate(args) = elastic_beanstalk("DeleteConfigurationTemplate", args) + +""" + RestartAppServer() + +Causes the environment to restart the application container server running on each Amazon EC2 instance. + +Optional Parameters +{ + "EnvironmentId": "The ID of the environment to restart the server for. Condition: You must specify either this or an EnvironmentName, or both. If you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error. ", + "EnvironmentName": "The name of the environment to restart the server for. Condition: You must specify either this or an EnvironmentId, or both. If you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error. " +} +""" +RestartAppServer() = elastic_beanstalk("RestartAppServer") +RestartAppServer(args) = elastic_beanstalk("RestartAppServer", args) + +""" + UpdateConfigurationTemplate() + +Updates the specified configuration template to have the specified properties or configuration option values. If a property (for example, ApplicationName) is not provided, its value remains unchanged. To clear such properties, specify an empty string. Related Topics DescribeConfigurationOptions + +Required Parameters +{ + "ApplicationName": "The name of the application associated with the configuration template to update. If no application is found with this name, UpdateConfigurationTemplate returns an InvalidParameterValue error. ", + "TemplateName": "The name of the configuration template to update. If no configuration template is found with this name, UpdateConfigurationTemplate returns an InvalidParameterValue error. " +} + +Optional Parameters +{ + "Description": "A new description for the configuration.", + "OptionsToRemove": "A list of configuration options to remove from the configuration set. Constraint: You can remove only UserDefined configuration options. ", + "OptionSettings": "A list of configuration option settings to update with the new specified option value." +} +""" +UpdateConfigurationTemplate(args) = elastic_beanstalk("UpdateConfigurationTemplate", args) + +""" + DescribeApplicationVersions() + +Retrieve a list of application versions. + +Optional Parameters +{ + "MaxRecords": "For a paginated request. Specify a maximum number of application versions to include in each response. If no MaxRecords is specified, all available application versions are retrieved in a single response.", + "NextToken": "For a paginated request. Specify a token from a previous response page to retrieve the next response page. All other parameter values must be identical to the ones specified in the initial request. If no NextToken is specified, the first page is retrieved.", + "VersionLabels": "Specify a version label to show a specific application version.", + "ApplicationName": "Specify an application name to show only application versions for that application." +} +""" +DescribeApplicationVersions() = elastic_beanstalk("DescribeApplicationVersions") +DescribeApplicationVersions(args) = elastic_beanstalk("DescribeApplicationVersions", args) + +""" + ListAvailableSolutionStacks() + +Returns a list of the available solution stack names, with the public version first and then in reverse chronological order. +""" +ListAvailableSolutionStacks() = elastic_beanstalk("ListAvailableSolutionStacks") +ListAvailableSolutionStacks(args) = elastic_beanstalk("ListAvailableSolutionStacks", args) + +""" + UpdateApplicationResourceLifecycle() + +Modifies lifecycle settings for an application. + +Required Parameters +{ + "ResourceLifecycleConfig": "The lifecycle configuration.", + "ApplicationName": "The name of the application." +} +""" +UpdateApplicationResourceLifecycle(args) = elastic_beanstalk("UpdateApplicationResourceLifecycle", args) + +""" + DescribeConfigurationOptions() + +Describes the configuration options that are used in a particular configuration template or environment, or that a specified solution stack defines. The description includes the values the options, their default values, and an indication of the required action on a running environment if an option value is changed. + +Optional Parameters +{ + "SolutionStackName": "The name of the solution stack whose configuration options you want to describe.", + "TemplateName": "The name of the configuration template whose configuration options you want to describe.", + "PlatformArn": "The ARN of the custom platform.", + "ApplicationName": "The name of the application associated with the configuration template or environment. Only needed if you want to describe the configuration options associated with either the configuration template or environment.", + "Options": "If specified, restricts the descriptions to only the specified options.", + "EnvironmentName": "The name of the environment whose configuration options you want to describe." +} +""" +DescribeConfigurationOptions() = elastic_beanstalk("DescribeConfigurationOptions") +DescribeConfigurationOptions(args) = elastic_beanstalk("DescribeConfigurationOptions", args) diff --git a/src/services/elastic_inference.jl b/src/services/elastic_inference.jl new file mode 100644 index 0000000000..0903c8795d --- /dev/null +++ b/src/services/elastic_inference.jl @@ -0,0 +1,40 @@ +include("../AWSServices.jl") +using .AWSServices: elastic_inference + +""" + ListTagsForResource() + +Returns all tags of an Elastic Inference Accelerator. + +Required Parameters +{ + "resourceArn": "The ARN of the Elastic Inference Accelerator to list the tags for." +} +""" +ListTagsForResource(args) = elastic_inference("GET", "/tags/{resourceArn}", args) + +""" + TagResource() + +Adds the specified tag(s) to an Elastic Inference Accelerator. + +Required Parameters +{ + "resourceArn": "The ARN of the Elastic Inference Accelerator to tag.", + "tags": "The tags to add to the Elastic Inference Accelerator." +} +""" +TagResource(args) = elastic_inference("POST", "/tags/{resourceArn}", args) + +""" + UntagResource() + +Removes the specified tag(s) from an Elastic Inference Accelerator. + +Required Parameters +{ + "resourceArn": "The ARN of the Elastic Inference Accelerator to untag.", + "tagKeys": "The list of tags to remove from the Elastic Inference Accelerator." +} +""" +UntagResource(args) = elastic_inference("DELETE", "/tags/{resourceArn}", args) diff --git a/src/services/elastic_load_balancing.jl b/src/services/elastic_load_balancing.jl new file mode 100644 index 0000000000..8c66a38273 --- /dev/null +++ b/src/services/elastic_load_balancing.jl @@ -0,0 +1,408 @@ +include("../AWSServices.jl") +using .AWSServices: elastic_load_balancing + +""" + EnableAvailabilityZonesForLoadBalancer() + +Adds the specified Availability Zones to the set of Availability Zones for the specified load balancer in EC2-Classic or a default VPC. For load balancers in a non-default VPC, use AttachLoadBalancerToSubnets. The load balancer evenly distributes requests across all its registered Availability Zones that contain instances. For more information, see Add or Remove Availability Zones in the Classic Load Balancers Guide. + +Required Parameters +{ + "LoadBalancerName": "The name of the load balancer.", + "AvailabilityZones": "The Availability Zones. These must be in the same region as the load balancer." +} +""" +EnableAvailabilityZonesForLoadBalancer(args) = elastic_load_balancing("EnableAvailabilityZonesForLoadBalancer", args) + +""" + DeleteLoadBalancerListeners() + +Deletes the specified listeners from the specified load balancer. + +Required Parameters +{ + "LoadBalancerName": "The name of the load balancer.", + "LoadBalancerPorts": "The client port numbers of the listeners." +} +""" +DeleteLoadBalancerListeners(args) = elastic_load_balancing("DeleteLoadBalancerListeners", args) + +""" + SetLoadBalancerListenerSSLCertificate() + +Sets the certificate that terminates the specified listener's SSL connections. The specified certificate replaces any prior certificate that was used on the same load balancer and port. For more information about updating your SSL certificate, see Replace the SSL Certificate for Your Load Balancer in the Classic Load Balancers Guide. + +Required Parameters +{ + "LoadBalancerPort": "The port that uses the specified SSL certificate.", + "SSLCertificateId": "The Amazon Resource Name (ARN) of the SSL certificate.", + "LoadBalancerName": "The name of the load balancer." +} +""" +SetLoadBalancerListenerSSLCertificate(args) = elastic_load_balancing("SetLoadBalancerListenerSSLCertificate", args) + +""" + DeregisterInstancesFromLoadBalancer() + +Deregisters the specified instances from the specified load balancer. After the instance is deregistered, it no longer receives traffic from the load balancer. You can use DescribeLoadBalancers to verify that the instance is deregistered from the load balancer. For more information, see Register or De-Register EC2 Instances in the Classic Load Balancers Guide. + +Required Parameters +{ + "Instances": "The IDs of the instances.", + "LoadBalancerName": "The name of the load balancer." +} +""" +DeregisterInstancesFromLoadBalancer(args) = elastic_load_balancing("DeregisterInstancesFromLoadBalancer", args) + +""" + ModifyLoadBalancerAttributes() + +Modifies the attributes of the specified load balancer. You can modify the load balancer attributes, such as AccessLogs, ConnectionDraining, and CrossZoneLoadBalancing by either enabling or disabling them. Or, you can modify the load balancer attribute ConnectionSettings by specifying an idle connection timeout value for your load balancer. For more information, see the following in the Classic Load Balancers Guide: Cross-Zone Load Balancing Connection Draining Access Logs Idle Connection Timeout + +Required Parameters +{ + "LoadBalancerAttributes": "The attributes for the load balancer.", + "LoadBalancerName": "The name of the load balancer." +} +""" +ModifyLoadBalancerAttributes(args) = elastic_load_balancing("ModifyLoadBalancerAttributes", args) + +""" + SetLoadBalancerPoliciesOfListener() + +Replaces the current set of policies for the specified load balancer port with the specified set of policies. To enable back-end server authentication, use SetLoadBalancerPoliciesForBackendServer. For more information about setting policies, see Update the SSL Negotiation Configuration, Duration-Based Session Stickiness, and Application-Controlled Session Stickiness in the Classic Load Balancers Guide. + +Required Parameters +{ + "PolicyNames": "The names of the policies. This list must include all policies to be enabled. If you omit a policy that is currently enabled, it is disabled. If the list is empty, all current policies are disabled.", + "LoadBalancerPort": "The external port of the load balancer.", + "LoadBalancerName": "The name of the load balancer." +} +""" +SetLoadBalancerPoliciesOfListener(args) = elastic_load_balancing("SetLoadBalancerPoliciesOfListener", args) + +""" + SetLoadBalancerPoliciesForBackendServer() + +Replaces the set of policies associated with the specified port on which the EC2 instance is listening with a new set of policies. At this time, only the back-end server authentication policy type can be applied to the instance ports; this policy type is composed of multiple public key policies. Each time you use SetLoadBalancerPoliciesForBackendServer to enable the policies, use the PolicyNames parameter to list the policies that you want to enable. You can use DescribeLoadBalancers or DescribeLoadBalancerPolicies to verify that the policy is associated with the EC2 instance. For more information about enabling back-end instance authentication, see Configure Back-end Instance Authentication in the Classic Load Balancers Guide. For more information about Proxy Protocol, see Configure Proxy Protocol Support in the Classic Load Balancers Guide. + +Required Parameters +{ + "PolicyNames": "The names of the policies. If the list is empty, then all current polices are removed from the EC2 instance.", + "InstancePort": "The port number associated with the EC2 instance.", + "LoadBalancerName": "The name of the load balancer." +} +""" +SetLoadBalancerPoliciesForBackendServer(args) = elastic_load_balancing("SetLoadBalancerPoliciesForBackendServer", args) + +""" + CreateLoadBalancerListeners() + +Creates one or more listeners for the specified load balancer. If a listener with the specified port does not already exist, it is created; otherwise, the properties of the new listener must match the properties of the existing listener. For more information, see Listeners for Your Classic Load Balancer in the Classic Load Balancers Guide. + +Required Parameters +{ + "LoadBalancerName": "The name of the load balancer.", + "Listeners": "The listeners." +} +""" +CreateLoadBalancerListeners(args) = elastic_load_balancing("CreateLoadBalancerListeners", args) + +""" + DescribeLoadBalancerPolicies() + +Describes the specified policies. If you specify a load balancer name, the action returns the descriptions of all policies created for the load balancer. If you specify a policy name associated with your load balancer, the action returns the description of that policy. If you don't specify a load balancer name, the action returns descriptions of the specified sample policies, or descriptions of all sample policies. The names of the sample policies have the ELBSample- prefix. + +Optional Parameters +{ + "PolicyNames": "The names of the policies.", + "LoadBalancerName": "The name of the load balancer." +} +""" +DescribeLoadBalancerPolicies() = elastic_load_balancing("DescribeLoadBalancerPolicies") +DescribeLoadBalancerPolicies(args) = elastic_load_balancing("DescribeLoadBalancerPolicies", args) + +""" + DetachLoadBalancerFromSubnets() + +Removes the specified subnets from the set of configured subnets for the load balancer. After a subnet is removed, all EC2 instances registered with the load balancer in the removed subnet go into the OutOfService state. Then, the load balancer balances the traffic among the remaining routable subnets. + +Required Parameters +{ + "LoadBalancerName": "The name of the load balancer.", + "Subnets": "The IDs of the subnets." +} +""" +DetachLoadBalancerFromSubnets(args) = elastic_load_balancing("DetachLoadBalancerFromSubnets", args) + +""" + RemoveTags() + +Removes one or more tags from the specified load balancer. + +Required Parameters +{ + "Tags": "The list of tag keys to remove.", + "LoadBalancerNames": "The name of the load balancer. You can specify a maximum of one load balancer name." +} +""" +RemoveTags(args) = elastic_load_balancing("RemoveTags", args) + +""" + DescribeLoadBalancers() + +Describes the specified the load balancers. If no load balancers are specified, the call describes all of your load balancers. + +Optional Parameters +{ + "Marker": "The marker for the next set of results. (You received this marker from a previous call.)", + "PageSize": "The maximum number of results to return with this call (a number from 1 to 400). The default is 400.", + "LoadBalancerNames": "The names of the load balancers." +} +""" +DescribeLoadBalancers() = elastic_load_balancing("DescribeLoadBalancers") +DescribeLoadBalancers(args) = elastic_load_balancing("DescribeLoadBalancers", args) + +""" + DescribeLoadBalancerPolicyTypes() + +Describes the specified load balancer policy types or all load balancer policy types. The description of each type indicates how it can be used. For example, some policies can be used only with layer 7 listeners, some policies can be used only with layer 4 listeners, and some policies can be used only with your EC2 instances. You can use CreateLoadBalancerPolicy to create a policy configuration for any of these policy types. Then, depending on the policy type, use either SetLoadBalancerPoliciesOfListener or SetLoadBalancerPoliciesForBackendServer to set the policy. + +Optional Parameters +{ + "PolicyTypeNames": "The names of the policy types. If no names are specified, describes all policy types defined by Elastic Load Balancing." +} +""" +DescribeLoadBalancerPolicyTypes() = elastic_load_balancing("DescribeLoadBalancerPolicyTypes") +DescribeLoadBalancerPolicyTypes(args) = elastic_load_balancing("DescribeLoadBalancerPolicyTypes", args) + +""" + DescribeTags() + +Describes the tags associated with the specified load balancers. + +Required Parameters +{ + "LoadBalancerNames": "The names of the load balancers." +} +""" +DescribeTags(args) = elastic_load_balancing("DescribeTags", args) + +""" + RegisterInstancesWithLoadBalancer() + +Adds the specified instances to the specified load balancer. The instance must be a running instance in the same network as the load balancer (EC2-Classic or the same VPC). If you have EC2-Classic instances and a load balancer in a VPC with ClassicLink enabled, you can link the EC2-Classic instances to that VPC and then register the linked EC2-Classic instances with the load balancer in the VPC. Note that RegisterInstanceWithLoadBalancer completes when the request has been registered. Instance registration takes a little time to complete. To check the state of the registered instances, use DescribeLoadBalancers or DescribeInstanceHealth. After the instance is registered, it starts receiving traffic and requests from the load balancer. Any instance that is not in one of the Availability Zones registered for the load balancer is moved to the OutOfService state. If an Availability Zone is added to the load balancer later, any instances registered with the load balancer move to the InService state. To deregister instances from a load balancer, use DeregisterInstancesFromLoadBalancer. For more information, see Register or De-Register EC2 Instances in the Classic Load Balancers Guide. + +Required Parameters +{ + "Instances": "The IDs of the instances.", + "LoadBalancerName": "The name of the load balancer." +} +""" +RegisterInstancesWithLoadBalancer(args) = elastic_load_balancing("RegisterInstancesWithLoadBalancer", args) + +""" + CreateAppCookieStickinessPolicy() + +Generates a stickiness policy with sticky session lifetimes that follow that of an application-generated cookie. This policy can be associated only with HTTP/HTTPS listeners. This policy is similar to the policy created by CreateLBCookieStickinessPolicy, except that the lifetime of the special Elastic Load Balancing cookie, AWSELB, follows the lifetime of the application-generated cookie specified in the policy configuration. The load balancer only inserts a new stickiness cookie when the application response includes a new application cookie. If the application cookie is explicitly removed or expires, the session stops being sticky until a new application cookie is issued. For more information, see Application-Controlled Session Stickiness in the Classic Load Balancers Guide. + +Required Parameters +{ + "PolicyName": "The name of the policy being created. Policy names must consist of alphanumeric characters and dashes (-). This name must be unique within the set of policies for this load balancer.", + "LoadBalancerName": "The name of the load balancer.", + "CookieName": "The name of the application cookie used for stickiness." +} +""" +CreateAppCookieStickinessPolicy(args) = elastic_load_balancing("CreateAppCookieStickinessPolicy", args) + +""" + CreateLoadBalancer() + +Creates a Classic Load Balancer. You can add listeners, security groups, subnets, and tags when you create your load balancer, or you can add them later using CreateLoadBalancerListeners, ApplySecurityGroupsToLoadBalancer, AttachLoadBalancerToSubnets, and AddTags. To describe your current load balancers, see DescribeLoadBalancers. When you are finished with a load balancer, you can delete it using DeleteLoadBalancer. You can create up to 20 load balancers per region per account. You can request an increase for the number of load balancers for your account. For more information, see Limits for Your Classic Load Balancer in the Classic Load Balancers Guide. + +Required Parameters +{ + "LoadBalancerName": "The name of the load balancer. This name must be unique within your set of load balancers for the region, must have a maximum of 32 characters, must contain only alphanumeric characters or hyphens, and cannot begin or end with a hyphen.", + "Listeners": "The listeners. For more information, see Listeners for Your Classic Load Balancer in the Classic Load Balancers Guide." +} + +Optional Parameters +{ + "Scheme": "The type of a load balancer. Valid only for load balancers in a VPC. By default, Elastic Load Balancing creates an Internet-facing load balancer with a DNS name that resolves to public IP addresses. For more information about Internet-facing and Internal load balancers, see Load Balancer Scheme in the Elastic Load Balancing User Guide. Specify internal to create a load balancer with a DNS name that resolves to private IP addresses.", + "Tags": "A list of tags to assign to the load balancer. For more information about tagging your load balancer, see Tag Your Classic Load Balancer in the Classic Load Balancers Guide.", + "Subnets": "The IDs of the subnets in your VPC to attach to the load balancer. Specify one subnet per Availability Zone specified in AvailabilityZones.", + "SecurityGroups": "The IDs of the security groups to assign to the load balancer.", + "AvailabilityZones": "One or more Availability Zones from the same region as the load balancer. You must specify at least one Availability Zone. You can add more Availability Zones after you create the load balancer using EnableAvailabilityZonesForLoadBalancer." +} +""" +CreateLoadBalancer(args) = elastic_load_balancing("CreateLoadBalancer", args) + +""" + AttachLoadBalancerToSubnets() + +Adds one or more subnets to the set of configured subnets for the specified load balancer. The load balancer evenly distributes requests across all registered subnets. For more information, see Add or Remove Subnets for Your Load Balancer in a VPC in the Classic Load Balancers Guide. + +Required Parameters +{ + "LoadBalancerName": "The name of the load balancer.", + "Subnets": "The IDs of the subnets to add. You can add only one subnet per Availability Zone." +} +""" +AttachLoadBalancerToSubnets(args) = elastic_load_balancing("AttachLoadBalancerToSubnets", args) + +""" + CreateLoadBalancerPolicy() + +Creates a policy with the specified attributes for the specified load balancer. Policies are settings that are saved for your load balancer and that can be applied to the listener or the application server, depending on the policy type. + +Required Parameters +{ + "PolicyName": "The name of the load balancer policy to be created. This name must be unique within the set of policies for this load balancer.", + "LoadBalancerName": "The name of the load balancer.", + "PolicyTypeName": "The name of the base policy type. To get the list of policy types, use DescribeLoadBalancerPolicyTypes." +} + +Optional Parameters +{ + "PolicyAttributes": "The policy attributes." +} +""" +CreateLoadBalancerPolicy(args) = elastic_load_balancing("CreateLoadBalancerPolicy", args) + +""" + ApplySecurityGroupsToLoadBalancer() + +Associates one or more security groups with your load balancer in a virtual private cloud (VPC). The specified security groups override the previously associated security groups. For more information, see Security Groups for Load Balancers in a VPC in the Classic Load Balancers Guide. + +Required Parameters +{ + "LoadBalancerName": "The name of the load balancer.", + "SecurityGroups": "The IDs of the security groups to associate with the load balancer. Note that you cannot specify the name of the security group." +} +""" +ApplySecurityGroupsToLoadBalancer(args) = elastic_load_balancing("ApplySecurityGroupsToLoadBalancer", args) + +""" + CreateLBCookieStickinessPolicy() + +Generates a stickiness policy with sticky session lifetimes controlled by the lifetime of the browser (user-agent) or a specified expiration period. This policy can be associated only with HTTP/HTTPS listeners. When a load balancer implements this policy, the load balancer uses a special cookie to track the instance for each request. When the load balancer receives a request, it first checks to see if this cookie is present in the request. If so, the load balancer sends the request to the application server specified in the cookie. If not, the load balancer sends the request to a server that is chosen based on the existing load-balancing algorithm. A cookie is inserted into the response for binding subsequent requests from the same user to that server. The validity of the cookie is based on the cookie expiration time, which is specified in the policy configuration. For more information, see Duration-Based Session Stickiness in the Classic Load Balancers Guide. + +Required Parameters +{ + "PolicyName": "The name of the policy being created. Policy names must consist of alphanumeric characters and dashes (-). This name must be unique within the set of policies for this load balancer.", + "LoadBalancerName": "The name of the load balancer." +} + +Optional Parameters +{ + "CookieExpirationPeriod": "The time period, in seconds, after which the cookie should be considered stale. If you do not specify this parameter, the default value is 0, which indicates that the sticky session should last for the duration of the browser session." +} +""" +CreateLBCookieStickinessPolicy(args) = elastic_load_balancing("CreateLBCookieStickinessPolicy", args) + +""" + DeleteLoadBalancerPolicy() + +Deletes the specified policy from the specified load balancer. This policy must not be enabled for any listeners. + +Required Parameters +{ + "PolicyName": "The name of the policy.", + "LoadBalancerName": "The name of the load balancer." +} +""" +DeleteLoadBalancerPolicy(args) = elastic_load_balancing("DeleteLoadBalancerPolicy", args) + +""" + DescribeInstanceHealth() + +Describes the state of the specified instances with respect to the specified load balancer. If no instances are specified, the call describes the state of all instances that are currently registered with the load balancer. If instances are specified, their state is returned even if they are no longer registered with the load balancer. The state of terminated instances is not returned. + +Required Parameters +{ + "LoadBalancerName": "The name of the load balancer." +} + +Optional Parameters +{ + "Instances": "The IDs of the instances." +} +""" +DescribeInstanceHealth(args) = elastic_load_balancing("DescribeInstanceHealth", args) + +""" + ConfigureHealthCheck() + +Specifies the health check settings to use when evaluating the health state of your EC2 instances. For more information, see Configure Health Checks for Your Load Balancer in the Classic Load Balancers Guide. + +Required Parameters +{ + "LoadBalancerName": "The name of the load balancer.", + "HealthCheck": "The configuration information." +} +""" +ConfigureHealthCheck(args) = elastic_load_balancing("ConfigureHealthCheck", args) + +""" + AddTags() + +Adds the specified tags to the specified load balancer. Each load balancer can have a maximum of 10 tags. Each tag consists of a key and an optional value. If a tag with the same key is already associated with the load balancer, AddTags updates its value. For more information, see Tag Your Classic Load Balancer in the Classic Load Balancers Guide. + +Required Parameters +{ + "Tags": "The tags.", + "LoadBalancerNames": "The name of the load balancer. You can specify one load balancer only." +} +""" +AddTags(args) = elastic_load_balancing("AddTags", args) + +""" + DeleteLoadBalancer() + +Deletes the specified load balancer. If you are attempting to recreate a load balancer, you must reconfigure all settings. The DNS name associated with a deleted load balancer are no longer usable. The name and associated DNS record of the deleted load balancer no longer exist and traffic sent to any of its IP addresses is no longer delivered to your instances. If the load balancer does not exist or has already been deleted, the call to DeleteLoadBalancer still succeeds. + +Required Parameters +{ + "LoadBalancerName": "The name of the load balancer." +} +""" +DeleteLoadBalancer(args) = elastic_load_balancing("DeleteLoadBalancer", args) + +""" + DescribeAccountLimits() + +Describes the current Elastic Load Balancing resource limits for your AWS account. For more information, see Limits for Your Classic Load Balancer in the Classic Load Balancers Guide. + +Optional Parameters +{ + "Marker": "The marker for the next set of results. (You received this marker from a previous call.)", + "PageSize": "The maximum number of results to return with this call." +} +""" +DescribeAccountLimits() = elastic_load_balancing("DescribeAccountLimits") +DescribeAccountLimits(args) = elastic_load_balancing("DescribeAccountLimits", args) + +""" + DisableAvailabilityZonesForLoadBalancer() + +Removes the specified Availability Zones from the set of Availability Zones for the specified load balancer in EC2-Classic or a default VPC. For load balancers in a non-default VPC, use DetachLoadBalancerFromSubnets. There must be at least one Availability Zone registered with a load balancer at all times. After an Availability Zone is removed, all instances registered with the load balancer that are in the removed Availability Zone go into the OutOfService state. Then, the load balancer attempts to equally balance the traffic among its remaining Availability Zones. For more information, see Add or Remove Availability Zones in the Classic Load Balancers Guide. + +Required Parameters +{ + "LoadBalancerName": "The name of the load balancer.", + "AvailabilityZones": "The Availability Zones." +} +""" +DisableAvailabilityZonesForLoadBalancer(args) = elastic_load_balancing("DisableAvailabilityZonesForLoadBalancer", args) + +""" + DescribeLoadBalancerAttributes() + +Describes the attributes for the specified load balancer. + +Required Parameters +{ + "LoadBalancerName": "The name of the load balancer." +} +""" +DescribeLoadBalancerAttributes(args) = elastic_load_balancing("DescribeLoadBalancerAttributes", args) diff --git a/src/services/elastic_load_balancing_v2.jl b/src/services/elastic_load_balancing_v2.jl new file mode 100644 index 0000000000..4176e11d4f --- /dev/null +++ b/src/services/elastic_load_balancing_v2.jl @@ -0,0 +1,527 @@ +include("../AWSServices.jl") +using .AWSServices: elastic_load_balancing_v2 + +""" + DescribeLoadBalancerAttributes() + +Describes the attributes for the specified Application Load Balancer or Network Load Balancer. For more information, see Load Balancer Attributes in the Application Load Balancers Guide or Load Balancer Attributes in the Network Load Balancers Guide. + +Required Parameters +{ + "LoadBalancerArn": "The Amazon Resource Name (ARN) of the load balancer." +} +""" +DescribeLoadBalancerAttributes(args) = elastic_load_balancing_v2("DescribeLoadBalancerAttributes", args) + +""" + DescribeListeners() + +Describes the specified listeners or the listeners for the specified Application Load Balancer or Network Load Balancer. You must specify either a load balancer or one or more listeners. For an HTTPS or TLS listener, the output includes the default certificate for the listener. To describe the certificate list for the listener, use DescribeListenerCertificates. + +Optional Parameters +{ + "Marker": "The marker for the next set of results. (You received this marker from a previous call.)", + "ListenerArns": "The Amazon Resource Names (ARN) of the listeners.", + "PageSize": "The maximum number of results to return with this call.", + "LoadBalancerArn": "The Amazon Resource Name (ARN) of the load balancer." +} +""" +DescribeListeners() = elastic_load_balancing_v2("DescribeListeners") +DescribeListeners(args) = elastic_load_balancing_v2("DescribeListeners", args) + +""" + DescribeSSLPolicies() + +Describes the specified policies or all policies used for SSL negotiation. For more information, see Security Policies in the Application Load Balancers Guide. + +Optional Parameters +{ + "Marker": "The marker for the next set of results. (You received this marker from a previous call.)", + "Names": "The names of the policies.", + "PageSize": "The maximum number of results to return with this call." +} +""" +DescribeSSLPolicies() = elastic_load_balancing_v2("DescribeSSLPolicies") +DescribeSSLPolicies(args) = elastic_load_balancing_v2("DescribeSSLPolicies", args) + +""" + DescribeTargetGroupAttributes() + +Describes the attributes for the specified target group. For more information, see Target Group Attributes in the Application Load Balancers Guide or Target Group Attributes in the Network Load Balancers Guide. + +Required Parameters +{ + "TargetGroupArn": "The Amazon Resource Name (ARN) of the target group." +} +""" +DescribeTargetGroupAttributes(args) = elastic_load_balancing_v2("DescribeTargetGroupAttributes", args) + +""" + DescribeListenerCertificates() + +Describes the default certificate and the certificate list for the specified HTTPS or TLS listener. If the default certificate is also in the certificate list, it appears twice in the results (once with IsDefault set to true and once with IsDefault set to false). For more information, see SSL Certificates in the Application Load Balancers Guide. + +Required Parameters +{ + "ListenerArn": "The Amazon Resource Names (ARN) of the listener." +} + +Optional Parameters +{ + "Marker": "The marker for the next set of results. (You received this marker from a previous call.)", + "PageSize": "The maximum number of results to return with this call." +} +""" +DescribeListenerCertificates(args) = elastic_load_balancing_v2("DescribeListenerCertificates", args) + +""" + DescribeTargetHealth() + +Describes the health of the specified targets or all of your targets. + +Required Parameters +{ + "TargetGroupArn": "The Amazon Resource Name (ARN) of the target group." +} + +Optional Parameters +{ + "Targets": "The targets." +} +""" +DescribeTargetHealth(args) = elastic_load_balancing_v2("DescribeTargetHealth", args) + +""" + ModifyLoadBalancerAttributes() + +Modifies the specified attributes of the specified Application Load Balancer or Network Load Balancer. If any of the specified attributes can't be modified as requested, the call fails. Any existing attributes that you do not modify retain their current values. + +Required Parameters +{ + "Attributes": "The load balancer attributes.", + "LoadBalancerArn": "The Amazon Resource Name (ARN) of the load balancer." +} +""" +ModifyLoadBalancerAttributes(args) = elastic_load_balancing_v2("ModifyLoadBalancerAttributes", args) + +""" + DeleteListener() + +Deletes the specified listener. Alternatively, your listener is deleted when you delete the load balancer to which it is attached, using DeleteLoadBalancer. + +Required Parameters +{ + "ListenerArn": "The Amazon Resource Name (ARN) of the listener." +} +""" +DeleteListener(args) = elastic_load_balancing_v2("DeleteListener", args) + +""" + ModifyListener() + +Replaces the specified properties of the specified listener. Any properties that you do not specify remain unchanged. Changing the protocol from HTTPS to HTTP, or from TLS to TCP, removes the security policy and default certificate properties. If you change the protocol from HTTP to HTTPS, or from TCP to TLS, you must add the security policy and default certificate properties. To add an item to a list, remove an item from a list, or update an item in a list, you must provide the entire list. For example, to add an action, specify a list with the current actions plus the new action. + +Required Parameters +{ + "ListenerArn": "The Amazon Resource Name (ARN) of the listener." +} + +Optional Parameters +{ + "SslPolicy": "[HTTPS and TLS listeners] The security policy that defines which protocols and ciphers are supported. The following are the possible values: ELBSecurityPolicy-2016-08 ELBSecurityPolicy-TLS-1-0-2015-04 ELBSecurityPolicy-TLS-1-1-2017-01 ELBSecurityPolicy-TLS-1-2-2017-01 ELBSecurityPolicy-TLS-1-2-Ext-2018-06 ELBSecurityPolicy-FS-2018-06 ELBSecurityPolicy-FS-1-1-2019-08 ELBSecurityPolicy-FS-1-2-2019-08 ELBSecurityPolicy-FS-1-2-Res-2019-08 For more information, see Security Policies in the Application Load Balancers Guide and Security Policies in the Network Load Balancers Guide.", + "Certificates": "[HTTPS and TLS listeners] The default certificate for the listener. You must provide exactly one certificate. Set CertificateArn to the certificate ARN but do not set IsDefault. To create a certificate list, use AddListenerCertificates.", + "DefaultActions": "The actions for the default rule. The rule must include one forward action or one or more fixed-response actions. If the action type is forward, you specify one or more target groups. The protocol of the target group must be HTTP or HTTPS for an Application Load Balancer. The protocol of the target group must be TCP, TLS, UDP, or TCP_UDP for a Network Load Balancer. [HTTPS listeners] If the action type is authenticate-oidc, you authenticate users through an identity provider that is OpenID Connect (OIDC) compliant. [HTTPS listeners] If the action type is authenticate-cognito, you authenticate users through the user pools supported by Amazon Cognito. [Application Load Balancer] If the action type is redirect, you redirect specified client requests from one URL to another. [Application Load Balancer] If the action type is fixed-response, you drop specified client requests and return a custom HTTP response.", + "Protocol": "The protocol for connections from clients to the load balancer. Application Load Balancers support the HTTP and HTTPS protocols. Network Load Balancers support the TCP, TLS, UDP, and TCP_UDP protocols.", + "Port": "The port for connections from clients to the load balancer." +} +""" +ModifyListener(args) = elastic_load_balancing_v2("ModifyListener", args) + +""" + ModifyTargetGroupAttributes() + +Modifies the specified attributes of the specified target group. + +Required Parameters +{ + "Attributes": "The attributes.", + "TargetGroupArn": "The Amazon Resource Name (ARN) of the target group." +} +""" +ModifyTargetGroupAttributes(args) = elastic_load_balancing_v2("ModifyTargetGroupAttributes", args) + +""" + DeregisterTargets() + +Deregisters the specified targets from the specified target group. After the targets are deregistered, they no longer receive traffic from the load balancer. + +Required Parameters +{ + "TargetGroupArn": "The Amazon Resource Name (ARN) of the target group.", + "Targets": "The targets. If you specified a port override when you registered a target, you must specify both the target ID and the port when you deregister it." +} +""" +DeregisterTargets(args) = elastic_load_balancing_v2("DeregisterTargets", args) + +""" + RemoveTags() + +Removes the specified tags from the specified Elastic Load Balancing resource. To list the current tags for your resources, use DescribeTags. + +Required Parameters +{ + "ResourceArns": "The Amazon Resource Name (ARN) of the resource.", + "TagKeys": "The tag keys for the tags to remove." +} +""" +RemoveTags(args) = elastic_load_balancing_v2("RemoveTags", args) + +""" + RegisterTargets() + +Registers the specified targets with the specified target group. If the target is an EC2 instance, it must be in the running state when you register it. By default, the load balancer routes requests to registered targets using the protocol and port for the target group. Alternatively, you can override the port for a target when you register it. You can register each EC2 instance or IP address with the same target group multiple times using different ports. With a Network Load Balancer, you cannot register instances by instance ID if they have the following instance types: C1, CC1, CC2, CG1, CG2, CR1, CS1, G1, G2, HI1, HS1, M1, M2, M3, and T1. You can register instances of these types by IP address. To remove a target from a target group, use DeregisterTargets. + +Required Parameters +{ + "TargetGroupArn": "The Amazon Resource Name (ARN) of the target group.", + "Targets": "The targets. To register a target by instance ID, specify the instance ID. To register a target by IP address, specify the IP address. To register a Lambda function, specify the ARN of the Lambda function." +} +""" +RegisterTargets(args) = elastic_load_balancing_v2("RegisterTargets", args) + +""" + DescribeLoadBalancers() + +Describes the specified load balancers or all of your load balancers. To describe the listeners for a load balancer, use DescribeListeners. To describe the attributes for a load balancer, use DescribeLoadBalancerAttributes. + +Optional Parameters +{ + "Marker": "The marker for the next set of results. (You received this marker from a previous call.)", + "Names": "The names of the load balancers.", + "LoadBalancerArns": "The Amazon Resource Names (ARN) of the load balancers. You can specify up to 20 load balancers in a single call.", + "PageSize": "The maximum number of results to return with this call." +} +""" +DescribeLoadBalancers() = elastic_load_balancing_v2("DescribeLoadBalancers") +DescribeLoadBalancers(args) = elastic_load_balancing_v2("DescribeLoadBalancers", args) + +""" + SetSubnets() + +Enables the Availability Zones for the specified public subnets for the specified load balancer. The specified subnets replace the previously enabled subnets. When you specify subnets for a Network Load Balancer, you must include all subnets that were enabled previously, with their existing configurations, plus any additional subnets. + +Required Parameters +{ + "LoadBalancerArn": "The Amazon Resource Name (ARN) of the load balancer." +} + +Optional Parameters +{ + "Subnets": "The IDs of the public subnets. You must specify subnets from at least two Availability Zones. You can specify only one subnet per Availability Zone. You must specify either subnets or subnet mappings.", + "SubnetMappings": "The IDs of the public subnets. You can specify only one subnet per Availability Zone. You must specify either subnets or subnet mappings. [Application Load Balancers] You must specify subnets from at least two Availability Zones. You cannot specify Elastic IP addresses for your subnets. [Network Load Balancers] You can specify subnets from one or more Availability Zones. If you need static IP addresses for your internet-facing load balancer, you can specify one Elastic IP address per subnet. For internal load balancers, you can specify one private IP address per subnet from the IPv4 range of the subnet." +} +""" +SetSubnets(args) = elastic_load_balancing_v2("SetSubnets", args) + +""" + CreateRule() + +Creates a rule for the specified listener. The listener must be associated with an Application Load Balancer. Rules are evaluated in priority order, from the lowest value to the highest value. When the conditions for a rule are met, its actions are performed. If the conditions for no rules are met, the actions for the default rule are performed. For more information, see Listener Rules in the Application Load Balancers Guide. To view your current rules, use DescribeRules. To update a rule, use ModifyRule. To set the priorities of your rules, use SetRulePriorities. To delete a rule, use DeleteRule. + +Required Parameters +{ + "Actions": "The actions. Each rule must include exactly one of the following types of actions: forward, fixed-response, or redirect, and it must be the last action to be performed. If the action type is forward, you specify one or more target groups. The protocol of the target group must be HTTP or HTTPS for an Application Load Balancer. The protocol of the target group must be TCP, TLS, UDP, or TCP_UDP for a Network Load Balancer. [HTTPS listeners] If the action type is authenticate-oidc, you authenticate users through an identity provider that is OpenID Connect (OIDC) compliant. [HTTPS listeners] If the action type is authenticate-cognito, you authenticate users through the user pools supported by Amazon Cognito. [Application Load Balancer] If the action type is redirect, you redirect specified client requests from one URL to another. [Application Load Balancer] If the action type is fixed-response, you drop specified client requests and return a custom HTTP response.", + "ListenerArn": "The Amazon Resource Name (ARN) of the listener.", + "Conditions": "The conditions. Each rule can include zero or one of the following conditions: http-request-method, host-header, path-pattern, and source-ip, and zero or more of the following conditions: http-header and query-string.", + "Priority": "The rule priority. A listener can't have multiple rules with the same priority." +} +""" +CreateRule(args) = elastic_load_balancing_v2("CreateRule", args) + +""" + CreateListener() + +Creates a listener for the specified Application Load Balancer or Network Load Balancer. To update a listener, use ModifyListener. When you are finished with a listener, you can delete it using DeleteListener. If you are finished with both the listener and the load balancer, you can delete them both using DeleteLoadBalancer. This operation is idempotent, which means that it completes at most one time. If you attempt to create multiple listeners with the same settings, each call succeeds. For more information, see Listeners for Your Application Load Balancers in the Application Load Balancers Guide and Listeners for Your Network Load Balancers in the Network Load Balancers Guide. + +Required Parameters +{ + "DefaultActions": "The actions for the default rule. The rule must include one forward action or one or more fixed-response actions. If the action type is forward, you specify one or more target groups. The protocol of the target group must be HTTP or HTTPS for an Application Load Balancer. The protocol of the target group must be TCP, TLS, UDP, or TCP_UDP for a Network Load Balancer. [HTTPS listeners] If the action type is authenticate-oidc, you authenticate users through an identity provider that is OpenID Connect (OIDC) compliant. [HTTPS listeners] If the action type is authenticate-cognito, you authenticate users through the user pools supported by Amazon Cognito. [Application Load Balancer] If the action type is redirect, you redirect specified client requests from one URL to another. [Application Load Balancer] If the action type is fixed-response, you drop specified client requests and return a custom HTTP response.", + "Protocol": "The protocol for connections from clients to the load balancer. For Application Load Balancers, the supported protocols are HTTP and HTTPS. For Network Load Balancers, the supported protocols are TCP, TLS, UDP, and TCP_UDP.", + "LoadBalancerArn": "The Amazon Resource Name (ARN) of the load balancer.", + "Port": "The port on which the load balancer is listening." +} + +Optional Parameters +{ + "SslPolicy": "[HTTPS and TLS listeners] The security policy that defines which protocols and ciphers are supported. The following are the possible values: ELBSecurityPolicy-2016-08 ELBSecurityPolicy-TLS-1-0-2015-04 ELBSecurityPolicy-TLS-1-1-2017-01 ELBSecurityPolicy-TLS-1-2-2017-01 ELBSecurityPolicy-TLS-1-2-Ext-2018-06 ELBSecurityPolicy-FS-2018-06 ELBSecurityPolicy-FS-1-1-2019-08 ELBSecurityPolicy-FS-1-2-2019-08 ELBSecurityPolicy-FS-1-2-Res-2019-08 For more information, see Security Policies in the Application Load Balancers Guide and Security Policies in the Network Load Balancers Guide.", + "Certificates": "[HTTPS and TLS listeners] The default certificate for the listener. You must provide exactly one certificate. Set CertificateArn to the certificate ARN but do not set IsDefault. To create a certificate list for the listener, use AddListenerCertificates." +} +""" +CreateListener(args) = elastic_load_balancing_v2("CreateListener", args) + +""" + DescribeTags() + +Describes the tags for the specified resources. You can describe the tags for one or more Application Load Balancers, Network Load Balancers, and target groups. + +Required Parameters +{ + "ResourceArns": "The Amazon Resource Names (ARN) of the resources. You can specify up to 20 resources in a single call." +} +""" +DescribeTags(args) = elastic_load_balancing_v2("DescribeTags", args) + +""" + CreateTargetGroup() + +Creates a target group. To register targets with the target group, use RegisterTargets. To update the health check settings for the target group, use ModifyTargetGroup. To monitor the health of targets in the target group, use DescribeTargetHealth. To route traffic to the targets in a target group, specify the target group in an action using CreateListener or CreateRule. To delete a target group, use DeleteTargetGroup. This operation is idempotent, which means that it completes at most one time. If you attempt to create multiple target groups with the same settings, each call succeeds. For more information, see Target Groups for Your Application Load Balancers in the Application Load Balancers Guide or Target Groups for Your Network Load Balancers in the Network Load Balancers Guide. + +Required Parameters +{ + "Name": "The name of the target group. This name must be unique per region per account, can have a maximum of 32 characters, must contain only alphanumeric characters or hyphens, and must not begin or end with a hyphen." +} + +Optional Parameters +{ + "HealthCheckProtocol": "The protocol the load balancer uses when performing health checks on targets. For Application Load Balancers, the default is HTTP. For Network Load Balancers, the default is TCP. The TCP protocol is supported for health checks only if the protocol of the target group is TCP, TLS, UDP, or TCP_UDP. The TLS, UDP, and TCP_UDP protocols are not supported for health checks.", + "UnhealthyThresholdCount": "The number of consecutive health check failures required before considering a target unhealthy. For target groups with a protocol of HTTP or HTTPS, the default is 2. For target groups with a protocol of TCP or TLS, this value must be the same as the healthy threshold count. If the target type is lambda, the default is 2.", + "Protocol": "The protocol to use for routing traffic to the targets. For Application Load Balancers, the supported protocols are HTTP and HTTPS. For Network Load Balancers, the supported protocols are TCP, TLS, UDP, or TCP_UDP. A TCP_UDP listener must be associated with a TCP_UDP target group. If the target is a Lambda function, this parameter does not apply.", + "TargetType": "The type of target that you must specify when registering targets with this target group. You can't specify targets for a target group using more than one target type. instance - Targets are specified by instance ID. This is the default value. If the target group protocol is UDP or TCP_UDP, the target type must be instance. ip - Targets are specified by IP address. You can specify IP addresses from the subnets of the virtual private cloud (VPC) for the target group, the RFC 1918 range (10.0.0.0/8, 172.16.0.0/12, and 192.168.0.0/16), and the RFC 6598 range (100.64.0.0/10). You can't specify publicly routable IP addresses. lambda - The target groups contains a single Lambda function. ", + "HealthCheckPath": "[HTTP/HTTPS health checks] The ping path that is the destination on the targets for health checks. The default is /.", + "HealthCheckTimeoutSeconds": "The amount of time, in seconds, during which no response from a target means a failed health check. For target groups with a protocol of HTTP or HTTPS, the default is 5 seconds. For target groups with a protocol of TCP or TLS, this value must be 6 seconds for HTTP health checks and 10 seconds for TCP and HTTPS health checks. If the target type is lambda, the default is 30 seconds.", + "HealthyThresholdCount": "The number of consecutive health checks successes required before considering an unhealthy target healthy. For target groups with a protocol of HTTP or HTTPS, the default is 5. For target groups with a protocol of TCP or TLS, the default is 3. If the target type is lambda, the default is 5.", + "VpcId": "The identifier of the virtual private cloud (VPC). If the target is a Lambda function, this parameter does not apply. Otherwise, this parameter is required.", + "Matcher": "[HTTP/HTTPS health checks] The HTTP codes to use when checking for a successful response from a target.", + "HealthCheckPort": "The port the load balancer uses when performing health checks on targets. The default is traffic-port, which is the port on which each target receives traffic from the load balancer.", + "Port": "The port on which the targets receive traffic. This port is used unless you specify a port override when registering the target. If the target is a Lambda function, this parameter does not apply.", + "HealthCheckIntervalSeconds": "The approximate amount of time, in seconds, between health checks of an individual target. For HTTP and HTTPS health checks, the range is 5–300 seconds. For TCP health checks, the supported values are 10 and 30 seconds. If the target type is instance or ip, the default is 30 seconds. If the target type is lambda, the default is 35 seconds.", + "HealthCheckEnabled": "Indicates whether health checks are enabled. If the target type is lambda, health checks are disabled by default but can be enabled. If the target type is instance or ip, health checks are always enabled and cannot be disabled." +} +""" +CreateTargetGroup(args) = elastic_load_balancing_v2("CreateTargetGroup", args) + +""" + SetIpAddressType() + +Sets the type of IP addresses used by the subnets of the specified Application Load Balancer or Network Load Balancer. + +Required Parameters +{ + "IpAddressType": "The IP address type. The possible values are ipv4 (for IPv4 addresses) and dualstack (for IPv4 and IPv6 addresses). Internal load balancers must use ipv4. Network Load Balancers must use ipv4.", + "LoadBalancerArn": "The Amazon Resource Name (ARN) of the load balancer." +} +""" +SetIpAddressType(args) = elastic_load_balancing_v2("SetIpAddressType", args) + +""" + CreateLoadBalancer() + +Creates an Application Load Balancer or a Network Load Balancer. When you create a load balancer, you can specify security groups, public subnets, IP address type, and tags. Otherwise, you could do so later using SetSecurityGroups, SetSubnets, SetIpAddressType, and AddTags. To create listeners for your load balancer, use CreateListener. To describe your current load balancers, see DescribeLoadBalancers. When you are finished with a load balancer, you can delete it using DeleteLoadBalancer. For limit information, see Limits for Your Application Load Balancer in the Application Load Balancers Guide and Limits for Your Network Load Balancer in the Network Load Balancers Guide. This operation is idempotent, which means that it completes at most one time. If you attempt to create multiple load balancers with the same settings, each call succeeds. For more information, see Application Load Balancers in the Application Load Balancers Guide and Network Load Balancers in the Network Load Balancers Guide. + +Required Parameters +{ + "Name": "The name of the load balancer. This name must be unique per region per account, can have a maximum of 32 characters, must contain only alphanumeric characters or hyphens, must not begin or end with a hyphen, and must not begin with \"internal-\"." +} + +Optional Parameters +{ + "IpAddressType": "[Application Load Balancers] The type of IP addresses used by the subnets for your load balancer. The possible values are ipv4 (for IPv4 addresses) and dualstack (for IPv4 and IPv6 addresses). Internal load balancers must use ipv4.", + "Scheme": "The nodes of an Internet-facing load balancer have public IP addresses. The DNS name of an Internet-facing load balancer is publicly resolvable to the public IP addresses of the nodes. Therefore, Internet-facing load balancers can route requests from clients over the internet. The nodes of an internal load balancer have only private IP addresses. The DNS name of an internal load balancer is publicly resolvable to the private IP addresses of the nodes. Therefore, internal load balancers can route requests only from clients with access to the VPC for the load balancer. The default is an Internet-facing load balancer.", + "Tags": "One or more tags to assign to the load balancer.", + "Subnets": "The IDs of the public subnets. You can specify only one subnet per Availability Zone. You must specify either subnets or subnet mappings. [Application Load Balancers] You must specify subnets from at least two Availability Zones. [Network Load Balancers] You can specify subnets from one or more Availability Zones.", + "SecurityGroups": "[Application Load Balancers] The IDs of the security groups for the load balancer.", + "Type": "The type of load balancer. The default is application.", + "SubnetMappings": "The IDs of the public subnets. You can specify only one subnet per Availability Zone. You must specify either subnets or subnet mappings. [Application Load Balancers] You must specify subnets from at least two Availability Zones. You cannot specify Elastic IP addresses for your subnets. [Network Load Balancers] You can specify subnets from one or more Availability Zones. You can specify one Elastic IP address per subnet if you need static IP addresses for your internet-facing load balancer. For internal load balancers, you can specify one private IP address per subnet from the IPv4 range of the subnet." +} +""" +CreateLoadBalancer(args) = elastic_load_balancing_v2("CreateLoadBalancer", args) + +""" + ModifyTargetGroup() + +Modifies the health checks used when evaluating the health state of the targets in the specified target group. To monitor the health of the targets, use DescribeTargetHealth. + +Required Parameters +{ + "TargetGroupArn": "The Amazon Resource Name (ARN) of the target group." +} + +Optional Parameters +{ + "HealthCheckPort": "The port the load balancer uses when performing health checks on targets.", + "HealthCheckPath": "[HTTP/HTTPS health checks] The ping path that is the destination for the health check request.", + "HealthCheckProtocol": "The protocol the load balancer uses when performing health checks on targets. The TCP protocol is supported for health checks only if the protocol of the target group is TCP, TLS, UDP, or TCP_UDP. The TLS, UDP, and TCP_UDP protocols are not supported for health checks. With Network Load Balancers, you can't modify this setting.", + "HealthCheckIntervalSeconds": "The approximate amount of time, in seconds, between health checks of an individual target. For Application Load Balancers, the range is 5 to 300 seconds. For Network Load Balancers, the supported values are 10 or 30 seconds. With Network Load Balancers, you can't modify this setting.", + "HealthCheckTimeoutSeconds": "[HTTP/HTTPS health checks] The amount of time, in seconds, during which no response means a failed health check. With Network Load Balancers, you can't modify this setting.", + "HealthyThresholdCount": "The number of consecutive health checks successes required before considering an unhealthy target healthy.", + "UnhealthyThresholdCount": "The number of consecutive health check failures required before considering the target unhealthy. For Network Load Balancers, this value must be the same as the healthy threshold count.", + "HealthCheckEnabled": "Indicates whether health checks are enabled.", + "Matcher": "[HTTP/HTTPS health checks] The HTTP codes to use when checking for a successful response from a target. With Network Load Balancers, you can't modify this setting." +} +""" +ModifyTargetGroup(args) = elastic_load_balancing_v2("ModifyTargetGroup", args) + +""" + DeleteRule() + +Deletes the specified rule. + +Required Parameters +{ + "RuleArn": "The Amazon Resource Name (ARN) of the rule." +} +""" +DeleteRule(args) = elastic_load_balancing_v2("DeleteRule", args) + +""" + DescribeTargetGroups() + +Describes the specified target groups or all of your target groups. By default, all target groups are described. Alternatively, you can specify one of the following to filter the results: the ARN of the load balancer, the names of one or more target groups, or the ARNs of one or more target groups. To describe the targets for a target group, use DescribeTargetHealth. To describe the attributes of a target group, use DescribeTargetGroupAttributes. + +Optional Parameters +{ + "Marker": "The marker for the next set of results. (You received this marker from a previous call.)", + "Names": "The names of the target groups.", + "TargetGroupArns": "The Amazon Resource Names (ARN) of the target groups.", + "PageSize": "The maximum number of results to return with this call.", + "LoadBalancerArn": "The Amazon Resource Name (ARN) of the load balancer." +} +""" +DescribeTargetGroups() = elastic_load_balancing_v2("DescribeTargetGroups") +DescribeTargetGroups(args) = elastic_load_balancing_v2("DescribeTargetGroups", args) + +""" + AddListenerCertificates() + +Adds the specified SSL server certificate to the certificate list for the specified HTTPS or TLS listener. If the certificate in already in the certificate list, the call is successful but the certificate is not added again. To get the certificate list for a listener, use DescribeListenerCertificates. To remove certificates from the certificate list for a listener, use RemoveListenerCertificates. To replace the default certificate for a listener, use ModifyListener. For more information, see SSL Certificates in the Application Load Balancers Guide. + +Required Parameters +{ + "ListenerArn": "The Amazon Resource Name (ARN) of the listener.", + "Certificates": "The certificate to add. You can specify one certificate per call. Set CertificateArn to the certificate ARN but do not set IsDefault." +} +""" +AddListenerCertificates(args) = elastic_load_balancing_v2("AddListenerCertificates", args) + +""" + DescribeRules() + +Describes the specified rules or the rules for the specified listener. You must specify either a listener or one or more rules. + +Optional Parameters +{ + "Marker": "The marker for the next set of results. (You received this marker from a previous call.)", + "ListenerArn": "The Amazon Resource Name (ARN) of the listener.", + "RuleArns": "The Amazon Resource Names (ARN) of the rules.", + "PageSize": "The maximum number of results to return with this call." +} +""" +DescribeRules() = elastic_load_balancing_v2("DescribeRules") +DescribeRules(args) = elastic_load_balancing_v2("DescribeRules", args) + +""" + ModifyRule() + +Replaces the specified properties of the specified rule. Any properties that you do not specify are unchanged. To add an item to a list, remove an item from a list, or update an item in a list, you must provide the entire list. For example, to add an action, specify a list with the current actions plus the new action. To modify the actions for the default rule, use ModifyListener. + +Required Parameters +{ + "RuleArn": "The Amazon Resource Name (ARN) of the rule." +} + +Optional Parameters +{ + "Actions": "The actions. Each rule must include exactly one of the following types of actions: forward, fixed-response, or redirect, and it must be the last action to be performed. If the action type is forward, you specify one or more target groups. The protocol of the target group must be HTTP or HTTPS for an Application Load Balancer. The protocol of the target group must be TCP, TLS, UDP, or TCP_UDP for a Network Load Balancer. [HTTPS listeners] If the action type is authenticate-oidc, you authenticate users through an identity provider that is OpenID Connect (OIDC) compliant. [HTTPS listeners] If the action type is authenticate-cognito, you authenticate users through the user pools supported by Amazon Cognito. [Application Load Balancer] If the action type is redirect, you redirect specified client requests from one URL to another. [Application Load Balancer] If the action type is fixed-response, you drop specified client requests and return a custom HTTP response.", + "Conditions": "The conditions. Each rule can include zero or one of the following conditions: http-request-method, host-header, path-pattern, and source-ip, and zero or more of the following conditions: http-header and query-string." +} +""" +ModifyRule(args) = elastic_load_balancing_v2("ModifyRule", args) + +""" + AddTags() + +Adds the specified tags to the specified Elastic Load Balancing resource. You can tag your Application Load Balancers, Network Load Balancers, and your target groups. Each tag consists of a key and an optional value. If a resource already has a tag with the same key, AddTags updates its value. To list the current tags for your resources, use DescribeTags. To remove tags from your resources, use RemoveTags. + +Required Parameters +{ + "ResourceArns": "The Amazon Resource Name (ARN) of the resource.", + "Tags": "The tags." +} +""" +AddTags(args) = elastic_load_balancing_v2("AddTags", args) + +""" + DeleteLoadBalancer() + +Deletes the specified Application Load Balancer or Network Load Balancer and its attached listeners. You can't delete a load balancer if deletion protection is enabled. If the load balancer does not exist or has already been deleted, the call succeeds. Deleting a load balancer does not affect its registered targets. For example, your EC2 instances continue to run and are still registered to their target groups. If you no longer need these EC2 instances, you can stop or terminate them. + +Required Parameters +{ + "LoadBalancerArn": "The Amazon Resource Name (ARN) of the load balancer." +} +""" +DeleteLoadBalancer(args) = elastic_load_balancing_v2("DeleteLoadBalancer", args) + +""" + SetRulePriorities() + +Sets the priorities of the specified rules. You can reorder the rules as long as there are no priority conflicts in the new order. Any existing rules that you do not specify retain their current priority. + +Required Parameters +{ + "RulePriorities": "The rule priorities." +} +""" +SetRulePriorities(args) = elastic_load_balancing_v2("SetRulePriorities", args) + +""" + DescribeAccountLimits() + +Describes the current Elastic Load Balancing resource limits for your AWS account. For more information, see Limits for Your Application Load Balancers in the Application Load Balancer Guide or Limits for Your Network Load Balancers in the Network Load Balancers Guide. + +Optional Parameters +{ + "Marker": "The marker for the next set of results. (You received this marker from a previous call.)", + "PageSize": "The maximum number of results to return with this call." +} +""" +DescribeAccountLimits() = elastic_load_balancing_v2("DescribeAccountLimits") +DescribeAccountLimits(args) = elastic_load_balancing_v2("DescribeAccountLimits", args) + +""" + RemoveListenerCertificates() + +Removes the specified certificate from the certificate list for the specified HTTPS or TLS listener. You can't remove the default certificate for a listener. To replace the default certificate, call ModifyListener. To list the certificates for your listener, use DescribeListenerCertificates. + +Required Parameters +{ + "ListenerArn": "The Amazon Resource Name (ARN) of the listener.", + "Certificates": "The certificate to remove. You can specify one certificate per call. Set CertificateArn to the certificate ARN but do not set IsDefault." +} +""" +RemoveListenerCertificates(args) = elastic_load_balancing_v2("RemoveListenerCertificates", args) + +""" + SetSecurityGroups() + +Associates the specified security groups with the specified Application Load Balancer. The specified security groups override the previously associated security groups. You can't specify a security group for a Network Load Balancer. + +Required Parameters +{ + "SecurityGroups": "The IDs of the security groups.", + "LoadBalancerArn": "The Amazon Resource Name (ARN) of the load balancer." +} +""" +SetSecurityGroups(args) = elastic_load_balancing_v2("SetSecurityGroups", args) + +""" + DeleteTargetGroup() + +Deletes the specified target group. You can delete a target group if it is not referenced by any actions. Deleting a target group also deletes any associated health checks. + +Required Parameters +{ + "TargetGroupArn": "The Amazon Resource Name (ARN) of the target group." +} +""" +DeleteTargetGroup(args) = elastic_load_balancing_v2("DeleteTargetGroup", args) diff --git a/src/services/elastic_transcoder.jl b/src/services/elastic_transcoder.jl new file mode 100644 index 0000000000..dba91a7603 --- /dev/null +++ b/src/services/elastic_transcoder.jl @@ -0,0 +1,269 @@ +include("../AWSServices.jl") +using .AWSServices: elastic_transcoder + +""" + ListJobsByPipeline() + +The ListJobsByPipeline operation gets a list of the jobs currently in a pipeline. Elastic Transcoder returns all of the jobs currently in the specified pipeline. The response body contains one element for each job that satisfies the search criteria. + +Required Parameters +{ + "PipelineId": "The ID of the pipeline for which you want to get job information." +} + +Optional Parameters +{ + "Ascending": " To list jobs in chronological order by the date and time that they were submitted, enter true. To list jobs in reverse chronological order, enter false. ", + "PageToken": " When Elastic Transcoder returns more than one page of results, use pageToken in subsequent GET requests to get each successive page of results. " +} +""" +ListJobsByPipeline(args) = elastic_transcoder("GET", "/2012-09-25/jobsByPipeline/{PipelineId}", args) + +""" + UpdatePipelineNotifications() + +With the UpdatePipelineNotifications operation, you can update Amazon Simple Notification Service (Amazon SNS) notifications for a pipeline. When you update notifications for a pipeline, Elastic Transcoder returns the values that you specified in the request. + +Required Parameters +{ + "Id": "The identifier of the pipeline for which you want to change notification settings.", + "Notifications": "The topic ARN for the Amazon Simple Notification Service (Amazon SNS) topic that you want to notify to report job status. To receive notifications, you must also subscribe to the new topic in the Amazon SNS console. Progressing: The topic ARN for the Amazon Simple Notification Service (Amazon SNS) topic that you want to notify when Elastic Transcoder has started to process jobs that are added to this pipeline. This is the ARN that Amazon SNS returned when you created the topic. Complete: The topic ARN for the Amazon SNS topic that you want to notify when Elastic Transcoder has finished processing a job. This is the ARN that Amazon SNS returned when you created the topic. Warning: The topic ARN for the Amazon SNS topic that you want to notify when Elastic Transcoder encounters a warning condition. This is the ARN that Amazon SNS returned when you created the topic. Error: The topic ARN for the Amazon SNS topic that you want to notify when Elastic Transcoder encounters an error condition. This is the ARN that Amazon SNS returned when you created the topic. " +} +""" +UpdatePipelineNotifications(args) = elastic_transcoder("POST", "/2012-09-25/pipelines/{Id}/notifications", args) + +""" + CreatePipeline() + +The CreatePipeline operation creates a pipeline with settings that you specify. + +Required Parameters +{ + "InputBucket": "The Amazon S3 bucket in which you saved the media files that you want to transcode.", + "Name": "The name of the pipeline. We recommend that the name be unique within the AWS account, but uniqueness is not enforced. Constraints: Maximum 40 characters.", + "Role": "The IAM Amazon Resource Name (ARN) for the role that you want Elastic Transcoder to use to create the pipeline." +} + +Optional Parameters +{ + "AwsKmsKeyArn": "The AWS Key Management Service (AWS KMS) key that you want to use with this pipeline. If you use either s3 or s3-aws-kms as your Encryption:Mode, you don't need to provide a key with your job because a default key, known as an AWS-KMS key, is created for you automatically. You need to provide an AWS-KMS key only if you want to use a non-default AWS-KMS key, or if you are using an Encryption:Mode of aes-cbc-pkcs7, aes-ctr, or aes-gcm.", + "OutputBucket": "The Amazon S3 bucket in which you want Elastic Transcoder to save the transcoded files. (Use this, or use ContentConfig:Bucket plus ThumbnailConfig:Bucket.) Specify this value when all of the following are true: You want to save transcoded files, thumbnails (if any), and playlists (if any) together in one bucket. You do not want to specify the users or groups who have access to the transcoded files, thumbnails, and playlists. You do not want to specify the permissions that Elastic Transcoder grants to the files. When Elastic Transcoder saves files in OutputBucket, it grants full control over the files only to the AWS account that owns the role that is specified by Role. You want to associate the transcoded files and thumbnails with the Amazon S3 Standard storage class. If you want to save transcoded files and playlists in one bucket and thumbnails in another bucket, specify which users can access the transcoded files or the permissions the users have, or change the Amazon S3 storage class, omit OutputBucket and specify values for ContentConfig and ThumbnailConfig instead.", + "ContentConfig": "The optional ContentConfig object specifies information about the Amazon S3 bucket in which you want Elastic Transcoder to save transcoded files and playlists: which bucket to use, which users you want to have access to the files, the type of access you want users to have, and the storage class that you want to assign to the files. If you specify values for ContentConfig, you must also specify values for ThumbnailConfig. If you specify values for ContentConfig and ThumbnailConfig, omit the OutputBucket object. Bucket: The Amazon S3 bucket in which you want Elastic Transcoder to save transcoded files and playlists. Permissions (Optional): The Permissions object specifies which users you want to have access to transcoded files and the type of access you want them to have. You can grant permissions to a maximum of 30 users and/or predefined Amazon S3 groups. Grantee Type: Specify the type of value that appears in the Grantee object: Canonical: The value in the Grantee object is either the canonical user ID for an AWS account or an origin access identity for an Amazon CloudFront distribution. For more information about canonical user IDs, see Access Control List (ACL) Overview in the Amazon Simple Storage Service Developer Guide. For more information about using CloudFront origin access identities to require that users use CloudFront URLs instead of Amazon S3 URLs, see Using an Origin Access Identity to Restrict Access to Your Amazon S3 Content. A canonical user ID is not the same as an AWS account number. Email: The value in the Grantee object is the registered email address of an AWS account. Group: The value in the Grantee object is one of the following predefined Amazon S3 groups: AllUsers, AuthenticatedUsers, or LogDelivery. Grantee: The AWS user or group that you want to have access to transcoded files and playlists. To identify the user or group, you can specify the canonical user ID for an AWS account, an origin access identity for a CloudFront distribution, the registered email address of an AWS account, or a predefined Amazon S3 group Access: The permission that you want to give to the AWS user that you specified in Grantee. Permissions are granted on the files that Elastic Transcoder adds to the bucket, including playlists and video files. Valid values include: READ: The grantee can read the objects and metadata for objects that Elastic Transcoder adds to the Amazon S3 bucket. READ_ACP: The grantee can read the object ACL for objects that Elastic Transcoder adds to the Amazon S3 bucket. WRITE_ACP: The grantee can write the ACL for the objects that Elastic Transcoder adds to the Amazon S3 bucket. FULL_CONTROL: The grantee has READ, READ_ACP, and WRITE_ACP permissions for the objects that Elastic Transcoder adds to the Amazon S3 bucket. StorageClass: The Amazon S3 storage class, Standard or ReducedRedundancy, that you want Elastic Transcoder to assign to the video files and playlists that it stores in your Amazon S3 bucket. ", + "Notifications": "The Amazon Simple Notification Service (Amazon SNS) topic that you want to notify to report job status. To receive notifications, you must also subscribe to the new topic in the Amazon SNS console. Progressing: The topic ARN for the Amazon Simple Notification Service (Amazon SNS) topic that you want to notify when Elastic Transcoder has started to process a job in this pipeline. This is the ARN that Amazon SNS returned when you created the topic. For more information, see Create a Topic in the Amazon Simple Notification Service Developer Guide. Complete: The topic ARN for the Amazon SNS topic that you want to notify when Elastic Transcoder has finished processing a job in this pipeline. This is the ARN that Amazon SNS returned when you created the topic. Warning: The topic ARN for the Amazon SNS topic that you want to notify when Elastic Transcoder encounters a warning condition while processing a job in this pipeline. This is the ARN that Amazon SNS returned when you created the topic. Error: The topic ARN for the Amazon SNS topic that you want to notify when Elastic Transcoder encounters an error condition while processing a job in this pipeline. This is the ARN that Amazon SNS returned when you created the topic. ", + "ThumbnailConfig": "The ThumbnailConfig object specifies several values, including the Amazon S3 bucket in which you want Elastic Transcoder to save thumbnail files, which users you want to have access to the files, the type of access you want users to have, and the storage class that you want to assign to the files. If you specify values for ContentConfig, you must also specify values for ThumbnailConfig even if you don't want to create thumbnails. If you specify values for ContentConfig and ThumbnailConfig, omit the OutputBucket object. Bucket: The Amazon S3 bucket in which you want Elastic Transcoder to save thumbnail files. Permissions (Optional): The Permissions object specifies which users and/or predefined Amazon S3 groups you want to have access to thumbnail files, and the type of access you want them to have. You can grant permissions to a maximum of 30 users and/or predefined Amazon S3 groups. GranteeType: Specify the type of value that appears in the Grantee object: Canonical: The value in the Grantee object is either the canonical user ID for an AWS account or an origin access identity for an Amazon CloudFront distribution. A canonical user ID is not the same as an AWS account number. Email: The value in the Grantee object is the registered email address of an AWS account. Group: The value in the Grantee object is one of the following predefined Amazon S3 groups: AllUsers, AuthenticatedUsers, or LogDelivery. Grantee: The AWS user or group that you want to have access to thumbnail files. To identify the user or group, you can specify the canonical user ID for an AWS account, an origin access identity for a CloudFront distribution, the registered email address of an AWS account, or a predefined Amazon S3 group. Access: The permission that you want to give to the AWS user that you specified in Grantee. Permissions are granted on the thumbnail files that Elastic Transcoder adds to the bucket. Valid values include: READ: The grantee can read the thumbnails and metadata for objects that Elastic Transcoder adds to the Amazon S3 bucket. READ_ACP: The grantee can read the object ACL for thumbnails that Elastic Transcoder adds to the Amazon S3 bucket. WRITE_ACP: The grantee can write the ACL for the thumbnails that Elastic Transcoder adds to the Amazon S3 bucket. FULL_CONTROL: The grantee has READ, READ_ACP, and WRITE_ACP permissions for the thumbnails that Elastic Transcoder adds to the Amazon S3 bucket. StorageClass: The Amazon S3 storage class, Standard or ReducedRedundancy, that you want Elastic Transcoder to assign to the thumbnails that it stores in your Amazon S3 bucket. " +} +""" +CreatePipeline(args) = elastic_transcoder("POST", "/2012-09-25/pipelines", args) + +""" + ListPresets() + +The ListPresets operation gets a list of the default presets included with Elastic Transcoder and the presets that you've added in an AWS region. + +Optional Parameters +{ + "Ascending": "To list presets in chronological order by the date and time that they were created, enter true. To list presets in reverse chronological order, enter false.", + "PageToken": "When Elastic Transcoder returns more than one page of results, use pageToken in subsequent GET requests to get each successive page of results. " +} +""" +ListPresets() = elastic_transcoder("GET", "/2012-09-25/presets") +ListPresets(args) = elastic_transcoder("GET", "/2012-09-25/presets", args) + +""" + UpdatePipelineStatus() + +The UpdatePipelineStatus operation pauses or reactivates a pipeline, so that the pipeline stops or restarts the processing of jobs. Changing the pipeline status is useful if you want to cancel one or more jobs. You can't cancel jobs after Elastic Transcoder has started processing them; if you pause the pipeline to which you submitted the jobs, you have more time to get the job IDs for the jobs that you want to cancel, and to send a CancelJob request. + +Required Parameters +{ + "Id": "The identifier of the pipeline to update.", + "Status": "The desired status of the pipeline: Active: The pipeline is processing jobs. Paused: The pipeline is not currently processing jobs. " +} +""" +UpdatePipelineStatus(args) = elastic_transcoder("POST", "/2012-09-25/pipelines/{Id}/status", args) + +""" + ReadPipeline() + +The ReadPipeline operation gets detailed information about a pipeline. + +Required Parameters +{ + "Id": "The identifier of the pipeline to read." +} +""" +ReadPipeline(args) = elastic_transcoder("GET", "/2012-09-25/pipelines/{Id}", args) + +""" + CancelJob() + +The CancelJob operation cancels an unfinished job. You can only cancel a job that has a status of Submitted. To prevent a pipeline from starting to process a job while you're getting the job identifier, use UpdatePipelineStatus to temporarily pause the pipeline. + +Required Parameters +{ + "Id": "The identifier of the job that you want to cancel. To get a list of the jobs (including their jobId) that have a status of Submitted, use the ListJobsByStatus API action." +} +""" +CancelJob(args) = elastic_transcoder("DELETE", "/2012-09-25/jobs/{Id}", args) + +""" + UpdatePipeline() + + Use the UpdatePipeline operation to update settings for a pipeline. When you change pipeline settings, your changes take effect immediately. Jobs that you have already submitted and that Elastic Transcoder has not started to process are affected in addition to jobs that you submit after you change settings. + +Required Parameters +{ + "Id": "The ID of the pipeline that you want to update." +} + +Optional Parameters +{ + "AwsKmsKeyArn": "The AWS Key Management Service (AWS KMS) key that you want to use with this pipeline. If you use either s3 or s3-aws-kms as your Encryption:Mode, you don't need to provide a key with your job because a default key, known as an AWS-KMS key, is created for you automatically. You need to provide an AWS-KMS key only if you want to use a non-default AWS-KMS key, or if you are using an Encryption:Mode of aes-cbc-pkcs7, aes-ctr, or aes-gcm.", + "ContentConfig": "The optional ContentConfig object specifies information about the Amazon S3 bucket in which you want Elastic Transcoder to save transcoded files and playlists: which bucket to use, which users you want to have access to the files, the type of access you want users to have, and the storage class that you want to assign to the files. If you specify values for ContentConfig, you must also specify values for ThumbnailConfig. If you specify values for ContentConfig and ThumbnailConfig, omit the OutputBucket object. Bucket: The Amazon S3 bucket in which you want Elastic Transcoder to save transcoded files and playlists. Permissions (Optional): The Permissions object specifies which users you want to have access to transcoded files and the type of access you want them to have. You can grant permissions to a maximum of 30 users and/or predefined Amazon S3 groups. Grantee Type: Specify the type of value that appears in the Grantee object: Canonical: The value in the Grantee object is either the canonical user ID for an AWS account or an origin access identity for an Amazon CloudFront distribution. For more information about canonical user IDs, see Access Control List (ACL) Overview in the Amazon Simple Storage Service Developer Guide. For more information about using CloudFront origin access identities to require that users use CloudFront URLs instead of Amazon S3 URLs, see Using an Origin Access Identity to Restrict Access to Your Amazon S3 Content. A canonical user ID is not the same as an AWS account number. Email: The value in the Grantee object is the registered email address of an AWS account. Group: The value in the Grantee object is one of the following predefined Amazon S3 groups: AllUsers, AuthenticatedUsers, or LogDelivery. Grantee: The AWS user or group that you want to have access to transcoded files and playlists. To identify the user or group, you can specify the canonical user ID for an AWS account, an origin access identity for a CloudFront distribution, the registered email address of an AWS account, or a predefined Amazon S3 group Access: The permission that you want to give to the AWS user that you specified in Grantee. Permissions are granted on the files that Elastic Transcoder adds to the bucket, including playlists and video files. Valid values include: READ: The grantee can read the objects and metadata for objects that Elastic Transcoder adds to the Amazon S3 bucket. READ_ACP: The grantee can read the object ACL for objects that Elastic Transcoder adds to the Amazon S3 bucket. WRITE_ACP: The grantee can write the ACL for the objects that Elastic Transcoder adds to the Amazon S3 bucket. FULL_CONTROL: The grantee has READ, READ_ACP, and WRITE_ACP permissions for the objects that Elastic Transcoder adds to the Amazon S3 bucket. StorageClass: The Amazon S3 storage class, Standard or ReducedRedundancy, that you want Elastic Transcoder to assign to the video files and playlists that it stores in your Amazon S3 bucket. ", + "InputBucket": "The Amazon S3 bucket in which you saved the media files that you want to transcode and the graphics that you want to use as watermarks.", + "Notifications": "The topic ARN for the Amazon Simple Notification Service (Amazon SNS) topic that you want to notify to report job status. To receive notifications, you must also subscribe to the new topic in the Amazon SNS console. Progressing: The topic ARN for the Amazon Simple Notification Service (Amazon SNS) topic that you want to notify when Elastic Transcoder has started to process jobs that are added to this pipeline. This is the ARN that Amazon SNS returned when you created the topic. Complete: The topic ARN for the Amazon SNS topic that you want to notify when Elastic Transcoder has finished processing a job. This is the ARN that Amazon SNS returned when you created the topic. Warning: The topic ARN for the Amazon SNS topic that you want to notify when Elastic Transcoder encounters a warning condition. This is the ARN that Amazon SNS returned when you created the topic. Error: The topic ARN for the Amazon SNS topic that you want to notify when Elastic Transcoder encounters an error condition. This is the ARN that Amazon SNS returned when you created the topic. ", + "ThumbnailConfig": "The ThumbnailConfig object specifies several values, including the Amazon S3 bucket in which you want Elastic Transcoder to save thumbnail files, which users you want to have access to the files, the type of access you want users to have, and the storage class that you want to assign to the files. If you specify values for ContentConfig, you must also specify values for ThumbnailConfig even if you don't want to create thumbnails. If you specify values for ContentConfig and ThumbnailConfig, omit the OutputBucket object. Bucket: The Amazon S3 bucket in which you want Elastic Transcoder to save thumbnail files. Permissions (Optional): The Permissions object specifies which users and/or predefined Amazon S3 groups you want to have access to thumbnail files, and the type of access you want them to have. You can grant permissions to a maximum of 30 users and/or predefined Amazon S3 groups. GranteeType: Specify the type of value that appears in the Grantee object: Canonical: The value in the Grantee object is either the canonical user ID for an AWS account or an origin access identity for an Amazon CloudFront distribution. A canonical user ID is not the same as an AWS account number. Email: The value in the Grantee object is the registered email address of an AWS account. Group: The value in the Grantee object is one of the following predefined Amazon S3 groups: AllUsers, AuthenticatedUsers, or LogDelivery. Grantee: The AWS user or group that you want to have access to thumbnail files. To identify the user or group, you can specify the canonical user ID for an AWS account, an origin access identity for a CloudFront distribution, the registered email address of an AWS account, or a predefined Amazon S3 group. Access: The permission that you want to give to the AWS user that you specified in Grantee. Permissions are granted on the thumbnail files that Elastic Transcoder adds to the bucket. Valid values include: READ: The grantee can read the thumbnails and metadata for objects that Elastic Transcoder adds to the Amazon S3 bucket. READ_ACP: The grantee can read the object ACL for thumbnails that Elastic Transcoder adds to the Amazon S3 bucket. WRITE_ACP: The grantee can write the ACL for the thumbnails that Elastic Transcoder adds to the Amazon S3 bucket. FULL_CONTROL: The grantee has READ, READ_ACP, and WRITE_ACP permissions for the thumbnails that Elastic Transcoder adds to the Amazon S3 bucket. StorageClass: The Amazon S3 storage class, Standard or ReducedRedundancy, that you want Elastic Transcoder to assign to the thumbnails that it stores in your Amazon S3 bucket. ", + "Name": "The name of the pipeline. We recommend that the name be unique within the AWS account, but uniqueness is not enforced. Constraints: Maximum 40 characters", + "Role": "The IAM Amazon Resource Name (ARN) for the role that you want Elastic Transcoder to use to transcode jobs for this pipeline." +} +""" +UpdatePipeline(args) = elastic_transcoder("PUT", "/2012-09-25/pipelines/{Id}", args) + +""" + CreateJob() + +When you create a job, Elastic Transcoder returns JSON data that includes the values that you specified plus information about the job that is created. If you have specified more than one output for your jobs (for example, one output for the Kindle Fire and another output for the Apple iPhone 4s), you currently must use the Elastic Transcoder API to list the jobs (as opposed to the AWS Console). + +Required Parameters +{ + "PipelineId": "The Id of the pipeline that you want Elastic Transcoder to use for transcoding. The pipeline determines several settings, including the Amazon S3 bucket from which Elastic Transcoder gets the files to transcode and the bucket into which Elastic Transcoder puts the transcoded files." +} + +Optional Parameters +{ + "Output": " A section of the request body that provides information about the transcoded (target) file. We strongly recommend that you use the Outputs syntax instead of the Output syntax. ", + "Inputs": "A section of the request body that provides information about the files that are being transcoded.", + "Playlists": "If you specify a preset in PresetId for which the value of Container is fmp4 (Fragmented MP4) or ts (MPEG-TS), Playlists contains information about the master playlists that you want Elastic Transcoder to create. The maximum number of master playlists in a job is 30.", + "UserMetadata": "User-defined metadata that you want to associate with an Elastic Transcoder job. You specify metadata in key/value pairs, and you can add up to 10 key/value pairs per job. Elastic Transcoder does not guarantee that key/value pairs are returned in the same order in which you specify them.", + "OutputKeyPrefix": "The value, if any, that you want Elastic Transcoder to prepend to the names of all files that this job creates, including output files, thumbnails, and playlists.", + "Outputs": " A section of the request body that provides information about the transcoded (target) files. We recommend that you use the Outputs syntax instead of the Output syntax. ", + "Input": "A section of the request body that provides information about the file that is being transcoded." +} +""" +CreateJob(args) = elastic_transcoder("POST", "/2012-09-25/jobs", args) + +""" + TestRole() + +The TestRole operation tests the IAM role used to create the pipeline. The TestRole action lets you determine whether the IAM role you are using has sufficient permissions to let Elastic Transcoder perform tasks associated with the transcoding process. The action attempts to assume the specified IAM role, checks read access to the input and output buckets, and tries to send a test notification to Amazon SNS topics that you specify. + +Required Parameters +{ + "OutputBucket": "The Amazon S3 bucket that Elastic Transcoder writes transcoded media files to. The action attempts to read from this bucket.", + "InputBucket": "The Amazon S3 bucket that contains media files to be transcoded. The action attempts to read from this bucket.", + "Topics": "The ARNs of one or more Amazon Simple Notification Service (Amazon SNS) topics that you want the action to send a test notification to.", + "Role": "The IAM Amazon Resource Name (ARN) for the role that you want Elastic Transcoder to test." +} +""" +TestRole(args) = elastic_transcoder("POST", "/2012-09-25/roleTests", args) + +""" + ReadJob() + +The ReadJob operation returns detailed information about a job. + +Required Parameters +{ + "Id": "The identifier of the job for which you want to get detailed information." +} +""" +ReadJob(args) = elastic_transcoder("GET", "/2012-09-25/jobs/{Id}", args) + +""" + ListJobsByStatus() + +The ListJobsByStatus operation gets a list of jobs that have a specified status. The response body contains one element for each job that satisfies the search criteria. + +Required Parameters +{ + "Status": "To get information about all of the jobs associated with the current AWS account that have a given status, specify the following status: Submitted, Progressing, Complete, Canceled, or Error." +} + +Optional Parameters +{ + "Ascending": " To list jobs in chronological order by the date and time that they were submitted, enter true. To list jobs in reverse chronological order, enter false. ", + "PageToken": " When Elastic Transcoder returns more than one page of results, use pageToken in subsequent GET requests to get each successive page of results. " +} +""" +ListJobsByStatus(args) = elastic_transcoder("GET", "/2012-09-25/jobsByStatus/{Status}", args) + +""" + ReadPreset() + +The ReadPreset operation gets detailed information about a preset. + +Required Parameters +{ + "Id": "The identifier of the preset for which you want to get detailed information." +} +""" +ReadPreset(args) = elastic_transcoder("GET", "/2012-09-25/presets/{Id}", args) + +""" + DeletePreset() + +The DeletePreset operation removes a preset that you've added in an AWS region. You can't delete the default presets that are included with Elastic Transcoder. + +Required Parameters +{ + "Id": "The identifier of the preset for which you want to get detailed information." +} +""" +DeletePreset(args) = elastic_transcoder("DELETE", "/2012-09-25/presets/{Id}", args) + +""" + CreatePreset() + +The CreatePreset operation creates a preset with settings that you specify. Elastic Transcoder checks the CreatePreset settings to ensure that they meet Elastic Transcoder requirements and to determine whether they comply with H.264 standards. If your settings are not valid for Elastic Transcoder, Elastic Transcoder returns an HTTP 400 response (ValidationException) and does not create the preset. If the settings are valid for Elastic Transcoder but aren't strictly compliant with the H.264 standard, Elastic Transcoder creates the preset and returns a warning message in the response. This helps you determine whether your settings comply with the H.264 standard while giving you greater flexibility with respect to the video that Elastic Transcoder produces. Elastic Transcoder uses the H.264 video-compression format. For more information, see the International Telecommunication Union publication Recommendation ITU-T H.264: Advanced video coding for generic audiovisual services. + +Required Parameters +{ + "Container": "The container type for the output file. Valid values include flac, flv, fmp4, gif, mp3, mp4, mpg, mxf, oga, ogg, ts, and webm.", + "Name": "The name of the preset. We recommend that the name be unique within the AWS account, but uniqueness is not enforced." +} + +Optional Parameters +{ + "Description": "A description of the preset.", + "Audio": "A section of the request body that specifies the audio parameters.", + "Video": "A section of the request body that specifies the video parameters.", + "Thumbnails": "A section of the request body that specifies the thumbnail parameters, if any." +} +""" +CreatePreset(args) = elastic_transcoder("POST", "/2012-09-25/presets", args) + +""" + DeletePipeline() + +The DeletePipeline operation removes a pipeline. You can only delete a pipeline that has never been used or that is not currently in use (doesn't contain any active jobs). If the pipeline is currently in use, DeletePipeline returns an error. + +Required Parameters +{ + "Id": "The identifier of the pipeline that you want to delete." +} +""" +DeletePipeline(args) = elastic_transcoder("DELETE", "/2012-09-25/pipelines/{Id}", args) + +""" + ListPipelines() + +The ListPipelines operation gets a list of the pipelines associated with the current AWS account. + +Optional Parameters +{ + "Ascending": "To list pipelines in chronological order by the date and time that they were created, enter true. To list pipelines in reverse chronological order, enter false.", + "PageToken": "When Elastic Transcoder returns more than one page of results, use pageToken in subsequent GET requests to get each successive page of results. " +} +""" +ListPipelines() = elastic_transcoder("GET", "/2012-09-25/pipelines") +ListPipelines(args) = elastic_transcoder("GET", "/2012-09-25/pipelines", args) diff --git a/src/services/elasticache.jl b/src/services/elasticache.jl new file mode 100644 index 0000000000..63a93966af --- /dev/null +++ b/src/services/elasticache.jl @@ -0,0 +1,1010 @@ +include("../AWSServices.jl") +using .AWSServices: elasticache + +""" + CreateReplicationGroup() + +Creates a Redis (cluster mode disabled) or a Redis (cluster mode enabled) replication group. This API can be used to create a standalone regional replication group or a secondary replication group associated with a Global Datastore. A Redis (cluster mode disabled) replication group is a collection of clusters, where one of the clusters is a read/write primary and the others are read-only replicas. Writes to the primary are asynchronously propagated to the replicas. A Redis (cluster mode enabled) replication group is a collection of 1 to 90 node groups (shards). Each node group (shard) has one read/write primary node and up to 5 read-only replica nodes. Writes to the primary are asynchronously propagated to the replicas. Redis (cluster mode enabled) replication groups partition the data across node groups (shards). When a Redis (cluster mode disabled) replication group has been successfully created, you can add one or more read replicas to it, up to a total of 5 read replicas. You cannot alter a Redis (cluster mode enabled) replication group after it has been created. However, if you need to increase or decrease the number of node groups (console: shards), you can avail yourself of ElastiCache for Redis' enhanced backup and restore. For more information, see Restoring From a Backup with Cluster Resizing in the ElastiCache User Guide. This operation is valid for Redis only. + +Required Parameters +{ + "ReplicationGroupId": "The replication group identifier. This parameter is stored as a lowercase string. Constraints: A name must contain from 1 to 40 alphanumeric characters or hyphens. The first character must be a letter. A name cannot end with a hyphen or contain two consecutive hyphens. ", + "ReplicationGroupDescription": "A user-created description for the replication group." +} + +Optional Parameters +{ + "PreferredMaintenanceWindow": "Specifies the weekly time range during which maintenance on the cluster is performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance window is a 60 minute period. Valid values for ddd are: Specifies the weekly time range during which maintenance on the cluster is performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance window is a 60 minute period. Valid values for ddd are: sun mon tue wed thu fri sat Example: sun:23:00-mon:01:30 ", + "AutoMinorVersionUpgrade": "This parameter is currently disabled.", + "NumCacheClusters": "The number of clusters this replication group initially has. This parameter is not used if there is more than one node group (shard). You should use ReplicasPerNodeGroup instead. If AutomaticFailoverEnabled is true, the value of this parameter must be at least 2. If AutomaticFailoverEnabled is false you can omit this parameter (it will default to 1), or you can explicitly set it to a value between 2 and 6. The maximum permitted value for NumCacheClusters is 6 (1 primary plus 5 replicas).", + "GlobalReplicationGroupId": "The name of the Global Datastore", + "CacheSecurityGroupNames": "A list of cache security group names to associate with this replication group.", + "Tags": "A list of cost allocation tags to be added to this resource. Tags are comma-separated key,value pairs (e.g. Key=myKey, Value=myKeyValue. You can include multiple tags as shown following: Key=myKey, Value=myKeyValue Key=mySecondKey, Value=mySecondKeyValue.", + "NotificationTopicArn": "The Amazon Resource Name (ARN) of the Amazon Simple Notification Service (SNS) topic to which notifications are sent. The Amazon SNS topic owner must be the same as the cluster owner. ", + "CacheParameterGroupName": "The name of the parameter group to associate with this replication group. If this argument is omitted, the default cache parameter group for the specified engine is used. If you are restoring to an engine version that is different than the original, you must specify the default version of that version. For example, CacheParameterGroupName=default.redis4.0. If you are running Redis version 3.2.4 or later, only one node group (shard), and want to use a default parameter group, we recommend that you specify the parameter group by name. To create a Redis (cluster mode disabled) replication group, use CacheParameterGroupName=default.redis3.2. To create a Redis (cluster mode enabled) replication group, use CacheParameterGroupName=default.redis3.2.cluster.on. ", + "Engine": "The name of the cache engine to be used for the clusters in this replication group.", + "CacheSubnetGroupName": "The name of the cache subnet group to be used for the replication group. If you're going to launch your cluster in an Amazon VPC, you need to create a subnet group before you start creating a cluster. For more information, see Subnets and Subnet Groups. ", + "SnapshotWindow": "The daily time range (in UTC) during which ElastiCache begins taking a daily snapshot of your node group (shard). Example: 05:00-09:00 If you do not specify this parameter, ElastiCache automatically chooses an appropriate time range.", + "SecurityGroupIds": "One or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud (Amazon VPC).", + "CacheNodeType": "The compute and memory capacity of the nodes in the node group (shard). The following node types are supported by ElastiCache. Generally speaking, the current generation types provide more memory and computational power at lower cost when compared to their equivalent previous generation counterparts. General purpose: Current generation: M5 node types: cache.m5.large, cache.m5.xlarge, cache.m5.2xlarge, cache.m5.4xlarge, cache.m5.12xlarge, cache.m5.24xlarge M4 node types: cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge T3 node types: cache.t3.micro, cache.t3.small, cache.t3.medium T2 node types: cache.t2.micro, cache.t2.small, cache.t2.medium Previous generation: (not recommended) T1 node types: cache.t1.micro M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, cache.m1.xlarge M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge Compute optimized: Previous generation: (not recommended) C1 node types: cache.c1.xlarge Memory optimized: Current generation: R5 node types: cache.r5.large, cache.r5.xlarge, cache.r5.2xlarge, cache.r5.4xlarge, cache.r5.12xlarge, cache.r5.24xlarge R4 node types: cache.r4.large, cache.r4.xlarge, cache.r4.2xlarge, cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge Previous generation: (not recommended) M2 node types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge R3 node types: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, cache.r3.8xlarge Additional node type info All current generation instance types are created in Amazon VPC by default. Redis append-only files (AOF) are not supported for T1 or T2 instances. Redis Multi-AZ with automatic failover is not supported on T1 instances. Redis configuration variables appendonly and appendfsync are not supported on Redis version 2.8.22 and later. ", + "EngineVersion": "The version number of the cache engine to be used for the clusters in this replication group. To view the supported cache engine versions, use the DescribeCacheEngineVersions operation. Important: You can upgrade to a newer engine version (see Selecting a Cache Engine and Version) in the ElastiCache User Guide, but you cannot downgrade to an earlier engine version. If you want to use an earlier engine version, you must delete the existing cluster or replication group and create it anew with the earlier engine version. ", + "Port": "The port number on which each member of the replication group accepts connections.", + "SnapshotRetentionLimit": "The number of days for which ElastiCache retains automatic snapshots before deleting them. For example, if you set SnapshotRetentionLimit to 5, a snapshot that was taken today is retained for 5 days before being deleted. Default: 0 (i.e., automatic backups are disabled for this cluster).", + "NodeGroupConfiguration": "A list of node group (shard) configuration options. Each node group (shard) configuration has the following members: PrimaryAvailabilityZone, ReplicaAvailabilityZones, ReplicaCount, and Slots. If you're creating a Redis (cluster mode disabled) or a Redis (cluster mode enabled) replication group, you can use this parameter to individually configure each node group (shard), or you can omit this parameter. However, when seeding a Redis (cluster mode enabled) cluster from a S3 rdb file, you must configure each node group (shard) using this parameter because you must specify the slots for each node group.", + "SnapshotName": "The name of a snapshot from which to restore data into the new replication group. The snapshot status changes to restoring while the new replication group is being created.", + "SnapshotArns": "A list of Amazon Resource Names (ARN) that uniquely identify the Redis RDB snapshot files stored in Amazon S3. The snapshot files are used to populate the new replication group. The Amazon S3 object name in the ARN cannot contain any commas. The new replication group will have the number of node groups (console: shards) specified by the parameter NumNodeGroups or the number of node groups configured by NodeGroupConfiguration regardless of the number of ARNs specified here. Example of an Amazon S3 ARN: arn:aws:s3:::my_bucket/snapshot1.rdb ", + "PrimaryClusterId": "The identifier of the cluster that serves as the primary for this replication group. This cluster must already exist and have a status of available. This parameter is not required if NumCacheClusters, NumNodeGroups, or ReplicasPerNodeGroup is specified.", + "TransitEncryptionEnabled": "A flag that enables in-transit encryption when set to true. You cannot modify the value of TransitEncryptionEnabled after the cluster is created. To enable in-transit encryption on a cluster you must set TransitEncryptionEnabled to true when you create a cluster. This parameter is valid only if the Engine parameter is redis, the EngineVersion parameter is 3.2.6, 4.x or later, and the cluster is being created in an Amazon VPC. If you enable in-transit encryption, you must also specify a value for CacheSubnetGroup. Required: Only available when creating a replication group in an Amazon VPC using redis version 3.2.6, 4.x or later. Default: false For HIPAA compliance, you must specify TransitEncryptionEnabled as true, an AuthToken, and a CacheSubnetGroup. ", + "ReplicasPerNodeGroup": "An optional parameter that specifies the number of replica nodes in each node group (shard). Valid values are 0 to 5.", + "PreferredCacheClusterAZs": "A list of EC2 Availability Zones in which the replication group's clusters are created. The order of the Availability Zones in the list is the order in which clusters are allocated. The primary cluster is created in the first AZ in the list. This parameter is not used if there is more than one node group (shard). You should use NodeGroupConfiguration instead. If you are creating your replication group in an Amazon VPC (recommended), you can only locate clusters in Availability Zones associated with the subnets in the selected subnet group. The number of Availability Zones listed must equal the value of NumCacheClusters. Default: system chosen Availability Zones.", + "AuthToken": " Reserved parameter. The password used to access a password protected server. AuthToken can be specified only on replication groups where TransitEncryptionEnabled is true. For HIPAA compliance, you must specify TransitEncryptionEnabled as true, an AuthToken, and a CacheSubnetGroup. Password constraints: Must be only printable ASCII characters. Must be at least 16 characters and no more than 128 characters in length. The only permitted printable special characters are !, &, #, , ^, <, >, and -. Other printable special characters cannot be used in the AUTH token. For more information, see AUTH password at http://redis.io/commands/AUTH.", + "AtRestEncryptionEnabled": "A flag that enables encryption at rest when set to true. You cannot modify the value of AtRestEncryptionEnabled after the replication group is created. To enable encryption at rest on a replication group you must set AtRestEncryptionEnabled to true when you create the replication group. Required: Only available when creating a replication group in an Amazon VPC using redis version 3.2.6, 4.x or later. Default: false ", + "KmsKeyId": "The ID of the KMS key used to encrypt the disk in the cluster.", + "AutomaticFailoverEnabled": "Specifies whether a read-only replica is automatically promoted to read/write primary if the existing primary fails. If true, Multi-AZ is enabled for this replication group. If false, Multi-AZ is disabled for this replication group. AutomaticFailoverEnabled must be enabled for Redis (cluster mode enabled) replication groups. Default: false Amazon ElastiCache for Redis does not support Multi-AZ with automatic failover on: Redis versions earlier than 2.8.6. Redis (cluster mode disabled): T1 node types. Redis (cluster mode enabled): T1 node types. ", + "NumNodeGroups": "An optional parameter that specifies the number of node groups (shards) for this Redis (cluster mode enabled) replication group. For Redis (cluster mode disabled) either omit this parameter or set it to 1. Default: 1" +} +""" +CreateReplicationGroup(args) = elasticache("CreateReplicationGroup", args) + +""" + ModifyGlobalReplicationGroup() + +Modifies the settings for a Global Datastore. + +Required Parameters +{ + "GlobalReplicationGroupId": "The name of the Global Datastore", + "ApplyImmediately": "If true, this parameter causes the modifications in this request and any pending modifications to be applied, asynchronously and as soon as possible, regardless of the PreferredMaintenanceWindow setting for the replication group. If false, changes to the nodes in the replication group are applied on the next maintenance reboot, or the next failure reboot, whichever occurs first. " +} + +Optional Parameters +{ + "CacheNodeType": "A valid cache node type that you want to scale this Global Datastore to.", + "EngineVersion": "The upgraded version of the cache engine to be run on the clusters in the Global Datastore. ", + "GlobalReplicationGroupDescription": "A description of the Global Datastore", + "AutomaticFailoverEnabled": "Determines whether a read replica is automatically promoted to read/write primary if the existing primary encounters a failure. " +} +""" +ModifyGlobalReplicationGroup(args) = elasticache("ModifyGlobalReplicationGroup", args) + +""" + ModifyReplicationGroup() + +Modifies the settings for a replication group. For Redis (cluster mode enabled) clusters, this operation cannot be used to change a cluster's node type or engine version. For more information, see: Scaling for Amazon ElastiCache for Redis (cluster mode enabled) in the ElastiCache User Guide ModifyReplicationGroupShardConfiguration in the ElastiCache API Reference This operation is valid for Redis only. + +Required Parameters +{ + "ReplicationGroupId": "The identifier of the replication group to modify." +} + +Optional Parameters +{ + "PreferredMaintenanceWindow": "Specifies the weekly time range during which maintenance on the cluster is performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance window is a 60 minute period. Valid values for ddd are: sun mon tue wed thu fri sat Example: sun:23:00-mon:01:30 ", + "AutoMinorVersionUpgrade": "This parameter is currently disabled.", + "CacheSecurityGroupNames": "A list of cache security group names to authorize for the clusters in this replication group. This change is asynchronously applied as soon as possible. This parameter can be used only with replication group containing clusters running outside of an Amazon Virtual Private Cloud (Amazon VPC). Constraints: Must contain no more than 255 alphanumeric characters. Must not be Default.", + "NotificationTopicArn": "The Amazon Resource Name (ARN) of the Amazon SNS topic to which notifications are sent. The Amazon SNS topic owner must be same as the replication group owner. ", + "CacheParameterGroupName": "The name of the cache parameter group to apply to all of the clusters in this replication group. This change is asynchronously applied as soon as possible for parameters when the ApplyImmediately parameter is specified as true for this request.", + "ReplicationGroupDescription": "A description for the replication group. Maximum length is 255 characters.", + "SnapshotWindow": "The daily time range (in UTC) during which ElastiCache begins taking a daily snapshot of the node group (shard) specified by SnapshottingClusterId. Example: 05:00-09:00 If you do not specify this parameter, ElastiCache automatically chooses an appropriate time range.", + "SecurityGroupIds": "Specifies the VPC Security Groups associated with the clusters in the replication group. This parameter can be used only with replication group containing clusters running in an Amazon Virtual Private Cloud (Amazon VPC).", + "CacheNodeType": "A valid cache node type that you want to scale this replication group to.", + "EngineVersion": "The upgraded version of the cache engine to be run on the clusters in the replication group. Important: You can upgrade to a newer engine version (see Selecting a Cache Engine and Version), but you cannot downgrade to an earlier engine version. If you want to use an earlier engine version, you must delete the existing replication group and create it anew with the earlier engine version. ", + "SnapshottingClusterId": "The cluster ID that is used as the daily snapshot source for the replication group. This parameter cannot be set for Redis (cluster mode enabled) replication groups.", + "NodeGroupId": "Deprecated. This parameter is not used.", + "SnapshotRetentionLimit": "The number of days for which ElastiCache retains automatic node group (shard) snapshots before deleting them. For example, if you set SnapshotRetentionLimit to 5, a snapshot that was taken today is retained for 5 days before being deleted. Important If the value of SnapshotRetentionLimit is set to zero (0), backups are turned off.", + "PrimaryClusterId": "For replication groups with a single primary, if this parameter is specified, ElastiCache promotes the specified cluster in the specified replication group to the primary role. The nodes of all other clusters in the replication group are read replicas.", + "ApplyImmediately": "If true, this parameter causes the modifications in this request and any pending modifications to be applied, asynchronously and as soon as possible, regardless of the PreferredMaintenanceWindow setting for the replication group. If false, changes to the nodes in the replication group are applied on the next maintenance reboot, or the next failure reboot, whichever occurs first. Valid values: true | false Default: false ", + "AuthToken": "Reserved parameter. The password used to access a password protected server. This parameter must be specified with the auth-token-update-strategy parameter. Password constraints: Must be only printable ASCII characters Must be at least 16 characters and no more than 128 characters in length Cannot contain any of the following characters: '/', '\"', or '@', '%' For more information, see AUTH password at AUTH.", + "AutomaticFailoverEnabled": "Determines whether a read replica is automatically promoted to read/write primary if the existing primary encounters a failure. Valid values: true | false Amazon ElastiCache for Redis does not support Multi-AZ with automatic failover on: Redis versions earlier than 2.8.6. Redis (cluster mode disabled): T1 node types. Redis (cluster mode enabled): T1 node types. ", + "NotificationTopicStatus": "The status of the Amazon SNS notification topic for the replication group. Notifications are sent only if the status is active. Valid values: active | inactive ", + "AuthTokenUpdateStrategy": "Specifies the strategy to use to update the AUTH token. This parameter must be specified with the auth-token parameter. Possible values: Rotate Set For more information, see Authenticating Users with Redis AUTH " +} +""" +ModifyReplicationGroup(args) = elasticache("ModifyReplicationGroup", args) + +""" + BatchApplyUpdateAction() + +Apply the service update. For more information on service updates and applying them, see Applying Service Updates. + +Required Parameters +{ + "ServiceUpdateName": "The unique ID of the service update" +} + +Optional Parameters +{ + "CacheClusterIds": "The cache cluster IDs", + "ReplicationGroupIds": "The replication group IDs" +} +""" +BatchApplyUpdateAction(args) = elasticache("BatchApplyUpdateAction", args) + +""" + CreateCacheSubnetGroup() + +Creates a new cache subnet group. Use this parameter only when you are creating a cluster in an Amazon Virtual Private Cloud (Amazon VPC). + +Required Parameters +{ + "CacheSubnetGroupDescription": "A description for the cache subnet group.", + "SubnetIds": "A list of VPC subnet IDs for the cache subnet group.", + "CacheSubnetGroupName": "A name for the cache subnet group. This value is stored as a lowercase string. Constraints: Must contain no more than 255 alphanumeric characters or hyphens. Example: mysubnetgroup " +} +""" +CreateCacheSubnetGroup(args) = elasticache("CreateCacheSubnetGroup", args) + +""" + CreateCacheSecurityGroup() + +Creates a new cache security group. Use a cache security group to control access to one or more clusters. Cache security groups are only used when you are creating a cluster outside of an Amazon Virtual Private Cloud (Amazon VPC). If you are creating a cluster inside of a VPC, use a cache subnet group instead. For more information, see CreateCacheSubnetGroup. + +Required Parameters +{ + "Description": "A description for the cache security group.", + "CacheSecurityGroupName": "A name for the cache security group. This value is stored as a lowercase string. Constraints: Must contain no more than 255 alphanumeric characters. Cannot be the word \"Default\". Example: mysecuritygroup " +} +""" +CreateCacheSecurityGroup(args) = elasticache("CreateCacheSecurityGroup", args) + +""" + DeleteCacheSecurityGroup() + +Deletes a cache security group. You cannot delete a cache security group if it is associated with any clusters. + +Required Parameters +{ + "CacheSecurityGroupName": "The name of the cache security group to delete. You cannot delete the default security group. " +} +""" +DeleteCacheSecurityGroup(args) = elasticache("DeleteCacheSecurityGroup", args) + +""" + ModifyCacheSubnetGroup() + +Modifies an existing cache subnet group. + +Required Parameters +{ + "CacheSubnetGroupName": "The name for the cache subnet group. This value is stored as a lowercase string. Constraints: Must contain no more than 255 alphanumeric characters or hyphens. Example: mysubnetgroup " +} + +Optional Parameters +{ + "CacheSubnetGroupDescription": "A description of the cache subnet group.", + "SubnetIds": "The EC2 subnet IDs for the cache subnet group." +} +""" +ModifyCacheSubnetGroup(args) = elasticache("ModifyCacheSubnetGroup", args) + +""" + IncreaseNodeGroupsInGlobalReplicationGroup() + +Increase the number of node groups in the Global Datastore + +Required Parameters +{ + "GlobalReplicationGroupId": "The name of the Global Datastore", + "NodeGroupCount": "The number of node groups you wish to add", + "ApplyImmediately": "Indicates that the process begins immediately. At present, the only permitted value for this parameter is true." +} + +Optional Parameters +{ + "RegionalConfigurations": "Describes the replication group IDs, the AWS regions where they are stored and the shard configuration for each that comprise the Global Datastore" +} +""" +IncreaseNodeGroupsInGlobalReplicationGroup(args) = elasticache("IncreaseNodeGroupsInGlobalReplicationGroup", args) + +""" + DeleteReplicationGroup() + +Deletes an existing replication group. By default, this operation deletes the entire replication group, including the primary/primaries and all of the read replicas. If the replication group has only one primary, you can optionally delete only the read replicas, while retaining the primary by setting RetainPrimaryCluster=true. When you receive a successful response from this operation, Amazon ElastiCache immediately begins deleting the selected resources; you cannot cancel or revert this operation. This operation is valid for Redis only. + +Required Parameters +{ + "ReplicationGroupId": "The identifier for the cluster to be deleted. This parameter is not case sensitive." +} + +Optional Parameters +{ + "FinalSnapshotIdentifier": "The name of a final node group (shard) snapshot. ElastiCache creates the snapshot from the primary node in the cluster, rather than one of the replicas; this is to ensure that it captures the freshest data. After the final snapshot is taken, the replication group is immediately deleted.", + "RetainPrimaryCluster": "If set to true, all of the read replicas are deleted, but the primary node is retained." +} +""" +DeleteReplicationGroup(args) = elasticache("DeleteReplicationGroup", args) + +""" + DescribeCacheSubnetGroups() + +Returns a list of cache subnet group descriptions. If a subnet group name is specified, the list contains only the description of that group. This is applicable only when you have ElastiCache in VPC setup. All ElastiCache clusters now launch in VPC by default. + +Optional Parameters +{ + "MaxRecords": "The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a marker is included in the response so that the remaining results can be retrieved. Default: 100 Constraints: minimum 20; maximum 100.", + "Marker": "An optional marker returned from a prior request. Use this marker for pagination of results from this operation. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.", + "CacheSubnetGroupName": "The name of the cache subnet group to return details for." +} +""" +DescribeCacheSubnetGroups() = elasticache("DescribeCacheSubnetGroups") +DescribeCacheSubnetGroups(args) = elasticache("DescribeCacheSubnetGroups", args) + +""" + DisassociateGlobalReplicationGroup() + +Remove a secondary cluster from the Global Datastore using the Global Datastore name. The secondary cluster will no longer receive updates from the primary cluster, but will remain as a standalone cluster in that AWS region. + +Required Parameters +{ + "GlobalReplicationGroupId": "The name of the Global Datastore", + "ReplicationGroupId": "The name of the secondary cluster you wish to remove from the Global Datastore", + "ReplicationGroupRegion": "The AWS region of secondary cluster you wish to remove from the Global Datastore" +} +""" +DisassociateGlobalReplicationGroup(args) = elasticache("DisassociateGlobalReplicationGroup", args) + +""" + DescribeReplicationGroups() + +Returns information about a particular replication group. If no identifier is specified, DescribeReplicationGroups returns information about all replication groups. This operation is valid for Redis only. + +Optional Parameters +{ + "MaxRecords": "The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a marker is included in the response so that the remaining results can be retrieved. Default: 100 Constraints: minimum 20; maximum 100.", + "Marker": "An optional marker returned from a prior request. Use this marker for pagination of results from this operation. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.", + "ReplicationGroupId": "The identifier for the replication group to be described. This parameter is not case sensitive. If you do not specify this parameter, information about all replication groups is returned." +} +""" +DescribeReplicationGroups() = elasticache("DescribeReplicationGroups") +DescribeReplicationGroups(args) = elasticache("DescribeReplicationGroups", args) + +""" + ModifyCacheCluster() + +Modifies the settings for a cluster. You can use this operation to change one or more cluster configuration parameters by specifying the parameters and the new values. + +Required Parameters +{ + "CacheClusterId": "The cluster identifier. This value is stored as a lowercase string." +} + +Optional Parameters +{ + "PreferredMaintenanceWindow": "Specifies the weekly time range during which maintenance on the cluster is performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance window is a 60 minute period. Valid values for ddd are: sun mon tue wed thu fri sat Example: sun:23:00-mon:01:30 ", + "AutoMinorVersionUpgrade": "This parameter is currently disabled.", + "CacheSecurityGroupNames": "A list of cache security group names to authorize on this cluster. This change is asynchronously applied as soon as possible. You can use this parameter only with clusters that are created outside of an Amazon Virtual Private Cloud (Amazon VPC). Constraints: Must contain no more than 255 alphanumeric characters. Must not be \"Default\".", + "NotificationTopicArn": "The Amazon Resource Name (ARN) of the Amazon SNS topic to which notifications are sent. The Amazon SNS topic owner must be same as the cluster owner. ", + "CacheParameterGroupName": "The name of the cache parameter group to apply to this cluster. This change is asynchronously applied as soon as possible for parameters when the ApplyImmediately parameter is specified as true for this request.", + "NewAvailabilityZones": "The list of Availability Zones where the new Memcached cache nodes are created. This parameter is only valid when NumCacheNodes in the request is greater than the sum of the number of active cache nodes and the number of cache nodes pending creation (which may be zero). The number of Availability Zones supplied in this list must match the cache nodes being added in this request. This option is only supported on Memcached clusters. Scenarios: Scenario 1: You have 3 active nodes and wish to add 2 nodes. Specify NumCacheNodes=5 (3 + 2) and optionally specify two Availability Zones for the two new nodes. Scenario 2: You have 3 active nodes and 2 nodes pending creation (from the scenario 1 call) and want to add 1 more node. Specify NumCacheNodes=6 ((3 + 2) + 1) and optionally specify an Availability Zone for the new node. Scenario 3: You want to cancel all pending operations. Specify NumCacheNodes=3 to cancel all pending operations. The Availability Zone placement of nodes pending creation cannot be modified. If you wish to cancel any nodes pending creation, add 0 nodes by setting NumCacheNodes to the number of current nodes. If cross-az is specified, existing Memcached nodes remain in their current Availability Zone. Only newly created nodes can be located in different Availability Zones. For guidance on how to move existing Memcached nodes to different Availability Zones, see the Availability Zone Considerations section of Cache Node Considerations for Memcached. Impact of new add/remove requests upon pending requests Scenario-1 Pending Action: Delete New Request: Delete Result: The new delete, pending or immediate, replaces the pending delete. Scenario-2 Pending Action: Delete New Request: Create Result: The new create, pending or immediate, replaces the pending delete. Scenario-3 Pending Action: Create New Request: Delete Result: The new delete, pending or immediate, replaces the pending create. Scenario-4 Pending Action: Create New Request: Create Result: The new create is added to the pending create. Important: If the new create request is Apply Immediately - Yes, all creates are performed immediately. If the new create request is Apply Immediately - No, all creates are pending. ", + "AZMode": "Specifies whether the new nodes in this Memcached cluster are all created in a single Availability Zone or created across multiple Availability Zones. Valid values: single-az | cross-az. This option is only supported for Memcached clusters. You cannot specify single-az if the Memcached cluster already has cache nodes in different Availability Zones. If cross-az is specified, existing Memcached nodes remain in their current Availability Zone. Only newly created nodes are located in different Availability Zones. ", + "SnapshotWindow": "The daily time range (in UTC) during which ElastiCache begins taking a daily snapshot of your cluster. ", + "SecurityGroupIds": "Specifies the VPC Security Groups associated with the cluster. This parameter can be used only with clusters that are created in an Amazon Virtual Private Cloud (Amazon VPC).", + "CacheNodeType": "A valid cache node type that you want to scale this cluster up to.", + "EngineVersion": "The upgraded version of the cache engine to be run on the cache nodes. Important: You can upgrade to a newer engine version (see Selecting a Cache Engine and Version), but you cannot downgrade to an earlier engine version. If you want to use an earlier engine version, you must delete the existing cluster and create it anew with the earlier engine version. ", + "SnapshotRetentionLimit": "The number of days for which ElastiCache retains automatic cluster snapshots before deleting them. For example, if you set SnapshotRetentionLimit to 5, a snapshot that was taken today is retained for 5 days before being deleted. If the value of SnapshotRetentionLimit is set to zero (0), backups are turned off. ", + "ApplyImmediately": "If true, this parameter causes the modifications in this request and any pending modifications to be applied, asynchronously and as soon as possible, regardless of the PreferredMaintenanceWindow setting for the cluster. If false, changes to the cluster are applied on the next maintenance reboot, or the next failure reboot, whichever occurs first. If you perform a ModifyCacheCluster before a pending modification is applied, the pending modification is replaced by the newer modification. Valid values: true | false Default: false ", + "NumCacheNodes": "The number of cache nodes that the cluster should have. If the value for NumCacheNodes is greater than the sum of the number of current cache nodes and the number of cache nodes pending creation (which may be zero), more nodes are added. If the value is less than the number of existing cache nodes, nodes are removed. If the value is equal to the number of current cache nodes, any pending add or remove requests are canceled. If you are removing cache nodes, you must use the CacheNodeIdsToRemove parameter to provide the IDs of the specific cache nodes to remove. For clusters running Redis, this value must be 1. For clusters running Memcached, this value must be between 1 and 20. Adding or removing Memcached cache nodes can be applied immediately or as a pending operation (see ApplyImmediately). A pending operation to modify the number of cache nodes in a cluster during its maintenance window, whether by adding or removing nodes in accordance with the scale out architecture, is not queued. The customer's latest request to add or remove nodes to the cluster overrides any previous pending operations to modify the number of cache nodes in the cluster. For example, a request to remove 2 nodes would override a previous pending operation to remove 3 nodes. Similarly, a request to add 2 nodes would override a previous pending operation to remove 3 nodes and vice versa. As Memcached cache nodes may now be provisioned in different Availability Zones with flexible cache node placement, a request to add nodes does not automatically override a previous pending operation to add nodes. The customer can modify the previous pending operation to add more nodes or explicitly cancel the pending request and retry the new request. To cancel pending operations to modify the number of cache nodes in a cluster, use the ModifyCacheCluster request and set NumCacheNodes equal to the number of cache nodes currently in the cluster. ", + "AuthToken": "Reserved parameter. The password used to access a password protected server. This parameter must be specified with the auth-token-update parameter. Password constraints: Must be only printable ASCII characters Must be at least 16 characters and no more than 128 characters in length Cannot contain any of the following characters: '/', '\"', or '@', '%' For more information, see AUTH password at AUTH.", + "CacheNodeIdsToRemove": "A list of cache node IDs to be removed. A node ID is a numeric identifier (0001, 0002, etc.). This parameter is only valid when NumCacheNodes is less than the existing number of cache nodes. The number of cache node IDs supplied in this parameter must match the difference between the existing number of cache nodes in the cluster or pending cache nodes, whichever is greater, and the value of NumCacheNodes in the request. For example: If you have 3 active cache nodes, 7 pending cache nodes, and the number of cache nodes in this ModifyCacheCluster call is 5, you must list 2 (7 - 5) cache node IDs to remove.", + "NotificationTopicStatus": "The status of the Amazon SNS notification topic. Notifications are sent only if the status is active. Valid values: active | inactive ", + "AuthTokenUpdateStrategy": "Specifies the strategy to use to update the AUTH token. This parameter must be specified with the auth-token parameter. Possible values: Rotate Set For more information, see Authenticating Users with Redis AUTH " +} +""" +ModifyCacheCluster(args) = elasticache("ModifyCacheCluster", args) + +""" + ResetCacheParameterGroup() + +Modifies the parameters of a cache parameter group to the engine or system default value. You can reset specific parameters by submitting a list of parameter names. To reset the entire cache parameter group, specify the ResetAllParameters and CacheParameterGroupName parameters. + +Required Parameters +{ + "CacheParameterGroupName": "The name of the cache parameter group to reset." +} + +Optional Parameters +{ + "ResetAllParameters": "If true, all parameters in the cache parameter group are reset to their default values. If false, only the parameters listed by ParameterNameValues are reset to their default values. Valid values: true | false ", + "ParameterNameValues": "An array of parameter names to reset to their default values. If ResetAllParameters is true, do not use ParameterNameValues. If ResetAllParameters is false, you must specify the name of at least one parameter to reset." +} +""" +ResetCacheParameterGroup(args) = elasticache("ResetCacheParameterGroup", args) + +""" + CreateGlobalReplicationGroup() + +Global Datastore for Redis offers fully managed, fast, reliable and secure cross-region replication. Using Global Datastore for Redis, you can create cross-region read replica clusters for ElastiCache for Redis to enable low-latency reads and disaster recovery across regions. For more information, see Replication Across Regions Using Global Datastore. The GlobalReplicationGroupId is the name of the Global Datastore. The PrimaryReplicationGroupId represents the name of the primary cluster that accepts writes and will replicate updates to the secondary cluster. + +Required Parameters +{ + "GlobalReplicationGroupIdSuffix": "The suffix for name of a Global Datastore. The suffix guarantees uniqueness of the Global Datastore name across multiple regions.", + "PrimaryReplicationGroupId": "The name of the primary cluster that accepts writes and will replicate updates to the secondary cluster." +} + +Optional Parameters +{ + "GlobalReplicationGroupDescription": "Provides details of the Global Datastore" +} +""" +CreateGlobalReplicationGroup(args) = elasticache("CreateGlobalReplicationGroup", args) + +""" + ModifyCacheParameterGroup() + +Modifies the parameters of a cache parameter group. You can modify up to 20 parameters in a single request by submitting a list parameter name and value pairs. + +Required Parameters +{ + "CacheParameterGroupName": "The name of the cache parameter group to modify.", + "ParameterNameValues": "An array of parameter names and values for the parameter update. You must supply at least one parameter name and value; subsequent arguments are optional. A maximum of 20 parameters may be modified per request." +} +""" +ModifyCacheParameterGroup(args) = elasticache("ModifyCacheParameterGroup", args) + +""" + DeleteCacheSubnetGroup() + +Deletes a cache subnet group. You cannot delete a cache subnet group if it is associated with any clusters. + +Required Parameters +{ + "CacheSubnetGroupName": "The name of the cache subnet group to delete. Constraints: Must contain no more than 255 alphanumeric characters or hyphens." +} +""" +DeleteCacheSubnetGroup(args) = elasticache("DeleteCacheSubnetGroup", args) + +""" + DescribeCacheParameterGroups() + +Returns a list of cache parameter group descriptions. If a cache parameter group name is specified, the list contains only the descriptions for that group. + +Optional Parameters +{ + "MaxRecords": "The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a marker is included in the response so that the remaining results can be retrieved. Default: 100 Constraints: minimum 20; maximum 100.", + "Marker": "An optional marker returned from a prior request. Use this marker for pagination of results from this operation. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.", + "CacheParameterGroupName": "The name of a specific cache parameter group to return details for." +} +""" +DescribeCacheParameterGroups() = elasticache("DescribeCacheParameterGroups") +DescribeCacheParameterGroups(args) = elasticache("DescribeCacheParameterGroups", args) + +""" + RebalanceSlotsInGlobalReplicationGroup() + +Redistribute slots to ensure unifirom distribution across existing shards in the cluster. + +Required Parameters +{ + "GlobalReplicationGroupId": "The name of the Global Datastore", + "ApplyImmediately": "If True, redistribution is applied immediately." +} +""" +RebalanceSlotsInGlobalReplicationGroup(args) = elasticache("RebalanceSlotsInGlobalReplicationGroup", args) + +""" + DescribeSnapshots() + +Returns information about cluster or replication group snapshots. By default, DescribeSnapshots lists all of your snapshots; it can optionally describe a single snapshot, or just the snapshots associated with a particular cache cluster. This operation is valid for Redis only. + +Optional Parameters +{ + "ShowNodeGroupConfig": "A Boolean value which if true, the node group (shard) configuration is included in the snapshot description.", + "SnapshotName": "A user-supplied name of the snapshot. If this parameter is specified, only this snapshot are described.", + "Marker": "An optional marker returned from a prior request. Use this marker for pagination of results from this operation. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.", + "MaxRecords": "The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a marker is included in the response so that the remaining results can be retrieved. Default: 50 Constraints: minimum 20; maximum 50.", + "CacheClusterId": "A user-supplied cluster identifier. If this parameter is specified, only snapshots associated with that specific cluster are described.", + "ReplicationGroupId": "A user-supplied replication group identifier. If this parameter is specified, only snapshots associated with that specific replication group are described.", + "SnapshotSource": "If set to system, the output shows snapshots that were automatically created by ElastiCache. If set to user the output shows snapshots that were manually created. If omitted, the output shows both automatically and manually created snapshots." +} +""" +DescribeSnapshots() = elasticache("DescribeSnapshots") +DescribeSnapshots(args) = elasticache("DescribeSnapshots", args) + +""" + DescribeCacheEngineVersions() + +Returns a list of the available cache engines and their versions. + +Optional Parameters +{ + "MaxRecords": "The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a marker is included in the response so that the remaining results can be retrieved. Default: 100 Constraints: minimum 20; maximum 100.", + "Marker": "An optional marker returned from a prior request. Use this marker for pagination of results from this operation. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.", + "EngineVersion": "The cache engine version to return. Example: 1.4.14 ", + "Engine": "The cache engine to return. Valid values: memcached | redis ", + "CacheParameterGroupFamily": "The name of a specific cache parameter group family to return details for. Valid values are: memcached1.4 | memcached1.5 | redis2.6 | redis2.8 | redis3.2 | redis4.0 | redis5.0 | Constraints: Must be 1 to 255 alphanumeric characters First character must be a letter Cannot end with a hyphen or contain two consecutive hyphens ", + "DefaultOnly": "If true, specifies that only the default version of the specified engine or engine and major version combination is to be returned." +} +""" +DescribeCacheEngineVersions() = elasticache("DescribeCacheEngineVersions") +DescribeCacheEngineVersions(args) = elasticache("DescribeCacheEngineVersions", args) + +""" + DescribeServiceUpdates() + +Returns details of the service updates + +Optional Parameters +{ + "ServiceUpdateName": "The unique ID of the service update", + "MaxRecords": "The maximum number of records to include in the response", + "Marker": "An optional marker returned from a prior request. Use this marker for pagination of results from this operation. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.", + "ServiceUpdateStatus": "The status of the service update" +} +""" +DescribeServiceUpdates() = elasticache("DescribeServiceUpdates") +DescribeServiceUpdates(args) = elasticache("DescribeServiceUpdates", args) + +""" + DescribeGlobalReplicationGroups() + +Returns information about a particular global replication group. If no identifier is specified, returns information about all Global Datastores. + +Optional Parameters +{ + "MaxRecords": "The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a marker is included in the response so that the remaining results can be retrieved. ", + "GlobalReplicationGroupId": "The name of the Global Datastore", + "Marker": "An optional marker returned from a prior request. Use this marker for pagination of results from this operation. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords. ", + "ShowMemberInfo": "Returns the list of members that comprise the Global Datastore." +} +""" +DescribeGlobalReplicationGroups() = elasticache("DescribeGlobalReplicationGroups") +DescribeGlobalReplicationGroups(args) = elasticache("DescribeGlobalReplicationGroups", args) + +""" + CreateCacheParameterGroup() + +Creates a new Amazon ElastiCache cache parameter group. An ElastiCache cache parameter group is a collection of parameters and their values that are applied to all of the nodes in any cluster or replication group using the CacheParameterGroup. A newly created CacheParameterGroup is an exact duplicate of the default parameter group for the CacheParameterGroupFamily. To customize the newly created CacheParameterGroup you can change the values of specific parameters. For more information, see: ModifyCacheParameterGroup in the ElastiCache API Reference. Parameters and Parameter Groups in the ElastiCache User Guide. + +Required Parameters +{ + "Description": "A user-specified description for the cache parameter group.", + "CacheParameterGroupName": "A user-specified name for the cache parameter group.", + "CacheParameterGroupFamily": "The name of the cache parameter group family that the cache parameter group can be used with. Valid values are: memcached1.4 | memcached1.5 | redis2.6 | redis2.8 | redis3.2 | redis4.0 | redis5.0 | " +} +""" +CreateCacheParameterGroup(args) = elasticache("CreateCacheParameterGroup", args) + +""" + DeleteCacheCluster() + +Deletes a previously provisioned cluster. DeleteCacheCluster deletes all associated cache nodes, node endpoints and the cluster itself. When you receive a successful response from this operation, Amazon ElastiCache immediately begins deleting the cluster; you cannot cancel or revert this operation. This operation is not valid for: Redis (cluster mode enabled) clusters A cluster that is the last read replica of a replication group A node group (shard) that has Multi-AZ mode enabled A cluster from a Redis (cluster mode enabled) replication group A cluster that is not in the available state + +Required Parameters +{ + "CacheClusterId": "The cluster identifier for the cluster to be deleted. This parameter is not case sensitive." +} + +Optional Parameters +{ + "FinalSnapshotIdentifier": "The user-supplied name of a final cluster snapshot. This is the unique name that identifies the snapshot. ElastiCache creates the snapshot, and then deletes the cluster immediately afterward." +} +""" +DeleteCacheCluster(args) = elasticache("DeleteCacheCluster", args) + +""" + FailoverGlobalReplicationGroup() + +Used to failover the primary region to a selected secondary region. + +Required Parameters +{ + "GlobalReplicationGroupId": "The name of the Global Datastore", + "PrimaryRegion": "The AWS region of the primary cluster of the Global Datastore", + "PrimaryReplicationGroupId": "The name of the primary replication group" +} +""" +FailoverGlobalReplicationGroup(args) = elasticache("FailoverGlobalReplicationGroup", args) + +""" + StartMigration() + +Start the migration of data. + +Required Parameters +{ + "ReplicationGroupId": "The ID of the replication group to which data should be migrated.", + "CustomerNodeEndpointList": "List of endpoints from which data should be migrated. For Redis (cluster mode disabled), list should have only one element." +} +""" +StartMigration(args) = elasticache("StartMigration", args) + +""" + DescribeCacheSecurityGroups() + +Returns a list of cache security group descriptions. If a cache security group name is specified, the list contains only the description of that group. This applicable only when you have ElastiCache in Classic setup + +Optional Parameters +{ + "MaxRecords": "The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a marker is included in the response so that the remaining results can be retrieved. Default: 100 Constraints: minimum 20; maximum 100.", + "Marker": "An optional marker returned from a prior request. Use this marker for pagination of results from this operation. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.", + "CacheSecurityGroupName": "The name of the cache security group to return details for." +} +""" +DescribeCacheSecurityGroups() = elasticache("DescribeCacheSecurityGroups") +DescribeCacheSecurityGroups(args) = elasticache("DescribeCacheSecurityGroups", args) + +""" + DecreaseReplicaCount() + +Dynamically decreases the number of replicas in a Redis (cluster mode disabled) replication group or the number of replica nodes in one or more node groups (shards) of a Redis (cluster mode enabled) replication group. This operation is performed with no cluster down time. + +Required Parameters +{ + "ApplyImmediately": "If True, the number of replica nodes is decreased immediately. ApplyImmediately=False is not currently supported.", + "ReplicationGroupId": "The id of the replication group from which you want to remove replica nodes." +} + +Optional Parameters +{ + "NewReplicaCount": "The number of read replica nodes you want at the completion of this operation. For Redis (cluster mode disabled) replication groups, this is the number of replica nodes in the replication group. For Redis (cluster mode enabled) replication groups, this is the number of replica nodes in each of the replication group's node groups. The minimum number of replicas in a shard or replication group is: Redis (cluster mode disabled) If Multi-AZ with Automatic Failover is enabled: 1 If Multi-AZ with Automatic Failover is not enabled: 0 Redis (cluster mode enabled): 0 (though you will not be able to failover to a replica if your primary node fails) ", + "ReplicaConfiguration": "A list of ConfigureShard objects that can be used to configure each shard in a Redis (cluster mode enabled) replication group. The ConfigureShard has three members: NewReplicaCount, NodeGroupId, and PreferredAvailabilityZones.", + "ReplicasToRemove": "A list of the node ids to remove from the replication group or node group (shard)." +} +""" +DecreaseReplicaCount(args) = elasticache("DecreaseReplicaCount", args) + +""" + DeleteCacheParameterGroup() + +Deletes the specified cache parameter group. You cannot delete a cache parameter group if it is associated with any cache clusters. + +Required Parameters +{ + "CacheParameterGroupName": "The name of the cache parameter group to delete. The specified cache security group must not be associated with any clusters. " +} +""" +DeleteCacheParameterGroup(args) = elasticache("DeleteCacheParameterGroup", args) + +""" + DescribeReservedCacheNodes() + +Returns information about reserved cache nodes for this account, or about a specified reserved cache node. + +Optional Parameters +{ + "MaxRecords": "The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a marker is included in the response so that the remaining results can be retrieved. Default: 100 Constraints: minimum 20; maximum 100.", + "Marker": "An optional marker returned from a prior request. Use this marker for pagination of results from this operation. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.", + "ProductDescription": "The product description filter value. Use this parameter to show only those reservations matching the specified product description.", + "CacheNodeType": "The cache node type filter value. Use this parameter to show only those reservations matching the specified cache node type. The following node types are supported by ElastiCache. Generally speaking, the current generation types provide more memory and computational power at lower cost when compared to their equivalent previous generation counterparts. General purpose: Current generation: M5 node types: cache.m5.large, cache.m5.xlarge, cache.m5.2xlarge, cache.m5.4xlarge, cache.m5.12xlarge, cache.m5.24xlarge M4 node types: cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge T3 node types: cache.t3.micro, cache.t3.small, cache.t3.medium T2 node types: cache.t2.micro, cache.t2.small, cache.t2.medium Previous generation: (not recommended) T1 node types: cache.t1.micro M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, cache.m1.xlarge M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge Compute optimized: Previous generation: (not recommended) C1 node types: cache.c1.xlarge Memory optimized: Current generation: R5 node types: cache.r5.large, cache.r5.xlarge, cache.r5.2xlarge, cache.r5.4xlarge, cache.r5.12xlarge, cache.r5.24xlarge R4 node types: cache.r4.large, cache.r4.xlarge, cache.r4.2xlarge, cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge Previous generation: (not recommended) M2 node types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge R3 node types: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, cache.r3.8xlarge Additional node type info All current generation instance types are created in Amazon VPC by default. Redis append-only files (AOF) are not supported for T1 or T2 instances. Redis Multi-AZ with automatic failover is not supported on T1 instances. Redis configuration variables appendonly and appendfsync are not supported on Redis version 2.8.22 and later. ", + "ReservedCacheNodeId": "The reserved cache node identifier filter value. Use this parameter to show only the reservation that matches the specified reservation ID.", + "ReservedCacheNodesOfferingId": "The offering identifier filter value. Use this parameter to show only purchased reservations matching the specified offering identifier.", + "Duration": "The duration filter value, specified in years or seconds. Use this parameter to show only reservations for this duration. Valid Values: 1 | 3 | 31536000 | 94608000 ", + "OfferingType": "The offering type filter value. Use this parameter to show only the available offerings matching the specified offering type. Valid values: \"Light Utilization\"|\"Medium Utilization\"|\"Heavy Utilization\" " +} +""" +DescribeReservedCacheNodes() = elasticache("DescribeReservedCacheNodes") +DescribeReservedCacheNodes(args) = elasticache("DescribeReservedCacheNodes", args) + +""" + ListTagsForResource() + +Lists all cost allocation tags currently on the named resource. A cost allocation tag is a key-value pair where the key is case-sensitive and the value is optional. You can use cost allocation tags to categorize and track your AWS costs. If the cluster is not in the available state, ListTagsForResource returns an error. You can have a maximum of 50 cost allocation tags on an ElastiCache resource. For more information, see Monitoring Costs with Tags. + +Required Parameters +{ + "ResourceName": "The Amazon Resource Name (ARN) of the resource for which you want the list of tags, for example arn:aws:elasticache:us-west-2:0123456789:cluster:myCluster or arn:aws:elasticache:us-west-2:0123456789:snapshot:mySnapshot. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces." +} +""" +ListTagsForResource(args) = elasticache("ListTagsForResource", args) + +""" + CreateCacheCluster() + +Creates a cluster. All nodes in the cluster run the same protocol-compliant cache engine software, either Memcached or Redis. This operation is not supported for Redis (cluster mode enabled) clusters. + +Required Parameters +{ + "CacheClusterId": "The node group (shard) identifier. This parameter is stored as a lowercase string. Constraints: A name must contain from 1 to 50 alphanumeric characters or hyphens. The first character must be a letter. A name cannot end with a hyphen or contain two consecutive hyphens. " +} + +Optional Parameters +{ + "PreferredMaintenanceWindow": "Specifies the weekly time range during which maintenance on the cluster is performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance window is a 60 minute period. Valid values for ddd are: Specifies the weekly time range during which maintenance on the cluster is performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance window is a 60 minute period. Valid values for ddd are: sun mon tue wed thu fri sat Example: sun:23:00-mon:01:30 ", + "AutoMinorVersionUpgrade": "This parameter is currently disabled.", + "PreferredAvailabilityZones": "A list of the Availability Zones in which cache nodes are created. The order of the zones in the list is not important. This option is only supported on Memcached. If you are creating your cluster in an Amazon VPC (recommended) you can only locate nodes in Availability Zones that are associated with the subnets in the selected subnet group. The number of Availability Zones listed must equal the value of NumCacheNodes. If you want all the nodes in the same Availability Zone, use PreferredAvailabilityZone instead, or repeat the Availability Zone multiple times in the list. Default: System chosen Availability Zones.", + "CacheSecurityGroupNames": "A list of security group names to associate with this cluster. Use this parameter only when you are creating a cluster outside of an Amazon Virtual Private Cloud (Amazon VPC).", + "Tags": "A list of cost allocation tags to be added to this resource.", + "NotificationTopicArn": "The Amazon Resource Name (ARN) of the Amazon Simple Notification Service (SNS) topic to which notifications are sent. The Amazon SNS topic owner must be the same as the cluster owner. ", + "CacheParameterGroupName": "The name of the parameter group to associate with this cluster. If this argument is omitted, the default parameter group for the specified engine is used. You cannot use any parameter group which has cluster-enabled='yes' when creating a cluster.", + "AZMode": "Specifies whether the nodes in this Memcached cluster are created in a single Availability Zone or created across multiple Availability Zones in the cluster's region. This parameter is only supported for Memcached clusters. If the AZMode and PreferredAvailabilityZones are not specified, ElastiCache assumes single-az mode.", + "Engine": "The name of the cache engine to be used for this cluster. Valid values for this parameter are: memcached | redis ", + "CacheSubnetGroupName": "The name of the subnet group to be used for the cluster. Use this parameter only when you are creating a cluster in an Amazon Virtual Private Cloud (Amazon VPC). If you're going to launch your cluster in an Amazon VPC, you need to create a subnet group before you start creating a cluster. For more information, see Subnets and Subnet Groups. ", + "SnapshotWindow": "The daily time range (in UTC) during which ElastiCache begins taking a daily snapshot of your node group (shard). Example: 05:00-09:00 If you do not specify this parameter, ElastiCache automatically chooses an appropriate time range. This parameter is only valid if the Engine parameter is redis. ", + "SecurityGroupIds": "One or more VPC security groups associated with the cluster. Use this parameter only when you are creating a cluster in an Amazon Virtual Private Cloud (Amazon VPC).", + "CacheNodeType": "The compute and memory capacity of the nodes in the node group (shard). The following node types are supported by ElastiCache. Generally speaking, the current generation types provide more memory and computational power at lower cost when compared to their equivalent previous generation counterparts. General purpose: Current generation: M5 node types: cache.m5.large, cache.m5.xlarge, cache.m5.2xlarge, cache.m5.4xlarge, cache.m5.12xlarge, cache.m5.24xlarge M4 node types: cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge T3 node types: cache.t3.micro, cache.t3.small, cache.t3.medium T2 node types: cache.t2.micro, cache.t2.small, cache.t2.medium Previous generation: (not recommended) T1 node types: cache.t1.micro M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, cache.m1.xlarge M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge Compute optimized: Previous generation: (not recommended) C1 node types: cache.c1.xlarge Memory optimized: Current generation: R5 node types: cache.r5.large, cache.r5.xlarge, cache.r5.2xlarge, cache.r5.4xlarge, cache.r5.12xlarge, cache.r5.24xlarge R4 node types: cache.r4.large, cache.r4.xlarge, cache.r4.2xlarge, cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge Previous generation: (not recommended) M2 node types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge R3 node types: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, cache.r3.8xlarge Additional node type info All current generation instance types are created in Amazon VPC by default. Redis append-only files (AOF) are not supported for T1 or T2 instances. Redis Multi-AZ with automatic failover is not supported on T1 instances. Redis configuration variables appendonly and appendfsync are not supported on Redis version 2.8.22 and later. ", + "EngineVersion": "The version number of the cache engine to be used for this cluster. To view the supported cache engine versions, use the DescribeCacheEngineVersions operation. Important: You can upgrade to a newer engine version (see Selecting a Cache Engine and Version), but you cannot downgrade to an earlier engine version. If you want to use an earlier engine version, you must delete the existing cluster or replication group and create it anew with the earlier engine version. ", + "Port": "The port number on which each of the cache nodes accepts connections.", + "PreferredAvailabilityZone": "The EC2 Availability Zone in which the cluster is created. All nodes belonging to this Memcached cluster are placed in the preferred Availability Zone. If you want to create your nodes across multiple Availability Zones, use PreferredAvailabilityZones. Default: System chosen Availability Zone.", + "SnapshotRetentionLimit": "The number of days for which ElastiCache retains automatic snapshots before deleting them. For example, if you set SnapshotRetentionLimit to 5, a snapshot taken today is retained for 5 days before being deleted. This parameter is only valid if the Engine parameter is redis. Default: 0 (i.e., automatic backups are disabled for this cache cluster).", + "SnapshotName": "The name of a Redis snapshot from which to restore data into the new node group (shard). The snapshot status changes to restoring while the new node group (shard) is being created. This parameter is only valid if the Engine parameter is redis. ", + "SnapshotArns": "A single-element string list containing an Amazon Resource Name (ARN) that uniquely identifies a Redis RDB snapshot file stored in Amazon S3. The snapshot file is used to populate the node group (shard). The Amazon S3 object name in the ARN cannot contain any commas. This parameter is only valid if the Engine parameter is redis. Example of an Amazon S3 ARN: arn:aws:s3:::my_bucket/snapshot1.rdb ", + "NumCacheNodes": "The initial number of cache nodes that the cluster has. For clusters running Redis, this value must be 1. For clusters running Memcached, this value must be between 1 and 20. If you need more than 20 nodes for your Memcached cluster, please fill out the ElastiCache Limit Increase Request form at http://aws.amazon.com/contact-us/elasticache-node-limit-request/.", + "ReplicationGroupId": "The ID of the replication group to which this cluster should belong. If this parameter is specified, the cluster is added to the specified replication group as a read replica; otherwise, the cluster is a standalone primary that is not part of any replication group. If the specified replication group is Multi-AZ enabled and the Availability Zone is not specified, the cluster is created in Availability Zones that provide the best spread of read replicas across Availability Zones. This parameter is only valid if the Engine parameter is redis. ", + "AuthToken": " Reserved parameter. The password used to access a password protected server. Password constraints: Must be only printable ASCII characters. Must be at least 16 characters and no more than 128 characters in length. The only permitted printable special characters are !, &, #, , ^, <, >, and -. Other printable special characters cannot be used in the AUTH token. For more information, see AUTH password at http://redis.io/commands/AUTH." +} +""" +CreateCacheCluster(args) = elasticache("CreateCacheCluster", args) + +""" + DescribeCacheParameters() + +Returns the detailed parameter list for a particular cache parameter group. + +Required Parameters +{ + "CacheParameterGroupName": "The name of a specific cache parameter group to return details for." +} + +Optional Parameters +{ + "MaxRecords": "The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a marker is included in the response so that the remaining results can be retrieved. Default: 100 Constraints: minimum 20; maximum 100.", + "Marker": "An optional marker returned from a prior request. Use this marker for pagination of results from this operation. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.", + "Source": "The parameter types to return. Valid values: user | system | engine-default " +} +""" +DescribeCacheParameters(args) = elasticache("DescribeCacheParameters", args) + +""" + AddTagsToResource() + +Adds up to 50 cost allocation tags to the named resource. A cost allocation tag is a key-value pair where the key and value are case-sensitive. You can use cost allocation tags to categorize and track your AWS costs. When you apply tags to your ElastiCache resources, AWS generates a cost allocation report as a comma-separated value (CSV) file with your usage and costs aggregated by your tags. You can apply tags that represent business categories (such as cost centers, application names, or owners) to organize your costs across multiple services. For more information, see Using Cost Allocation Tags in Amazon ElastiCache in the ElastiCache User Guide. + +Required Parameters +{ + "Tags": "A list of cost allocation tags to be added to this resource. A tag is a key-value pair. A tag key must be accompanied by a tag value.", + "ResourceName": "The Amazon Resource Name (ARN) of the resource to which the tags are to be added, for example arn:aws:elasticache:us-west-2:0123456789:cluster:myCluster or arn:aws:elasticache:us-west-2:0123456789:snapshot:mySnapshot. ElastiCache resources are cluster and snapshot. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces." +} +""" +AddTagsToResource(args) = elasticache("AddTagsToResource", args) + +""" + RemoveTagsFromResource() + +Removes the tags identified by the TagKeys list from the named resource. + +Required Parameters +{ + "ResourceName": "The Amazon Resource Name (ARN) of the resource from which you want the tags removed, for example arn:aws:elasticache:us-west-2:0123456789:cluster:myCluster or arn:aws:elasticache:us-west-2:0123456789:snapshot:mySnapshot. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces.", + "TagKeys": "A list of TagKeys identifying the tags you want removed from the named resource." +} +""" +RemoveTagsFromResource(args) = elasticache("RemoveTagsFromResource", args) + +""" + PurchaseReservedCacheNodesOffering() + +Allows you to purchase a reserved cache node offering. + +Required Parameters +{ + "ReservedCacheNodesOfferingId": "The ID of the reserved cache node offering to purchase. Example: 438012d3-4052-4cc7-b2e3-8d3372e0e706 " +} + +Optional Parameters +{ + "CacheNodeCount": "The number of cache node instances to reserve. Default: 1 ", + "ReservedCacheNodeId": "A customer-specified identifier to track this reservation. The Reserved Cache Node ID is an unique customer-specified identifier to track this reservation. If this parameter is not specified, ElastiCache automatically generates an identifier for the reservation. Example: myreservationID" +} +""" +PurchaseReservedCacheNodesOffering(args) = elasticache("PurchaseReservedCacheNodesOffering", args) + +""" + BatchStopUpdateAction() + +Stop the service update. For more information on service updates and stopping them, see Stopping Service Updates. + +Required Parameters +{ + "ServiceUpdateName": "The unique ID of the service update" +} + +Optional Parameters +{ + "CacheClusterIds": "The cache cluster IDs", + "ReplicationGroupIds": "The replication group IDs" +} +""" +BatchStopUpdateAction(args) = elasticache("BatchStopUpdateAction", args) + +""" + ModifyReplicationGroupShardConfiguration() + +Modifies a replication group's shards (node groups) by allowing you to add shards, remove shards, or rebalance the keyspaces among exisiting shards. + +Required Parameters +{ + "NodeGroupCount": "The number of node groups (shards) that results from the modification of the shard configuration.", + "ApplyImmediately": "Indicates that the shard reconfiguration process begins immediately. At present, the only permitted value for this parameter is true. Value: true", + "ReplicationGroupId": "The name of the Redis (cluster mode enabled) cluster (replication group) on which the shards are to be configured." +} + +Optional Parameters +{ + "ReshardingConfiguration": "Specifies the preferred availability zones for each node group in the cluster. If the value of NodeGroupCount is greater than the current number of node groups (shards), you can use this parameter to specify the preferred availability zones of the cluster's shards. If you omit this parameter ElastiCache selects availability zones for you. You can specify this parameter only if the value of NodeGroupCount is greater than the current number of node groups (shards).", + "NodeGroupsToRemove": "If the value of NodeGroupCount is less than the current number of node groups (shards), then either NodeGroupsToRemove or NodeGroupsToRetain is required. NodeGroupsToRemove is a list of NodeGroupIds to remove from the cluster. ElastiCache for Redis will attempt to remove all node groups listed by NodeGroupsToRemove from the cluster.", + "NodeGroupsToRetain": "If the value of NodeGroupCount is less than the current number of node groups (shards), then either NodeGroupsToRemove or NodeGroupsToRetain is required. NodeGroupsToRetain is a list of NodeGroupIds to retain in the cluster. ElastiCache for Redis will attempt to remove all node groups except those listed by NodeGroupsToRetain from the cluster." +} +""" +ModifyReplicationGroupShardConfiguration(args) = elasticache("ModifyReplicationGroupShardConfiguration", args) + +""" + DeleteSnapshot() + +Deletes an existing snapshot. When you receive a successful response from this operation, ElastiCache immediately begins deleting the snapshot; you cannot cancel or revert this operation. This operation is valid for Redis only. + +Required Parameters +{ + "SnapshotName": "The name of the snapshot to be deleted." +} +""" +DeleteSnapshot(args) = elasticache("DeleteSnapshot", args) + +""" + DescribeReservedCacheNodesOfferings() + +Lists available reserved cache node offerings. + +Optional Parameters +{ + "MaxRecords": "The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a marker is included in the response so that the remaining results can be retrieved. Default: 100 Constraints: minimum 20; maximum 100.", + "Marker": "An optional marker returned from a prior request. Use this marker for pagination of results from this operation. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.", + "ProductDescription": "The product description filter value. Use this parameter to show only the available offerings matching the specified product description.", + "CacheNodeType": "The cache node type filter value. Use this parameter to show only the available offerings matching the specified cache node type. The following node types are supported by ElastiCache. Generally speaking, the current generation types provide more memory and computational power at lower cost when compared to their equivalent previous generation counterparts. General purpose: Current generation: M5 node types: cache.m5.large, cache.m5.xlarge, cache.m5.2xlarge, cache.m5.4xlarge, cache.m5.12xlarge, cache.m5.24xlarge M4 node types: cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge T3 node types: cache.t3.micro, cache.t3.small, cache.t3.medium T2 node types: cache.t2.micro, cache.t2.small, cache.t2.medium Previous generation: (not recommended) T1 node types: cache.t1.micro M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, cache.m1.xlarge M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge Compute optimized: Previous generation: (not recommended) C1 node types: cache.c1.xlarge Memory optimized: Current generation: R5 node types: cache.r5.large, cache.r5.xlarge, cache.r5.2xlarge, cache.r5.4xlarge, cache.r5.12xlarge, cache.r5.24xlarge R4 node types: cache.r4.large, cache.r4.xlarge, cache.r4.2xlarge, cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge Previous generation: (not recommended) M2 node types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge R3 node types: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, cache.r3.8xlarge Additional node type info All current generation instance types are created in Amazon VPC by default. Redis append-only files (AOF) are not supported for T1 or T2 instances. Redis Multi-AZ with automatic failover is not supported on T1 instances. Redis configuration variables appendonly and appendfsync are not supported on Redis version 2.8.22 and later. ", + "ReservedCacheNodesOfferingId": "The offering identifier filter value. Use this parameter to show only the available offering that matches the specified reservation identifier. Example: 438012d3-4052-4cc7-b2e3-8d3372e0e706 ", + "Duration": "Duration filter value, specified in years or seconds. Use this parameter to show only reservations for a given duration. Valid Values: 1 | 3 | 31536000 | 94608000 ", + "OfferingType": "The offering type filter value. Use this parameter to show only the available offerings matching the specified offering type. Valid Values: \"Light Utilization\"|\"Medium Utilization\"|\"Heavy Utilization\" " +} +""" +DescribeReservedCacheNodesOfferings() = elasticache("DescribeReservedCacheNodesOfferings") +DescribeReservedCacheNodesOfferings(args) = elasticache("DescribeReservedCacheNodesOfferings", args) + +""" + RebootCacheCluster() + +Reboots some, or all, of the cache nodes within a provisioned cluster. This operation applies any modified cache parameter groups to the cluster. The reboot operation takes place as soon as possible, and results in a momentary outage to the cluster. During the reboot, the cluster status is set to REBOOTING. The reboot causes the contents of the cache (for each cache node being rebooted) to be lost. When the reboot is complete, a cluster event is created. Rebooting a cluster is currently supported on Memcached and Redis (cluster mode disabled) clusters. Rebooting is not supported on Redis (cluster mode enabled) clusters. If you make changes to parameters that require a Redis (cluster mode enabled) cluster reboot for the changes to be applied, see Rebooting a Cluster for an alternate process. + +Required Parameters +{ + "CacheClusterId": "The cluster identifier. This parameter is stored as a lowercase string.", + "CacheNodeIdsToReboot": "A list of cache node IDs to reboot. A node ID is a numeric identifier (0001, 0002, etc.). To reboot an entire cluster, specify all of the cache node IDs." +} +""" +RebootCacheCluster(args) = elasticache("RebootCacheCluster", args) + +""" + AuthorizeCacheSecurityGroupIngress() + +Allows network ingress to a cache security group. Applications using ElastiCache must be running on Amazon EC2, and Amazon EC2 security groups are used as the authorization mechanism. You cannot authorize ingress from an Amazon EC2 security group in one region to an ElastiCache cluster in another region. + +Required Parameters +{ + "EC2SecurityGroupOwnerId": "The AWS account number of the Amazon EC2 security group owner. Note that this is not the same thing as an AWS access key ID - you must provide a valid AWS account number for this parameter.", + "CacheSecurityGroupName": "The cache security group that allows network ingress.", + "EC2SecurityGroupName": "The Amazon EC2 security group to be authorized for ingress to the cache security group." +} +""" +AuthorizeCacheSecurityGroupIngress(args) = elasticache("AuthorizeCacheSecurityGroupIngress", args) + +""" + DecreaseNodeGroupsInGlobalReplicationGroup() + +Decreases the number of node groups in a Global Datastore + +Required Parameters +{ + "GlobalReplicationGroupId": "The name of the Global Datastore", + "NodeGroupCount": "The number of node groups (shards) that results from the modification of the shard configuration", + "ApplyImmediately": "Indicates that the shard reconfiguration process begins immediately. At present, the only permitted value for this parameter is true. " +} + +Optional Parameters +{ + "GlobalNodeGroupsToRetain": "If the value of NodeGroupCount is less than the current number of node groups (shards), then either NodeGroupsToRemove or NodeGroupsToRetain is required. NodeGroupsToRemove is a list of NodeGroupIds to remove from the cluster. ElastiCache for Redis will attempt to remove all node groups listed by NodeGroupsToRemove from the cluster. ", + "GlobalNodeGroupsToRemove": "If the value of NodeGroupCount is less than the current number of node groups (shards), then either NodeGroupsToRemove or NodeGroupsToRetain is required. NodeGroupsToRemove is a list of NodeGroupIds to remove from the cluster. ElastiCache for Redis will attempt to remove all node groups listed by NodeGroupsToRemove from the cluster. " +} +""" +DecreaseNodeGroupsInGlobalReplicationGroup(args) = elasticache("DecreaseNodeGroupsInGlobalReplicationGroup", args) + +""" + DescribeEvents() + +Returns events related to clusters, cache security groups, and cache parameter groups. You can obtain events specific to a particular cluster, cache security group, or cache parameter group by providing the name as a parameter. By default, only the events occurring within the last hour are returned; however, you can retrieve up to 14 days' worth of events if necessary. + +Optional Parameters +{ + "StartTime": "The beginning of the time interval to retrieve events for, specified in ISO 8601 format. Example: 2017-03-30T07:03:49.555Z", + "MaxRecords": "The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a marker is included in the response so that the remaining results can be retrieved. Default: 100 Constraints: minimum 20; maximum 100.", + "Marker": "An optional marker returned from a prior request. Use this marker for pagination of results from this operation. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.", + "SourceIdentifier": "The identifier of the event source for which events are returned. If not specified, all sources are included in the response.", + "EndTime": "The end of the time interval for which to retrieve events, specified in ISO 8601 format. Example: 2017-03-30T07:03:49.555Z", + "SourceType": "The event source to retrieve events for. If no value is specified, all events are returned.", + "Duration": "The number of minutes worth of events to retrieve." +} +""" +DescribeEvents() = elasticache("DescribeEvents") +DescribeEvents(args) = elasticache("DescribeEvents", args) + +""" + DescribeEngineDefaultParameters() + +Returns the default engine and system parameter information for the specified cache engine. + +Required Parameters +{ + "CacheParameterGroupFamily": "The name of the cache parameter group family. Valid values are: memcached1.4 | memcached1.5 | redis2.6 | redis2.8 | redis3.2 | redis4.0 | redis5.0 | " +} + +Optional Parameters +{ + "MaxRecords": "The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a marker is included in the response so that the remaining results can be retrieved. Default: 100 Constraints: minimum 20; maximum 100.", + "Marker": "An optional marker returned from a prior request. Use this marker for pagination of results from this operation. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords." +} +""" +DescribeEngineDefaultParameters(args) = elasticache("DescribeEngineDefaultParameters", args) + +""" + CompleteMigration() + +Complete the migration of data. + +Required Parameters +{ + "ReplicationGroupId": "The ID of the replication group to which data is being migrated." +} + +Optional Parameters +{ + "Force": "Forces the migration to stop without ensuring that data is in sync. It is recommended to use this option only to abort the migration and not recommended when application wants to continue migration to ElastiCache." +} +""" +CompleteMigration(args) = elasticache("CompleteMigration", args) + +""" + CreateSnapshot() + +Creates a copy of an entire cluster or replication group at a specific moment in time. This operation is valid for Redis only. + +Required Parameters +{ + "SnapshotName": "A name for the snapshot being created." +} + +Optional Parameters +{ + "CacheClusterId": "The identifier of an existing cluster. The snapshot is created from this cluster.", + "ReplicationGroupId": "The identifier of an existing replication group. The snapshot is created from this replication group.", + "KmsKeyId": "The ID of the KMS key used to encrypt the snapshot." +} +""" +CreateSnapshot(args) = elasticache("CreateSnapshot", args) + +""" + CopySnapshot() + +Makes a copy of an existing snapshot. This operation is valid for Redis only. Users or groups that have permissions to use the CopySnapshot operation can create their own Amazon S3 buckets and copy snapshots to it. To control access to your snapshots, use an IAM policy to control who has the ability to use the CopySnapshot operation. For more information about using IAM to control the use of ElastiCache operations, see Exporting Snapshots and Authentication & Access Control. You could receive the following error messages. Error Messages Error Message: The S3 bucket %s is outside of the region. Solution: Create an Amazon S3 bucket in the same region as your snapshot. For more information, see Step 1: Create an Amazon S3 Bucket in the ElastiCache User Guide. Error Message: The S3 bucket %s does not exist. Solution: Create an Amazon S3 bucket in the same region as your snapshot. For more information, see Step 1: Create an Amazon S3 Bucket in the ElastiCache User Guide. Error Message: The S3 bucket %s is not owned by the authenticated user. Solution: Create an Amazon S3 bucket in the same region as your snapshot. For more information, see Step 1: Create an Amazon S3 Bucket in the ElastiCache User Guide. Error Message: The authenticated user does not have sufficient permissions to perform the desired activity. Solution: Contact your system administrator to get the needed permissions. Error Message: The S3 bucket %s already contains an object with key %s. Solution: Give the TargetSnapshotName a new and unique value. If exporting a snapshot, you could alternatively create a new Amazon S3 bucket and use this same value for TargetSnapshotName. Error Message: ElastiCache has not been granted READ permissions %s on the S3 Bucket. Solution: Add List and Read permissions on the bucket. For more information, see Step 2: Grant ElastiCache Access to Your Amazon S3 Bucket in the ElastiCache User Guide. Error Message: ElastiCache has not been granted WRITE permissions %s on the S3 Bucket. Solution: Add Upload/Delete permissions on the bucket. For more information, see Step 2: Grant ElastiCache Access to Your Amazon S3 Bucket in the ElastiCache User Guide. Error Message: ElastiCache has not been granted READ_ACP permissions %s on the S3 Bucket. Solution: Add View Permissions on the bucket. For more information, see Step 2: Grant ElastiCache Access to Your Amazon S3 Bucket in the ElastiCache User Guide. + +Required Parameters +{ + "TargetSnapshotName": "A name for the snapshot copy. ElastiCache does not permit overwriting a snapshot, therefore this name must be unique within its context - ElastiCache or an Amazon S3 bucket if exporting.", + "SourceSnapshotName": "The name of an existing snapshot from which to make a copy." +} + +Optional Parameters +{ + "TargetBucket": "The Amazon S3 bucket to which the snapshot is exported. This parameter is used only when exporting a snapshot for external access. When using this parameter to export a snapshot, be sure Amazon ElastiCache has the needed permissions to this S3 bucket. For more information, see Step 2: Grant ElastiCache Access to Your Amazon S3 Bucket in the Amazon ElastiCache User Guide. For more information, see Exporting a Snapshot in the Amazon ElastiCache User Guide.", + "KmsKeyId": "The ID of the KMS key used to encrypt the target snapshot." +} +""" +CopySnapshot(args) = elasticache("CopySnapshot", args) + +""" + DescribeUpdateActions() + +Returns details of the update actions + +Optional Parameters +{ + "ServiceUpdateName": "The unique ID of the service update", + "MaxRecords": "The maximum number of records to include in the response", + "Marker": "An optional marker returned from a prior request. Use this marker for pagination of results from this operation. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.", + "ServiceUpdateTimeRange": "The range of time specified to search for service updates that are in available status", + "ShowNodeLevelUpdateStatus": "Dictates whether to include node level update status in the response ", + "UpdateActionStatus": "The status of the update action.", + "Engine": "The Elasticache engine to which the update applies. Either Redis or Memcached ", + "CacheClusterIds": "The cache cluster IDs", + "ReplicationGroupIds": "The replication group IDs", + "ServiceUpdateStatus": "The status of the service update" +} +""" +DescribeUpdateActions() = elasticache("DescribeUpdateActions") +DescribeUpdateActions(args) = elasticache("DescribeUpdateActions", args) + +""" + IncreaseReplicaCount() + +Dynamically increases the number of replics in a Redis (cluster mode disabled) replication group or the number of replica nodes in one or more node groups (shards) of a Redis (cluster mode enabled) replication group. This operation is performed with no cluster down time. + +Required Parameters +{ + "ApplyImmediately": "If True, the number of replica nodes is increased immediately. ApplyImmediately=False is not currently supported.", + "ReplicationGroupId": "The id of the replication group to which you want to add replica nodes." +} + +Optional Parameters +{ + "NewReplicaCount": "The number of read replica nodes you want at the completion of this operation. For Redis (cluster mode disabled) replication groups, this is the number of replica nodes in the replication group. For Redis (cluster mode enabled) replication groups, this is the number of replica nodes in each of the replication group's node groups.", + "ReplicaConfiguration": "A list of ConfigureShard objects that can be used to configure each shard in a Redis (cluster mode enabled) replication group. The ConfigureShard has three members: NewReplicaCount, NodeGroupId, and PreferredAvailabilityZones." +} +""" +IncreaseReplicaCount(args) = elasticache("IncreaseReplicaCount", args) + +""" + DescribeCacheClusters() + +Returns information about all provisioned clusters if no cluster identifier is specified, or about a specific cache cluster if a cluster identifier is supplied. By default, abbreviated information about the clusters is returned. You can use the optional ShowCacheNodeInfo flag to retrieve detailed information about the cache nodes associated with the clusters. These details include the DNS address and port for the cache node endpoint. If the cluster is in the creating state, only cluster-level information is displayed until all of the nodes are successfully provisioned. If the cluster is in the deleting state, only cluster-level information is displayed. If cache nodes are currently being added to the cluster, node endpoint information and creation time for the additional nodes are not displayed until they are completely provisioned. When the cluster state is available, the cluster is ready for use. If cache nodes are currently being removed from the cluster, no endpoint information for the removed nodes is displayed. + +Optional Parameters +{ + "ShowCacheNodeInfo": "An optional flag that can be included in the DescribeCacheCluster request to retrieve information about the individual cache nodes.", + "MaxRecords": "The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a marker is included in the response so that the remaining results can be retrieved. Default: 100 Constraints: minimum 20; maximum 100.", + "Marker": "An optional marker returned from a prior request. Use this marker for pagination of results from this operation. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.", + "ShowCacheClustersNotInReplicationGroups": "An optional flag that can be included in the DescribeCacheCluster request to show only nodes (API/CLI: clusters) that are not members of a replication group. In practice, this mean Memcached and single node Redis clusters.", + "CacheClusterId": "The user-supplied cluster identifier. If this parameter is specified, only information about that specific cluster is returned. This parameter isn't case sensitive." +} +""" +DescribeCacheClusters() = elasticache("DescribeCacheClusters") +DescribeCacheClusters(args) = elasticache("DescribeCacheClusters", args) + +""" + DeleteGlobalReplicationGroup() + +Deleting a Global Datastore is a two-step process: First, you must DisassociateGlobalReplicationGroup to remove the secondary clusters in the Global Datastore. Once the Global Datastore contains only the primary cluster, you can use DeleteGlobalReplicationGroup API to delete the Global Datastore while retainining the primary cluster using Retain…= true. Since the Global Datastore has only a primary cluster, you can delete the Global Datastore while retaining the primary by setting RetainPrimaryCluster=true. When you receive a successful response from this operation, Amazon ElastiCache immediately begins deleting the selected resources; you cannot cancel or revert this operation. This operation is valid for Redis only. + +Required Parameters +{ + "GlobalReplicationGroupId": "The name of the Global Datastore", + "RetainPrimaryReplicationGroup": "If set to true, the primary replication is retained as a standalone replication group. " +} +""" +DeleteGlobalReplicationGroup(args) = elasticache("DeleteGlobalReplicationGroup", args) + +""" + RevokeCacheSecurityGroupIngress() + +Revokes ingress from a cache security group. Use this operation to disallow access from an Amazon EC2 security group that had been previously authorized. + +Required Parameters +{ + "EC2SecurityGroupOwnerId": "The AWS account number of the Amazon EC2 security group owner. Note that this is not the same thing as an AWS access key ID - you must provide a valid AWS account number for this parameter.", + "CacheSecurityGroupName": "The name of the cache security group to revoke ingress from.", + "EC2SecurityGroupName": "The name of the Amazon EC2 security group to revoke access from." +} +""" +RevokeCacheSecurityGroupIngress(args) = elasticache("RevokeCacheSecurityGroupIngress", args) + +""" + ListAllowedNodeTypeModifications() + +Lists all available node types that you can scale your Redis cluster's or replication group's current node type. When you use the ModifyCacheCluster or ModifyReplicationGroup operations to scale your cluster or replication group, the value of the CacheNodeType parameter must be one of the node types returned by this operation. + +Optional Parameters +{ + "CacheClusterId": "The name of the cluster you want to scale up to a larger node instanced type. ElastiCache uses the cluster id to identify the current node type of this cluster and from that to create a list of node types you can scale up to. You must provide a value for either the CacheClusterId or the ReplicationGroupId. ", + "ReplicationGroupId": "The name of the replication group want to scale up to a larger node type. ElastiCache uses the replication group id to identify the current node type being used by this replication group, and from that to create a list of node types you can scale up to. You must provide a value for either the CacheClusterId or the ReplicationGroupId. " +} +""" +ListAllowedNodeTypeModifications() = elasticache("ListAllowedNodeTypeModifications") +ListAllowedNodeTypeModifications(args) = elasticache("ListAllowedNodeTypeModifications", args) + +""" + TestFailover() + +Represents the input of a TestFailover operation which test automatic failover on a specified node group (called shard in the console) in a replication group (called cluster in the console). Note the following A customer can use this operation to test automatic failover on up to 5 shards (called node groups in the ElastiCache API and AWS CLI) in any rolling 24-hour period. If calling this operation on shards in different clusters (called replication groups in the API and CLI), the calls can be made concurrently. If calling this operation multiple times on different shards in the same Redis (cluster mode enabled) replication group, the first node replacement must complete before a subsequent call can be made. To determine whether the node replacement is complete you can check Events using the Amazon ElastiCache console, the AWS CLI, or the ElastiCache API. Look for the following automatic failover related events, listed here in order of occurrance: Replication group message: Test Failover API called for node group <node-group-id> Cache cluster message: Failover from master node <primary-node-id> to replica node <node-id> completed Replication group message: Failover from master node <primary-node-id> to replica node <node-id> completed Cache cluster message: Recovering cache nodes <node-id> Cache cluster message: Finished recovery for cache nodes <node-id> For more information see: Viewing ElastiCache Events in the ElastiCache User Guide DescribeEvents in the ElastiCache API Reference Also see, Testing Multi-AZ with Automatic Failover in the ElastiCache User Guide. + +Required Parameters +{ + "ReplicationGroupId": "The name of the replication group (console: cluster) whose automatic failover is being tested by this operation.", + "NodeGroupId": "The name of the node group (called shard in the console) in this replication group on which automatic failover is to be tested. You may test automatic failover on up to 5 node groups in any rolling 24-hour period." +} +""" +TestFailover(args) = elasticache("TestFailover", args) diff --git a/src/services/elasticsearch_service.jl b/src/services/elasticsearch_service.jl new file mode 100644 index 0000000000..ca1afc3c4c --- /dev/null +++ b/src/services/elasticsearch_service.jl @@ -0,0 +1,451 @@ +include("../AWSServices.jl") +using .AWSServices: elasticsearch_service + +""" + DescribeElasticsearchInstanceTypeLimits() + + Describe Elasticsearch Limits for a given InstanceType and ElasticsearchVersion. When modifying existing Domain, specify the DomainName to know what Limits are supported for modifying. + +Required Parameters +{ + "InstanceType": " The instance type for an Elasticsearch cluster for which Elasticsearch Limits are needed. ", + "ElasticsearchVersion": " Version of Elasticsearch for which Limits are needed. " +} + +Optional Parameters +{ + "DomainName": " DomainName represents the name of the Domain that we are trying to modify. This should be present only if we are querying for Elasticsearch Limits for existing domain. " +} +""" +DescribeElasticsearchInstanceTypeLimits(args) = elasticsearch_service("GET", "/2015-01-01/es/instanceTypeLimits/{ElasticsearchVersion}/{InstanceType}", args) + +""" + PurchaseReservedElasticsearchInstanceOffering() + +Allows you to purchase reserved Elasticsearch instances. + +Required Parameters +{ + "ReservationName": "A customer-specified identifier to track this reservation.", + "ReservedElasticsearchInstanceOfferingId": "The ID of the reserved Elasticsearch instance offering to purchase." +} + +Optional Parameters +{ + "InstanceCount": "The number of Elasticsearch instances to reserve." +} +""" +PurchaseReservedElasticsearchInstanceOffering(args) = elasticsearch_service("POST", "/2015-01-01/es/purchaseReservedInstanceOffering", args) + +""" + DescribeElasticsearchDomain() + +Returns domain configuration information about the specified Elasticsearch domain, including the domain ID, domain endpoint, and domain ARN. + +Required Parameters +{ + "DomainName": "The name of the Elasticsearch domain for which you want information." +} +""" +DescribeElasticsearchDomain(args) = elasticsearch_service("GET", "/2015-01-01/es/domain/{DomainName}", args) + +""" + UpgradeElasticsearchDomain() + +Allows you to either upgrade your domain or perform an Upgrade eligibility check to a compatible Elasticsearch version. + +Required Parameters +{ + "DomainName": "", + "TargetVersion": "The version of Elasticsearch that you intend to upgrade the domain to." +} + +Optional Parameters +{ + "PerformCheckOnly": " This flag, when set to True, indicates that an Upgrade Eligibility Check needs to be performed. This will not actually perform the Upgrade. " +} +""" +UpgradeElasticsearchDomain(args) = elasticsearch_service("POST", "/2015-01-01/es/upgradeDomain", args) + +""" + AssociatePackage() + +Associates a package with an Amazon ES domain. + +Required Parameters +{ + "DomainName": "Name of the domain that you want to associate the package with.", + "PackageID": "Internal ID of the package that you want to associate with a domain. Use DescribePackages to find this value." +} +""" +AssociatePackage(args) = elasticsearch_service("POST", "/2015-01-01/packages/associate/{PackageID}/{DomainName}", args) + +""" + ListElasticsearchVersions() + +List all supported Elasticsearch versions + +Optional Parameters +{ + "MaxResults": " Set this value to limit the number of results returned. Value provided must be greater than 10 else it wont be honored. ", + "NextToken": "" +} +""" +ListElasticsearchVersions() = elasticsearch_service("GET", "/2015-01-01/es/versions") +ListElasticsearchVersions(args) = elasticsearch_service("GET", "/2015-01-01/es/versions", args) + +""" + ListPackagesForDomain() + +Lists all packages associated with the Amazon ES domain. + +Required Parameters +{ + "DomainName": "The name of the domain for which you want to list associated packages." +} + +Optional Parameters +{ + "MaxResults": "Limits results to a maximum number of packages.", + "NextToken": "Used for pagination. Only necessary if a previous API call includes a non-null NextToken value. If provided, returns results for the next page." +} +""" +ListPackagesForDomain(args) = elasticsearch_service("GET", "/2015-01-01/domain/{DomainName}/packages", args) + +""" + RemoveTags() + +Removes the specified set of tags from the specified Elasticsearch domain. + +Required Parameters +{ + "ARN": "Specifies the ARN for the Elasticsearch domain from which you want to delete the specified tags.", + "TagKeys": "Specifies the TagKey list which you want to remove from the Elasticsearch domain." +} +""" +RemoveTags(args) = elasticsearch_service("POST", "/2015-01-01/tags-removal", args) + +""" + StartElasticsearchServiceSoftwareUpdate() + +Schedules a service software update for an Amazon ES domain. + +Required Parameters +{ + "DomainName": "The name of the domain that you want to update to the latest service software." +} +""" +StartElasticsearchServiceSoftwareUpdate(args) = elasticsearch_service("POST", "/2015-01-01/es/serviceSoftwareUpdate/start", args) + +""" + DeletePackage() + +Delete the package. + +Required Parameters +{ + "PackageID": "Internal ID of the package that you want to delete. Use DescribePackages to find this value." +} +""" +DeletePackage(args) = elasticsearch_service("DELETE", "/2015-01-01/packages/{PackageID}", args) + +""" + DeleteElasticsearchServiceRole() + +Deletes the service-linked role that Elasticsearch Service uses to manage and maintain VPC domains. Role deletion will fail if any existing VPC domains use the role. You must delete any such Elasticsearch domains before deleting the role. See Deleting Elasticsearch Service Role in VPC Endpoints for Amazon Elasticsearch Service Domains. +""" +DeleteElasticsearchServiceRole() = elasticsearch_service("DELETE", "/2015-01-01/es/role") +DeleteElasticsearchServiceRole(args) = elasticsearch_service("DELETE", "/2015-01-01/es/role", args) + +""" + CreatePackage() + +Create a package for use with Amazon ES domains. + +Required Parameters +{ + "PackageName": "Unique identifier for the package.", + "PackageSource": "The customer S3 location PackageSource for importing the package.", + "PackageType": "Type of package. Currently supports only TXT-DICTIONARY." +} + +Optional Parameters +{ + "PackageDescription": "Description of the package." +} +""" +CreatePackage(args) = elasticsearch_service("POST", "/2015-01-01/packages", args) + +""" + GetUpgradeStatus() + +Retrieves the latest status of the last upgrade or upgrade eligibility check that was performed on the domain. + +Required Parameters +{ + "DomainName": "" +} +""" +GetUpgradeStatus(args) = elasticsearch_service("GET", "/2015-01-01/es/upgradeDomain/{DomainName}/status", args) + +""" + CreateElasticsearchDomain() + +Creates a new Elasticsearch domain. For more information, see Creating Elasticsearch Domains in the Amazon Elasticsearch Service Developer Guide. + +Required Parameters +{ + "DomainName": "The name of the Elasticsearch domain that you are creating. Domain names are unique across the domains owned by an account within an AWS region. Domain names must start with a lowercase letter and can contain the following characters: a-z (lowercase), 0-9, and - (hyphen)." +} + +Optional Parameters +{ + "AdvancedOptions": " Option to allow references to indices in an HTTP request body. Must be false when configuring access to individual sub-resources. By default, the value is true. See Configuration Advanced Options for more information.", + "ElasticsearchVersion": "String of format X.Y to specify version for the Elasticsearch domain eg. \"1.5\" or \"2.3\". For more information, see Creating Elasticsearch Domains in the Amazon Elasticsearch Service Developer Guide.", + "DomainEndpointOptions": "Options to specify configuration that will be applied to the domain endpoint.", + "SnapshotOptions": "Option to set time, in UTC format, of the daily automated snapshot. Default value is 0 hours. ", + "AccessPolicies": " IAM access policy as a JSON-formatted string.", + "EncryptionAtRestOptions": "Specifies the Encryption At Rest Options.", + "EBSOptions": "Options to enable, disable and specify the type and size of EBS storage volumes. ", + "AdvancedSecurityOptions": "Specifies advanced security options.", + "ElasticsearchClusterConfig": "Configuration options for an Elasticsearch domain. Specifies the instance type and number of instances in the domain cluster. ", + "VPCOptions": "Options to specify the subnets and security groups for VPC endpoint. For more information, see Creating a VPC in VPC Endpoints for Amazon Elasticsearch Service Domains", + "NodeToNodeEncryptionOptions": "Specifies the NodeToNodeEncryptionOptions.", + "CognitoOptions": "Options to specify the Cognito user and identity pools for Kibana authentication. For more information, see Amazon Cognito Authentication for Kibana.", + "LogPublishingOptions": "Map of LogType and LogPublishingOption, each containing options to publish a given type of Elasticsearch log." +} +""" +CreateElasticsearchDomain(args) = elasticsearch_service("POST", "/2015-01-01/es/domain", args) + +""" + DescribePackages() + +Describes all packages available to Amazon ES. Includes options for filtering, limiting the number of results, and pagination. + +Optional Parameters +{ + "MaxResults": "Limits results to a maximum number of packages.", + "NextToken": "Used for pagination. Only necessary if a previous API call includes a non-null NextToken value. If provided, returns results for the next page.", + "Filters": "Only returns packages that match the DescribePackagesFilterList values." +} +""" +DescribePackages() = elasticsearch_service("POST", "/2015-01-01/packages/describe") +DescribePackages(args) = elasticsearch_service("POST", "/2015-01-01/packages/describe", args) + +""" + DescribeReservedElasticsearchInstances() + +Returns information about reserved Elasticsearch instances for this account. + +Optional Parameters +{ + "ReservedElasticsearchInstanceId": "The reserved instance identifier filter value. Use this parameter to show only the reservation that matches the specified reserved Elasticsearch instance ID.", + "MaxResults": "Set this value to limit the number of results returned. If not specified, defaults to 100.", + "NextToken": "NextToken should be sent in case if earlier API call produced result containing NextToken. It is used for pagination." +} +""" +DescribeReservedElasticsearchInstances() = elasticsearch_service("GET", "/2015-01-01/es/reservedInstances") +DescribeReservedElasticsearchInstances(args) = elasticsearch_service("GET", "/2015-01-01/es/reservedInstances", args) + +""" + ListDomainsForPackage() + +Lists all Amazon ES domains associated with the package. + +Required Parameters +{ + "PackageID": "The package for which to list domains." +} + +Optional Parameters +{ + "MaxResults": "Limits results to a maximum number of domains.", + "NextToken": "Used for pagination. Only necessary if a previous API call includes a non-null NextToken value. If provided, returns results for the next page." +} +""" +ListDomainsForPackage(args) = elasticsearch_service("GET", "/2015-01-01/packages/{PackageID}/domains", args) + +""" + ListDomainNames() + +Returns the name of all Elasticsearch domains owned by the current user's account. +""" +ListDomainNames() = elasticsearch_service("GET", "/2015-01-01/domain") +ListDomainNames(args) = elasticsearch_service("GET", "/2015-01-01/domain", args) + +""" + DescribeElasticsearchDomains() + +Returns domain configuration information about the specified Elasticsearch domains, including the domain ID, domain endpoint, and domain ARN. + +Required Parameters +{ + "DomainNames": "The Elasticsearch domains for which you want information." +} +""" +DescribeElasticsearchDomains(args) = elasticsearch_service("POST", "/2015-01-01/es/domain-info", args) + +""" + ListTags() + +Returns all tags for the given Elasticsearch domain. + +Required Parameters +{ + "ARN": " Specify the ARN for the Elasticsearch domain to which the tags are attached that you want to view." +} +""" +ListTags(args) = elasticsearch_service("GET", "/2015-01-01/tags/", args) + +""" + GetCompatibleElasticsearchVersions() + + Returns a list of upgrade compatible Elastisearch versions. You can optionally pass a DomainName to get all upgrade compatible Elasticsearch versions for that specific domain. + +Optional Parameters +{ + "DomainName": "" +} +""" +GetCompatibleElasticsearchVersions() = elasticsearch_service("GET", "/2015-01-01/es/compatibleVersions") +GetCompatibleElasticsearchVersions(args) = elasticsearch_service("GET", "/2015-01-01/es/compatibleVersions", args) + +""" + DissociatePackage() + +Dissociates a package from the Amazon ES domain. + +Required Parameters +{ + "DomainName": "Name of the domain that you want to associate the package with.", + "PackageID": "Internal ID of the package that you want to associate with a domain. Use DescribePackages to find this value." +} +""" +DissociatePackage(args) = elasticsearch_service("POST", "/2015-01-01/packages/dissociate/{PackageID}/{DomainName}", args) + +""" + AddTags() + +Attaches tags to an existing Elasticsearch domain. Tags are a set of case-sensitive key value pairs. An Elasticsearch domain may have up to 10 tags. See Tagging Amazon Elasticsearch Service Domains for more information. + +Required Parameters +{ + "TagList": " List of Tag that need to be added for the Elasticsearch domain. ", + "ARN": " Specify the ARN for which you want to add the tags." +} +""" +AddTags(args) = elasticsearch_service("POST", "/2015-01-01/tags", args) + +""" + DescribeElasticsearchDomainConfig() + +Provides cluster configuration information about the specified Elasticsearch domain, such as the state, creation date, update version, and update date for cluster options. + +Required Parameters +{ + "DomainName": "The Elasticsearch domain that you want to get information about." +} +""" +DescribeElasticsearchDomainConfig(args) = elasticsearch_service("GET", "/2015-01-01/es/domain/{DomainName}/config", args) + +""" + CancelElasticsearchServiceSoftwareUpdate() + +Cancels a scheduled service software update for an Amazon ES domain. You can only perform this operation before the AutomatedUpdateDate and when the UpdateStatus is in the PENDING_UPDATE state. + +Required Parameters +{ + "DomainName": "The name of the domain that you want to stop the latest service software update on." +} +""" +CancelElasticsearchServiceSoftwareUpdate(args) = elasticsearch_service("POST", "/2015-01-01/es/serviceSoftwareUpdate/cancel", args) + +""" + GetUpgradeHistory() + +Retrieves the complete history of the last 10 upgrades that were performed on the domain. + +Required Parameters +{ + "DomainName": "" +} + +Optional Parameters +{ + "MaxResults": "", + "NextToken": "" +} +""" +GetUpgradeHistory(args) = elasticsearch_service("GET", "/2015-01-01/es/upgradeDomain/{DomainName}/history", args) + +""" + DeleteElasticsearchDomain() + +Permanently deletes the specified Elasticsearch domain and all of its data. Once a domain is deleted, it cannot be recovered. + +Required Parameters +{ + "DomainName": "The name of the Elasticsearch domain that you want to permanently delete." +} +""" +DeleteElasticsearchDomain(args) = elasticsearch_service("DELETE", "/2015-01-01/es/domain/{DomainName}", args) + +""" + UpdateElasticsearchDomainConfig() + +Modifies the cluster configuration of the specified Elasticsearch domain, setting as setting the instance type and the number of instances. + +Required Parameters +{ + "DomainName": "The name of the Elasticsearch domain that you are updating. " +} + +Optional Parameters +{ + "LogPublishingOptions": "Map of LogType and LogPublishingOption, each containing options to publish a given type of Elasticsearch log.", + "EBSOptions": "Specify the type and size of the EBS volume that you want to use. ", + "AdvancedOptions": "Modifies the advanced option to allow references to indices in an HTTP request body. Must be false when configuring access to individual sub-resources. By default, the value is true. See Configuration Advanced Options for more information.", + "AdvancedSecurityOptions": "Specifies advanced security options.", + "ElasticsearchClusterConfig": "The type and number of instances to instantiate for the domain cluster.", + "DomainEndpointOptions": "Options to specify configuration that will be applied to the domain endpoint.", + "VPCOptions": "Options to specify the subnets and security groups for VPC endpoint. For more information, see Creating a VPC in VPC Endpoints for Amazon Elasticsearch Service Domains", + "SnapshotOptions": "Option to set the time, in UTC format, for the daily automated snapshot. Default value is 0 hours. ", + "AccessPolicies": "IAM access policy as a JSON-formatted string.", + "CognitoOptions": "Options to specify the Cognito user and identity pools for Kibana authentication. For more information, see Amazon Cognito Authentication for Kibana." +} +""" +UpdateElasticsearchDomainConfig(args) = elasticsearch_service("POST", "/2015-01-01/es/domain/{DomainName}/config", args) + +""" + ListElasticsearchInstanceTypes() + +List all Elasticsearch instance types that are supported for given ElasticsearchVersion + +Required Parameters +{ + "ElasticsearchVersion": "Version of Elasticsearch for which list of supported elasticsearch instance types are needed. " +} + +Optional Parameters +{ + "MaxResults": " Set this value to limit the number of results returned. Value provided must be greater than 30 else it wont be honored. ", + "DomainName": "DomainName represents the name of the Domain that we are trying to modify. This should be present only if we are querying for list of available Elasticsearch instance types when modifying existing domain. ", + "NextToken": "NextToken should be sent in case if earlier API call produced result containing NextToken. It is used for pagination. " +} +""" +ListElasticsearchInstanceTypes(args) = elasticsearch_service("GET", "/2015-01-01/es/instanceTypes/{ElasticsearchVersion}", args) + +""" + DescribeReservedElasticsearchInstanceOfferings() + +Lists available reserved Elasticsearch instance offerings. + +Optional Parameters +{ + "MaxResults": "Set this value to limit the number of results returned. If not specified, defaults to 100.", + "NextToken": "NextToken should be sent in case if earlier API call produced result containing NextToken. It is used for pagination.", + "ReservedElasticsearchInstanceOfferingId": "The offering identifier filter value. Use this parameter to show only the available offering that matches the specified reservation identifier." +} +""" +DescribeReservedElasticsearchInstanceOfferings() = elasticsearch_service("GET", "/2015-01-01/es/reservedInstanceOfferings") +DescribeReservedElasticsearchInstanceOfferings(args) = elasticsearch_service("GET", "/2015-01-01/es/reservedInstanceOfferings", args) diff --git a/src/services/emr.jl b/src/services/emr.jl new file mode 100644 index 0000000000..59e3ea0902 --- /dev/null +++ b/src/services/emr.jl @@ -0,0 +1,452 @@ +include("../AWSServices.jl") +using .AWSServices: emr + +""" + CreateSecurityConfiguration() + +Creates a security configuration, which is stored in the service and can be specified when a cluster is created. + +Required Parameters +{ + "SecurityConfiguration": "The security configuration details in JSON format. For JSON parameters and examples, see Use Security Configurations to Set Up Cluster Security in the Amazon EMR Management Guide.", + "Name": "The name of the security configuration." +} +""" +CreateSecurityConfiguration(args) = emr("CreateSecurityConfiguration", args) + +""" + ListSecurityConfigurations() + +Lists all the security configurations visible to this account, providing their creation dates and times, and their names. This call returns a maximum of 50 clusters per call, but returns a marker to track the paging of the cluster list across multiple ListSecurityConfigurations calls. + +Optional Parameters +{ + "Marker": "The pagination token that indicates the set of results to retrieve." +} +""" +ListSecurityConfigurations() = emr("ListSecurityConfigurations") +ListSecurityConfigurations(args) = emr("ListSecurityConfigurations", args) + +""" + DeleteSecurityConfiguration() + +Deletes a security configuration. + +Required Parameters +{ + "Name": "The name of the security configuration." +} +""" +DeleteSecurityConfiguration(args) = emr("DeleteSecurityConfiguration", args) + +""" + AddInstanceFleet() + +Adds an instance fleet to a running cluster. The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x. + +Required Parameters +{ + "InstanceFleet": "Specifies the configuration of the instance fleet.", + "ClusterId": "The unique identifier of the cluster." +} +""" +AddInstanceFleet(args) = emr("AddInstanceFleet", args) + +""" + DescribeStep() + +Provides more detail about the cluster step. + +Required Parameters +{ + "ClusterId": "The identifier of the cluster with steps to describe.", + "StepId": "The identifier of the step to describe." +} +""" +DescribeStep(args) = emr("DescribeStep", args) + +""" + SetVisibleToAllUsers() + +Sets the Cluster VisibleToAllUsers value, which determines whether the cluster is visible to all IAM users of the AWS account associated with the cluster. Only the IAM user who created the cluster or the AWS account root user can call this action. The default value, true, indicates that all IAM users in the AWS account can perform cluster actions if they have the proper IAM policy permissions. If set to false, only the IAM user that created the cluster can perform actions. This action works on running clusters. You can override the default true setting when you create a cluster by using the VisibleToAllUsers parameter with RunJobFlow. + +Required Parameters +{ + "VisibleToAllUsers": "A value of true indicates that all IAM users in the AWS account can perform cluster actions if they have the proper IAM policy permissions. This is the default. A value of false indicates that only the IAM user who created the cluster can perform actions.", + "JobFlowIds": "The unique identifier of the job flow (cluster)." +} +""" +SetVisibleToAllUsers(args) = emr("SetVisibleToAllUsers", args) + +""" + PutBlockPublicAccessConfiguration() + +Creates or updates an Amazon EMR block public access configuration for your AWS account in the current Region. For more information see Configure Block Public Access for Amazon EMR in the Amazon EMR Management Guide. + +Required Parameters +{ + "BlockPublicAccessConfiguration": "A configuration for Amazon EMR block public access. The configuration applies to all clusters created in your account for the current Region. The configuration specifies whether block public access is enabled. If block public access is enabled, security groups associated with the cluster cannot have rules that allow inbound traffic from 0.0.0.0/0 or ::/0 on a port, unless the port is specified as an exception using PermittedPublicSecurityGroupRuleRanges in the BlockPublicAccessConfiguration. By default, Port 22 (SSH) is an exception, and public access is allowed on this port. You can change this by updating BlockPublicSecurityGroupRules to remove the exception." +} +""" +PutBlockPublicAccessConfiguration(args) = emr("PutBlockPublicAccessConfiguration", args) + +""" + DescribeJobFlows() + +This API is deprecated and will eventually be removed. We recommend you use ListClusters, DescribeCluster, ListSteps, ListInstanceGroups and ListBootstrapActions instead. DescribeJobFlows returns a list of job flows that match all of the supplied parameters. The parameters can include a list of job flow IDs, job flow states, and restrictions on job flow creation date and time. Regardless of supplied parameters, only job flows created within the last two months are returned. If no parameters are supplied, then job flows matching either of the following criteria are returned: Job flows created and completed in the last two weeks Job flows created within the last two months that are in one of the following states: RUNNING, WAITING, SHUTTING_DOWN, STARTING Amazon EMR can return a maximum of 512 job flow descriptions. + +Optional Parameters +{ + "JobFlowStates": "Return only job flows whose state is contained in this list.", + "CreatedAfter": "Return only job flows created after this date and time.", + "JobFlowIds": "Return only job flows whose job flow ID is contained in this list.", + "CreatedBefore": "Return only job flows created before this date and time." +} +""" +DescribeJobFlows() = emr("DescribeJobFlows") +DescribeJobFlows(args) = emr("DescribeJobFlows", args) + +""" + ModifyCluster() + +Modifies the number of steps that can be executed concurrently for the cluster specified using ClusterID. + +Required Parameters +{ + "ClusterId": "The unique identifier of the cluster." +} + +Optional Parameters +{ + "StepConcurrencyLevel": "The number of steps that can be executed concurrently. You can specify a maximum of 256 steps. " +} +""" +ModifyCluster(args) = emr("ModifyCluster", args) + +""" + ModifyInstanceGroups() + +ModifyInstanceGroups modifies the number of nodes and configuration settings of an instance group. The input parameters include the new target instance count for the group and the instance group ID. The call will either succeed or fail atomically. + +Optional Parameters +{ + "InstanceGroups": "Instance groups to change.", + "ClusterId": "The ID of the cluster to which the instance group belongs." +} +""" +ModifyInstanceGroups() = emr("ModifyInstanceGroups") +ModifyInstanceGroups(args) = emr("ModifyInstanceGroups", args) + +""" + RemoveAutoScalingPolicy() + +Removes an automatic scaling policy from a specified instance group within an EMR cluster. + +Required Parameters +{ + "ClusterId": "Specifies the ID of a cluster. The instance group to which the automatic scaling policy is applied is within this cluster.", + "InstanceGroupId": "Specifies the ID of the instance group to which the scaling policy is applied." +} +""" +RemoveAutoScalingPolicy(args) = emr("RemoveAutoScalingPolicy", args) + +""" + ListInstanceGroups() + +Provides all available details about the instance groups in a cluster. + +Required Parameters +{ + "ClusterId": "The identifier of the cluster for which to list the instance groups." +} + +Optional Parameters +{ + "Marker": "The pagination token that indicates the next set of results to retrieve." +} +""" +ListInstanceGroups(args) = emr("ListInstanceGroups", args) + +""" + AddInstanceGroups() + +Adds one or more instance groups to a running cluster. + +Required Parameters +{ + "InstanceGroups": "Instance groups to add.", + "JobFlowId": "Job flow in which to add the instance groups." +} +""" +AddInstanceGroups(args) = emr("AddInstanceGroups", args) + +""" + RemoveTags() + +Removes tags from an Amazon EMR resource. Tags make it easier to associate clusters in various ways, such as grouping clusters to track your Amazon EMR resource allocation costs. For more information, see Tag Clusters. The following example removes the stack tag with value Prod from a cluster: + +Required Parameters +{ + "ResourceId": "The Amazon EMR resource identifier from which tags will be removed. This value must be a cluster identifier.", + "TagKeys": "A list of tag keys to remove from a resource." +} +""" +RemoveTags(args) = emr("RemoveTags", args) + +""" + ListSteps() + +Provides a list of steps for the cluster in reverse order unless you specify stepIds with the request of filter by StepStates. You can specify a maximum of ten stepIDs. + +Required Parameters +{ + "ClusterId": "The identifier of the cluster for which to list the steps." +} + +Optional Parameters +{ + "Marker": "The pagination token that indicates the next set of results to retrieve.", + "StepStates": "The filter to limit the step list based on certain states.", + "StepIds": "The filter to limit the step list based on the identifier of the steps. You can specify a maximum of ten Step IDs. The character constraint applies to the overall length of the array." +} +""" +ListSteps(args) = emr("ListSteps", args) + +""" + GetBlockPublicAccessConfiguration() + +Returns the Amazon EMR block public access configuration for your AWS account in the current Region. For more information see Configure Block Public Access for Amazon EMR in the Amazon EMR Management Guide. +""" +GetBlockPublicAccessConfiguration() = emr("GetBlockPublicAccessConfiguration") +GetBlockPublicAccessConfiguration(args) = emr("GetBlockPublicAccessConfiguration", args) + +""" + RunJobFlow() + +RunJobFlow creates and starts running a new cluster (job flow). The cluster runs the steps specified. After the steps complete, the cluster stops and the HDFS partition is lost. To prevent loss of data, configure the last step of the job flow to store results in Amazon S3. If the JobFlowInstancesConfig KeepJobFlowAliveWhenNoSteps parameter is set to TRUE, the cluster transitions to the WAITING state rather than shutting down after the steps have completed. For additional protection, you can set the JobFlowInstancesConfig TerminationProtected parameter to TRUE to lock the cluster and prevent it from being terminated by API call, user intervention, or in the event of a job flow error. A maximum of 256 steps are allowed in each job flow. If your cluster is long-running (such as a Hive data warehouse) or complex, you may require more than 256 steps to process your data. You can bypass the 256-step limitation in various ways, including using the SSH shell to connect to the master node and submitting queries directly to the software running on the master node, such as Hive and Hadoop. For more information on how to do this, see Add More than 256 Steps to a Cluster in the Amazon EMR Management Guide. For long running clusters, we recommend that you periodically store your results. The instance fleets configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions. The RunJobFlow request can contain InstanceFleets parameters or InstanceGroups parameters, but not both. + +Required Parameters +{ + "Instances": "A specification of the number and type of Amazon EC2 instances.", + "Name": "The name of the job flow." +} + +Optional Parameters +{ + "SecurityConfiguration": "The name of a security configuration to apply to the cluster.", + "NewSupportedProducts": " For Amazon EMR releases 3.x and 2.x. For Amazon EMR releases 4.x and later, use Applications. A list of strings that indicates third-party software to use with the job flow that accepts a user argument list. EMR accepts and forwards the argument list to the corresponding installation script as bootstrap action arguments. For more information, see \"Launch a Job Flow on the MapR Distribution for Hadoop\" in the Amazon EMR Developer Guide. Supported values are: \"mapr-m3\" - launch the cluster using MapR M3 Edition. \"mapr-m5\" - launch the cluster using MapR M5 Edition. \"mapr\" with the user arguments specifying \"--edition,m3\" or \"--edition,m5\" - launch the job flow using MapR M3 or M5 Edition respectively. \"mapr-m7\" - launch the cluster using MapR M7 Edition. \"hunk\" - launch the cluster with the Hunk Big Data Analtics Platform. \"hue\"- launch the cluster with Hue installed. \"spark\" - launch the cluster with Apache Spark installed. \"ganglia\" - launch the cluster with the Ganglia Monitoring System installed. ", + "RepoUpgradeOnBoot": "Applies only when CustomAmiID is used. Specifies which updates from the Amazon Linux AMI package repositories to apply automatically when the instance boots using the AMI. If omitted, the default is SECURITY, which indicates that only security updates are applied. If NONE is specified, no updates are applied, and all updates must be applied manually.", + "VisibleToAllUsers": "A value of true indicates that all IAM users in the AWS account can perform cluster actions if they have the proper IAM policy permissions. This is the default. A value of false indicates that only the IAM user who created the cluster can perform actions.", + "SupportedProducts": " For Amazon EMR releases 3.x and 2.x. For Amazon EMR releases 4.x and later, use Applications. A list of strings that indicates third-party software to use. For more information, see the Amazon EMR Developer Guide. Currently supported values are: \"mapr-m3\" - launch the job flow using MapR M3 Edition. \"mapr-m5\" - launch the job flow using MapR M5 Edition. ", + "Tags": "A list of tags to associate with a cluster and propagate to Amazon EC2 instances.", + "StepConcurrencyLevel": "Specifies the number of steps that can be executed concurrently. The default value is 1. The maximum value is 256.", + "Configurations": "For Amazon EMR releases 4.0 and later. The list of configurations supplied for the EMR cluster you are creating.", + "AutoScalingRole": "An IAM role for automatic scaling policies. The default role is EMR_AutoScaling_DefaultRole. The IAM role provides permissions that the automatic scaling feature requires to launch and terminate EC2 instances in an instance group.", + "ServiceRole": "The IAM role that will be assumed by the Amazon EMR service to access AWS resources on your behalf.", + "AdditionalInfo": "A JSON string for selecting additional features.", + "BootstrapActions": "A list of bootstrap actions to run before Hadoop starts on the cluster nodes.", + "JobFlowRole": "Also called instance profile and EC2 role. An IAM role for an EMR cluster. The EC2 instances of the cluster assume this role. The default role is EMR_EC2_DefaultRole. In order to use the default role, you must have already created it using the CLI or console.", + "ScaleDownBehavior": "Specifies the way that individual Amazon EC2 instances terminate when an automatic scale-in activity occurs or an instance group is resized. TERMINATE_AT_INSTANCE_HOUR indicates that Amazon EMR terminates nodes at the instance-hour boundary, regardless of when the request to terminate the instance was submitted. This option is only available with Amazon EMR 5.1.0 and later and is the default for clusters created using that version. TERMINATE_AT_TASK_COMPLETION indicates that Amazon EMR blacklists and drains tasks from nodes before terminating the Amazon EC2 instances, regardless of the instance-hour boundary. With either behavior, Amazon EMR removes the least active nodes first and blocks instance termination if it could lead to HDFS corruption. TERMINATE_AT_TASK_COMPLETION available only in Amazon EMR version 4.1.0 and later, and is the default for versions of Amazon EMR earlier than 5.1.0.", + "Applications": "Applies to Amazon EMR releases 4.0 and later. A case-insensitive list of applications for Amazon EMR to install and configure when launching the cluster. For a list of applications available for each Amazon EMR release version, see the Amazon EMR Release Guide.", + "KerberosAttributes": "Attributes for Kerberos configuration when Kerberos authentication is enabled using a security configuration. For more information see Use Kerberos Authentication in the EMR Management Guide.", + "CustomAmiId": "Available only in Amazon EMR version 5.7.0 and later. The ID of a custom Amazon EBS-backed Linux AMI. If specified, Amazon EMR uses this AMI when it launches cluster EC2 instances. For more information about custom AMIs in Amazon EMR, see Using a Custom AMI in the Amazon EMR Management Guide. If omitted, the cluster uses the base Linux AMI for the ReleaseLabel specified. For Amazon EMR versions 2.x and 3.x, use AmiVersion instead. For information about creating a custom AMI, see Creating an Amazon EBS-Backed Linux AMI in the Amazon Elastic Compute Cloud User Guide for Linux Instances. For information about finding an AMI ID, see Finding a Linux AMI. ", + "Steps": "A list of steps to run.", + "ReleaseLabel": "The Amazon EMR release label, which determines the version of open-source application packages installed on the cluster. Release labels are in the form emr-x.x.x, where x.x.x is an Amazon EMR release version such as emr-5.14.0. For more information about Amazon EMR release versions and included application versions and features, see https://docs.aws.amazon.com/emr/latest/ReleaseGuide/. The release label applies only to Amazon EMR releases version 4.0 and later. Earlier versions use AmiVersion.", + "LogUri": "The location in Amazon S3 to write the log files of the job flow. If a value is not provided, logs are not created.", + "EbsRootVolumeSize": "The size, in GiB, of the EBS root device volume of the Linux AMI that is used for each EC2 instance. Available in Amazon EMR version 4.x and later.", + "AmiVersion": "Applies only to Amazon EMR AMI versions 3.x and 2.x. For Amazon EMR releases 4.0 and later, ReleaseLabel is used. To specify a custom AMI, use CustomAmiID." +} +""" +RunJobFlow(args) = emr("RunJobFlow", args) + +""" + PutAutoScalingPolicy() + +Creates or updates an automatic scaling policy for a core instance group or task instance group in an Amazon EMR cluster. The automatic scaling policy defines how an instance group dynamically adds and terminates EC2 instances in response to the value of a CloudWatch metric. + +Required Parameters +{ + "ClusterId": "Specifies the ID of a cluster. The instance group to which the automatic scaling policy is applied is within this cluster.", + "InstanceGroupId": "Specifies the ID of the instance group to which the automatic scaling policy is applied.", + "AutoScalingPolicy": "Specifies the definition of the automatic scaling policy." +} +""" +PutAutoScalingPolicy(args) = emr("PutAutoScalingPolicy", args) + +""" + ListInstances() + +Provides information for all active EC2 instances and EC2 instances terminated in the last 30 days, up to a maximum of 2,000. EC2 instances in any of the following states are considered active: AWAITING_FULFILLMENT, PROVISIONING, BOOTSTRAPPING, RUNNING. + +Required Parameters +{ + "ClusterId": "The identifier of the cluster for which to list the instances." +} + +Optional Parameters +{ + "InstanceFleetType": "The node type of the instance fleet. For example MASTER, CORE, or TASK.", + "InstanceStates": "A list of instance states that will filter the instances returned with this request.", + "Marker": "The pagination token that indicates the next set of results to retrieve.", + "InstanceGroupTypes": "The type of instance group for which to list the instances.", + "InstanceGroupId": "The identifier of the instance group for which to list the instances.", + "InstanceFleetId": "The unique identifier of the instance fleet." +} +""" +ListInstances(args) = emr("ListInstances", args) + +""" + CancelSteps() + +Cancels a pending step or steps in a running cluster. Available only in Amazon EMR versions 4.8.0 and later, excluding version 5.0.0. A maximum of 256 steps are allowed in each CancelSteps request. CancelSteps is idempotent but asynchronous; it does not guarantee a step will be canceled, even if the request is successfully submitted. You can only cancel steps that are in a PENDING state. + +Required Parameters +{ + "StepIds": "The list of StepIDs to cancel. Use ListSteps to get steps and their states for the specified cluster.", + "ClusterId": "The ClusterID for which specified steps will be canceled. Use RunJobFlow and ListClusters to get ClusterIDs. " +} + +Optional Parameters +{ + "StepCancellationOption": "The option to choose for cancelling RUNNING steps. By default, the value is SEND_INTERRUPT." +} +""" +CancelSteps(args) = emr("CancelSteps", args) + +""" + SetTerminationProtection() + +SetTerminationProtection locks a cluster (job flow) so the EC2 instances in the cluster cannot be terminated by user intervention, an API call, or in the event of a job-flow error. The cluster still terminates upon successful completion of the job flow. Calling SetTerminationProtection on a cluster is similar to calling the Amazon EC2 DisableAPITermination API on all EC2 instances in a cluster. SetTerminationProtection is used to prevent accidental termination of a cluster and to ensure that in the event of an error, the instances persist so that you can recover any data stored in their ephemeral instance storage. To terminate a cluster that has been locked by setting SetTerminationProtection to true, you must first unlock the job flow by a subsequent call to SetTerminationProtection in which you set the value to false. For more information, seeManaging Cluster Termination in the Amazon EMR Management Guide. + +Required Parameters +{ + "TerminationProtected": "A Boolean that indicates whether to protect the cluster and prevent the Amazon EC2 instances in the cluster from shutting down due to API calls, user intervention, or job-flow error.", + "JobFlowIds": " A list of strings that uniquely identify the clusters to protect. This identifier is returned by RunJobFlow and can also be obtained from DescribeJobFlows . " +} +""" +SetTerminationProtection(args) = emr("SetTerminationProtection", args) + +""" + ListBootstrapActions() + +Provides information about the bootstrap actions associated with a cluster. + +Required Parameters +{ + "ClusterId": "The cluster identifier for the bootstrap actions to list." +} + +Optional Parameters +{ + "Marker": "The pagination token that indicates the next set of results to retrieve." +} +""" +ListBootstrapActions(args) = emr("ListBootstrapActions", args) + +""" + ListInstanceFleets() + +Lists all available details about the instance fleets in a cluster. The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions. + +Required Parameters +{ + "ClusterId": "The unique identifier of the cluster." +} + +Optional Parameters +{ + "Marker": "The pagination token that indicates the next set of results to retrieve." +} +""" +ListInstanceFleets(args) = emr("ListInstanceFleets", args) + +""" + TerminateJobFlows() + +TerminateJobFlows shuts a list of clusters (job flows) down. When a job flow is shut down, any step not yet completed is canceled and the EC2 instances on which the cluster is running are stopped. Any log files not already saved are uploaded to Amazon S3 if a LogUri was specified when the cluster was created. The maximum number of clusters allowed is 10. The call to TerminateJobFlows is asynchronous. Depending on the configuration of the cluster, it may take up to 1-5 minutes for the cluster to completely terminate and release allocated resources, such as Amazon EC2 instances. + +Required Parameters +{ + "JobFlowIds": "A list of job flows to be shutdown." +} +""" +TerminateJobFlows(args) = emr("TerminateJobFlows", args) + +""" + AddJobFlowSteps() + +AddJobFlowSteps adds new steps to a running cluster. A maximum of 256 steps are allowed in each job flow. If your cluster is long-running (such as a Hive data warehouse) or complex, you may require more than 256 steps to process your data. You can bypass the 256-step limitation in various ways, including using SSH to connect to the master node and submitting queries directly to the software running on the master node, such as Hive and Hadoop. For more information on how to do this, see Add More than 256 Steps to a Cluster in the Amazon EMR Management Guide. A step specifies the location of a JAR file stored either on the master node of the cluster or in Amazon S3. Each step is performed by the main function of the main class of the JAR file. The main class can be specified either in the manifest of the JAR or by using the MainFunction parameter of the step. Amazon EMR executes each step in the order listed. For a step to be considered complete, the main function must exit with a zero exit code and all Hadoop jobs started while the step was running must have completed and run successfully. You can only add steps to a cluster that is in one of the following states: STARTING, BOOTSTRAPPING, RUNNING, or WAITING. + +Required Parameters +{ + "Steps": " A list of StepConfig to be executed by the job flow. ", + "JobFlowId": "A string that uniquely identifies the job flow. This identifier is returned by RunJobFlow and can also be obtained from ListClusters. " +} +""" +AddJobFlowSteps(args) = emr("AddJobFlowSteps", args) + +""" + DescribeSecurityConfiguration() + +Provides the details of a security configuration by returning the configuration JSON. + +Required Parameters +{ + "Name": "The name of the security configuration." +} +""" +DescribeSecurityConfiguration(args) = emr("DescribeSecurityConfiguration", args) + +""" + DescribeCluster() + +Provides cluster-level details including status, hardware and software configuration, VPC settings, and so on. + +Required Parameters +{ + "ClusterId": "The identifier of the cluster to describe." +} +""" +DescribeCluster(args) = emr("DescribeCluster", args) + +""" + AddTags() + +Adds tags to an Amazon EMR resource. Tags make it easier to associate clusters in various ways, such as grouping clusters to track your Amazon EMR resource allocation costs. For more information, see Tag Clusters. + +Required Parameters +{ + "Tags": "A list of tags to associate with a cluster and propagate to EC2 instances. Tags are user-defined key/value pairs that consist of a required key string with a maximum of 128 characters, and an optional value string with a maximum of 256 characters.", + "ResourceId": "The Amazon EMR resource identifier to which tags will be added. This value must be a cluster identifier." +} +""" +AddTags(args) = emr("AddTags", args) + +""" + ModifyInstanceFleet() + +Modifies the target On-Demand and target Spot capacities for the instance fleet with the specified InstanceFleetID within the cluster specified using ClusterID. The call either succeeds or fails atomically. The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions. + +Required Parameters +{ + "InstanceFleet": "The unique identifier of the instance fleet.", + "ClusterId": "The unique identifier of the cluster." +} +""" +ModifyInstanceFleet(args) = emr("ModifyInstanceFleet", args) + +""" + ListClusters() + +Provides the status of all clusters visible to this AWS account. Allows you to filter the list of clusters based on certain criteria; for example, filtering by cluster creation date and time or by status. This call returns a maximum of 50 clusters per call, but returns a marker to track the paging of the cluster list across multiple ListClusters calls. + +Optional Parameters +{ + "Marker": "The pagination token that indicates the next set of results to retrieve.", + "ClusterStates": "The cluster state filters to apply when listing clusters.", + "CreatedAfter": "The creation date and time beginning value filter for listing clusters.", + "CreatedBefore": "The creation date and time end value filter for listing clusters." +} +""" +ListClusters() = emr("ListClusters") +ListClusters(args) = emr("ListClusters", args) diff --git a/src/services/eventbridge.jl b/src/services/eventbridge.jl new file mode 100644 index 0000000000..408cf9b5e9 --- /dev/null +++ b/src/services/eventbridge.jl @@ -0,0 +1,480 @@ +include("../AWSServices.jl") +using .AWSServices: eventbridge + +""" + ListTagsForResource() + +Displays the tags associated with an EventBridge resource. In EventBridge, rules and event buses can be tagged. + +Required Parameters +{ + "ResourceARN": "The ARN of the EventBridge resource for which you want to view tags." +} +""" +ListTagsForResource(args) = eventbridge("ListTagsForResource", args) + +""" + RemovePermission() + +Revokes the permission of another AWS account to be able to put events to the specified event bus. Specify the account to revoke by the StatementId value that you associated with the account when you granted it permission with PutPermission. You can find the StatementId by using DescribeEventBus. + +Required Parameters +{ + "StatementId": "The statement ID corresponding to the account that is no longer allowed to put events to the default event bus." +} + +Optional Parameters +{ + "EventBusName": "The name of the event bus to revoke permissions for. If you omit this, the default event bus is used." +} +""" +RemovePermission(args) = eventbridge("RemovePermission", args) + +""" + ListPartnerEventSources() + +An SaaS partner can use this operation to list all the partner event source names that they have created. This operation is not used by AWS customers. + +Required Parameters +{ + "NamePrefix": "If you specify this, the results are limited to only those partner event sources that start with the string you specify." +} + +Optional Parameters +{ + "NextToken": "The token returned by a previous call to this operation. Specifying this retrieves the next set of results.", + "Limit": "pecifying this limits the number of results returned by this operation. The operation also returns a NextToken which you can use in a subsequent operation to retrieve the next set of results." +} +""" +ListPartnerEventSources(args) = eventbridge("ListPartnerEventSources", args) + +""" + DescribeEventSource() + +This operation lists details about a partner event source that is shared with your account. + +Required Parameters +{ + "Name": "The name of the partner event source to display the details of." +} +""" +DescribeEventSource(args) = eventbridge("DescribeEventSource", args) + +""" + ListPartnerEventSourceAccounts() + +An SaaS partner can use this operation to display the AWS account ID that a particular partner event source name is associated with. This operation is not used by AWS customers. + +Required Parameters +{ + "EventSourceName": "The name of the partner event source to display account information about." +} + +Optional Parameters +{ + "NextToken": "The token returned by a previous call to this operation. Specifying this retrieves the next set of results.", + "Limit": "Specifying this limits the number of results returned by this operation. The operation also returns a NextToken which you can use in a subsequent operation to retrieve the next set of results." +} +""" +ListPartnerEventSourceAccounts(args) = eventbridge("ListPartnerEventSourceAccounts", args) + +""" + CreateEventBus() + +Creates a new event bus within your account. This can be a custom event bus which you can use to receive events from your custom applications and services, or it can be a partner event bus which can be matched to a partner event source. + +Required Parameters +{ + "Name": "The name of the new event bus. Event bus names cannot contain the / character. You can't use the name default for a custom event bus, as this name is already used for your account's default event bus. If this is a partner event bus, the name must exactly match the name of the partner event source that this event bus is matched to." +} + +Optional Parameters +{ + "Tags": "Tags to associate with the event bus.", + "EventSourceName": "If you are creating a partner event bus, this specifies the partner event source that the new event bus will be matched with." +} +""" +CreateEventBus(args) = eventbridge("CreateEventBus", args) + +""" + PutPartnerEvents() + +This is used by SaaS partners to write events to a customer's partner event bus. AWS customers do not use this operation. + +Required Parameters +{ + "Entries": "The list of events to write to the event bus." +} +""" +PutPartnerEvents(args) = eventbridge("PutPartnerEvents", args) + +""" + CreatePartnerEventSource() + +Called by an SaaS partner to create a partner event source. This operation is not used by AWS customers. Each partner event source can be used by one AWS account to create a matching partner event bus in that AWS account. A SaaS partner must create one partner event source for each AWS account that wants to receive those event types. A partner event source creates events based on resources within the SaaS partner's service or application. An AWS account that creates a partner event bus that matches the partner event source can use that event bus to receive events from the partner, and then process them using AWS Events rules and targets. Partner event source names follow this format: partner_name/event_namespace/event_name partner_name is determined during partner registration and identifies the partner to AWS customers. event_namespace is determined by the partner and is a way for the partner to categorize their events. event_name is determined by the partner, and should uniquely identify an event-generating resource within the partner system. The combination of event_namespace and event_name should help AWS customers decide whether to create an event bus to receive these events. + +Required Parameters +{ + "Name": "The name of the partner event source. This name must be unique and must be in the format partner_name/event_namespace/event_name . The AWS account that wants to use this partner event source must create a partner event bus with a name that matches the name of the partner event source.", + "Account": "The AWS account ID that is permitted to create a matching partner event bus for this partner event source." +} +""" +CreatePartnerEventSource(args) = eventbridge("CreatePartnerEventSource", args) + +""" + DescribeRule() + +Describes the specified rule. DescribeRule does not list the targets of a rule. To see the targets associated with a rule, use ListTargetsByRule. + +Required Parameters +{ + "Name": "The name of the rule." +} + +Optional Parameters +{ + "EventBusName": "The event bus associated with the rule. If you omit this, the default event bus is used." +} +""" +DescribeRule(args) = eventbridge("DescribeRule", args) + +""" + EnableRule() + +Enables the specified rule. If the rule does not exist, the operation fails. When you enable a rule, incoming events might not immediately start matching to a newly enabled rule. Allow a short period of time for changes to take effect. + +Required Parameters +{ + "Name": "The name of the rule." +} + +Optional Parameters +{ + "EventBusName": "The event bus associated with the rule. If you omit this, the default event bus is used." +} +""" +EnableRule(args) = eventbridge("EnableRule", args) + +""" + DeleteEventBus() + +Deletes the specified custom event bus or partner event bus. All rules associated with this event bus need to be deleted. You can't delete your account's default event bus. + +Required Parameters +{ + "Name": "The name of the event bus to delete." +} +""" +DeleteEventBus(args) = eventbridge("DeleteEventBus", args) + +""" + ListEventBuses() + +Lists all the event buses in your account, including the default event bus, custom event buses, and partner event buses. + +Optional Parameters +{ + "NextToken": "The token returned by a previous call to retrieve the next set of results.", + "Limit": "Specifying this limits the number of results returned by this operation. The operation also returns a NextToken which you can use in a subsequent operation to retrieve the next set of results.", + "NamePrefix": "Specifying this limits the results to only those event buses with names that start with the specified prefix." +} +""" +ListEventBuses() = eventbridge("ListEventBuses") +ListEventBuses(args) = eventbridge("ListEventBuses", args) + +""" + ListRuleNamesByTarget() + +Lists the rules for the specified target. You can see which of the rules in Amazon EventBridge can invoke a specific target in your account. + +Required Parameters +{ + "TargetArn": "The Amazon Resource Name (ARN) of the target resource." +} + +Optional Parameters +{ + "NextToken": "The token returned by a previous call to retrieve the next set of results.", + "EventBusName": "Limits the results to show only the rules associated with the specified event bus.", + "Limit": "The maximum number of results to return." +} +""" +ListRuleNamesByTarget(args) = eventbridge("ListRuleNamesByTarget", args) + +""" + DeletePartnerEventSource() + +This operation is used by SaaS partners to delete a partner event source. This operation is not used by AWS customers. When you delete an event source, the status of the corresponding partner event bus in the AWS customer account becomes DELETED. + +Required Parameters +{ + "Name": "The name of the event source to delete.", + "Account": "The AWS account ID of the AWS customer that the event source was created for." +} +""" +DeletePartnerEventSource(args) = eventbridge("DeletePartnerEventSource", args) + +""" + PutTargets() + +Adds the specified targets to the specified rule, or updates the targets if they are already associated with the rule. Targets are the resources that are invoked when a rule is triggered. You can configure the following as targets for Events: EC2 instances SSM Run Command SSM Automation AWS Lambda functions Data streams in Amazon Kinesis Data Streams Data delivery streams in Amazon Kinesis Data Firehose Amazon ECS tasks AWS Step Functions state machines AWS Batch jobs AWS CodeBuild projects Pipelines in AWS CodePipeline Amazon Inspector assessment templates Amazon SNS topics Amazon SQS queues, including FIFO queues The default event bus of another AWS account Creating rules with built-in targets is supported only in the AWS Management Console. The built-in targets are EC2 CreateSnapshot API call, EC2 RebootInstances API call, EC2 StopInstances API call, and EC2 TerminateInstances API call. For some target types, PutTargets provides target-specific parameters. If the target is a Kinesis data stream, you can optionally specify which shard the event goes to by using the KinesisParameters argument. To invoke a command on multiple EC2 instances with one rule, you can use the RunCommandParameters field. To be able to make API calls against the resources that you own, Amazon CloudWatch Events needs the appropriate permissions. For AWS Lambda and Amazon SNS resources, EventBridge relies on resource-based policies. For EC2 instances, Kinesis data streams, and AWS Step Functions state machines, EventBridge relies on IAM roles that you specify in the RoleARN argument in PutTargets. For more information, see Authentication and Access Control in the Amazon EventBridge User Guide. If another AWS account is in the same region and has granted you permission (using PutPermission), you can send events to that account. Set that account's event bus as a target of the rules in your account. To send the matched events to the other account, specify that account's event bus as the Arn value when you run PutTargets. If your account sends events to another account, your account is charged for each sent event. Each event sent to another account is charged as a custom event. The account receiving the event is not charged. For more information, see Amazon CloudWatch Pricing. Input, InputPath, and InputTransformer are not available with PutTarget if the target is an event bus of a different AWS account. If you are setting the event bus of another account as the target, and that account granted permission to your account through an organization instead of directly by the account ID, then you must specify a RoleArn with proper permissions in the Target structure. For more information, see Sending and Receiving Events Between AWS Accounts in the Amazon EventBridge User Guide. For more information about enabling cross-account events, see PutPermission. Input, InputPath, and InputTransformer are mutually exclusive and optional parameters of a target. When a rule is triggered due to a matched event: If none of the following arguments are specified for a target, then the entire event is passed to the target in JSON format (unless the target is Amazon EC2 Run Command or Amazon ECS task, in which case nothing from the event is passed to the target). If Input is specified in the form of valid JSON, then the matched event is overridden with this constant. If InputPath is specified in the form of JSONPath (for example, .detail), then only the part of the event specified in the path is passed to the target (for example, only the detail part of the event is passed). If InputTransformer is specified, then one or more specified JSONPaths are extracted from the event and used as values in a template that you specify as the input to the target. When you specify InputPath or InputTransformer, you must use JSON dot notation, not bracket notation. When you add targets to a rule and the associated rule triggers soon after, new or updated targets might not be immediately invoked. Allow a short period of time for changes to take effect. This action can partially fail if too many requests are made at the same time. If that happens, FailedEntryCount is non-zero in the response and each entry in FailedEntries provides the ID of the failed target and the error code. + +Required Parameters +{ + "Rule": "The name of the rule.", + "Targets": "The targets to update or add to the rule." +} + +Optional Parameters +{ + "EventBusName": "The name of the event bus associated with the rule. If you omit this, the default event bus is used." +} +""" +PutTargets(args) = eventbridge("PutTargets", args) + +""" + TestEventPattern() + +Tests whether the specified event pattern matches the provided event. Most services in AWS treat : or / as the same character in Amazon Resource Names (ARNs). However, EventBridge uses an exact match in event patterns and rules. Be sure to use the correct ARN characters when creating event patterns so that they match the ARN syntax in the event you want to match. + +Required Parameters +{ + "EventPattern": "The event pattern. For more information, see Events and Event Patterns in the Amazon EventBridge User Guide.", + "Event": "The event, in JSON format, to test against the event pattern." +} +""" +TestEventPattern(args) = eventbridge("TestEventPattern", args) + +""" + DescribeEventBus() + +Displays details about an event bus in your account. This can include the external AWS accounts that are permitted to write events to your default event bus, and the associated policy. For custom event buses and partner event buses, it displays the name, ARN, policy, state, and creation time. To enable your account to receive events from other accounts on its default event bus, use PutPermission. For more information about partner event buses, see CreateEventBus. + +Optional Parameters +{ + "Name": "The name of the event bus to show details for. If you omit this, the default event bus is displayed." +} +""" +DescribeEventBus() = eventbridge("DescribeEventBus") +DescribeEventBus(args) = eventbridge("DescribeEventBus", args) + +""" + PutEvents() + +Sends custom events to Amazon EventBridge so that they can be matched to rules. + +Required Parameters +{ + "Entries": "The entry that defines an event in your system. You can specify several parameters for the entry such as the source and type of the event, resources associated with the event, and so on." +} +""" +PutEvents(args) = eventbridge("PutEvents", args) + +""" + TagResource() + +Assigns one or more tags (key-value pairs) to the specified EventBridge resource. Tags can help you organize and categorize your resources. You can also use them to scope user permissions by granting a user permission to access or change only resources with certain tag values. In EventBridge, rules and event buses can be tagged. Tags don't have any semantic meaning to AWS and are interpreted strictly as strings of characters. You can use the TagResource action with a resource that already has tags. If you specify a new tag key, this tag is appended to the list of tags associated with the resource. If you specify a tag key that is already associated with the resource, the new tag value that you specify replaces the previous value for that tag. You can associate as many as 50 tags with a resource. + +Required Parameters +{ + "ResourceARN": "The ARN of the EventBridge resource that you're adding tags to.", + "Tags": "The list of key-value pairs to associate with the resource." +} +""" +TagResource(args) = eventbridge("TagResource", args) + +""" + ListRules() + +Lists your Amazon EventBridge rules. You can either list all the rules or you can provide a prefix to match to the rule names. ListRules does not list the targets of a rule. To see the targets associated with a rule, use ListTargetsByRule. + +Optional Parameters +{ + "NextToken": "The token returned by a previous call to retrieve the next set of results.", + "EventBusName": "Limits the results to show only the rules associated with the specified event bus.", + "Limit": "The maximum number of results to return.", + "NamePrefix": "The prefix matching the rule name." +} +""" +ListRules() = eventbridge("ListRules") +ListRules(args) = eventbridge("ListRules", args) + +""" + PutRule() + +Creates or updates the specified rule. Rules are enabled by default, or based on value of the state. You can disable a rule using DisableRule. A single rule watches for events from a single event bus. Events generated by AWS services go to your account's default event bus. Events generated by SaaS partner services or applications go to the matching partner event bus. If you have custom applications or services, you can specify whether their events go to your default event bus or a custom event bus that you have created. For more information, see CreateEventBus. If you are updating an existing rule, the rule is replaced with what you specify in this PutRule command. If you omit arguments in PutRule, the old values for those arguments are not kept. Instead, they are replaced with null values. When you create or update a rule, incoming events might not immediately start matching to new or updated rules. Allow a short period of time for changes to take effect. A rule must contain at least an EventPattern or ScheduleExpression. Rules with EventPatterns are triggered when a matching event is observed. Rules with ScheduleExpressions self-trigger based on the given schedule. A rule can have both an EventPattern and a ScheduleExpression, in which case the rule triggers on matching events as well as on a schedule. When you initially create a rule, you can optionally assign one or more tags to the rule. Tags can help you organize and categorize your resources. You can also use them to scope user permissions, by granting a user permission to access or change only rules with certain tag values. To use the PutRule operation and assign tags, you must have both the events:PutRule and events:TagResource permissions. If you are updating an existing rule, any tags you specify in the PutRule operation are ignored. To update the tags of an existing rule, use TagResource and UntagResource. Most services in AWS treat : or / as the same character in Amazon Resource Names (ARNs). However, EventBridge uses an exact match in event patterns and rules. Be sure to use the correct ARN characters when creating event patterns so that they match the ARN syntax in the event you want to match. In EventBridge, it is possible to create rules that lead to infinite loops, where a rule is fired repeatedly. For example, a rule might detect that ACLs have changed on an S3 bucket, and trigger software to change them to the desired state. If the rule is not written carefully, the subsequent change to the ACLs fires the rule again, creating an infinite loop. To prevent this, write the rules so that the triggered actions do not re-fire the same rule. For example, your rule could fire only if ACLs are found to be in a bad state, instead of after any change. An infinite loop can quickly cause higher than expected charges. We recommend that you use budgeting, which alerts you when charges exceed your specified limit. For more information, see Managing Your Costs with Budgets. + +Required Parameters +{ + "Name": "The name of the rule that you are creating or updating." +} + +Optional Parameters +{ + "EventPattern": "The event pattern. For more information, see Events and Event Patterns in the Amazon EventBridge User Guide.", + "Description": "A description of the rule.", + "ScheduleExpression": "The scheduling expression. For example, \"cron(0 20 * * ? *)\" or \"rate(5 minutes)\".", + "Tags": "The list of key-value pairs to associate with the rule.", + "State": "Indicates whether the rule is enabled or disabled.", + "EventBusName": "The event bus to associate with this rule. If you omit this, the default event bus is used.", + "RoleArn": "The Amazon Resource Name (ARN) of the IAM role associated with the rule." +} +""" +PutRule(args) = eventbridge("PutRule", args) + +""" + UntagResource() + +Removes one or more tags from the specified EventBridge resource. In CloudWatch Events, rules and event buses can be tagged. + +Required Parameters +{ + "ResourceARN": "The ARN of the EventBridge resource from which you are removing tags.", + "TagKeys": "The list of tag keys to remove from the resource." +} +""" +UntagResource(args) = eventbridge("UntagResource", args) + +""" + DisableRule() + +Disables the specified rule. A disabled rule won't match any events, and won't self-trigger if it has a schedule expression. When you disable a rule, incoming events might continue to match to the disabled rule. Allow a short period of time for changes to take effect. + +Required Parameters +{ + "Name": "The name of the rule." +} + +Optional Parameters +{ + "EventBusName": "The event bus associated with the rule. If you omit this, the default event bus is used." +} +""" +DisableRule(args) = eventbridge("DisableRule", args) + +""" + PutPermission() + +Running PutPermission permits the specified AWS account or AWS organization to put events to the specified event bus. CloudWatch Events rules in your account are triggered by these events arriving to an event bus in your account. For another account to send events to your account, that external account must have an EventBridge rule with your account's event bus as a target. To enable multiple AWS accounts to put events to your event bus, run PutPermission once for each of these accounts. Or, if all the accounts are members of the same AWS organization, you can run PutPermission once specifying Principal as "*" and specifying the AWS organization ID in Condition, to grant permissions to all accounts in that organization. If you grant permissions using an organization, then accounts in that organization must specify a RoleArn with proper permissions when they use PutTarget to add your account's event bus as a target. For more information, see Sending and Receiving Events Between AWS Accounts in the Amazon EventBridge User Guide. The permission policy on the default event bus cannot exceed 10 KB in size. + +Required Parameters +{ + "StatementId": "An identifier string for the external account that you are granting permissions to. If you later want to revoke the permission for this external account, specify this StatementId when you run RemovePermission.", + "Principal": "The 12-digit AWS account ID that you are permitting to put events to your default event bus. Specify \"*\" to permit any account to put events to your default event bus. If you specify \"*\" without specifying Condition, avoid creating rules that may match undesirable events. To create more secure rules, make sure that the event pattern for each rule contains an account field with a specific account ID from which to receive events. Rules with an account field do not match any events sent from other accounts.", + "Action": "The action that you are enabling the other account to perform. Currently, this must be events:PutEvents." +} + +Optional Parameters +{ + "EventBusName": "The event bus associated with the rule. If you omit this, the default event bus is used.", + "Condition": "This parameter enables you to limit the permission to accounts that fulfill a certain condition, such as being a member of a certain AWS organization. For more information about AWS Organizations, see What Is AWS Organizations in the AWS Organizations User Guide. If you specify Condition with an AWS organization ID, and specify \"*\" as the value for Principal, you grant permission to all the accounts in the named organization. The Condition is a JSON string which must contain Type, Key, and Value fields." +} +""" +PutPermission(args) = eventbridge("PutPermission", args) + +""" + DescribePartnerEventSource() + +An SaaS partner can use this operation to list details about a partner event source that they have created. AWS customers do not use this operation. Instead, AWS customers can use DescribeEventSource to see details about a partner event source that is shared with them. + +Required Parameters +{ + "Name": "The name of the event source to display." +} +""" +DescribePartnerEventSource(args) = eventbridge("DescribePartnerEventSource", args) + +""" + DeleteRule() + +Deletes the specified rule. Before you can delete the rule, you must remove all targets, using RemoveTargets. When you delete a rule, incoming events might continue to match to the deleted rule. Allow a short period of time for changes to take effect. Managed rules are rules created and managed by another AWS service on your behalf. These rules are created by those other AWS services to support functionality in those services. You can delete these rules using the Force option, but you should do so only if you are sure the other service is not still using that rule. + +Required Parameters +{ + "Name": "The name of the rule." +} + +Optional Parameters +{ + "Force": "If this is a managed rule, created by an AWS service on your behalf, you must specify Force as True to delete the rule. This parameter is ignored for rules that are not managed rules. You can check whether a rule is a managed rule by using DescribeRule or ListRules and checking the ManagedBy field of the response.", + "EventBusName": "The event bus associated with the rule. If you omit this, the default event bus is used." +} +""" +DeleteRule(args) = eventbridge("DeleteRule", args) + +""" + RemoveTargets() + +Removes the specified targets from the specified rule. When the rule is triggered, those targets are no longer be invoked. When you remove a target, when the associated rule triggers, removed targets might continue to be invoked. Allow a short period of time for changes to take effect. This action can partially fail if too many requests are made at the same time. If that happens, FailedEntryCount is non-zero in the response and each entry in FailedEntries provides the ID of the failed target and the error code. + +Required Parameters +{ + "Ids": "The IDs of the targets to remove from the rule.", + "Rule": "The name of the rule." +} + +Optional Parameters +{ + "Force": "If this is a managed rule, created by an AWS service on your behalf, you must specify Force as True to remove targets. This parameter is ignored for rules that are not managed rules. You can check whether a rule is a managed rule by using DescribeRule or ListRules and checking the ManagedBy field of the response.", + "EventBusName": "The name of the event bus associated with the rule." +} +""" +RemoveTargets(args) = eventbridge("RemoveTargets", args) + +""" + DeactivateEventSource() + +You can use this operation to temporarily stop receiving events from the specified partner event source. The matching event bus is not deleted. When you deactivate a partner event source, the source goes into PENDING state. If it remains in PENDING state for more than two weeks, it is deleted. To activate a deactivated partner event source, use ActivateEventSource. + +Required Parameters +{ + "Name": "The name of the partner event source to deactivate." +} +""" +DeactivateEventSource(args) = eventbridge("DeactivateEventSource", args) + +""" + ListEventSources() + +You can use this to see all the partner event sources that have been shared with your AWS account. For more information about partner event sources, see CreateEventBus. + +Optional Parameters +{ + "NextToken": "The token returned by a previous call to retrieve the next set of results.", + "Limit": "Specifying this limits the number of results returned by this operation. The operation also returns a NextToken which you can use in a subsequent operation to retrieve the next set of results.", + "NamePrefix": "Specifying this limits the results to only those partner event sources with names that start with the specified prefix." +} +""" +ListEventSources() = eventbridge("ListEventSources") +ListEventSources(args) = eventbridge("ListEventSources", args) + +""" + ActivateEventSource() + +Activates a partner event source that has been deactivated. Once activated, your matching event bus will start receiving events from the event source. + +Required Parameters +{ + "Name": "The name of the partner event source to activate." +} +""" +ActivateEventSource(args) = eventbridge("ActivateEventSource", args) + +""" + ListTargetsByRule() + +Lists the targets assigned to the specified rule. + +Required Parameters +{ + "Rule": "The name of the rule." +} + +Optional Parameters +{ + "NextToken": "The token returned by a previous call to retrieve the next set of results.", + "EventBusName": "The event bus associated with the rule. If you omit this, the default event bus is used.", + "Limit": "The maximum number of results to return." +} +""" +ListTargetsByRule(args) = eventbridge("ListTargetsByRule", args) diff --git a/src/services/firehose.jl b/src/services/firehose.jl new file mode 100644 index 0000000000..05e2e1c3f1 --- /dev/null +++ b/src/services/firehose.jl @@ -0,0 +1,199 @@ +include("../AWSServices.jl") +using .AWSServices: firehose + +""" + UntagDeliveryStream() + +Removes tags from the specified delivery stream. Removed tags are deleted, and you can't recover them after this operation successfully completes. If you specify a tag that doesn't exist, the operation ignores it. This operation has a limit of five transactions per second per account. + +Required Parameters +{ + "DeliveryStreamName": "The name of the delivery stream.", + "TagKeys": "A list of tag keys. Each corresponding tag is removed from the delivery stream." +} +""" +UntagDeliveryStream(args) = firehose("UntagDeliveryStream", args) + +""" + PutRecordBatch() + +Writes multiple data records into a delivery stream in a single call, which can achieve higher throughput per producer than when writing single records. To write single data records into a delivery stream, use PutRecord. Applications using these operations are referred to as producers. By default, each delivery stream can take in up to 2,000 transactions per second, 5,000 records per second, or 5 MB per second. If you use PutRecord and PutRecordBatch, the limits are an aggregate across these two operations for each delivery stream. For more information about limits, see Amazon Kinesis Data Firehose Limits. Each PutRecordBatch request supports up to 500 records. Each record in the request can be as large as 1,000 KB (before 64-bit encoding), up to a limit of 4 MB for the entire request. These limits cannot be changed. You must specify the name of the delivery stream and the data record when using PutRecord. The data record consists of a data blob that can be up to 1,000 KB in size, and any kind of data. For example, it could be a segment from a log file, geographic location data, website clickstream data, and so on. Kinesis Data Firehose buffers records before delivering them to the destination. To disambiguate the data blobs at the destination, a common solution is to use delimiters in the data, such as a newline ( n) or some other character unique within the data. This allows the consumer application to parse individual data items when reading the data from the destination. The PutRecordBatch response includes a count of failed records, FailedPutCount, and an array of responses, RequestResponses. Even if the PutRecordBatch call succeeds, the value of FailedPutCount may be greater than 0, indicating that there are records for which the operation didn't succeed. Each entry in the RequestResponses array provides additional information about the processed record. It directly correlates with a record in the request array using the same ordering, from the top to the bottom. The response array always includes the same number of records as the request array. RequestResponses includes both successfully and unsuccessfully processed records. Kinesis Data Firehose tries to process all records in each PutRecordBatch request. A single record failure does not stop the processing of subsequent records. A successfully processed record includes a RecordId value, which is unique for the record. An unsuccessfully processed record includes ErrorCode and ErrorMessage values. ErrorCode reflects the type of error, and is one of the following values: ServiceUnavailableException or InternalFailure. ErrorMessage provides more detailed information about the error. If there is an internal server error or a timeout, the write might have completed or it might have failed. If FailedPutCount is greater than 0, retry the request, resending only those records that might have failed processing. This minimizes the possible duplicate records and also reduces the total bytes sent (and corresponding charges). We recommend that you handle any duplicates at the destination. If PutRecordBatch throws ServiceUnavailableException, back off and retry. If the exception persists, it is possible that the throughput limits have been exceeded for the delivery stream. Data records sent to Kinesis Data Firehose are stored for 24 hours from the time they are added to a delivery stream as it attempts to send the records to the destination. If the destination is unreachable for more than 24 hours, the data is no longer available. Don't concatenate two or more base64 strings to form the data fields of your records. Instead, concatenate the raw data, then perform base64 encoding. + +Required Parameters +{ + "Records": "One or more records.", + "DeliveryStreamName": "The name of the delivery stream." +} +""" +PutRecordBatch(args) = firehose("PutRecordBatch", args) + +""" + ListDeliveryStreams() + +Lists your delivery streams in alphabetical order of their names. The number of delivery streams might be too large to return using a single call to ListDeliveryStreams. You can limit the number of delivery streams returned, using the Limit parameter. To determine whether there are more delivery streams to list, check the value of HasMoreDeliveryStreams in the output. If there are more delivery streams to list, you can request them by calling this operation again and setting the ExclusiveStartDeliveryStreamName parameter to the name of the last delivery stream returned in the last call. + +Optional Parameters +{ + "DeliveryStreamType": "The delivery stream type. This can be one of the following values: DirectPut: Provider applications access the delivery stream directly. KinesisStreamAsSource: The delivery stream uses a Kinesis data stream as a source. This parameter is optional. If this parameter is omitted, delivery streams of all types are returned.", + "ExclusiveStartDeliveryStreamName": "The list of delivery streams returned by this call to ListDeliveryStreams will start with the delivery stream whose name comes alphabetically immediately after the name you specify in ExclusiveStartDeliveryStreamName.", + "Limit": "The maximum number of delivery streams to list. The default value is 10." +} +""" +ListDeliveryStreams() = firehose("ListDeliveryStreams") +ListDeliveryStreams(args) = firehose("ListDeliveryStreams", args) + +""" + DeleteDeliveryStream() + +Deletes a delivery stream and its data. To check the state of a delivery stream, use DescribeDeliveryStream. You can delete a delivery stream only if it is in one of the following states: ACTIVE, DELETING, CREATING_FAILED, or DELETING_FAILED. You can't delete a delivery stream that is in the CREATING state. While the deletion request is in process, the delivery stream is in the DELETING state. While the delivery stream is in the DELETING state, the service might continue to accept records, but it doesn't make any guarantees with respect to delivering the data. Therefore, as a best practice, first stop any applications that are sending records before you delete a delivery stream. + +Required Parameters +{ + "DeliveryStreamName": "The name of the delivery stream." +} + +Optional Parameters +{ + "AllowForceDelete": "Set this to true if you want to delete the delivery stream even if Kinesis Data Firehose is unable to retire the grant for the CMK. Kinesis Data Firehose might be unable to retire the grant due to a customer error, such as when the CMK or the grant are in an invalid state. If you force deletion, you can then use the RevokeGrant operation to revoke the grant you gave to Kinesis Data Firehose. If a failure to retire the grant happens due to an AWS KMS issue, Kinesis Data Firehose keeps retrying the delete operation. The default value is false." +} +""" +DeleteDeliveryStream(args) = firehose("DeleteDeliveryStream", args) + +""" + TagDeliveryStream() + +Adds or updates tags for the specified delivery stream. A tag is a key-value pair that you can define and assign to AWS resources. If you specify a tag that already exists, the tag value is replaced with the value that you specify in the request. Tags are metadata. For example, you can add friendly names and descriptions or other types of information that can help you distinguish the delivery stream. For more information about tags, see Using Cost Allocation Tags in the AWS Billing and Cost Management User Guide. Each delivery stream can have up to 50 tags. This operation has a limit of five transactions per second per account. + +Required Parameters +{ + "Tags": "A set of key-value pairs to use to create the tags.", + "DeliveryStreamName": "The name of the delivery stream to which you want to add the tags." +} +""" +TagDeliveryStream(args) = firehose("TagDeliveryStream", args) + +""" + CreateDeliveryStream() + +Creates a Kinesis Data Firehose delivery stream. By default, you can create up to 50 delivery streams per AWS Region. This is an asynchronous operation that immediately returns. The initial status of the delivery stream is CREATING. After the delivery stream is created, its status is ACTIVE and it now accepts data. If the delivery stream creation fails, the status transitions to CREATING_FAILED. Attempts to send data to a delivery stream that is not in the ACTIVE state cause an exception. To check the state of a delivery stream, use DescribeDeliveryStream. If the status of a delivery stream is CREATING_FAILED, this status doesn't change, and you can't invoke CreateDeliveryStream again on it. However, you can invoke the DeleteDeliveryStream operation to delete it. A Kinesis Data Firehose delivery stream can be configured to receive records directly from providers using PutRecord or PutRecordBatch, or it can be configured to use an existing Kinesis stream as its source. To specify a Kinesis data stream as input, set the DeliveryStreamType parameter to KinesisStreamAsSource, and provide the Kinesis stream Amazon Resource Name (ARN) and role ARN in the KinesisStreamSourceConfiguration parameter. To create a delivery stream with server-side encryption (SSE) enabled, include DeliveryStreamEncryptionConfigurationInput in your request. This is optional. You can also invoke StartDeliveryStreamEncryption to turn on SSE for an existing delivery stream that doesn't have SSE enabled. A delivery stream is configured with a single destination: Amazon S3, Amazon ES, Amazon Redshift, or Splunk. You must specify only one of the following destination configuration parameters: ExtendedS3DestinationConfiguration, S3DestinationConfiguration, ElasticsearchDestinationConfiguration, RedshiftDestinationConfiguration, or SplunkDestinationConfiguration. When you specify S3DestinationConfiguration, you can also provide the following optional values: BufferingHints, EncryptionConfiguration, and CompressionFormat. By default, if no BufferingHints value is provided, Kinesis Data Firehose buffers data up to 5 MB or for 5 minutes, whichever condition is satisfied first. BufferingHints is a hint, so there are some cases where the service cannot adhere to these conditions strictly. For example, record boundaries might be such that the size is a little over or under the configured buffering size. By default, no encryption is performed. We strongly recommend that you enable encryption to ensure secure data storage in Amazon S3. A few notes about Amazon Redshift as a destination: An Amazon Redshift destination requires an S3 bucket as intermediate location. Kinesis Data Firehose first delivers data to Amazon S3 and then uses COPY syntax to load data into an Amazon Redshift table. This is specified in the RedshiftDestinationConfiguration.S3Configuration parameter. The compression formats SNAPPY or ZIP cannot be specified in RedshiftDestinationConfiguration.S3Configuration because the Amazon Redshift COPY operation that reads from the S3 bucket doesn't support these compression formats. We strongly recommend that you use the user name and password you provide exclusively with Kinesis Data Firehose, and that the permissions for the account are restricted for Amazon Redshift INSERT permissions. Kinesis Data Firehose assumes the IAM role that is configured as part of the destination. The role should allow the Kinesis Data Firehose principal to assume the role, and the role should have permissions that allow the service to deliver the data. For more information, see Grant Kinesis Data Firehose Access to an Amazon S3 Destination in the Amazon Kinesis Data Firehose Developer Guide. + +Required Parameters +{ + "DeliveryStreamName": "The name of the delivery stream. This name must be unique per AWS account in the same AWS Region. If the delivery streams are in different accounts or different Regions, you can have multiple delivery streams with the same name." +} + +Optional Parameters +{ + "ElasticsearchDestinationConfiguration": "The destination in Amazon ES. You can specify only one destination.", + "ExtendedS3DestinationConfiguration": "The destination in Amazon S3. You can specify only one destination.", + "DeliveryStreamType": "The delivery stream type. This parameter can be one of the following values: DirectPut: Provider applications access the delivery stream directly. KinesisStreamAsSource: The delivery stream uses a Kinesis data stream as a source. ", + "Tags": "A set of tags to assign to the delivery stream. A tag is a key-value pair that you can define and assign to AWS resources. Tags are metadata. For example, you can add friendly names and descriptions or other types of information that can help you distinguish the delivery stream. For more information about tags, see Using Cost Allocation Tags in the AWS Billing and Cost Management User Guide. You can specify up to 50 tags when creating a delivery stream.", + "KinesisStreamSourceConfiguration": "When a Kinesis data stream is used as the source for the delivery stream, a KinesisStreamSourceConfiguration containing the Kinesis data stream Amazon Resource Name (ARN) and the role ARN for the source stream.", + "DeliveryStreamEncryptionConfigurationInput": "Used to specify the type and Amazon Resource Name (ARN) of the KMS key needed for Server-Side Encryption (SSE).", + "S3DestinationConfiguration": "[Deprecated] The destination in Amazon S3. You can specify only one destination.", + "RedshiftDestinationConfiguration": "The destination in Amazon Redshift. You can specify only one destination.", + "SplunkDestinationConfiguration": "The destination in Splunk. You can specify only one destination." +} +""" +CreateDeliveryStream(args) = firehose("CreateDeliveryStream", args) + +""" + StartDeliveryStreamEncryption() + +Enables server-side encryption (SSE) for the delivery stream. This operation is asynchronous. It returns immediately. When you invoke it, Kinesis Data Firehose first sets the encryption status of the stream to ENABLING, and then to ENABLED. The encryption status of a delivery stream is the Status property in DeliveryStreamEncryptionConfiguration. If the operation fails, the encryption status changes to ENABLING_FAILED. You can continue to read and write data to your delivery stream while the encryption status is ENABLING, but the data is not encrypted. It can take up to 5 seconds after the encryption status changes to ENABLED before all records written to the delivery stream are encrypted. To find out whether a record or a batch of records was encrypted, check the response elements PutRecordOutput Encrypted and PutRecordBatchOutput Encrypted, respectively. To check the encryption status of a delivery stream, use DescribeDeliveryStream. Even if encryption is currently enabled for a delivery stream, you can still invoke this operation on it to change the ARN of the CMK or both its type and ARN. In this case, Kinesis Data Firehose schedules the grant it had on the old CMK for retirement and creates a grant that enables it to use the new CMK to encrypt and decrypt data and to manage the grant. If a delivery stream already has encryption enabled and then you invoke this operation to change the ARN of the CMK or both its type and ARN and you get ENABLING_FAILED, this only means that the attempt to change the CMK failed. In this case, encryption remains enabled with the old CMK. If the encryption status of your delivery stream is ENABLING_FAILED, you can invoke this operation again. You can only enable SSE for a delivery stream that uses DirectPut as its source. The StartDeliveryStreamEncryption and StopDeliveryStreamEncryption operations have a combined limit of 25 calls per delivery stream per 24 hours. For example, you reach the limit if you call StartDeliveryStreamEncryption 13 times and StopDeliveryStreamEncryption 12 times for the same delivery stream in a 24-hour period. + +Required Parameters +{ + "DeliveryStreamName": "The name of the delivery stream for which you want to enable server-side encryption (SSE)." +} + +Optional Parameters +{ + "DeliveryStreamEncryptionConfigurationInput": "Used to specify the type and Amazon Resource Name (ARN) of the KMS key needed for Server-Side Encryption (SSE)." +} +""" +StartDeliveryStreamEncryption(args) = firehose("StartDeliveryStreamEncryption", args) + +""" + UpdateDestination() + +Updates the specified destination of the specified delivery stream. Use this operation to change the destination type (for example, to replace the Amazon S3 destination with Amazon Redshift) or change the parameters associated with a destination (for example, to change the bucket name of the Amazon S3 destination). The update might not occur immediately. The target delivery stream remains active while the configurations are updated, so data writes to the delivery stream can continue during this process. The updated configurations are usually effective within a few minutes. Switching between Amazon ES and other services is not supported. For an Amazon ES destination, you can only update to another Amazon ES destination. If the destination type is the same, Kinesis Data Firehose merges the configuration parameters specified with the destination configuration that already exists on the delivery stream. If any of the parameters are not specified in the call, the existing values are retained. For example, in the Amazon S3 destination, if EncryptionConfiguration is not specified, then the existing EncryptionConfiguration is maintained on the destination. If the destination type is not the same, for example, changing the destination from Amazon S3 to Amazon Redshift, Kinesis Data Firehose does not merge any parameters. In this case, all parameters must be specified. Kinesis Data Firehose uses CurrentDeliveryStreamVersionId to avoid race conditions and conflicting merges. This is a required field, and the service updates the configuration only if the existing configuration has a version ID that matches. After the update is applied successfully, the version ID is updated, and can be retrieved using DescribeDeliveryStream. Use the new version ID to set CurrentDeliveryStreamVersionId in the next call. + +Required Parameters +{ + "CurrentDeliveryStreamVersionId": "Obtain this value from the VersionId result of DeliveryStreamDescription. This value is required, and helps the service perform conditional operations. For example, if there is an interleaving update and this value is null, then the update destination fails. After the update is successful, the VersionId value is updated. The service then performs a merge of the old configuration with the new configuration.", + "DestinationId": "The ID of the destination.", + "DeliveryStreamName": "The name of the delivery stream." +} + +Optional Parameters +{ + "SplunkDestinationUpdate": "Describes an update for a destination in Splunk.", + "RedshiftDestinationUpdate": "Describes an update for a destination in Amazon Redshift.", + "S3DestinationUpdate": "[Deprecated] Describes an update for a destination in Amazon S3.", + "ExtendedS3DestinationUpdate": "Describes an update for a destination in Amazon S3.", + "ElasticsearchDestinationUpdate": "Describes an update for a destination in Amazon ES." +} +""" +UpdateDestination(args) = firehose("UpdateDestination", args) + +""" + PutRecord() + +Writes a single data record into an Amazon Kinesis Data Firehose delivery stream. To write multiple data records into a delivery stream, use PutRecordBatch. Applications using these operations are referred to as producers. By default, each delivery stream can take in up to 2,000 transactions per second, 5,000 records per second, or 5 MB per second. If you use PutRecord and PutRecordBatch, the limits are an aggregate across these two operations for each delivery stream. For more information about limits and how to request an increase, see Amazon Kinesis Data Firehose Limits. You must specify the name of the delivery stream and the data record when using PutRecord. The data record consists of a data blob that can be up to 1,000 KB in size, and any kind of data. For example, it can be a segment from a log file, geographic location data, website clickstream data, and so on. Kinesis Data Firehose buffers records before delivering them to the destination. To disambiguate the data blobs at the destination, a common solution is to use delimiters in the data, such as a newline ( n) or some other character unique within the data. This allows the consumer application to parse individual data items when reading the data from the destination. The PutRecord operation returns a RecordId, which is a unique string assigned to each record. Producer applications can use this ID for purposes such as auditability and investigation. If the PutRecord operation throws a ServiceUnavailableException, back off and retry. If the exception persists, it is possible that the throughput limits have been exceeded for the delivery stream. Data records sent to Kinesis Data Firehose are stored for 24 hours from the time they are added to a delivery stream as it tries to send the records to the destination. If the destination is unreachable for more than 24 hours, the data is no longer available. Don't concatenate two or more base64 strings to form the data fields of your records. Instead, concatenate the raw data, then perform base64 encoding. + +Required Parameters +{ + "DeliveryStreamName": "The name of the delivery stream.", + "Record": "The record." +} +""" +PutRecord(args) = firehose("PutRecord", args) + +""" + ListTagsForDeliveryStream() + +Lists the tags for the specified delivery stream. This operation has a limit of five transactions per second per account. + +Required Parameters +{ + "DeliveryStreamName": "The name of the delivery stream whose tags you want to list." +} + +Optional Parameters +{ + "ExclusiveStartTagKey": "The key to use as the starting point for the list of tags. If you set this parameter, ListTagsForDeliveryStream gets all tags that occur after ExclusiveStartTagKey.", + "Limit": "The number of tags to return. If this number is less than the total number of tags associated with the delivery stream, HasMoreTags is set to true in the response. To list additional tags, set ExclusiveStartTagKey to the last key in the response. " +} +""" +ListTagsForDeliveryStream(args) = firehose("ListTagsForDeliveryStream", args) + +""" + StopDeliveryStreamEncryption() + +Disables server-side encryption (SSE) for the delivery stream. This operation is asynchronous. It returns immediately. When you invoke it, Kinesis Data Firehose first sets the encryption status of the stream to DISABLING, and then to DISABLED. You can continue to read and write data to your stream while its status is DISABLING. It can take up to 5 seconds after the encryption status changes to DISABLED before all records written to the delivery stream are no longer subject to encryption. To find out whether a record or a batch of records was encrypted, check the response elements PutRecordOutput Encrypted and PutRecordBatchOutput Encrypted, respectively. To check the encryption state of a delivery stream, use DescribeDeliveryStream. If SSE is enabled using a customer managed CMK and then you invoke StopDeliveryStreamEncryption, Kinesis Data Firehose schedules the related KMS grant for retirement and then retires it after it ensures that it is finished delivering records to the destination. The StartDeliveryStreamEncryption and StopDeliveryStreamEncryption operations have a combined limit of 25 calls per delivery stream per 24 hours. For example, you reach the limit if you call StartDeliveryStreamEncryption 13 times and StopDeliveryStreamEncryption 12 times for the same delivery stream in a 24-hour period. + +Required Parameters +{ + "DeliveryStreamName": "The name of the delivery stream for which you want to disable server-side encryption (SSE)." +} +""" +StopDeliveryStreamEncryption(args) = firehose("StopDeliveryStreamEncryption", args) + +""" + DescribeDeliveryStream() + +Describes the specified delivery stream and its status. For example, after your delivery stream is created, call DescribeDeliveryStream to see whether the delivery stream is ACTIVE and therefore ready for data to be sent to it. If the status of a delivery stream is CREATING_FAILED, this status doesn't change, and you can't invoke CreateDeliveryStream again on it. However, you can invoke the DeleteDeliveryStream operation to delete it. If the status is DELETING_FAILED, you can force deletion by invoking DeleteDeliveryStream again but with DeleteDeliveryStreamInput AllowForceDelete set to true. + +Required Parameters +{ + "DeliveryStreamName": "The name of the delivery stream." +} + +Optional Parameters +{ + "ExclusiveStartDestinationId": "The ID of the destination to start returning the destination information. Kinesis Data Firehose supports one destination per delivery stream.", + "Limit": "The limit on the number of destinations to return. You can have one destination per delivery stream." +} +""" +DescribeDeliveryStream(args) = firehose("DescribeDeliveryStream", args) diff --git a/src/services/fms.jl b/src/services/fms.jl new file mode 100644 index 0000000000..b84fd2967a --- /dev/null +++ b/src/services/fms.jl @@ -0,0 +1,223 @@ +include("../AWSServices.jl") +using .AWSServices: fms + +""" + ListTagsForResource() + +Retrieves the list of tags for the specified AWS resource. + +Required Parameters +{ + "ResourceArn": "The Amazon Resource Name (ARN) of the resource to return tags for. The Firewall Manager policy is the only AWS resource that supports tagging, so this ARN is a policy ARN.." +} +""" +ListTagsForResource(args) = fms("ListTagsForResource", args) + +""" + AssociateAdminAccount() + +Sets the AWS Firewall Manager administrator account. AWS Firewall Manager must be associated with the master account of your AWS organization or associated with a member account that has the appropriate permissions. If the account ID that you submit is not an AWS Organizations master account, AWS Firewall Manager will set the appropriate permissions for the given member account. The account that you associate with AWS Firewall Manager is called the AWS Firewall Manager administrator account. + +Required Parameters +{ + "AdminAccount": "The AWS account ID to associate with AWS Firewall Manager as the AWS Firewall Manager administrator account. This can be an AWS Organizations master account or a member account. For more information about AWS Organizations and master accounts, see Managing the AWS Accounts in Your Organization." +} +""" +AssociateAdminAccount(args) = fms("AssociateAdminAccount", args) + +""" + GetProtectionStatus() + +If you created a Shield Advanced policy, returns policy-level attack summary information in the event of a potential DDoS attack. Other policy types are currently unsupported. + +Required Parameters +{ + "PolicyId": "The ID of the policy for which you want to get the attack information." +} + +Optional Parameters +{ + "StartTime": "The start of the time period to query for the attacks. This is a timestamp type. The request syntax listing indicates a number type because the default used by AWS Firewall Manager is Unix time in seconds. However, any valid timestamp format is allowed.", + "MaxResults": "Specifies the number of objects that you want AWS Firewall Manager to return for this request. If you have more objects than the number that you specify for MaxResults, the response includes a NextToken value that you can use to get another batch of objects.", + "NextToken": "If you specify a value for MaxResults and you have more objects than the number that you specify for MaxResults, AWS Firewall Manager returns a NextToken value in the response, which you can use to retrieve another group of objects. For the second and subsequent GetProtectionStatus requests, specify the value of NextToken from the previous response to get information about another batch of objects.", + "EndTime": "The end of the time period to query for the attacks. This is a timestamp type. The request syntax listing indicates a number type because the default used by AWS Firewall Manager is Unix time in seconds. However, any valid timestamp format is allowed.", + "MemberAccountId": "The AWS account that is in scope of the policy that you want to get the details for." +} +""" +GetProtectionStatus(args) = fms("GetProtectionStatus", args) + +""" + DisassociateAdminAccount() + +Disassociates the account that has been set as the AWS Firewall Manager administrator account. To set a different account as the administrator account, you must submit an AssociateAdminAccount request. +""" +DisassociateAdminAccount() = fms("DisassociateAdminAccount") +DisassociateAdminAccount(args) = fms("DisassociateAdminAccount", args) + +""" + GetAdminAccount() + +Returns the AWS Organizations master account that is associated with AWS Firewall Manager as the AWS Firewall Manager administrator. +""" +GetAdminAccount() = fms("GetAdminAccount") +GetAdminAccount(args) = fms("GetAdminAccount", args) + +""" + ListMemberAccounts() + +Returns a MemberAccounts object that lists the member accounts in the administrator's AWS organization. The ListMemberAccounts must be submitted by the account that is set as the AWS Firewall Manager administrator. + +Optional Parameters +{ + "MaxResults": "Specifies the number of member account IDs that you want AWS Firewall Manager to return for this request. If you have more IDs than the number that you specify for MaxResults, the response includes a NextToken value that you can use to get another batch of member account IDs.", + "NextToken": "If you specify a value for MaxResults and you have more account IDs than the number that you specify for MaxResults, AWS Firewall Manager returns a NextToken value in the response that allows you to list another group of IDs. For the second and subsequent ListMemberAccountsRequest requests, specify the value of NextToken from the previous response to get information about another batch of member account IDs." +} +""" +ListMemberAccounts() = fms("ListMemberAccounts") +ListMemberAccounts(args) = fms("ListMemberAccounts", args) + +""" + DeletePolicy() + +Permanently deletes an AWS Firewall Manager policy. + +Required Parameters +{ + "PolicyId": "The ID of the policy that you want to delete. PolicyId is returned by PutPolicy and by ListPolicies." +} + +Optional Parameters +{ + "DeleteAllPolicyResources": "If True, the request performs cleanup according to the policy type. For AWS WAF and Shield Advanced policies, the cleanup does the following: Deletes rule groups created by AWS Firewall Manager Removes web ACLs from in-scope resources Deletes web ACLs that contain no rules or rule groups For security group policies, the cleanup does the following for each security group in the policy: Disassociates the security group from in-scope resources Deletes the security group if it was created through Firewall Manager and if it's no longer associated with any resources through another policy After the cleanup, in-scope resources are no longer protected by web ACLs in this policy. Protection of out-of-scope resources remains unchanged. Scope is determined by tags that you create and accounts that you associate with the policy. When creating the policy, if you specify that only resources in specific accounts or with specific tags are in scope of the policy, those accounts and resources are handled by the policy. All others are out of scope. If you don't specify tags or accounts, all resources are in scope. " +} +""" +DeletePolicy(args) = fms("DeletePolicy", args) + +""" + ListComplianceStatus() + +Returns an array of PolicyComplianceStatus objects in the response. Use PolicyComplianceStatus to get a summary of which member accounts are protected by the specified policy. + +Required Parameters +{ + "PolicyId": "The ID of the AWS Firewall Manager policy that you want the details for." +} + +Optional Parameters +{ + "MaxResults": "Specifies the number of PolicyComplianceStatus objects that you want AWS Firewall Manager to return for this request. If you have more PolicyComplianceStatus objects than the number that you specify for MaxResults, the response includes a NextToken value that you can use to get another batch of PolicyComplianceStatus objects.", + "NextToken": "If you specify a value for MaxResults and you have more PolicyComplianceStatus objects than the number that you specify for MaxResults, AWS Firewall Manager returns a NextToken value in the response that allows you to list another group of PolicyComplianceStatus objects. For the second and subsequent ListComplianceStatus requests, specify the value of NextToken from the previous response to get information about another batch of PolicyComplianceStatus objects." +} +""" +ListComplianceStatus(args) = fms("ListComplianceStatus", args) + +""" + GetNotificationChannel() + +Information about the Amazon Simple Notification Service (SNS) topic that is used to record AWS Firewall Manager SNS logs. +""" +GetNotificationChannel() = fms("GetNotificationChannel") +GetNotificationChannel(args) = fms("GetNotificationChannel", args) + +""" + TagResource() + +Adds one or more tags to an AWS resource. + +Required Parameters +{ + "TagList": "The tags to add to the resource.", + "ResourceArn": "The Amazon Resource Name (ARN) of the resource. The Firewall Manager policy is the only AWS resource that supports tagging, so this ARN is a policy ARN." +} +""" +TagResource(args) = fms("TagResource", args) + +""" + UntagResource() + +Removes one or more tags from an AWS resource. + +Required Parameters +{ + "ResourceArn": "The Amazon Resource Name (ARN) of the resource. The Firewall Manager policy is the only AWS resource that supports tagging, so this ARN is a policy ARN.", + "TagKeys": "The keys of the tags to remove from the resource. " +} +""" +UntagResource(args) = fms("UntagResource", args) + +""" + GetComplianceDetail() + +Returns detailed compliance information about the specified member account. Details include resources that are in and out of compliance with the specified policy. Resources are considered noncompliant for AWS WAF and Shield Advanced policies if the specified policy has not been applied to them. Resources are considered noncompliant for security group policies if they are in scope of the policy, they violate one or more of the policy rules, and remediation is disabled or not possible. + +Required Parameters +{ + "PolicyId": "The ID of the policy that you want to get the details for. PolicyId is returned by PutPolicy and by ListPolicies.", + "MemberAccount": "The AWS account that owns the resources that you want to get the details for." +} +""" +GetComplianceDetail(args) = fms("GetComplianceDetail", args) + +""" + GetPolicy() + +Returns information about the specified AWS Firewall Manager policy. + +Required Parameters +{ + "PolicyId": "The ID of the AWS Firewall Manager policy that you want the details for." +} +""" +GetPolicy(args) = fms("GetPolicy", args) + +""" + PutNotificationChannel() + +Designates the IAM role and Amazon Simple Notification Service (SNS) topic that AWS Firewall Manager uses to record SNS logs. + +Required Parameters +{ + "SnsRoleName": "The Amazon Resource Name (ARN) of the IAM role that allows Amazon SNS to record AWS Firewall Manager activity. ", + "SnsTopicArn": "The Amazon Resource Name (ARN) of the SNS topic that collects notifications from AWS Firewall Manager." +} +""" +PutNotificationChannel(args) = fms("PutNotificationChannel", args) + +""" + ListPolicies() + +Returns an array of PolicySummary objects in the response. + +Optional Parameters +{ + "MaxResults": "Specifies the number of PolicySummary objects that you want AWS Firewall Manager to return for this request. If you have more PolicySummary objects than the number that you specify for MaxResults, the response includes a NextToken value that you can use to get another batch of PolicySummary objects.", + "NextToken": "If you specify a value for MaxResults and you have more PolicySummary objects than the number that you specify for MaxResults, AWS Firewall Manager returns a NextToken value in the response that allows you to list another group of PolicySummary objects. For the second and subsequent ListPolicies requests, specify the value of NextToken from the previous response to get information about another batch of PolicySummary objects." +} +""" +ListPolicies() = fms("ListPolicies") +ListPolicies(args) = fms("ListPolicies", args) + +""" + PutPolicy() + +Creates an AWS Firewall Manager policy. Firewall Manager provides the following types of policies: A Shield Advanced policy, which applies Shield Advanced protection to specified accounts and resources An AWS WAF policy, which contains a rule group and defines which resources are to be protected by that rule group A security group policy, which manages VPC security groups across your AWS organization. Each policy is specific to one of the three types. If you want to enforce more than one policy type across accounts, you can create multiple policies. You can create multiple policies for each type. You must be subscribed to Shield Advanced to create a Shield Advanced policy. For more information about subscribing to Shield Advanced, see CreateSubscription. + +Required Parameters +{ + "Policy": "The details of the AWS Firewall Manager policy to be created." +} + +Optional Parameters +{ + "TagList": "The tags to add to the AWS resource." +} +""" +PutPolicy(args) = fms("PutPolicy", args) + +""" + DeleteNotificationChannel() + +Deletes an AWS Firewall Manager association with the IAM role and the Amazon Simple Notification Service (SNS) topic that is used to record AWS Firewall Manager SNS logs. +""" +DeleteNotificationChannel() = fms("DeleteNotificationChannel") +DeleteNotificationChannel(args) = fms("DeleteNotificationChannel", args) diff --git a/src/services/forecast.jl b/src/services/forecast.jl new file mode 100644 index 0000000000..2b654bb3cc --- /dev/null +++ b/src/services/forecast.jl @@ -0,0 +1,375 @@ +include("../AWSServices.jl") +using .AWSServices: forecast + +""" + CreateDatasetImportJob() + +Imports your training data to an Amazon Forecast dataset. You provide the location of your training data in an Amazon Simple Storage Service (Amazon S3) bucket and the Amazon Resource Name (ARN) of the dataset that you want to import the data to. You must specify a DataSource object that includes an AWS Identity and Access Management (IAM) role that Amazon Forecast can assume to access the data. For more information, see aws-forecast-iam-roles. The training data must be in CSV format. The delimiter must be a comma (,). You can specify the path to a specific CSV file, the S3 bucket, or to a folder in the S3 bucket. For the latter two cases, Amazon Forecast imports all files up to the limit of 10,000 files. To get a list of all your dataset import jobs, filtered by specified criteria, use the ListDatasetImportJobs operation. + +Required Parameters +{ + "DatasetArn": "The Amazon Resource Name (ARN) of the Amazon Forecast dataset that you want to import data to.", + "DatasetImportJobName": "The name for the dataset import job. We recommend including the current timestamp in the name, for example, 20190721DatasetImport. This can help you avoid getting a ResourceAlreadyExistsException exception.", + "DataSource": "The location of the training data to import and an AWS Identity and Access Management (IAM) role that Amazon Forecast can assume to access the data. The training data must be stored in an Amazon S3 bucket. If encryption is used, DataSource must include an AWS Key Management Service (KMS) key and the IAM role must allow Amazon Forecast permission to access the key. The KMS key and IAM role must match those specified in the EncryptionConfig parameter of the CreateDataset operation." +} + +Optional Parameters +{ + "TimestampFormat": "The format of timestamps in the dataset. The format that you specify depends on the DataFrequency specified when the dataset was created. The following formats are supported \"yyyy-MM-dd\" For the following data frequencies: Y, M, W, and D \"yyyy-MM-dd HH:mm:ss\" For the following data frequencies: H, 30min, 15min, and 1min; and optionally, for: Y, M, W, and D If the format isn't specified, Amazon Forecast expects the format to be \"yyyy-MM-dd HH:mm:ss\"." +} +""" +CreateDatasetImportJob(args) = forecast("CreateDatasetImportJob", args) + +""" + DescribeDataset() + +Describes an Amazon Forecast dataset created using the CreateDataset operation. In addition to listing the parameters specified in the CreateDataset request, this operation includes the following dataset properties: CreationTime LastModificationTime Status + +Required Parameters +{ + "DatasetArn": "The Amazon Resource Name (ARN) of the dataset." +} +""" +DescribeDataset(args) = forecast("DescribeDataset", args) + +""" + DescribePredictor() + +Describes a predictor created using the CreatePredictor operation. In addition to listing the properties provided in the CreatePredictor request, this operation lists the following properties: DatasetImportJobArns - The dataset import jobs used to import training data. AutoMLAlgorithmArns - If AutoML is performed, the algorithms that were evaluated. CreationTime LastModificationTime Status Message - If an error occurred, information about the error. + +Required Parameters +{ + "PredictorArn": "The Amazon Resource Name (ARN) of the predictor that you want information about." +} +""" +DescribePredictor(args) = forecast("DescribePredictor", args) + +""" + DeleteForecast() + +Deletes a forecast created using the CreateForecast operation. You can delete only forecasts that have a status of ACTIVE or CREATE_FAILED. To get the status, use the DescribeForecast operation. You can't delete a forecast while it is being exported. After a forecast is deleted, you can no longer query the forecast. + +Required Parameters +{ + "ForecastArn": "The Amazon Resource Name (ARN) of the forecast to delete." +} +""" +DeleteForecast(args) = forecast("DeleteForecast", args) + +""" + DeleteForecastExportJob() + +Deletes a forecast export job created using the CreateForecastExportJob operation. You can delete only export jobs that have a status of ACTIVE or CREATE_FAILED. To get the status, use the DescribeForecastExportJob operation. + +Required Parameters +{ + "ForecastExportJobArn": "The Amazon Resource Name (ARN) of the forecast export job to delete." +} +""" +DeleteForecastExportJob(args) = forecast("DeleteForecastExportJob", args) + +""" + CreateDatasetGroup() + +Creates a dataset group, which holds a collection of related datasets. You can add datasets to the dataset group when you create the dataset group, or later by using the UpdateDatasetGroup operation. After creating a dataset group and adding datasets, you use the dataset group when you create a predictor. For more information, see howitworks-datasets-groups. To get a list of all your datasets groups, use the ListDatasetGroups operation. The Status of a dataset group must be ACTIVE before you can create use the dataset group to create a predictor. To get the status, use the DescribeDatasetGroup operation. + +Required Parameters +{ + "DatasetGroupName": "A name for the dataset group.", + "Domain": "The domain associated with the dataset group. When you add a dataset to a dataset group, this value and the value specified for the Domain parameter of the CreateDataset operation must match. The Domain and DatasetType that you choose determine the fields that must be present in training data that you import to a dataset. For example, if you choose the RETAIL domain and TARGET_TIME_SERIES as the DatasetType, Amazon Forecast requires that item_id, timestamp, and demand fields are present in your data. For more information, see howitworks-datasets-groups." +} + +Optional Parameters +{ + "DatasetArns": "An array of Amazon Resource Names (ARNs) of the datasets that you want to include in the dataset group." +} +""" +CreateDatasetGroup(args) = forecast("CreateDatasetGroup", args) + +""" + DeletePredictor() + +Deletes a predictor created using the CreatePredictor operation. You can delete only predictor that have a status of ACTIVE or CREATE_FAILED. To get the status, use the DescribePredictor operation. + +Required Parameters +{ + "PredictorArn": "The Amazon Resource Name (ARN) of the predictor to delete." +} +""" +DeletePredictor(args) = forecast("DeletePredictor", args) + +""" + ListDatasetImportJobs() + +Returns a list of dataset import jobs created using the CreateDatasetImportJob operation. For each import job, this operation returns a summary of its properties, including its Amazon Resource Name (ARN). You can retrieve the complete set of properties by using the ARN with the DescribeDatasetImportJob operation. You can filter the list by providing an array of Filter objects. + +Optional Parameters +{ + "MaxResults": "The number of items to return in the response.", + "NextToken": "If the result of the previous request was truncated, the response includes a NextToken. To retrieve the next set of results, use the token in the next request. Tokens expire after 24 hours.", + "Filters": "An array of filters. For each filter, you provide a condition and a match statement. The condition is either IS or IS_NOT, which specifies whether to include or exclude the datasets that match the statement from the list, respectively. The match statement consists of a key and a value. Filter properties Condition - The condition to apply. Valid values are IS and IS_NOT. To include the datasets that match the statement, specify IS. To exclude matching datasets, specify IS_NOT. Key - The name of the parameter to filter on. Valid values are DatasetArn and Status. Value - The value to match. For example, to list all dataset import jobs whose status is ACTIVE, you specify the following filter: \"Filters\": [ { \"Condition\": \"IS\", \"Key\": \"Status\", \"Value\": \"ACTIVE\" } ] " +} +""" +ListDatasetImportJobs() = forecast("ListDatasetImportJobs") +ListDatasetImportJobs(args) = forecast("ListDatasetImportJobs", args) + +""" + ListPredictors() + +Returns a list of predictors created using the CreatePredictor operation. For each predictor, this operation returns a summary of its properties, including its Amazon Resource Name (ARN). You can retrieve the complete set of properties by using the ARN with the DescribePredictor operation. You can filter the list using an array of Filter objects. + +Optional Parameters +{ + "MaxResults": "The number of items to return in the response.", + "NextToken": "If the result of the previous request was truncated, the response includes a NextToken. To retrieve the next set of results, use the token in the next request. Tokens expire after 24 hours.", + "Filters": "An array of filters. For each filter, you provide a condition and a match statement. The condition is either IS or IS_NOT, which specifies whether to include or exclude the predictors that match the statement from the list, respectively. The match statement consists of a key and a value. Filter properties Condition - The condition to apply. Valid values are IS and IS_NOT. To include the predictors that match the statement, specify IS. To exclude matching predictors, specify IS_NOT. Key - The name of the parameter to filter on. Valid values are DatasetGroupArn and Status. Value - The value to match. For example, to list all predictors whose status is ACTIVE, you would specify: \"Filters\": [ { \"Condition\": \"IS\", \"Key\": \"Status\", \"Value\": \"ACTIVE\" } ] " +} +""" +ListPredictors() = forecast("ListPredictors") +ListPredictors(args) = forecast("ListPredictors", args) + +""" + ListForecastExportJobs() + +Returns a list of forecast export jobs created using the CreateForecastExportJob operation. For each forecast export job, this operation returns a summary of its properties, including its Amazon Resource Name (ARN). To retrieve the complete set of properties, use the ARN with the DescribeForecastExportJob operation. You can filter the list using an array of Filter objects. + +Optional Parameters +{ + "MaxResults": "The number of items to return in the response.", + "NextToken": "If the result of the previous request was truncated, the response includes a NextToken. To retrieve the next set of results, use the token in the next request. Tokens expire after 24 hours.", + "Filters": "An array of filters. For each filter, you provide a condition and a match statement. The condition is either IS or IS_NOT, which specifies whether to include or exclude the forecast export jobs that match the statement from the list, respectively. The match statement consists of a key and a value. Filter properties Condition - The condition to apply. Valid values are IS and IS_NOT. To include the forecast export jobs that match the statement, specify IS. To exclude matching forecast export jobs, specify IS_NOT. Key - The name of the parameter to filter on. Valid values are ForecastArn and Status. Value - The value to match. For example, to list all jobs that export a forecast named electricityforecast, specify the following filter: \"Filters\": [ { \"Condition\": \"IS\", \"Key\": \"ForecastArn\", \"Value\": \"arn:aws:forecast:us-west-2:<acct-id>:forecast/electricityforecast\" } ] " +} +""" +ListForecastExportJobs() = forecast("ListForecastExportJobs") +ListForecastExportJobs(args) = forecast("ListForecastExportJobs", args) + +""" + CreateForecastExportJob() + +Exports a forecast created by the CreateForecast operation to your Amazon Simple Storage Service (Amazon S3) bucket. The forecast file name will match the following conventions: <ForecastExportJobName>_<ExportTimestamp>_<PageNumber> where the <ExportTimestamp> component is in Java SimpleDateFormat (yyyy-MM-ddTHH-mm-ssZ). You must specify a DataDestination object that includes an AWS Identity and Access Management (IAM) role that Amazon Forecast can assume to access the Amazon S3 bucket. For more information, see aws-forecast-iam-roles. For more information, see howitworks-forecast. To get a list of all your forecast export jobs, use the ListForecastExportJobs operation. The Status of the forecast export job must be ACTIVE before you can access the forecast in your Amazon S3 bucket. To get the status, use the DescribeForecastExportJob operation. + +Required Parameters +{ + "ForecastArn": "The Amazon Resource Name (ARN) of the forecast that you want to export.", + "Destination": "The location where you want to save the forecast and an AWS Identity and Access Management (IAM) role that Amazon Forecast can assume to access the location. The forecast must be exported to an Amazon S3 bucket. If encryption is used, Destination must include an AWS Key Management Service (KMS) key. The IAM role must allow Amazon Forecast permission to access the key.", + "ForecastExportJobName": "The name for the forecast export job." +} +""" +CreateForecastExportJob(args) = forecast("CreateForecastExportJob", args) + +""" + DeleteDatasetImportJob() + +Deletes a dataset import job created using the CreateDatasetImportJob operation. You can delete only dataset import jobs that have a status of ACTIVE or CREATE_FAILED. To get the status, use the DescribeDatasetImportJob operation. + +Required Parameters +{ + "DatasetImportJobArn": "The Amazon Resource Name (ARN) of the dataset import job to delete." +} +""" +DeleteDatasetImportJob(args) = forecast("DeleteDatasetImportJob", args) + +""" + DescribeForecast() + +Describes a forecast created using the CreateForecast operation. In addition to listing the properties provided in the CreateForecast request, this operation lists the following properties: DatasetGroupArn - The dataset group that provided the training data. CreationTime LastModificationTime Status Message - If an error occurred, information about the error. + +Required Parameters +{ + "ForecastArn": "The Amazon Resource Name (ARN) of the forecast." +} +""" +DescribeForecast(args) = forecast("DescribeForecast", args) + +""" + ListDatasets() + +Returns a list of datasets created using the CreateDataset operation. For each dataset, a summary of its properties, including its Amazon Resource Name (ARN), is returned. To retrieve the complete set of properties, use the ARN with the DescribeDataset operation. + +Optional Parameters +{ + "MaxResults": "The number of items to return in the response.", + "NextToken": "If the result of the previous request was truncated, the response includes a NextToken. To retrieve the next set of results, use the token in the next request. Tokens expire after 24 hours." +} +""" +ListDatasets() = forecast("ListDatasets") +ListDatasets(args) = forecast("ListDatasets", args) + +""" + CreatePredictor() + +Creates an Amazon Forecast predictor. In the request, you provide a dataset group and either specify an algorithm or let Amazon Forecast choose the algorithm for you using AutoML. If you specify an algorithm, you also can override algorithm-specific hyperparameters. Amazon Forecast uses the chosen algorithm to train a model using the latest version of the datasets in the specified dataset group. The result is called a predictor. You then generate a forecast using the CreateForecast operation. After training a model, the CreatePredictor operation also evaluates it. To see the evaluation metrics, use the GetAccuracyMetrics operation. Always review the evaluation metrics before deciding to use the predictor to generate a forecast. Optionally, you can specify a featurization configuration to fill and aggregate the data fields in the TARGET_TIME_SERIES dataset to improve model training. For more information, see FeaturizationConfig. For RELATED_TIME_SERIES datasets, CreatePredictor verifies that the DataFrequency specified when the dataset was created matches the ForecastFrequency. TARGET_TIME_SERIES datasets don't have this restriction. Amazon Forecast also verifies the delimiter and timestamp format. For more information, see howitworks-datasets-groups. AutoML If you want Amazon Forecast to evaluate each algorithm and choose the one that minimizes the objective function, set PerformAutoML to true. The objective function is defined as the mean of the weighted p10, p50, and p90 quantile losses. For more information, see EvaluationResult. When AutoML is enabled, the following properties are disallowed: AlgorithmArn HPOConfig PerformHPO TrainingParameters To get a list of all of your predictors, use the ListPredictors operation. Before you can use the predictor to create a forecast, the Status of the predictor must be ACTIVE, signifying that training has completed. To get the status, use the DescribePredictor operation. + +Required Parameters +{ + "InputDataConfig": "Describes the dataset group that contains the data to use to train the predictor.", + "ForecastHorizon": "Specifies the number of time-steps that the model is trained to predict. The forecast horizon is also called the prediction length. For example, if you configure a dataset for daily data collection (using the DataFrequency parameter of the CreateDataset operation) and set the forecast horizon to 10, the model returns predictions for 10 days. The maximum forecast horizon is the lesser of 500 time-steps or 1/3 of the TARGET_TIME_SERIES dataset length.", + "PredictorName": "A name for the predictor.", + "FeaturizationConfig": "The featurization configuration." +} + +Optional Parameters +{ + "AlgorithmArn": "The Amazon Resource Name (ARN) of the algorithm to use for model training. Required if PerformAutoML is not set to true. Supported algorithms: arn:aws:forecast:::algorithm/ARIMA arn:aws:forecast:::algorithm/Deep_AR_Plus Supports hyperparameter optimization (HPO) arn:aws:forecast:::algorithm/ETS arn:aws:forecast:::algorithm/NPTS arn:aws:forecast:::algorithm/Prophet ", + "TrainingParameters": "The hyperparameters to override for model training. The hyperparameters that you can override are listed in the individual algorithms. For the list of supported algorithms, see aws-forecast-choosing-recipes.", + "HPOConfig": "Provides hyperparameter override values for the algorithm. If you don't provide this parameter, Amazon Forecast uses default values. The individual algorithms specify which hyperparameters support hyperparameter optimization (HPO). For more information, see aws-forecast-choosing-recipes. If you included the HPOConfig object, you must set PerformHPO to true.", + "EncryptionConfig": "An AWS Key Management Service (KMS) key and the AWS Identity and Access Management (IAM) role that Amazon Forecast can assume to access the key.", + "EvaluationParameters": "Used to override the default evaluation parameters of the specified algorithm. Amazon Forecast evaluates a predictor by splitting a dataset into training data and testing data. The evaluation parameters define how to perform the split and the number of iterations.", + "PerformAutoML": "Whether to perform AutoML. When Amazon Forecast performs AutoML, it evaluates the algorithms it provides and chooses the best algorithm and configuration for your training dataset. The default value is false. In this case, you are required to specify an algorithm. Set PerformAutoML to true to have Amazon Forecast perform AutoML. This is a good option if you aren't sure which algorithm is suitable for your training data. In this case, PerformHPO must be false.", + "PerformHPO": "Whether to perform hyperparameter optimization (HPO). HPO finds optimal hyperparameter values for your training data. The process of performing HPO is known as running a hyperparameter tuning job. The default value is false. In this case, Amazon Forecast uses default hyperparameter values from the chosen algorithm. To override the default values, set PerformHPO to true and, optionally, supply the HyperParameterTuningJobConfig object. The tuning job specifies a metric to optimize, which hyperparameters participate in tuning, and the valid range for each tunable hyperparameter. In this case, you are required to specify an algorithm and PerformAutoML must be false. The following algorithm supports HPO: DeepAR+ " +} +""" +CreatePredictor(args) = forecast("CreatePredictor", args) + +""" + DeleteDatasetGroup() + +Deletes a dataset group created using the CreateDatasetGroup operation. You can only delete dataset groups that have a status of ACTIVE, CREATE_FAILED, or UPDATE_FAILED. To get the status, use the DescribeDatasetGroup operation. This operation deletes only the dataset group, not the datasets in the group. + +Required Parameters +{ + "DatasetGroupArn": "The Amazon Resource Name (ARN) of the dataset group to delete." +} +""" +DeleteDatasetGroup(args) = forecast("DeleteDatasetGroup", args) + +""" + DeleteDataset() + +Deletes an Amazon Forecast dataset that was created using the CreateDataset operation. You can only delete datasets that have a status of ACTIVE or CREATE_FAILED. To get the status use the DescribeDataset operation. + +Required Parameters +{ + "DatasetArn": "The Amazon Resource Name (ARN) of the dataset to delete." +} +""" +DeleteDataset(args) = forecast("DeleteDataset", args) + +""" + ListForecasts() + +Returns a list of forecasts created using the CreateForecast operation. For each forecast, this operation returns a summary of its properties, including its Amazon Resource Name (ARN). To retrieve the complete set of properties, specify the ARN with the DescribeForecast operation. You can filter the list using an array of Filter objects. + +Optional Parameters +{ + "MaxResults": "The number of items to return in the response.", + "NextToken": "If the result of the previous request was truncated, the response includes a NextToken. To retrieve the next set of results, use the token in the next request. Tokens expire after 24 hours.", + "Filters": "An array of filters. For each filter, you provide a condition and a match statement. The condition is either IS or IS_NOT, which specifies whether to include or exclude the forecasts that match the statement from the list, respectively. The match statement consists of a key and a value. Filter properties Condition - The condition to apply. Valid values are IS and IS_NOT. To include the forecasts that match the statement, specify IS. To exclude matching forecasts, specify IS_NOT. Key - The name of the parameter to filter on. Valid values are DatasetGroupArn, PredictorArn, and Status. Value - The value to match. For example, to list all forecasts whose status is not ACTIVE, you would specify: \"Filters\": [ { \"Condition\": \"IS_NOT\", \"Key\": \"Status\", \"Value\": \"ACTIVE\" } ] " +} +""" +ListForecasts() = forecast("ListForecasts") +ListForecasts(args) = forecast("ListForecasts", args) + +""" + UpdateDatasetGroup() + +Replaces the datasets in a dataset group with the specified datasets. The Status of the dataset group must be ACTIVE before you can use the dataset group to create a predictor. Use the DescribeDatasetGroup operation to get the status. + +Required Parameters +{ + "DatasetGroupArn": "The ARN of the dataset group.", + "DatasetArns": "An array of the Amazon Resource Names (ARNs) of the datasets to add to the dataset group." +} +""" +UpdateDatasetGroup(args) = forecast("UpdateDatasetGroup", args) + +""" + DescribeForecastExportJob() + +Describes a forecast export job created using the CreateForecastExportJob operation. In addition to listing the properties provided by the user in the CreateForecastExportJob request, this operation lists the following properties: CreationTime LastModificationTime Status Message - If an error occurred, information about the error. + +Required Parameters +{ + "ForecastExportJobArn": "The Amazon Resource Name (ARN) of the forecast export job." +} +""" +DescribeForecastExportJob(args) = forecast("DescribeForecastExportJob", args) + +""" + DescribeDatasetImportJob() + +Describes a dataset import job created using the CreateDatasetImportJob operation. In addition to listing the parameters provided in the CreateDatasetImportJob request, this operation includes the following properties: CreationTime LastModificationTime DataSize FieldStatistics Status Message - If an error occurred, information about the error. + +Required Parameters +{ + "DatasetImportJobArn": "The Amazon Resource Name (ARN) of the dataset import job." +} +""" +DescribeDatasetImportJob(args) = forecast("DescribeDatasetImportJob", args) + +""" + ListDatasetGroups() + +Returns a list of dataset groups created using the CreateDatasetGroup operation. For each dataset group, this operation returns a summary of its properties, including its Amazon Resource Name (ARN). You can retrieve the complete set of properties by using the dataset group ARN with the DescribeDatasetGroup operation. + +Optional Parameters +{ + "MaxResults": "The number of items to return in the response.", + "NextToken": "If the result of the previous request was truncated, the response includes a NextToken. To retrieve the next set of results, use the token in the next request. Tokens expire after 24 hours." +} +""" +ListDatasetGroups() = forecast("ListDatasetGroups") +ListDatasetGroups(args) = forecast("ListDatasetGroups", args) + +""" + DescribeDatasetGroup() + +Describes a dataset group created using the CreateDatasetGroup operation. In addition to listing the parameters provided in the CreateDatasetGroup request, this operation includes the following properties: DatasetArns - The datasets belonging to the group. CreationTime LastModificationTime Status + +Required Parameters +{ + "DatasetGroupArn": "The Amazon Resource Name (ARN) of the dataset group." +} +""" +DescribeDatasetGroup(args) = forecast("DescribeDatasetGroup", args) + +""" + CreateForecast() + +Creates a forecast for each item in the TARGET_TIME_SERIES dataset that was used to train the predictor. This is known as inference. To retrieve the forecast for a single item at low latency, use the operation. To export the complete forecast into your Amazon Simple Storage Service (Amazon S3) bucket, use the CreateForecastExportJob operation. The range of the forecast is determined by the ForecastHorizon value, which you specify in the CreatePredictor request, multiplied by the DataFrequency value, which you specify in the CreateDataset request. When you query a forecast, you can request a specific date range within the forecast. To get a list of all your forecasts, use the ListForecasts operation. The forecasts generated by Amazon Forecast are in the same time zone as the dataset that was used to create the predictor. For more information, see howitworks-forecast. The Status of the forecast must be ACTIVE before you can query or export the forecast. Use the DescribeForecast operation to get the status. + +Required Parameters +{ + "ForecastName": "A name for the forecast.", + "PredictorArn": "The Amazon Resource Name (ARN) of the predictor to use to generate the forecast." +} + +Optional Parameters +{ + "ForecastTypes": "The quantiles at which probabilistic forecasts are generated. You can specify up to 5 quantiles per forecast. Accepted values include 0.01 to 0.99 (increments of .01 only) and mean. The mean forecast is different from the median (0.50) when the distribution is not symmetric (e.g. Beta, Negative Binomial). The default value is [\"0.1\", \"0.5\", \"0.9\"]." +} +""" +CreateForecast(args) = forecast("CreateForecast", args) + +""" + CreateDataset() + +Creates an Amazon Forecast dataset. The information about the dataset that you provide helps Forecast understand how to consume the data for model training. This includes the following: DataFrequency - How frequently your historical time-series data is collected. Domain and DatasetType - Each dataset has an associated dataset domain and a type within the domain. Amazon Forecast provides a list of predefined domains and types within each domain. For each unique dataset domain and type within the domain, Amazon Forecast requires your data to include a minimum set of predefined fields. Schema - A schema specifies the fields in the dataset, including the field name and data type. After creating a dataset, you import your training data into it and add the dataset to a dataset group. You use the dataset group to create a predictor. For more information, see howitworks-datasets-groups. To get a list of all your datasets, use the ListDatasets operation. For example Forecast datasets, see the Amazon Forecast Sample GitHub repository. The Status of a dataset must be ACTIVE before you can import training data. Use the DescribeDataset operation to get the status. + +Required Parameters +{ + "Schema": "The schema for the dataset. The schema attributes and their order must match the fields in your data. The dataset Domain and DatasetType that you choose determine the minimum required fields in your training data. For information about the required fields for a specific dataset domain and type, see howitworks-domains-ds-types.", + "DatasetName": "A name for the dataset.", + "Domain": "The domain associated with the dataset. When you add a dataset to a dataset group, this value and the value specified for the Domain parameter of the CreateDatasetGroup operation must match. The Domain and DatasetType that you choose determine the fields that must be present in the training data that you import to the dataset. For example, if you choose the RETAIL domain and TARGET_TIME_SERIES as the DatasetType, Amazon Forecast requires item_id, timestamp, and demand fields to be present in your data. For more information, see howitworks-datasets-groups.", + "DatasetType": "The dataset type. Valid values depend on the chosen Domain." +} + +Optional Parameters +{ + "EncryptionConfig": "An AWS Key Management Service (KMS) key and the AWS Identity and Access Management (IAM) role that Amazon Forecast can assume to access the key.", + "DataFrequency": "The frequency of data collection. This parameter is required for RELATED_TIME_SERIES datasets. Valid intervals are Y (Year), M (Month), W (Week), D (Day), H (Hour), 30min (30 minutes), 15min (15 minutes), 10min (10 minutes), 5min (5 minutes), and 1min (1 minute). For example, \"D\" indicates every day and \"15min\" indicates every 15 minutes." +} +""" +CreateDataset(args) = forecast("CreateDataset", args) + +""" + GetAccuracyMetrics() + +Provides metrics on the accuracy of the models that were trained by the CreatePredictor operation. Use metrics to see how well the model performed and to decide whether to use the predictor to generate a forecast. For more information, see metrics. This operation generates metrics for each backtest window that was evaluated. The number of backtest windows (NumberOfBacktestWindows) is specified using the EvaluationParameters object, which is optionally included in the CreatePredictor request. If NumberOfBacktestWindows isn't specified, the number defaults to one. The parameters of the filling method determine which items contribute to the metrics. If you want all items to contribute, specify zero. If you want only those items that have complete data in the range being evaluated to contribute, specify nan. For more information, see FeaturizationMethod. Before you can get accuracy metrics, the Status of the predictor must be ACTIVE, signifying that training has completed. To get the status, use the DescribePredictor operation. + +Required Parameters +{ + "PredictorArn": "The Amazon Resource Name (ARN) of the predictor to get metrics for." +} +""" +GetAccuracyMetrics(args) = forecast("GetAccuracyMetrics", args) diff --git a/src/services/forecastquery.jl b/src/services/forecastquery.jl new file mode 100644 index 0000000000..ed3c2ef30f --- /dev/null +++ b/src/services/forecastquery.jl @@ -0,0 +1,22 @@ +include("../AWSServices.jl") +using .AWSServices: forecastquery + +""" + QueryForecast() + +Retrieves a forecast for a single item, filtered by the supplied criteria. The criteria is a key-value pair. The key is either item_id (or the equivalent non-timestamp, non-target field) from the TARGET_TIME_SERIES dataset, or one of the forecast dimensions specified as part of the FeaturizationConfig object. By default, QueryForecast returns the complete date range for the filtered forecast. You can request a specific date range. To get the full forecast, use the CreateForecastExportJob operation. The forecasts generated by Amazon Forecast are in the same timezone as the dataset that was used to create the predictor. + +Required Parameters +{ + "Filters": "The filtering criteria to apply when retrieving the forecast. For example, to get the forecast for client_21 in the electricity usage dataset, specify the following: {\"item_id\" : \"client_21\"} To get the full forecast, use the CreateForecastExportJob operation.", + "ForecastArn": "The Amazon Resource Name (ARN) of the forecast to query." +} + +Optional Parameters +{ + "EndDate": "The end date for the forecast. Specify the date using this format: yyyy-MM-dd'T'HH:mm:ss (ISO 8601 format). For example, 2015-01-01T20:00:00. ", + "NextToken": "If the result of the previous request was truncated, the response includes a NextToken. To retrieve the next set of results, use the token in the next request. Tokens expire after 24 hours.", + "StartDate": "The start date for the forecast. Specify the date using this format: yyyy-MM-dd'T'HH:mm:ss (ISO 8601 format). For example, 2015-01-01T08:00:00." +} +""" +QueryForecast(args) = forecastquery("QueryForecast", args) diff --git a/src/services/frauddetector.jl b/src/services/frauddetector.jl new file mode 100644 index 0000000000..949f309a04 --- /dev/null +++ b/src/services/frauddetector.jl @@ -0,0 +1,498 @@ +include("../AWSServices.jl") +using .AWSServices: frauddetector + +""" + GetOutcomes() + +Gets one or more outcomes. This is a paginated API. If you provide a null maxSizePerPage, this actions retrieves a maximum of 10 records per page. If you provide a maxSizePerPage, the value must be between 50 and 100. To get the next page results, provide the pagination token from the GetOutcomesResult as part of your request. A null pagination token fetches the records from the beginning. + +Optional Parameters +{ + "name": "The name of the outcome or outcomes to get.", + "maxResults": "The maximum number of objects to return for the request. ", + "nextToken": "The next page token for the request. " +} +""" +GetOutcomes() = frauddetector("GetOutcomes") +GetOutcomes(args) = frauddetector("GetOutcomes", args) + +""" + DescribeDetector() + +Gets all versions for a specified detector. + +Required Parameters +{ + "detectorId": "The detector ID." +} + +Optional Parameters +{ + "maxResults": "The maximum number of results to return for the request.", + "nextToken": "The next token from the previous response." +} +""" +DescribeDetector(args) = frauddetector("DescribeDetector", args) + +""" + GetModelVersion() + +Gets a model version. + +Required Parameters +{ + "modelType": "The model type. ", + "modelVersionNumber": "The model version. ", + "modelId": "The model ID. " +} +""" +GetModelVersion(args) = frauddetector("GetModelVersion", args) + +""" + DeleteEvent() + +Deletes the specified event. + +Required Parameters +{ + "eventId": "The ID of the event to delete." +} +""" +DeleteEvent(args) = frauddetector("DeleteEvent", args) + +""" + GetVariables() + +Gets all of the variables or the specific variable. This is a paginated API. Providing null maxSizePerPage results in retrieving maximum of 100 records per page. If you provide maxSizePerPage the value must be between 50 and 100. To get the next page result, a provide a pagination token from GetVariablesResult as part of your request. Null pagination token fetches the records from the beginning. + +Optional Parameters +{ + "name": "The name of the variable. ", + "maxResults": "The max size per page determined for the get variable request. ", + "nextToken": "The next page token of the get variable request. " +} +""" +GetVariables() = frauddetector("GetVariables") +GetVariables(args) = frauddetector("GetVariables", args) + +""" + UpdateDetectorVersionMetadata() + +Updates the detector version's description. You can update the metadata for any detector version (DRAFT, ACTIVE, or INACTIVE). + +Required Parameters +{ + "detectorId": "The detector ID.", + "detectorVersionId": "The detector version ID. ", + "description": "The description." +} +""" +UpdateDetectorVersionMetadata(args) = frauddetector("UpdateDetectorVersionMetadata", args) + +""" + PutModel() + +Creates or updates a model. + +Required Parameters +{ + "modelType": "The model type. ", + "modelVariables": "The model input variables.", + "trainingDataSource": "The training data source location in Amazon S3. ", + "labelSchema": "The label schema.", + "modelId": "The model ID." +} + +Optional Parameters +{ + "description": "The model description. " +} +""" +PutModel(args) = frauddetector("PutModel", args) + +""" + BatchCreateVariable() + +Creates a batch of variables. + +Required Parameters +{ + "variableEntries": "The list of variables for the batch create variable request." +} +""" +BatchCreateVariable(args) = frauddetector("BatchCreateVariable", args) + +""" + CreateVariable() + +Creates a variable. + +Required Parameters +{ + "name": "The name of the variable.", + "dataSource": "The source of the data.", + "dataType": "The data type.", + "defaultValue": "The default value for the variable when no value is received." +} + +Optional Parameters +{ + "variableType": "The variable type.", + "description": "The description." +} +""" +CreateVariable(args) = frauddetector("CreateVariable", args) + +""" + GetExternalModels() + +Gets the details for one or more Amazon SageMaker models that have been imported into the service. This is a paginated API. If you provide a null maxSizePerPage, this actions retrieves a maximum of 10 records per page. If you provide a maxSizePerPage, the value must be between 5 and 10. To get the next page results, provide the pagination token from the GetExternalModelsResult as part of your request. A null pagination token fetches the records from the beginning. + +Optional Parameters +{ + "modelEndpoint": "The Amazon SageMaker model endpoint.", + "maxResults": "The maximum number of objects to return for the request.", + "nextToken": "The next page token for the request." +} +""" +GetExternalModels() = frauddetector("GetExternalModels") +GetExternalModels(args) = frauddetector("GetExternalModels", args) + +""" + CreateRule() + +Creates a rule for use with the specified detector. + +Required Parameters +{ + "detectorId": "The detector ID for the rule's parent detector.", + "ruleId": "The rule ID.", + "expression": "The rule expression.", + "language": "The language of the rule.", + "outcomes": "The outcome or outcomes returned when the rule expression matches." +} + +Optional Parameters +{ + "description": "The rule description." +} +""" +CreateRule(args) = frauddetector("CreateRule", args) + +""" + PutOutcome() + +Creates or updates an outcome. + +Required Parameters +{ + "name": "The name of the outcome." +} + +Optional Parameters +{ + "description": "The outcome description." +} +""" +PutOutcome(args) = frauddetector("PutOutcome", args) + +""" + CreateModelVersion() + +Creates a version of the model using the specified model type. + +Required Parameters +{ + "modelType": "The model type.", + "modelId": "The model ID. " +} + +Optional Parameters +{ + "description": "The model version description." +} +""" +CreateModelVersion(args) = frauddetector("CreateModelVersion", args) + +""" + GetModels() + +Gets all of the models for the AWS account, or the specified model type, or gets a single model for the specified model type, model ID combination. + +Optional Parameters +{ + "modelType": "The model type.", + "modelId": "The model ID.", + "maxResults": "The maximum results to return for the request.", + "nextToken": "The next token for the request." +} +""" +GetModels() = frauddetector("GetModels") +GetModels(args) = frauddetector("GetModels", args) + +""" + GetPrediction() + +Evaluates an event against a detector version. If a version ID is not provided, the detector’s (ACTIVE) version is used. + +Required Parameters +{ + "detectorId": "The detector ID. ", + "eventId": "The unique ID used to identify the event." +} + +Optional Parameters +{ + "externalModelEndpointDataBlobs": "The Amazon SageMaker model endpoint input data blobs.", + "detectorVersionId": "The detector version ID.", + "eventAttributes": "Names of variables you defined in Amazon Fraud Detector to represent event data elements and their corresponding values for the event you are sending for evaluation." +} +""" +GetPrediction(args) = frauddetector("GetPrediction", args) + +""" + UpdateDetectorVersionStatus() + +Updates the detector version’s status. You can perform the following promotions or demotions using UpdateDetectorVersionStatus: DRAFT to ACTIVE, ACTIVE to INACTIVE, and INACTIVE to ACTIVE. + +Required Parameters +{ + "detectorId": "The detector ID. ", + "detectorVersionId": "The detector version ID. ", + "status": "The new status." +} +""" +UpdateDetectorVersionStatus(args) = frauddetector("UpdateDetectorVersionStatus", args) + +""" + UpdateVariable() + +Updates a variable. + +Required Parameters +{ + "name": "The name of the variable." +} + +Optional Parameters +{ + "variableType": "The variable type.", + "defaultValue": "The new default value of the variable.", + "description": "The new description." +} +""" +UpdateVariable(args) = frauddetector("UpdateVariable", args) + +""" + GetRules() + +Gets all rules available for the specified detector. + +Required Parameters +{ + "detectorId": "The detector ID." +} + +Optional Parameters +{ + "ruleId": "The rule ID.", + "ruleVersion": "The rule version.", + "maxResults": "The maximum number of rules to return for the request.", + "nextToken": "The next page token." +} +""" +GetRules(args) = frauddetector("GetRules", args) + +""" + DescribeModelVersions() + +Gets all of the model versions for the specified model type or for the specified model type and model ID. You can also get details for a single, specified model version. + +Optional Parameters +{ + "modelType": "The model type.", + "modelVersionNumber": "The model version. ", + "modelId": "The model ID.", + "maxResults": "The maximum number of results to return.", + "nextToken": "The next token from the previous results." +} +""" +DescribeModelVersions() = frauddetector("DescribeModelVersions") +DescribeModelVersions(args) = frauddetector("DescribeModelVersions", args) + +""" + UpdateDetectorVersion() + + Updates a detector version. The detector version attributes that you can update include models, external model endpoints, rules, and description. You can only update a DRAFT detector version. + +Required Parameters +{ + "detectorId": "The parent detector ID for the detector version you want to update.", + "externalModelEndpoints": "The Amazon SageMaker model endpoints to include in the detector version.", + "detectorVersionId": "The detector version ID. ", + "rules": "The rules to include in the detector version." +} + +Optional Parameters +{ + "modelVersions": "The model versions to include in the detector version.", + "description": "The detector version description. " +} +""" +UpdateDetectorVersion(args) = frauddetector("UpdateDetectorVersion", args) + +""" + GetDetectorVersion() + +Gets a particular detector version. + +Required Parameters +{ + "detectorId": "The detector ID.", + "detectorVersionId": "The detector version ID." +} +""" +GetDetectorVersion(args) = frauddetector("GetDetectorVersion", args) + +""" + DeleteDetectorVersion() + +Deletes the detector version. + +Required Parameters +{ + "detectorId": "The ID of the parent detector for the detector version to delete.", + "detectorVersionId": "The ID of the detector version to delete." +} +""" +DeleteDetectorVersion(args) = frauddetector("DeleteDetectorVersion", args) + +""" + UpdateModelVersion() + +Updates a model version. You can update the description and status attributes using this action. You can perform the following status updates: Change the TRAINING_COMPLETE status to ACTIVE Change ACTIVE back to TRAINING_COMPLETE + +Required Parameters +{ + "modelType": "The model type.", + "modelVersionNumber": "The model version.", + "status": "The new model status.", + "modelId": "The model ID.", + "description": "The model description." +} +""" +UpdateModelVersion(args) = frauddetector("UpdateModelVersion", args) + +""" + PutDetector() + +Creates or updates a detector. + +Required Parameters +{ + "detectorId": "The detector ID. " +} + +Optional Parameters +{ + "description": "The description of the detector." +} +""" +PutDetector(args) = frauddetector("PutDetector", args) + +""" + UpdateRuleMetadata() + +Updates a rule's metadata. + +Required Parameters +{ + "rule": "The rule to update.", + "description": "The rule description." +} +""" +UpdateRuleMetadata(args) = frauddetector("UpdateRuleMetadata", args) + +""" + BatchGetVariable() + +Gets a batch of variables. + +Required Parameters +{ + "names": "The list of variable names to get." +} +""" +BatchGetVariable(args) = frauddetector("BatchGetVariable", args) + +""" + PutExternalModel() + +Creates or updates an Amazon SageMaker model endpoint. You can also use this action to update the configuration of the model endpoint, including the IAM role and/or the mapped variables. + +Required Parameters +{ + "modelEndpoint": "The model endpoints name.", + "role": "The IAM role used to invoke the model endpoint.", + "modelEndpointStatus": "The model endpoint’s status in Amazon Fraud Detector.", + "outputConfiguration": "The model endpoint output configuration.", + "modelSource": "The source of the model.", + "inputConfiguration": "The model endpoint input configuration." +} +""" +PutExternalModel(args) = frauddetector("PutExternalModel", args) + +""" + UpdateRuleVersion() + +Updates a rule version resulting in a new rule version. + +Required Parameters +{ + "expression": "The rule expression.", + "language": "The language.", + "outcomes": "The outcomes.", + "rule": "The rule to update." +} + +Optional Parameters +{ + "description": "The description." +} +""" +UpdateRuleVersion(args) = frauddetector("UpdateRuleVersion", args) + +""" + CreateDetectorVersion() + +Creates a detector version. The detector version starts in a DRAFT status. + +Required Parameters +{ + "detectorId": "The ID of the detector under which you want to create a new version.", + "rules": "The rules to include in the detector version." +} + +Optional Parameters +{ + "externalModelEndpoints": "The Amazon Sagemaker model endpoints to include in the detector version.", + "modelVersions": "The model versions to include in the detector version.", + "description": "The description of the detector version." +} +""" +CreateDetectorVersion(args) = frauddetector("CreateDetectorVersion", args) + +""" + GetDetectors() + +Gets all of detectors. This is a paginated API. If you provide a null maxSizePerPage, this actions retrieves a maximum of 10 records per page. If you provide a maxSizePerPage, the value must be between 5 and 10. To get the next page results, provide the pagination token from the GetEventTypesResponse as part of your request. A null pagination token fetches the records from the beginning. + +Optional Parameters +{ + "detectorId": "The detector ID.", + "maxResults": "The maximum number of objects to return for the request.", + "nextToken": "The next token for the subsequent request." +} +""" +GetDetectors() = frauddetector("GetDetectors") +GetDetectors(args) = frauddetector("GetDetectors", args) diff --git a/src/services/fsx.jl b/src/services/fsx.jl new file mode 100644 index 0000000000..bb2a5aeccd --- /dev/null +++ b/src/services/fsx.jl @@ -0,0 +1,245 @@ +include("../AWSServices.jl") +using .AWSServices: fsx + +""" + ListTagsForResource() + +Lists tags for an Amazon FSx file systems and backups in the case of Amazon FSx for Windows File Server. When retrieving all tags, you can optionally specify the MaxResults parameter to limit the number of tags in a response. If more tags remain, Amazon FSx returns a NextToken value in the response. In this case, send a later request with the NextToken request parameter set to the value of NextToken from the last response. This action is used in an iterative process to retrieve a list of your tags. ListTagsForResource is called first without a NextTokenvalue. Then the action continues to be called with the NextToken parameter set to the value of the last NextToken value until a response has no NextToken. When using this action, keep the following in mind: The implementation might return fewer than MaxResults file system descriptions while still including a NextToken value. The order of tags returned in the response of one ListTagsForResource call and the order of tags returned across the responses of a multi-call iteration is unspecified. + +Required Parameters +{ + "ResourceARN": "The ARN of the Amazon FSx resource that will have its tags listed." +} + +Optional Parameters +{ + "MaxResults": "(Optional) Maximum number of tags to return in the response (integer). This parameter value must be greater than 0. The number of items that Amazon FSx returns is the minimum of the MaxResults parameter specified in the request and the service's internal maximum number of items per page.", + "NextToken": "(Optional) Opaque pagination token returned from a previous ListTagsForResource operation (String). If a token present, the action continues the list from where the returning call left off." +} +""" +ListTagsForResource(args) = fsx("ListTagsForResource", args) + +""" + CreateFileSystemFromBackup() + +Creates a new Amazon FSx file system from an existing Amazon FSx for Windows File Server backup. If a file system with the specified client request token exists and the parameters match, this operation returns the description of the file system. If a client request token specified by the file system exists and the parameters don't match, this call returns IncompatibleParameterError. If a file system with the specified client request token doesn't exist, this operation does the following: Creates a new Amazon FSx file system from backup with an assigned ID, and an initial lifecycle state of CREATING. Returns the description of the file system. Parameters like Active Directory, default share name, automatic backup, and backup settings default to the parameters of the file system that was backed up, unless overridden. You can explicitly supply other settings. By using the idempotent operation, you can retry a CreateFileSystemFromBackup call without the risk of creating an extra file system. This approach can be useful when an initial call fails in a way that makes it unclear whether a file system was created. Examples are if a transport level timeout occurred, or your connection was reset. If you use the same client request token and the initial call created a file system, the client receives success as long as the parameters are the same. The CreateFileSystemFromBackup call returns while the file system's lifecycle state is still CREATING. You can check the file-system creation status by calling the DescribeFileSystems operation, which returns the file system state along with other information. + +Required Parameters +{ + "BackupId": "", + "SubnetIds": "Specifies the IDs of the subnets that the file system will be accessible from. For Windows MULTI_AZ_1 file system deployment types, provide exactly two subnet IDs, one for the preferred file server and one for the standby file server. You specify one of these subnets as the preferred subnet using the WindowsConfiguration > PreferredSubnetID property. For Windows SINGLE_AZ_1 and SINGLE_AZ_2 deployment types and Lustre file systems, provide exactly one subnet ID. The file server is launched in that subnet's Availability Zone." +} + +Optional Parameters +{ + "WindowsConfiguration": "The configuration for this Microsoft Windows file system.", + "ClientRequestToken": "(Optional) A string of up to 64 ASCII characters that Amazon FSx uses to ensure idempotent creation. This string is automatically filled on your behalf when you use the AWS Command Line Interface (AWS CLI) or an AWS SDK.", + "SecurityGroupIds": "A list of IDs for the security groups that apply to the specified network interfaces created for file system access. These security groups apply to all network interfaces. This value isn't returned in later DescribeFileSystem requests.", + "Tags": "The tags to be applied to the file system at file system creation. The key value of the Name tag appears in the console as the file system name.", + "StorageType": "Sets the storage type for the Windows file system you're creating from a backup. Valid values are SSD and HDD. Set to SSD to use solid state drive storage. Supported on all Windows deployment types. Set to HDD to use hard disk drive storage. Supported on SINGLE_AZ_2 and MULTI_AZ_1 Windows file system deployment types. Default value is SSD. HDD and SSD storage types have different minimum storage capacity requirements. A restored file system's storage capacity is tied to the file system that was backed up. You can create a file system that uses HDD storage from a backup of a file system that used SSD storage only if the original SSD file system had a storage capacity of at least 2000 GiB. " +} +""" +CreateFileSystemFromBackup(args) = fsx("CreateFileSystemFromBackup", args) + +""" + UpdateFileSystem() + +Updates a file system configuration. + +Required Parameters +{ + "FileSystemId": "" +} + +Optional Parameters +{ + "WindowsConfiguration": "The configuration update for this Microsoft Windows file system. The only supported options are for backup and maintenance and for self-managed Active Directory configuration.", + "ClientRequestToken": "(Optional) A string of up to 64 ASCII characters that Amazon FSx uses to ensure idempotent updates. This string is automatically filled on your behalf when you use the AWS Command Line Interface (AWS CLI) or an AWS SDK.", + "LustreConfiguration": "" +} +""" +UpdateFileSystem(args) = fsx("UpdateFileSystem", args) + +""" + DescribeBackups() + +Returns the description of specific Amazon FSx for Windows File Server backups, if a BackupIds value is provided for that backup. Otherwise, it returns all backups owned by your AWS account in the AWS Region of the endpoint that you're calling. When retrieving all backups, you can optionally specify the MaxResults parameter to limit the number of backups in a response. If more backups remain, Amazon FSx returns a NextToken value in the response. In this case, send a later request with the NextToken request parameter set to the value of NextToken from the last response. This action is used in an iterative process to retrieve a list of your backups. DescribeBackups is called first without a NextTokenvalue. Then the action continues to be called with the NextToken parameter set to the value of the last NextToken value until a response has no NextToken. When using this action, keep the following in mind: The implementation might return fewer than MaxResults file system descriptions while still including a NextToken value. The order of backups returned in the response of one DescribeBackups call and the order of backups returned across the responses of a multi-call iteration is unspecified. + +Optional Parameters +{ + "MaxResults": "(Optional) Maximum number of backups to return in the response (integer). This parameter value must be greater than 0. The number of items that Amazon FSx returns is the minimum of the MaxResults parameter specified in the request and the service's internal maximum number of items per page.", + "NextToken": "(Optional) Opaque pagination token returned from a previous DescribeBackups operation (String). If a token present, the action continues the list from where the returning call left off.", + "BackupIds": "(Optional) IDs of the backups you want to retrieve (String). This overrides any filters. If any IDs are not found, BackupNotFound will be thrown.", + "Filters": "(Optional) Filters structure. Supported names are file-system-id and backup-type." +} +""" +DescribeBackups() = fsx("DescribeBackups") +DescribeBackups(args) = fsx("DescribeBackups", args) + +""" + CreateBackup() + +Creates a backup of an existing Amazon FSx for Windows File Server file system. Creating regular backups for your file system is a best practice that complements the replication that Amazon FSx for Windows File Server performs for your file system. It also enables you to restore from user modification of data. If a backup with the specified client request token exists, and the parameters match, this operation returns the description of the existing backup. If a backup specified client request token exists, and the parameters don't match, this operation returns IncompatibleParameterError. If a backup with the specified client request token doesn't exist, CreateBackup does the following: Creates a new Amazon FSx backup with an assigned ID, and an initial lifecycle state of CREATING. Returns the description of the backup. By using the idempotent operation, you can retry a CreateBackup operation without the risk of creating an extra backup. This approach can be useful when an initial call fails in a way that makes it unclear whether a backup was created. If you use the same client request token and the initial call created a backup, the operation returns a successful result because all the parameters are the same. The CreateFileSystem operation returns while the backup's lifecycle state is still CREATING. You can check the file system creation status by calling the DescribeBackups operation, which returns the backup state along with other information. + +Required Parameters +{ + "FileSystemId": "The ID of the file system to back up." +} + +Optional Parameters +{ + "ClientRequestToken": "(Optional) A string of up to 64 ASCII characters that Amazon FSx uses to ensure idempotent creation. This string is automatically filled on your behalf when you use the AWS Command Line Interface (AWS CLI) or an AWS SDK.", + "Tags": "The tags to apply to the backup at backup creation. The key value of the Name tag appears in the console as the backup name." +} +""" +CreateBackup(args) = fsx("CreateBackup", args) + +""" + TagResource() + +Tags an Amazon FSx resource. + +Required Parameters +{ + "ResourceARN": "The Amazon Resource Name (ARN) of the Amazon FSx resource that you want to tag.", + "Tags": "A list of tags for the resource. If a tag with a given key already exists, the value is replaced by the one specified in this parameter." +} +""" +TagResource(args) = fsx("TagResource", args) + +""" + UntagResource() + +This action removes a tag from an Amazon FSx resource. + +Required Parameters +{ + "ResourceARN": "The ARN of the Amazon FSx resource to untag.", + "TagKeys": "A list of keys of tags on the resource to untag. In case the tag key doesn't exist, the call will still succeed to be idempotent." +} +""" +UntagResource(args) = fsx("UntagResource", args) + +""" + DescribeFileSystems() + +Returns the description of specific Amazon FSx file systems, if a FileSystemIds value is provided for that file system. Otherwise, it returns descriptions of all file systems owned by your AWS account in the AWS Region of the endpoint that you're calling. When retrieving all file system descriptions, you can optionally specify the MaxResults parameter to limit the number of descriptions in a response. If more file system descriptions remain, Amazon FSx returns a NextToken value in the response. In this case, send a later request with the NextToken request parameter set to the value of NextToken from the last response. This action is used in an iterative process to retrieve a list of your file system descriptions. DescribeFileSystems is called first without a NextTokenvalue. Then the action continues to be called with the NextToken parameter set to the value of the last NextToken value until a response has no NextToken. When using this action, keep the following in mind: The implementation might return fewer than MaxResults file system descriptions while still including a NextToken value. The order of file systems returned in the response of one DescribeFileSystems call and the order of file systems returned across the responses of a multicall iteration is unspecified. + +Optional Parameters +{ + "MaxResults": "(Optional) Maximum number of file systems to return in the response (integer). This parameter value must be greater than 0. The number of items that Amazon FSx returns is the minimum of the MaxResults parameter specified in the request and the service's internal maximum number of items per page.", + "NextToken": "(Optional) Opaque pagination token returned from a previous DescribeFileSystems operation (String). If a token present, the action continues the list from where the returning call left off.", + "FileSystemIds": "(Optional) IDs of the file systems whose descriptions you want to retrieve (String)." +} +""" +DescribeFileSystems() = fsx("DescribeFileSystems") +DescribeFileSystems(args) = fsx("DescribeFileSystems", args) + +""" + CreateDataRepositoryTask() + +Creates an Amazon FSx for Lustre data repository task. You use data repository tasks to perform bulk operations between your Amazon FSx file system and its linked data repository. An example of a data repository task is exporting any data and metadata changes, including POSIX metadata, to files, directories, and symbolic links (symlinks) from your FSx file system to its linked data repository. A CreateDataRepositoryTask operation will fail if a data repository is not linked to the FSx file system. To learn more about data repository tasks, see Using Data Repository Tasks. To learn more about linking a data repository to your file system, see Setting the Export Prefix. + +Required Parameters +{ + "Report": "Defines whether or not Amazon FSx provides a CompletionReport once the task has completed. A CompletionReport provides a detailed report on the files that Amazon FSx processed that meet the criteria specified by the Scope parameter. For more information, see Working with Task Completion Reports.", + "Type": "Specifies the type of data repository task to create.", + "FileSystemId": "" +} + +Optional Parameters +{ + "ClientRequestToken": "", + "Tags": "", + "Paths": "(Optional) The path or paths on the Amazon FSx file system to use when the data repository task is processed. The default path is the file system root directory. The paths you provide need to be relative to the mount point of the file system. If the mount point is /mnt/fsx and /mnt/fsx/path1 is a directory or file on the file system you want to export, then the path to provide is path1. If a path that you provide isn't valid, the task fails." +} +""" +CreateDataRepositoryTask(args) = fsx("CreateDataRepositoryTask", args) + +""" + CreateFileSystem() + +Creates a new, empty Amazon FSx file system. If a file system with the specified client request token exists and the parameters match, CreateFileSystem returns the description of the existing file system. If a file system specified client request token exists and the parameters don't match, this call returns IncompatibleParameterError. If a file system with the specified client request token doesn't exist, CreateFileSystem does the following: Creates a new, empty Amazon FSx file system with an assigned ID, and an initial lifecycle state of CREATING. Returns the description of the file system. This operation requires a client request token in the request that Amazon FSx uses to ensure idempotent creation. This means that calling the operation multiple times with the same client request token has no effect. By using the idempotent operation, you can retry a CreateFileSystem operation without the risk of creating an extra file system. This approach can be useful when an initial call fails in a way that makes it unclear whether a file system was created. Examples are if a transport level timeout occurred, or your connection was reset. If you use the same client request token and the initial call created a file system, the client receives success as long as the parameters are the same. The CreateFileSystem call returns while the file system's lifecycle state is still CREATING. You can check the file-system creation status by calling the DescribeFileSystems operation, which returns the file system state along with other information. + +Required Parameters +{ + "StorageCapacity": "Sets the storage capacity of the file system that you're creating. For Lustre file systems: For SCRATCH_2 and PERSISTENT_1 deployment types, valid values are 1.2, 2.4, and increments of 2.4 TiB. For SCRATCH_1 deployment type, valid values are 1.2, 2.4, and increments of 3.6 TiB. For Windows file systems: If StorageType=SSD, valid values are 32 GiB - 65,536 GiB (64 TiB). If StorageType=HDD, valid values are 2000 GiB - 65,536 GiB (64 TiB). ", + "SubnetIds": "Specifies the IDs of the subnets that the file system will be accessible from. For Windows MULTI_AZ_1 file system deployment types, provide exactly two subnet IDs, one for the preferred file server and one for the standby file server. You specify one of these subnets as the preferred subnet using the WindowsConfiguration > PreferredSubnetID property. For Windows SINGLE_AZ_1 and SINGLE_AZ_2 file system deployment types and Lustre file systems, provide exactly one subnet ID. The file server is launched in that subnet's Availability Zone.", + "FileSystemType": "The type of Amazon FSx file system to create, either WINDOWS or LUSTRE." +} + +Optional Parameters +{ + "WindowsConfiguration": "The Microsoft Windows configuration for the file system being created. ", + "ClientRequestToken": "(Optional) A string of up to 64 ASCII characters that Amazon FSx uses to ensure idempotent creation. This string is automatically filled on your behalf when you use the AWS Command Line Interface (AWS CLI) or an AWS SDK.", + "SecurityGroupIds": "A list of IDs specifying the security groups to apply to all network interfaces created for file system access. This list isn't returned in later requests to describe the file system.", + "Tags": "The tags to apply to the file system being created. The key value of the Name tag appears in the console as the file system name.", + "LustreConfiguration": "", + "StorageType": "Sets the storage type for the Amazon FSx for Windows file system you're creating. Valid values are SSD and HDD. Set to SSD to use solid state drive storage. SSD is supported on all Windows deployment types. Set to HDD to use hard disk drive storage. HDD is supported on SINGLE_AZ_2 and MULTI_AZ_1 Windows file system deployment types. Default value is SSD. For more information, see Storage Type Options in the Amazon FSx for Windows User Guide. ", + "KmsKeyId": "" +} +""" +CreateFileSystem(args) = fsx("CreateFileSystem", args) + +""" + DeleteBackup() + +Deletes an Amazon FSx for Windows File Server backup, deleting its contents. After deletion, the backup no longer exists, and its data is gone. The DeleteBackup call returns instantly. The backup will not show up in later DescribeBackups calls. The data in a deleted backup is also deleted and can't be recovered by any means. + +Required Parameters +{ + "BackupId": "The ID of the backup you want to delete." +} + +Optional Parameters +{ + "ClientRequestToken": "(Optional) A string of up to 64 ASCII characters that Amazon FSx uses to ensure idempotent deletion. This is automatically filled on your behalf when using the AWS CLI or SDK." +} +""" +DeleteBackup(args) = fsx("DeleteBackup", args) + +""" + DescribeDataRepositoryTasks() + +Returns the description of specific Amazon FSx for Lustre data repository tasks, if one or more TaskIds values are provided in the request, or if filters are used in the request. You can use filters to narrow the response to include just tasks for specific file systems, or tasks in a specific lifecycle state. Otherwise, it returns all data repository tasks owned by your AWS account in the AWS Region of the endpoint that you're calling. When retrieving all tasks, you can paginate the response by using the optional MaxResults parameter to limit the number of tasks returned in a response. If more tasks remain, Amazon FSx returns a NextToken value in the response. In this case, send a later request with the NextToken request parameter set to the value of NextToken from the last response. + +Optional Parameters +{ + "MaxResults": "", + "NextToken": "", + "TaskIds": "(Optional) IDs of the tasks whose descriptions you want to retrieve (String).", + "Filters": "(Optional) You can use filters to narrow the DescribeDataRepositoryTasks response to include just tasks for specific file systems, or tasks in a specific lifecycle state." +} +""" +DescribeDataRepositoryTasks() = fsx("DescribeDataRepositoryTasks") +DescribeDataRepositoryTasks(args) = fsx("DescribeDataRepositoryTasks", args) + +""" + DeleteFileSystem() + +Deletes a file system, deleting its contents. After deletion, the file system no longer exists, and its data is gone. Any existing automatic backups will also be deleted. By default, when you delete an Amazon FSx for Windows File Server file system, a final backup is created upon deletion. This final backup is not subject to the file system's retention policy, and must be manually deleted. The DeleteFileSystem action returns while the file system has the DELETING status. You can check the file system deletion status by calling the DescribeFileSystems action, which returns a list of file systems in your account. If you pass the file system ID for a deleted file system, the DescribeFileSystems returns a FileSystemNotFound error. Deleting an Amazon FSx for Lustre file system will fail with a 400 BadRequest if a data repository task is in a PENDING or EXECUTING state. The data in a deleted file system is also deleted and can't be recovered by any means. + +Required Parameters +{ + "FileSystemId": "The ID of the file system you want to delete." +} + +Optional Parameters +{ + "WindowsConfiguration": "", + "ClientRequestToken": "(Optional) A string of up to 64 ASCII characters that Amazon FSx uses to ensure idempotent deletion. This is automatically filled on your behalf when using the AWS CLI or SDK." +} +""" +DeleteFileSystem(args) = fsx("DeleteFileSystem", args) + +""" + CancelDataRepositoryTask() + +Cancels an existing Amazon FSx for Lustre data repository task if that task is in either the PENDING or EXECUTING state. When you cancel a task, Amazon FSx does the following. Any files that FSx has already exported are not reverted. FSx continues to export any files that are "in-flight" when the cancel operation is received. FSx does not export any files that have not yet been exported. + +Required Parameters +{ + "TaskId": "Specifies the data repository task to cancel." +} +""" +CancelDataRepositoryTask(args) = fsx("CancelDataRepositoryTask", args) diff --git a/src/services/gamelift.jl b/src/services/gamelift.jl new file mode 100644 index 0000000000..39b5414e45 --- /dev/null +++ b/src/services/gamelift.jl @@ -0,0 +1,1209 @@ +include("../AWSServices.jl") +using .AWSServices: gamelift + +""" + UpdateGameSession() + +Updates game session properties. This includes the session name, maximum player count, protection policy, which controls whether or not an active game session can be terminated during a scale-down event, and the player session creation policy, which controls whether or not new players can join the session. To update a game session, specify the game session ID and the values you want to change. If successful, an updated GameSession object is returned. CreateGameSession DescribeGameSessions DescribeGameSessionDetails SearchGameSessions UpdateGameSession GetGameSessionLogUrl Game session placements StartGameSessionPlacement DescribeGameSessionPlacement StopGameSessionPlacement + +Required Parameters +{ + "GameSessionId": "A unique identifier for the game session to update. " +} + +Optional Parameters +{ + "MaximumPlayerSessionCount": "The maximum number of players that can be connected simultaneously to the game session.", + "ProtectionPolicy": "Game session protection policy to apply to this game session only. NoProtection -- The game session can be terminated during a scale-down event. FullProtection -- If the game session is in an ACTIVE status, it cannot be terminated during a scale-down event. ", + "Name": "A descriptive label that is associated with a game session. Session names do not need to be unique.", + "PlayerSessionCreationPolicy": "Policy determining whether or not the game session accepts new players." +} +""" +UpdateGameSession(args) = gamelift("UpdateGameSession", args) + +""" + DescribeScalingPolicies() + +Retrieves all scaling policies applied to a fleet. To get a fleet's scaling policies, specify the fleet ID. You can filter this request by policy status, such as to retrieve only active scaling policies. Use the pagination parameters to retrieve results as a set of sequential pages. If successful, set of ScalingPolicy objects is returned for the fleet. A fleet may have all of its scaling policies suspended (StopFleetActions). This action does not affect the status of the scaling policies, which remains ACTIVE. To see whether a fleet's scaling policies are in force or suspended, call DescribeFleetAttributes and check the stopped actions. DescribeFleetCapacity UpdateFleetCapacity DescribeEC2InstanceLimits Manage scaling policies: PutScalingPolicy (auto-scaling) DescribeScalingPolicies (auto-scaling) DeleteScalingPolicy (auto-scaling) Manage fleet actions: StartFleetActions StopFleetActions + +Required Parameters +{ + "FleetId": "A unique identifier for a fleet to retrieve scaling policies for. You can use either the fleet ID or ARN value." +} + +Optional Parameters +{ + "NextToken": "Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value.", + "StatusFilter": "Scaling policy status to filter results on. A scaling policy is only in force when in an ACTIVE status. ACTIVE -- The scaling policy is currently in force. UPDATEREQUESTED -- A request to update the scaling policy has been received. UPDATING -- A change is being made to the scaling policy. DELETEREQUESTED -- A request to delete the scaling policy has been received. DELETING -- The scaling policy is being deleted. DELETED -- The scaling policy has been deleted. ERROR -- An error occurred in creating the policy. It should be removed and recreated. ", + "Limit": "The maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages." +} +""" +DescribeScalingPolicies(args) = gamelift("DescribeScalingPolicies", args) + +""" + UpdateRuntimeConfiguration() + +Updates the current runtime configuration for the specified fleet, which tells Amazon GameLift how to launch server processes on instances in the fleet. You can update a fleet's runtime configuration at any time after the fleet is created; it does not need to be in an ACTIVE status. To update runtime configuration, specify the fleet ID and provide a RuntimeConfiguration object with an updated set of server process configurations. Each instance in a Amazon GameLift fleet checks regularly for an updated runtime configuration and changes how it launches server processes to comply with the latest version. Existing server processes are not affected by the update; runtime configuration changes are applied gradually as existing processes shut down and new processes are launched during Amazon GameLift's normal process recycling activity. Learn more Working with Fleets. Related operations CreateFleet ListFleets DeleteFleet DescribeFleetAttributes Update fleets: UpdateFleetAttributes UpdateFleetCapacity UpdateFleetPortSettings UpdateRuntimeConfiguration Manage fleet actions: StartFleetActions StopFleetActions + +Required Parameters +{ + "FleetId": "A unique identifier for a fleet to update runtime configuration for. You can use either the fleet ID or ARN value.", + "RuntimeConfiguration": "Instructions for launching server processes on each instance in the fleet. Server processes run either a custom game build executable or a Realtime Servers script. The runtime configuration lists the types of server processes to run on an instance and includes the following configuration settings: the server executable or launch script file, launch parameters, and the number of processes to run concurrently on each instance. A CreateFleet request must include a runtime configuration with at least one server process configuration." +} +""" +UpdateRuntimeConfiguration(args) = gamelift("UpdateRuntimeConfiguration", args) + +""" + DescribeScript() + +Retrieves properties for a Realtime script. To request a script record, specify the script ID. If successful, an object containing the script properties is returned. Learn more Amazon GameLift Realtime Servers Related operations CreateScript ListScripts DescribeScript UpdateScript DeleteScript + +Required Parameters +{ + "ScriptId": "A unique identifier for a Realtime script to retrieve properties for. You can use either the script ID or ARN value." +} +""" +DescribeScript(args) = gamelift("DescribeScript", args) + +""" + DeleteMatchmakingRuleSet() + +Deletes an existing matchmaking rule set. To delete the rule set, provide the rule set name. Rule sets cannot be deleted if they are currently being used by a matchmaking configuration. Learn more Build a Rule Set Related operations CreateMatchmakingConfiguration DescribeMatchmakingConfigurations UpdateMatchmakingConfiguration DeleteMatchmakingConfiguration CreateMatchmakingRuleSet DescribeMatchmakingRuleSets ValidateMatchmakingRuleSet DeleteMatchmakingRuleSet + +Required Parameters +{ + "Name": "A unique identifier for a matchmaking rule set to be deleted. (Note: The rule set name is different from the optional \"name\" field in the rule set body.) You can use either the rule set name or ARN value." +} +""" +DeleteMatchmakingRuleSet(args) = gamelift("DeleteMatchmakingRuleSet", args) + +""" + DescribeMatchmakingConfigurations() + +Retrieves the details of FlexMatch matchmaking configurations. With this operation, you have the following options: (1) retrieve all existing configurations, (2) provide the names of one or more configurations to retrieve, or (3) retrieve all configurations that use a specified rule set name. When requesting multiple items, use the pagination parameters to retrieve results as a set of sequential pages. If successful, a configuration is returned for each requested name. When specifying a list of names, only configurations that currently exist are returned. Learn more Setting Up FlexMatch Matchmakers Related operations CreateMatchmakingConfiguration DescribeMatchmakingConfigurations UpdateMatchmakingConfiguration DeleteMatchmakingConfiguration CreateMatchmakingRuleSet DescribeMatchmakingRuleSets ValidateMatchmakingRuleSet DeleteMatchmakingRuleSet + +Optional Parameters +{ + "Names": "A unique identifier for a matchmaking configuration(s) to retrieve. You can use either the configuration name or ARN value. To request all existing configurations, leave this parameter empty.", + "NextToken": "A token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value.", + "RuleSetName": "A unique identifier for a matchmaking rule set. You can use either the rule set name or ARN value. Use this parameter to retrieve all matchmaking configurations that use this rule set.", + "Limit": "The maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages. This parameter is limited to 10." +} +""" +DescribeMatchmakingConfigurations() = gamelift("DescribeMatchmakingConfigurations") +DescribeMatchmakingConfigurations(args) = gamelift("DescribeMatchmakingConfigurations", args) + +""" + TagResource() + + Assigns a tag to a GameLift resource. AWS resource tags provide an additional management tool set. You can use tags to organize resources, create IAM permissions policies to manage access to groups of resources, customize AWS cost breakdowns, etc. This action handles the permissions necessary to manage tags for the following GameLift resource types: Build Script Fleet Alias GameSessionQueue MatchmakingConfiguration MatchmakingRuleSet To add a tag to a resource, specify the unique ARN value for the resource and provide a trig list containing one or more tags. The operation succeeds even if the list includes tags that are already assigned to the specified resource. Learn more Tagging AWS Resources in the AWS General Reference AWS Tagging Strategies Related operations TagResource UntagResource ListTagsForResource + +Required Parameters +{ + "ResourceARN": " The Amazon Resource Name (ARN) that is assigned to and uniquely identifies the GameLift resource that you want to assign tags to. GameLift resource ARNs are included in the data object for the resource, which can be retrieved by calling a List or Describe action for the resource type. ", + "Tags": "A list of one or more tags to assign to the specified GameLift resource. Tags are developer-defined and structured as key-value pairs. The maximum tag limit may be lower than stated. See Tagging AWS Resources for actual tagging limits." +} +""" +TagResource(args) = gamelift("TagResource", args) + +""" + DescribeMatchmakingRuleSets() + +Retrieves the details for FlexMatch matchmaking rule sets. You can request all existing rule sets for the Region, or provide a list of one or more rule set names. When requesting multiple items, use the pagination parameters to retrieve results as a set of sequential pages. If successful, a rule set is returned for each requested name. Learn more Build a Rule Set Related operations CreateMatchmakingConfiguration DescribeMatchmakingConfigurations UpdateMatchmakingConfiguration DeleteMatchmakingConfiguration CreateMatchmakingRuleSet DescribeMatchmakingRuleSets ValidateMatchmakingRuleSet DeleteMatchmakingRuleSet + +Optional Parameters +{ + "Names": "A list of one or more matchmaking rule set names to retrieve details for. (Note: The rule set name is different from the optional \"name\" field in the rule set body.) You can use either the rule set name or ARN value. ", + "NextToken": "A token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value.", + "Limit": "The maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages." +} +""" +DescribeMatchmakingRuleSets() = gamelift("DescribeMatchmakingRuleSets") +DescribeMatchmakingRuleSets(args) = gamelift("DescribeMatchmakingRuleSets", args) + +""" + CreatePlayerSession() + +Reserves an open player slot in an active game session. Before a player can be added, a game session must have an ACTIVE status, have a creation policy of ALLOW_ALL, and have an open player slot. To add a group of players to a game session, use CreatePlayerSessions. When the player connects to the game server and references a player session ID, the game server contacts the Amazon GameLift service to validate the player reservation and accept the player. To create a player session, specify a game session ID, player ID, and optionally a string of player data. If successful, a slot is reserved in the game session for the player and a new PlayerSession object is returned. Player sessions cannot be updated. Available in Amazon GameLift Local. CreatePlayerSession CreatePlayerSessions DescribePlayerSessions Game session placements StartGameSessionPlacement DescribeGameSessionPlacement StopGameSessionPlacement + +Required Parameters +{ + "PlayerId": "A unique identifier for a player. Player IDs are developer-defined.", + "GameSessionId": "A unique identifier for the game session to add a player to." +} + +Optional Parameters +{ + "PlayerData": "Developer-defined information related to a player. Amazon GameLift does not use this data, so it can be formatted as needed for use in the game." +} +""" +CreatePlayerSession(args) = gamelift("CreatePlayerSession", args) + +""" + DescribeFleetPortSettings() + +Retrieves the inbound connection permissions for a fleet. Connection permissions include a range of IP addresses and port settings that incoming traffic can use to access server processes in the fleet. To get a fleet's inbound connection permissions, specify a fleet ID. If successful, a collection of IpPermission objects is returned for the requested fleet ID. If the requested fleet has been deleted, the result set is empty. Learn more Working with Fleets. Related operations CreateFleet ListFleets DeleteFleet Describe fleets: DescribeFleetAttributes DescribeFleetCapacity DescribeFleetPortSettings DescribeFleetUtilization DescribeRuntimeConfiguration DescribeEC2InstanceLimits DescribeFleetEvents UpdateFleetAttributes Manage fleet actions: StartFleetActions StopFleetActions + +Required Parameters +{ + "FleetId": "A unique identifier for a fleet to retrieve port settings for. You can use either the fleet ID or ARN value." +} +""" +DescribeFleetPortSettings(args) = gamelift("DescribeFleetPortSettings", args) + +""" + StartFleetActions() + +Resumes activity on a fleet that was suspended with StopFleetActions. Currently, this operation is used to restart a fleet's auto-scaling activity. To start fleet actions, specify the fleet ID and the type of actions to restart. When auto-scaling fleet actions are restarted, Amazon GameLift once again initiates scaling events as triggered by the fleet's scaling policies. If actions on the fleet were never stopped, this operation will have no effect. You can view a fleet's stopped actions using DescribeFleetAttributes. Learn more Working with Fleets. Related operations CreateFleet ListFleets DeleteFleet Describe fleets: DescribeFleetAttributes DescribeFleetCapacity DescribeFleetPortSettings DescribeFleetUtilization DescribeRuntimeConfiguration DescribeEC2InstanceLimits DescribeFleetEvents Update fleets: UpdateFleetAttributes UpdateFleetCapacity UpdateFleetPortSettings UpdateRuntimeConfiguration Manage fleet actions: StartFleetActions StopFleetActions + +Required Parameters +{ + "Actions": "List of actions to restart on the fleet.", + "FleetId": "A unique identifier for a fleet to start actions on. You can use either the fleet ID or ARN value." +} +""" +StartFleetActions(args) = gamelift("StartFleetActions", args) + +""" + CreateMatchmakingConfiguration() + +Defines a new matchmaking configuration for use with FlexMatch. A matchmaking configuration sets out guidelines for matching players and getting the matches into games. You can set up multiple matchmaking configurations to handle the scenarios needed for your game. Each matchmaking ticket (StartMatchmaking or StartMatchBackfill) specifies a configuration for the match and provides player attributes to support the configuration being used. To create a matchmaking configuration, at a minimum you must specify the following: configuration name; a rule set that governs how to evaluate players and find acceptable matches; a game session queue to use when placing a new game session for the match; and the maximum time allowed for a matchmaking attempt. There are two ways to track the progress of matchmaking tickets: (1) polling ticket status with DescribeMatchmaking; or (2) receiving notifications with Amazon Simple Notification Service (SNS). To use notifications, you first need to set up an SNS topic to receive the notifications, and provide the topic ARN in the matchmaking configuration. Since notifications promise only "best effort" delivery, we recommend calling DescribeMatchmaking if no notifications are received within 30 seconds. Learn more Design a FlexMatch Matchmaker Setting up Notifications for Matchmaking Related operations CreateMatchmakingConfiguration DescribeMatchmakingConfigurations UpdateMatchmakingConfiguration DeleteMatchmakingConfiguration CreateMatchmakingRuleSet DescribeMatchmakingRuleSets ValidateMatchmakingRuleSet DeleteMatchmakingRuleSet + +Required Parameters +{ + "AcceptanceRequired": "A flag that determines whether a match that was created with this configuration must be accepted by the matched players. To require acceptance, set to TRUE.", + "RequestTimeoutSeconds": "The maximum duration, in seconds, that a matchmaking ticket can remain in process before timing out. Requests that fail due to timing out can be resubmitted as needed.", + "GameSessionQueueArns": "Amazon Resource Name (ARN) that is assigned to a GameLift game session queue resource and uniquely identifies it. ARNs are unique across all Regions. These queues are used when placing game sessions for matches that are created with this matchmaking configuration. Queues can be located in any Region.", + "Name": "A unique identifier for a matchmaking configuration. This name is used to identify the configuration associated with a matchmaking request or ticket.", + "RuleSetName": "A unique identifier for a matchmaking rule set to use with this configuration. You can use either the rule set name or ARN value. A matchmaking configuration can only use rule sets that are defined in the same Region." +} + +Optional Parameters +{ + "AcceptanceTimeoutSeconds": "The length of time (in seconds) to wait for players to accept a proposed match. If any player rejects the match or fails to accept before the timeout, the ticket continues to look for an acceptable match.", + "GameProperties": "A set of custom properties for a game session, formatted as key-value pairs. These properties are passed to a game server process in the GameSession object with a request to start a new game session (see Start a Game Session). This information is added to the new GameSession object that is created for a successful match. ", + "Description": "A human-readable description of the matchmaking configuration. ", + "Tags": "A list of labels to assign to the new matchmaking configuration resource. Tags are developer-defined key-value pairs. Tagging AWS resources are useful for resource management, access management and cost allocation. For more information, see Tagging AWS Resources in the AWS General Reference. Once the resource is created, you can use TagResource, UntagResource, and ListTagsForResource to add, remove, and view tags. The maximum tag limit may be lower than stated. See the AWS General Reference for actual tagging limits.", + "AdditionalPlayerCount": "The number of player slots in a match to keep open for future players. For example, assume that the configuration's rule set specifies a match for a single 12-person team. If the additional player count is set to 2, only 10 players are initially selected for the match.", + "GameSessionData": "A set of custom game session properties, formatted as a single string value. This data is passed to a game server process in the GameSession object with a request to start a new game session (see Start a Game Session). This information is added to the new GameSession object that is created for a successful match.", + "BackfillMode": "The method used to backfill game sessions that are created with this matchmaking configuration. Specify MANUAL when your game manages backfill requests manually or does not use the match backfill feature. Specify AUTOMATIC to have GameLift create a StartMatchBackfill request whenever a game session has one or more open slots. Learn more about manual and automatic backfill in Backfill Existing Games with FlexMatch. ", + "CustomEventData": "Information to be added to all events related to this matchmaking configuration. ", + "NotificationTarget": "An SNS topic ARN that is set up to receive matchmaking notifications." +} +""" +CreateMatchmakingConfiguration(args) = gamelift("CreateMatchmakingConfiguration", args) + +""" + DescribeGameSessionDetails() + +Retrieves properties, including the protection policy in force, for one or more game sessions. This action can be used in several ways: (1) provide a GameSessionId or GameSessionArn to request details for a specific game session; (2) provide either a FleetId or an AliasId to request properties for all game sessions running on a fleet. To get game session record(s), specify just one of the following: game session ID, fleet ID, or alias ID. You can filter this request by game session status. Use the pagination parameters to retrieve results as a set of sequential pages. If successful, a GameSessionDetail object is returned for each session matching the request. CreateGameSession DescribeGameSessions DescribeGameSessionDetails SearchGameSessions UpdateGameSession GetGameSessionLogUrl Game session placements StartGameSessionPlacement DescribeGameSessionPlacement StopGameSessionPlacement + +Optional Parameters +{ + "NextToken": "Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value.", + "FleetId": "A unique identifier for a fleet to retrieve all game sessions active on the fleet. You can use either the fleet ID or ARN value.", + "StatusFilter": "Game session status to filter results on. Possible game session statuses include ACTIVE, TERMINATED, ACTIVATING and TERMINATING (the last two are transitory). ", + "AliasId": "A unique identifier for an alias associated with the fleet to retrieve all game sessions for. You can use either the alias ID or ARN value.", + "Limit": "The maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages.", + "GameSessionId": "A unique identifier for the game session to retrieve. " +} +""" +DescribeGameSessionDetails() = gamelift("DescribeGameSessionDetails") +DescribeGameSessionDetails(args) = gamelift("DescribeGameSessionDetails", args) + +""" + DeleteMatchmakingConfiguration() + +Permanently removes a FlexMatch matchmaking configuration. To delete, specify the configuration name. A matchmaking configuration cannot be deleted if it is being used in any active matchmaking tickets. Related operations CreateMatchmakingConfiguration DescribeMatchmakingConfigurations UpdateMatchmakingConfiguration DeleteMatchmakingConfiguration CreateMatchmakingRuleSet DescribeMatchmakingRuleSets ValidateMatchmakingRuleSet DeleteMatchmakingRuleSet + +Required Parameters +{ + "Name": "A unique identifier for a matchmaking configuration. You can use either the configuration name or ARN value." +} +""" +DeleteMatchmakingConfiguration(args) = gamelift("DeleteMatchmakingConfiguration", args) + +""" + SearchGameSessions() + +Retrieves all active game sessions that match a set of search criteria and sorts them in a specified order. You can search or sort by the following game session attributes: gameSessionId -- A unique identifier for the game session. You can use either a GameSessionId or GameSessionArn value. gameSessionName -- Name assigned to a game session. This value is set when requesting a new game session with CreateGameSession or updating with UpdateGameSession. Game session names do not need to be unique to a game session. gameSessionProperties -- Custom data defined in a game session's GameProperty parameter. GameProperty values are stored as key:value pairs; the filter expression must indicate the key and a string to search the data values for. For example, to search for game sessions with custom data containing the key:value pair "gameMode:brawl", specify the following: gameSessionProperties.gameMode = "brawl". All custom data values are searched as strings. maximumSessions -- Maximum number of player sessions allowed for a game session. This value is set when requesting a new game session with CreateGameSession or updating with UpdateGameSession. creationTimeMillis -- Value indicating when a game session was created. It is expressed in Unix time as milliseconds. playerSessionCount -- Number of players currently connected to a game session. This value changes rapidly as players join the session or drop out. hasAvailablePlayerSessions -- Boolean value indicating whether a game session has reached its maximum number of players. It is highly recommended that all search requests include this filter attribute to optimize search performance and return only sessions that players can join. Returned values for playerSessionCount and hasAvailablePlayerSessions change quickly as players join sessions and others drop out. Results should be considered a snapshot in time. Be sure to refresh search results often, and handle sessions that fill up before a player can join. To search or sort, specify either a fleet ID or an alias ID, and provide a search filter expression, a sort expression, or both. If successful, a collection of GameSession objects matching the request is returned. Use the pagination parameters to retrieve results as a set of sequential pages. You can search for game sessions one fleet at a time only. To find game sessions across multiple fleets, you must search each fleet separately and combine the results. This search feature finds only game sessions that are in ACTIVE status. To locate games in statuses other than active, use DescribeGameSessionDetails. CreateGameSession DescribeGameSessions DescribeGameSessionDetails SearchGameSessions UpdateGameSession GetGameSessionLogUrl Game session placements StartGameSessionPlacement DescribeGameSessionPlacement StopGameSessionPlacement + +Optional Parameters +{ + "NextToken": "Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value.", + "FilterExpression": "String containing the search criteria for the session search. If no filter expression is included, the request returns results for all game sessions in the fleet that are in ACTIVE status. A filter expression can contain one or multiple conditions. Each condition consists of the following: Operand -- Name of a game session attribute. Valid values are gameSessionName, gameSessionId, gameSessionProperties, maximumSessions, creationTimeMillis, playerSessionCount, hasAvailablePlayerSessions. Comparator -- Valid comparators are: =, <>, <, >, <=, >=. Value -- Value to be searched for. Values may be numbers, boolean values (true/false) or strings depending on the operand. String values are case sensitive and must be enclosed in single quotes. Special characters must be escaped. Boolean and string values can only be used with the comparators = and <>. For example, the following filter expression searches on gameSessionName: \"FilterExpression\": \"gameSessionName = 'Matt 's Awesome Game 1'\". To chain multiple conditions in a single expression, use the logical keywords AND, OR, and NOT and parentheses as needed. For example: x AND y AND NOT z, NOT (x OR y). Session search evaluates conditions from left to right using the following precedence rules: =, <>, <, >, <=, >= Parentheses NOT AND OR For example, this filter expression retrieves game sessions hosting at least ten players that have an open player slot: \"maximumSessions>=10 AND hasAvailablePlayerSessions=true\". ", + "FleetId": "A unique identifier for a fleet to search for active game sessions. You can use either the fleet ID or ARN value. Each request must reference either a fleet ID or alias ID, but not both.", + "SortExpression": "Instructions on how to sort the search results. If no sort expression is included, the request returns results in random order. A sort expression consists of the following elements: Operand -- Name of a game session attribute. Valid values are gameSessionName, gameSessionId, gameSessionProperties, maximumSessions, creationTimeMillis, playerSessionCount, hasAvailablePlayerSessions. Order -- Valid sort orders are ASC (ascending) and DESC (descending). For example, this sort expression returns the oldest active sessions first: \"SortExpression\": \"creationTimeMillis ASC\". Results with a null value for the sort operand are returned at the end of the list.", + "AliasId": "A unique identifier for an alias associated with the fleet to search for active game sessions. You can use either the alias ID or ARN value. Each request must reference either a fleet ID or alias ID, but not both.", + "Limit": "The maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages. The maximum number of results returned is 20, even if this value is not set or is set higher than 20. " +} +""" +SearchGameSessions() = gamelift("SearchGameSessions") +SearchGameSessions(args) = gamelift("SearchGameSessions", args) + +""" + CreateFleet() + +Creates a new fleet to run your game servers. whether they are custom game builds or Realtime Servers with game-specific script. A fleet is a set of Amazon Elastic Compute Cloud (Amazon EC2) instances, each of which can host multiple game sessions. When creating a fleet, you choose the hardware specifications, set some configuration options, and specify the game server to deploy on the new fleet. To create a new fleet, you must provide the following: (1) a fleet name, (2) an EC2 instance type and fleet type (spot or on-demand), (3) the build ID for your game build or script ID if using Realtime Servers, and (4) a runtime configuration, which determines how game servers will run on each instance in the fleet. If the CreateFleet call is successful, Amazon GameLift performs the following tasks. You can track the process of a fleet by checking the fleet status or by monitoring fleet creation events: Creates a fleet record. Status: NEW. Begins writing events to the fleet event log, which can be accessed in the Amazon GameLift console. Sets the fleet's target capacity to 1 (desired instances), which triggers Amazon GameLift to start one new EC2 instance. Downloads the game build or Realtime script to the new instance and installs it. Statuses: DOWNLOADING, VALIDATING, BUILDING. Starts launching server processes on the instance. If the fleet is configured to run multiple server processes per instance, Amazon GameLift staggers each process launch by a few seconds. Status: ACTIVATING. Sets the fleet's status to ACTIVE as soon as one server process is ready to host a game session. Learn more Setting Up Fleets Debug Fleet Creation Issues Related operations CreateFleet ListFleets DeleteFleet DescribeFleetAttributes UpdateFleetAttributes Manage fleet actions: StartFleetActions StopFleetActions + +Required Parameters +{ + "EC2InstanceType": "The name of an EC2 instance type that is supported in Amazon GameLift. A fleet instance type determines the computing resources of each instance in the fleet, including CPU, memory, storage, and networking capacity. Amazon GameLift supports the following EC2 instance types. See Amazon EC2 Instance Types for detailed descriptions.", + "Name": "A descriptive label that is associated with a fleet. Fleet names do not need to be unique." +} + +Optional Parameters +{ + "NewGameSessionProtectionPolicy": "A game session protection policy to apply to all instances in this fleet. If this parameter is not set, instances in this fleet default to no protection. You can change a fleet's protection policy using UpdateFleetAttributes, but this change will only affect sessions created after the policy change. You can also set protection for individual instances using UpdateGameSession. NoProtection - The game session can be terminated during a scale-down event. FullProtection - If the game session is in an ACTIVE status, it cannot be terminated during a scale-down event. ", + "PeerVpcAwsAccountId": "A unique identifier for the AWS account with the VPC that you want to peer your Amazon GameLift fleet with. You can find your account ID in the AWS Management Console under account settings. ", + "CertificateConfiguration": "Indicates whether to generate a TLS/SSL certificate for the new fleet. TLS certificates are used for encrypting traffic between game clients and game servers running on GameLift. If this parameter is not specified, the default value, DISABLED, is used. This fleet setting cannot be changed once the fleet is created. Learn more at Securing Client/Server Communication. Note: This feature requires the AWS Certificate Manager (ACM) service, which is available in the AWS global partition but not in all other partitions. When working in a partition that does not support this feature, a request for a new fleet with certificate generation results fails with a 4xx unsupported Region error. Valid values include: GENERATED - Generate a TLS/SSL certificate for this fleet. DISABLED - (default) Do not generate a TLS/SSL certificate for this fleet. ", + "LogPaths": "This parameter is no longer used. Instead, to specify where Amazon GameLift should store log files once a server process shuts down, use the Amazon GameLift server API ProcessReady() and specify one or more directory paths in logParameters. See more information in the Server API Reference. ", + "Tags": "A list of labels to assign to the new fleet resource. Tags are developer-defined key-value pairs. Tagging AWS resources are useful for resource management, access management and cost allocation. For more information, see Tagging AWS Resources in the AWS General Reference. Once the resource is created, you can use TagResource, UntagResource, and ListTagsForResource to add, remove, and view tags. The maximum tag limit may be lower than stated. See the AWS General Reference for actual tagging limits.", + "ResourceCreationLimitPolicy": "A policy that limits the number of game sessions an individual player can create over a span of time for this fleet.", + "InstanceRoleArn": "A unique identifier for an AWS IAM role that manages access to your AWS services. With an instance role ARN set, any application that runs on an instance in this fleet can assume the role, including install scripts, server processes, and daemons (background processes). Create a role or look up a role's ARN from the IAM dashboard in the AWS Management Console. Learn more about using on-box credentials for your game servers at Access external resources from a game server.", + "ServerLaunchParameters": "This parameter is no longer used. Instead, specify server launch parameters in the RuntimeConfiguration parameter. (Requests that specify a server launch path and launch parameters instead of a runtime configuration will continue to work.)", + "ScriptId": "A unique identifier for a Realtime script to be deployed on the new fleet. You can use either the script ID or ARN value. The Realtime script must have been successfully uploaded to Amazon GameLift. This fleet setting cannot be changed once the fleet is created.", + "BuildId": "A unique identifier for a build to be deployed on the new fleet. You can use either the build ID or ARN value. The custom game server build must have been successfully uploaded to Amazon GameLift and be in a READY status. This fleet setting cannot be changed once the fleet is created. ", + "RuntimeConfiguration": "Instructions for launching server processes on each instance in the fleet. Server processes run either a custom game build executable or a Realtime script. The runtime configuration defines the server executables or launch script file, launch parameters, and the number of processes to run concurrently on each instance. When creating a fleet, the runtime configuration must have at least one server process configuration; otherwise the request fails with an invalid request exception. (This parameter replaces the parameters ServerLaunchPath and ServerLaunchParameters, although requests that contain values for these parameters instead of a runtime configuration will continue to work.) This parameter is required unless the parameters ServerLaunchPath and ServerLaunchParameters are defined. Runtime configuration replaced these parameters, but fleets that use them will continue to work. ", + "Description": "A human-readable description of a fleet.", + "PeerVpcId": "A unique identifier for a VPC with resources to be accessed by your Amazon GameLift fleet. The VPC must be in the same Region as your fleet. To look up a VPC ID, use the VPC Dashboard in the AWS Management Console. Learn more about VPC peering in VPC Peering with Amazon GameLift Fleets. ", + "ServerLaunchPath": "This parameter is no longer used. Instead, specify a server launch path using the RuntimeConfiguration parameter. Requests that specify a server launch path and launch parameters instead of a runtime configuration will continue to work.", + "MetricGroups": "The name of an Amazon CloudWatch metric group to add this fleet to. A metric group aggregates the metrics for all fleets in the group. Specify an existing metric group name, or provide a new name to create a new metric group. A fleet can only be included in one metric group at a time. ", + "FleetType": "Indicates whether to use On-Demand instances or Spot instances for this fleet. If empty, the default is ON_DEMAND. Both categories of instances use identical hardware and configurations based on the instance type selected for this fleet. Learn more about On-Demand versus Spot Instances. ", + "EC2InboundPermissions": "Range of IP addresses and port settings that permit inbound traffic to access game sessions that are running on the fleet. For fleets using a custom game build, this parameter is required before game sessions running on the fleet can accept connections. For Realtime Servers fleets, Amazon GameLift automatically sets TCP and UDP ranges for use by the Realtime servers. You can specify multiple permission settings or add more by updating the fleet." +} +""" +CreateFleet(args) = gamelift("CreateFleet", args) + +""" + DescribeAlias() + +Retrieves properties for an alias. This operation returns all alias metadata and settings. To get an alias's target fleet ID only, use ResolveAlias. To get alias properties, specify the alias ID. If successful, the requested alias record is returned. CreateAlias ListAliases DescribeAlias UpdateAlias DeleteAlias ResolveAlias + +Required Parameters +{ + "AliasId": "The unique identifier for the fleet alias that you want to retrieve. You can use either the alias ID or ARN value. " +} +""" +DescribeAlias(args) = gamelift("DescribeAlias", args) + +""" + CreateAlias() + +Creates an alias for a fleet. In most situations, you can use an alias ID in place of a fleet ID. An alias provides a level of abstraction for a fleet that is useful when redirecting player traffic from one fleet to another, such as when updating your game build. Amazon GameLift supports two types of routing strategies for aliases: simple and terminal. A simple alias points to an active fleet. A terminal alias is used to display messaging or link to a URL instead of routing players to an active fleet. For example, you might use a terminal alias when a game version is no longer supported and you want to direct players to an upgrade site. To create a fleet alias, specify an alias name, routing strategy, and optional description. Each simple alias can point to only one fleet, but a fleet can have multiple aliases. If successful, a new alias record is returned, including an alias ID and an ARN. You can reassign an alias to another fleet by calling UpdateAlias. CreateAlias ListAliases DescribeAlias UpdateAlias DeleteAlias ResolveAlias + +Required Parameters +{ + "RoutingStrategy": "The routing configuration, including routing type and fleet target, for the alias. ", + "Name": "A descriptive label that is associated with an alias. Alias names do not need to be unique." +} + +Optional Parameters +{ + "Description": "A human-readable description of the alias.", + "Tags": "A list of labels to assign to the new alias resource. Tags are developer-defined key-value pairs. Tagging AWS resources are useful for resource management, access management and cost allocation. For more information, see Tagging AWS Resources in the AWS General Reference. Once the resource is created, you can use TagResource, UntagResource, and ListTagsForResource to add, remove, and view tags. The maximum tag limit may be lower than stated. See the AWS General Reference for actual tagging limits." +} +""" +CreateAlias(args) = gamelift("CreateAlias", args) + +""" + ListScripts() + +Retrieves script records for all Realtime scripts that are associated with the AWS account in use. Learn more Amazon GameLift Realtime Servers Related operations CreateScript ListScripts DescribeScript UpdateScript DeleteScript + +Optional Parameters +{ + "NextToken": "A token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value.", + "Limit": "The maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages." +} +""" +ListScripts() = gamelift("ListScripts") +ListScripts(args) = gamelift("ListScripts", args) + +""" + AcceptMatch() + +Registers a player's acceptance or rejection of a proposed FlexMatch match. A matchmaking configuration may require player acceptance; if so, then matches built with that configuration cannot be completed unless all players accept the proposed match within a specified time limit. When FlexMatch builds a match, all the matchmaking tickets involved in the proposed match are placed into status REQUIRES_ACCEPTANCE. This is a trigger for your game to get acceptance from all players in the ticket. Acceptances are only valid for tickets when they are in this status; all other acceptances result in an error. To register acceptance, specify the ticket ID, a response, and one or more players. Once all players have registered acceptance, the matchmaking tickets advance to status PLACING, where a new game session is created for the match. If any player rejects the match, or if acceptances are not received before a specified timeout, the proposed match is dropped. The matchmaking tickets are then handled in one of two ways: For tickets where one or more players rejected the match, the ticket status is returned to SEARCHING to find a new match. For tickets where one or more players failed to respond, the ticket status is set to CANCELLED, and processing is terminated. A new matchmaking request for these players can be submitted as needed. Learn more Add FlexMatch to a Game Client FlexMatch Events Reference Related operations StartMatchmaking DescribeMatchmaking StopMatchmaking AcceptMatch StartMatchBackfill + +Required Parameters +{ + "AcceptanceType": "Player response to the proposed match.", + "PlayerIds": "A unique identifier for a player delivering the response. This parameter can include one or multiple player IDs.", + "TicketId": "A unique identifier for a matchmaking ticket. The ticket must be in status REQUIRES_ACCEPTANCE; otherwise this request will fail." +} +""" +AcceptMatch(args) = gamelift("AcceptMatch", args) + +""" + ResolveAlias() + +Retrieves the fleet ID that an alias is currently pointing to. CreateAlias ListAliases DescribeAlias UpdateAlias DeleteAlias ResolveAlias + +Required Parameters +{ + "AliasId": "The unique identifier of the alias that you want to retrieve a fleet ID for. You can use either the alias ID or ARN value." +} +""" +ResolveAlias(args) = gamelift("ResolveAlias", args) + +""" + ValidateMatchmakingRuleSet() + +Validates the syntax of a matchmaking rule or rule set. This operation checks that the rule set is using syntactically correct JSON and that it conforms to allowed property expressions. To validate syntax, provide a rule set JSON string. Learn more Build a Rule Set Related operations CreateMatchmakingConfiguration DescribeMatchmakingConfigurations UpdateMatchmakingConfiguration DeleteMatchmakingConfiguration CreateMatchmakingRuleSet DescribeMatchmakingRuleSets ValidateMatchmakingRuleSet DeleteMatchmakingRuleSet + +Required Parameters +{ + "RuleSetBody": "A collection of matchmaking rules to validate, formatted as a JSON string." +} +""" +ValidateMatchmakingRuleSet(args) = gamelift("ValidateMatchmakingRuleSet", args) + +""" + ListFleets() + +Retrieves a collection of fleet records for this AWS account. You can filter the result set to find only those fleets that are deployed with a specific build or script. Use the pagination parameters to retrieve results in sequential pages. Fleet records are not listed in a particular order. Learn more Set Up Fleets. Related operations CreateFleet ListFleets DeleteFleet DescribeFleetAttributes UpdateFleetAttributes Manage fleet actions: StartFleetActions StopFleetActions + +Optional Parameters +{ + "NextToken": "Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value.", + "ScriptId": "A unique identifier for a Realtime script to return fleets for. Use this parameter to return only fleets using the specified script. Use either the script ID or ARN value.To retrieve all fleets, leave this parameter empty.", + "BuildId": "A unique identifier for a build to return fleets for. Use this parameter to return only fleets using the specified build. Use either the build ID or ARN value.To retrieve all fleets, leave this parameter empty.", + "Limit": "The maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages." +} +""" +ListFleets() = gamelift("ListFleets") +ListFleets(args) = gamelift("ListFleets", args) + +""" + GetGameSessionLogUrl() + +Retrieves the location of stored game session logs for a specified game session. When a game session is terminated, Amazon GameLift automatically stores the logs in Amazon S3 and retains them for 14 days. Use this URL to download the logs. See the AWS Service Limits page for maximum log file sizes. Log files that exceed this limit are not saved. CreateGameSession DescribeGameSessions DescribeGameSessionDetails SearchGameSessions UpdateGameSession GetGameSessionLogUrl Game session placements StartGameSessionPlacement DescribeGameSessionPlacement StopGameSessionPlacement + +Required Parameters +{ + "GameSessionId": "A unique identifier for the game session to get logs for. " +} +""" +GetGameSessionLogUrl(args) = gamelift("GetGameSessionLogUrl", args) + +""" + UntagResource() + +Removes a tag that is assigned to a GameLift resource. Resource tags are used to organize AWS resources for a range of purposes. This action handles the permissions necessary to manage tags for the following GameLift resource types: Build Script Fleet Alias GameSessionQueue MatchmakingConfiguration MatchmakingRuleSet To remove a tag from a resource, specify the unique ARN value for the resource and provide a string list containing one or more tags to be removed. This action succeeds even if the list includes tags that are not currently assigned to the specified resource. Learn more Tagging AWS Resources in the AWS General Reference AWS Tagging Strategies Related operations TagResource UntagResource ListTagsForResource + +Required Parameters +{ + "ResourceARN": " The Amazon Resource Name (ARN) that is assigned to and uniquely identifies the GameLift resource that you want to remove tags from. GameLift resource ARNs are included in the data object for the resource, which can be retrieved by calling a List or Describe action for the resource type. ", + "TagKeys": "A list of one or more tags to remove from the specified GameLift resource. Tags are developer-defined and structured as key-value pairs." +} +""" +UntagResource(args) = gamelift("UntagResource", args) + +""" + DescribePlayerSessions() + +Retrieves properties for one or more player sessions. This action can be used in several ways: (1) provide a PlayerSessionId to request properties for a specific player session; (2) provide a GameSessionId to request properties for all player sessions in the specified game session; (3) provide a PlayerId to request properties for all player sessions of a specified player. To get game session record(s), specify only one of the following: a player session ID, a game session ID, or a player ID. You can filter this request by player session status. Use the pagination parameters to retrieve results as a set of sequential pages. If successful, a PlayerSession object is returned for each session matching the request. Available in Amazon GameLift Local. CreatePlayerSession CreatePlayerSessions DescribePlayerSessions Game session placements StartGameSessionPlacement DescribeGameSessionPlacement StopGameSessionPlacement + +Optional Parameters +{ + "GameSessionId": "A unique identifier for the game session to retrieve player sessions for.", + "NextToken": "Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value. If a player session ID is specified, this parameter is ignored.", + "PlayerId": "A unique identifier for a player to retrieve player sessions for.", + "PlayerSessionStatusFilter": "Player session status to filter results on. Possible player session statuses include the following: RESERVED -- The player session request has been received, but the player has not yet connected to the server process and/or been validated. ACTIVE -- The player has been validated by the server process and is currently connected. COMPLETED -- The player connection has been dropped. TIMEDOUT -- A player session request was received, but the player did not connect and/or was not validated within the timeout limit (60 seconds). ", + "Limit": "The maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages. If a player session ID is specified, this parameter is ignored.", + "PlayerSessionId": "A unique identifier for a player session to retrieve." +} +""" +DescribePlayerSessions() = gamelift("DescribePlayerSessions") +DescribePlayerSessions(args) = gamelift("DescribePlayerSessions", args) + +""" + UpdateFleetCapacity() + +Updates capacity settings for a fleet. Use this action to specify the number of EC2 instances (hosts) that you want this fleet to contain. Before calling this action, you may want to call DescribeEC2InstanceLimits to get the maximum capacity based on the fleet's EC2 instance type. Specify minimum and maximum number of instances. Amazon GameLift will not change fleet capacity to values fall outside of this range. This is particularly important when using auto-scaling (see PutScalingPolicy) to allow capacity to adjust based on player demand while imposing limits on automatic adjustments. To update fleet capacity, specify the fleet ID and the number of instances you want the fleet to host. If successful, Amazon GameLift starts or terminates instances so that the fleet's active instance count matches the desired instance count. You can view a fleet's current capacity information by calling DescribeFleetCapacity. If the desired instance count is higher than the instance type's limit, the "Limit Exceeded" exception occurs. Learn more Working with Fleets. Related operations CreateFleet ListFleets DeleteFleet DescribeFleetAttributes Update fleets: UpdateFleetAttributes UpdateFleetCapacity UpdateFleetPortSettings UpdateRuntimeConfiguration Manage fleet actions: StartFleetActions StopFleetActions + +Required Parameters +{ + "FleetId": "A unique identifier for a fleet to update capacity for. You can use either the fleet ID or ARN value." +} + +Optional Parameters +{ + "DesiredInstances": "Number of EC2 instances you want this fleet to host.", + "MaxSize": "The maximum value allowed for the fleet's instance count. Default if not set is 1.", + "MinSize": "The minimum value allowed for the fleet's instance count. Default if not set is 0." +} +""" +UpdateFleetCapacity(args) = gamelift("UpdateFleetCapacity", args) + +""" + DeleteBuild() + +Deletes a build. This action permanently deletes the build record and any uploaded build files. To delete a build, specify its ID. Deleting a build does not affect the status of any active fleets using the build, but you can no longer create new fleets with the deleted build. Learn more Working with Builds Related operations CreateBuild ListBuilds DescribeBuild UpdateBuild DeleteBuild + +Required Parameters +{ + "BuildId": "A unique identifier for a build to delete. You can use either the build ID or ARN value. " +} +""" +DeleteBuild(args) = gamelift("DeleteBuild", args) + +""" + DescribeBuild() + +Retrieves properties for a build. To request a build record, specify a build ID. If successful, an object containing the build properties is returned. Learn more Working with Builds Related operations CreateBuild ListBuilds DescribeBuild UpdateBuild DeleteBuild + +Required Parameters +{ + "BuildId": "A unique identifier for a build to retrieve properties for. You can use either the build ID or ARN value. " +} +""" +DescribeBuild(args) = gamelift("DescribeBuild", args) + +""" + DescribeVpcPeeringAuthorizations() + +Retrieves valid VPC peering authorizations that are pending for the AWS account. This operation returns all VPC peering authorizations and requests for peering. This includes those initiated and received by this account. CreateVpcPeeringAuthorization DescribeVpcPeeringAuthorizations DeleteVpcPeeringAuthorization CreateVpcPeeringConnection DescribeVpcPeeringConnections DeleteVpcPeeringConnection +""" +DescribeVpcPeeringAuthorizations() = gamelift("DescribeVpcPeeringAuthorizations") +DescribeVpcPeeringAuthorizations(args) = gamelift("DescribeVpcPeeringAuthorizations", args) + +""" + DescribeRuntimeConfiguration() + +Retrieves the current runtime configuration for the specified fleet. The runtime configuration tells Amazon GameLift how to launch server processes on instances in the fleet. Learn more Working with Fleets. Related operations CreateFleet ListFleets DeleteFleet Describe fleets: DescribeFleetAttributes DescribeFleetCapacity DescribeFleetPortSettings DescribeFleetUtilization DescribeRuntimeConfiguration DescribeEC2InstanceLimits DescribeFleetEvents UpdateFleetAttributes Manage fleet actions: StartFleetActions StopFleetActions + +Required Parameters +{ + "FleetId": "A unique identifier for a fleet to get the runtime configuration for. You can use either the fleet ID or ARN value." +} +""" +DescribeRuntimeConfiguration(args) = gamelift("DescribeRuntimeConfiguration", args) + +""" + CreateScript() + +Creates a new script record for your Realtime Servers script. Realtime scripts are JavaScript that provide configuration settings and optional custom game logic for your game. The script is deployed when you create a Realtime Servers fleet to host your game sessions. Script logic is executed during an active game session. To create a new script record, specify a script name and provide the script file(s). The script files and all dependencies must be zipped into a single file. You can pull the zip file from either of these locations: A locally available directory. Use the ZipFile parameter for this option. An Amazon Simple Storage Service (Amazon S3) bucket under your AWS account. Use the StorageLocation parameter for this option. You'll need to have an Identity Access Management (IAM) role that allows the Amazon GameLift service to access your S3 bucket. If the call is successful, a new script record is created with a unique script ID. If the script file is provided as a local file, the file is uploaded to an Amazon GameLift-owned S3 bucket and the script record's storage location reflects this location. If the script file is provided as an S3 bucket, Amazon GameLift accesses the file at this storage location as needed for deployment. Learn more Amazon GameLift Realtime Servers Set Up a Role for Amazon GameLift Access Related operations CreateScript ListScripts DescribeScript UpdateScript DeleteScript + +Optional Parameters +{ + "Tags": "A list of labels to assign to the new script resource. Tags are developer-defined key-value pairs. Tagging AWS resources are useful for resource management, access management and cost allocation. For more information, see Tagging AWS Resources in the AWS General Reference. Once the resource is created, you can use TagResource, UntagResource, and ListTagsForResource to add, remove, and view tags. The maximum tag limit may be lower than stated. See the AWS General Reference for actual tagging limits.", + "Version": "The version that is associated with a build or script. Version strings do not need to be unique. You can use UpdateScript to change this value later. ", + "ZipFile": "A data object containing your Realtime scripts and dependencies as a zip file. The zip file can have one or multiple files. Maximum size of a zip file is 5 MB. When using the AWS CLI tool to create a script, this parameter is set to the zip file name. It must be prepended with the string \"fileb://\" to indicate that the file data is a binary object. For example: --zip-file fileb://myRealtimeScript.zip.", + "Name": "A descriptive label that is associated with a script. Script names do not need to be unique. You can use UpdateScript to change this value later. ", + "StorageLocation": "The location of the Amazon S3 bucket where a zipped file containing your Realtime scripts is stored. The storage location must specify the Amazon S3 bucket name, the zip file name (the \"key\"), and a role ARN that allows Amazon GameLift to access the Amazon S3 storage location. The S3 bucket must be in the same Region where you want to create a new script. By default, Amazon GameLift uploads the latest version of the zip file; if you have S3 object versioning turned on, you can use the ObjectVersion parameter to specify an earlier version. " +} +""" +CreateScript() = gamelift("CreateScript") +CreateScript(args) = gamelift("CreateScript", args) + +""" + CreateMatchmakingRuleSet() + +Creates a new rule set for FlexMatch matchmaking. A rule set describes the type of match to create, such as the number and size of teams. It also sets the parameters for acceptable player matches, such as minimum skill level or character type. A rule set is used by a MatchmakingConfiguration. To create a matchmaking rule set, provide unique rule set name and the rule set body in JSON format. Rule sets must be defined in the same Region as the matchmaking configuration they are used with. Since matchmaking rule sets cannot be edited, it is a good idea to check the rule set syntax using ValidateMatchmakingRuleSet before creating a new rule set. Learn more Build a Rule Set Design a Matchmaker Matchmaking with FlexMatch Related operations CreateMatchmakingConfiguration DescribeMatchmakingConfigurations UpdateMatchmakingConfiguration DeleteMatchmakingConfiguration CreateMatchmakingRuleSet DescribeMatchmakingRuleSets ValidateMatchmakingRuleSet DeleteMatchmakingRuleSet + +Required Parameters +{ + "RuleSetBody": "A collection of matchmaking rules, formatted as a JSON string. Comments are not allowed in JSON, but most elements support a description field.", + "Name": "A unique identifier for a matchmaking rule set. A matchmaking configuration identifies the rule set it uses by this name value. Note that the rule set name is different from the optional name field in the rule set body." +} + +Optional Parameters +{ + "Tags": "A list of labels to assign to the new matchmaking rule set resource. Tags are developer-defined key-value pairs. Tagging AWS resources are useful for resource management, access management and cost allocation. For more information, see Tagging AWS Resources in the AWS General Reference. Once the resource is created, you can use TagResource, UntagResource, and ListTagsForResource to add, remove, and view tags. The maximum tag limit may be lower than stated. See the AWS General Reference for actual tagging limits." +} +""" +CreateMatchmakingRuleSet(args) = gamelift("CreateMatchmakingRuleSet", args) + +""" + DescribeFleetUtilization() + +Retrieves utilization statistics for one or more fleets. You can request utilization data for all fleets, or specify a list of one or more fleet IDs. When requesting multiple fleets, use the pagination parameters to retrieve results as a set of sequential pages. If successful, a FleetUtilization object is returned for each requested fleet ID. When specifying a list of fleet IDs, utilization objects are returned only for fleets that currently exist. Some API actions may limit the number of fleet IDs allowed in one request. If a request exceeds this limit, the request fails and the error message includes the maximum allowed. Learn more Working with Fleets. Related operations CreateFleet ListFleets DeleteFleet Describe fleets: DescribeFleetAttributes DescribeFleetCapacity DescribeFleetPortSettings DescribeFleetUtilization DescribeRuntimeConfiguration DescribeEC2InstanceLimits DescribeFleetEvents UpdateFleetAttributes Manage fleet actions: StartFleetActions StopFleetActions + +Optional Parameters +{ + "FleetIds": "A unique identifier for a fleet(s) to retrieve utilization data for. You can use either the fleet ID or ARN value.", + "NextToken": "Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value. This parameter is ignored when the request specifies one or a list of fleet IDs.", + "Limit": "The maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages. This parameter is ignored when the request specifies one or a list of fleet IDs." +} +""" +DescribeFleetUtilization() = gamelift("DescribeFleetUtilization") +DescribeFleetUtilization(args) = gamelift("DescribeFleetUtilization", args) + +""" + StopMatchmaking() + +Cancels a matchmaking ticket or match backfill ticket that is currently being processed. To stop the matchmaking operation, specify the ticket ID. If successful, work on the ticket is stopped, and the ticket status is changed to CANCELLED. This call is also used to turn off automatic backfill for an individual game session. This is for game sessions that are created with a matchmaking configuration that has automatic backfill enabled. The ticket ID is included in the MatchmakerData of an updated game session object, which is provided to the game server. If the action is successful, the service sends back an empty JSON struct with the HTTP 200 response (not an empty HTTP body). Learn more Add FlexMatch to a Game Client Related operations StartMatchmaking DescribeMatchmaking StopMatchmaking AcceptMatch StartMatchBackfill + +Required Parameters +{ + "TicketId": "A unique identifier for a matchmaking ticket." +} +""" +StopMatchmaking(args) = gamelift("StopMatchmaking", args) + +""" + ListTagsForResource() + + Retrieves all tags that are assigned to a GameLift resource. Resource tags are used to organize AWS resources for a range of purposes. This action handles the permissions necessary to manage tags for the following GameLift resource types: Build Script Fleet Alias GameSessionQueue MatchmakingConfiguration MatchmakingRuleSet To list tags for a resource, specify the unique ARN value for the resource. Learn more Tagging AWS Resources in the AWS General Reference AWS Tagging Strategies Related operations TagResource UntagResource ListTagsForResource + +Required Parameters +{ + "ResourceARN": " The Amazon Resource Name (ARN) that is assigned to and uniquely identifies the GameLift resource that you want to retrieve tags for. GameLift resource ARNs are included in the data object for the resource, which can be retrieved by calling a List or Describe action for the resource type. " +} +""" +ListTagsForResource(args) = gamelift("ListTagsForResource", args) + +""" + CreateBuild() + +Creates a new Amazon GameLift build record for your game server binary files and points to the location of your game server build files in an Amazon Simple Storage Service (Amazon S3) location. Game server binaries must be combined into a zip file for use with Amazon GameLift. To create new builds directly from a file directory, use the AWS CLI command upload-build . This helper command uploads build files and creates a new build record in one step, and automatically handles the necessary permissions. The CreateBuild operation should be used only in the following scenarios: To create a new game build with build files that are in an Amazon S3 bucket under your own AWS account. To use this option, you must first give Amazon GameLift access to that Amazon S3 bucket. Then call CreateBuild and specify a build name, operating system, and the Amazon S3 storage location of your game build. To upload build files directly to Amazon GameLift's Amazon S3 account. To use this option, first call CreateBuild and specify a build name and operating system. This action creates a new build record and returns an Amazon S3 storage location (bucket and key only) and temporary access credentials. Use the credentials to manually upload your build file to the provided storage location (see the Amazon S3 topic Uploading Objects). You can upload build files to the GameLift Amazon S3 location only once. If successful, this operation creates a new build record with a unique build ID and places it in INITIALIZED status. You can use DescribeBuild to check the status of your build. A build must be in READY status before it can be used to create fleets. Learn more Uploading Your Game https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Create a Build with Files in Amazon S3 Related operations CreateBuild ListBuilds DescribeBuild UpdateBuild DeleteBuild + +Optional Parameters +{ + "Tags": "A list of labels to assign to the new build resource. Tags are developer-defined key-value pairs. Tagging AWS resources are useful for resource management, access management and cost allocation. For more information, see Tagging AWS Resources in the AWS General Reference. Once the resource is created, you can use TagResource, UntagResource, and ListTagsForResource to add, remove, and view tags. The maximum tag limit may be lower than stated. See the AWS General Reference for actual tagging limits.", + "Version": "Version information that is associated with a build or script. Version strings do not need to be unique. You can use UpdateBuild to change this value later. ", + "OperatingSystem": "The operating system that the game server binaries are built to run on. This value determines the type of fleet resources that you can use for this build. If your game build contains multiple executables, they all must run on the same operating system. If an operating system is not specified when creating a build, Amazon GameLift uses the default value (WINDOWS_2012). This value cannot be changed later.", + "Name": "A descriptive label that is associated with a build. Build names do not need to be unique. You can use UpdateBuild to change this value later. ", + "StorageLocation": "Information indicating where your game build files are stored. Use this parameter only when creating a build with files stored in an Amazon S3 bucket that you own. The storage location must specify an Amazon S3 bucket name and key. The location must also specify a role ARN that you set up to allow Amazon GameLift to access your Amazon S3 bucket. The S3 bucket and your new build must be in the same Region." +} +""" +CreateBuild() = gamelift("CreateBuild") +CreateBuild(args) = gamelift("CreateBuild", args) + +""" + DeleteGameSessionQueue() + +Deletes a game session queue. This action means that any StartGameSessionPlacement requests that reference this queue will fail. To delete a queue, specify the queue name. CreateGameSessionQueue DescribeGameSessionQueues UpdateGameSessionQueue DeleteGameSessionQueue + +Required Parameters +{ + "Name": "A descriptive label that is associated with game session queue. Queue names must be unique within each Region. You can use either the queue ID or ARN value. " +} +""" +DeleteGameSessionQueue(args) = gamelift("DeleteGameSessionQueue", args) + +""" + CreateGameSessionQueue() + +Establishes a new queue for processing requests to place new game sessions. A queue identifies where new game sessions can be hosted -- by specifying a list of destinations (fleets or aliases) -- and how long requests can wait in the queue before timing out. You can set up a queue to try to place game sessions on fleets in multiple Regions. To add placement requests to a queue, call StartGameSessionPlacement and reference the queue name. Destination order. When processing a request for a game session, Amazon GameLift tries each destination in order until it finds one with available resources to host the new game session. A queue's default order is determined by how destinations are listed. The default order is overridden when a game session placement request provides player latency information. Player latency information enables Amazon GameLift to prioritize destinations where players report the lowest average latency, as a result placing the new game session where the majority of players will have the best possible gameplay experience. Player latency policies. For placement requests containing player latency information, use player latency policies to protect individual players from very high latencies. With a latency cap, even when a destination can deliver a low latency for most players, the game is not placed where any individual player is reporting latency higher than a policy's maximum. A queue can have multiple latency policies, which are enforced consecutively starting with the policy with the lowest latency cap. Use multiple policies to gradually relax latency controls; for example, you might set a policy with a low latency cap for the first 60 seconds, a second policy with a higher cap for the next 60 seconds, etc. To create a new queue, provide a name, timeout value, a list of destinations and, if desired, a set of latency policies. If successful, a new queue object is returned. CreateGameSessionQueue DescribeGameSessionQueues UpdateGameSessionQueue DeleteGameSessionQueue + +Required Parameters +{ + "Name": "A descriptive label that is associated with game session queue. Queue names must be unique within each Region." +} + +Optional Parameters +{ + "Destinations": "A list of fleets that can be used to fulfill game session placement requests in the queue. Fleets are identified by either a fleet ARN or a fleet alias ARN. Destinations are listed in default preference order.", + "Tags": "A list of labels to assign to the new game session queue resource. Tags are developer-defined key-value pairs. Tagging AWS resources are useful for resource management, access management and cost allocation. For more information, see Tagging AWS Resources in the AWS General Reference. Once the resource is created, you can use TagResource, UntagResource, and ListTagsForResource to add, remove, and view tags. The maximum tag limit may be lower than stated. See the AWS General Reference for actual tagging limits.", + "PlayerLatencyPolicies": "A collection of latency policies to apply when processing game sessions placement requests with player latency information. Multiple policies are evaluated in order of the maximum latency value, starting with the lowest latency values. With just one policy, the policy is enforced at the start of the game session placement for the duration period. With multiple policies, each policy is enforced consecutively for its duration period. For example, a queue might enforce a 60-second policy followed by a 120-second policy, and then no policy for the remainder of the placement. A player latency policy must set a value for MaximumIndividualPlayerLatencyMilliseconds. If none is set, this API request fails.", + "TimeoutInSeconds": "The maximum time, in seconds, that a new game session placement request remains in the queue. When a request exceeds this time, the game session placement changes to a TIMED_OUT status." +} +""" +CreateGameSessionQueue(args) = gamelift("CreateGameSessionQueue", args) + +""" + UpdateMatchmakingConfiguration() + +Updates settings for a FlexMatch matchmaking configuration. These changes affect all matches and game sessions that are created after the update. To update settings, specify the configuration name to be updated and provide the new settings. Learn more Design a FlexMatch Matchmaker Related operations CreateMatchmakingConfiguration DescribeMatchmakingConfigurations UpdateMatchmakingConfiguration DeleteMatchmakingConfiguration CreateMatchmakingRuleSet DescribeMatchmakingRuleSets ValidateMatchmakingRuleSet DeleteMatchmakingRuleSet + +Required Parameters +{ + "Name": "A unique identifier for a matchmaking configuration to update. You can use either the configuration name or ARN value. " +} + +Optional Parameters +{ + "AcceptanceTimeoutSeconds": "The length of time (in seconds) to wait for players to accept a proposed match. If any player rejects the match or fails to accept before the timeout, the ticket continues to look for an acceptable match.", + "GameProperties": "A set of custom properties for a game session, formatted as key-value pairs. These properties are passed to a game server process in the GameSession object with a request to start a new game session (see Start a Game Session). This information is added to the new GameSession object that is created for a successful match. ", + "RequestTimeoutSeconds": "The maximum duration, in seconds, that a matchmaking ticket can remain in process before timing out. Requests that fail due to timing out can be resubmitted as needed.", + "AdditionalPlayerCount": "The number of player slots in a match to keep open for future players. For example, assume that the configuration's rule set specifies a match for a single 12-person team. If the additional player count is set to 2, only 10 players are initially selected for the match.", + "GameSessionData": "A set of custom game session properties, formatted as a single string value. This data is passed to a game server process in the GameSession object with a request to start a new game session (see Start a Game Session). This information is added to the new GameSession object that is created for a successful match. ", + "GameSessionQueueArns": "Amazon Resource Name (ARN) that is assigned to a GameLift game session queue resource and uniquely identifies it. ARNs are unique across all Regions. These queues are used when placing game sessions for matches that are created with this matchmaking configuration. Queues can be located in any Region.", + "CustomEventData": "Information to add to all events related to the matchmaking configuration. ", + "RuleSetName": "A unique identifier for a matchmaking rule set to use with this configuration. You can use either the rule set name or ARN value. A matchmaking configuration can only use rule sets that are defined in the same Region.", + "Description": "A descriptive label that is associated with matchmaking configuration.", + "AcceptanceRequired": "A flag that indicates whether a match that was created with this configuration must be accepted by the matched players. To require acceptance, set to TRUE.", + "BackfillMode": "The method that is used to backfill game sessions created with this matchmaking configuration. Specify MANUAL when your game manages backfill requests manually or does not use the match backfill feature. Specify AUTOMATIC to have GameLift create a StartMatchBackfill request whenever a game session has one or more open slots. Learn more about manual and automatic backfill in Backfill Existing Games with FlexMatch.", + "NotificationTarget": "An SNS topic ARN that is set up to receive matchmaking notifications. See Setting up Notifications for Matchmaking for more information." +} +""" +UpdateMatchmakingConfiguration(args) = gamelift("UpdateMatchmakingConfiguration", args) + +""" + CreateGameSession() + +Creates a multiplayer game session for players. This action creates a game session record and assigns an available server process in the specified fleet to host the game session. A fleet must have an ACTIVE status before a game session can be created in it. To create a game session, specify either fleet ID or alias ID and indicate a maximum number of players to allow in the game session. You can also provide a name and game-specific properties for this game session. If successful, a GameSession object is returned containing the game session properties and other settings you specified. Idempotency tokens. You can add a token that uniquely identifies game session requests. This is useful for ensuring that game session requests are idempotent. Multiple requests with the same idempotency token are processed only once; subsequent requests return the original result. All response values are the same with the exception of game session status, which may change. Resource creation limits. If you are creating a game session on a fleet with a resource creation limit policy in force, then you must specify a creator ID. Without this ID, Amazon GameLift has no way to evaluate the policy for this new game session request. Player acceptance policy. By default, newly created game sessions are open to new players. You can restrict new player access by using UpdateGameSession to change the game session's player session creation policy. Game session logs. Logs are retained for all active game sessions for 14 days. To access the logs, call GetGameSessionLogUrl to download the log files. Available in Amazon GameLift Local. CreateGameSession DescribeGameSessions DescribeGameSessionDetails SearchGameSessions UpdateGameSession GetGameSessionLogUrl Game session placements StartGameSessionPlacement DescribeGameSessionPlacement StopGameSessionPlacement + +Required Parameters +{ + "MaximumPlayerSessionCount": "The maximum number of players that can be connected simultaneously to the game session." +} + +Optional Parameters +{ + "GameProperties": "Set of custom properties for a game session, formatted as key:value pairs. These properties are passed to a game server process in the GameSession object with a request to start a new game session (see Start a Game Session).", + "IdempotencyToken": "Custom string that uniquely identifies a request for a new game session. Maximum token length is 48 characters. If provided, this string is included in the new game session's ID. (A game session ARN has the following format: arn:aws:gamelift:<region>::gamesession/<fleet ID>/<custom ID string or idempotency token>.) Idempotency tokens remain in use for 30 days after a game session has ended; game session objects are retained for this time period and then deleted.", + "GameSessionData": "Set of custom game session properties, formatted as a single string value. This data is passed to a game server process in the GameSession object with a request to start a new game session (see Start a Game Session).", + "FleetId": "A unique identifier for a fleet to create a game session in. You can use either the fleet ID or ARN value. Each request must reference either a fleet ID or alias ID, but not both.", + "AliasId": "A unique identifier for an alias associated with the fleet to create a game session in. You can use either the alias ID or ARN value. Each request must reference either a fleet ID or alias ID, but not both.", + "Name": "A descriptive label that is associated with a game session. Session names do not need to be unique.", + "CreatorId": "A unique identifier for a player or entity creating the game session. This ID is used to enforce a resource protection policy (if one exists) that limits the number of concurrent active game sessions one player can have.", + "GameSessionId": " This parameter is no longer preferred. Please use IdempotencyToken instead. Custom string that uniquely identifies a request for a new game session. Maximum token length is 48 characters. If provided, this string is included in the new game session's ID. (A game session ARN has the following format: arn:aws:gamelift:<region>::gamesession/<fleet ID>/<custom ID string or idempotency token>.) " +} +""" +CreateGameSession(args) = gamelift("CreateGameSession", args) + +""" + RequestUploadCredentials() + +Retrieves a fresh set of credentials for use when uploading a new set of game build files to Amazon GameLift's Amazon S3. This is done as part of the build creation process; see CreateBuild. To request new credentials, specify the build ID as returned with an initial CreateBuild request. If successful, a new set of credentials are returned, along with the S3 storage location associated with the build ID. Learn more Uploading Your Game Related operations CreateBuild ListBuilds DescribeBuild UpdateBuild DeleteBuild + +Required Parameters +{ + "BuildId": "A unique identifier for a build to get credentials for. You can use either the build ID or ARN value. " +} +""" +RequestUploadCredentials(args) = gamelift("RequestUploadCredentials", args) + +""" + StopGameSessionPlacement() + +Cancels a game session placement that is in PENDING status. To stop a placement, provide the placement ID values. If successful, the placement is moved to CANCELLED status. CreateGameSession DescribeGameSessions DescribeGameSessionDetails SearchGameSessions UpdateGameSession GetGameSessionLogUrl Game session placements StartGameSessionPlacement DescribeGameSessionPlacement StopGameSessionPlacement + +Required Parameters +{ + "PlacementId": "A unique identifier for a game session placement to cancel." +} +""" +StopGameSessionPlacement(args) = gamelift("StopGameSessionPlacement", args) + +""" + UpdateAlias() + +Updates properties for an alias. To update properties, specify the alias ID to be updated and provide the information to be changed. To reassign an alias to another fleet, provide an updated routing strategy. If successful, the updated alias record is returned. CreateAlias ListAliases DescribeAlias UpdateAlias DeleteAlias ResolveAlias + +Required Parameters +{ + "AliasId": "A unique identifier for the alias that you want to update. You can use either the alias ID or ARN value." +} + +Optional Parameters +{ + "Description": "A human-readable description of the alias.", + "RoutingStrategy": "The routing configuration, including routing type and fleet target, for the alias.", + "Name": "A descriptive label that is associated with an alias. Alias names do not need to be unique." +} +""" +UpdateAlias(args) = gamelift("UpdateAlias", args) + +""" + DeleteScript() + +Deletes a Realtime script. This action permanently deletes the script record. If script files were uploaded, they are also deleted (files stored in an S3 bucket are not deleted). To delete a script, specify the script ID. Before deleting a script, be sure to terminate all fleets that are deployed with the script being deleted. Fleet instances periodically check for script updates, and if the script record no longer exists, the instance will go into an error state and be unable to host game sessions. Learn more Amazon GameLift Realtime Servers Related operations CreateScript ListScripts DescribeScript UpdateScript DeleteScript + +Required Parameters +{ + "ScriptId": "A unique identifier for a Realtime script to delete. You can use either the script ID or ARN value." +} +""" +DeleteScript(args) = gamelift("DeleteScript", args) + +""" + DescribeInstances() + +Retrieves information about a fleet's instances, including instance IDs. Use this action to get details on all instances in the fleet or get details on one specific instance. To get a specific instance, specify fleet ID and instance ID. To get all instances in a fleet, specify a fleet ID only. Use the pagination parameters to retrieve results as a set of sequential pages. If successful, an Instance object is returned for each result. + +Required Parameters +{ + "FleetId": "A unique identifier for a fleet to retrieve instance information for. You can use either the fleet ID or ARN value." +} + +Optional Parameters +{ + "NextToken": "Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value.", + "InstanceId": "A unique identifier for an instance to retrieve. Specify an instance ID or leave blank to retrieve all instances in the fleet.", + "Limit": "The maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages." +} +""" +DescribeInstances(args) = gamelift("DescribeInstances", args) + +""" + ListAliases() + +Retrieves all aliases for this AWS account. You can filter the result set by alias name and/or routing strategy type. Use the pagination parameters to retrieve results in sequential pages. Returned aliases are not listed in any particular order. CreateAlias ListAliases DescribeAlias UpdateAlias DeleteAlias ResolveAlias + +Optional Parameters +{ + "NextToken": "A token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value.", + "Name": "A descriptive label that is associated with an alias. Alias names do not need to be unique.", + "Limit": "The maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages.", + "RoutingStrategyType": "The routing type to filter results on. Use this parameter to retrieve only aliases with a certain routing type. To retrieve all aliases, leave this parameter empty. Possible routing types include the following: SIMPLE -- The alias resolves to one specific fleet. Use this type when routing to active fleets. TERMINAL -- The alias does not resolve to a fleet but instead can be used to display a message to the user. A terminal alias throws a TerminalRoutingStrategyException with the RoutingStrategy message embedded. " +} +""" +ListAliases() = gamelift("ListAliases") +ListAliases(args) = gamelift("ListAliases", args) + +""" + StopFleetActions() + +Suspends activity on a fleet. Currently, this operation is used to stop a fleet's auto-scaling activity. It is used to temporarily stop scaling events triggered by the fleet's scaling policies. The policies can be retained and auto-scaling activity can be restarted using StartFleetActions. You can view a fleet's stopped actions using DescribeFleetAttributes. To stop fleet actions, specify the fleet ID and the type of actions to suspend. When auto-scaling fleet actions are stopped, Amazon GameLift no longer initiates scaling events except to maintain the fleet's desired instances setting (FleetCapacity. Changes to the fleet's capacity must be done manually using UpdateFleetCapacity. Learn more Working with Fleets. Related operations CreateFleet ListFleets DeleteFleet Describe fleets: DescribeFleetAttributes DescribeFleetCapacity DescribeFleetPortSettings DescribeFleetUtilization DescribeRuntimeConfiguration DescribeEC2InstanceLimits DescribeFleetEvents Update fleets: UpdateFleetAttributes UpdateFleetCapacity UpdateFleetPortSettings UpdateRuntimeConfiguration Manage fleet actions: StartFleetActions StopFleetActions + +Required Parameters +{ + "Actions": "List of actions to suspend on the fleet. ", + "FleetId": "A unique identifier for a fleet to stop actions on. You can use either the fleet ID or ARN value." +} +""" +StopFleetActions(args) = gamelift("StopFleetActions", args) + +""" + DeleteFleet() + +Deletes everything related to a fleet. Before deleting a fleet, you must set the fleet's desired capacity to zero. See UpdateFleetCapacity. If the fleet being deleted has a VPC peering connection, you first need to get a valid authorization (good for 24 hours) by calling CreateVpcPeeringAuthorization. You do not need to explicitly delete the VPC peering connection--this is done as part of the delete fleet process. This action removes the fleet's resources and the fleet record. Once a fleet is deleted, you can no longer use that fleet. Learn more Working with Fleets. Related operations CreateFleet ListFleets DeleteFleet DescribeFleetAttributes UpdateFleetAttributes Manage fleet actions: StartFleetActions StopFleetActions + +Required Parameters +{ + "FleetId": "A unique identifier for a fleet to be deleted. You can use either the fleet ID or ARN value." +} +""" +DeleteFleet(args) = gamelift("DeleteFleet", args) + +""" + DeleteVpcPeeringConnection() + +Removes a VPC peering connection. To delete the connection, you must have a valid authorization for the VPC peering connection that you want to delete. You can check for an authorization by calling DescribeVpcPeeringAuthorizations or request a new one using CreateVpcPeeringAuthorization. Once a valid authorization exists, call this operation from the AWS account that is used to manage the Amazon GameLift fleets. Identify the connection to delete by the connection ID and fleet ID. If successful, the connection is removed. CreateVpcPeeringAuthorization DescribeVpcPeeringAuthorizations DeleteVpcPeeringAuthorization CreateVpcPeeringConnection DescribeVpcPeeringConnections DeleteVpcPeeringConnection + +Required Parameters +{ + "FleetId": "A unique identifier for a fleet. This fleet specified must match the fleet referenced in the VPC peering connection record. You can use either the fleet ID or ARN value.", + "VpcPeeringConnectionId": "A unique identifier for a VPC peering connection. This value is included in the VpcPeeringConnection object, which can be retrieved by calling DescribeVpcPeeringConnections." +} +""" +DeleteVpcPeeringConnection(args) = gamelift("DeleteVpcPeeringConnection", args) + +""" + DescribeMatchmaking() + +Retrieves one or more matchmaking tickets. Use this operation to retrieve ticket information, including status and--once a successful match is made--acquire connection information for the resulting new game session. You can use this operation to track the progress of matchmaking requests (through polling) as an alternative to using event notifications. See more details on tracking matchmaking requests through polling or notifications in StartMatchmaking. To request matchmaking tickets, provide a list of up to 10 ticket IDs. If the request is successful, a ticket object is returned for each requested ID that currently exists. Learn more Add FlexMatch to a Game Client Set Up FlexMatch Event Notification Related operations StartMatchmaking DescribeMatchmaking StopMatchmaking AcceptMatch StartMatchBackfill + +Required Parameters +{ + "TicketIds": "A unique identifier for a matchmaking ticket. You can include up to 10 ID values. " +} +""" +DescribeMatchmaking(args) = gamelift("DescribeMatchmaking", args) + +""" + DescribeGameSessionQueues() + +Retrieves the properties for one or more game session queues. When requesting multiple queues, use the pagination parameters to retrieve results as a set of sequential pages. If successful, a GameSessionQueue object is returned for each requested queue. When specifying a list of queues, objects are returned only for queues that currently exist in the Region. CreateGameSessionQueue DescribeGameSessionQueues UpdateGameSessionQueue DeleteGameSessionQueue + +Optional Parameters +{ + "Names": "A list of queue names to retrieve information for. You can use either the queue ID or ARN value. To request settings for all queues, leave this parameter empty. ", + "NextToken": "A token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value.", + "Limit": "The maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages." +} +""" +DescribeGameSessionQueues() = gamelift("DescribeGameSessionQueues") +DescribeGameSessionQueues(args) = gamelift("DescribeGameSessionQueues", args) + +""" + CreateVpcPeeringAuthorization() + +Requests authorization to create or delete a peer connection between the VPC for your Amazon GameLift fleet and a virtual private cloud (VPC) in your AWS account. VPC peering enables the game servers on your fleet to communicate directly with other AWS resources. Once you've received authorization, call CreateVpcPeeringConnection to establish the peering connection. For more information, see VPC Peering with Amazon GameLift Fleets. You can peer with VPCs that are owned by any AWS account you have access to, including the account that you use to manage your Amazon GameLift fleets. You cannot peer with VPCs that are in different Regions. To request authorization to create a connection, call this operation from the AWS account with the VPC that you want to peer to your Amazon GameLift fleet. For example, to enable your game servers to retrieve data from a DynamoDB table, use the account that manages that DynamoDB resource. Identify the following values: (1) The ID of the VPC that you want to peer with, and (2) the ID of the AWS account that you use to manage Amazon GameLift. If successful, VPC peering is authorized for the specified VPC. To request authorization to delete a connection, call this operation from the AWS account with the VPC that is peered with your Amazon GameLift fleet. Identify the following values: (1) VPC ID that you want to delete the peering connection for, and (2) ID of the AWS account that you use to manage Amazon GameLift. The authorization remains valid for 24 hours unless it is canceled by a call to DeleteVpcPeeringAuthorization. You must create or delete the peering connection while the authorization is valid. CreateVpcPeeringAuthorization DescribeVpcPeeringAuthorizations DeleteVpcPeeringAuthorization CreateVpcPeeringConnection DescribeVpcPeeringConnections DeleteVpcPeeringConnection + +Required Parameters +{ + "PeerVpcId": "A unique identifier for a VPC with resources to be accessed by your Amazon GameLift fleet. The VPC must be in the same Region where your fleet is deployed. Look up a VPC ID using the VPC Dashboard in the AWS Management Console. Learn more about VPC peering in VPC Peering with Amazon GameLift Fleets.", + "GameLiftAwsAccountId": "A unique identifier for the AWS account that you use to manage your Amazon GameLift fleet. You can find your Account ID in the AWS Management Console under account settings." +} +""" +CreateVpcPeeringAuthorization(args) = gamelift("CreateVpcPeeringAuthorization", args) + +""" + DescribeFleetCapacity() + +Retrieves the current status of fleet capacity for one or more fleets. This information includes the number of instances that have been requested for the fleet and the number currently active. You can request capacity for all fleets, or specify a list of one or more fleet IDs. When requesting multiple fleets, use the pagination parameters to retrieve results as a set of sequential pages. If successful, a FleetCapacity object is returned for each requested fleet ID. When specifying a list of fleet IDs, attribute objects are returned only for fleets that currently exist. Some API actions may limit the number of fleet IDs allowed in one request. If a request exceeds this limit, the request fails and the error message includes the maximum allowed. Learn more Working with Fleets. Related operations CreateFleet ListFleets DeleteFleet Describe fleets: DescribeFleetAttributes DescribeFleetCapacity DescribeFleetPortSettings DescribeFleetUtilization DescribeRuntimeConfiguration DescribeEC2InstanceLimits DescribeFleetEvents UpdateFleetAttributes Manage fleet actions: StartFleetActions StopFleetActions + +Optional Parameters +{ + "FleetIds": "A unique identifier for a fleet(s) to retrieve capacity information for. You can use either the fleet ID or ARN value.", + "NextToken": "Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value. This parameter is ignored when the request specifies one or a list of fleet IDs.", + "Limit": "The maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages. This parameter is ignored when the request specifies one or a list of fleet IDs." +} +""" +DescribeFleetCapacity() = gamelift("DescribeFleetCapacity") +DescribeFleetCapacity(args) = gamelift("DescribeFleetCapacity", args) + +""" + DescribeFleetEvents() + +Retrieves entries from the specified fleet's event log. You can specify a time range to limit the result set. Use the pagination parameters to retrieve results as a set of sequential pages. If successful, a collection of event log entries matching the request are returned. Learn more Working with Fleets. Related operations CreateFleet ListFleets DeleteFleet Describe fleets: DescribeFleetAttributes DescribeFleetCapacity DescribeFleetPortSettings DescribeFleetUtilization DescribeRuntimeConfiguration DescribeEC2InstanceLimits DescribeFleetEvents UpdateFleetAttributes Manage fleet actions: StartFleetActions StopFleetActions + +Required Parameters +{ + "FleetId": "A unique identifier for a fleet to get event logs for. You can use either the fleet ID or ARN value." +} + +Optional Parameters +{ + "StartTime": "Earliest date to retrieve event logs for. If no start time is specified, this call returns entries starting from when the fleet was created to the specified end time. Format is a number expressed in Unix time as milliseconds (ex: \"1469498468.057\").", + "NextToken": "Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value.", + "EndTime": "Most recent date to retrieve event logs for. If no end time is specified, this call returns entries from the specified start time up to the present. Format is a number expressed in Unix time as milliseconds (ex: \"1469498468.057\").", + "Limit": "The maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages." +} +""" +DescribeFleetEvents(args) = gamelift("DescribeFleetEvents", args) + +""" + PutScalingPolicy() + +Creates or updates a scaling policy for a fleet. Scaling policies are used to automatically scale a fleet's hosting capacity to meet player demand. An active scaling policy instructs Amazon GameLift to track a fleet metric and automatically change the fleet's capacity when a certain threshold is reached. There are two types of scaling policies: target-based and rule-based. Use a target-based policy to quickly and efficiently manage fleet scaling; this option is the most commonly used. Use rule-based policies when you need to exert fine-grained control over auto-scaling. Fleets can have multiple scaling policies of each type in force at the same time; you can have one target-based policy, one or multiple rule-based scaling policies, or both. We recommend caution, however, because multiple auto-scaling policies can have unintended consequences. You can temporarily suspend all scaling policies for a fleet by calling StopFleetActions with the fleet action AUTO_SCALING. To resume scaling policies, call StartFleetActions with the same fleet action. To stop just one scaling policy--or to permanently remove it, you must delete the policy with DeleteScalingPolicy. Learn more about how to work with auto-scaling in Set Up Fleet Automatic Scaling. Target-based policy A target-based policy tracks a single metric: PercentAvailableGameSessions. This metric tells us how much of a fleet's hosting capacity is ready to host game sessions but is not currently in use. This is the fleet's buffer; it measures the additional player demand that the fleet could handle at current capacity. With a target-based policy, you set your ideal buffer size and leave it to Amazon GameLift to take whatever action is needed to maintain that target. For example, you might choose to maintain a 10% buffer for a fleet that has the capacity to host 100 simultaneous game sessions. This policy tells Amazon GameLift to take action whenever the fleet's available capacity falls below or rises above 10 game sessions. Amazon GameLift will start new instances or stop unused instances in order to return to the 10% buffer. To create or update a target-based policy, specify a fleet ID and name, and set the policy type to "TargetBased". Specify the metric to track (PercentAvailableGameSessions) and reference a TargetConfiguration object with your desired buffer value. Exclude all other parameters. On a successful request, the policy name is returned. The scaling policy is automatically in force as soon as it's successfully created. If the fleet's auto-scaling actions are temporarily suspended, the new policy will be in force once the fleet actions are restarted. Rule-based policy A rule-based policy tracks specified fleet metric, sets a threshold value, and specifies the type of action to initiate when triggered. With a rule-based policy, you can select from several available fleet metrics. Each policy specifies whether to scale up or scale down (and by how much), so you need one policy for each type of action. For example, a policy may make the following statement: "If the percentage of idle instances is greater than 20% for more than 15 minutes, then reduce the fleet capacity by 10%." A policy's rule statement has the following structure: If [MetricName] is [ComparisonOperator] [Threshold] for [EvaluationPeriods] minutes, then [ScalingAdjustmentType] to/by [ScalingAdjustment]. To implement the example, the rule statement would look like this: If [PercentIdleInstances] is [GreaterThanThreshold] [20] for [15] minutes, then [PercentChangeInCapacity] to/by [10]. To create or update a scaling policy, specify a unique combination of name and fleet ID, and set the policy type to "RuleBased". Specify the parameter values for a policy rule statement. On a successful request, the policy name is returned. Scaling policies are automatically in force as soon as they're successfully created. If the fleet's auto-scaling actions are temporarily suspended, the new policy will be in force once the fleet actions are restarted. DescribeFleetCapacity UpdateFleetCapacity DescribeEC2InstanceLimits Manage scaling policies: PutScalingPolicy (auto-scaling) DescribeScalingPolicies (auto-scaling) DeleteScalingPolicy (auto-scaling) Manage fleet actions: StartFleetActions StopFleetActions + +Required Parameters +{ + "FleetId": "A unique identifier for a fleet to apply this policy to. You can use either the fleet ID or ARN value. The fleet cannot be in any of the following statuses: ERROR or DELETING.", + "MetricName": "Name of the Amazon GameLift-defined metric that is used to trigger a scaling adjustment. For detailed descriptions of fleet metrics, see Monitor Amazon GameLift with Amazon CloudWatch. ActivatingGameSessions -- Game sessions in the process of being created. ActiveGameSessions -- Game sessions that are currently running. ActiveInstances -- Fleet instances that are currently running at least one game session. AvailableGameSessions -- Additional game sessions that fleet could host simultaneously, given current capacity. AvailablePlayerSessions -- Empty player slots in currently active game sessions. This includes game sessions that are not currently accepting players. Reserved player slots are not included. CurrentPlayerSessions -- Player slots in active game sessions that are being used by a player or are reserved for a player. IdleInstances -- Active instances that are currently hosting zero game sessions. PercentAvailableGameSessions -- Unused percentage of the total number of game sessions that a fleet could host simultaneously, given current capacity. Use this metric for a target-based scaling policy. PercentIdleInstances -- Percentage of the total number of active instances that are hosting zero game sessions. QueueDepth -- Pending game session placement requests, in any queue, where the current fleet is the top-priority destination. WaitTime -- Current wait time for pending game session placement requests, in any queue, where the current fleet is the top-priority destination. ", + "Name": "A descriptive label that is associated with a scaling policy. Policy names do not need to be unique. A fleet can have only one scaling policy with the same name." +} + +Optional Parameters +{ + "ScalingAdjustment": "Amount of adjustment to make, based on the scaling adjustment type.", + "PolicyType": "The type of scaling policy to create. For a target-based policy, set the parameter MetricName to 'PercentAvailableGameSessions' and specify a TargetConfiguration. For a rule-based policy set the following parameters: MetricName, ComparisonOperator, Threshold, EvaluationPeriods, ScalingAdjustmentType, and ScalingAdjustment.", + "TargetConfiguration": "The settings for a target-based scaling policy.", + "ScalingAdjustmentType": "The type of adjustment to make to a fleet's instance count (see FleetCapacity): ChangeInCapacity -- add (or subtract) the scaling adjustment value from the current instance count. Positive values scale up while negative values scale down. ExactCapacity -- set the instance count to the scaling adjustment value. PercentChangeInCapacity -- increase or reduce the current instance count by the scaling adjustment, read as a percentage. Positive values scale up while negative values scale down; for example, a value of \"-10\" scales the fleet down by 10%. ", + "Threshold": "Metric value used to trigger a scaling event.", + "EvaluationPeriods": "Length of time (in minutes) the metric must be at or beyond the threshold before a scaling event is triggered.", + "ComparisonOperator": "Comparison operator to use when measuring the metric against the threshold value." +} +""" +PutScalingPolicy(args) = gamelift("PutScalingPolicy", args) + +""" + UpdateFleetPortSettings() + +Updates port settings for a fleet. To update settings, specify the fleet ID to be updated and list the permissions you want to update. List the permissions you want to add in InboundPermissionAuthorizations, and permissions you want to remove in InboundPermissionRevocations. Permissions to be removed must match existing fleet permissions. If successful, the fleet ID for the updated fleet is returned. Learn more Working with Fleets. Related operations CreateFleet ListFleets DeleteFleet DescribeFleetAttributes Update fleets: UpdateFleetAttributes UpdateFleetCapacity UpdateFleetPortSettings UpdateRuntimeConfiguration Manage fleet actions: StartFleetActions StopFleetActions + +Required Parameters +{ + "FleetId": "A unique identifier for a fleet to update port settings for. You can use either the fleet ID or ARN value." +} + +Optional Parameters +{ + "InboundPermissionAuthorizations": "A collection of port settings to be added to the fleet record.", + "InboundPermissionRevocations": "A collection of port settings to be removed from the fleet record." +} +""" +UpdateFleetPortSettings(args) = gamelift("UpdateFleetPortSettings", args) + +""" + CreatePlayerSessions() + +Reserves open slots in a game session for a group of players. Before players can be added, a game session must have an ACTIVE status, have a creation policy of ALLOW_ALL, and have an open player slot. To add a single player to a game session, use CreatePlayerSession. When a player connects to the game server and references a player session ID, the game server contacts the Amazon GameLift service to validate the player reservation and accept the player. To create player sessions, specify a game session ID, a list of player IDs, and optionally a set of player data strings. If successful, a slot is reserved in the game session for each player and a set of new PlayerSession objects is returned. Player sessions cannot be updated. Available in Amazon GameLift Local. CreatePlayerSession CreatePlayerSessions DescribePlayerSessions Game session placements StartGameSessionPlacement DescribeGameSessionPlacement StopGameSessionPlacement + +Required Parameters +{ + "PlayerIds": "List of unique identifiers for the players to be added.", + "GameSessionId": "A unique identifier for the game session to add players to." +} + +Optional Parameters +{ + "PlayerDataMap": "Map of string pairs, each specifying a player ID and a set of developer-defined information related to the player. Amazon GameLift does not use this data, so it can be formatted as needed for use in the game. Player data strings for player IDs not included in the PlayerIds parameter are ignored. " +} +""" +CreatePlayerSessions(args) = gamelift("CreatePlayerSessions", args) + +""" + StartMatchmaking() + +Uses FlexMatch to create a game match for a group of players based on custom matchmaking rules, and starts a new game for the matched players. Each matchmaking request specifies the type of match to build (team configuration, rules for an acceptable match, etc.). The request also specifies the players to find a match for and where to host the new game session for optimal performance. A matchmaking request might start with a single player or a group of players who want to play together. FlexMatch finds additional players as needed to fill the match. Match type, rules, and the queue used to place a new game session are defined in a MatchmakingConfiguration. To start matchmaking, provide a unique ticket ID, specify a matchmaking configuration, and include the players to be matched. You must also include a set of player attributes relevant for the matchmaking configuration. If successful, a matchmaking ticket is returned with status set to QUEUED. Track the status of the ticket to respond as needed and acquire game session connection information for successfully completed matches. Tracking ticket status -- A couple of options are available for tracking the status of matchmaking requests: Polling -- Call DescribeMatchmaking. This operation returns the full ticket object, including current status and (for completed tickets) game session connection info. We recommend polling no more than once every 10 seconds. Notifications -- Get event notifications for changes in ticket status using Amazon Simple Notification Service (SNS). Notifications are easy to set up (see CreateMatchmakingConfiguration) and typically deliver match status changes faster and more efficiently than polling. We recommend that you use polling to back up to notifications (since delivery is not guaranteed) and call DescribeMatchmaking only when notifications are not received within 30 seconds. Processing a matchmaking request -- FlexMatch handles a matchmaking request as follows: Your client code submits a StartMatchmaking request for one or more players and tracks the status of the request ticket. FlexMatch uses this ticket and others in process to build an acceptable match. When a potential match is identified, all tickets in the proposed match are advanced to the next status. If the match requires player acceptance (set in the matchmaking configuration), the tickets move into status REQUIRES_ACCEPTANCE. This status triggers your client code to solicit acceptance from all players in every ticket involved in the match, and then call AcceptMatch for each player. If any player rejects or fails to accept the match before a specified timeout, the proposed match is dropped (see AcceptMatch for more details). Once a match is proposed and accepted, the matchmaking tickets move into status PLACING. FlexMatch locates resources for a new game session using the game session queue (set in the matchmaking configuration) and creates the game session based on the match data. When the match is successfully placed, the matchmaking tickets move into COMPLETED status. Connection information (including game session endpoint and player session) is added to the matchmaking tickets. Matched players can use the connection information to join the game. Learn more Add FlexMatch to a Game Client Set Up FlexMatch Event Notification FlexMatch Integration Roadmap How GameLift FlexMatch Works Related operations StartMatchmaking DescribeMatchmaking StopMatchmaking AcceptMatch StartMatchBackfill + +Required Parameters +{ + "Players": "Information on each player to be matched. This information must include a player ID, and may contain player attributes and latency data to be used in the matchmaking process. After a successful match, Player objects contain the name of the team the player is assigned to.", + "ConfigurationName": "Name of the matchmaking configuration to use for this request. Matchmaking configurations must exist in the same Region as this request. You can use either the configuration name or ARN value." +} + +Optional Parameters +{ + "TicketId": "A unique identifier for a matchmaking ticket. If no ticket ID is specified here, Amazon GameLift will generate one in the form of a UUID. Use this identifier to track the matchmaking ticket status and retrieve match results." +} +""" +StartMatchmaking(args) = gamelift("StartMatchmaking", args) + +""" + DescribeGameSessions() + +Retrieves a set of one or more game sessions. Request a specific game session or request all game sessions on a fleet. Alternatively, use SearchGameSessions to request a set of active game sessions that are filtered by certain criteria. To retrieve protection policy settings for game sessions, use DescribeGameSessionDetails. To get game sessions, specify one of the following: game session ID, fleet ID, or alias ID. You can filter this request by game session status. Use the pagination parameters to retrieve results as a set of sequential pages. If successful, a GameSession object is returned for each game session matching the request. Available in Amazon GameLift Local. CreateGameSession DescribeGameSessions DescribeGameSessionDetails SearchGameSessions UpdateGameSession GetGameSessionLogUrl Game session placements StartGameSessionPlacement DescribeGameSessionPlacement StopGameSessionPlacement + +Optional Parameters +{ + "NextToken": "Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value.", + "FleetId": "A unique identifier for a fleet to retrieve all game sessions for. You can use either the fleet ID or ARN value. ", + "StatusFilter": "Game session status to filter results on. Possible game session statuses include ACTIVE, TERMINATED, ACTIVATING, and TERMINATING (the last two are transitory). ", + "AliasId": "A unique identifier for an alias associated with the fleet to retrieve all game sessions for. You can use either the alias ID or ARN value.", + "Limit": "The maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages.", + "GameSessionId": "A unique identifier for the game session to retrieve. " +} +""" +DescribeGameSessions() = gamelift("DescribeGameSessions") +DescribeGameSessions(args) = gamelift("DescribeGameSessions", args) + +""" + CreateVpcPeeringConnection() + +Establishes a VPC peering connection between a virtual private cloud (VPC) in an AWS account with the VPC for your Amazon GameLift fleet. VPC peering enables the game servers on your fleet to communicate directly with other AWS resources. You can peer with VPCs in any AWS account that you have access to, including the account that you use to manage your Amazon GameLift fleets. You cannot peer with VPCs that are in different Regions. For more information, see VPC Peering with Amazon GameLift Fleets. Before calling this operation to establish the peering connection, you first need to call CreateVpcPeeringAuthorization and identify the VPC you want to peer with. Once the authorization for the specified VPC is issued, you have 24 hours to establish the connection. These two operations handle all tasks necessary to peer the two VPCs, including acceptance, updating routing tables, etc. To establish the connection, call this operation from the AWS account that is used to manage the Amazon GameLift fleets. Identify the following values: (1) The ID of the fleet you want to be enable a VPC peering connection for; (2) The AWS account with the VPC that you want to peer with; and (3) The ID of the VPC you want to peer with. This operation is asynchronous. If successful, a VpcPeeringConnection request is created. You can use continuous polling to track the request's status using DescribeVpcPeeringConnections, or by monitoring fleet events for success or failure using DescribeFleetEvents. CreateVpcPeeringAuthorization DescribeVpcPeeringAuthorizations DeleteVpcPeeringAuthorization CreateVpcPeeringConnection DescribeVpcPeeringConnections DeleteVpcPeeringConnection + +Required Parameters +{ + "PeerVpcAwsAccountId": "A unique identifier for the AWS account with the VPC that you want to peer your Amazon GameLift fleet with. You can find your Account ID in the AWS Management Console under account settings.", + "PeerVpcId": "A unique identifier for a VPC with resources to be accessed by your Amazon GameLift fleet. The VPC must be in the same Region where your fleet is deployed. Look up a VPC ID using the VPC Dashboard in the AWS Management Console. Learn more about VPC peering in VPC Peering with Amazon GameLift Fleets.", + "FleetId": "A unique identifier for a fleet. You can use either the fleet ID or ARN value. This tells Amazon GameLift which GameLift VPC to peer with. " +} +""" +CreateVpcPeeringConnection(args) = gamelift("CreateVpcPeeringConnection", args) + +""" + DescribeFleetAttributes() + +Retrieves fleet properties, including metadata, status, and configuration, for one or more fleets. You can request attributes for all fleets, or specify a list of one or more fleet IDs. When requesting multiple fleets, use the pagination parameters to retrieve results as a set of sequential pages. If successful, a FleetAttributes object is returned for each requested fleet ID. When specifying a list of fleet IDs, attribute objects are returned only for fleets that currently exist. Some API actions may limit the number of fleet IDs allowed in one request. If a request exceeds this limit, the request fails and the error message includes the maximum allowed. Learn more Working with Fleets. Related operations CreateFleet ListFleets DeleteFleet Describe fleets: DescribeFleetAttributes DescribeFleetCapacity DescribeFleetPortSettings DescribeFleetUtilization DescribeRuntimeConfiguration DescribeEC2InstanceLimits DescribeFleetEvents UpdateFleetAttributes Manage fleet actions: StartFleetActions StopFleetActions + +Optional Parameters +{ + "FleetIds": "A unique identifier for a fleet(s) to retrieve attributes for. You can use either the fleet ID or ARN value.", + "NextToken": "Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value. This parameter is ignored when the request specifies one or a list of fleet IDs.", + "Limit": "The maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages. This parameter is ignored when the request specifies one or a list of fleet IDs." +} +""" +DescribeFleetAttributes() = gamelift("DescribeFleetAttributes") +DescribeFleetAttributes(args) = gamelift("DescribeFleetAttributes", args) + +""" + DeleteScalingPolicy() + +Deletes a fleet scaling policy. This action means that the policy is no longer in force and removes all record of it. To delete a scaling policy, specify both the scaling policy name and the fleet ID it is associated with. To temporarily suspend scaling policies, call StopFleetActions. This operation suspends all policies for the fleet. DescribeFleetCapacity UpdateFleetCapacity DescribeEC2InstanceLimits Manage scaling policies: PutScalingPolicy (auto-scaling) DescribeScalingPolicies (auto-scaling) DeleteScalingPolicy (auto-scaling) Manage fleet actions: StartFleetActions StopFleetActions + +Required Parameters +{ + "FleetId": "A unique identifier for a fleet to be deleted. You can use either the fleet ID or ARN value.", + "Name": "A descriptive label that is associated with a scaling policy. Policy names do not need to be unique." +} +""" +DeleteScalingPolicy(args) = gamelift("DeleteScalingPolicy", args) + +""" + GetInstanceAccess() + +Requests remote access to a fleet instance. Remote access is useful for debugging, gathering benchmarking data, or watching activity in real time. Access requires credentials that match the operating system of the instance. For a Windows instance, Amazon GameLift returns a user name and password as strings for use with a Windows Remote Desktop client. For a Linux instance, Amazon GameLift returns a user name and RSA private key, also as strings, for use with an SSH client. The private key must be saved in the proper format to a .pem file before using. If you're making this request using the AWS CLI, saving the secret can be handled as part of the GetInstanceAccess request. (See the example later in this topic). For more information on remote access, see Remotely Accessing an Instance. To request access to a specific instance, specify the IDs of both the instance and the fleet it belongs to. You can retrieve a fleet's instance IDs by calling DescribeInstances. If successful, an InstanceAccess object is returned containing the instance's IP address and a set of credentials. + +Required Parameters +{ + "InstanceId": "A unique identifier for an instance you want to get access to. You can access an instance in any status.", + "FleetId": "A unique identifier for a fleet that contains the instance you want access to. You can use either the fleet ID or ARN value. The fleet can be in any of the following statuses: ACTIVATING, ACTIVE, or ERROR. Fleets with an ERROR status may be accessible for a short time before they are deleted." +} +""" +GetInstanceAccess(args) = gamelift("GetInstanceAccess", args) + +""" + DescribeGameSessionPlacement() + +Retrieves properties and current status of a game session placement request. To get game session placement details, specify the placement ID. If successful, a GameSessionPlacement object is returned. CreateGameSession DescribeGameSessions DescribeGameSessionDetails SearchGameSessions UpdateGameSession GetGameSessionLogUrl Game session placements StartGameSessionPlacement DescribeGameSessionPlacement StopGameSessionPlacement + +Required Parameters +{ + "PlacementId": "A unique identifier for a game session placement to retrieve." +} +""" +DescribeGameSessionPlacement(args) = gamelift("DescribeGameSessionPlacement", args) + +""" + UpdateBuild() + +Updates metadata in a build record, including the build name and version. To update the metadata, specify the build ID to update and provide the new values. If successful, a build object containing the updated metadata is returned. Learn more Working with Builds Related operations CreateBuild ListBuilds DescribeBuild UpdateBuild DeleteBuild + +Required Parameters +{ + "BuildId": "A unique identifier for a build to update. You can use either the build ID or ARN value. " +} + +Optional Parameters +{ + "Version": "Version information that is associated with a build or script. Version strings do not need to be unique.", + "Name": "A descriptive label that is associated with a build. Build names do not need to be unique. " +} +""" +UpdateBuild(args) = gamelift("UpdateBuild", args) + +""" + ListBuilds() + +Retrieves build records for all builds associated with the AWS account in use. You can limit results to builds that are in a specific status by using the Status parameter. Use the pagination parameters to retrieve results in a set of sequential pages. Build records are not listed in any particular order. Learn more Working with Builds Related operations CreateBuild ListBuilds DescribeBuild UpdateBuild DeleteBuild + +Optional Parameters +{ + "NextToken": "Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value.", + "Status": "Build status to filter results by. To retrieve all builds, leave this parameter empty. Possible build statuses include the following: INITIALIZED -- A new build has been defined, but no files have been uploaded. You cannot create fleets for builds that are in this status. When a build is successfully created, the build status is set to this value. READY -- The game build has been successfully uploaded. You can now create new fleets for this build. FAILED -- The game build upload failed. You cannot create new fleets for this build. ", + "Limit": "The maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages." +} +""" +ListBuilds() = gamelift("ListBuilds") +ListBuilds(args) = gamelift("ListBuilds", args) + +""" + DescribeVpcPeeringConnections() + +Retrieves information on VPC peering connections. Use this operation to get peering information for all fleets or for one specific fleet ID. To retrieve connection information, call this operation from the AWS account that is used to manage the Amazon GameLift fleets. Specify a fleet ID or leave the parameter empty to retrieve all connection records. If successful, the retrieved information includes both active and pending connections. Active connections identify the IpV4 CIDR block that the VPC uses to connect. CreateVpcPeeringAuthorization DescribeVpcPeeringAuthorizations DeleteVpcPeeringAuthorization CreateVpcPeeringConnection DescribeVpcPeeringConnections DeleteVpcPeeringConnection + +Optional Parameters +{ + "FleetId": "A unique identifier for a fleet. You can use either the fleet ID or ARN value." +} +""" +DescribeVpcPeeringConnections() = gamelift("DescribeVpcPeeringConnections") +DescribeVpcPeeringConnections(args) = gamelift("DescribeVpcPeeringConnections", args) + +""" + StartMatchBackfill() + +Finds new players to fill open slots in an existing game session. This operation can be used to add players to matched games that start with fewer than the maximum number of players or to replace players when they drop out. By backfilling with the same matchmaker used to create the original match, you ensure that new players meet the match criteria and maintain a consistent experience throughout the game session. You can backfill a match anytime after a game session has been created. To request a match backfill, specify a unique ticket ID, the existing game session's ARN, a matchmaking configuration, and a set of data that describes all current players in the game session. If successful, a match backfill ticket is created and returned with status set to QUEUED. The ticket is placed in the matchmaker's ticket pool and processed. Track the status of the ticket to respond as needed. The process of finding backfill matches is essentially identical to the initial matchmaking process. The matchmaker searches the pool and groups tickets together to form potential matches, allowing only one backfill ticket per potential match. Once the a match is formed, the matchmaker creates player sessions for the new players. All tickets in the match are updated with the game session's connection information, and the GameSession object is updated to include matchmaker data on the new players. For more detail on how match backfill requests are processed, see How Amazon GameLift FlexMatch Works. Learn more Backfill Existing Games with FlexMatch How GameLift FlexMatch Works Related operations StartMatchmaking DescribeMatchmaking StopMatchmaking AcceptMatch StartMatchBackfill + +Required Parameters +{ + "Players": "Match information on all players that are currently assigned to the game session. This information is used by the matchmaker to find new players and add them to the existing game. PlayerID, PlayerAttributes, Team - - This information is maintained in the GameSession object, MatchmakerData property, for all players who are currently assigned to the game session. The matchmaker data is in JSON syntax, formatted as a string. For more details, see Match Data. LatencyInMs - - If the matchmaker uses player latency, include a latency value, in milliseconds, for the Region that the game session is currently in. Do not include latency values for any other Region. ", + "ConfigurationName": "Name of the matchmaker to use for this request. You can use either the configuration name or ARN value. The ARN of the matchmaker that was used with the original game session is listed in the GameSession object, MatchmakerData property.", + "GameSessionArn": "Amazon Resource Name (ARN) that is assigned to a game session and uniquely identifies it. This is the same as the game session ID." +} + +Optional Parameters +{ + "TicketId": "A unique identifier for a matchmaking ticket. If no ticket ID is specified here, Amazon GameLift will generate one in the form of a UUID. Use this identifier to track the match backfill ticket status and retrieve match results." +} +""" +StartMatchBackfill(args) = gamelift("StartMatchBackfill", args) + +""" + UpdateFleetAttributes() + +Updates fleet properties, including name and description, for a fleet. To update metadata, specify the fleet ID and the property values that you want to change. If successful, the fleet ID for the updated fleet is returned. Learn more Working with Fleets. Related operations CreateFleet ListFleets DeleteFleet DescribeFleetAttributes Update fleets: UpdateFleetAttributes UpdateFleetCapacity UpdateFleetPortSettings UpdateRuntimeConfiguration Manage fleet actions: StartFleetActions StopFleetActions + +Required Parameters +{ + "FleetId": "A unique identifier for a fleet to update attribute metadata for. You can use either the fleet ID or ARN value." +} + +Optional Parameters +{ + "NewGameSessionProtectionPolicy": "Game session protection policy to apply to all new instances created in this fleet. Instances that already exist are not affected. You can set protection for individual instances using UpdateGameSession. NoProtection -- The game session can be terminated during a scale-down event. FullProtection -- If the game session is in an ACTIVE status, it cannot be terminated during a scale-down event. ", + "Description": "Human-readable description of a fleet.", + "MetricGroups": "Names of metric groups to include this fleet in. Amazon CloudWatch uses a fleet metric group is to aggregate metrics from multiple fleets. Use an existing metric group name to add this fleet to the group. Or use a new name to create a new metric group. A fleet can only be included in one metric group at a time.", + "Name": "A descriptive label that is associated with a fleet. Fleet names do not need to be unique.", + "ResourceCreationLimitPolicy": "Policy that limits the number of game sessions an individual player can create over a span of time. " +} +""" +UpdateFleetAttributes(args) = gamelift("UpdateFleetAttributes", args) + +""" + UpdateGameSessionQueue() + +Updates settings for a game session queue, which determines how new game session requests in the queue are processed. To update settings, specify the queue name to be updated and provide the new settings. When updating destinations, provide a complete list of destinations. CreateGameSessionQueue DescribeGameSessionQueues UpdateGameSessionQueue DeleteGameSessionQueue + +Required Parameters +{ + "Name": "A descriptive label that is associated with game session queue. Queue names must be unique within each Region. You can use either the queue ID or ARN value. " +} + +Optional Parameters +{ + "Destinations": "A list of fleets that can be used to fulfill game session placement requests in the queue. Fleets are identified by either a fleet ARN or a fleet alias ARN. Destinations are listed in default preference order. When updating this list, provide a complete list of destinations.", + "PlayerLatencyPolicies": "A collection of latency policies to apply when processing game sessions placement requests with player latency information. Multiple policies are evaluated in order of the maximum latency value, starting with the lowest latency values. With just one policy, the policy is enforced at the start of the game session placement for the duration period. With multiple policies, each policy is enforced consecutively for its duration period. For example, a queue might enforce a 60-second policy followed by a 120-second policy, and then no policy for the remainder of the placement. When updating policies, provide a complete collection of policies.", + "TimeoutInSeconds": "The maximum time, in seconds, that a new game session placement request remains in the queue. When a request exceeds this time, the game session placement changes to a TIMED_OUT status." +} +""" +UpdateGameSessionQueue(args) = gamelift("UpdateGameSessionQueue", args) + +""" + UpdateScript() + +Updates Realtime script metadata and content. To update script metadata, specify the script ID and provide updated name and/or version values. To update script content, provide an updated zip file by pointing to either a local file or an Amazon S3 bucket location. You can use either method regardless of how the original script was uploaded. Use the Version parameter to track updates to the script. If the call is successful, the updated metadata is stored in the script record and a revised script is uploaded to the Amazon GameLift service. Once the script is updated and acquired by a fleet instance, the new version is used for all new game sessions. Learn more Amazon GameLift Realtime Servers Related operations CreateScript ListScripts DescribeScript UpdateScript DeleteScript + +Required Parameters +{ + "ScriptId": "A unique identifier for a Realtime script to update. You can use either the script ID or ARN value." +} + +Optional Parameters +{ + "Version": "The version that is associated with a build or script. Version strings do not need to be unique.", + "ZipFile": "A data object containing your Realtime scripts and dependencies as a zip file. The zip file can have one or multiple files. Maximum size of a zip file is 5 MB. When using the AWS CLI tool to create a script, this parameter is set to the zip file name. It must be prepended with the string \"fileb://\" to indicate that the file data is a binary object. For example: --zip-file fileb://myRealtimeScript.zip.", + "Name": "A descriptive label that is associated with a script. Script names do not need to be unique.", + "StorageLocation": "The location of the Amazon S3 bucket where a zipped file containing your Realtime scripts is stored. The storage location must specify the Amazon S3 bucket name, the zip file name (the \"key\"), and a role ARN that allows Amazon GameLift to access the Amazon S3 storage location. The S3 bucket must be in the same Region where you want to create a new script. By default, Amazon GameLift uploads the latest version of the zip file; if you have S3 object versioning turned on, you can use the ObjectVersion parameter to specify an earlier version. " +} +""" +UpdateScript(args) = gamelift("UpdateScript", args) + +""" + DescribeEC2InstanceLimits() + +Retrieves the following information for the specified EC2 instance type: maximum number of instances allowed per AWS account (service limit) current usage level for the AWS account Service limits vary depending on Region. Available Regions for Amazon GameLift can be found in the AWS Management Console for Amazon GameLift (see the drop-down list in the upper right corner). Learn more Working with Fleets. Related operations CreateFleet ListFleets DeleteFleet Describe fleets: DescribeFleetAttributes DescribeFleetCapacity DescribeFleetPortSettings DescribeFleetUtilization DescribeRuntimeConfiguration DescribeEC2InstanceLimits DescribeFleetEvents Update fleets: UpdateFleetAttributes UpdateFleetCapacity UpdateFleetPortSettings UpdateRuntimeConfiguration Manage fleet actions: StartFleetActions StopFleetActions + +Optional Parameters +{ + "EC2InstanceType": "Name of an EC2 instance type that is supported in Amazon GameLift. A fleet instance type determines the computing resources of each instance in the fleet, including CPU, memory, storage, and networking capacity. Amazon GameLift supports the following EC2 instance types. See Amazon EC2 Instance Types for detailed descriptions. Leave this parameter blank to retrieve limits for all types." +} +""" +DescribeEC2InstanceLimits() = gamelift("DescribeEC2InstanceLimits") +DescribeEC2InstanceLimits(args) = gamelift("DescribeEC2InstanceLimits", args) + +""" + DeleteAlias() + +Deletes an alias. This action removes all record of the alias. Game clients attempting to access a server process using the deleted alias receive an error. To delete an alias, specify the alias ID to be deleted. CreateAlias ListAliases DescribeAlias UpdateAlias DeleteAlias ResolveAlias + +Required Parameters +{ + "AliasId": "A unique identifier of the alias that you want to delete. You can use either the alias ID or ARN value." +} +""" +DeleteAlias(args) = gamelift("DeleteAlias", args) + +""" + DeleteVpcPeeringAuthorization() + +Cancels a pending VPC peering authorization for the specified VPC. If you need to delete an existing VPC peering connection, call DeleteVpcPeeringConnection. CreateVpcPeeringAuthorization DescribeVpcPeeringAuthorizations DeleteVpcPeeringAuthorization CreateVpcPeeringConnection DescribeVpcPeeringConnections DeleteVpcPeeringConnection + +Required Parameters +{ + "PeerVpcId": "A unique identifier for a VPC with resources to be accessed by your Amazon GameLift fleet. The VPC must be in the same Region where your fleet is deployed. Look up a VPC ID using the VPC Dashboard in the AWS Management Console. Learn more about VPC peering in VPC Peering with Amazon GameLift Fleets.", + "GameLiftAwsAccountId": "A unique identifier for the AWS account that you use to manage your Amazon GameLift fleet. You can find your Account ID in the AWS Management Console under account settings." +} +""" +DeleteVpcPeeringAuthorization(args) = gamelift("DeleteVpcPeeringAuthorization", args) + +""" + StartGameSessionPlacement() + +Places a request for a new game session in a queue (see CreateGameSessionQueue). When processing a placement request, Amazon GameLift searches for available resources on the queue's destinations, scanning each until it finds resources or the placement request times out. A game session placement request can also request player sessions. When a new game session is successfully created, Amazon GameLift creates a player session for each player included in the request. When placing a game session, by default Amazon GameLift tries each fleet in the order they are listed in the queue configuration. Ideally, a queue's destinations are listed in preference order. Alternatively, when requesting a game session with players, you can also provide latency data for each player in relevant Regions. Latency data indicates the performance lag a player experiences when connected to a fleet in the Region. Amazon GameLift uses latency data to reorder the list of destinations to place the game session in a Region with minimal lag. If latency data is provided for multiple players, Amazon GameLift calculates each Region's average lag for all players and reorders to get the best game play across all players. To place a new game session request, specify the following: The queue name and a set of game session properties and settings A unique ID (such as a UUID) for the placement. You use this ID to track the status of the placement request (Optional) A set of player data and a unique player ID for each player that you are joining to the new game session (player data is optional, but if you include it, you must also provide a unique ID for each player) Latency data for all players (if you want to optimize game play for the players) If successful, a new game session placement is created. To track the status of a placement request, call DescribeGameSessionPlacement and check the request's status. If the status is FULFILLED, a new game session has been created and a game session ARN and Region are referenced. If the placement request times out, you can resubmit the request or retry it with a different queue. CreateGameSession DescribeGameSessions DescribeGameSessionDetails SearchGameSessions UpdateGameSession GetGameSessionLogUrl Game session placements StartGameSessionPlacement DescribeGameSessionPlacement StopGameSessionPlacement + +Required Parameters +{ + "PlacementId": "A unique identifier to assign to the new game session placement. This value is developer-defined. The value must be unique across all Regions and cannot be reused unless you are resubmitting a canceled or timed-out placement request.", + "MaximumPlayerSessionCount": "The maximum number of players that can be connected simultaneously to the game session.", + "GameSessionQueueName": "Name of the queue to use to place the new game session. You can use either the qieue name or ARN value. " +} + +Optional Parameters +{ + "GameProperties": "Set of custom properties for a game session, formatted as key:value pairs. These properties are passed to a game server process in the GameSession object with a request to start a new game session (see Start a Game Session).", + "DesiredPlayerSessions": "Set of information on each player to create a player session for.", + "GameSessionName": "A descriptive label that is associated with a game session. Session names do not need to be unique.", + "GameSessionData": "Set of custom game session properties, formatted as a single string value. This data is passed to a game server process in the GameSession object with a request to start a new game session (see Start a Game Session).", + "PlayerLatencies": "Set of values, expressed in milliseconds, indicating the amount of latency that a player experiences when connected to AWS Regions. This information is used to try to place the new game session where it can offer the best possible gameplay experience for the players. " +} +""" +StartGameSessionPlacement(args) = gamelift("StartGameSessionPlacement", args) diff --git a/src/services/glacier.jl b/src/services/glacier.jl new file mode 100644 index 0000000000..ec25a4ddc6 --- /dev/null +++ b/src/services/glacier.jl @@ -0,0 +1,526 @@ +include("../AWSServices.jl") +using .AWSServices: glacier + +""" + SetVaultNotifications() + +This operation configures notifications that will be sent when specific events happen to a vault. By default, you don't get any notifications. To configure vault notifications, send a PUT request to the notification-configuration subresource of the vault. The request should include a JSON document that provides an Amazon SNS topic and specific events for which you want Amazon S3 Glacier to send notifications to the topic. Amazon SNS topics must grant permission to the vault to be allowed to publish notifications to the topic. You can configure a vault to publish a notification for the following vault events: ArchiveRetrievalCompleted This event occurs when a job that was initiated for an archive retrieval is completed (InitiateJob). The status of the completed job can be "Succeeded" or "Failed". The notification sent to the SNS topic is the same output as returned from DescribeJob. InventoryRetrievalCompleted This event occurs when a job that was initiated for an inventory retrieval is completed (InitiateJob). The status of the completed job can be "Succeeded" or "Failed". The notification sent to the SNS topic is the same output as returned from DescribeJob. An AWS account has full permission to perform all operations (actions). However, AWS Identity and Access Management (IAM) users don't have any permissions by default. You must grant them explicit permission to perform specific actions. For more information, see Access Control Using AWS Identity and Access Management (IAM). For conceptual information and underlying REST API, see Configuring Vault Notifications in Amazon S3 Glacier and Set Vault Notification Configuration in the Amazon Glacier Developer Guide. + +Required Parameters +{ + "vaultName": "The name of the vault.", + "accountId": "The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon S3 Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID." +} + +Optional Parameters +{ + "vaultNotificationConfig": "Provides options for specifying notification configuration." +} +""" +SetVaultNotifications(args) = glacier("PUT", "/{accountId}/vaults/{vaultName}/notification-configuration", args) + +""" + InitiateMultipartUpload() + +This operation initiates a multipart upload. Amazon S3 Glacier creates a multipart upload resource and returns its ID in the response. The multipart upload ID is used in subsequent requests to upload parts of an archive (see UploadMultipartPart). When you initiate a multipart upload, you specify the part size in number of bytes. The part size must be a megabyte (1024 KB) multiplied by a power of 2-for example, 1048576 (1 MB), 2097152 (2 MB), 4194304 (4 MB), 8388608 (8 MB), and so on. The minimum allowable part size is 1 MB, and the maximum is 4 GB. Every part you upload to this resource (see UploadMultipartPart), except the last one, must have the same size. The last one can be the same size or smaller. For example, suppose you want to upload a 16.2 MB file. If you initiate the multipart upload with a part size of 4 MB, you will upload four parts of 4 MB each and one part of 0.2 MB. You don't need to know the size of the archive when you start a multipart upload because Amazon S3 Glacier does not require you to specify the overall archive size. After you complete the multipart upload, Amazon S3 Glacier (Glacier) removes the multipart upload resource referenced by the ID. Glacier also removes the multipart upload resource if you cancel the multipart upload or it may be removed if there is no activity for a period of 24 hours. An AWS account has full permission to perform all operations (actions). However, AWS Identity and Access Management (IAM) users don't have any permissions by default. You must grant them explicit permission to perform specific actions. For more information, see Access Control Using AWS Identity and Access Management (IAM). For conceptual information and underlying REST API, see Uploading Large Archives in Parts (Multipart Upload) and Initiate Multipart Upload in the Amazon Glacier Developer Guide. + +Required Parameters +{ + "vaultName": "The name of the vault.", + "accountId": "The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon S3 Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID. " +} + +Optional Parameters +{ + "archiveDescription": "The archive description that you are uploading in parts. The part size must be a megabyte (1024 KB) multiplied by a power of 2, for example 1048576 (1 MB), 2097152 (2 MB), 4194304 (4 MB), 8388608 (8 MB), and so on. The minimum allowable part size is 1 MB, and the maximum is 4 GB (4096 MB).", + "partSize": "The size of each part except the last, in bytes. The last part can be smaller than this part size." +} +""" +InitiateMultipartUpload(args) = glacier("POST", "/{accountId}/vaults/{vaultName}/multipart-uploads", args) + +""" + ListVaults() + +This operation lists all vaults owned by the calling user's account. The list returned in the response is ASCII-sorted by vault name. By default, this operation returns up to 10 items. If there are more vaults to list, the response marker field contains the vault Amazon Resource Name (ARN) at which to continue the list with a new List Vaults request; otherwise, the marker field is null. To return a list of vaults that begins at a specific vault, set the marker request parameter to the vault ARN you obtained from a previous List Vaults request. You can also limit the number of vaults returned in the response by specifying the limit parameter in the request. An AWS account has full permission to perform all operations (actions). However, AWS Identity and Access Management (IAM) users don't have any permissions by default. You must grant them explicit permission to perform specific actions. For more information, see Access Control Using AWS Identity and Access Management (IAM). For conceptual information and underlying REST API, see Retrieving Vault Metadata in Amazon S3 Glacier and List Vaults in the Amazon Glacier Developer Guide. + +Required Parameters +{ + "accountId": "The AccountId value is the AWS account ID. This value must match the AWS account ID associated with the credentials used to sign the request. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you specify your account ID, do not include any hyphens ('-') in the ID." +} + +Optional Parameters +{ + "marker": "A string used for pagination. The marker specifies the vault ARN after which the listing of vaults should begin.", + "limit": "The maximum number of vaults to be returned. The default limit is 10. The number of vaults returned might be fewer than the specified limit, but the number of returned vaults never exceeds the limit." +} +""" +ListVaults(args) = glacier("GET", "/{accountId}/vaults", args) + +""" + CompleteMultipartUpload() + +You call this operation to inform Amazon S3 Glacier (Glacier) that all the archive parts have been uploaded and that Glacier can now assemble the archive from the uploaded parts. After assembling and saving the archive to the vault, Glacier returns the URI path of the newly created archive resource. Using the URI path, you can then access the archive. After you upload an archive, you should save the archive ID returned to retrieve the archive at a later point. You can also get the vault inventory to obtain a list of archive IDs in a vault. For more information, see InitiateJob. In the request, you must include the computed SHA256 tree hash of the entire archive you have uploaded. For information about computing a SHA256 tree hash, see Computing Checksums. On the server side, Glacier also constructs the SHA256 tree hash of the assembled archive. If the values match, Glacier saves the archive to the vault; otherwise, it returns an error, and the operation fails. The ListParts operation returns a list of parts uploaded for a specific multipart upload. It includes checksum information for each uploaded part that can be used to debug a bad checksum issue. Additionally, Glacier also checks for any missing content ranges when assembling the archive, if missing content ranges are found, Glacier returns an error and the operation fails. Complete Multipart Upload is an idempotent operation. After your first successful complete multipart upload, if you call the operation again within a short period, the operation will succeed and return the same archive ID. This is useful in the event you experience a network issue that causes an aborted connection or receive a 500 server error, in which case you can repeat your Complete Multipart Upload request and get the same archive ID without creating duplicate archives. Note, however, that after the multipart upload completes, you cannot call the List Parts operation and the multipart upload will not appear in List Multipart Uploads response, even if idempotent complete is possible. An AWS account has full permission to perform all operations (actions). However, AWS Identity and Access Management (IAM) users don't have any permissions by default. You must grant them explicit permission to perform specific actions. For more information, see Access Control Using AWS Identity and Access Management (IAM). For conceptual information and underlying REST API, see Uploading Large Archives in Parts (Multipart Upload) and Complete Multipart Upload in the Amazon Glacier Developer Guide. + +Required Parameters +{ + "vaultName": "The name of the vault.", + "uploadId": "The upload ID of the multipart upload.", + "accountId": "The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon S3 Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID." +} + +Optional Parameters +{ + "checksum": "The SHA256 tree hash of the entire archive. It is the tree hash of SHA256 tree hash of the individual parts. If the value you specify in the request does not match the SHA256 tree hash of the final assembled archive as computed by Amazon S3 Glacier (Glacier), Glacier returns an error and the request fails.", + "archiveSize": "The total size, in bytes, of the entire archive. This value should be the sum of all the sizes of the individual parts that you uploaded." +} +""" +CompleteMultipartUpload(args) = glacier("POST", "/{accountId}/vaults/{vaultName}/multipart-uploads/{uploadId}", args) + +""" + CompleteVaultLock() + +This operation completes the vault locking process by transitioning the vault lock from the InProgress state to the Locked state, which causes the vault lock policy to become unchangeable. A vault lock is put into the InProgress state by calling InitiateVaultLock. You can obtain the state of the vault lock by calling GetVaultLock. For more information about the vault locking process, Amazon Glacier Vault Lock. This operation is idempotent. This request is always successful if the vault lock is in the Locked state and the provided lock ID matches the lock ID originally used to lock the vault. If an invalid lock ID is passed in the request when the vault lock is in the Locked state, the operation returns an AccessDeniedException error. If an invalid lock ID is passed in the request when the vault lock is in the InProgress state, the operation throws an InvalidParameter error. + +Required Parameters +{ + "lockId": "The lockId value is the lock ID obtained from a InitiateVaultLock request.", + "vaultName": "The name of the vault.", + "accountId": "The AccountId value is the AWS account ID. This value must match the AWS account ID associated with the credentials used to sign the request. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you specify your account ID, do not include any hyphens ('-') in the ID." +} +""" +CompleteVaultLock(args) = glacier("POST", "/{accountId}/vaults/{vaultName}/lock-policy/{lockId}", args) + +""" + RemoveTagsFromVault() + +This operation removes one or more tags from the set of tags attached to a vault. For more information about tags, see Tagging Amazon S3 Glacier Resources. This operation is idempotent. The operation will be successful, even if there are no tags attached to the vault. + +Required Parameters +{ + "vaultName": "The name of the vault.", + "accountId": "The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon S3 Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID." +} + +Optional Parameters +{ + "TagKeys": "A list of tag keys. Each corresponding tag is removed from the vault." +} +""" +RemoveTagsFromVault(args) = glacier("POST", "/{accountId}/vaults/{vaultName}/tags?operation=remove", args) + +""" + GetDataRetrievalPolicy() + +This operation returns the current data retrieval policy for the account and region specified in the GET request. For more information about data retrieval policies, see Amazon Glacier Data Retrieval Policies. + +Required Parameters +{ + "accountId": "The AccountId value is the AWS account ID. This value must match the AWS account ID associated with the credentials used to sign the request. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you specify your account ID, do not include any hyphens ('-') in the ID. " +} +""" +GetDataRetrievalPolicy(args) = glacier("GET", "/{accountId}/policies/data-retrieval", args) + +""" + ListTagsForVault() + +This operation lists all the tags attached to a vault. The operation returns an empty map if there are no tags. For more information about tags, see Tagging Amazon S3 Glacier Resources. + +Required Parameters +{ + "vaultName": "The name of the vault.", + "accountId": "The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon S3 Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID." +} +""" +ListTagsForVault(args) = glacier("GET", "/{accountId}/vaults/{vaultName}/tags", args) + +""" + SetDataRetrievalPolicy() + +This operation sets and then enacts a data retrieval policy in the region specified in the PUT request. You can set one policy per region for an AWS account. The policy is enacted within a few minutes of a successful PUT operation. The set policy operation does not affect retrieval jobs that were in progress before the policy was enacted. For more information about data retrieval policies, see Amazon Glacier Data Retrieval Policies. + +Required Parameters +{ + "accountId": "The AccountId value is the AWS account ID. This value must match the AWS account ID associated with the credentials used to sign the request. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you specify your account ID, do not include any hyphens ('-') in the ID." +} + +Optional Parameters +{ + "Policy": "The data retrieval policy in JSON format." +} +""" +SetDataRetrievalPolicy(args) = glacier("PUT", "/{accountId}/policies/data-retrieval", args) + +""" + UploadMultipartPart() + +This operation uploads a part of an archive. You can upload archive parts in any order. You can also upload them in parallel. You can upload up to 10,000 parts for a multipart upload. Amazon Glacier rejects your upload part request if any of the following conditions is true: SHA256 tree hash does not matchTo ensure that part data is not corrupted in transmission, you compute a SHA256 tree hash of the part and include it in your request. Upon receiving the part data, Amazon S3 Glacier also computes a SHA256 tree hash. If these hash values don't match, the operation fails. For information about computing a SHA256 tree hash, see Computing Checksums. Part size does not matchThe size of each part except the last must match the size specified in the corresponding InitiateMultipartUpload request. The size of the last part must be the same size as, or smaller than, the specified size. If you upload a part whose size is smaller than the part size you specified in your initiate multipart upload request and that part is not the last part, then the upload part request will succeed. However, the subsequent Complete Multipart Upload request will fail. Range does not alignThe byte range value in the request does not align with the part size specified in the corresponding initiate request. For example, if you specify a part size of 4194304 bytes (4 MB), then 0 to 4194303 bytes (4 MB - 1) and 4194304 (4 MB) to 8388607 (8 MB - 1) are valid part ranges. However, if you set a range value of 2 MB to 6 MB, the range does not align with the part size and the upload will fail. This operation is idempotent. If you upload the same part multiple times, the data included in the most recent request overwrites the previously uploaded data. An AWS account has full permission to perform all operations (actions). However, AWS Identity and Access Management (IAM) users don't have any permissions by default. You must grant them explicit permission to perform specific actions. For more information, see Access Control Using AWS Identity and Access Management (IAM). For conceptual information and underlying REST API, see Uploading Large Archives in Parts (Multipart Upload) and Upload Part in the Amazon Glacier Developer Guide. + +Required Parameters +{ + "vaultName": "The name of the vault.", + "uploadId": "The upload ID of the multipart upload.", + "accountId": "The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon S3 Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID. " +} + +Optional Parameters +{ + "body": "The data to upload.", + "checksum": "The SHA256 tree hash of the data being uploaded.", + "range": "Identifies the range of bytes in the assembled archive that will be uploaded in this part. Amazon S3 Glacier uses this information to assemble the archive in the proper sequence. The format of this header follows RFC 2616. An example header is Content-Range:bytes 0-4194303/*." +} +""" +UploadMultipartPart(args) = glacier("PUT", "/{accountId}/vaults/{vaultName}/multipart-uploads/{uploadId}", args) + +""" + DeleteVault() + +This operation deletes a vault. Amazon S3 Glacier will delete a vault only if there are no archives in the vault as of the last inventory and there have been no writes to the vault since the last inventory. If either of these conditions is not satisfied, the vault deletion fails (that is, the vault is not removed) and Amazon S3 Glacier returns an error. You can use DescribeVault to return the number of archives in a vault, and you can use Initiate a Job (POST jobs) to initiate a new inventory retrieval for a vault. The inventory contains the archive IDs you use to delete archives using Delete Archive (DELETE archive). This operation is idempotent. An AWS account has full permission to perform all operations (actions). However, AWS Identity and Access Management (IAM) users don't have any permissions by default. You must grant them explicit permission to perform specific actions. For more information, see Access Control Using AWS Identity and Access Management (IAM). For conceptual information and underlying REST API, see Deleting a Vault in Amazon Glacier and Delete Vault in the Amazon S3 Glacier Developer Guide. + +Required Parameters +{ + "vaultName": "The name of the vault.", + "accountId": "The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon S3 Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID." +} +""" +DeleteVault(args) = glacier("DELETE", "/{accountId}/vaults/{vaultName}", args) + +""" + DeleteArchive() + +This operation deletes an archive from a vault. Subsequent requests to initiate a retrieval of this archive will fail. Archive retrievals that are in progress for this archive ID may or may not succeed according to the following scenarios: If the archive retrieval job is actively preparing the data for download when Amazon S3 Glacier receives the delete archive request, the archival retrieval operation might fail. If the archive retrieval job has successfully prepared the archive for download when Amazon S3 Glacier receives the delete archive request, you will be able to download the output. This operation is idempotent. Attempting to delete an already-deleted archive does not result in an error. An AWS account has full permission to perform all operations (actions). However, AWS Identity and Access Management (IAM) users don't have any permissions by default. You must grant them explicit permission to perform specific actions. For more information, see Access Control Using AWS Identity and Access Management (IAM). For conceptual information and underlying REST API, see Deleting an Archive in Amazon Glacier and Delete Archive in the Amazon Glacier Developer Guide. + +Required Parameters +{ + "vaultName": "The name of the vault.", + "accountId": "The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon S3 Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID.", + "archiveId": "The ID of the archive to delete." +} +""" +DeleteArchive(args) = glacier("DELETE", "/{accountId}/vaults/{vaultName}/archives/{archiveId}", args) + +""" + GetVaultNotifications() + +This operation retrieves the notification-configuration subresource of the specified vault. For information about setting a notification configuration on a vault, see SetVaultNotifications. If a notification configuration for a vault is not set, the operation returns a 404 Not Found error. For more information about vault notifications, see Configuring Vault Notifications in Amazon S3 Glacier. An AWS account has full permission to perform all operations (actions). However, AWS Identity and Access Management (IAM) users don't have any permissions by default. You must grant them explicit permission to perform specific actions. For more information, see Access Control Using AWS Identity and Access Management (IAM). For conceptual information and underlying REST API, see Configuring Vault Notifications in Amazon S3 Glacier and Get Vault Notification Configuration in the Amazon Glacier Developer Guide. + +Required Parameters +{ + "vaultName": "The name of the vault.", + "accountId": "The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon S3 Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID." +} +""" +GetVaultNotifications(args) = glacier("GET", "/{accountId}/vaults/{vaultName}/notification-configuration", args) + +""" + ListMultipartUploads() + +This operation lists in-progress multipart uploads for the specified vault. An in-progress multipart upload is a multipart upload that has been initiated by an InitiateMultipartUpload request, but has not yet been completed or aborted. The list returned in the List Multipart Upload response has no guaranteed order. The List Multipart Uploads operation supports pagination. By default, this operation returns up to 50 multipart uploads in the response. You should always check the response for a marker at which to continue the list; if there are no more items the marker is null. To return a list of multipart uploads that begins at a specific upload, set the marker request parameter to the value you obtained from a previous List Multipart Upload request. You can also limit the number of uploads returned in the response by specifying the limit parameter in the request. Note the difference between this operation and listing parts (ListParts). The List Multipart Uploads operation lists all multipart uploads for a vault and does not require a multipart upload ID. The List Parts operation requires a multipart upload ID since parts are associated with a single upload. An AWS account has full permission to perform all operations (actions). However, AWS Identity and Access Management (IAM) users don't have any permissions by default. You must grant them explicit permission to perform specific actions. For more information, see Access Control Using AWS Identity and Access Management (IAM). For conceptual information and the underlying REST API, see Working with Archives in Amazon S3 Glacier and List Multipart Uploads in the Amazon Glacier Developer Guide. + +Required Parameters +{ + "vaultName": "The name of the vault.", + "accountId": "The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon S3 Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID. " +} + +Optional Parameters +{ + "marker": "An opaque string used for pagination. This value specifies the upload at which the listing of uploads should begin. Get the marker value from a previous List Uploads response. You need only include the marker if you are continuing the pagination of results started in a previous List Uploads request.", + "limit": "Specifies the maximum number of uploads returned in the response body. If this value is not specified, the List Uploads operation returns up to 50 uploads." +} +""" +ListMultipartUploads(args) = glacier("GET", "/{accountId}/vaults/{vaultName}/multipart-uploads", args) + +""" + ListProvisionedCapacity() + +This operation lists the provisioned capacity units for the specified AWS account. + +Required Parameters +{ + "accountId": "The AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon S3 Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, don't include any hyphens ('-') in the ID. " +} +""" +ListProvisionedCapacity(args) = glacier("GET", "/{accountId}/provisioned-capacity", args) + +""" + PurchaseProvisionedCapacity() + +This operation purchases a provisioned capacity unit for an AWS account. + +Required Parameters +{ + "accountId": "The AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon S3 Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, don't include any hyphens ('-') in the ID. " +} +""" +PurchaseProvisionedCapacity(args) = glacier("POST", "/{accountId}/provisioned-capacity", args) + +""" + AbortMultipartUpload() + +This operation aborts a multipart upload identified by the upload ID. After the Abort Multipart Upload request succeeds, you cannot upload any more parts to the multipart upload or complete the multipart upload. Aborting a completed upload fails. However, aborting an already-aborted upload will succeed, for a short time. For more information about uploading a part and completing a multipart upload, see UploadMultipartPart and CompleteMultipartUpload. This operation is idempotent. An AWS account has full permission to perform all operations (actions). However, AWS Identity and Access Management (IAM) users don't have any permissions by default. You must grant them explicit permission to perform specific actions. For more information, see Access Control Using AWS Identity and Access Management (IAM). For conceptual information and underlying REST API, see Working with Archives in Amazon S3 Glacier and Abort Multipart Upload in the Amazon Glacier Developer Guide. + +Required Parameters +{ + "vaultName": "The name of the vault.", + "uploadId": "The upload ID of the multipart upload to delete.", + "accountId": "The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon S3 Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID." +} +""" +AbortMultipartUpload(args) = glacier("DELETE", "/{accountId}/vaults/{vaultName}/multipart-uploads/{uploadId}", args) + +""" + DeleteVaultAccessPolicy() + +This operation deletes the access policy associated with the specified vault. The operation is eventually consistent; that is, it might take some time for Amazon S3 Glacier to completely remove the access policy, and you might still see the effect of the policy for a short time after you send the delete request. This operation is idempotent. You can invoke delete multiple times, even if there is no policy associated with the vault. For more information about vault access policies, see Amazon Glacier Access Control with Vault Access Policies. + +Required Parameters +{ + "vaultName": "The name of the vault.", + "accountId": "The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon S3 Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID. " +} +""" +DeleteVaultAccessPolicy(args) = glacier("DELETE", "/{accountId}/vaults/{vaultName}/access-policy", args) + +""" + AddTagsToVault() + +This operation adds the specified tags to a vault. Each tag is composed of a key and a value. Each vault can have up to 10 tags. If your request would cause the tag limit for the vault to be exceeded, the operation throws the LimitExceededException error. If a tag already exists on the vault under a specified key, the existing key value will be overwritten. For more information about tags, see Tagging Amazon S3 Glacier Resources. + +Required Parameters +{ + "vaultName": "The name of the vault.", + "accountId": "The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon S3 Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID." +} + +Optional Parameters +{ + "Tags": "The tags to add to the vault. Each tag is composed of a key and a value. The value can be an empty string." +} +""" +AddTagsToVault(args) = glacier("POST", "/{accountId}/vaults/{vaultName}/tags?operation=add", args) + +""" + DeleteVaultNotifications() + +This operation deletes the notification configuration set for a vault. The operation is eventually consistent; that is, it might take some time for Amazon S3 Glacier to completely disable the notifications and you might still receive some notifications for a short time after you send the delete request. An AWS account has full permission to perform all operations (actions). However, AWS Identity and Access Management (IAM) users don't have any permissions by default. You must grant them explicit permission to perform specific actions. For more information, see Access Control Using AWS Identity and Access Management (IAM). For conceptual information and underlying REST API, see Configuring Vault Notifications in Amazon S3 Glacier and Delete Vault Notification Configuration in the Amazon S3 Glacier Developer Guide. + +Required Parameters +{ + "vaultName": "The name of the vault.", + "accountId": "The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon S3 Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID. " +} +""" +DeleteVaultNotifications(args) = glacier("DELETE", "/{accountId}/vaults/{vaultName}/notification-configuration", args) + +""" + SetVaultAccessPolicy() + +This operation configures an access policy for a vault and will overwrite an existing policy. To configure a vault access policy, send a PUT request to the access-policy subresource of the vault. An access policy is specific to a vault and is also called a vault subresource. You can set one access policy per vault and the policy can be up to 20 KB in size. For more information about vault access policies, see Amazon Glacier Access Control with Vault Access Policies. + +Required Parameters +{ + "vaultName": "The name of the vault.", + "accountId": "The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon S3 Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID." +} + +Optional Parameters +{ + "policy": "The vault access policy as a JSON string." +} +""" +SetVaultAccessPolicy(args) = glacier("PUT", "/{accountId}/vaults/{vaultName}/access-policy", args) + +""" + InitiateVaultLock() + +This operation initiates the vault locking process by doing the following: Installing a vault lock policy on the specified vault. Setting the lock state of vault lock to InProgress. Returning a lock ID, which is used to complete the vault locking process. You can set one vault lock policy for each vault and this policy can be up to 20 KB in size. For more information about vault lock policies, see Amazon Glacier Access Control with Vault Lock Policies. You must complete the vault locking process within 24 hours after the vault lock enters the InProgress state. After the 24 hour window ends, the lock ID expires, the vault automatically exits the InProgress state, and the vault lock policy is removed from the vault. You call CompleteVaultLock to complete the vault locking process by setting the state of the vault lock to Locked. After a vault lock is in the Locked state, you cannot initiate a new vault lock for the vault. You can abort the vault locking process by calling AbortVaultLock. You can get the state of the vault lock by calling GetVaultLock. For more information about the vault locking process, Amazon Glacier Vault Lock. If this operation is called when the vault lock is in the InProgress state, the operation returns an AccessDeniedException error. When the vault lock is in the InProgress state you must call AbortVaultLock before you can initiate a new vault lock policy. + +Required Parameters +{ + "vaultName": "The name of the vault.", + "accountId": "The AccountId value is the AWS account ID. This value must match the AWS account ID associated with the credentials used to sign the request. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you specify your account ID, do not include any hyphens ('-') in the ID." +} + +Optional Parameters +{ + "policy": "The vault lock policy as a JSON string, which uses \" \" as an escape character." +} +""" +InitiateVaultLock(args) = glacier("POST", "/{accountId}/vaults/{vaultName}/lock-policy", args) + +""" + UploadArchive() + +This operation adds an archive to a vault. This is a synchronous operation, and for a successful upload, your data is durably persisted. Amazon S3 Glacier returns the archive ID in the x-amz-archive-id header of the response. You must use the archive ID to access your data in Amazon S3 Glacier. After you upload an archive, you should save the archive ID returned so that you can retrieve or delete the archive later. Besides saving the archive ID, you can also index it and give it a friendly name to allow for better searching. You can also use the optional archive description field to specify how the archive is referred to in an external index of archives, such as you might create in Amazon DynamoDB. You can also get the vault inventory to obtain a list of archive IDs in a vault. For more information, see InitiateJob. You must provide a SHA256 tree hash of the data you are uploading. For information about computing a SHA256 tree hash, see Computing Checksums. You can optionally specify an archive description of up to 1,024 printable ASCII characters. You can get the archive description when you either retrieve the archive or get the vault inventory. For more information, see InitiateJob. Amazon Glacier does not interpret the description in any way. An archive description does not need to be unique. You cannot use the description to retrieve or sort the archive list. Archives are immutable. After you upload an archive, you cannot edit the archive or its description. An AWS account has full permission to perform all operations (actions). However, AWS Identity and Access Management (IAM) users don't have any permissions by default. You must grant them explicit permission to perform specific actions. For more information, see Access Control Using AWS Identity and Access Management (IAM). For conceptual information and underlying REST API, see Uploading an Archive in Amazon Glacier and Upload Archive in the Amazon Glacier Developer Guide. + +Required Parameters +{ + "vaultName": "The name of the vault.", + "accountId": "The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon S3 Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID. " +} + +Optional Parameters +{ + "archiveDescription": "The optional description of the archive you are uploading.", + "body": "The data to upload.", + "checksum": "The SHA256 tree hash of the data being uploaded." +} +""" +UploadArchive(args) = glacier("POST", "/{accountId}/vaults/{vaultName}/archives", args) + +""" + DescribeVault() + +This operation returns information about a vault, including the vault's Amazon Resource Name (ARN), the date the vault was created, the number of archives it contains, and the total size of all the archives in the vault. The number of archives and their total size are as of the last inventory generation. This means that if you add or remove an archive from a vault, and then immediately use Describe Vault, the change in contents will not be immediately reflected. If you want to retrieve the latest inventory of the vault, use InitiateJob. Amazon S3 Glacier generates vault inventories approximately daily. For more information, see Downloading a Vault Inventory in Amazon S3 Glacier. An AWS account has full permission to perform all operations (actions). However, AWS Identity and Access Management (IAM) users don't have any permissions by default. You must grant them explicit permission to perform specific actions. For more information, see Access Control Using AWS Identity and Access Management (IAM). For conceptual information and underlying REST API, see Retrieving Vault Metadata in Amazon S3 Glacier and Describe Vault in the Amazon Glacier Developer Guide. + +Required Parameters +{ + "vaultName": "The name of the vault.", + "accountId": "The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon S3 Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID. " +} +""" +DescribeVault(args) = glacier("GET", "/{accountId}/vaults/{vaultName}", args) + +""" + DescribeJob() + +This operation returns information about a job you previously initiated, including the job initiation date, the user who initiated the job, the job status code/message and the Amazon SNS topic to notify after Amazon S3 Glacier (Glacier) completes the job. For more information about initiating a job, see InitiateJob. This operation enables you to check the status of your job. However, it is strongly recommended that you set up an Amazon SNS topic and specify it in your initiate job request so that Glacier can notify the topic after it completes the job. A job ID will not expire for at least 24 hours after Glacier completes the job. An AWS account has full permission to perform all operations (actions). However, AWS Identity and Access Management (IAM) users don't have any permissions by default. You must grant them explicit permission to perform specific actions. For more information, see Access Control Using AWS Identity and Access Management (IAM). For more information about using this operation, see the documentation for the underlying REST API Describe Job in the Amazon Glacier Developer Guide. + +Required Parameters +{ + "jobId": "The ID of the job to describe.", + "vaultName": "The name of the vault.", + "accountId": "The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon S3 Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID. " +} +""" +DescribeJob(args) = glacier("GET", "/{accountId}/vaults/{vaultName}/jobs/{jobId}", args) + +""" + GetVaultAccessPolicy() + +This operation retrieves the access-policy subresource set on the vault; for more information on setting this subresource, see Set Vault Access Policy (PUT access-policy). If there is no access policy set on the vault, the operation returns a 404 Not found error. For more information about vault access policies, see Amazon Glacier Access Control with Vault Access Policies. + +Required Parameters +{ + "vaultName": "The name of the vault.", + "accountId": "The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon S3 Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID." +} +""" +GetVaultAccessPolicy(args) = glacier("GET", "/{accountId}/vaults/{vaultName}/access-policy", args) + +""" + ListJobs() + +This operation lists jobs for a vault, including jobs that are in-progress and jobs that have recently finished. The List Job operation returns a list of these jobs sorted by job initiation time. Amazon Glacier retains recently completed jobs for a period before deleting them; however, it eventually removes completed jobs. The output of completed jobs can be retrieved. Retaining completed jobs for a period of time after they have completed enables you to get a job output in the event you miss the job completion notification or your first attempt to download it fails. For example, suppose you start an archive retrieval job to download an archive. After the job completes, you start to download the archive but encounter a network error. In this scenario, you can retry and download the archive while the job exists. The List Jobs operation supports pagination. You should always check the response Marker field. If there are no more jobs to list, the Marker field is set to null. If there are more jobs to list, the Marker field is set to a non-null value, which you can use to continue the pagination of the list. To return a list of jobs that begins at a specific job, set the marker request parameter to the Marker value for that job that you obtained from a previous List Jobs request. You can set a maximum limit for the number of jobs returned in the response by specifying the limit parameter in the request. The default limit is 50. The number of jobs returned might be fewer than the limit, but the number of returned jobs never exceeds the limit. Additionally, you can filter the jobs list returned by specifying the optional statuscode parameter or completed parameter, or both. Using the statuscode parameter, you can specify to return only jobs that match either the InProgress, Succeeded, or Failed status. Using the completed parameter, you can specify to return only jobs that were completed (true) or jobs that were not completed (false). For more information about using this operation, see the documentation for the underlying REST API List Jobs. + +Required Parameters +{ + "vaultName": "The name of the vault.", + "accountId": "The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon S3 Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID. " +} + +Optional Parameters +{ + "marker": "An opaque string used for pagination. This value specifies the job at which the listing of jobs should begin. Get the marker value from a previous List Jobs response. You only need to include the marker if you are continuing the pagination of results started in a previous List Jobs request.", + "statuscode": "The type of job status to return. You can specify the following values: InProgress, Succeeded, or Failed.", + "completed": "The state of the jobs to return. You can specify true or false.", + "limit": "The maximum number of jobs to be returned. The default limit is 50. The number of jobs returned might be fewer than the specified limit, but the number of returned jobs never exceeds the limit." +} +""" +ListJobs(args) = glacier("GET", "/{accountId}/vaults/{vaultName}/jobs", args) + +""" + GetVaultLock() + +This operation retrieves the following attributes from the lock-policy subresource set on the specified vault: The vault lock policy set on the vault. The state of the vault lock, which is either InProgess or Locked. When the lock ID expires. The lock ID is used to complete the vault locking process. When the vault lock was initiated and put into the InProgress state. A vault lock is put into the InProgress state by calling InitiateVaultLock. A vault lock is put into the Locked state by calling CompleteVaultLock. You can abort the vault locking process by calling AbortVaultLock. For more information about the vault locking process, Amazon Glacier Vault Lock. If there is no vault lock policy set on the vault, the operation returns a 404 Not found error. For more information about vault lock policies, Amazon Glacier Access Control with Vault Lock Policies. + +Required Parameters +{ + "vaultName": "The name of the vault.", + "accountId": "The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon S3 Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID." +} +""" +GetVaultLock(args) = glacier("GET", "/{accountId}/vaults/{vaultName}/lock-policy", args) + +""" + ListParts() + +This operation lists the parts of an archive that have been uploaded in a specific multipart upload. You can make this request at any time during an in-progress multipart upload before you complete the upload (see CompleteMultipartUpload. List Parts returns an error for completed uploads. The list returned in the List Parts response is sorted by part range. The List Parts operation supports pagination. By default, this operation returns up to 50 uploaded parts in the response. You should always check the response for a marker at which to continue the list; if there are no more items the marker is null. To return a list of parts that begins at a specific part, set the marker request parameter to the value you obtained from a previous List Parts request. You can also limit the number of parts returned in the response by specifying the limit parameter in the request. An AWS account has full permission to perform all operations (actions). However, AWS Identity and Access Management (IAM) users don't have any permissions by default. You must grant them explicit permission to perform specific actions. For more information, see Access Control Using AWS Identity and Access Management (IAM). For conceptual information and the underlying REST API, see Working with Archives in Amazon S3 Glacier and List Parts in the Amazon Glacier Developer Guide. + +Required Parameters +{ + "vaultName": "The name of the vault.", + "uploadId": "The upload ID of the multipart upload.", + "accountId": "The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon S3 Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID. " +} + +Optional Parameters +{ + "marker": "An opaque string used for pagination. This value specifies the part at which the listing of parts should begin. Get the marker value from the response of a previous List Parts response. You need only include the marker if you are continuing the pagination of results started in a previous List Parts request.", + "limit": "The maximum number of parts to be returned. The default limit is 50. The number of parts returned might be fewer than the specified limit, but the number of returned parts never exceeds the limit." +} +""" +ListParts(args) = glacier("GET", "/{accountId}/vaults/{vaultName}/multipart-uploads/{uploadId}", args) + +""" + AbortVaultLock() + +This operation aborts the vault locking process if the vault lock is not in the Locked state. If the vault lock is in the Locked state when this operation is requested, the operation returns an AccessDeniedException error. Aborting the vault locking process removes the vault lock policy from the specified vault. A vault lock is put into the InProgress state by calling InitiateVaultLock. A vault lock is put into the Locked state by calling CompleteVaultLock. You can get the state of a vault lock by calling GetVaultLock. For more information about the vault locking process, see Amazon Glacier Vault Lock. For more information about vault lock policies, see Amazon Glacier Access Control with Vault Lock Policies. This operation is idempotent. You can successfully invoke this operation multiple times, if the vault lock is in the InProgress state or if there is no policy associated with the vault. + +Required Parameters +{ + "vaultName": "The name of the vault.", + "accountId": "The AccountId value is the AWS account ID. This value must match the AWS account ID associated with the credentials used to sign the request. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you specify your account ID, do not include any hyphens ('-') in the ID." +} +""" +AbortVaultLock(args) = glacier("DELETE", "/{accountId}/vaults/{vaultName}/lock-policy", args) + +""" + InitiateJob() + +This operation initiates a job of the specified type, which can be a select, an archival retrieval, or a vault retrieval. For more information about using this operation, see the documentation for the underlying REST API Initiate a Job. + +Required Parameters +{ + "vaultName": "The name of the vault.", + "accountId": "The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon S3 Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID." +} + +Optional Parameters +{ + "jobParameters": "Provides options for specifying job information." +} +""" +InitiateJob(args) = glacier("POST", "/{accountId}/vaults/{vaultName}/jobs", args) + +""" + CreateVault() + +This operation creates a new vault with the specified name. The name of the vault must be unique within a region for an AWS account. You can create up to 1,000 vaults per account. If you need to create more vaults, contact Amazon S3 Glacier. You must use the following guidelines when naming a vault. Names can be between 1 and 255 characters long. Allowed characters are a-z, A-Z, 0-9, '_' (underscore), '-' (hyphen), and '.' (period). This operation is idempotent. An AWS account has full permission to perform all operations (actions). However, AWS Identity and Access Management (IAM) users don't have any permissions by default. You must grant them explicit permission to perform specific actions. For more information, see Access Control Using AWS Identity and Access Management (IAM). For conceptual information and underlying REST API, see Creating a Vault in Amazon Glacier and Create Vault in the Amazon Glacier Developer Guide. + +Required Parameters +{ + "vaultName": "The name of the vault.", + "accountId": "The AccountId value is the AWS account ID. This value must match the AWS account ID associated with the credentials used to sign the request. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon S3 Glacier uses the AWS account ID associated with the credentials used to sign the request. If you specify your account ID, do not include any hyphens ('-') in the ID." +} +""" +CreateVault(args) = glacier("PUT", "/{accountId}/vaults/{vaultName}", args) + +""" + GetJobOutput() + +This operation downloads the output of the job you initiated using InitiateJob. Depending on the job type you specified when you initiated the job, the output will be either the content of an archive or a vault inventory. You can download all the job output or download a portion of the output by specifying a byte range. In the case of an archive retrieval job, depending on the byte range you specify, Amazon S3 Glacier (Glacier) returns the checksum for the portion of the data. You can compute the checksum on the client and verify that the values match to ensure the portion you downloaded is the correct data. A job ID will not expire for at least 24 hours after Glacier completes the job. That a byte range. For both archive and inventory retrieval jobs, you should verify the downloaded size against the size returned in the headers from the Get Job Output response. For archive retrieval jobs, you should also verify that the size is what you expected. If you download a portion of the output, the expected size is based on the range of bytes you specified. For example, if you specify a range of bytes=0-1048575, you should verify your download size is 1,048,576 bytes. If you download an entire archive, the expected size is the size of the archive when you uploaded it to Amazon S3 Glacier The expected size is also returned in the headers from the Get Job Output response. In the case of an archive retrieval job, depending on the byte range you specify, Glacier returns the checksum for the portion of the data. To ensure the portion you downloaded is the correct data, compute the checksum on the client, verify that the values match, and verify that the size is what you expected. A job ID does not expire for at least 24 hours after Glacier completes the job. That is, you can download the job output within the 24 hours period after Amazon Glacier completes the job. An AWS account has full permission to perform all operations (actions). However, AWS Identity and Access Management (IAM) users don't have any permissions by default. You must grant them explicit permission to perform specific actions. For more information, see Access Control Using AWS Identity and Access Management (IAM). For conceptual information and the underlying REST API, see Downloading a Vault Inventory, Downloading an Archive, and Get Job Output + +Required Parameters +{ + "jobId": "The job ID whose data is downloaded.", + "vaultName": "The name of the vault.", + "accountId": "The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon S3 Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID." +} + +Optional Parameters +{ + "range": "The range of bytes to retrieve from the output. For example, if you want to download the first 1,048,576 bytes, specify the range as bytes=0-1048575. By default, this operation downloads the entire output. If the job output is large, then you can use a range to retrieve a portion of the output. This allows you to download the entire output in smaller chunks of bytes. For example, suppose you have 1 GB of job output you want to download and you decide to download 128 MB chunks of data at a time, which is a total of eight Get Job Output requests. You use the following process to download the job output: Download a 128 MB chunk of output by specifying the appropriate byte range. Verify that all 128 MB of data was received. Along with the data, the response includes a SHA256 tree hash of the payload. You compute the checksum of the payload on the client and compare it with the checksum you received in the response to ensure you received all the expected data. Repeat steps 1 and 2 for all the eight 128 MB chunks of output data, each time specifying the appropriate byte range. After downloading all the parts of the job output, you have a list of eight checksum values. Compute the tree hash of these values to find the checksum of the entire output. Using the DescribeJob API, obtain job information of the job that provided you the output. The response includes the checksum of the entire archive stored in Amazon S3 Glacier. You compare this value with the checksum you computed to ensure you have downloaded the entire archive content with no errors. " +} +""" +GetJobOutput(args) = glacier("GET", "/{accountId}/vaults/{vaultName}/jobs/{jobId}/output", args) diff --git a/src/services/global_accelerator.jl b/src/services/global_accelerator.jl new file mode 100644 index 0000000000..cb2444b2b2 --- /dev/null +++ b/src/services/global_accelerator.jl @@ -0,0 +1,383 @@ +include("../AWSServices.jl") +using .AWSServices: global_accelerator + +""" + ListTagsForResource() + +List all tags for an accelerator. To see an AWS CLI example of listing tags for an accelerator, scroll down to Example. For more information, see Tagging in AWS Global Accelerator in the AWS Global Accelerator Developer Guide. + +Required Parameters +{ + "ResourceArn": "The Amazon Resource Name (ARN) of the accelerator to list tags for. An ARN uniquely identifies an accelerator." +} +""" +ListTagsForResource(args) = global_accelerator("ListTagsForResource", args) + +""" + DeleteListener() + +Delete a listener from an accelerator. + +Required Parameters +{ + "ListenerArn": "The Amazon Resource Name (ARN) of the listener." +} +""" +DeleteListener(args) = global_accelerator("DeleteListener", args) + +""" + AdvertiseByoipCidr() + +Advertises an IPv4 address range that is provisioned for use with your AWS resources through bring your own IP addresses (BYOIP). It can take a few minutes before traffic to the specified addresses starts routing to AWS because of propagation delays. To see an AWS CLI example of advertising an address range, scroll down to Example. To stop advertising the BYOIP address range, use WithdrawByoipCidr. For more information, see Bring Your Own IP Addresses (BYOIP) in the AWS Global Accelerator Developer Guide. + +Required Parameters +{ + "Cidr": "The address range, in CIDR notation. This must be the exact range that you provisioned. You can't advertise only a portion of the provisioned range." +} +""" +AdvertiseByoipCidr(args) = global_accelerator("AdvertiseByoipCidr", args) + +""" + DeprovisionByoipCidr() + +Releases the specified address range that you provisioned to use with your AWS resources through bring your own IP addresses (BYOIP) and deletes the corresponding address pool. To see an AWS CLI example of deprovisioning an address range, scroll down to Example. Before you can release an address range, you must stop advertising it by using WithdrawByoipCidr and you must not have any accelerators that are using static IP addresses allocated from its address range. For more information, see Bring Your Own IP Addresses (BYOIP) in the AWS Global Accelerator Developer Guide. + +Required Parameters +{ + "Cidr": "The address range, in CIDR notation. The prefix must be the same prefix that you specified when you provisioned the address range." +} +""" +DeprovisionByoipCidr(args) = global_accelerator("DeprovisionByoipCidr", args) + +""" + DescribeAccelerator() + +Describe an accelerator. To see an AWS CLI example of describing an accelerator, scroll down to Example. + +Required Parameters +{ + "AcceleratorArn": "The Amazon Resource Name (ARN) of the accelerator to describe." +} +""" +DescribeAccelerator(args) = global_accelerator("DescribeAccelerator", args) + +""" + ProvisionByoipCidr() + +Provisions an IP address range to use with your AWS resources through bring your own IP addresses (BYOIP) and creates a corresponding address pool. After the address range is provisioned, it is ready to be advertised using AdvertiseByoipCidr. To see an AWS CLI example of provisioning an address range for BYOIP, scroll down to Example. For more information, see Bring Your Own IP Addresses (BYOIP) in the AWS Global Accelerator Developer Guide. + +Required Parameters +{ + "Cidr": "The public IPv4 address range, in CIDR notation. The most specific IP prefix that you can specify is /24. The address range cannot overlap with another address range that you've brought to this or another Region.", + "CidrAuthorizationContext": "A signed document that proves that you are authorized to bring the specified IP address range to Amazon using BYOIP. " +} +""" +ProvisionByoipCidr(args) = global_accelerator("ProvisionByoipCidr", args) + +""" + ListByoipCidrs() + +Lists the IP address ranges that were specified in calls to ProvisionByoipCidr, including the current state and a history of state changes. To see an AWS CLI example of listing BYOIP CIDR addresses, scroll down to Example. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.", + "NextToken": "The token for the next page of results." +} +""" +ListByoipCidrs() = global_accelerator("ListByoipCidrs") +ListByoipCidrs(args) = global_accelerator("ListByoipCidrs", args) + +""" + UpdateAccelerator() + +Update an accelerator. To see an AWS CLI example of updating an accelerator, scroll down to Example. You must specify the US West (Oregon) Region to create or update accelerators. + +Required Parameters +{ + "AcceleratorArn": "The Amazon Resource Name (ARN) of the accelerator to update." +} + +Optional Parameters +{ + "IpAddressType": "The value for the address type must be IPv4. ", + "Name": "The name of the accelerator. The name can have a maximum of 32 characters, must contain only alphanumeric characters or hyphens (-), and must not begin or end with a hyphen.", + "Enabled": "Indicates whether an accelerator is enabled. The value is true or false. The default value is true. If the value is set to true, the accelerator cannot be deleted. If set to false, the accelerator can be deleted." +} +""" +UpdateAccelerator(args) = global_accelerator("UpdateAccelerator", args) + +""" + DescribeListener() + +Describe a listener. To see an AWS CLI example of describing a listener, scroll down to Example. + +Required Parameters +{ + "ListenerArn": "The Amazon Resource Name (ARN) of the listener to describe." +} +""" +DescribeListener(args) = global_accelerator("DescribeListener", args) + +""" + CreateListener() + +Create a listener to process inbound connections from clients to an accelerator. Connections arrive to assigned static IP addresses on a port, port range, or list of port ranges that you specify. To see an AWS CLI example of creating a listener, scroll down to Example. + +Required Parameters +{ + "IdempotencyToken": "A unique, case-sensitive identifier that you provide to ensure the idempotency—that is, the uniqueness—of the request.", + "PortRanges": "The list of port ranges to support for connections from clients to your accelerator.", + "AcceleratorArn": "The Amazon Resource Name (ARN) of your accelerator.", + "Protocol": "The protocol for connections from clients to your accelerator." +} + +Optional Parameters +{ + "ClientAffinity": "Client affinity lets you direct all requests from a user to the same endpoint, if you have stateful applications, regardless of the port and protocol of the client request. Clienty affinity gives you control over whether to always route each client to the same specific endpoint. AWS Global Accelerator uses a consistent-flow hashing algorithm to choose the optimal endpoint for a connection. If client affinity is NONE, Global Accelerator uses the \"five-tuple\" (5-tuple) properties—source IP address, source port, destination IP address, destination port, and protocol—to select the hash value, and then chooses the best endpoint. However, with this setting, if someone uses different ports to connect to Global Accelerator, their connections might not be always routed to the same endpoint because the hash value changes. If you want a given client to always be routed to the same endpoint, set client affinity to SOURCE_IP instead. When you use the SOURCE_IP setting, Global Accelerator uses the \"two-tuple\" (2-tuple) properties— source (client) IP address and destination IP address—to select the hash value. The default value is NONE." +} +""" +CreateListener(args) = global_accelerator("CreateListener", args) + +""" + TagResource() + +Add tags to an accelerator resource. To see an AWS CLI example of adding tags to an accelerator, scroll down to Example. For more information, see Tagging in AWS Global Accelerator in the AWS Global Accelerator Developer Guide. + +Required Parameters +{ + "ResourceArn": "The Amazon Resource Name (ARN) of the Global Accelerator resource to add tags to. An ARN uniquely identifies a resource.", + "Tags": "The tags to add to a resource. A tag consists of a key and a value that you define." +} +""" +TagResource(args) = global_accelerator("TagResource", args) + +""" + UntagResource() + +Remove tags from a Global Accelerator resource. When you specify a tag key, the action removes both that key and its associated value. To see an AWS CLI example of removing tags from an accelerator, scroll down to Example. The operation succeeds even if you attempt to remove tags from an accelerator that was already removed. For more information, see Tagging in AWS Global Accelerator in the AWS Global Accelerator Developer Guide. + +Required Parameters +{ + "ResourceArn": "The Amazon Resource Name (ARN) of the Global Accelerator resource to remove tags from. An ARN uniquely identifies a resource.", + "TagKeys": "The tag key pairs that you want to remove from the specified resources." +} +""" +UntagResource(args) = global_accelerator("UntagResource", args) + +""" + DeleteAccelerator() + +Delete an accelerator. Before you can delete an accelerator, you must disable it and remove all dependent resources (listeners and endpoint groups). To disable the accelerator, update the accelerator to set Enabled to false. When you create an accelerator, by default, Global Accelerator provides you with a set of two static IP addresses. Alternatively, you can bring your own IP address ranges to Global Accelerator and assign IP addresses from those ranges. The IP addresses are assigned to your accelerator for as long as it exists, even if you disable the accelerator and it no longer accepts or routes traffic. However, when you delete an accelerator, you lose the static IP addresses that are assigned to the accelerator, so you can no longer route traffic by using them. As a best practice, ensure that you have permissions in place to avoid inadvertently deleting accelerators. You can use IAM policies with Global Accelerator to limit the users who have permissions to delete an accelerator. For more information, see Authentication and Access Control in the AWS Global Accelerator Developer Guide. + +Required Parameters +{ + "AcceleratorArn": "The Amazon Resource Name (ARN) of an accelerator." +} +""" +DeleteAccelerator(args) = global_accelerator("DeleteAccelerator", args) + +""" + CreateEndpointGroup() + +Create an endpoint group for the specified listener. An endpoint group is a collection of endpoints in one AWS Region. To see an AWS CLI example of creating an endpoint group, scroll down to Example. + +Required Parameters +{ + "ListenerArn": "The Amazon Resource Name (ARN) of the listener.", + "IdempotencyToken": "A unique, case-sensitive identifier that you provide to ensure the idempotency—that is, the uniqueness—of the request.", + "EndpointGroupRegion": "The name of the AWS Region where the endpoint group is located. A listener can have only one endpoint group in a specific Region." +} + +Optional Parameters +{ + "HealthCheckPort": "The port that AWS Global Accelerator uses to check the health of endpoints that are part of this endpoint group. The default port is the listener port that this endpoint group is associated with. If listener port is a list of ports, Global Accelerator uses the first port in the list.", + "ThresholdCount": "The number of consecutive health checks required to set the state of a healthy endpoint to unhealthy, or to set an unhealthy endpoint to healthy. The default value is 3.", + "TrafficDialPercentage": "The percentage of traffic to send to an AWS Region. Additional traffic is distributed to other endpoint groups for this listener. Use this action to increase (dial up) or decrease (dial down) traffic to a specific Region. The percentage is applied to the traffic that would otherwise have been routed to the Region based on optimal routing. The default value is 100.", + "HealthCheckProtocol": "The protocol that AWS Global Accelerator uses to check the health of endpoints that are part of this endpoint group. The default value is TCP.", + "HealthCheckPath": "If the protocol is HTTP/S, then this specifies the path that is the destination for health check targets. The default value is slash (/).", + "EndpointConfigurations": "The list of endpoint objects.", + "HealthCheckIntervalSeconds": "The time—10 seconds or 30 seconds—between each health check for an endpoint. The default value is 30." +} +""" +CreateEndpointGroup(args) = global_accelerator("CreateEndpointGroup", args) + +""" + ListAccelerators() + +List the accelerators for an AWS account. To see an AWS CLI example of listing the accelerators for an AWS account, scroll down to Example. + +Optional Parameters +{ + "MaxResults": "The number of Global Accelerator objects that you want to return with this call. The default value is 10.", + "NextToken": "The token for the next set of results. You receive this token from a previous call." +} +""" +ListAccelerators() = global_accelerator("ListAccelerators") +ListAccelerators(args) = global_accelerator("ListAccelerators", args) + +""" + DeleteEndpointGroup() + +Delete an endpoint group from a listener. + +Required Parameters +{ + "EndpointGroupArn": "The Amazon Resource Name (ARN) of the endpoint group to delete." +} +""" +DeleteEndpointGroup(args) = global_accelerator("DeleteEndpointGroup", args) + +""" + UpdateListener() + +Update a listener. To see an AWS CLI example of updating listener, scroll down to Example. + +Required Parameters +{ + "ListenerArn": "The Amazon Resource Name (ARN) of the listener to update." +} + +Optional Parameters +{ + "ClientAffinity": "Client affinity lets you direct all requests from a user to the same endpoint, if you have stateful applications, regardless of the port and protocol of the client request. Clienty affinity gives you control over whether to always route each client to the same specific endpoint. AWS Global Accelerator uses a consistent-flow hashing algorithm to choose the optimal endpoint for a connection. If client affinity is NONE, Global Accelerator uses the \"five-tuple\" (5-tuple) properties—source IP address, source port, destination IP address, destination port, and protocol—to select the hash value, and then chooses the best endpoint. However, with this setting, if someone uses different ports to connect to Global Accelerator, their connections might not be always routed to the same endpoint because the hash value changes. If you want a given client to always be routed to the same endpoint, set client affinity to SOURCE_IP instead. When you use the SOURCE_IP setting, Global Accelerator uses the \"two-tuple\" (2-tuple) properties— source (client) IP address and destination IP address—to select the hash value. The default value is NONE.", + "PortRanges": "The updated list of port ranges for the connections from clients to the accelerator.", + "Protocol": "The updated protocol for the connections from clients to the accelerator." +} +""" +UpdateListener(args) = global_accelerator("UpdateListener", args) + +""" + ListEndpointGroups() + +List the endpoint groups that are associated with a listener. To see an AWS CLI example of listing the endpoint groups for listener, scroll down to Example. + +Required Parameters +{ + "ListenerArn": "The Amazon Resource Name (ARN) of the listener." +} + +Optional Parameters +{ + "MaxResults": "The number of endpoint group objects that you want to return with this call. The default value is 10.", + "NextToken": "The token for the next set of results. You receive this token from a previous call." +} +""" +ListEndpointGroups(args) = global_accelerator("ListEndpointGroups", args) + +""" + DescribeAcceleratorAttributes() + +Describe the attributes of an accelerator. To see an AWS CLI example of describing the attributes of an accelerator, scroll down to Example. + +Required Parameters +{ + "AcceleratorArn": "The Amazon Resource Name (ARN) of the accelerator with the attributes that you want to describe." +} +""" +DescribeAcceleratorAttributes(args) = global_accelerator("DescribeAcceleratorAttributes", args) + +""" + CreateAccelerator() + +Create an accelerator. An accelerator includes one or more listeners that process inbound connections and direct traffic to one or more endpoint groups, each of which includes endpoints, such as Network Load Balancers. To see an AWS CLI example of creating an accelerator, scroll down to Example. If you bring your own IP address ranges to AWS Global Accelerator (BYOIP), you can assign IP addresses from your own pool to your accelerator as the static IP address entry points. Only one IP address from each of your IP address ranges can be used for each accelerator. You must specify the US West (Oregon) Region to create or update accelerators. + +Required Parameters +{ + "IdempotencyToken": "A unique, case-sensitive identifier that you provide to ensure the idempotency—that is, the uniqueness—of an accelerator.", + "Name": "The name of an accelerator. The name can have a maximum of 32 characters, must contain only alphanumeric characters or hyphens (-), and must not begin or end with a hyphen." +} + +Optional Parameters +{ + "IpAddressType": "The value for the address type must be IPv4. ", + "IpAddresses": "Optionally, if you've added your own IP address pool to Global Accelerator, you can choose IP addresses from your own pool to use for the accelerator's static IP addresses. You can specify one or two addresses, separated by a comma. Do not include the /32 suffix. If you specify only one IP address from your IP address range, Global Accelerator assigns a second static IP address for the accelerator from the AWS IP address pool. For more information, see Bring Your Own IP Addresses (BYOIP) in the AWS Global Accelerator Developer Guide.", + "Tags": "Create tags for an accelerator. For more information, see Tagging in AWS Global Accelerator in the AWS Global Accelerator Developer Guide.", + "Enabled": "Indicates whether an accelerator is enabled. The value is true or false. The default value is true. If the value is set to true, an accelerator cannot be deleted. If set to false, the accelerator can be deleted." +} +""" +CreateAccelerator(args) = global_accelerator("CreateAccelerator", args) + +""" + DescribeEndpointGroup() + +Describe an endpoint group. To see an AWS CLI example of describing an endpoint group, scroll down to Example. + +Required Parameters +{ + "EndpointGroupArn": "The Amazon Resource Name (ARN) of the endpoint group to describe." +} +""" +DescribeEndpointGroup(args) = global_accelerator("DescribeEndpointGroup", args) + +""" + ListListeners() + +List the listeners for an accelerator. To see an AWS CLI example of listing the listeners for an accelerator, scroll down to Example. + +Required Parameters +{ + "AcceleratorArn": "The Amazon Resource Name (ARN) of the accelerator for which you want to list listener objects." +} + +Optional Parameters +{ + "MaxResults": "The number of listener objects that you want to return with this call. The default value is 10.", + "NextToken": "The token for the next set of results. You receive this token from a previous call." +} +""" +ListListeners(args) = global_accelerator("ListListeners", args) + +""" + UpdateEndpointGroup() + +Update an endpoint group. To see an AWS CLI example of updating an endpoint group, scroll down to Example. + +Required Parameters +{ + "EndpointGroupArn": "The Amazon Resource Name (ARN) of the endpoint group." +} + +Optional Parameters +{ + "HealthCheckPort": "The port that AWS Global Accelerator uses to check the health of endpoints that are part of this endpoint group. The default port is the listener port that this endpoint group is associated with. If the listener port is a list of ports, Global Accelerator uses the first port in the list.", + "ThresholdCount": "The number of consecutive health checks required to set the state of a healthy endpoint to unhealthy, or to set an unhealthy endpoint to healthy. The default value is 3.", + "TrafficDialPercentage": "The percentage of traffic to send to an AWS Region. Additional traffic is distributed to other endpoint groups for this listener. Use this action to increase (dial up) or decrease (dial down) traffic to a specific Region. The percentage is applied to the traffic that would otherwise have been routed to the Region based on optimal routing. The default value is 100.", + "HealthCheckProtocol": "The protocol that AWS Global Accelerator uses to check the health of endpoints that are part of this endpoint group. The default value is TCP.", + "HealthCheckPath": "If the protocol is HTTP/S, then this specifies the path that is the destination for health check targets. The default value is slash (/).", + "EndpointConfigurations": "The list of endpoint objects.", + "HealthCheckIntervalSeconds": "The time—10 seconds or 30 seconds—between each health check for an endpoint. The default value is 30." +} +""" +UpdateEndpointGroup(args) = global_accelerator("UpdateEndpointGroup", args) + +""" + WithdrawByoipCidr() + +Stops advertising an address range that is provisioned as an address pool. You can perform this operation at most once every 10 seconds, even if you specify different address ranges each time. To see an AWS CLI example of withdrawing an address range for BYOIP so it will no longer be advertised by AWS, scroll down to Example. It can take a few minutes before traffic to the specified addresses stops routing to AWS because of propagation delays. For more information, see Bring Your Own IP Addresses (BYOIP) in the AWS Global Accelerator Developer Guide. + +Required Parameters +{ + "Cidr": "The address range, in CIDR notation." +} +""" +WithdrawByoipCidr(args) = global_accelerator("WithdrawByoipCidr", args) + +""" + UpdateAcceleratorAttributes() + +Update the attributes for an accelerator. To see an AWS CLI example of updating an accelerator to enable flow logs, scroll down to Example. + +Required Parameters +{ + "AcceleratorArn": "The Amazon Resource Name (ARN) of the accelerator that you want to update." +} + +Optional Parameters +{ + "FlowLogsEnabled": "Update whether flow logs are enabled. The default value is false. If the value is true, FlowLogsS3Bucket and FlowLogsS3Prefix must be specified. For more information, see Flow Logs in the AWS Global Accelerator Developer Guide.", + "FlowLogsS3Bucket": "The name of the Amazon S3 bucket for the flow logs. Attribute is required if FlowLogsEnabled is true. The bucket must exist and have a bucket policy that grants AWS Global Accelerator permission to write to the bucket.", + "FlowLogsS3Prefix": "Update the prefix for the location in the Amazon S3 bucket for the flow logs. Attribute is required if FlowLogsEnabled is true. If you don’t specify a prefix, the flow logs are stored in the root of the bucket. If you specify slash (/) for the S3 bucket prefix, the log file bucket folder structure will include a double slash (//), like the following: s3-bucket_name//AWSLogs/aws_account_id" +} +""" +UpdateAcceleratorAttributes(args) = global_accelerator("UpdateAcceleratorAttributes", args) diff --git a/src/services/glue.jl b/src/services/glue.jl new file mode 100644 index 0000000000..80765dc2ae --- /dev/null +++ b/src/services/glue.jl @@ -0,0 +1,2014 @@ +include("../AWSServices.jl") +using .AWSServices: glue + +""" + StartCrawlerSchedule() + +Changes the schedule state of the specified crawler to SCHEDULED, unless the crawler is already running or the schedule state is already SCHEDULED. + +Required Parameters +{ + "CrawlerName": "Name of the crawler to schedule." +} +""" +StartCrawlerSchedule(args) = glue("StartCrawlerSchedule", args) + +""" + GetMLTransform() + +Gets an AWS Glue machine learning transform artifact and all its corresponding metadata. Machine learning transforms are a special type of transform that use machine learning to learn the details of the transformation to be performed by learning from examples provided by humans. These transformations are then saved by AWS Glue. You can retrieve their metadata by calling GetMLTransform. + +Required Parameters +{ + "TransformId": "The unique identifier of the transform, generated at the time that the transform was created." +} +""" +GetMLTransform(args) = glue("GetMLTransform", args) + +""" + GetWorkflowRunProperties() + +Retrieves the workflow run properties which were set during the run. + +Required Parameters +{ + "RunId": "The ID of the workflow run whose run properties should be returned.", + "Name": "Name of the workflow which was run." +} +""" +GetWorkflowRunProperties(args) = glue("GetWorkflowRunProperties", args) + +""" + GetMapping() + +Creates mappings. + +Required Parameters +{ + "Source": "Specifies the source table." +} + +Optional Parameters +{ + "Sinks": "A list of target tables.", + "Location": "Parameters for the mapping." +} +""" +GetMapping(args) = glue("GetMapping", args) + +""" + UpdateDatabase() + +Updates an existing database definition in a Data Catalog. + +Required Parameters +{ + "DatabaseInput": "A DatabaseInput object specifying the new definition of the metadata database in the catalog.", + "Name": "The name of the database to update in the catalog. For Hive compatibility, this is folded to lowercase." +} + +Optional Parameters +{ + "CatalogId": "The ID of the Data Catalog in which the metadata database resides. If none is provided, the AWS account ID is used by default." +} +""" +UpdateDatabase(args) = glue("UpdateDatabase", args) + +""" + PutDataCatalogEncryptionSettings() + +Sets the security configuration for a specified catalog. After the configuration has been set, the specified encryption is applied to every catalog write thereafter. + +Required Parameters +{ + "DataCatalogEncryptionSettings": "The security configuration to set." +} + +Optional Parameters +{ + "CatalogId": "The ID of the Data Catalog to set the security configuration for. If none is provided, the AWS account ID is used by default." +} +""" +PutDataCatalogEncryptionSettings(args) = glue("PutDataCatalogEncryptionSettings", args) + +""" + BatchGetPartition() + +Retrieves partitions in a batch request. + +Required Parameters +{ + "DatabaseName": "The name of the catalog database where the partitions reside.", + "TableName": "The name of the partitions' table.", + "PartitionsToGet": "A list of partition values identifying the partitions to retrieve." +} + +Optional Parameters +{ + "CatalogId": "The ID of the Data Catalog where the partitions in question reside. If none is supplied, the AWS account ID is used by default." +} +""" +BatchGetPartition(args) = glue("BatchGetPartition", args) + +""" + GetTables() + +Retrieves the definitions of some or all of the tables in a given Database. + +Required Parameters +{ + "DatabaseName": "The database in the catalog whose tables to list. For Hive compatibility, this name is entirely lowercase." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of tables to return in a single response.", + "NextToken": "A continuation token, included if this is a continuation call.", + "CatalogId": "The ID of the Data Catalog where the tables reside. If none is provided, the AWS account ID is used by default.", + "Expression": "A regular expression pattern. If present, only those tables whose names match the pattern are returned." +} +""" +GetTables(args) = glue("GetTables", args) + +""" + UpdateClassifier() + +Modifies an existing classifier (a GrokClassifier, an XMLClassifier, a JsonClassifier, or a CsvClassifier, depending on which field is present). + +Optional Parameters +{ + "JsonClassifier": "A JsonClassifier object with updated fields.", + "CsvClassifier": "A CsvClassifier object with updated fields.", + "GrokClassifier": "A GrokClassifier object with updated fields.", + "XMLClassifier": "An XMLClassifier object with updated fields." +} +""" +UpdateClassifier() = glue("UpdateClassifier") +UpdateClassifier(args) = glue("UpdateClassifier", args) + +""" + GetSecurityConfigurations() + +Retrieves a list of all security configurations. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return.", + "NextToken": "A continuation token, if this is a continuation call." +} +""" +GetSecurityConfigurations() = glue("GetSecurityConfigurations") +GetSecurityConfigurations(args) = glue("GetSecurityConfigurations", args) + +""" + CancelMLTaskRun() + +Cancels (stops) a task run. Machine learning task runs are asynchronous tasks that AWS Glue runs on your behalf as part of various machine learning workflows. You can cancel a machine learning task run at any time by calling CancelMLTaskRun with a task run's parent transform's TransformID and the task run's TaskRunId. + +Required Parameters +{ + "TaskRunId": "A unique identifier for the task run.", + "TransformId": "The unique identifier of the machine learning transform." +} +""" +CancelMLTaskRun(args) = glue("CancelMLTaskRun", args) + +""" + GetTrigger() + +Retrieves the definition of a trigger. + +Required Parameters +{ + "Name": "The name of the trigger to retrieve." +} +""" +GetTrigger(args) = glue("GetTrigger", args) + +""" + GetJobRuns() + +Retrieves metadata for all runs of a given job definition. + +Required Parameters +{ + "JobName": "The name of the job definition for which to retrieve all job runs." +} + +Optional Parameters +{ + "MaxResults": "The maximum size of the response.", + "NextToken": "A continuation token, if this is a continuation call." +} +""" +GetJobRuns(args) = glue("GetJobRuns", args) + +""" + PutWorkflowRunProperties() + +Puts the specified workflow run properties for the given workflow run. If a property already exists for the specified run, then it overrides the value otherwise adds the property to existing properties. + +Required Parameters +{ + "RunProperties": "The properties to put for the specified run.", + "RunId": "The ID of the workflow run for which the run properties should be updated.", + "Name": "Name of the workflow which was run." +} +""" +PutWorkflowRunProperties(args) = glue("PutWorkflowRunProperties", args) + +""" + BatchGetDevEndpoints() + +Returns a list of resource metadata for a given list of development endpoint names. After calling the ListDevEndpoints operation, you can call this operation to access the data to which you have been granted permissions. This operation supports all IAM permissions, including permission conditions that uses tags. + +Required Parameters +{ + "DevEndpointNames": "The list of DevEndpoint names, which might be the names returned from the ListDevEndpoint operation." +} +""" +BatchGetDevEndpoints(args) = glue("BatchGetDevEndpoints", args) + +""" + TagResource() + +Adds tags to a resource. A tag is a label you can assign to an AWS resource. In AWS Glue, you can tag only certain resources. For information about what resources you can tag, see AWS Tags in AWS Glue. + +Required Parameters +{ + "TagsToAdd": "Tags to add to this resource.", + "ResourceArn": "The ARN of the AWS Glue resource to which to add the tags. For more information about AWS Glue resource ARNs, see the AWS Glue ARN string pattern." +} +""" +TagResource(args) = glue("TagResource", args) + +""" + CreateTable() + +Creates a new table definition in the Data Catalog. + +Required Parameters +{ + "DatabaseName": "The catalog database in which to create the new table. For Hive compatibility, this name is entirely lowercase.", + "TableInput": "The TableInput object that defines the metadata table to create in the catalog." +} + +Optional Parameters +{ + "CatalogId": "The ID of the Data Catalog in which to create the Table. If none is supplied, the AWS account ID is used by default." +} +""" +CreateTable(args) = glue("CreateTable", args) + +""" + GetDataCatalogEncryptionSettings() + +Retrieves the security configuration for a specified catalog. + +Optional Parameters +{ + "CatalogId": "The ID of the Data Catalog to retrieve the security configuration for. If none is provided, the AWS account ID is used by default." +} +""" +GetDataCatalogEncryptionSettings() = glue("GetDataCatalogEncryptionSettings") +GetDataCatalogEncryptionSettings(args) = glue("GetDataCatalogEncryptionSettings", args) + +""" + GetMLTransforms() + +Gets a sortable, filterable list of existing AWS Glue machine learning transforms. Machine learning transforms are a special type of transform that use machine learning to learn the details of the transformation to be performed by learning from examples provided by humans. These transformations are then saved by AWS Glue, and you can retrieve their metadata by calling GetMLTransforms. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return.", + "Sort": "The sorting criteria.", + "NextToken": "A paginated token to offset the results.", + "Filter": "The filter transformation criteria." +} +""" +GetMLTransforms() = glue("GetMLTransforms") +GetMLTransforms(args) = glue("GetMLTransforms", args) + +""" + BatchGetTriggers() + +Returns a list of resource metadata for a given list of trigger names. After calling the ListTriggers operation, you can call this operation to access the data to which you have been granted permissions. This operation supports all IAM permissions, including permission conditions that uses tags. + +Required Parameters +{ + "TriggerNames": "A list of trigger names, which may be the names returned from the ListTriggers operation." +} +""" +BatchGetTriggers(args) = glue("BatchGetTriggers", args) + +""" + GetMLTaskRuns() + +Gets a list of runs for a machine learning transform. Machine learning task runs are asynchronous tasks that AWS Glue runs on your behalf as part of various machine learning workflows. You can get a sortable, filterable list of machine learning task runs by calling GetMLTaskRuns with their parent transform's TransformID and other optional parameters as documented in this section. This operation returns a list of historic runs and must be paginated. + +Required Parameters +{ + "TransformId": "The unique identifier of the machine learning transform." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return. ", + "Sort": "The sorting criteria, in the TaskRunSortCriteria structure, for the task run.", + "NextToken": "A token for pagination of the results. The default is empty.", + "Filter": "The filter criteria, in the TaskRunFilterCriteria structure, for the task run." +} +""" +GetMLTaskRuns(args) = glue("GetMLTaskRuns", args) + +""" + SearchTables() + +Searches a set of tables based on properties in the table metadata as well as on the parent database. You can search against text or filter conditions. You can only get tables that you have access to based on the security policies defined in Lake Formation. You need at least a read-only access to the table for it to be returned. If you do not have access to all the columns in the table, these columns will not be searched against when returning the list of tables back to you. If you have access to the columns but not the data in the columns, those columns and the associated metadata for those columns will be included in the search. + +Optional Parameters +{ + "MaxResults": "The maximum number of tables to return in a single response.", + "NextToken": "A continuation token, included if this is a continuation call.", + "SortCriteria": "A list of criteria for sorting the results by a field name, in an ascending or descending order.", + "SearchText": "A string used for a text search. Specifying a value in quotes filters based on an exact match to the value.", + "CatalogId": "A unique identifier, consisting of account_id/datalake.", + "Filters": "A list of key-value pairs, and a comparator used to filter the search results. Returns all entities matching the predicate." +} +""" +SearchTables() = glue("SearchTables") +SearchTables(args) = glue("SearchTables", args) + +""" + UpdateJob() + +Updates an existing job definition. + +Required Parameters +{ + "JobName": "The name of the job definition to update.", + "JobUpdate": "Specifies the values with which to update the job definition." +} +""" +UpdateJob(args) = glue("UpdateJob", args) + +""" + DeleteDatabase() + +Removes a specified database from a Data Catalog. After completing this operation, you no longer have access to the tables (and all table versions and partitions that might belong to the tables) and the user-defined functions in the deleted database. AWS Glue deletes these "orphaned" resources asynchronously in a timely manner, at the discretion of the service. To ensure the immediate deletion of all related resources, before calling DeleteDatabase, use DeleteTableVersion or BatchDeleteTableVersion, DeletePartition or BatchDeletePartition, DeleteUserDefinedFunction, and DeleteTable or BatchDeleteTable, to delete any resources that belong to the database. + +Required Parameters +{ + "Name": "The name of the database to delete. For Hive compatibility, this must be all lowercase." +} + +Optional Parameters +{ + "CatalogId": "The ID of the Data Catalog in which the database resides. If none is provided, the AWS account ID is used by default." +} +""" +DeleteDatabase(args) = glue("DeleteDatabase", args) + +""" + StopCrawler() + +If the specified crawler is running, stops the crawl. + +Required Parameters +{ + "Name": "Name of the crawler to stop." +} +""" +StopCrawler(args) = glue("StopCrawler", args) + +""" + BatchCreatePartition() + +Creates one or more partitions in a batch operation. + +Required Parameters +{ + "DatabaseName": "The name of the metadata database in which the partition is to be created.", + "TableName": "The name of the metadata table in which the partition is to be created.", + "PartitionInputList": "A list of PartitionInput structures that define the partitions to be created." +} + +Optional Parameters +{ + "CatalogId": "The ID of the catalog in which the partition is to be created. Currently, this should be the AWS account ID." +} +""" +BatchCreatePartition(args) = glue("BatchCreatePartition", args) + +""" + StopTrigger() + +Stops a specified trigger. + +Required Parameters +{ + "Name": "The name of the trigger to stop." +} +""" +StopTrigger(args) = glue("StopTrigger", args) + +""" + UpdateConnection() + +Updates a connection definition in the Data Catalog. + +Required Parameters +{ + "Name": "The name of the connection definition to update.", + "ConnectionInput": "A ConnectionInput object that redefines the connection in question." +} + +Optional Parameters +{ + "CatalogId": "The ID of the Data Catalog in which the connection resides. If none is provided, the AWS account ID is used by default." +} +""" +UpdateConnection(args) = glue("UpdateConnection", args) + +""" + DeleteUserDefinedFunction() + +Deletes an existing function definition from the Data Catalog. + +Required Parameters +{ + "DatabaseName": "The name of the catalog database where the function is located.", + "FunctionName": "The name of the function definition to be deleted." +} + +Optional Parameters +{ + "CatalogId": "The ID of the Data Catalog where the function to be deleted is located. If none is supplied, the AWS account ID is used by default." +} +""" +DeleteUserDefinedFunction(args) = glue("DeleteUserDefinedFunction", args) + +""" + GetTableVersions() + +Retrieves a list of strings that identify available versions of a specified table. + +Required Parameters +{ + "DatabaseName": "The database in the catalog in which the table resides. For Hive compatibility, this name is entirely lowercase.", + "TableName": "The name of the table. For Hive compatibility, this name is entirely lowercase." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of table versions to return in one response.", + "NextToken": "A continuation token, if this is not the first call.", + "CatalogId": "The ID of the Data Catalog where the tables reside. If none is provided, the AWS account ID is used by default." +} +""" +GetTableVersions(args) = glue("GetTableVersions", args) + +""" + GetCrawlerMetrics() + +Retrieves metrics about specified crawlers. + +Optional Parameters +{ + "MaxResults": "The maximum size of a list to return.", + "CrawlerNameList": "A list of the names of crawlers about which to retrieve metrics.", + "NextToken": "A continuation token, if this is a continuation call." +} +""" +GetCrawlerMetrics() = glue("GetCrawlerMetrics") +GetCrawlerMetrics(args) = glue("GetCrawlerMetrics", args) + +""" + DeleteSecurityConfiguration() + +Deletes a specified security configuration. + +Required Parameters +{ + "Name": "The name of the security configuration to delete." +} +""" +DeleteSecurityConfiguration(args) = glue("DeleteSecurityConfiguration", args) + +""" + UpdateCrawler() + +Updates a crawler. If a crawler is running, you must stop it using StopCrawler before updating it. + +Required Parameters +{ + "Name": "Name of the new crawler." +} + +Optional Parameters +{ + "DatabaseName": "The AWS Glue database where results are stored, such as: arn:aws:daylight:us-east-1::database/sometable/*.", + "SchemaChangePolicy": "The policy for the crawler's update and deletion behavior.", + "Schedule": "A cron expression used to specify the schedule. For more information, see Time-Based Schedules for Jobs and Crawlers. For example, to run something every day at 12:15 UTC, specify cron(15 12 * * ? *).", + "Configuration": "The crawler configuration information. This versioned JSON string allows users to specify aspects of a crawler's behavior. For more information, see Configuring a Crawler.", + "CrawlerSecurityConfiguration": "The name of the SecurityConfiguration structure to be used by this crawler.", + "Description": "A description of the new crawler.", + "TablePrefix": "The table prefix used for catalog tables that are created.", + "Targets": "A list of targets to crawl.", + "Role": "The IAM role or Amazon Resource Name (ARN) of an IAM role that is used by the new crawler to access customer resources.", + "Classifiers": "A list of custom classifiers that the user has registered. By default, all built-in classifiers are included in a crawl, but these custom classifiers always override the default classifiers for a given classification." +} +""" +UpdateCrawler(args) = glue("UpdateCrawler", args) + +""" + UpdatePartition() + +Updates a partition. + +Required Parameters +{ + "DatabaseName": "The name of the catalog database in which the table in question resides.", + "PartitionValueList": "A list of the values defining the partition.", + "PartitionInput": "The new partition object to update the partition to.", + "TableName": "The name of the table in which the partition to be updated is located." +} + +Optional Parameters +{ + "CatalogId": "The ID of the Data Catalog where the partition to be updated resides. If none is provided, the AWS account ID is used by default." +} +""" +UpdatePartition(args) = glue("UpdatePartition", args) + +""" + GetDatabases() + +Retrieves all databases defined in a given Data Catalog. + +Optional Parameters +{ + "MaxResults": "The maximum number of databases to return in one response.", + "NextToken": "A continuation token, if this is a continuation call.", + "CatalogId": "The ID of the Data Catalog from which to retrieve Databases. If none is provided, the AWS account ID is used by default." +} +""" +GetDatabases() = glue("GetDatabases") +GetDatabases(args) = glue("GetDatabases", args) + +""" + StopCrawlerSchedule() + +Sets the schedule state of the specified crawler to NOT_SCHEDULED, but does not stop the crawler if it is already running. + +Required Parameters +{ + "CrawlerName": "Name of the crawler whose schedule state to set." +} +""" +StopCrawlerSchedule(args) = glue("StopCrawlerSchedule", args) + +""" + GetWorkflow() + +Retrieves resource metadata for a workflow. + +Required Parameters +{ + "Name": "The name of the workflow to retrieve." +} + +Optional Parameters +{ + "IncludeGraph": "Specifies whether to include a graph when returning the workflow resource metadata." +} +""" +GetWorkflow(args) = glue("GetWorkflow", args) + +""" + GetClassifiers() + +Lists all classifier objects in the Data Catalog. + +Optional Parameters +{ + "MaxResults": "The size of the list to return (optional).", + "NextToken": "An optional continuation token." +} +""" +GetClassifiers() = glue("GetClassifiers") +GetClassifiers(args) = glue("GetClassifiers", args) + +""" + GetUserDefinedFunctions() + +Retrieves multiple function definitions from the Data Catalog. + +Required Parameters +{ + "DatabaseName": "The name of the catalog database where the functions are located.", + "Pattern": "An optional function-name pattern string that filters the function definitions returned." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of functions to return in one response.", + "NextToken": "A continuation token, if this is a continuation call.", + "CatalogId": "The ID of the Data Catalog where the functions to be retrieved are located. If none is provided, the AWS account ID is used by default." +} +""" +GetUserDefinedFunctions(args) = glue("GetUserDefinedFunctions", args) + +""" + UpdateUserDefinedFunction() + +Updates an existing function definition in the Data Catalog. + +Required Parameters +{ + "DatabaseName": "The name of the catalog database where the function to be updated is located.", + "FunctionName": "The name of the function.", + "FunctionInput": "A FunctionInput object that redefines the function in the Data Catalog." +} + +Optional Parameters +{ + "CatalogId": "The ID of the Data Catalog where the function to be updated is located. If none is provided, the AWS account ID is used by default." +} +""" +UpdateUserDefinedFunction(args) = glue("UpdateUserDefinedFunction", args) + +""" + GetWorkflowRun() + +Retrieves the metadata for a given workflow run. + +Required Parameters +{ + "RunId": "The ID of the workflow run.", + "Name": "Name of the workflow being run." +} + +Optional Parameters +{ + "IncludeGraph": "Specifies whether to include the workflow graph in response or not." +} +""" +GetWorkflowRun(args) = glue("GetWorkflowRun", args) + +""" + StartMLEvaluationTaskRun() + +Starts a task to estimate the quality of the transform. When you provide label sets as examples of truth, AWS Glue machine learning uses some of those examples to learn from them. The rest of the labels are used as a test to estimate quality. Returns a unique identifier for the run. You can call GetMLTaskRun to get more information about the stats of the EvaluationTaskRun. + +Required Parameters +{ + "TransformId": "The unique identifier of the machine learning transform." +} +""" +StartMLEvaluationTaskRun(args) = glue("StartMLEvaluationTaskRun", args) + +""" + GetSecurityConfiguration() + +Retrieves a specified security configuration. + +Required Parameters +{ + "Name": "The name of the security configuration to retrieve." +} +""" +GetSecurityConfiguration(args) = glue("GetSecurityConfiguration", args) + +""" + GetPartition() + +Retrieves information about a specified partition. + +Required Parameters +{ + "DatabaseName": "The name of the catalog database where the partition resides.", + "TableName": "The name of the partition's table.", + "PartitionValues": "The values that define the partition." +} + +Optional Parameters +{ + "CatalogId": "The ID of the Data Catalog where the partition in question resides. If none is provided, the AWS account ID is used by default." +} +""" +GetPartition(args) = glue("GetPartition", args) + +""" + CreateCrawler() + +Creates a new crawler with specified targets, role, configuration, and optional schedule. At least one crawl target must be specified, in the s3Targets field, the jdbcTargets field, or the DynamoDBTargets field. + +Required Parameters +{ + "Targets": "A list of collection of targets to crawl.", + "Name": "Name of the new crawler.", + "Role": "The IAM role or Amazon Resource Name (ARN) of an IAM role used by the new crawler to access customer resources." +} + +Optional Parameters +{ + "DatabaseName": "The AWS Glue database where results are written, such as: arn:aws:daylight:us-east-1::database/sometable/*.", + "SchemaChangePolicy": "The policy for the crawler's update and deletion behavior.", + "Schedule": "A cron expression used to specify the schedule. For more information, see Time-Based Schedules for Jobs and Crawlers. For example, to run something every day at 12:15 UTC, specify cron(15 12 * * ? *).", + "Configuration": "The crawler configuration information. This versioned JSON string allows users to specify aspects of a crawler's behavior. For more information, see Configuring a Crawler.", + "Tags": "The tags to use with this crawler request. You can use tags to limit access to the crawler. For more information, see AWS Tags in AWS Glue.", + "CrawlerSecurityConfiguration": "The name of the SecurityConfiguration structure to be used by this crawler.", + "Description": "A description of the new crawler.", + "TablePrefix": "The table prefix used for catalog tables that are created.", + "Classifiers": "A list of custom classifiers that the user has registered. By default, all built-in classifiers are included in a crawl, but these custom classifiers always override the default classifiers for a given classification." +} +""" +CreateCrawler(args) = glue("CreateCrawler", args) + +""" + GetPlan() + +Gets code to perform a specified mapping. + +Required Parameters +{ + "Source": "The source table.", + "Mapping": "The list of mappings from a source table to target tables." +} + +Optional Parameters +{ + "Sinks": "The target tables.", + "Location": "The parameters for the mapping.", + "Language": "The programming language of the code to perform the mapping." +} +""" +GetPlan(args) = glue("GetPlan", args) + +""" + CreateDevEndpoint() + +Creates a new development endpoint. + +Required Parameters +{ + "EndpointName": "The name to be assigned to the new DevEndpoint.", + "RoleArn": "The IAM role for the DevEndpoint." +} + +Optional Parameters +{ + "NumberOfWorkers": "The number of workers of a defined workerType that are allocated to the development endpoint. The maximum number of workers you can define are 299 for G.1X, and 149 for G.2X. ", + "NumberOfNodes": "The number of AWS Glue Data Processing Units (DPUs) to allocate to this DevEndpoint.", + "SecurityConfiguration": "The name of the SecurityConfiguration structure to be used with this DevEndpoint.", + "Arguments": "A map of arguments used to configure the DevEndpoint.", + "Tags": "The tags to use with this DevEndpoint. You may use tags to limit access to the DevEndpoint. For more information about tags in AWS Glue, see AWS Tags in AWS Glue in the developer guide.", + "ExtraJarsS3Path": "The path to one or more Java .jar files in an S3 bucket that should be loaded in your DevEndpoint.", + "GlueVersion": "Glue version determines the versions of Apache Spark and Python that AWS Glue supports. The Python version indicates the version supported for running your ETL scripts on development endpoints. For more information about the available AWS Glue versions and corresponding Spark and Python versions, see Glue version in the developer guide. Development endpoints that are created without specifying a Glue version default to Glue 0.9. You can specify a version of Python support for development endpoints by using the Arguments parameter in the CreateDevEndpoint or UpdateDevEndpoint APIs. If no arguments are provided, the version defaults to Python 2.", + "SecurityGroupIds": "Security group IDs for the security groups to be used by the new DevEndpoint.", + "SubnetId": "The subnet ID for the new DevEndpoint to use.", + "PublicKey": "The public key to be used by this DevEndpoint for authentication. This attribute is provided for backward compatibility because the recommended attribute to use is public keys.", + "WorkerType": "The type of predefined worker that is allocated to the development endpoint. Accepts a value of Standard, G.1X, or G.2X. For the Standard worker type, each worker provides 4 vCPU, 16 GB of memory and a 50GB disk, and 2 executors per worker. For the G.1X worker type, each worker maps to 1 DPU (4 vCPU, 16 GB of memory, 64 GB disk), and provides 1 executor per worker. We recommend this worker type for memory-intensive jobs. For the G.2X worker type, each worker maps to 2 DPU (8 vCPU, 32 GB of memory, 128 GB disk), and provides 1 executor per worker. We recommend this worker type for memory-intensive jobs. Known issue: when a development endpoint is created with the G.2X WorkerType configuration, the Spark drivers for the development endpoint will run on 4 vCPU, 16 GB of memory, and a 64 GB disk. ", + "PublicKeys": "A list of public keys to be used by the development endpoints for authentication. The use of this attribute is preferred over a single public key because the public keys allow you to have a different private key per client. If you previously created an endpoint with a public key, you must remove that key to be able to set a list of public keys. Call the UpdateDevEndpoint API with the public key content in the deletePublicKeys attribute, and the list of new keys in the addPublicKeys attribute. ", + "ExtraPythonLibsS3Path": "The paths to one or more Python libraries in an Amazon S3 bucket that should be loaded in your DevEndpoint. Multiple values must be complete paths separated by a comma. You can only use pure Python libraries with a DevEndpoint. Libraries that rely on C extensions, such as the pandas Python data analysis library, are not yet supported. " +} +""" +CreateDevEndpoint(args) = glue("CreateDevEndpoint", args) + +""" + BatchDeleteTableVersion() + +Deletes a specified batch of versions of a table. + +Required Parameters +{ + "DatabaseName": "The database in the catalog in which the table resides. For Hive compatibility, this name is entirely lowercase.", + "TableName": "The name of the table. For Hive compatibility, this name is entirely lowercase.", + "VersionIds": "A list of the IDs of versions to be deleted. A VersionId is a string representation of an integer. Each version is incremented by 1." +} + +Optional Parameters +{ + "CatalogId": "The ID of the Data Catalog where the tables reside. If none is provided, the AWS account ID is used by default." +} +""" +BatchDeleteTableVersion(args) = glue("BatchDeleteTableVersion", args) + +""" + UntagResource() + +Removes tags from a resource. + +Required Parameters +{ + "ResourceArn": "The Amazon Resource Name (ARN) of the resource from which to remove the tags.", + "TagsToRemove": "Tags to remove from this resource." +} +""" +UntagResource(args) = glue("UntagResource", args) + +""" + BatchDeleteConnection() + +Deletes a list of connection definitions from the Data Catalog. + +Required Parameters +{ + "ConnectionNameList": "A list of names of the connections to delete." +} + +Optional Parameters +{ + "CatalogId": "The ID of the Data Catalog in which the connections reside. If none is provided, the AWS account ID is used by default." +} +""" +BatchDeleteConnection(args) = glue("BatchDeleteConnection", args) + +""" + CreateDatabase() + +Creates a new database in a Data Catalog. + +Required Parameters +{ + "DatabaseInput": "The metadata for the database." +} + +Optional Parameters +{ + "CatalogId": "The ID of the Data Catalog in which to create the database. If none is provided, the AWS account ID is used by default." +} +""" +CreateDatabase(args) = glue("CreateDatabase", args) + +""" + DeleteTableVersion() + +Deletes a specified version of a table. + +Required Parameters +{ + "DatabaseName": "The database in the catalog in which the table resides. For Hive compatibility, this name is entirely lowercase.", + "TableName": "The name of the table. For Hive compatibility, this name is entirely lowercase.", + "VersionId": "The ID of the table version to be deleted. A VersionID is a string representation of an integer. Each version is incremented by 1." +} + +Optional Parameters +{ + "CatalogId": "The ID of the Data Catalog where the tables reside. If none is provided, the AWS account ID is used by default." +} +""" +DeleteTableVersion(args) = glue("DeleteTableVersion", args) + +""" + BatchGetWorkflows() + +Returns a list of resource metadata for a given list of workflow names. After calling the ListWorkflows operation, you can call this operation to access the data to which you have been granted permissions. This operation supports all IAM permissions, including permission conditions that uses tags. + +Required Parameters +{ + "Names": "A list of workflow names, which may be the names returned from the ListWorkflows operation." +} + +Optional Parameters +{ + "IncludeGraph": "Specifies whether to include a graph when returning the workflow resource metadata." +} +""" +BatchGetWorkflows(args) = glue("BatchGetWorkflows", args) + +""" + GetDataflowGraph() + +Transforms a Python script into a directed acyclic graph (DAG). + +Optional Parameters +{ + "PythonScript": "The Python script to transform." +} +""" +GetDataflowGraph() = glue("GetDataflowGraph") +GetDataflowGraph(args) = glue("GetDataflowGraph", args) + +""" + CreateConnection() + +Creates a connection definition in the Data Catalog. + +Required Parameters +{ + "ConnectionInput": "A ConnectionInput object defining the connection to create." +} + +Optional Parameters +{ + "CatalogId": "The ID of the Data Catalog in which to create the connection. If none is provided, the AWS account ID is used by default." +} +""" +CreateConnection(args) = glue("CreateConnection", args) + +""" + BatchDeletePartition() + +Deletes one or more partitions in a batch operation. + +Required Parameters +{ + "DatabaseName": "The name of the catalog database in which the table in question resides.", + "PartitionsToDelete": "A list of PartitionInput structures that define the partitions to be deleted.", + "TableName": "The name of the table that contains the partitions to be deleted." +} + +Optional Parameters +{ + "CatalogId": "The ID of the Data Catalog where the partition to be deleted resides. If none is provided, the AWS account ID is used by default." +} +""" +BatchDeletePartition(args) = glue("BatchDeletePartition", args) + +""" + CreateScript() + +Transforms a directed acyclic graph (DAG) into code. + +Optional Parameters +{ + "DagEdges": "A list of the edges in the DAG.", + "DagNodes": "A list of the nodes in the DAG.", + "Language": "The programming language of the resulting code from the DAG." +} +""" +CreateScript() = glue("CreateScript") +CreateScript(args) = glue("CreateScript", args) + +""" + StartMLLabelingSetGenerationTaskRun() + +Starts the active learning workflow for your machine learning transform to improve the transform's quality by generating label sets and adding labels. When the StartMLLabelingSetGenerationTaskRun finishes, AWS Glue will have generated a "labeling set" or a set of questions for humans to answer. In the case of the FindMatches transform, these questions are of the form, “What is the correct way to group these rows together into groups composed entirely of matching records?” After the labeling process is finished, you can upload your labels with a call to StartImportLabelsTaskRun. After StartImportLabelsTaskRun finishes, all future runs of the machine learning transform will use the new and improved labels and perform a higher-quality transformation. + +Required Parameters +{ + "OutputS3Path": "The Amazon Simple Storage Service (Amazon S3) path where you generate the labeling set.", + "TransformId": "The unique identifier of the machine learning transform." +} +""" +StartMLLabelingSetGenerationTaskRun(args) = glue("StartMLLabelingSetGenerationTaskRun", args) + +""" + DeletePartition() + +Deletes a specified partition. + +Required Parameters +{ + "DatabaseName": "The name of the catalog database in which the table in question resides.", + "TableName": "The name of the table that contains the partition to be deleted.", + "PartitionValues": "The values that define the partition." +} + +Optional Parameters +{ + "CatalogId": "The ID of the Data Catalog where the partition to be deleted resides. If none is provided, the AWS account ID is used by default." +} +""" +DeletePartition(args) = glue("DeletePartition", args) + +""" + GetMLTaskRun() + +Gets details for a specific task run on a machine learning transform. Machine learning task runs are asynchronous tasks that AWS Glue runs on your behalf as part of various machine learning workflows. You can check the stats of any task run by calling GetMLTaskRun with the TaskRunID and its parent transform's TransformID. + +Required Parameters +{ + "TaskRunId": "The unique identifier of the task run.", + "TransformId": "The unique identifier of the machine learning transform." +} +""" +GetMLTaskRun(args) = glue("GetMLTaskRun", args) + +""" + GetCrawlers() + +Retrieves metadata for all crawlers defined in the customer account. + +Optional Parameters +{ + "MaxResults": "The number of crawlers to return on each call.", + "NextToken": "A continuation token, if this is a continuation request." +} +""" +GetCrawlers() = glue("GetCrawlers") +GetCrawlers(args) = glue("GetCrawlers", args) + +""" + GetConnections() + +Retrieves a list of connection definitions from the Data Catalog. + +Optional Parameters +{ + "MaxResults": "The maximum number of connections to return in one response.", + "NextToken": "A continuation token, if this is a continuation call.", + "Filter": "A filter that controls which connections are returned.", + "HidePassword": "Allows you to retrieve the connection metadata without returning the password. For instance, the AWS Glue console uses this flag to retrieve the connection, and does not display the password. Set this parameter when the caller might not have permission to use the AWS KMS key to decrypt the password, but it does have permission to access the rest of the connection properties.", + "CatalogId": "The ID of the Data Catalog in which the connections reside. If none is provided, the AWS account ID is used by default." +} +""" +GetConnections() = glue("GetConnections") +GetConnections(args) = glue("GetConnections", args) + +""" + ListDevEndpoints() + +Retrieves the names of all DevEndpoint resources in this AWS account, or the resources with the specified tag. This operation allows you to see which resources are available in your account, and their names. This operation takes the optional Tags field, which you can use as a filter on the response so that tagged resources can be retrieved as a group. If you choose to use tags filtering, only resources with the tag are retrieved. + +Optional Parameters +{ + "MaxResults": "The maximum size of a list to return.", + "NextToken": "A continuation token, if this is a continuation request.", + "Tags": "Specifies to return only these tagged resources." +} +""" +ListDevEndpoints() = glue("ListDevEndpoints") +ListDevEndpoints(args) = glue("ListDevEndpoints", args) + +""" + DeleteDevEndpoint() + +Deletes a specified development endpoint. + +Required Parameters +{ + "EndpointName": "The name of the DevEndpoint." +} +""" +DeleteDevEndpoint(args) = glue("DeleteDevEndpoint", args) + +""" + StartJobRun() + +Starts a job run using a job definition. + +Required Parameters +{ + "JobName": "The name of the job definition to use." +} + +Optional Parameters +{ + "WorkerType": "The type of predefined worker that is allocated when a job runs. Accepts a value of Standard, G.1X, or G.2X. For the Standard worker type, each worker provides 4 vCPU, 16 GB of memory and a 50GB disk, and 2 executors per worker. For the G.1X worker type, each worker provides 4 vCPU, 16 GB of memory and a 64GB disk, and 1 executor per worker. For the G.2X worker type, each worker provides 8 vCPU, 32 GB of memory and a 128GB disk, and 1 executor per worker. ", + "NotificationProperty": "Specifies configuration properties of a job run notification.", + "NumberOfWorkers": "The number of workers of a defined workerType that are allocated when a job runs. The maximum number of workers you can define are 299 for G.1X, and 149 for G.2X. ", + "Timeout": "The JobRun timeout in minutes. This is the maximum time that a job run can consume resources before it is terminated and enters TIMEOUT status. The default is 2,880 minutes (48 hours). This overrides the timeout value set in the parent job.", + "JobRunId": "The ID of a previous JobRun to retry.", + "AllocatedCapacity": "This field is deprecated. Use MaxCapacity instead. The number of AWS Glue data processing units (DPUs) to allocate to this JobRun. From 2 to 100 DPUs can be allocated; the default is 10. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, see the AWS Glue pricing page.", + "MaxCapacity": "The number of AWS Glue data processing units (DPUs) that can be allocated when this job runs. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, see the AWS Glue pricing page. Do not set Max Capacity if using WorkerType and NumberOfWorkers. The value that can be allocated for MaxCapacity depends on whether you are running a Python shell job, or an Apache Spark ETL job: When you specify a Python shell job (JobCommand.Name=\"pythonshell\"), you can allocate either 0.0625 or 1 DPU. The default is 0.0625 DPU. When you specify an Apache Spark ETL job (JobCommand.Name=\"glueetl\"), you can allocate from 2 to 100 DPUs. The default is 10 DPUs. This job type cannot have a fractional DPU allocation. ", + "SecurityConfiguration": "The name of the SecurityConfiguration structure to be used with this job run.", + "Arguments": "The job arguments specifically for this run. For this job run, they replace the default arguments set in the job definition itself. You can specify arguments here that your own job-execution script consumes, as well as arguments that AWS Glue itself consumes. For information about how to specify and consume your own Job arguments, see the Calling AWS Glue APIs in Python topic in the developer guide. For information about the key-value pairs that AWS Glue consumes to set up your job, see the Special Parameters Used by AWS Glue topic in the developer guide." +} +""" +StartJobRun(args) = glue("StartJobRun", args) + +""" + BatchDeleteTable() + +Deletes multiple tables at once. After completing this operation, you no longer have access to the table versions and partitions that belong to the deleted table. AWS Glue deletes these "orphaned" resources asynchronously in a timely manner, at the discretion of the service. To ensure the immediate deletion of all related resources, before calling BatchDeleteTable, use DeleteTableVersion or BatchDeleteTableVersion, and DeletePartition or BatchDeletePartition, to delete any resources that belong to the table. + +Required Parameters +{ + "DatabaseName": "The name of the catalog database in which the tables to delete reside. For Hive compatibility, this name is entirely lowercase.", + "TablesToDelete": "A list of the table to delete." +} + +Optional Parameters +{ + "CatalogId": "The ID of the Data Catalog where the table resides. If none is provided, the AWS account ID is used by default." +} +""" +BatchDeleteTable(args) = glue("BatchDeleteTable", args) + +""" + GetResourcePolicy() + +Retrieves a specified resource policy. +""" +GetResourcePolicy() = glue("GetResourcePolicy") +GetResourcePolicy(args) = glue("GetResourcePolicy", args) + +""" + GetWorkflowRuns() + +Retrieves metadata for all runs of a given workflow. + +Required Parameters +{ + "Name": "Name of the workflow whose metadata of runs should be returned." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of workflow runs to be included in the response.", + "NextToken": "The maximum size of the response.", + "IncludeGraph": "Specifies whether to include the workflow graph in response or not." +} +""" +GetWorkflowRuns(args) = glue("GetWorkflowRuns", args) + +""" + ListMLTransforms() + + Retrieves a sortable, filterable list of existing AWS Glue machine learning transforms in this AWS account, or the resources with the specified tag. This operation takes the optional Tags field, which you can use as a filter of the responses so that tagged resources can be retrieved as a group. If you choose to use tag filtering, only resources with the tags are retrieved. + +Optional Parameters +{ + "MaxResults": "The maximum size of a list to return.", + "Sort": "A TransformSortCriteria used to sort the machine learning transforms.", + "NextToken": "A continuation token, if this is a continuation request.", + "Tags": "Specifies to return only these tagged resources.", + "Filter": "A TransformFilterCriteria used to filter the machine learning transforms." +} +""" +ListMLTransforms() = glue("ListMLTransforms") +ListMLTransforms(args) = glue("ListMLTransforms", args) + +""" + GetClassifier() + +Retrieve a classifier by name. + +Required Parameters +{ + "Name": "Name of the classifier to retrieve." +} +""" +GetClassifier(args) = glue("GetClassifier", args) + +""" + GetCatalogImportStatus() + +Retrieves the status of a migration operation. + +Optional Parameters +{ + "CatalogId": "The ID of the catalog to migrate. Currently, this should be the AWS account ID." +} +""" +GetCatalogImportStatus() = glue("GetCatalogImportStatus") +GetCatalogImportStatus(args) = glue("GetCatalogImportStatus", args) + +""" + DeleteCrawler() + +Removes a specified crawler from the AWS Glue Data Catalog, unless the crawler state is RUNNING. + +Required Parameters +{ + "Name": "The name of the crawler to remove." +} +""" +DeleteCrawler(args) = glue("DeleteCrawler", args) + +""" + GetTags() + +Retrieves a list of tags associated with a resource. + +Required Parameters +{ + "ResourceArn": "The Amazon Resource Name (ARN) of the resource for which to retrieve tags." +} +""" +GetTags(args) = glue("GetTags", args) + +""" + PutResourcePolicy() + +Sets the Data Catalog resource policy for access control. + +Required Parameters +{ + "PolicyInJson": "Contains the policy document to set, in JSON format." +} + +Optional Parameters +{ + "PolicyExistsCondition": "A value of MUST_EXIST is used to update a policy. A value of NOT_EXIST is used to create a new policy. If a value of NONE or a null value is used, the call will not depend on the existence of a policy.", + "PolicyHashCondition": "The hash value returned when the previous policy was set using PutResourcePolicy. Its purpose is to prevent concurrent modifications of a policy. Do not use this parameter if no previous policy has been set." +} +""" +PutResourcePolicy(args) = glue("PutResourcePolicy", args) + +""" + UpdateDevEndpoint() + +Updates a specified development endpoint. + +Required Parameters +{ + "EndpointName": "The name of the DevEndpoint to be updated." +} + +Optional Parameters +{ + "DeletePublicKeys": "The list of public keys to be deleted from the DevEndpoint.", + "AddPublicKeys": "The list of public keys for the DevEndpoint to use.", + "CustomLibraries": "Custom Python or Java libraries to be loaded in the DevEndpoint.", + "DeleteArguments": "The list of argument keys to be deleted from the map of arguments used to configure the DevEndpoint.", + "UpdateEtlLibraries": " True if the list of custom libraries to be loaded in the development endpoint needs to be updated, or False if otherwise.", + "PublicKey": "The public key for the DevEndpoint to use.", + "AddArguments": "The map of arguments to add the map of arguments used to configure the DevEndpoint. Valid arguments are: \"--enable-glue-datacatalog\": \"\" \"GLUE_PYTHON_VERSION\": \"3\" \"GLUE_PYTHON_VERSION\": \"2\" You can specify a version of Python support for development endpoints by using the Arguments parameter in the CreateDevEndpoint or UpdateDevEndpoint APIs. If no arguments are provided, the version defaults to Python 2." +} +""" +UpdateDevEndpoint(args) = glue("UpdateDevEndpoint", args) + +""" + UpdateTable() + +Updates a metadata table in the Data Catalog. + +Required Parameters +{ + "DatabaseName": "The name of the catalog database in which the table resides. For Hive compatibility, this name is entirely lowercase.", + "TableInput": "An updated TableInput object to define the metadata table in the catalog." +} + +Optional Parameters +{ + "SkipArchive": "By default, UpdateTable always creates an archived version of the table before updating it. However, if skipArchive is set to true, UpdateTable does not create the archived version.", + "CatalogId": "The ID of the Data Catalog where the table resides. If none is provided, the AWS account ID is used by default." +} +""" +UpdateTable(args) = glue("UpdateTable", args) + +""" + UpdateTrigger() + +Updates a trigger definition. + +Required Parameters +{ + "TriggerUpdate": "The new values with which to update the trigger.", + "Name": "The name of the trigger to update." +} +""" +UpdateTrigger(args) = glue("UpdateTrigger", args) + +""" + BatchGetCrawlers() + +Returns a list of resource metadata for a given list of crawler names. After calling the ListCrawlers operation, you can call this operation to access the data to which you have been granted permissions. This operation supports all IAM permissions, including permission conditions that uses tags. + +Required Parameters +{ + "CrawlerNames": "A list of crawler names, which might be the names returned from the ListCrawlers operation." +} +""" +BatchGetCrawlers(args) = glue("BatchGetCrawlers", args) + +""" + StartExportLabelsTaskRun() + +Begins an asynchronous task to export all labeled data for a particular transform. This task is the only label-related API call that is not part of the typical active learning workflow. You typically use StartExportLabelsTaskRun when you want to work with all of your existing labels at the same time, such as when you want to remove or change labels that were previously submitted as truth. This API operation accepts the TransformId whose labels you want to export and an Amazon Simple Storage Service (Amazon S3) path to export the labels to. The operation returns a TaskRunId. You can check on the status of your task run by calling the GetMLTaskRun API. + +Required Parameters +{ + "OutputS3Path": "The Amazon S3 path where you export the labels.", + "TransformId": "The unique identifier of the machine learning transform." +} +""" +StartExportLabelsTaskRun(args) = glue("StartExportLabelsTaskRun", args) + +""" + UpdateWorkflow() + +Updates an existing workflow. + +Required Parameters +{ + "Name": "Name of the workflow to be updated." +} + +Optional Parameters +{ + "Description": "The description of the workflow.", + "DefaultRunProperties": "A collection of properties to be used as part of each execution of the workflow." +} +""" +UpdateWorkflow(args) = glue("UpdateWorkflow", args) + +""" + CreateJob() + +Creates a new job definition. + +Required Parameters +{ + "Command": "The JobCommand that executes this job.", + "Name": "The name you assign to this job definition. It must be unique in your account.", + "Role": "The name or Amazon Resource Name (ARN) of the IAM role associated with this job." +} + +Optional Parameters +{ + "DefaultArguments": "The default arguments for this job. You can specify arguments here that your own job-execution script consumes, as well as arguments that AWS Glue itself consumes. For information about how to specify and consume your own Job arguments, see the Calling AWS Glue APIs in Python topic in the developer guide. For information about the key-value pairs that AWS Glue consumes to set up your job, see the Special Parameters Used by AWS Glue topic in the developer guide.", + "NumberOfWorkers": "The number of workers of a defined workerType that are allocated when a job runs. The maximum number of workers you can define are 299 for G.1X, and 149 for G.2X. ", + "ExecutionProperty": "An ExecutionProperty specifying the maximum number of concurrent runs allowed for this job.", + "SecurityConfiguration": "The name of the SecurityConfiguration structure to be used with this job.", + "Connections": "The connections used for this job.", + "NotificationProperty": "Specifies configuration properties of a job notification.", + "Tags": "The tags to use with this job. You may use tags to limit access to the job. For more information about tags in AWS Glue, see AWS Tags in AWS Glue in the developer guide.", + "GlueVersion": "Glue version determines the versions of Apache Spark and Python that AWS Glue supports. The Python version indicates the version supported for jobs of type Spark. For more information about the available AWS Glue versions and corresponding Spark and Python versions, see Glue version in the developer guide. Jobs that are created without specifying a Glue version default to Glue 0.9.", + "Timeout": "The job timeout in minutes. This is the maximum time that a job run can consume resources before it is terminated and enters TIMEOUT status. The default is 2,880 minutes (48 hours).", + "MaxCapacity": "The number of AWS Glue data processing units (DPUs) that can be allocated when this job runs. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, see the AWS Glue pricing page. Do not set Max Capacity if using WorkerType and NumberOfWorkers. The value that can be allocated for MaxCapacity depends on whether you are running a Python shell job or an Apache Spark ETL job: When you specify a Python shell job (JobCommand.Name=\"pythonshell\"), you can allocate either 0.0625 or 1 DPU. The default is 0.0625 DPU. When you specify an Apache Spark ETL job (JobCommand.Name=\"glueetl\"), you can allocate from 2 to 100 DPUs. The default is 10 DPUs. This job type cannot have a fractional DPU allocation. ", + "WorkerType": "The type of predefined worker that is allocated when a job runs. Accepts a value of Standard, G.1X, or G.2X. For the Standard worker type, each worker provides 4 vCPU, 16 GB of memory and a 50GB disk, and 2 executors per worker. For the G.1X worker type, each worker maps to 1 DPU (4 vCPU, 16 GB of memory, 64 GB disk), and provides 1 executor per worker. We recommend this worker type for memory-intensive jobs. For the G.2X worker type, each worker maps to 2 DPU (8 vCPU, 32 GB of memory, 128 GB disk), and provides 1 executor per worker. We recommend this worker type for memory-intensive jobs. ", + "Description": "Description of the job being defined.", + "NonOverridableArguments": "Non-overridable arguments for this job, specified as name-value pairs.", + "AllocatedCapacity": "This parameter is deprecated. Use MaxCapacity instead. The number of AWS Glue data processing units (DPUs) to allocate to this Job. You can allocate from 2 to 100 DPUs; the default is 10. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, see the AWS Glue pricing page.", + "LogUri": "This field is reserved for future use.", + "MaxRetries": "The maximum number of times to retry this job if it fails." +} +""" +CreateJob(args) = glue("CreateJob", args) + +""" + GetJobRun() + +Retrieves the metadata for a given job run. + +Required Parameters +{ + "RunId": "The ID of the job run.", + "JobName": "Name of the job definition being run." +} + +Optional Parameters +{ + "PredecessorsIncluded": "True if a list of predecessor runs should be returned." +} +""" +GetJobRun(args) = glue("GetJobRun", args) + +""" + GetTableVersion() + +Retrieves a specified version of a table. + +Required Parameters +{ + "DatabaseName": "The database in the catalog in which the table resides. For Hive compatibility, this name is entirely lowercase.", + "TableName": "The name of the table. For Hive compatibility, this name is entirely lowercase." +} + +Optional Parameters +{ + "VersionId": "The ID value of the table version to be retrieved. A VersionID is a string representation of an integer. Each version is incremented by 1. ", + "CatalogId": "The ID of the Data Catalog where the tables reside. If none is provided, the AWS account ID is used by default." +} +""" +GetTableVersion(args) = glue("GetTableVersion", args) + +""" + GetUserDefinedFunction() + +Retrieves a specified function definition from the Data Catalog. + +Required Parameters +{ + "DatabaseName": "The name of the catalog database where the function is located.", + "FunctionName": "The name of the function." +} + +Optional Parameters +{ + "CatalogId": "The ID of the Data Catalog where the function to be retrieved is located. If none is provided, the AWS account ID is used by default." +} +""" +GetUserDefinedFunction(args) = glue("GetUserDefinedFunction", args) + +""" + GetDevEndpoint() + +Retrieves information about a specified development endpoint. When you create a development endpoint in a virtual private cloud (VPC), AWS Glue returns only a private IP address, and the public IP address field is not populated. When you create a non-VPC development endpoint, AWS Glue returns only a public IP address. + +Required Parameters +{ + "EndpointName": "Name of the DevEndpoint to retrieve information for." +} +""" +GetDevEndpoint(args) = glue("GetDevEndpoint", args) + +""" + BatchGetJobs() + +Returns a list of resource metadata for a given list of job names. After calling the ListJobs operation, you can call this operation to access the data to which you have been granted permissions. This operation supports all IAM permissions, including permission conditions that uses tags. + +Required Parameters +{ + "JobNames": "A list of job names, which might be the names returned from the ListJobs operation." +} +""" +BatchGetJobs(args) = glue("BatchGetJobs", args) + +""" + GetDevEndpoints() + +Retrieves all the development endpoints in this AWS account. When you create a development endpoint in a virtual private cloud (VPC), AWS Glue returns only a private IP address and the public IP address field is not populated. When you create a non-VPC development endpoint, AWS Glue returns only a public IP address. + +Optional Parameters +{ + "MaxResults": "The maximum size of information to return.", + "NextToken": "A continuation token, if this is a continuation call." +} +""" +GetDevEndpoints() = glue("GetDevEndpoints") +GetDevEndpoints(args) = glue("GetDevEndpoints", args) + +""" + CreateTrigger() + +Creates a new trigger. + +Required Parameters +{ + "Actions": "The actions initiated by this trigger when it fires.", + "Type": "The type of the new trigger.", + "Name": "The name of the trigger." +} + +Optional Parameters +{ + "Schedule": "A cron expression used to specify the schedule (see Time-Based Schedules for Jobs and Crawlers. For example, to run something every day at 12:15 UTC, you would specify: cron(15 12 * * ? *). This field is required when the trigger type is SCHEDULED.", + "Predicate": "A predicate to specify when the new trigger should fire. This field is required when the trigger type is CONDITIONAL.", + "Description": "A description of the new trigger.", + "StartOnCreation": "Set to true to start SCHEDULED and CONDITIONAL triggers when created. True is not supported for ON_DEMAND triggers.", + "Tags": "The tags to use with this trigger. You may use tags to limit access to the trigger. For more information about tags in AWS Glue, see AWS Tags in AWS Glue in the developer guide. ", + "WorkflowName": "The name of the workflow associated with the trigger." +} +""" +CreateTrigger(args) = glue("CreateTrigger", args) + +""" + GetPartitions() + +Retrieves information about the partitions in a table. + +Required Parameters +{ + "DatabaseName": "The name of the catalog database where the partitions reside.", + "TableName": "The name of the partitions' table." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of partitions to return in a single response.", + "NextToken": "A continuation token, if this is not the first call to retrieve these partitions.", + "Segment": "The segment of the table's partitions to scan in this request.", + "CatalogId": "The ID of the Data Catalog where the partitions in question reside. If none is provided, the AWS account ID is used by default.", + "Expression": "An expression that filters the partitions to be returned. The expression uses SQL syntax similar to the SQL WHERE filter clause. The SQL statement parser JSQLParser parses the expression. Operators: The following are the operators that you can use in the Expression API call: = Checks whether the values of the two operands are equal; if yes, then the condition becomes true. Example: Assume 'variable a' holds 10 and 'variable b' holds 20. (a = b) is not true. < > Checks whether the values of two operands are equal; if the values are not equal, then the condition becomes true. Example: (a < > b) is true. > Checks whether the value of the left operand is greater than the value of the right operand; if yes, then the condition becomes true. Example: (a > b) is not true. < Checks whether the value of the left operand is less than the value of the right operand; if yes, then the condition becomes true. Example: (a < b) is true. >= Checks whether the value of the left operand is greater than or equal to the value of the right operand; if yes, then the condition becomes true. Example: (a >= b) is not true. <= Checks whether the value of the left operand is less than or equal to the value of the right operand; if yes, then the condition becomes true. Example: (a <= b) is true. AND, OR, IN, BETWEEN, LIKE, NOT, IS NULL Logical operators. Supported Partition Key Types: The following are the supported partition keys. string date timestamp int bigint long tinyint smallint decimal If an invalid type is encountered, an exception is thrown. The following list shows the valid operators on each type. When you define a crawler, the partitionKey type is created as a STRING, to be compatible with the catalog partitions. Sample API Call: " +} +""" +GetPartitions(args) = glue("GetPartitions", args) + +""" + UpdateMLTransform() + +Updates an existing machine learning transform. Call this operation to tune the algorithm parameters to achieve better results. After calling this operation, you can call the StartMLEvaluationTaskRun operation to assess how well your new parameters achieved your goals (such as improving the quality of your machine learning transform, or making it more cost-effective). + +Required Parameters +{ + "TransformId": "A unique identifier that was generated when the transform was created." +} + +Optional Parameters +{ + "WorkerType": "The type of predefined worker that is allocated when this task runs. Accepts a value of Standard, G.1X, or G.2X. For the Standard worker type, each worker provides 4 vCPU, 16 GB of memory and a 50GB disk, and 2 executors per worker. For the G.1X worker type, each worker provides 4 vCPU, 16 GB of memory and a 64GB disk, and 1 executor per worker. For the G.2X worker type, each worker provides 8 vCPU, 32 GB of memory and a 128GB disk, and 1 executor per worker. ", + "NumberOfWorkers": "The number of workers of a defined workerType that are allocated when this task runs.", + "Description": "A description of the transform. The default is an empty string.", + "Timeout": "The timeout for a task run for this transform in minutes. This is the maximum time that a task run for this transform can consume resources before it is terminated and enters TIMEOUT status. The default is 2,880 minutes (48 hours).", + "MaxCapacity": "The number of AWS Glue data processing units (DPUs) that are allocated to task runs for this transform. You can allocate from 2 to 100 DPUs; the default is 10. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, see the AWS Glue pricing page. When the WorkerType field is set to a value other than Standard, the MaxCapacity field is set automatically and becomes read-only.", + "Parameters": "The configuration parameters that are specific to the transform type (algorithm) used. Conditionally dependent on the transform type.", + "MaxRetries": "The maximum number of times to retry a task for this transform after a task run fails.", + "Name": "The unique name that you gave the transform when you created it.", + "GlueVersion": "This value determines which version of AWS Glue this machine learning transform is compatible with. Glue 1.0 is recommended for most customers. If the value is not set, the Glue compatibility defaults to Glue 0.9. For more information, see AWS Glue Versions in the developer guide.", + "Role": "The name or Amazon Resource Name (ARN) of the IAM role with the required permissions." +} +""" +UpdateMLTransform(args) = glue("UpdateMLTransform", args) + +""" + DeleteConnection() + +Deletes a connection from the Data Catalog. + +Required Parameters +{ + "ConnectionName": "The name of the connection to delete." +} + +Optional Parameters +{ + "CatalogId": "The ID of the Data Catalog in which the connection resides. If none is provided, the AWS account ID is used by default." +} +""" +DeleteConnection(args) = glue("DeleteConnection", args) + +""" + BatchStopJobRun() + +Stops one or more job runs for a specified job definition. + +Required Parameters +{ + "JobRunIds": "A list of the JobRunIds that should be stopped for that job definition.", + "JobName": "The name of the job definition for which to stop job runs." +} +""" +BatchStopJobRun(args) = glue("BatchStopJobRun", args) + +""" + DeleteClassifier() + +Removes a classifier from the Data Catalog. + +Required Parameters +{ + "Name": "Name of the classifier to remove." +} +""" +DeleteClassifier(args) = glue("DeleteClassifier", args) + +""" + DeleteMLTransform() + +Deletes an AWS Glue machine learning transform. Machine learning transforms are a special type of transform that use machine learning to learn the details of the transformation to be performed by learning from examples provided by humans. These transformations are then saved by AWS Glue. If you no longer need a transform, you can delete it by calling DeleteMLTransforms. However, any AWS Glue jobs that still reference the deleted transform will no longer succeed. + +Required Parameters +{ + "TransformId": "The unique identifier of the transform to delete." +} +""" +DeleteMLTransform(args) = glue("DeleteMLTransform", args) + +""" + DeleteJob() + +Deletes a specified job definition. If the job definition is not found, no exception is thrown. + +Required Parameters +{ + "JobName": "The name of the job definition to delete." +} +""" +DeleteJob(args) = glue("DeleteJob", args) + +""" + ListWorkflows() + +Lists names of workflows created in the account. + +Optional Parameters +{ + "MaxResults": "The maximum size of a list to return.", + "NextToken": "A continuation token, if this is a continuation request." +} +""" +ListWorkflows() = glue("ListWorkflows") +ListWorkflows(args) = glue("ListWorkflows", args) + +""" + CreateMLTransform() + +Creates an AWS Glue machine learning transform. This operation creates the transform and all the necessary parameters to train it. Call this operation as the first step in the process of using a machine learning transform (such as the FindMatches transform) for deduplicating data. You can provide an optional Description, in addition to the parameters that you want to use for your algorithm. You must also specify certain parameters for the tasks that AWS Glue runs on your behalf as part of learning from your data and creating a high-quality machine learning transform. These parameters include Role, and optionally, AllocatedCapacity, Timeout, and MaxRetries. For more information, see Jobs. + +Required Parameters +{ + "InputRecordTables": "A list of AWS Glue table definitions used by the transform.", + "Parameters": "The algorithmic parameters that are specific to the transform type used. Conditionally dependent on the transform type.", + "Name": "The unique name that you give the transform when you create it.", + "Role": "The name or Amazon Resource Name (ARN) of the IAM role with the required permissions. The required permissions include both AWS Glue service role permissions to AWS Glue resources, and Amazon S3 permissions required by the transform. This role needs AWS Glue service role permissions to allow access to resources in AWS Glue. See Attach a Policy to IAM Users That Access AWS Glue. This role needs permission to your Amazon Simple Storage Service (Amazon S3) sources, targets, temporary directory, scripts, and any libraries used by the task run for this transform. " +} + +Optional Parameters +{ + "WorkerType": "The type of predefined worker that is allocated when this task runs. Accepts a value of Standard, G.1X, or G.2X. For the Standard worker type, each worker provides 4 vCPU, 16 GB of memory and a 50GB disk, and 2 executors per worker. For the G.1X worker type, each worker provides 4 vCPU, 16 GB of memory and a 64GB disk, and 1 executor per worker. For the G.2X worker type, each worker provides 8 vCPU, 32 GB of memory and a 128GB disk, and 1 executor per worker. MaxCapacity is a mutually exclusive option with NumberOfWorkers and WorkerType. If either NumberOfWorkers or WorkerType is set, then MaxCapacity cannot be set. If MaxCapacity is set then neither NumberOfWorkers or WorkerType can be set. If WorkerType is set, then NumberOfWorkers is required (and vice versa). MaxCapacity and NumberOfWorkers must both be at least 1. ", + "NumberOfWorkers": "The number of workers of a defined workerType that are allocated when this task runs. If WorkerType is set, then NumberOfWorkers is required (and vice versa).", + "Description": "A description of the machine learning transform that is being defined. The default is an empty string.", + "Tags": "The tags to use with this machine learning transform. You may use tags to limit access to the machine learning transform. For more information about tags in AWS Glue, see AWS Tags in AWS Glue in the developer guide.", + "Timeout": "The timeout of the task run for this transform in minutes. This is the maximum time that a task run for this transform can consume resources before it is terminated and enters TIMEOUT status. The default is 2,880 minutes (48 hours).", + "MaxCapacity": "The number of AWS Glue data processing units (DPUs) that are allocated to task runs for this transform. You can allocate from 2 to 100 DPUs; the default is 10. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, see the AWS Glue pricing page. MaxCapacity is a mutually exclusive option with NumberOfWorkers and WorkerType. If either NumberOfWorkers or WorkerType is set, then MaxCapacity cannot be set. If MaxCapacity is set then neither NumberOfWorkers or WorkerType can be set. If WorkerType is set, then NumberOfWorkers is required (and vice versa). MaxCapacity and NumberOfWorkers must both be at least 1. When the WorkerType field is set to a value other than Standard, the MaxCapacity field is set automatically and becomes read-only. When the WorkerType field is set to a value other than Standard, the MaxCapacity field is set automatically and becomes read-only.", + "MaxRetries": "The maximum number of times to retry a task for this transform after a task run fails.", + "GlueVersion": "This value determines which version of AWS Glue this machine learning transform is compatible with. Glue 1.0 is recommended for most customers. If the value is not set, the Glue compatibility defaults to Glue 0.9. For more information, see AWS Glue Versions in the developer guide." +} +""" +CreateMLTransform(args) = glue("CreateMLTransform", args) + +""" + StartImportLabelsTaskRun() + +Enables you to provide additional labels (examples of truth) to be used to teach the machine learning transform and improve its quality. This API operation is generally used as part of the active learning workflow that starts with the StartMLLabelingSetGenerationTaskRun call and that ultimately results in improving the quality of your machine learning transform. After the StartMLLabelingSetGenerationTaskRun finishes, AWS Glue machine learning will have generated a series of questions for humans to answer. (Answering these questions is often called 'labeling' in the machine learning workflows). In the case of the FindMatches transform, these questions are of the form, “What is the correct way to group these rows together into groups composed entirely of matching records?” After the labeling process is finished, users upload their answers/labels with a call to StartImportLabelsTaskRun. After StartImportLabelsTaskRun finishes, all future runs of the machine learning transform use the new and improved labels and perform a higher-quality transformation. By default, StartMLLabelingSetGenerationTaskRun continually learns from and combines all labels that you upload unless you set Replace to true. If you set Replace to true, StartImportLabelsTaskRun deletes and forgets all previously uploaded labels and learns only from the exact set that you upload. Replacing labels can be helpful if you realize that you previously uploaded incorrect labels, and you believe that they are having a negative effect on your transform quality. You can check on the status of your task run by calling the GetMLTaskRun operation. + +Required Parameters +{ + "InputS3Path": "The Amazon Simple Storage Service (Amazon S3) path from where you import the labels.", + "TransformId": "The unique identifier of the machine learning transform." +} + +Optional Parameters +{ + "ReplaceAllLabels": "Indicates whether to overwrite your existing labels." +} +""" +StartImportLabelsTaskRun(args) = glue("StartImportLabelsTaskRun", args) + +""" + CreateSecurityConfiguration() + +Creates a new security configuration. A security configuration is a set of security properties that can be used by AWS Glue. You can use a security configuration to encrypt data at rest. For information about using security configurations in AWS Glue, see Encrypting Data Written by Crawlers, Jobs, and Development Endpoints. + +Required Parameters +{ + "EncryptionConfiguration": "The encryption configuration for the new security configuration.", + "Name": "The name for the new security configuration." +} +""" +CreateSecurityConfiguration(args) = glue("CreateSecurityConfiguration", args) + +""" + CreateWorkflow() + +Creates a new workflow. + +Required Parameters +{ + "Name": "The name to be assigned to the workflow. It should be unique within your account." +} + +Optional Parameters +{ + "Description": "A description of the workflow.", + "Tags": "The tags to be used with this workflow.", + "DefaultRunProperties": "A collection of properties to be used as part of each execution of the workflow." +} +""" +CreateWorkflow(args) = glue("CreateWorkflow", args) + +""" + GetDatabase() + +Retrieves the definition of a specified database. + +Required Parameters +{ + "Name": "The name of the database to retrieve. For Hive compatibility, this should be all lowercase." +} + +Optional Parameters +{ + "CatalogId": "The ID of the Data Catalog in which the database resides. If none is provided, the AWS account ID is used by default." +} +""" +GetDatabase(args) = glue("GetDatabase", args) + +""" + DeleteResourcePolicy() + +Deletes a specified policy. + +Optional Parameters +{ + "PolicyHashCondition": "The hash value returned when this policy was set." +} +""" +DeleteResourcePolicy() = glue("DeleteResourcePolicy") +DeleteResourcePolicy(args) = glue("DeleteResourcePolicy", args) + +""" + DeleteWorkflow() + +Deletes a workflow. + +Required Parameters +{ + "Name": "Name of the workflow to be deleted." +} +""" +DeleteWorkflow(args) = glue("DeleteWorkflow", args) + +""" + GetJobs() + +Retrieves all current job definitions. + +Optional Parameters +{ + "MaxResults": "The maximum size of the response.", + "NextToken": "A continuation token, if this is a continuation call." +} +""" +GetJobs() = glue("GetJobs") +GetJobs(args) = glue("GetJobs", args) + +""" + CreateClassifier() + +Creates a classifier in the user's account. This can be a GrokClassifier, an XMLClassifier, a JsonClassifier, or a CsvClassifier, depending on which field of the request is present. + +Optional Parameters +{ + "JsonClassifier": "A JsonClassifier object specifying the classifier to create.", + "CsvClassifier": "A CsvClassifier object specifying the classifier to create.", + "GrokClassifier": "A GrokClassifier object specifying the classifier to create.", + "XMLClassifier": "An XMLClassifier object specifying the classifier to create." +} +""" +CreateClassifier() = glue("CreateClassifier") +CreateClassifier(args) = glue("CreateClassifier", args) + +""" + DeleteTable() + +Removes a table definition from the Data Catalog. After completing this operation, you no longer have access to the table versions and partitions that belong to the deleted table. AWS Glue deletes these "orphaned" resources asynchronously in a timely manner, at the discretion of the service. To ensure the immediate deletion of all related resources, before calling DeleteTable, use DeleteTableVersion or BatchDeleteTableVersion, and DeletePartition or BatchDeletePartition, to delete any resources that belong to the table. + +Required Parameters +{ + "DatabaseName": "The name of the catalog database in which the table resides. For Hive compatibility, this name is entirely lowercase.", + "Name": "The name of the table to be deleted. For Hive compatibility, this name is entirely lowercase." +} + +Optional Parameters +{ + "CatalogId": "The ID of the Data Catalog where the table resides. If none is provided, the AWS account ID is used by default." +} +""" +DeleteTable(args) = glue("DeleteTable", args) + +""" + ListCrawlers() + +Retrieves the names of all crawler resources in this AWS account, or the resources with the specified tag. This operation allows you to see which resources are available in your account, and their names. This operation takes the optional Tags field, which you can use as a filter on the response so that tagged resources can be retrieved as a group. If you choose to use tags filtering, only resources with the tag are retrieved. + +Optional Parameters +{ + "MaxResults": "The maximum size of a list to return.", + "NextToken": "A continuation token, if this is a continuation request.", + "Tags": "Specifies to return only these tagged resources." +} +""" +ListCrawlers() = glue("ListCrawlers") +ListCrawlers(args) = glue("ListCrawlers", args) + +""" + ResetJobBookmark() + +Resets a bookmark entry. + +Required Parameters +{ + "JobName": "The name of the job in question." +} + +Optional Parameters +{ + "RunId": "The unique run identifier associated with this job run." +} +""" +ResetJobBookmark(args) = glue("ResetJobBookmark", args) + +""" + UpdateCrawlerSchedule() + +Updates the schedule of a crawler using a cron expression. + +Required Parameters +{ + "CrawlerName": "The name of the crawler whose schedule to update." +} + +Optional Parameters +{ + "Schedule": "The updated cron expression used to specify the schedule. For more information, see Time-Based Schedules for Jobs and Crawlers. For example, to run something every day at 12:15 UTC, specify cron(15 12 * * ? *)." +} +""" +UpdateCrawlerSchedule(args) = glue("UpdateCrawlerSchedule", args) + +""" + StartWorkflowRun() + +Starts a new run of the specified workflow. + +Required Parameters +{ + "Name": "The name of the workflow to start." +} +""" +StartWorkflowRun(args) = glue("StartWorkflowRun", args) + +""" + GetJob() + +Retrieves an existing job definition. + +Required Parameters +{ + "JobName": "The name of the job definition to retrieve." +} +""" +GetJob(args) = glue("GetJob", args) + +""" + GetConnection() + +Retrieves a connection definition from the Data Catalog. + +Required Parameters +{ + "Name": "The name of the connection definition to retrieve." +} + +Optional Parameters +{ + "HidePassword": "Allows you to retrieve the connection metadata without returning the password. For instance, the AWS Glue console uses this flag to retrieve the connection, and does not display the password. Set this parameter when the caller might not have permission to use the AWS KMS key to decrypt the password, but it does have permission to access the rest of the connection properties.", + "CatalogId": "The ID of the Data Catalog in which the connection resides. If none is provided, the AWS account ID is used by default." +} +""" +GetConnection(args) = glue("GetConnection", args) + +""" + GetJobBookmark() + +Returns information on a job bookmark entry. + +Required Parameters +{ + "JobName": "The name of the job in question." +} + +Optional Parameters +{ + "RunId": "The unique run identifier associated with this job run." +} +""" +GetJobBookmark(args) = glue("GetJobBookmark", args) + +""" + GetCrawler() + +Retrieves metadata for a specified crawler. + +Required Parameters +{ + "Name": "The name of the crawler to retrieve metadata for." +} +""" +GetCrawler(args) = glue("GetCrawler", args) + +""" + ListTriggers() + +Retrieves the names of all trigger resources in this AWS account, or the resources with the specified tag. This operation allows you to see which resources are available in your account, and their names. This operation takes the optional Tags field, which you can use as a filter on the response so that tagged resources can be retrieved as a group. If you choose to use tags filtering, only resources with the tag are retrieved. + +Optional Parameters +{ + "MaxResults": "The maximum size of a list to return.", + "DependentJobName": " The name of the job for which to retrieve triggers. The trigger that can start this job is returned. If there is no such trigger, all triggers are returned.", + "NextToken": "A continuation token, if this is a continuation request.", + "Tags": "Specifies to return only these tagged resources." +} +""" +ListTriggers() = glue("ListTriggers") +ListTriggers(args) = glue("ListTriggers", args) + +""" + GetTriggers() + +Gets all the triggers associated with a job. + +Optional Parameters +{ + "MaxResults": "The maximum size of the response.", + "DependentJobName": "The name of the job to retrieve triggers for. The trigger that can start this job is returned, and if there is no such trigger, all triggers are returned.", + "NextToken": "A continuation token, if this is a continuation call." +} +""" +GetTriggers() = glue("GetTriggers") +GetTriggers(args) = glue("GetTriggers", args) + +""" + DeleteTrigger() + +Deletes a specified trigger. If the trigger is not found, no exception is thrown. + +Required Parameters +{ + "Name": "The name of the trigger to delete." +} +""" +DeleteTrigger(args) = glue("DeleteTrigger", args) + +""" + GetTable() + +Retrieves the Table definition in a Data Catalog for a specified table. + +Required Parameters +{ + "DatabaseName": "The name of the database in the catalog in which the table resides. For Hive compatibility, this name is entirely lowercase.", + "Name": "The name of the table for which to retrieve the definition. For Hive compatibility, this name is entirely lowercase." +} + +Optional Parameters +{ + "CatalogId": "The ID of the Data Catalog where the table resides. If none is provided, the AWS account ID is used by default." +} +""" +GetTable(args) = glue("GetTable", args) + +""" + ImportCatalogToGlue() + +Imports an existing Amazon Athena Data Catalog to AWS Glue + +Optional Parameters +{ + "CatalogId": "The ID of the catalog to import. Currently, this should be the AWS account ID." +} +""" +ImportCatalogToGlue() = glue("ImportCatalogToGlue") +ImportCatalogToGlue(args) = glue("ImportCatalogToGlue", args) + +""" + ListJobs() + +Retrieves the names of all job resources in this AWS account, or the resources with the specified tag. This operation allows you to see which resources are available in your account, and their names. This operation takes the optional Tags field, which you can use as a filter on the response so that tagged resources can be retrieved as a group. If you choose to use tags filtering, only resources with the tag are retrieved. + +Optional Parameters +{ + "MaxResults": "The maximum size of a list to return.", + "NextToken": "A continuation token, if this is a continuation request.", + "Tags": "Specifies to return only these tagged resources." +} +""" +ListJobs() = glue("ListJobs") +ListJobs(args) = glue("ListJobs", args) + +""" + StartTrigger() + +Starts an existing trigger. See Triggering Jobs for information about how different types of trigger are started. + +Required Parameters +{ + "Name": "The name of the trigger to start." +} +""" +StartTrigger(args) = glue("StartTrigger", args) + +""" + CreatePartition() + +Creates a new partition. + +Required Parameters +{ + "DatabaseName": "The name of the metadata database in which the partition is to be created.", + "PartitionInput": "A PartitionInput structure defining the partition to be created.", + "TableName": "The name of the metadata table in which the partition is to be created." +} + +Optional Parameters +{ + "CatalogId": "The AWS account ID of the catalog in which the partition is to be created." +} +""" +CreatePartition(args) = glue("CreatePartition", args) + +""" + CreateUserDefinedFunction() + +Creates a new function definition in the Data Catalog. + +Required Parameters +{ + "DatabaseName": "The name of the catalog database in which to create the function.", + "FunctionInput": "A FunctionInput object that defines the function to create in the Data Catalog." +} + +Optional Parameters +{ + "CatalogId": "The ID of the Data Catalog in which to create the function. If none is provided, the AWS account ID is used by default." +} +""" +CreateUserDefinedFunction(args) = glue("CreateUserDefinedFunction", args) + +""" + StartCrawler() + +Starts a crawl using the specified crawler, regardless of what is scheduled. If the crawler is already running, returns a CrawlerRunningException. + +Required Parameters +{ + "Name": "Name of the crawler to start." +} +""" +StartCrawler(args) = glue("StartCrawler", args) diff --git a/src/services/greengrass.jl b/src/services/greengrass.jl new file mode 100644 index 0000000000..c0d51c1c06 --- /dev/null +++ b/src/services/greengrass.jl @@ -0,0 +1,1367 @@ +include("../AWSServices.jl") +using .AWSServices: greengrass + +""" + UpdateFunctionDefinition() + +Updates a Lambda function definition. + +Required Parameters +{ + "FunctionDefinitionId": "The ID of the Lambda function definition." +} + +Optional Parameters +{ + "Name": "The name of the definition." +} +""" +UpdateFunctionDefinition(args) = greengrass("PUT", "/greengrass/definition/functions/{FunctionDefinitionId}", args) + +""" + DeleteGroup() + +Deletes a group. + +Required Parameters +{ + "GroupId": "The ID of the Greengrass group." +} +""" +DeleteGroup(args) = greengrass("DELETE", "/greengrass/groups/{GroupId}", args) + +""" + GetGroup() + +Retrieves information about a group. + +Required Parameters +{ + "GroupId": "The ID of the Greengrass group." +} +""" +GetGroup(args) = greengrass("GET", "/greengrass/groups/{GroupId}", args) + +""" + ListSubscriptionDefinitionVersions() + +Lists the versions of a subscription definition. + +Required Parameters +{ + "SubscriptionDefinitionId": "The ID of the subscription definition." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of results to be returned per request.", + "NextToken": "The token for the next set of results, or ''null'' if there are no additional results." +} +""" +ListSubscriptionDefinitionVersions(args) = greengrass("GET", "/greengrass/definition/subscriptions/{SubscriptionDefinitionId}/versions", args) + +""" + DisassociateServiceRoleFromAccount() + +Disassociates the service role from your account. Without a service role, deployments will not work. +""" +DisassociateServiceRoleFromAccount() = greengrass("DELETE", "/greengrass/servicerole") +DisassociateServiceRoleFromAccount(args) = greengrass("DELETE", "/greengrass/servicerole", args) + +""" + GetDeviceDefinitionVersion() + +Retrieves information about a device definition version. + +Required Parameters +{ + "DeviceDefinitionVersionId": "The ID of the device definition version. This value maps to the ''Version'' property of the corresponding ''VersionInformation'' object, which is returned by ''ListDeviceDefinitionVersions'' requests. If the version is the last one that was associated with a device definition, the value also maps to the ''LatestVersion'' property of the corresponding ''DefinitionInformation'' object.", + "DeviceDefinitionId": "The ID of the device definition." +} + +Optional Parameters +{ + "NextToken": "The token for the next set of results, or ''null'' if there are no additional results." +} +""" +GetDeviceDefinitionVersion(args) = greengrass("GET", "/greengrass/definition/devices/{DeviceDefinitionId}/versions/{DeviceDefinitionVersionId}", args) + +""" + UpdateResourceDefinition() + +Updates a resource definition. + +Required Parameters +{ + "ResourceDefinitionId": "The ID of the resource definition." +} + +Optional Parameters +{ + "Name": "The name of the definition." +} +""" +UpdateResourceDefinition(args) = greengrass("PUT", "/greengrass/definition/resources/{ResourceDefinitionId}", args) + +""" + UpdateLoggerDefinition() + +Updates a logger definition. + +Required Parameters +{ + "LoggerDefinitionId": "The ID of the logger definition." +} + +Optional Parameters +{ + "Name": "The name of the definition." +} +""" +UpdateLoggerDefinition(args) = greengrass("PUT", "/greengrass/definition/loggers/{LoggerDefinitionId}", args) + +""" + DeleteCoreDefinition() + +Deletes a core definition. + +Required Parameters +{ + "CoreDefinitionId": "The ID of the core definition." +} +""" +DeleteCoreDefinition(args) = greengrass("DELETE", "/greengrass/definition/cores/{CoreDefinitionId}", args) + +""" + TagResource() + +Adds tags to a Greengrass resource. Valid resources are 'Group', 'ConnectorDefinition', 'CoreDefinition', 'DeviceDefinition', 'FunctionDefinition', 'LoggerDefinition', 'SubscriptionDefinition', 'ResourceDefinition', and 'BulkDeployment'. + +Required Parameters +{ + "ResourceArn": "The Amazon Resource Name (ARN) of the resource." +} + +Optional Parameters +{ + "tags": "" +} +""" +TagResource(args) = greengrass("POST", "/tags/{resource-arn}", args) + +""" + GetConnectorDefinitionVersion() + +Retrieves information about a connector definition version, including the connectors that the version contains. Connectors are prebuilt modules that interact with local infrastructure, device protocols, AWS, and other cloud services. + +Required Parameters +{ + "ConnectorDefinitionId": "The ID of the connector definition.", + "ConnectorDefinitionVersionId": "The ID of the connector definition version. This value maps to the ''Version'' property of the corresponding ''VersionInformation'' object, which is returned by ''ListConnectorDefinitionVersions'' requests. If the version is the last one that was associated with a connector definition, the value also maps to the ''LatestVersion'' property of the corresponding ''DefinitionInformation'' object." +} + +Optional Parameters +{ + "NextToken": "The token for the next set of results, or ''null'' if there are no additional results." +} +""" +GetConnectorDefinitionVersion(args) = greengrass("GET", "/greengrass/definition/connectors/{ConnectorDefinitionId}/versions/{ConnectorDefinitionVersionId}", args) + +""" + GetResourceDefinition() + +Retrieves information about a resource definition, including its creation time and latest version. + +Required Parameters +{ + "ResourceDefinitionId": "The ID of the resource definition." +} +""" +GetResourceDefinition(args) = greengrass("GET", "/greengrass/definition/resources/{ResourceDefinitionId}", args) + +""" + ListFunctionDefinitionVersions() + +Lists the versions of a Lambda function definition. + +Required Parameters +{ + "FunctionDefinitionId": "The ID of the Lambda function definition." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of results to be returned per request.", + "NextToken": "The token for the next set of results, or ''null'' if there are no additional results." +} +""" +ListFunctionDefinitionVersions(args) = greengrass("GET", "/greengrass/definition/functions/{FunctionDefinitionId}/versions", args) + +""" + GetSubscriptionDefinitionVersion() + +Retrieves information about a subscription definition version. + +Required Parameters +{ + "SubscriptionDefinitionVersionId": "The ID of the subscription definition version. This value maps to the ''Version'' property of the corresponding ''VersionInformation'' object, which is returned by ''ListSubscriptionDefinitionVersions'' requests. If the version is the last one that was associated with a subscription definition, the value also maps to the ''LatestVersion'' property of the corresponding ''DefinitionInformation'' object.", + "SubscriptionDefinitionId": "The ID of the subscription definition." +} + +Optional Parameters +{ + "NextToken": "The token for the next set of results, or ''null'' if there are no additional results." +} +""" +GetSubscriptionDefinitionVersion(args) = greengrass("GET", "/greengrass/definition/subscriptions/{SubscriptionDefinitionId}/versions/{SubscriptionDefinitionVersionId}", args) + +""" + ListDeployments() + +Returns a history of deployments for the group. + +Required Parameters +{ + "GroupId": "The ID of the Greengrass group." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of results to be returned per request.", + "NextToken": "The token for the next set of results, or ''null'' if there are no additional results." +} +""" +ListDeployments(args) = greengrass("GET", "/greengrass/groups/{GroupId}/deployments", args) + +""" + CreateConnectorDefinition() + +Creates a connector definition. You may provide the initial version of the connector definition now or use ''CreateConnectorDefinitionVersion'' at a later time. + +Optional Parameters +{ + "InitialVersion": "Information about the initial version of the connector definition.", + "tags": "Tag(s) to add to the new resource.", + "Name": "The name of the connector definition.", + "AmznClientToken": "A client token used to correlate requests and responses." +} +""" +CreateConnectorDefinition() = greengrass("POST", "/greengrass/definition/connectors") +CreateConnectorDefinition(args) = greengrass("POST", "/greengrass/definition/connectors", args) + +""" + GetLoggerDefinition() + +Retrieves information about a logger definition. + +Required Parameters +{ + "LoggerDefinitionId": "The ID of the logger definition." +} +""" +GetLoggerDefinition(args) = greengrass("GET", "/greengrass/definition/loggers/{LoggerDefinitionId}", args) + +""" + CreateDeployment() + +Creates a deployment. ''CreateDeployment'' requests are idempotent with respect to the ''X-Amzn-Client-Token'' token and the request parameters. + +Required Parameters +{ + "DeploymentType": "The type of deployment. When used for ''CreateDeployment'', only ''NewDeployment'' and ''Redeployment'' are valid.", + "GroupId": "The ID of the Greengrass group." +} + +Optional Parameters +{ + "DeploymentId": "The ID of the deployment if you wish to redeploy a previous deployment.", + "GroupVersionId": "The ID of the group version to be deployed.", + "AmznClientToken": "A client token used to correlate requests and responses." +} +""" +CreateDeployment(args) = greengrass("POST", "/greengrass/groups/{GroupId}/deployments", args) + +""" + DisassociateRoleFromGroup() + +Disassociates the role from a group. + +Required Parameters +{ + "GroupId": "The ID of the Greengrass group." +} +""" +DisassociateRoleFromGroup(args) = greengrass("DELETE", "/greengrass/groups/{GroupId}/role", args) + +""" + ListCoreDefinitionVersions() + +Lists the versions of a core definition. + +Required Parameters +{ + "CoreDefinitionId": "The ID of the core definition." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of results to be returned per request.", + "NextToken": "The token for the next set of results, or ''null'' if there are no additional results." +} +""" +ListCoreDefinitionVersions(args) = greengrass("GET", "/greengrass/definition/cores/{CoreDefinitionId}/versions", args) + +""" + ListResourceDefinitionVersions() + +Lists the versions of a resource definition. + +Required Parameters +{ + "ResourceDefinitionId": "The ID of the resource definition." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of results to be returned per request.", + "NextToken": "The token for the next set of results, or ''null'' if there are no additional results." +} +""" +ListResourceDefinitionVersions(args) = greengrass("GET", "/greengrass/definition/resources/{ResourceDefinitionId}/versions", args) + +""" + StopBulkDeployment() + +Stops the execution of a bulk deployment. This action returns a status of ''Stopping'' until the deployment is stopped. You cannot start a new bulk deployment while a previous deployment is in the ''Stopping'' state. This action doesn't rollback completed deployments or cancel pending deployments. + +Required Parameters +{ + "BulkDeploymentId": "The ID of the bulk deployment." +} +""" +StopBulkDeployment(args) = greengrass("PUT", "/greengrass/bulk/deployments/{BulkDeploymentId}/$stop", args) + +""" + GetSubscriptionDefinition() + +Retrieves information about a subscription definition. + +Required Parameters +{ + "SubscriptionDefinitionId": "The ID of the subscription definition." +} +""" +GetSubscriptionDefinition(args) = greengrass("GET", "/greengrass/definition/subscriptions/{SubscriptionDefinitionId}", args) + +""" + ListSubscriptionDefinitions() + +Retrieves a list of subscription definitions. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to be returned per request.", + "NextToken": "The token for the next set of results, or ''null'' if there are no additional results." +} +""" +ListSubscriptionDefinitions() = greengrass("GET", "/greengrass/definition/subscriptions") +ListSubscriptionDefinitions(args) = greengrass("GET", "/greengrass/definition/subscriptions", args) + +""" + CreateCoreDefinition() + +Creates a core definition. You may provide the initial version of the core definition now or use ''CreateCoreDefinitionVersion'' at a later time. Greengrass groups must each contain exactly one Greengrass core. + +Optional Parameters +{ + "InitialVersion": "Information about the initial version of the core definition.", + "tags": "Tag(s) to add to the new resource.", + "Name": "The name of the core definition.", + "AmznClientToken": "A client token used to correlate requests and responses." +} +""" +CreateCoreDefinition() = greengrass("POST", "/greengrass/definition/cores") +CreateCoreDefinition(args) = greengrass("POST", "/greengrass/definition/cores", args) + +""" + ListLoggerDefinitions() + +Retrieves a list of logger definitions. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to be returned per request.", + "NextToken": "The token for the next set of results, or ''null'' if there are no additional results." +} +""" +ListLoggerDefinitions() = greengrass("GET", "/greengrass/definition/loggers") +ListLoggerDefinitions(args) = greengrass("GET", "/greengrass/definition/loggers", args) + +""" + UntagResource() + +Remove resource tags from a Greengrass Resource. + +Required Parameters +{ + "ResourceArn": "The Amazon Resource Name (ARN) of the resource.", + "TagKeys": "An array of tag keys to delete" +} +""" +UntagResource(args) = greengrass("DELETE", "/tags/{resource-arn}", args) + +""" + GetDeviceDefinition() + +Retrieves information about a device definition. + +Required Parameters +{ + "DeviceDefinitionId": "The ID of the device definition." +} +""" +GetDeviceDefinition(args) = greengrass("GET", "/greengrass/definition/devices/{DeviceDefinitionId}", args) + +""" + CreateLoggerDefinitionVersion() + +Creates a version of a logger definition that has already been defined. + +Required Parameters +{ + "LoggerDefinitionId": "The ID of the logger definition." +} + +Optional Parameters +{ + "Loggers": "A list of loggers.", + "AmznClientToken": "A client token used to correlate requests and responses." +} +""" +CreateLoggerDefinitionVersion(args) = greengrass("POST", "/greengrass/definition/loggers/{LoggerDefinitionId}/versions", args) + +""" + ListDeviceDefinitionVersions() + +Lists the versions of a device definition. + +Required Parameters +{ + "DeviceDefinitionId": "The ID of the device definition." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of results to be returned per request.", + "NextToken": "The token for the next set of results, or ''null'' if there are no additional results." +} +""" +ListDeviceDefinitionVersions(args) = greengrass("GET", "/greengrass/definition/devices/{DeviceDefinitionId}/versions", args) + +""" + CreateResourceDefinitionVersion() + +Creates a version of a resource definition that has already been defined. + +Required Parameters +{ + "ResourceDefinitionId": "The ID of the resource definition." +} + +Optional Parameters +{ + "Resources": "A list of resources.", + "AmznClientToken": "A client token used to correlate requests and responses." +} +""" +CreateResourceDefinitionVersion(args) = greengrass("POST", "/greengrass/definition/resources/{ResourceDefinitionId}/versions", args) + +""" + GetServiceRoleForAccount() + +Retrieves the service role that is attached to your account. +""" +GetServiceRoleForAccount() = greengrass("GET", "/greengrass/servicerole") +GetServiceRoleForAccount(args) = greengrass("GET", "/greengrass/servicerole", args) + +""" + GetLoggerDefinitionVersion() + +Retrieves information about a logger definition version. + +Required Parameters +{ + "LoggerDefinitionId": "The ID of the logger definition.", + "LoggerDefinitionVersionId": "The ID of the logger definition version. This value maps to the ''Version'' property of the corresponding ''VersionInformation'' object, which is returned by ''ListLoggerDefinitionVersions'' requests. If the version is the last one that was associated with a logger definition, the value also maps to the ''LatestVersion'' property of the corresponding ''DefinitionInformation'' object." +} + +Optional Parameters +{ + "NextToken": "The token for the next set of results, or ''null'' if there are no additional results." +} +""" +GetLoggerDefinitionVersion(args) = greengrass("GET", "/greengrass/definition/loggers/{LoggerDefinitionId}/versions/{LoggerDefinitionVersionId}", args) + +""" + CreateGroup() + +Creates a group. You may provide the initial version of the group or use ''CreateGroupVersion'' at a later time. Tip: You can use the ''gg_group_setup'' package (https://github.com/awslabs/aws-greengrass-group-setup) as a library or command-line application to create and deploy Greengrass groups. + +Optional Parameters +{ + "InitialVersion": "Information about the initial version of the group.", + "tags": "Tag(s) to add to the new resource.", + "Name": "The name of the group.", + "AmznClientToken": "A client token used to correlate requests and responses." +} +""" +CreateGroup() = greengrass("POST", "/greengrass/groups") +CreateGroup(args) = greengrass("POST", "/greengrass/groups", args) + +""" + DeleteConnectorDefinition() + +Deletes a connector definition. + +Required Parameters +{ + "ConnectorDefinitionId": "The ID of the connector definition." +} +""" +DeleteConnectorDefinition(args) = greengrass("DELETE", "/greengrass/definition/connectors/{ConnectorDefinitionId}", args) + +""" + ListLoggerDefinitionVersions() + +Lists the versions of a logger definition. + +Required Parameters +{ + "LoggerDefinitionId": "The ID of the logger definition." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of results to be returned per request.", + "NextToken": "The token for the next set of results, or ''null'' if there are no additional results." +} +""" +ListLoggerDefinitionVersions(args) = greengrass("GET", "/greengrass/definition/loggers/{LoggerDefinitionId}/versions", args) + +""" + ListGroupVersions() + +Lists the versions of a group. + +Required Parameters +{ + "GroupId": "The ID of the Greengrass group." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of results to be returned per request.", + "NextToken": "The token for the next set of results, or ''null'' if there are no additional results." +} +""" +ListGroupVersions(args) = greengrass("GET", "/greengrass/groups/{GroupId}/versions", args) + +""" + CreateGroupVersion() + +Creates a version of a group which has already been defined. + +Required Parameters +{ + "GroupId": "The ID of the Greengrass group." +} + +Optional Parameters +{ + "FunctionDefinitionVersionArn": "The ARN of the function definition version for this group.", + "ResourceDefinitionVersionArn": "The ARN of the resource definition version for this group.", + "DeviceDefinitionVersionArn": "The ARN of the device definition version for this group.", + "LoggerDefinitionVersionArn": "The ARN of the logger definition version for this group.", + "CoreDefinitionVersionArn": "The ARN of the core definition version for this group.", + "SubscriptionDefinitionVersionArn": "The ARN of the subscription definition version for this group.", + "AmznClientToken": "A client token used to correlate requests and responses.", + "ConnectorDefinitionVersionArn": "The ARN of the connector definition version for this group." +} +""" +CreateGroupVersion(args) = greengrass("POST", "/greengrass/groups/{GroupId}/versions", args) + +""" + GetConnectorDefinition() + +Retrieves information about a connector definition. + +Required Parameters +{ + "ConnectorDefinitionId": "The ID of the connector definition." +} +""" +GetConnectorDefinition(args) = greengrass("GET", "/greengrass/definition/connectors/{ConnectorDefinitionId}", args) + +""" + AssociateServiceRoleToAccount() + +Associates a role with your account. AWS IoT Greengrass will use the role to access your Lambda functions and AWS IoT resources. This is necessary for deployments to succeed. The role must have at least minimum permissions in the policy ''AWSGreengrassResourceAccessRolePolicy''. + +Required Parameters +{ + "RoleArn": "The ARN of the service role you wish to associate with your account." +} +""" +AssociateServiceRoleToAccount(args) = greengrass("PUT", "/greengrass/servicerole", args) + +""" + GetAssociatedRole() + +Retrieves the role associated with a particular group. + +Required Parameters +{ + "GroupId": "The ID of the Greengrass group." +} +""" +GetAssociatedRole(args) = greengrass("GET", "/greengrass/groups/{GroupId}/role", args) + +""" + StartBulkDeployment() + +Deploys multiple groups in one operation. This action starts the bulk deployment of a specified set of group versions. Each group version deployment will be triggered with an adaptive rate that has a fixed upper limit. We recommend that you include an ''X-Amzn-Client-Token'' token in every ''StartBulkDeployment'' request. These requests are idempotent with respect to the token and the request parameters. + +Required Parameters +{ + "InputFileUri": "The URI of the input file contained in the S3 bucket. The execution role must have ''getObject'' permissions on this bucket to access the input file. The input file is a JSON-serialized, line delimited file with UTF-8 encoding that provides a list of group and version IDs and the deployment type. This file must be less than 100 MB. Currently, AWS IoT Greengrass supports only ''NewDeployment'' deployment types.", + "ExecutionRoleArn": "The ARN of the execution role to associate with the bulk deployment operation. This IAM role must allow the ''greengrass:CreateDeployment'' action for all group versions that are listed in the input file. This IAM role must have access to the S3 bucket containing the input file." +} + +Optional Parameters +{ + "tags": "Tag(s) to add to the new resource.", + "AmznClientToken": "A client token used to correlate requests and responses." +} +""" +StartBulkDeployment(args) = greengrass("POST", "/greengrass/bulk/deployments", args) + +""" + UpdateDeviceDefinition() + +Updates a device definition. + +Required Parameters +{ + "DeviceDefinitionId": "The ID of the device definition." +} + +Optional Parameters +{ + "Name": "The name of the definition." +} +""" +UpdateDeviceDefinition(args) = greengrass("PUT", "/greengrass/definition/devices/{DeviceDefinitionId}", args) + +""" + ListTagsForResource() + +Retrieves a list of resource tags for a resource arn. + +Required Parameters +{ + "ResourceArn": "The Amazon Resource Name (ARN) of the resource." +} +""" +ListTagsForResource(args) = greengrass("GET", "/tags/{resource-arn}", args) + +""" + GetGroupVersion() + +Retrieves information about a group version. + +Required Parameters +{ + "GroupVersionId": "The ID of the group version. This value maps to the ''Version'' property of the corresponding ''VersionInformation'' object, which is returned by ''ListGroupVersions'' requests. If the version is the last one that was associated with a group, the value also maps to the ''LatestVersion'' property of the corresponding ''GroupInformation'' object.", + "GroupId": "The ID of the Greengrass group." +} +""" +GetGroupVersion(args) = greengrass("GET", "/greengrass/groups/{GroupId}/versions/{GroupVersionId}", args) + +""" + ListBulkDeploymentDetailedReports() + +Gets a paginated list of the deployments that have been started in a bulk deployment operation, and their current deployment status. + +Required Parameters +{ + "BulkDeploymentId": "The ID of the bulk deployment." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of results to be returned per request.", + "NextToken": "The token for the next set of results, or ''null'' if there are no additional results." +} +""" +ListBulkDeploymentDetailedReports(args) = greengrass("GET", "/greengrass/bulk/deployments/{BulkDeploymentId}/detailed-reports", args) + +""" + GetCoreDefinition() + +Retrieves information about a core definition version. + +Required Parameters +{ + "CoreDefinitionId": "The ID of the core definition." +} +""" +GetCoreDefinition(args) = greengrass("GET", "/greengrass/definition/cores/{CoreDefinitionId}", args) + +""" + ListGroupCertificateAuthorities() + +Retrieves the current CAs for a group. + +Required Parameters +{ + "GroupId": "The ID of the Greengrass group." +} +""" +ListGroupCertificateAuthorities(args) = greengrass("GET", "/greengrass/groups/{GroupId}/certificateauthorities", args) + +""" + GetGroupCertificateConfiguration() + +Retrieves the current configuration for the CA used by the group. + +Required Parameters +{ + "GroupId": "The ID of the Greengrass group." +} +""" +GetGroupCertificateConfiguration(args) = greengrass("GET", "/greengrass/groups/{GroupId}/certificateauthorities/configuration/expiry", args) + +""" + GetBulkDeploymentStatus() + +Returns the status of a bulk deployment. + +Required Parameters +{ + "BulkDeploymentId": "The ID of the bulk deployment." +} +""" +GetBulkDeploymentStatus(args) = greengrass("GET", "/greengrass/bulk/deployments/{BulkDeploymentId}/status", args) + +""" + DeleteDeviceDefinition() + +Deletes a device definition. + +Required Parameters +{ + "DeviceDefinitionId": "The ID of the device definition." +} +""" +DeleteDeviceDefinition(args) = greengrass("DELETE", "/greengrass/definition/devices/{DeviceDefinitionId}", args) + +""" + GetResourceDefinitionVersion() + +Retrieves information about a resource definition version, including which resources are included in the version. + +Required Parameters +{ + "ResourceDefinitionVersionId": "The ID of the resource definition version. This value maps to the ''Version'' property of the corresponding ''VersionInformation'' object, which is returned by ''ListResourceDefinitionVersions'' requests. If the version is the last one that was associated with a resource definition, the value also maps to the ''LatestVersion'' property of the corresponding ''DefinitionInformation'' object.", + "ResourceDefinitionId": "The ID of the resource definition." +} +""" +GetResourceDefinitionVersion(args) = greengrass("GET", "/greengrass/definition/resources/{ResourceDefinitionId}/versions/{ResourceDefinitionVersionId}", args) + +""" + AssociateRoleToGroup() + +Associates a role with a group. Your Greengrass core will use the role to access AWS cloud services. The role's permissions should allow Greengrass core Lambda functions to perform actions against the cloud. + +Required Parameters +{ + "RoleArn": "The ARN of the role you wish to associate with this group. The existence of the role is not validated.", + "GroupId": "The ID of the Greengrass group." +} +""" +AssociateRoleToGroup(args) = greengrass("PUT", "/greengrass/groups/{GroupId}/role", args) + +""" + UpdateSubscriptionDefinition() + +Updates a subscription definition. + +Required Parameters +{ + "SubscriptionDefinitionId": "The ID of the subscription definition." +} + +Optional Parameters +{ + "Name": "The name of the definition." +} +""" +UpdateSubscriptionDefinition(args) = greengrass("PUT", "/greengrass/definition/subscriptions/{SubscriptionDefinitionId}", args) + +""" + ListConnectorDefinitionVersions() + +Lists the versions of a connector definition, which are containers for connectors. Connectors run on the Greengrass core and contain built-in integration with local infrastructure, device protocols, AWS, and other cloud services. + +Required Parameters +{ + "ConnectorDefinitionId": "The ID of the connector definition." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of results to be returned per request.", + "NextToken": "The token for the next set of results, or ''null'' if there are no additional results." +} +""" +ListConnectorDefinitionVersions(args) = greengrass("GET", "/greengrass/definition/connectors/{ConnectorDefinitionId}/versions", args) + +""" + CreateResourceDefinition() + +Creates a resource definition which contains a list of resources to be used in a group. You can create an initial version of the definition by providing a list of resources now, or use ''CreateResourceDefinitionVersion'' later. + +Optional Parameters +{ + "InitialVersion": "Information about the initial version of the resource definition.", + "tags": "Tag(s) to add to the new resource.", + "Name": "The name of the resource definition.", + "AmznClientToken": "A client token used to correlate requests and responses." +} +""" +CreateResourceDefinition() = greengrass("POST", "/greengrass/definition/resources") +CreateResourceDefinition(args) = greengrass("POST", "/greengrass/definition/resources", args) + +""" + DeleteLoggerDefinition() + +Deletes a logger definition. + +Required Parameters +{ + "LoggerDefinitionId": "The ID of the logger definition." +} +""" +DeleteLoggerDefinition(args) = greengrass("DELETE", "/greengrass/definition/loggers/{LoggerDefinitionId}", args) + +""" + CreateSubscriptionDefinitionVersion() + +Creates a version of a subscription definition which has already been defined. + +Required Parameters +{ + "SubscriptionDefinitionId": "The ID of the subscription definition." +} + +Optional Parameters +{ + "Subscriptions": "A list of subscriptions.", + "AmznClientToken": "A client token used to correlate requests and responses." +} +""" +CreateSubscriptionDefinitionVersion(args) = greengrass("POST", "/greengrass/definition/subscriptions/{SubscriptionDefinitionId}/versions", args) + +""" + DeleteSubscriptionDefinition() + +Deletes a subscription definition. + +Required Parameters +{ + "SubscriptionDefinitionId": "The ID of the subscription definition." +} +""" +DeleteSubscriptionDefinition(args) = greengrass("DELETE", "/greengrass/definition/subscriptions/{SubscriptionDefinitionId}", args) + +""" + GetFunctionDefinition() + +Retrieves information about a Lambda function definition, including its creation time and latest version. + +Required Parameters +{ + "FunctionDefinitionId": "The ID of the Lambda function definition." +} +""" +GetFunctionDefinition(args) = greengrass("GET", "/greengrass/definition/functions/{FunctionDefinitionId}", args) + +""" + CreateLoggerDefinition() + +Creates a logger definition. You may provide the initial version of the logger definition now or use ''CreateLoggerDefinitionVersion'' at a later time. + +Optional Parameters +{ + "InitialVersion": "Information about the initial version of the logger definition.", + "tags": "Tag(s) to add to the new resource.", + "Name": "The name of the logger definition.", + "AmznClientToken": "A client token used to correlate requests and responses." +} +""" +CreateLoggerDefinition() = greengrass("POST", "/greengrass/definition/loggers") +CreateLoggerDefinition(args) = greengrass("POST", "/greengrass/definition/loggers", args) + +""" + CreateDeviceDefinition() + +Creates a device definition. You may provide the initial version of the device definition now or use ''CreateDeviceDefinitionVersion'' at a later time. + +Optional Parameters +{ + "InitialVersion": "Information about the initial version of the device definition.", + "tags": "Tag(s) to add to the new resource.", + "Name": "The name of the device definition.", + "AmznClientToken": "A client token used to correlate requests and responses." +} +""" +CreateDeviceDefinition() = greengrass("POST", "/greengrass/definition/devices") +CreateDeviceDefinition(args) = greengrass("POST", "/greengrass/definition/devices", args) + +""" + ListCoreDefinitions() + +Retrieves a list of core definitions. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to be returned per request.", + "NextToken": "The token for the next set of results, or ''null'' if there are no additional results." +} +""" +ListCoreDefinitions() = greengrass("GET", "/greengrass/definition/cores") +ListCoreDefinitions(args) = greengrass("GET", "/greengrass/definition/cores", args) + +""" + UpdateCoreDefinition() + +Updates a core definition. + +Required Parameters +{ + "CoreDefinitionId": "The ID of the core definition." +} + +Optional Parameters +{ + "Name": "The name of the definition." +} +""" +UpdateCoreDefinition(args) = greengrass("PUT", "/greengrass/definition/cores/{CoreDefinitionId}", args) + +""" + ListGroups() + +Retrieves a list of groups. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to be returned per request.", + "NextToken": "The token for the next set of results, or ''null'' if there are no additional results." +} +""" +ListGroups() = greengrass("GET", "/greengrass/groups") +ListGroups(args) = greengrass("GET", "/greengrass/groups", args) + +""" + GetDeploymentStatus() + +Returns the status of a deployment. + +Required Parameters +{ + "DeploymentId": "The ID of the deployment.", + "GroupId": "The ID of the Greengrass group." +} +""" +GetDeploymentStatus(args) = greengrass("GET", "/greengrass/groups/{GroupId}/deployments/{DeploymentId}/status", args) + +""" + UpdateConnectivityInfo() + +Updates the connectivity information for the core. Any devices that belong to the group which has this core will receive this information in order to find the location of the core and connect to it. + +Required Parameters +{ + "ThingName": "The thing name." +} + +Optional Parameters +{ + "ConnectivityInfo": "A list of connectivity info." +} +""" +UpdateConnectivityInfo(args) = greengrass("PUT", "/greengrass/things/{ThingName}/connectivityInfo", args) + +""" + CreateGroupCertificateAuthority() + +Creates a CA for the group. If a CA already exists, it will rotate the existing CA. + +Required Parameters +{ + "GroupId": "The ID of the Greengrass group." +} + +Optional Parameters +{ + "AmznClientToken": "A client token used to correlate requests and responses." +} +""" +CreateGroupCertificateAuthority(args) = greengrass("POST", "/greengrass/groups/{GroupId}/certificateauthorities", args) + +""" + GetCoreDefinitionVersion() + +Retrieves information about a core definition version. + +Required Parameters +{ + "CoreDefinitionVersionId": "The ID of the core definition version. This value maps to the ''Version'' property of the corresponding ''VersionInformation'' object, which is returned by ''ListCoreDefinitionVersions'' requests. If the version is the last one that was associated with a core definition, the value also maps to the ''LatestVersion'' property of the corresponding ''DefinitionInformation'' object.", + "CoreDefinitionId": "The ID of the core definition." +} +""" +GetCoreDefinitionVersion(args) = greengrass("GET", "/greengrass/definition/cores/{CoreDefinitionId}/versions/{CoreDefinitionVersionId}", args) + +""" + UpdateConnectorDefinition() + +Updates a connector definition. + +Required Parameters +{ + "ConnectorDefinitionId": "The ID of the connector definition." +} + +Optional Parameters +{ + "Name": "The name of the definition." +} +""" +UpdateConnectorDefinition(args) = greengrass("PUT", "/greengrass/definition/connectors/{ConnectorDefinitionId}", args) + +""" + CreateSubscriptionDefinition() + +Creates a subscription definition. You may provide the initial version of the subscription definition now or use ''CreateSubscriptionDefinitionVersion'' at a later time. + +Optional Parameters +{ + "InitialVersion": "Information about the initial version of the subscription definition.", + "tags": "Tag(s) to add to the new resource.", + "Name": "The name of the subscription definition.", + "AmznClientToken": "A client token used to correlate requests and responses." +} +""" +CreateSubscriptionDefinition() = greengrass("POST", "/greengrass/definition/subscriptions") +CreateSubscriptionDefinition(args) = greengrass("POST", "/greengrass/definition/subscriptions", args) + +""" + DeleteFunctionDefinition() + +Deletes a Lambda function definition. + +Required Parameters +{ + "FunctionDefinitionId": "The ID of the Lambda function definition." +} +""" +DeleteFunctionDefinition(args) = greengrass("DELETE", "/greengrass/definition/functions/{FunctionDefinitionId}", args) + +""" + ResetDeployments() + +Resets a group's deployments. + +Required Parameters +{ + "GroupId": "The ID of the Greengrass group." +} + +Optional Parameters +{ + "Force": "If true, performs a best-effort only core reset.", + "AmznClientToken": "A client token used to correlate requests and responses." +} +""" +ResetDeployments(args) = greengrass("POST", "/greengrass/groups/{GroupId}/deployments/$reset", args) + +""" + GetGroupCertificateAuthority() + +Retreives the CA associated with a group. Returns the public key of the CA. + +Required Parameters +{ + "CertificateAuthorityId": "The ID of the certificate authority.", + "GroupId": "The ID of the Greengrass group." +} +""" +GetGroupCertificateAuthority(args) = greengrass("GET", "/greengrass/groups/{GroupId}/certificateauthorities/{CertificateAuthorityId}", args) + +""" + GetFunctionDefinitionVersion() + +Retrieves information about a Lambda function definition version, including which Lambda functions are included in the version and their configurations. + +Required Parameters +{ + "FunctionDefinitionId": "The ID of the Lambda function definition.", + "FunctionDefinitionVersionId": "The ID of the function definition version. This value maps to the ''Version'' property of the corresponding ''VersionInformation'' object, which is returned by ''ListFunctionDefinitionVersions'' requests. If the version is the last one that was associated with a function definition, the value also maps to the ''LatestVersion'' property of the corresponding ''DefinitionInformation'' object." +} + +Optional Parameters +{ + "NextToken": "The token for the next set of results, or ''null'' if there are no additional results." +} +""" +GetFunctionDefinitionVersion(args) = greengrass("GET", "/greengrass/definition/functions/{FunctionDefinitionId}/versions/{FunctionDefinitionVersionId}", args) + +""" + CreateCoreDefinitionVersion() + +Creates a version of a core definition that has already been defined. Greengrass groups must each contain exactly one Greengrass core. + +Required Parameters +{ + "CoreDefinitionId": "The ID of the core definition." +} + +Optional Parameters +{ + "Cores": "A list of cores in the core definition version.", + "AmznClientToken": "A client token used to correlate requests and responses." +} +""" +CreateCoreDefinitionVersion(args) = greengrass("POST", "/greengrass/definition/cores/{CoreDefinitionId}/versions", args) + +""" + CreateFunctionDefinitionVersion() + +Creates a version of a Lambda function definition that has already been defined. + +Required Parameters +{ + "FunctionDefinitionId": "The ID of the Lambda function definition." +} + +Optional Parameters +{ + "DefaultConfig": "The default configuration that applies to all Lambda functions in this function definition version. Individual Lambda functions can override these settings.", + "Functions": "A list of Lambda functions in this function definition version.", + "AmznClientToken": "A client token used to correlate requests and responses." +} +""" +CreateFunctionDefinitionVersion(args) = greengrass("POST", "/greengrass/definition/functions/{FunctionDefinitionId}/versions", args) + +""" + ListDeviceDefinitions() + +Retrieves a list of device definitions. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to be returned per request.", + "NextToken": "The token for the next set of results, or ''null'' if there are no additional results." +} +""" +ListDeviceDefinitions() = greengrass("GET", "/greengrass/definition/devices") +ListDeviceDefinitions(args) = greengrass("GET", "/greengrass/definition/devices", args) + +""" + CreateDeviceDefinitionVersion() + +Creates a version of a device definition that has already been defined. + +Required Parameters +{ + "DeviceDefinitionId": "The ID of the device definition." +} + +Optional Parameters +{ + "Devices": "A list of devices in the definition version.", + "AmznClientToken": "A client token used to correlate requests and responses." +} +""" +CreateDeviceDefinitionVersion(args) = greengrass("POST", "/greengrass/definition/devices/{DeviceDefinitionId}/versions", args) + +""" + ListFunctionDefinitions() + +Retrieves a list of Lambda function definitions. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to be returned per request.", + "NextToken": "The token for the next set of results, or ''null'' if there are no additional results." +} +""" +ListFunctionDefinitions() = greengrass("GET", "/greengrass/definition/functions") +ListFunctionDefinitions(args) = greengrass("GET", "/greengrass/definition/functions", args) + +""" + ListConnectorDefinitions() + +Retrieves a list of connector definitions. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to be returned per request.", + "NextToken": "The token for the next set of results, or ''null'' if there are no additional results." +} +""" +ListConnectorDefinitions() = greengrass("GET", "/greengrass/definition/connectors") +ListConnectorDefinitions(args) = greengrass("GET", "/greengrass/definition/connectors", args) + +""" + UpdateGroupCertificateConfiguration() + +Updates the Certificate expiry time for a group. + +Required Parameters +{ + "GroupId": "The ID of the Greengrass group." +} + +Optional Parameters +{ + "CertificateExpiryInMilliseconds": "The amount of time remaining before the certificate expires, in milliseconds." +} +""" +UpdateGroupCertificateConfiguration(args) = greengrass("PUT", "/greengrass/groups/{GroupId}/certificateauthorities/configuration/expiry", args) + +""" + DeleteResourceDefinition() + +Deletes a resource definition. + +Required Parameters +{ + "ResourceDefinitionId": "The ID of the resource definition." +} +""" +DeleteResourceDefinition(args) = greengrass("DELETE", "/greengrass/definition/resources/{ResourceDefinitionId}", args) + +""" + GetConnectivityInfo() + +Retrieves the connectivity information for a core. + +Required Parameters +{ + "ThingName": "The thing name." +} +""" +GetConnectivityInfo(args) = greengrass("GET", "/greengrass/things/{ThingName}/connectivityInfo", args) + +""" + ListBulkDeployments() + +Returns a list of bulk deployments. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to be returned per request.", + "NextToken": "The token for the next set of results, or ''null'' if there are no additional results." +} +""" +ListBulkDeployments() = greengrass("GET", "/greengrass/bulk/deployments") +ListBulkDeployments(args) = greengrass("GET", "/greengrass/bulk/deployments", args) + +""" + ListResourceDefinitions() + +Retrieves a list of resource definitions. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to be returned per request.", + "NextToken": "The token for the next set of results, or ''null'' if there are no additional results." +} +""" +ListResourceDefinitions() = greengrass("GET", "/greengrass/definition/resources") +ListResourceDefinitions(args) = greengrass("GET", "/greengrass/definition/resources", args) + +""" + CreateSoftwareUpdateJob() + +Creates a software update for a core or group of cores (specified as an IoT thing group.) Use this to update the OTA Agent as well as the Greengrass core software. It makes use of the IoT Jobs feature which provides additional commands to manage a Greengrass core software update job. + +Required Parameters +{ + "SoftwareToUpdate": "", + "UpdateTargetsArchitecture": "", + "UpdateTargets": "", + "S3UrlSignerRole": "", + "UpdateTargetsOperatingSystem": "" +} + +Optional Parameters +{ + "UpdateAgentLogLevel": "", + "AmznClientToken": "A client token used to correlate requests and responses." +} +""" +CreateSoftwareUpdateJob(args) = greengrass("POST", "/greengrass/updates", args) + +""" + UpdateGroup() + +Updates a group. + +Required Parameters +{ + "GroupId": "The ID of the Greengrass group." +} + +Optional Parameters +{ + "Name": "The name of the definition." +} +""" +UpdateGroup(args) = greengrass("PUT", "/greengrass/groups/{GroupId}", args) + +""" + CreateFunctionDefinition() + +Creates a Lambda function definition which contains a list of Lambda functions and their configurations to be used in a group. You can create an initial version of the definition by providing a list of Lambda functions and their configurations now, or use ''CreateFunctionDefinitionVersion'' later. + +Optional Parameters +{ + "InitialVersion": "Information about the initial version of the function definition.", + "tags": "Tag(s) to add to the new resource.", + "Name": "The name of the function definition.", + "AmznClientToken": "A client token used to correlate requests and responses." +} +""" +CreateFunctionDefinition() = greengrass("POST", "/greengrass/definition/functions") +CreateFunctionDefinition(args) = greengrass("POST", "/greengrass/definition/functions", args) + +""" + CreateConnectorDefinitionVersion() + +Creates a version of a connector definition which has already been defined. + +Required Parameters +{ + "ConnectorDefinitionId": "The ID of the connector definition." +} + +Optional Parameters +{ + "Connectors": "A list of references to connectors in this version, with their corresponding configuration settings.", + "AmznClientToken": "A client token used to correlate requests and responses." +} +""" +CreateConnectorDefinitionVersion(args) = greengrass("POST", "/greengrass/definition/connectors/{ConnectorDefinitionId}/versions", args) diff --git a/src/services/groundstation.jl b/src/services/groundstation.jl new file mode 100644 index 0000000000..40364c9752 --- /dev/null +++ b/src/services/groundstation.jl @@ -0,0 +1,372 @@ +include("../AWSServices.jl") +using .AWSServices: groundstation + +""" + ListTagsForResource() + +Returns a list of tags for a specified resource. + +Required Parameters +{ + "resourceArn": "ARN of a resource." +} +""" +ListTagsForResource(args) = groundstation("GET", "/tags/{resourceArn}", args) + +""" + DeleteDataflowEndpointGroup() + +Deletes a dataflow endpoint group. + +Required Parameters +{ + "dataflowEndpointGroupId": "UUID of a dataflow endpoint group." +} +""" +DeleteDataflowEndpointGroup(args) = groundstation("DELETE", "/dataflowEndpointGroup/{dataflowEndpointGroupId}", args) + +""" + ListContacts() + +Returns a list of contacts. If statusList contains AVAILABLE, the request must include groundStation, missionprofileArn, and satelliteArn. + +Required Parameters +{ + "startTime": "Start time of a contact.", + "statusList": "Status of a contact reservation.", + "endTime": "End time of a contact." +} + +Optional Parameters +{ + "satelliteArn": "ARN of a satellite.", + "missionProfileArn": "ARN of a mission profile.", + "maxResults": "Maximum number of contacts returned.", + "nextToken": "Next token returned in the request of a previous ListContacts call. Used to get the next page of results.", + "groundStation": "Name of a ground station." +} +""" +ListContacts(args) = groundstation("POST", "/contacts", args) + +""" + ListMissionProfiles() + +Returns a list of mission profiles. + +Optional Parameters +{ + "maxResults": "Maximum number of mission profiles returned.", + "nextToken": "Next token returned in the request of a previous ListMissionProfiles call. Used to get the next page of results." +} +""" +ListMissionProfiles() = groundstation("GET", "/missionprofile") +ListMissionProfiles(args) = groundstation("GET", "/missionprofile", args) + +""" + ListGroundStations() + +Returns a list of ground stations. + +Optional Parameters +{ + "satelliteId": "Satellite ID to retrieve on-boarded ground stations.", + "maxResults": "Maximum number of ground stations returned.", + "nextToken": "Next token that can be supplied in the next call to get the next page of ground stations." +} +""" +ListGroundStations() = groundstation("GET", "/groundstation") +ListGroundStations(args) = groundstation("GET", "/groundstation", args) + +""" + CreateDataflowEndpointGroup() + +Creates a DataflowEndpoint group containing the specified list of DataflowEndpoint objects. The name field in each endpoint is used in your mission profile DataflowEndpointConfig to specify which endpoints to use during a contact. When a contact uses multiple DataflowEndpointConfig objects, each Config must match a DataflowEndpoint in the same group. + +Required Parameters +{ + "endpointDetails": "Endpoint details of each endpoint in the dataflow endpoint group." +} + +Optional Parameters +{ + "tags": "Tags of a dataflow endpoint group." +} +""" +CreateDataflowEndpointGroup(args) = groundstation("POST", "/dataflowEndpointGroup", args) + +""" + DeleteMissionProfile() + +Deletes a mission profile. + +Required Parameters +{ + "missionProfileId": "UUID of a mission profile." +} +""" +DeleteMissionProfile(args) = groundstation("DELETE", "/missionprofile/{missionProfileId}", args) + +""" + GetConfig() + +Returns Config information. Only one Config response can be returned. + +Required Parameters +{ + "configType": "Type of a Config.", + "configId": "UUID of a Config." +} +""" +GetConfig(args) = groundstation("GET", "/config/{configType}/{configId}", args) + +""" + ListConfigs() + +Returns a list of Config objects. + +Optional Parameters +{ + "maxResults": "Maximum number of Configs returned.", + "nextToken": "Next token returned in the request of a previous ListConfigs call. Used to get the next page of results." +} +""" +ListConfigs() = groundstation("GET", "/config") +ListConfigs(args) = groundstation("GET", "/config", args) + +""" + DescribeContact() + +Describes an existing contact. + +Required Parameters +{ + "contactId": "UUID of a contact." +} +""" +DescribeContact(args) = groundstation("GET", "/contact/{contactId}", args) + +""" + CreateMissionProfile() + +Creates a mission profile. dataflowEdges is a list of lists of strings. Each lower level list of strings has two elements: a from ARN and a to ARN. + +Required Parameters +{ + "name": "Name of a mission profile.", + "trackingConfigArn": "ARN of a tracking Config.", + "dataflowEdges": "A list of lists of ARNs. Each list of ARNs is an edge, with a from Config and a to Config.", + "minimumViableContactDurationSeconds": "Smallest amount of time in seconds that you’d like to see for an available contact. AWS Ground Station will not present you with contacts shorter than this duration." +} + +Optional Parameters +{ + "contactPrePassDurationSeconds": "Amount of time prior to contact start you’d like to receive a CloudWatch event indicating an upcoming pass.", + "contactPostPassDurationSeconds": "Amount of time after a contact ends that you’d like to receive a CloudWatch event indicating the pass has finished.", + "tags": "Tags assigned to a mission profile." +} +""" +CreateMissionProfile(args) = groundstation("POST", "/missionprofile", args) + +""" + GetDataflowEndpointGroup() + +Returns the dataflow endpoint group. + +Required Parameters +{ + "dataflowEndpointGroupId": "UUID of a dataflow endpoint group." +} +""" +GetDataflowEndpointGroup(args) = groundstation("GET", "/dataflowEndpointGroup/{dataflowEndpointGroupId}", args) + +""" + GetSatellite() + +Returns a satellite. + +Required Parameters +{ + "satelliteId": "UUID of a satellite." +} +""" +GetSatellite(args) = groundstation("GET", "/satellite/{satelliteId}", args) + +""" + CancelContact() + +Cancels a contact with a specified contact ID. + +Required Parameters +{ + "contactId": "UUID of a contact." +} +""" +CancelContact(args) = groundstation("DELETE", "/contact/{contactId}", args) + +""" + ReserveContact() + +Reserves a contact using specified parameters. + +Required Parameters +{ + "satelliteArn": "ARN of a satellite", + "startTime": "Start time of a contact.", + "missionProfileArn": "ARN of a mission profile.", + "endTime": "End time of a contact.", + "groundStation": "Name of a ground station." +} + +Optional Parameters +{ + "tags": "Tags assigned to a contact." +} +""" +ReserveContact(args) = groundstation("POST", "/contact", args) + +""" + TagResource() + +Assigns a tag to a resource. + +Required Parameters +{ + "resourceArn": "ARN of a resource tag.", + "tags": "Tags assigned to a resource." +} +""" +TagResource(args) = groundstation("POST", "/tags/{resourceArn}", args) + +""" + UntagResource() + +Deassigns a resource tag. + +Required Parameters +{ + "resourceArn": "ARN of a resource.", + "tagKeys": "Keys of a resource tag." +} +""" +UntagResource(args) = groundstation("DELETE", "/tags/{resourceArn}", args) + +""" + UpdateConfig() + +Updates the Config used when scheduling contacts. Updating a Config will not update the execution parameters for existing future contacts scheduled with this Config. + +Required Parameters +{ + "name": "Name of a Config.", + "configType": "Type of a Config.", + "configId": "UUID of a Config.", + "configData": "Parameters of a Config." +} +""" +UpdateConfig(args) = groundstation("PUT", "/config/{configType}/{configId}", args) + +""" + ListSatellites() + +Returns a list of satellites. + +Optional Parameters +{ + "maxResults": "Maximum number of satellites returned.", + "nextToken": "Next token that can be supplied in the next call to get the next page of satellites." +} +""" +ListSatellites() = groundstation("GET", "/satellite") +ListSatellites(args) = groundstation("GET", "/satellite", args) + +""" + GetMinuteUsage() + +Returns the number of minutes used by account. + +Required Parameters +{ + "month": "The month being requested, with a value of 1-12.", + "year": "The year being requested, in the format of YYYY." +} +""" +GetMinuteUsage(args) = groundstation("POST", "/minute-usage", args) + +""" + CreateConfig() + +Creates a Config with the specified configData parameters. Only one type of configData can be specified. + +Required Parameters +{ + "name": "Name of a Config.", + "configData": "Parameters of a Config." +} + +Optional Parameters +{ + "tags": "Tags assigned to a Config." +} +""" +CreateConfig(args) = groundstation("POST", "/config", args) + +""" + GetMissionProfile() + +Returns a mission profile. + +Required Parameters +{ + "missionProfileId": "UUID of a mission profile." +} +""" +GetMissionProfile(args) = groundstation("GET", "/missionprofile/{missionProfileId}", args) + +""" + DeleteConfig() + +Deletes a Config. + +Required Parameters +{ + "configType": "Type of a Config.", + "configId": "UUID of a Config." +} +""" +DeleteConfig(args) = groundstation("DELETE", "/config/{configType}/{configId}", args) + +""" + ListDataflowEndpointGroups() + +Returns a list of DataflowEndpoint groups. + +Optional Parameters +{ + "maxResults": "Maximum number of dataflow endpoint groups returned.", + "nextToken": "Next token returned in the request of a previous ListDataflowEndpointGroups call. Used to get the next page of results." +} +""" +ListDataflowEndpointGroups() = groundstation("GET", "/dataflowEndpointGroup") +ListDataflowEndpointGroups(args) = groundstation("GET", "/dataflowEndpointGroup", args) + +""" + UpdateMissionProfile() + +Updates a mission profile. Updating a mission profile will not update the execution parameters for existing future contacts. + +Required Parameters +{ + "missionProfileId": "UUID of a mission profile." +} + +Optional Parameters +{ + "name": "Name of a mission profile.", + "trackingConfigArn": "ARN of a tracking Config.", + "contactPrePassDurationSeconds": "Amount of time after a contact ends that you’d like to receive a CloudWatch event indicating the pass has finished.", + "contactPostPassDurationSeconds": "Amount of time after a contact ends that you’d like to receive a CloudWatch event indicating the pass has finished.", + "dataflowEdges": "A list of lists of ARNs. Each list of ARNs is an edge, with a from Config and a to Config.", + "minimumViableContactDurationSeconds": "Smallest amount of time in seconds that you’d like to see for an available contact. AWS Ground Station will not present you with contacts shorter than this duration." +} +""" +UpdateMissionProfile(args) = groundstation("PUT", "/missionprofile/{missionProfileId}", args) diff --git a/src/services/guardduty.jl b/src/services/guardduty.jl new file mode 100644 index 0000000000..90029f0931 --- /dev/null +++ b/src/services/guardduty.jl @@ -0,0 +1,774 @@ +include("../AWSServices.jl") +using .AWSServices: guardduty + +""" + GetDetector() + +Retrieves an Amazon GuardDuty detector specified by the detectorId. + +Required Parameters +{ + "DetectorId": "The unique ID of the detector that you want to get." +} +""" +GetDetector(args) = guardduty("GET", "/detector/{detectorId}", args) + +""" + CreateIPSet() + +Creates a new IPSet, called Trusted IP list in the consoler user interface. An IPSet is a list IP addresses trusted for secure communication with AWS infrastructure and applications. GuardDuty does not generate findings for IP addresses included in IPSets. Only users from the master account can use this operation. + +Required Parameters +{ + "Format": "The format of the file that contains the IPSet.", + "Activate": "A boolean value that indicates whether GuardDuty is to start using the uploaded IPSet.", + "Location": "The URI of the file that contains the IPSet. For example (https://s3.us-west-2.amazonaws.com/my-bucket/my-object-key)", + "DetectorId": "The unique ID of the detector of the GuardDuty account for which you want to create an IPSet.", + "Name": "The user friendly name to identify the IPSet. This name is displayed in all findings that are triggered by activity that involves IP addresses included in this IPSet." +} + +Optional Parameters +{ + "Tags": "The tags to be added to a new IP set resource.", + "ClientToken": "The idempotency token for the create request." +} +""" +CreateIPSet(args) = guardduty("POST", "/detector/{detectorId}/ipset", args) + +""" + CreateMembers() + +Creates member accounts of the current AWS account by specifying a list of AWS account IDs. The current AWS account can then invite these members to manage GuardDuty in their accounts. + +Required Parameters +{ + "AccountDetails": "A list of account ID and email address pairs of the accounts that you want to associate with the master GuardDuty account.", + "DetectorId": "The unique ID of the detector of the GuardDuty account with which you want to associate member accounts." +} +""" +CreateMembers(args) = guardduty("POST", "/detector/{detectorId}/member", args) + +""" + CreateDetector() + +Creates a single Amazon GuardDuty detector. A detector is a resource that represents the GuardDuty service. To start using GuardDuty, you must create a detector in each region that you enable the service. You can have only one detector per account per region. + +Required Parameters +{ + "Enable": "A boolean value that specifies whether the detector is to be enabled." +} + +Optional Parameters +{ + "FindingPublishingFrequency": "A enum value that specifies how frequently customer got Finding updates published.", + "Tags": "The tags to be added to a new detector resource.", + "ClientToken": "The idempotency token for the create request." +} +""" +CreateDetector(args) = guardduty("POST", "/detector", args) + +""" + GetInvitationsCount() + +Returns the count of all GuardDuty membership invitations that were sent to the current member account except the currently accepted invitation. +""" +GetInvitationsCount() = guardduty("GET", "/invitation/count") +GetInvitationsCount(args) = guardduty("GET", "/invitation/count", args) + +""" + TagResource() + +Adds tags to a resource. + +Required Parameters +{ + "ResourceArn": "The Amazon Resource Name (ARN) for the GuardDuty resource to apply a tag to.", + "Tags": "The tags to be added to a resource." +} +""" +TagResource(args) = guardduty("POST", "/tags/{resourceArn}", args) + +""" + DeleteFilter() + +Deletes the filter specified by the filter name. + +Required Parameters +{ + "DetectorId": "The unique ID of the detector the filter is associated with.", + "FilterName": "The name of the filter you want to delete." +} +""" +DeleteFilter(args) = guardduty("DELETE", "/detector/{detectorId}/filter/{filterName}", args) + +""" + DeleteThreatIntelSet() + +Deletes ThreatIntelSet specified by the ThreatIntelSet ID. + +Required Parameters +{ + "DetectorId": "The unique ID of the detector the threatIntelSet is associated with.", + "ThreatIntelSetId": "The unique ID of the threatIntelSet you want to delete." +} +""" +DeleteThreatIntelSet(args) = guardduty("DELETE", "/detector/{detectorId}/threatintelset/{threatIntelSetId}", args) + +""" + ListFilters() + +Returns a paginated list of the current filters. + +Required Parameters +{ + "DetectorId": "The unique ID of the detector the filter is associated with." +} + +Optional Parameters +{ + "MaxResults": "You can use this parameter to indicate the maximum number of items you want in the response. The default value is 50. The maximum value is 50.", + "NextToken": "You can use this parameter when paginating results. Set the value of this parameter to null on your first call to the list action. For subsequent calls to the action fill nextToken in the request with the value of NextToken from the previous response to continue listing data." +} +""" +ListFilters(args) = guardduty("GET", "/detector/{detectorId}/filter", args) + +""" + GetFindingsStatistics() + +Lists Amazon GuardDuty findings' statistics for the specified detector ID. + +Required Parameters +{ + "DetectorId": "The ID of the detector that specifies the GuardDuty service whose findings' statistics you want to retrieve.", + "FindingStatisticTypes": "Types of finding statistics to retrieve." +} + +Optional Parameters +{ + "FindingCriteria": "Represents the criteria used for querying findings." +} +""" +GetFindingsStatistics(args) = guardduty("POST", "/detector/{detectorId}/findings/statistics", args) + +""" + ListThreatIntelSets() + +Lists the ThreatIntelSets of the GuardDuty service specified by the detector ID. If you use this operation from a member account, the ThreatIntelSets associated with the master account are returned. + +Required Parameters +{ + "DetectorId": "The unique ID of the detector the threatIntelSet is associated with." +} + +Optional Parameters +{ + "MaxResults": "You can use this parameter to indicate the maximum number of items you want in the response. The default value is 50. The maximum value is 50.", + "NextToken": "You can use this parameter to paginate results in the response. Set the value of this parameter to null on your first call to the list action. For subsequent calls to the action fill nextToken in the request with the value of NextToken from the previous response to continue listing data." +} +""" +ListThreatIntelSets(args) = guardduty("GET", "/detector/{detectorId}/threatintelset", args) + +""" + ListFindings() + +Lists Amazon GuardDuty findings for the specified detector ID. + +Required Parameters +{ + "DetectorId": "The ID of the detector that specifies the GuardDuty service whose findings you want to list." +} + +Optional Parameters +{ + "MaxResults": "You can use this parameter to indicate the maximum number of items you want in the response. The default value is 50. The maximum value is 50.", + "NextToken": "You can use this parameter when paginating results. Set the value of this parameter to null on your first call to the list action. For subsequent calls to the action fill nextToken in the request with the value of NextToken from the previous response to continue listing data.", + "FindingCriteria": "Represents the criteria used for querying findings. Valid values include: JSON field name accountId region confidence id resource.accessKeyDetails.accessKeyId resource.accessKeyDetails.principalId resource.accessKeyDetails.userName resource.accessKeyDetails.userType resource.instanceDetails.iamInstanceProfile.id resource.instanceDetails.imageId resource.instanceDetails.instanceId resource.instanceDetails.outpostArn resource.instanceDetails.networkInterfaces.ipv6Addresses resource.instanceDetails.networkInterfaces.privateIpAddresses.privateIpAddress resource.instanceDetails.networkInterfaces.publicDnsName resource.instanceDetails.networkInterfaces.publicIp resource.instanceDetails.networkInterfaces.securityGroups.groupId resource.instanceDetails.networkInterfaces.securityGroups.groupName resource.instanceDetails.networkInterfaces.subnetId resource.instanceDetails.networkInterfaces.vpcId resource.instanceDetails.tags.key resource.instanceDetails.tags.value resource.resourceType service.action.actionType service.action.awsApiCallAction.api service.action.awsApiCallAction.callerType service.action.awsApiCallAction.remoteIpDetails.city.cityName service.action.awsApiCallAction.remoteIpDetails.country.countryName service.action.awsApiCallAction.remoteIpDetails.ipAddressV4 service.action.awsApiCallAction.remoteIpDetails.organization.asn service.action.awsApiCallAction.remoteIpDetails.organization.asnOrg service.action.awsApiCallAction.serviceName service.action.dnsRequestAction.domain service.action.networkConnectionAction.blocked service.action.networkConnectionAction.connectionDirection service.action.networkConnectionAction.localPortDetails.port service.action.networkConnectionAction.protocol service.action.networkConnectionAction.localIpDetails.ipAddressV4 service.action.networkConnectionAction.remoteIpDetails.city.cityName service.action.networkConnectionAction.remoteIpDetails.country.countryName service.action.networkConnectionAction.remoteIpDetails.ipAddressV4 service.action.networkConnectionAction.remoteIpDetails.organization.asn service.action.networkConnectionAction.remoteIpDetails.organization.asnOrg service.action.networkConnectionAction.remotePortDetails.port service.additionalInfo.threatListName service.archived When this attribute is set to 'true', only archived findings are listed. When it's set to 'false', only unarchived findings are listed. When this attribute is not set, all existing findings are listed. service.resourceRole severity type updatedAt Type: Timestamp in Unix Epoch millisecond format: 1486685375000 ", + "SortCriteria": "Represents the criteria used for sorting findings." +} +""" +ListFindings(args) = guardduty("POST", "/detector/{detectorId}/findings", args) + +""" + ListInvitations() + +Lists all GuardDuty membership invitations that were sent to the current AWS account. + +Optional Parameters +{ + "MaxResults": "You can use this parameter to indicate the maximum number of items you want in the response. The default value is 50. The maximum value is 50.", + "NextToken": "You can use this parameter when paginating results. Set the value of this parameter to null on your first call to the list action. For subsequent calls to the action fill nextToken in the request with the value of NextToken from the previous response to continue listing data." +} +""" +ListInvitations() = guardduty("GET", "/invitation") +ListInvitations(args) = guardduty("GET", "/invitation", args) + +""" + UnarchiveFindings() + +Unarchives GuardDuty findings specified by the findingIds. + +Required Parameters +{ + "FindingIds": "IDs of the findings to unarchive.", + "DetectorId": "The ID of the detector associated with the findings to unarchive." +} +""" +UnarchiveFindings(args) = guardduty("POST", "/detector/{detectorId}/findings/unarchive", args) + +""" + ListIPSets() + +Lists the IPSets of the GuardDuty service specified by the detector ID. If you use this operation from a member account, the IPSets returned are the IPSets from the associated master account. + +Required Parameters +{ + "DetectorId": "The unique ID of the detector the ipSet is associated with." +} + +Optional Parameters +{ + "MaxResults": "You can use this parameter to indicate the maximum number of items you want in the response. The default value is 50. The maximum value is 50.", + "NextToken": "You can use this parameter when paginating results. Set the value of this parameter to null on your first call to the list action. For subsequent calls to the action fill nextToken in the request with the value of NextToken from the previous response to continue listing data." +} +""" +ListIPSets(args) = guardduty("GET", "/detector/{detectorId}/ipset", args) + +""" + DescribePublishingDestination() + +Returns information about the publishing destination specified by the provided destinationId. + +Required Parameters +{ + "DestinationId": "The ID of the publishing destination to retrieve.", + "DetectorId": "The unique ID of the detector associated with the publishing destination to retrieve." +} +""" +DescribePublishingDestination(args) = guardduty("GET", "/detector/{detectorId}/publishingDestination/{destinationId}", args) + +""" + UpdatePublishingDestination() + +Updates information about the publishing destination specified by the destinationId. + +Required Parameters +{ + "DestinationId": "The ID of the detector associated with the publishing destinations to update.", + "DetectorId": "The ID of the " +} + +Optional Parameters +{ + "DestinationProperties": "A DestinationProperties object that includes the DestinationArn and KmsKeyArn of the publishing destination." +} +""" +UpdatePublishingDestination(args) = guardduty("POST", "/detector/{detectorId}/publishingDestination/{destinationId}", args) + +""" + UntagResource() + +Removes tags from a resource. + +Required Parameters +{ + "ResourceArn": "The Amazon Resource Name (ARN) for the resource to remove tags from.", + "TagKeys": "The tag keys to remove from the resource." +} +""" +UntagResource(args) = guardduty("DELETE", "/tags/{resourceArn}", args) + +""" + ListMembers() + +Lists details about all member accounts for the current GuardDuty master account. + +Required Parameters +{ + "DetectorId": "The unique ID of the detector the member is associated with." +} + +Optional Parameters +{ + "MaxResults": "You can use this parameter to indicate the maximum number of items you want in the response. The default value is 50. The maximum value is 50.", + "NextToken": "You can use this parameter when paginating results. Set the value of this parameter to null on your first call to the list action. For subsequent calls to the action fill nextToken in the request with the value of NextToken from the previous response to continue listing data.", + "OnlyAssociated": "Specifies whether to only return associated members or to return all members (including members which haven't been invited yet or have been disassociated)." +} +""" +ListMembers(args) = guardduty("GET", "/detector/{detectorId}/member", args) + +""" + GetIPSet() + +Retrieves the IPSet specified by the ipSetId. + +Required Parameters +{ + "IpSetId": "The unique ID of the IPSet to retrieve.", + "DetectorId": "The unique ID of the detector the ipSet is associated with." +} +""" +GetIPSet(args) = guardduty("GET", "/detector/{detectorId}/ipset/{ipSetId}", args) + +""" + DeleteInvitations() + +Deletes invitations sent to the current member account by AWS accounts specified by their account IDs. + +Required Parameters +{ + "AccountIds": "A list of account IDs of the AWS accounts that sent invitations to the current member account that you want to delete invitations from." +} +""" +DeleteInvitations(args) = guardduty("POST", "/invitation/delete", args) + +""" + DeleteMembers() + +Deletes GuardDuty member accounts (to the current GuardDuty master account) specified by the account IDs. + +Required Parameters +{ + "DetectorId": "The unique ID of the detector of the GuardDuty account whose members you want to delete.", + "AccountIds": "A list of account IDs of the GuardDuty member accounts that you want to delete." +} +""" +DeleteMembers(args) = guardduty("POST", "/detector/{detectorId}/member/delete", args) + +""" + GetMasterAccount() + +Provides the details for the GuardDuty master account associated with the current GuardDuty member account. + +Required Parameters +{ + "DetectorId": "The unique ID of the detector of the GuardDuty member account." +} +""" +GetMasterAccount(args) = guardduty("GET", "/detector/{detectorId}/master", args) + +""" + CreateSampleFindings() + +Generates example findings of types specified by the list of finding types. If 'NULL' is specified for findingTypes, the API generates example findings of all supported finding types. + +Required Parameters +{ + "DetectorId": "The ID of the detector to create sample findings for." +} + +Optional Parameters +{ + "FindingTypes": "Types of sample findings to generate." +} +""" +CreateSampleFindings(args) = guardduty("POST", "/detector/{detectorId}/findings/create", args) + +""" + ListTagsForResource() + +Lists tags for a resource. Tagging is currently supported for detectors, finding filters, IP sets, and Threat Intel sets, with a limit of 50 tags per resource. When invoked, this operation returns all assigned tags for a given resource.. + +Required Parameters +{ + "ResourceArn": "The Amazon Resource Name (ARN) for the given GuardDuty resource " +} +""" +ListTagsForResource(args) = guardduty("GET", "/tags/{resourceArn}", args) + +""" + UpdateFindingsFeedback() + +Marks the specified GuardDuty findings as useful or not useful. + +Required Parameters +{ + "FindingIds": "IDs of the findings that you want to mark as useful or not useful.", + "Feedback": "The feedback for the finding.", + "DetectorId": "The ID of the detector associated with the findings to update feedback for." +} + +Optional Parameters +{ + "Comments": "Additional feedback about the GuardDuty findings." +} +""" +UpdateFindingsFeedback(args) = guardduty("POST", "/detector/{detectorId}/findings/feedback", args) + +""" + UpdateIPSet() + +Updates the IPSet specified by the IPSet ID. + +Required Parameters +{ + "IpSetId": "The unique ID that specifies the IPSet that you want to update.", + "DetectorId": "The detectorID that specifies the GuardDuty service whose IPSet you want to update." +} + +Optional Parameters +{ + "Activate": "The updated boolean value that specifies whether the IPSet is active or not.", + "Location": "The updated URI of the file that contains the IPSet. For example (https://s3.us-west-2.amazonaws.com/my-bucket/my-object-key).", + "Name": "The unique ID that specifies the IPSet that you want to update." +} +""" +UpdateIPSet(args) = guardduty("POST", "/detector/{detectorId}/ipset/{ipSetId}", args) + +""" + InviteMembers() + +Invites other AWS accounts (created as members of the current AWS account by CreateMembers) to enable GuardDuty and allow the current AWS account to view and manage these accounts' GuardDuty findings on their behalf as the master account. + +Required Parameters +{ + "DetectorId": "The unique ID of the detector of the GuardDuty account with which you want to invite members.", + "AccountIds": "A list of account IDs of the accounts that you want to invite to GuardDuty as members." +} + +Optional Parameters +{ + "Message": "The invitation message that you want to send to the accounts that you’re inviting to GuardDuty as members.", + "DisableEmailNotification": "A boolean value that specifies whether you want to disable email notification to the accounts that you’re inviting to GuardDuty as members." +} +""" +InviteMembers(args) = guardduty("POST", "/detector/{detectorId}/member/invite", args) + +""" + UpdateFilter() + +Updates the filter specified by the filter name. + +Required Parameters +{ + "DetectorId": "The unique ID of the detector that specifies the GuardDuty service where you want to update a filter.", + "FilterName": "The name of the filter." +} + +Optional Parameters +{ + "Description": "The description of the filter.", + "FindingCriteria": "Represents the criteria to be used in the filter for querying findings.", + "Action": "Specifies the action that is to be applied to the findings that match the filter.", + "Rank": "Specifies the position of the filter in the list of current filters. Also specifies the order in which this filter is applied to the findings." +} +""" +UpdateFilter(args) = guardduty("POST", "/detector/{detectorId}/filter/{filterName}", args) + +""" + GetThreatIntelSet() + +Retrieves the ThreatIntelSet that is specified by the ThreatIntelSet ID. + +Required Parameters +{ + "DetectorId": "The unique ID of the detector the threatIntelSet is associated with.", + "ThreatIntelSetId": "The unique ID of the threatIntelSet you want to get." +} +""" +GetThreatIntelSet(args) = guardduty("GET", "/detector/{detectorId}/threatintelset/{threatIntelSetId}", args) + +""" + CreatePublishingDestination() + +Creates a publishing destination to send findings to. The resource to send findings to must exist before you use this operation. + +Required Parameters +{ + "DestinationType": "The type of resource for the publishing destination. Currently only S3 is supported.", + "DestinationProperties": "Properties of the publishing destination, including the ARNs for the destination and the KMS key used for encryption.", + "DetectorId": "The ID of the GuardDuty detector associated with the publishing destination." +} + +Optional Parameters +{ + "ClientToken": "The idempotency token for the request." +} +""" +CreatePublishingDestination(args) = guardduty("POST", "/detector/{detectorId}/publishingDestination", args) + +""" + AcceptInvitation() + +Accepts the invitation to be monitored by a master GuardDuty account. + +Required Parameters +{ + "InvitationId": "This value is used to validate the master account to the member account.", + "DetectorId": "The unique ID of the detector of the GuardDuty member account.", + "MasterId": "The account ID of the master GuardDuty account whose invitation you're accepting." +} +""" +AcceptInvitation(args) = guardduty("POST", "/detector/{detectorId}/master", args) + +""" + DisassociateFromMasterAccount() + +Disassociates the current GuardDuty member account from its master account. + +Required Parameters +{ + "DetectorId": "The unique ID of the detector of the GuardDuty member account." +} +""" +DisassociateFromMasterAccount(args) = guardduty("POST", "/detector/{detectorId}/master/disassociate", args) + +""" + ListDetectors() + +Lists detectorIds of all the existing Amazon GuardDuty detector resources. + +Optional Parameters +{ + "MaxResults": "You can use this parameter to indicate the maximum number of items you want in the response. The default value is 50. The maximum value is 50.", + "NextToken": "You can use this parameter when paginating results. Set the value of this parameter to null on your first call to the list action. For subsequent calls to the action fill nextToken in the request with the value of NextToken from the previous response to continue listing data." +} +""" +ListDetectors() = guardduty("GET", "/detector") +ListDetectors(args) = guardduty("GET", "/detector", args) + +""" + UpdateThreatIntelSet() + +Updates the ThreatIntelSet specified by ThreatIntelSet ID. + +Required Parameters +{ + "DetectorId": "The detectorID that specifies the GuardDuty service whose ThreatIntelSet you want to update.", + "ThreatIntelSetId": "The unique ID that specifies the ThreatIntelSet that you want to update." +} + +Optional Parameters +{ + "Activate": "The updated boolean value that specifies whether the ThreateIntelSet is active or not.", + "Location": "The updated URI of the file that contains the ThreateIntelSet. For example (https://s3.us-west-2.amazonaws.com/my-bucket/my-object-key)", + "Name": "The unique ID that specifies the ThreatIntelSet that you want to update." +} +""" +UpdateThreatIntelSet(args) = guardduty("POST", "/detector/{detectorId}/threatintelset/{threatIntelSetId}", args) + +""" + GetFindings() + +Describes Amazon GuardDuty findings specified by finding IDs. + +Required Parameters +{ + "FindingIds": "IDs of the findings that you want to retrieve.", + "DetectorId": "The ID of the detector that specifies the GuardDuty service whose findings you want to retrieve." +} + +Optional Parameters +{ + "SortCriteria": "Represents the criteria used for sorting findings." +} +""" +GetFindings(args) = guardduty("POST", "/detector/{detectorId}/findings/get", args) + +""" + DeletePublishingDestination() + +Deletes the publishing definition with the specified destinationId. + +Required Parameters +{ + "DestinationId": "The ID of the publishing destination to delete.", + "DetectorId": "The unique ID of the detector associated with the publishing destination to delete." +} +""" +DeletePublishingDestination(args) = guardduty("DELETE", "/detector/{detectorId}/publishingDestination/{destinationId}", args) + +""" + DisassociateMembers() + +Disassociates GuardDuty member accounts (to the current GuardDuty master account) specified by the account IDs. + +Required Parameters +{ + "DetectorId": "The unique ID of the detector of the GuardDuty account whose members you want to disassociate from master.", + "AccountIds": "A list of account IDs of the GuardDuty member accounts that you want to disassociate from master." +} +""" +DisassociateMembers(args) = guardduty("POST", "/detector/{detectorId}/member/disassociate", args) + +""" + ListPublishingDestinations() + +Returns a list of publishing destinations associated with the specified dectectorId. + +Required Parameters +{ + "DetectorId": "The ID of the detector to retrieve publishing destinations for." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return in the response.", + "NextToken": "A token to use for paginating results returned in the repsonse. Set the value of this parameter to null for the first request to a list action. For subsequent calls, use the NextToken value returned from the previous request to continue listing results after the first page." +} +""" +ListPublishingDestinations(args) = guardduty("GET", "/detector/{detectorId}/publishingDestination", args) + +""" + CreateThreatIntelSet() + +Create a new ThreatIntelSet. ThreatIntelSets consist of known malicious IP addresses. GuardDuty generates findings based on ThreatIntelSets. Only users of the master account can use this operation. + +Required Parameters +{ + "Format": "The format of the file that contains the ThreatIntelSet.", + "Activate": "A boolean value that indicates whether GuardDuty is to start using the uploaded ThreatIntelSet.", + "Location": "The URI of the file that contains the ThreatIntelSet. For example (https://s3.us-west-2.amazonaws.com/my-bucket/my-object-key).", + "DetectorId": "The unique ID of the detector of the GuardDuty account for which you want to create a threatIntelSet.", + "Name": "A user-friendly ThreatIntelSet name that is displayed in all finding generated by activity that involves IP addresses included in this ThreatIntelSet." +} + +Optional Parameters +{ + "Tags": "The tags to be added to a new Threat List resource.", + "ClientToken": "The idempotency token for the create request." +} +""" +CreateThreatIntelSet(args) = guardduty("POST", "/detector/{detectorId}/threatintelset", args) + +""" + DeleteDetector() + +Deletes a Amazon GuardDuty detector specified by the detector ID. + +Required Parameters +{ + "DetectorId": "The unique ID of the detector that you want to delete." +} +""" +DeleteDetector(args) = guardduty("DELETE", "/detector/{detectorId}", args) + +""" + GetFilter() + +Returns the details of the filter specified by the filter name. + +Required Parameters +{ + "DetectorId": "The unique ID of the detector the filter is associated with.", + "FilterName": "The name of the filter you want to get." +} +""" +GetFilter(args) = guardduty("GET", "/detector/{detectorId}/filter/{filterName}", args) + +""" + ArchiveFindings() + +Archives GuardDuty findings specified by the list of finding IDs. Only the master account can archive findings. Member accounts do not have permission to archive findings from their accounts. + +Required Parameters +{ + "FindingIds": "IDs of the findings that you want to archive.", + "DetectorId": "The ID of the detector that specifies the GuardDuty service whose findings you want to archive." +} +""" +ArchiveFindings(args) = guardduty("POST", "/detector/{detectorId}/findings/archive", args) + +""" + StartMonitoringMembers() + +Turns on GuardDuty monitoring of the specified member accounts. Use this operation to restart monitoring of accounts that you stopped monitoring with the StopMonitoringMembers operation. + +Required Parameters +{ + "DetectorId": "The unique ID of the detector of the GuardDuty master account associated with the member accounts to monitor.", + "AccountIds": "A list of account IDs of the GuardDuty member accounts to start monitoring." +} +""" +StartMonitoringMembers(args) = guardduty("POST", "/detector/{detectorId}/member/start", args) + +""" + DeclineInvitations() + +Declines invitations sent to the current member account by AWS account specified by their account IDs. + +Required Parameters +{ + "AccountIds": "A list of account IDs of the AWS accounts that sent invitations to the current member account that you want to decline invitations from." +} +""" +DeclineInvitations(args) = guardduty("POST", "/invitation/decline", args) + +""" + StopMonitoringMembers() + +Stops GuardDuty monitoring for the specified member accounnts. Use the StartMonitoringMembers to restart monitoring for those accounts. + +Required Parameters +{ + "DetectorId": "The unique ID of the detector of the GuardDuty account that you want to stop from monitor members' findings.", + "AccountIds": "A list of account IDs of the GuardDuty member accounts whose findings you want the master account to stop monitoring." +} +""" +StopMonitoringMembers(args) = guardduty("POST", "/detector/{detectorId}/member/stop", args) + +""" + DeleteIPSet() + +Deletes the IPSet specified by the ipSetId. IPSets are called Trusted IP lists in the console user interface. + +Required Parameters +{ + "IpSetId": "The unique ID of the IPSet to delete.", + "DetectorId": "The unique ID of the detector associated with the IPSet." +} +""" +DeleteIPSet(args) = guardduty("DELETE", "/detector/{detectorId}/ipset/{ipSetId}", args) + +""" + CreateFilter() + +Creates a filter using the specified finding criteria. + +Required Parameters +{ + "FindingCriteria": "Represents the criteria to be used in the filter for querying findings.", + "DetectorId": "The unique ID of the detector of the GuardDuty account for which you want to create a filter.", + "Name": "The name of the filter." +} + +Optional Parameters +{ + "Description": "The description of the filter.", + "Tags": "The tags to be added to a new filter resource.", + "ClientToken": "The idempotency token for the create request.", + "Action": "Specifies the action that is to be applied to the findings that match the filter.", + "Rank": "Specifies the position of the filter in the list of current filters. Also specifies the order in which this filter is applied to the findings." +} +""" +CreateFilter(args) = guardduty("POST", "/detector/{detectorId}/filter", args) + +""" + UpdateDetector() + +Updates the Amazon GuardDuty detector specified by the detectorId. + +Required Parameters +{ + "DetectorId": "The unique ID of the detector to update." +} + +Optional Parameters +{ + "FindingPublishingFrequency": "A enum value that specifies how frequently findings are exported, such as to CloudWatch Events.", + "Enable": "Specifies whether the detector is enabled or not enabled." +} +""" +UpdateDetector(args) = guardduty("POST", "/detector/{detectorId}", args) + +""" + GetMembers() + +Retrieves GuardDuty member accounts (to the current GuardDuty master account) specified by the account IDs. + +Required Parameters +{ + "DetectorId": "The unique ID of the detector of the GuardDuty account whose members you want to retrieve.", + "AccountIds": "A list of account IDs of the GuardDuty member accounts that you want to describe." +} +""" +GetMembers(args) = guardduty("POST", "/detector/{detectorId}/member/get", args) diff --git a/src/services/health.jl b/src/services/health.jl new file mode 100644 index 0000000000..142fa8e29d --- /dev/null +++ b/src/services/health.jl @@ -0,0 +1,196 @@ +include("../AWSServices.jl") +using .AWSServices: health + +""" + DescribeAffectedEntitiesForOrganization() + +Returns a list of entities that have been affected by one or more events for one or more accounts in your organization in AWS Organizations, based on the filter criteria. Entities can refer to individual customer resources, groups of customer resources, or any other construct, depending on the AWS service. At least one event ARN and account ID are required. Results are sorted by the lastUpdatedTime of the entity, starting with the most recent. Before you can call this operation, you must first enable AWS Health to work with AWS Organizations. To do this, call the EnableHealthServiceAccessForOrganization operation from your organization's master account. + +Required Parameters +{ + "organizationEntityFilters": "A JSON set of elements including the awsAccountId and the eventArn." +} + +Optional Parameters +{ + "locale": "The locale (language) to return information in. English (en) is the default and the only supported value at this time.", + "maxResults": "The maximum number of items to return in one batch, between 10 and 100, inclusive.", + "nextToken": "If the results of a search are large, only a portion of the results are returned, and a nextToken pagination token is returned in the response. To retrieve the next batch of results, reissue the search request and include the returned token. When all results have been returned, the response does not contain a pagination token value." +} +""" +DescribeAffectedEntitiesForOrganization(args) = health("DescribeAffectedEntitiesForOrganization", args) + +""" + DescribeEventTypes() + +Returns the event types that meet the specified filter criteria. If no filter criteria are specified, all event types are returned, in no particular order. + +Optional Parameters +{ + "locale": "The locale (language) to return information in. English (en) is the default and the only supported value at this time.", + "filter": "Values to narrow the results returned.", + "maxResults": "The maximum number of items to return in one batch, between 10 and 100, inclusive.", + "nextToken": "If the results of a search are large, only a portion of the results are returned, and a nextToken pagination token is returned in the response. To retrieve the next batch of results, reissue the search request and include the returned token. When all results have been returned, the response does not contain a pagination token value." +} +""" +DescribeEventTypes() = health("DescribeEventTypes") +DescribeEventTypes(args) = health("DescribeEventTypes", args) + +""" + DisableHealthServiceAccessForOrganization() + +Calling this operation disables Health from working with AWS Organizations. This does not remove the Service Linked Role (SLR) from the the master account in your organization. Use the IAM console, API, or AWS CLI to remove the SLR if desired. To call this operation, you must sign in as an IAM user, assume an IAM role, or sign in as the root user (not recommended) in the organization's master account. +""" +DisableHealthServiceAccessForOrganization() = health("DisableHealthServiceAccessForOrganization") +DisableHealthServiceAccessForOrganization(args) = health("DisableHealthServiceAccessForOrganization", args) + +""" + DescribeAffectedEntities() + +Returns a list of entities that have been affected by the specified events, based on the specified filter criteria. Entities can refer to individual customer resources, groups of customer resources, or any other construct, depending on the AWS service. Events that have impact beyond that of the affected entities, or where the extent of impact is unknown, include at least one entity indicating this. At least one event ARN is required. Results are sorted by the lastUpdatedTime of the entity, starting with the most recent. + +Required Parameters +{ + "filter": "Values to narrow the results returned. At least one event ARN is required." +} + +Optional Parameters +{ + "locale": "The locale (language) to return information in. English (en) is the default and the only supported value at this time.", + "maxResults": "The maximum number of items to return in one batch, between 10 and 100, inclusive.", + "nextToken": "If the results of a search are large, only a portion of the results are returned, and a nextToken pagination token is returned in the response. To retrieve the next batch of results, reissue the search request and include the returned token. When all results have been returned, the response does not contain a pagination token value." +} +""" +DescribeAffectedEntities(args) = health("DescribeAffectedEntities", args) + +""" + DescribeEvents() + +Returns information about events that meet the specified filter criteria. Events are returned in a summary form and do not include the detailed description, any additional metadata that depends on the event type, or any affected resources. To retrieve that information, use the DescribeEventDetails and DescribeAffectedEntities operations. If no filter criteria are specified, all events are returned. Results are sorted by lastModifiedTime, starting with the most recent. + +Optional Parameters +{ + "locale": "The locale (language) to return information in. English (en) is the default and the only supported value at this time.", + "filter": "Values to narrow the results returned.", + "maxResults": "The maximum number of items to return in one batch, between 10 and 100, inclusive.", + "nextToken": "If the results of a search are large, only a portion of the results are returned, and a nextToken pagination token is returned in the response. To retrieve the next batch of results, reissue the search request and include the returned token. When all results have been returned, the response does not contain a pagination token value." +} +""" +DescribeEvents() = health("DescribeEvents") +DescribeEvents(args) = health("DescribeEvents", args) + +""" + DescribeEventsForOrganization() + +Returns information about events across your organization in AWS Organizations, meeting the specified filter criteria. Events are returned in a summary form and do not include the accounts impacted, detailed description, any additional metadata that depends on the event type, or any affected resources. To retrieve that information, use the DescribeAffectedAccountsForOrganization, DescribeEventDetailsForOrganization, and DescribeAffectedEntitiesForOrganization operations. If no filter criteria are specified, all events across your organization are returned. Results are sorted by lastModifiedTime, starting with the most recent. Before you can call this operation, you must first enable Health to work with AWS Organizations. To do this, call the EnableHealthServiceAccessForOrganization operation from your organization's master account. + +Optional Parameters +{ + "locale": "The locale (language) to return information in. English (en) is the default and the only supported value at this time.", + "filter": "Values to narrow the results returned.", + "maxResults": "The maximum number of items to return in one batch, between 10 and 100, inclusive.", + "nextToken": "If the results of a search are large, only a portion of the results are returned, and a nextToken pagination token is returned in the response. To retrieve the next batch of results, reissue the search request and include the returned token. When all results have been returned, the response does not contain a pagination token value." +} +""" +DescribeEventsForOrganization() = health("DescribeEventsForOrganization") +DescribeEventsForOrganization(args) = health("DescribeEventsForOrganization", args) + +""" + DescribeEventDetailsForOrganization() + +Returns detailed information about one or more specified events for one or more accounts in your organization. Information includes standard event data (Region, service, and so on, as returned by DescribeEventsForOrganization, a detailed event description, and possible additional metadata that depends upon the nature of the event. Affected entities are not included; to retrieve those, use the DescribeAffectedEntitiesForOrganization operation. Before you can call this operation, you must first enable AWS Health to work with AWS Organizations. To do this, call the EnableHealthServiceAccessForOrganization operation from your organization's master account. + +Required Parameters +{ + "organizationEventDetailFilters": "A set of JSON elements that includes the awsAccountId and the eventArn." +} + +Optional Parameters +{ + "locale": "The locale (language) to return information in. English (en) is the default and the only supported value at this time." +} +""" +DescribeEventDetailsForOrganization(args) = health("DescribeEventDetailsForOrganization", args) + +""" + DescribeEntityAggregates() + +Returns the number of entities that are affected by each of the specified events. If no events are specified, the counts of all affected entities are returned. + +Optional Parameters +{ + "eventArns": "A list of event ARNs (unique identifiers). For example: \"arn:aws:health:us-east-1::event/EC2/EC2_INSTANCE_RETIREMENT_SCHEDULED/EC2_INSTANCE_RETIREMENT_SCHEDULED_ABC123-CDE456\", \"arn:aws:health:us-west-1::event/EBS/AWS_EBS_LOST_VOLUME/AWS_EBS_LOST_VOLUME_CHI789_JKL101\" " +} +""" +DescribeEntityAggregates() = health("DescribeEntityAggregates") +DescribeEntityAggregates(args) = health("DescribeEntityAggregates", args) + +""" + DescribeEventDetails() + +Returns detailed information about one or more specified events. Information includes standard event data (region, service, and so on, as returned by DescribeEvents), a detailed event description, and possible additional metadata that depends upon the nature of the event. Affected entities are not included; to retrieve those, use the DescribeAffectedEntities operation. If a specified event cannot be retrieved, an error message is returned for that event. + +Required Parameters +{ + "eventArns": "A list of event ARNs (unique identifiers). For example: \"arn:aws:health:us-east-1::event/EC2/EC2_INSTANCE_RETIREMENT_SCHEDULED/EC2_INSTANCE_RETIREMENT_SCHEDULED_ABC123-CDE456\", \"arn:aws:health:us-west-1::event/EBS/AWS_EBS_LOST_VOLUME/AWS_EBS_LOST_VOLUME_CHI789_JKL101\" " +} + +Optional Parameters +{ + "locale": "The locale (language) to return information in. English (en) is the default and the only supported value at this time." +} +""" +DescribeEventDetails(args) = health("DescribeEventDetails", args) + +""" + EnableHealthServiceAccessForOrganization() + +Calling this operation enables AWS Health to work with AWS Organizations. This applies a Service Linked Role (SLR) to the master account in the organization. To learn more about the steps in this process, visit enabling service access for AWS Health in AWS Organizations. To call this operation, you must sign in as an IAM user, assume an IAM role, or sign in as the root user (not recommended) in the organization's master account. +""" +EnableHealthServiceAccessForOrganization() = health("EnableHealthServiceAccessForOrganization") +EnableHealthServiceAccessForOrganization(args) = health("EnableHealthServiceAccessForOrganization", args) + +""" + DescribeHealthServiceStatusForOrganization() + +This operation provides status information on enabling or disabling AWS Health to work with your organization. To call this operation, you must sign in as an IAM user, assume an IAM role, or sign in as the root user (not recommended) in the organization's master account. +""" +DescribeHealthServiceStatusForOrganization() = health("DescribeHealthServiceStatusForOrganization") +DescribeHealthServiceStatusForOrganization(args) = health("DescribeHealthServiceStatusForOrganization", args) + +""" + DescribeEventAggregates() + +Returns the number of events of each event type (issue, scheduled change, and account notification). If no filter is specified, the counts of all events in each category are returned. + +Required Parameters +{ + "aggregateField": "The only currently supported value is eventTypeCategory." +} + +Optional Parameters +{ + "filter": "Values to narrow the results returned.", + "maxResults": "The maximum number of items to return in one batch, between 10 and 100, inclusive.", + "nextToken": "If the results of a search are large, only a portion of the results are returned, and a nextToken pagination token is returned in the response. To retrieve the next batch of results, reissue the search request and include the returned token. When all results have been returned, the response does not contain a pagination token value." +} +""" +DescribeEventAggregates(args) = health("DescribeEventAggregates", args) + +""" + DescribeAffectedAccountsForOrganization() + +Returns a list of accounts in the organization from AWS Organizations that are affected by the provided event. Before you can call this operation, you must first enable AWS Health to work with AWS Organizations. To do this, call the EnableHealthServiceAccessForOrganization operation from your organization's master account. + +Required Parameters +{ + "eventArn": "The unique identifier for the event. Format: arn:aws:health:event-region::event/SERVICE/EVENT_TYPE_CODE/EVENT_TYPE_PLUS_ID . Example: Example: arn:aws:health:us-east-1::event/EC2/EC2_INSTANCE_RETIREMENT_SCHEDULED/EC2_INSTANCE_RETIREMENT_SCHEDULED_ABC123-DEF456 " +} + +Optional Parameters +{ + "maxResults": "The maximum number of items to return in one batch, between 10 and 100, inclusive.", + "nextToken": "If the results of a search are large, only a portion of the results are returned, and a nextToken pagination token is returned in the response. To retrieve the next batch of results, reissue the search request and include the returned token. When all results have been returned, the response does not contain a pagination token value." +} +""" +DescribeAffectedAccountsForOrganization(args) = health("DescribeAffectedAccountsForOrganization", args) diff --git a/src/services/iam.jl b/src/services/iam.jl new file mode 100644 index 0000000000..e39e9a0402 --- /dev/null +++ b/src/services/iam.jl @@ -0,0 +1,2054 @@ +include("../AWSServices.jl") +using .AWSServices: iam + +""" + CreateServiceLinkedRole() + +Creates an IAM role that is linked to a specific AWS service. The service controls the attached policies and when the role can be deleted. This helps ensure that the service is not broken by an unexpectedly changed or deleted role, which could put your AWS resources into an unknown state. Allowing the service to control the role helps improve service stability and proper cleanup when a service and its role are no longer needed. For more information, see Using Service-Linked Roles in the IAM User Guide. To attach a policy to this service-linked role, you must make the request using the AWS service that depends on this role. + +Required Parameters +{ + "AWSServiceName": "The service principal for the AWS service to which this role is attached. You use a string similar to a URL but without the http:// in front. For example: elasticbeanstalk.amazonaws.com. Service principals are unique and case-sensitive. To find the exact service principal for your service-linked role, see AWS Services That Work with IAM in the IAM User Guide. Look for the services that have Yes in the Service-Linked Role column. Choose the Yes link to view the service-linked role documentation for that service." +} + +Optional Parameters +{ + "Description": "The description of the role.", + "CustomSuffix": " A string that you provide, which is combined with the service-provided prefix to form the complete role name. If you make multiple requests for the same service, then you must supply a different CustomSuffix for each request. Otherwise the request fails with a duplicate role name error. For example, you could add -1 or -debug to the suffix. Some services do not support the CustomSuffix parameter. If you provide an optional suffix and the operation fails, try the operation again without the suffix." +} +""" +CreateServiceLinkedRole(args) = iam("CreateServiceLinkedRole", args) + +""" + UpdateRoleDescription() + +Use UpdateRole instead. Modifies only the description of a role. This operation performs the same function as the Description parameter in the UpdateRole operation. + +Required Parameters +{ + "RoleName": "The name of the role that you want to modify.", + "Description": "The new description that you want to apply to the specified role." +} +""" +UpdateRoleDescription(args) = iam("UpdateRoleDescription", args) + +""" + EnableMFADevice() + +Enables the specified MFA device and associates it with the specified IAM user. When enabled, the MFA device is required for every subsequent login by the IAM user associated with the device. + +Required Parameters +{ + "UserName": "The name of the IAM user for whom you want to enable the MFA device. This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-", + "AuthenticationCode1": "An authentication code emitted by the device. The format for this parameter is a string of six digits. Submit your request immediately after generating the authentication codes. If you generate the codes and then wait too long to submit the request, the MFA device successfully associates with the user but the MFA device becomes out of sync. This happens because time-based one-time passwords (TOTP) expire after a short period of time. If this happens, you can resync the device. ", + "AuthenticationCode2": "A subsequent authentication code emitted by the device. The format for this parameter is a string of six digits. Submit your request immediately after generating the authentication codes. If you generate the codes and then wait too long to submit the request, the MFA device successfully associates with the user but the MFA device becomes out of sync. This happens because time-based one-time passwords (TOTP) expire after a short period of time. If this happens, you can resync the device. ", + "SerialNumber": "The serial number that uniquely identifies the MFA device. For virtual MFA devices, the serial number is the device ARN. This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@:/-" +} +""" +EnableMFADevice(args) = iam("EnableMFADevice", args) + +""" + ListAccountAliases() + +Lists the account alias associated with the AWS account (Note: you can have only one). For information about using an AWS account alias, see Using an Alias for Your AWS Account ID in the IAM User Guide. + +Optional Parameters +{ + "Marker": "Use this parameter only when paginating results and only after you receive a response indicating that the results are truncated. Set it to the value of the Marker element in the response that you received to indicate where the next call should start.", + "MaxItems": "Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true. If you do not include this parameter, the number of items defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true, and Marker contains a value to include in the subsequent call that tells the service where to continue from." +} +""" +ListAccountAliases() = iam("ListAccountAliases") +ListAccountAliases(args) = iam("ListAccountAliases", args) + +""" + DeleteGroup() + +Deletes the specified IAM group. The group must not contain any users or have any attached policies. + +Required Parameters +{ + "GroupName": "The name of the IAM group to delete. This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-" +} +""" +DeleteGroup(args) = iam("DeleteGroup", args) + +""" + GetAccessKeyLastUsed() + +Retrieves information about when the specified access key was last used. The information includes the date and time of last use, along with the AWS service and Region that were specified in the last request made with that key. + +Required Parameters +{ + "AccessKeyId": "The identifier of an access key. This parameter allows (through its regex pattern) a string of characters that can consist of any upper or lowercased letter or digit." +} +""" +GetAccessKeyLastUsed(args) = iam("GetAccessKeyLastUsed", args) + +""" + GetGroup() + + Returns a list of IAM users that are in the specified IAM group. You can paginate the results using the MaxItems and Marker parameters. + +Required Parameters +{ + "GroupName": "The name of the group. This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-" +} + +Optional Parameters +{ + "Marker": "Use this parameter only when paginating results and only after you receive a response indicating that the results are truncated. Set it to the value of the Marker element in the response that you received to indicate where the next call should start.", + "MaxItems": "Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true. If you do not include this parameter, the number of items defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true, and Marker contains a value to include in the subsequent call that tells the service where to continue from." +} +""" +GetGroup(args) = iam("GetGroup", args) + +""" + CreateUser() + +Creates a new IAM user for your AWS account. For information about limitations on the number of IAM users you can create, see Limitations on IAM Entities in the IAM User Guide. + +Required Parameters +{ + "UserName": "The name of the user to create. IAM user, group, role, and policy names must be unique within the account. Names are not distinguished by case. For example, you cannot create resources named both \"MyResource\" and \"myresource\"." +} + +Optional Parameters +{ + "PermissionsBoundary": "The ARN of the policy that is used to set the permissions boundary for the user.", + "Tags": "A list of tags that you want to attach to the newly created user. Each tag consists of a key name and an associated value. For more information about tagging, see Tagging IAM Identities in the IAM User Guide. If any one of the tags is invalid or if you exceed the allowed number of tags per user, then the entire request fails and the user is not created. ", + "Path": " The path for the user name. For more information about paths, see IAM Identifiers in the IAM User Guide. This parameter is optional. If it is not included, it defaults to a slash (/). This parameter allows (through its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! ( u0021) through the DEL character ( u007F), including most punctuation characters, digits, and upper and lowercased letters." +} +""" +CreateUser(args) = iam("CreateUser", args) + +""" + GetGroupPolicy() + +Retrieves the specified inline policy document that is embedded in the specified IAM group. Policies returned by this API are URL-encoded compliant with RFC 3986. You can use a URL decoding method to convert the policy back to plain JSON text. For example, if you use Java, you can use the decode method of the java.net.URLDecoder utility class in the Java SDK. Other languages and SDKs provide similar functionality. An IAM group can also have managed policies attached to it. To retrieve a managed policy document that is attached to a group, use GetPolicy to determine the policy's default version, then use GetPolicyVersion to retrieve the policy document. For more information about policies, see Managed Policies and Inline Policies in the IAM User Guide. + +Required Parameters +{ + "PolicyName": "The name of the policy document to get. This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-", + "GroupName": "The name of the group the policy is associated with. This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-" +} +""" +GetGroupPolicy(args) = iam("GetGroupPolicy", args) + +""" + UpdateOpenIDConnectProviderThumbprint() + +Replaces the existing list of server certificate thumbprints associated with an OpenID Connect (OIDC) provider resource object with a new list of thumbprints. The list that you pass with this operation completely replaces the existing list of thumbprints. (The lists are not merged.) Typically, you need to update a thumbprint only when the identity provider's certificate changes, which occurs rarely. However, if the provider's certificate does change, any attempt to assume an IAM role that specifies the OIDC provider as a principal fails until the certificate thumbprint is updated. Trust for the OIDC provider is derived from the provider's certificate and is validated by the thumbprint. Therefore, it is best to limit access to the UpdateOpenIDConnectProviderThumbprint operation to highly privileged users. + +Required Parameters +{ + "OpenIDConnectProviderArn": "The Amazon Resource Name (ARN) of the IAM OIDC provider resource object for which you want to update the thumbprint. You can get a list of OIDC provider ARNs by using the ListOpenIDConnectProviders operation. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.", + "ThumbprintList": "A list of certificate thumbprints that are associated with the specified IAM OpenID Connect provider. For more information, see CreateOpenIDConnectProvider. " +} +""" +UpdateOpenIDConnectProviderThumbprint(args) = iam("UpdateOpenIDConnectProviderThumbprint", args) + +""" + GetAccountAuthorizationDetails() + +Retrieves information about all IAM users, groups, roles, and policies in your AWS account, including their relationships to one another. Use this API to obtain a snapshot of the configuration of IAM permissions (users, groups, roles, and policies) in your account. Policies returned by this API are URL-encoded compliant with RFC 3986. You can use a URL decoding method to convert the policy back to plain JSON text. For example, if you use Java, you can use the decode method of the java.net.URLDecoder utility class in the Java SDK. Other languages and SDKs provide similar functionality. You can optionally filter the results using the Filter parameter. You can paginate the results using the MaxItems and Marker parameters. + +Optional Parameters +{ + "Marker": "Use this parameter only when paginating results and only after you receive a response indicating that the results are truncated. Set it to the value of the Marker element in the response that you received to indicate where the next call should start.", + "MaxItems": "Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true. If you do not include this parameter, the number of items defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true, and Marker contains a value to include in the subsequent call that tells the service where to continue from.", + "Filter": "A list of entity types used to filter the results. Only the entities that match the types you specify are included in the output. Use the value LocalManagedPolicy to include customer managed policies. The format for this parameter is a comma-separated (if more than one) list of strings. Each string value in the list must be one of the valid values listed below." +} +""" +GetAccountAuthorizationDetails() = iam("GetAccountAuthorizationDetails") +GetAccountAuthorizationDetails(args) = iam("GetAccountAuthorizationDetails", args) + +""" + GetInstanceProfile() + + Retrieves information about the specified instance profile, including the instance profile's path, GUID, ARN, and role. For more information about instance profiles, see About Instance Profiles in the IAM User Guide. + +Required Parameters +{ + "InstanceProfileName": "The name of the instance profile to get information about. This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-" +} +""" +GetInstanceProfile(args) = iam("GetInstanceProfile", args) + +""" + DetachUserPolicy() + +Removes the specified managed policy from the specified user. A user can also have inline policies embedded with it. To delete an inline policy, use the DeleteUserPolicy API. For information about policies, see Managed Policies and Inline Policies in the IAM User Guide. + +Required Parameters +{ + "UserName": "The name (friendly name, not ARN) of the IAM user to detach the policy from. This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-", + "PolicyArn": "The Amazon Resource Name (ARN) of the IAM policy you want to detach. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference." +} +""" +DetachUserPolicy(args) = iam("DetachUserPolicy", args) + +""" + ListInstanceProfilesForRole() + +Lists the instance profiles that have the specified associated IAM role. If there are none, the operation returns an empty list. For more information about instance profiles, go to About Instance Profiles. You can paginate the results using the MaxItems and Marker parameters. + +Required Parameters +{ + "RoleName": "The name of the role to list instance profiles for. This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-" +} + +Optional Parameters +{ + "Marker": "Use this parameter only when paginating results and only after you receive a response indicating that the results are truncated. Set it to the value of the Marker element in the response that you received to indicate where the next call should start.", + "MaxItems": "Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true. If you do not include this parameter, the number of items defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true, and Marker contains a value to include in the subsequent call that tells the service where to continue from." +} +""" +ListInstanceProfilesForRole(args) = iam("ListInstanceProfilesForRole", args) + +""" + UpdateAccountPasswordPolicy() + +Updates the password policy settings for the AWS account. This operation does not support partial updates. No parameters are required, but if you do not specify a parameter, that parameter's value reverts to its default value. See the Request Parameters section for each parameter's default value. Also note that some parameters do not allow the default parameter to be explicitly set. Instead, to invoke the default value, do not include that parameter when you invoke the operation. For more information about using a password policy, see Managing an IAM Password Policy in the IAM User Guide. + +Optional Parameters +{ + "HardExpiry": "Prevents IAM users from setting a new password after their password has expired. The IAM user cannot be accessed until an administrator resets the password. If you do not specify a value for this parameter, then the operation uses the default value of false. The result is that IAM users can change their passwords after they expire and continue to sign in as the user.", + "RequireNumbers": "Specifies whether IAM user passwords must contain at least one numeric character (0 to 9). If you do not specify a value for this parameter, then the operation uses the default value of false. The result is that passwords do not require at least one numeric character.", + "RequireLowercaseCharacters": "Specifies whether IAM user passwords must contain at least one lowercase character from the ISO basic Latin alphabet (a to z). If you do not specify a value for this parameter, then the operation uses the default value of false. The result is that passwords do not require at least one lowercase character.", + "RequireSymbols": "Specifies whether IAM user passwords must contain at least one of the following non-alphanumeric characters: ! @ # % ^ & * ( ) _ + - = [ ] { } | ' If you do not specify a value for this parameter, then the operation uses the default value of false. The result is that passwords do not require at least one symbol character.", + "RequireUppercaseCharacters": "Specifies whether IAM user passwords must contain at least one uppercase character from the ISO basic Latin alphabet (A to Z). If you do not specify a value for this parameter, then the operation uses the default value of false. The result is that passwords do not require at least one uppercase character.", + "MinimumPasswordLength": "The minimum number of characters allowed in an IAM user password. If you do not specify a value for this parameter, then the operation uses the default value of 6.", + "MaxPasswordAge": "The number of days that an IAM user password is valid. If you do not specify a value for this parameter, then the operation uses the default value of 0. The result is that IAM user passwords never expire.", + "AllowUsersToChangePassword": " Allows all IAM users in your account to use the AWS Management Console to change their own passwords. For more information, see Letting IAM Users Change Their Own Passwords in the IAM User Guide. If you do not specify a value for this parameter, then the operation uses the default value of false. The result is that IAM users in the account do not automatically have permissions to change their own password.", + "PasswordReusePrevention": "Specifies the number of previous passwords that IAM users are prevented from reusing. If you do not specify a value for this parameter, then the operation uses the default value of 0. The result is that IAM users are not prevented from reusing previous passwords." +} +""" +UpdateAccountPasswordPolicy() = iam("UpdateAccountPasswordPolicy") +UpdateAccountPasswordPolicy(args) = iam("UpdateAccountPasswordPolicy", args) + +""" + CreatePolicyVersion() + +Creates a new version of the specified managed policy. To update a managed policy, you create a new policy version. A managed policy can have up to five versions. If the policy has five versions, you must delete an existing version using DeletePolicyVersion before you create a new version. Optionally, you can set the new version as the policy's default version. The default version is the version that is in effect for the IAM users, groups, and roles to which the policy is attached. For more information about managed policy versions, see Versioning for Managed Policies in the IAM User Guide. + +Required Parameters +{ + "PolicyArn": "The Amazon Resource Name (ARN) of the IAM policy to which you want to add a new version. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.", + "PolicyDocument": "The JSON policy document that you want to use as the content for this new version of the policy. You must provide policies in JSON format in IAM. However, for AWS CloudFormation templates formatted in YAML, you can provide the policy in JSON or YAML format. AWS CloudFormation always converts a YAML policy to JSON format before submitting it to IAM. The regex pattern used to validate this parameter is a string of characters consisting of the following: Any printable ASCII character ranging from the space character ( u0020) through the end of the ASCII character range The printable characters in the Basic Latin and Latin-1 Supplement character set (through u00FF) The special characters tab ( u0009), line feed ( u000A), and carriage return ( u000D) " +} + +Optional Parameters +{ + "SetAsDefault": "Specifies whether to set this version as the policy's default version. When this parameter is true, the new policy version becomes the operative version. That is, it becomes the version that is in effect for the IAM users, groups, and roles that the policy is attached to. For more information about managed policy versions, see Versioning for Managed Policies in the IAM User Guide." +} +""" +CreatePolicyVersion(args) = iam("CreatePolicyVersion", args) + +""" + ListAttachedRolePolicies() + +Lists all managed policies that are attached to the specified IAM role. An IAM role can also have inline policies embedded with it. To list the inline policies for a role, use the ListRolePolicies API. For information about policies, see Managed Policies and Inline Policies in the IAM User Guide. You can paginate the results using the MaxItems and Marker parameters. You can use the PathPrefix parameter to limit the list of policies to only those matching the specified path prefix. If there are no policies attached to the specified role (or none that match the specified path prefix), the operation returns an empty list. + +Required Parameters +{ + "RoleName": "The name (friendly name, not ARN) of the role to list attached policies for. This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-" +} + +Optional Parameters +{ + "Marker": "Use this parameter only when paginating results and only after you receive a response indicating that the results are truncated. Set it to the value of the Marker element in the response that you received to indicate where the next call should start.", + "PathPrefix": "The path prefix for filtering the results. This parameter is optional. If it is not included, it defaults to a slash (/), listing all policies. This parameter allows (through its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! ( u0021) through the DEL character ( u007F), including most punctuation characters, digits, and upper and lowercased letters.", + "MaxItems": "Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true. If you do not include this parameter, the number of items defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true, and Marker contains a value to include in the subsequent call that tells the service where to continue from." +} +""" +ListAttachedRolePolicies(args) = iam("ListAttachedRolePolicies", args) + +""" + UpdateAccessKey() + +Changes the status of the specified access key from Active to Inactive, or vice versa. This operation can be used to disable a user's key as part of a key rotation workflow. If the UserName is not specified, the user name is determined implicitly based on the AWS access key ID used to sign the request. This operation works for access keys under the AWS account. Consequently, you can use this operation to manage AWS account root user credentials even if the AWS account has no associated users. For information about rotating keys, see Managing Keys and Certificates in the IAM User Guide. + +Required Parameters +{ + "Status": " The status you want to assign to the secret access key. Active means that the key can be used for API calls to AWS, while Inactive means that the key cannot be used.", + "AccessKeyId": "The access key ID of the secret access key you want to update. This parameter allows (through its regex pattern) a string of characters that can consist of any upper or lowercased letter or digit." +} + +Optional Parameters +{ + "UserName": "The name of the user whose key you want to update. This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-" +} +""" +UpdateAccessKey(args) = iam("UpdateAccessKey", args) + +""" + CreateVirtualMFADevice() + +Creates a new virtual MFA device for the AWS account. After creating the virtual MFA, use EnableMFADevice to attach the MFA device to an IAM user. For more information about creating and working with virtual MFA devices, go to Using a Virtual MFA Device in the IAM User Guide. For information about limits on the number of MFA devices you can create, see Limitations on Entities in the IAM User Guide. The seed information contained in the QR code and the Base32 string should be treated like any other secret access information. In other words, protect the seed information as you would your AWS access keys or your passwords. After you provision your virtual device, you should ensure that the information is destroyed following secure procedures. + +Required Parameters +{ + "VirtualMFADeviceName": "The name of the virtual MFA device. Use with path to uniquely identify a virtual MFA device. This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-" +} + +Optional Parameters +{ + "Path": " The path for the virtual MFA device. For more information about paths, see IAM Identifiers in the IAM User Guide. This parameter is optional. If it is not included, it defaults to a slash (/). This parameter allows (through its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! ( u0021) through the DEL character ( u007F), including most punctuation characters, digits, and upper and lowercased letters." +} +""" +CreateVirtualMFADevice(args) = iam("CreateVirtualMFADevice", args) + +""" + GenerateCredentialReport() + + Generates a credential report for the AWS account. For more information about the credential report, see Getting Credential Reports in the IAM User Guide. +""" +GenerateCredentialReport() = iam("GenerateCredentialReport") +GenerateCredentialReport(args) = iam("GenerateCredentialReport", args) + +""" + GetOpenIDConnectProvider() + +Returns information about the specified OpenID Connect (OIDC) provider resource object in IAM. + +Required Parameters +{ + "OpenIDConnectProviderArn": "The Amazon Resource Name (ARN) of the OIDC provider resource object in IAM to get information for. You can get a list of OIDC provider resource ARNs by using the ListOpenIDConnectProviders operation. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference." +} +""" +GetOpenIDConnectProvider(args) = iam("GetOpenIDConnectProvider", args) + +""" + ListOpenIDConnectProviders() + +Lists information about the IAM OpenID Connect (OIDC) provider resource objects defined in the AWS account. +""" +ListOpenIDConnectProviders() = iam("ListOpenIDConnectProviders") +ListOpenIDConnectProviders(args) = iam("ListOpenIDConnectProviders", args) + +""" + RemoveUserFromGroup() + +Removes the specified user from the specified group. + +Required Parameters +{ + "UserName": "The name of the user to remove. This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-", + "GroupName": "The name of the group to update. This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-" +} +""" +RemoveUserFromGroup(args) = iam("RemoveUserFromGroup", args) + +""" + PutUserPolicy() + +Adds or updates an inline policy document that is embedded in the specified IAM user. An IAM user can also have a managed policy attached to it. To attach a managed policy to a user, use AttachUserPolicy. To create a new managed policy, use CreatePolicy. For information about policies, see Managed Policies and Inline Policies in the IAM User Guide. For information about limits on the number of inline policies that you can embed in a user, see Limitations on IAM Entities in the IAM User Guide. Because policy documents can be large, you should use POST rather than GET when calling PutUserPolicy. For general information about using the Query API with IAM, go to Making Query Requests in the IAM User Guide. + +Required Parameters +{ + "UserName": "The name of the user to associate the policy with. This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-", + "PolicyName": "The name of the policy document. This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-", + "PolicyDocument": "The policy document. You must provide policies in JSON format in IAM. However, for AWS CloudFormation templates formatted in YAML, you can provide the policy in JSON or YAML format. AWS CloudFormation always converts a YAML policy to JSON format before submitting it to IAM. The regex pattern used to validate this parameter is a string of characters consisting of the following: Any printable ASCII character ranging from the space character ( u0020) through the end of the ASCII character range The printable characters in the Basic Latin and Latin-1 Supplement character set (through u00FF) The special characters tab ( u0009), line feed ( u000A), and carriage return ( u000D) " +} +""" +PutUserPolicy(args) = iam("PutUserPolicy", args) + +""" + UntagRole() + +Removes the specified tags from the role. For more information about tagging, see Tagging IAM Identities in the IAM User Guide. + +Required Parameters +{ + "RoleName": "The name of the IAM role from which you want to remove tags. This parameter accepts (through its regex pattern) a string of characters that consist of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-", + "TagKeys": "A list of key names as a simple array of strings. The tags with matching keys are removed from the specified role." +} +""" +UntagRole(args) = iam("UntagRole", args) + +""" + ListAttachedGroupPolicies() + +Lists all managed policies that are attached to the specified IAM group. An IAM group can also have inline policies embedded with it. To list the inline policies for a group, use the ListGroupPolicies API. For information about policies, see Managed Policies and Inline Policies in the IAM User Guide. You can paginate the results using the MaxItems and Marker parameters. You can use the PathPrefix parameter to limit the list of policies to only those matching the specified path prefix. If there are no policies attached to the specified group (or none that match the specified path prefix), the operation returns an empty list. + +Required Parameters +{ + "GroupName": "The name (friendly name, not ARN) of the group to list attached policies for. This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-" +} + +Optional Parameters +{ + "Marker": "Use this parameter only when paginating results and only after you receive a response indicating that the results are truncated. Set it to the value of the Marker element in the response that you received to indicate where the next call should start.", + "PathPrefix": "The path prefix for filtering the results. This parameter is optional. If it is not included, it defaults to a slash (/), listing all policies. This parameter allows (through its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! ( u0021) through the DEL character ( u007F), including most punctuation characters, digits, and upper and lowercased letters.", + "MaxItems": "Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true. If you do not include this parameter, the number of items defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true, and Marker contains a value to include in the subsequent call that tells the service where to continue from." +} +""" +ListAttachedGroupPolicies(args) = iam("ListAttachedGroupPolicies", args) + +""" + ListSigningCertificates() + +Returns information about the signing certificates associated with the specified IAM user. If none exists, the operation returns an empty list. Although each user is limited to a small number of signing certificates, you can still paginate the results using the MaxItems and Marker parameters. If the UserName field is not specified, the user name is determined implicitly based on the AWS access key ID used to sign the request for this API. This operation works for access keys under the AWS account. Consequently, you can use this operation to manage AWS account root user credentials even if the AWS account has no associated users. + +Optional Parameters +{ + "UserName": "The name of the IAM user whose signing certificates you want to examine. This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-", + "Marker": "Use this parameter only when paginating results and only after you receive a response indicating that the results are truncated. Set it to the value of the Marker element in the response that you received to indicate where the next call should start.", + "MaxItems": "Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true. If you do not include this parameter, the number of items defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true, and Marker contains a value to include in the subsequent call that tells the service where to continue from." +} +""" +ListSigningCertificates() = iam("ListSigningCertificates") +ListSigningCertificates(args) = iam("ListSigningCertificates", args) + +""" + DeleteRolePolicy() + +Deletes the specified inline policy that is embedded in the specified IAM role. A role can also have managed policies attached to it. To detach a managed policy from a role, use DetachRolePolicy. For more information about policies, refer to Managed Policies and Inline Policies in the IAM User Guide. + +Required Parameters +{ + "PolicyName": "The name of the inline policy to delete from the specified IAM role. This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-", + "RoleName": "The name (friendly name, not ARN) identifying the role that the policy is embedded in. This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-" +} +""" +DeleteRolePolicy(args) = iam("DeleteRolePolicy", args) + +""" + DeleteUserPolicy() + +Deletes the specified inline policy that is embedded in the specified IAM user. A user can also have managed policies attached to it. To detach a managed policy from a user, use DetachUserPolicy. For more information about policies, refer to Managed Policies and Inline Policies in the IAM User Guide. + +Required Parameters +{ + "UserName": "The name (friendly name, not ARN) identifying the user that the policy is embedded in. This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-", + "PolicyName": "The name identifying the policy document to delete. This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-" +} +""" +DeleteUserPolicy(args) = iam("DeleteUserPolicy", args) + +""" + AttachRolePolicy() + +Attaches the specified managed policy to the specified IAM role. When you attach a managed policy to a role, the managed policy becomes part of the role's permission (access) policy. You cannot use a managed policy as the role's trust policy. The role's trust policy is created at the same time as the role, using CreateRole. You can update a role's trust policy using UpdateAssumeRolePolicy. Use this API to attach a managed policy to a role. To embed an inline policy in a role, use PutRolePolicy. For more information about policies, see Managed Policies and Inline Policies in the IAM User Guide. + +Required Parameters +{ + "PolicyArn": "The Amazon Resource Name (ARN) of the IAM policy you want to attach. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.", + "RoleName": "The name (friendly name, not ARN) of the role to attach the policy to. This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-" +} +""" +AttachRolePolicy(args) = iam("AttachRolePolicy", args) + +""" + ListInstanceProfiles() + +Lists the instance profiles that have the specified path prefix. If there are none, the operation returns an empty list. For more information about instance profiles, go to About Instance Profiles. You can paginate the results using the MaxItems and Marker parameters. + +Optional Parameters +{ + "Marker": "Use this parameter only when paginating results and only after you receive a response indicating that the results are truncated. Set it to the value of the Marker element in the response that you received to indicate where the next call should start.", + "PathPrefix": " The path prefix for filtering the results. For example, the prefix /application_abc/component_xyz/ gets all instance profiles whose path starts with /application_abc/component_xyz/. This parameter is optional. If it is not included, it defaults to a slash (/), listing all instance profiles. This parameter allows (through its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! ( u0021) through the DEL character ( u007F), including most punctuation characters, digits, and upper and lowercased letters.", + "MaxItems": "Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true. If you do not include this parameter, the number of items defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true, and Marker contains a value to include in the subsequent call that tells the service where to continue from." +} +""" +ListInstanceProfiles() = iam("ListInstanceProfiles") +ListInstanceProfiles(args) = iam("ListInstanceProfiles", args) + +""" + UpdateLoginProfile() + +Changes the password for the specified IAM user. IAM users can change their own passwords by calling ChangePassword. For more information about modifying passwords, see Managing Passwords in the IAM User Guide. + +Required Parameters +{ + "UserName": "The name of the user whose password you want to update. This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-" +} + +Optional Parameters +{ + "Password": "The new password for the specified IAM user. The regex pattern used to validate this parameter is a string of characters consisting of the following: Any printable ASCII character ranging from the space character ( u0020) through the end of the ASCII character range The printable characters in the Basic Latin and Latin-1 Supplement character set (through u00FF) The special characters tab ( u0009), line feed ( u000A), and carriage return ( u000D) However, the format can be further restricted by the account administrator by setting a password policy on the AWS account. For more information, see UpdateAccountPasswordPolicy.", + "PasswordResetRequired": "Allows this new password to be used only once by requiring the specified IAM user to set a new password on next sign-in." +} +""" +UpdateLoginProfile(args) = iam("UpdateLoginProfile", args) + +""" + UploadSigningCertificate() + +Uploads an X.509 signing certificate and associates it with the specified IAM user. Some AWS services use X.509 signing certificates to validate requests that are signed with a corresponding private key. When you upload the certificate, its default status is Active. If the UserName is not specified, the IAM user name is determined implicitly based on the AWS access key ID used to sign the request. This operation works for access keys under the AWS account. Consequently, you can use this operation to manage AWS account root user credentials even if the AWS account has no associated users. Because the body of an X.509 certificate can be large, you should use POST rather than GET when calling UploadSigningCertificate. For information about setting up signatures and authorization through the API, go to Signing AWS API Requests in the AWS General Reference. For general information about using the Query API with IAM, go to Making Query Requests in the IAM User Guide. + +Required Parameters +{ + "CertificateBody": "The contents of the signing certificate. The regex pattern used to validate this parameter is a string of characters consisting of the following: Any printable ASCII character ranging from the space character ( u0020) through the end of the ASCII character range The printable characters in the Basic Latin and Latin-1 Supplement character set (through u00FF) The special characters tab ( u0009), line feed ( u000A), and carriage return ( u000D) " +} + +Optional Parameters +{ + "UserName": "The name of the user the signing certificate is for. This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-" +} +""" +UploadSigningCertificate(args) = iam("UploadSigningCertificate", args) + +""" + GetSSHPublicKey() + +Retrieves the specified SSH public key, including metadata about the key. The SSH public key retrieved by this operation is used only for authenticating the associated IAM user to an AWS CodeCommit repository. For more information about using SSH keys to authenticate to an AWS CodeCommit repository, see Set up AWS CodeCommit for SSH Connections in the AWS CodeCommit User Guide. + +Required Parameters +{ + "UserName": "The name of the IAM user associated with the SSH public key. This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-", + "Encoding": "Specifies the public key encoding format to use in the response. To retrieve the public key in ssh-rsa format, use SSH. To retrieve the public key in PEM format, use PEM.", + "SSHPublicKeyId": "The unique identifier for the SSH public key. This parameter allows (through its regex pattern) a string of characters that can consist of any upper or lowercased letter or digit." +} +""" +GetSSHPublicKey(args) = iam("GetSSHPublicKey", args) + +""" + ListSSHPublicKeys() + +Returns information about the SSH public keys associated with the specified IAM user. If none exists, the operation returns an empty list. The SSH public keys returned by this operation are used only for authenticating the IAM user to an AWS CodeCommit repository. For more information about using SSH keys to authenticate to an AWS CodeCommit repository, see Set up AWS CodeCommit for SSH Connections in the AWS CodeCommit User Guide. Although each user is limited to a small number of keys, you can still paginate the results using the MaxItems and Marker parameters. + +Optional Parameters +{ + "UserName": "The name of the IAM user to list SSH public keys for. If none is specified, the UserName field is determined implicitly based on the AWS access key used to sign the request. This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-", + "Marker": "Use this parameter only when paginating results and only after you receive a response indicating that the results are truncated. Set it to the value of the Marker element in the response that you received to indicate where the next call should start.", + "MaxItems": "Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true. If you do not include this parameter, the number of items defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true, and Marker contains a value to include in the subsequent call that tells the service where to continue from." +} +""" +ListSSHPublicKeys() = iam("ListSSHPublicKeys") +ListSSHPublicKeys(args) = iam("ListSSHPublicKeys", args) + +""" + GetAccountPasswordPolicy() + +Retrieves the password policy for the AWS account. For more information about using a password policy, go to Managing an IAM Password Policy. +""" +GetAccountPasswordPolicy() = iam("GetAccountPasswordPolicy") +GetAccountPasswordPolicy(args) = iam("GetAccountPasswordPolicy", args) + +""" + GetAccountSummary() + +Retrieves information about IAM entity usage and IAM quotas in the AWS account. For information about limitations on IAM entities, see Limitations on IAM Entities in the IAM User Guide. +""" +GetAccountSummary() = iam("GetAccountSummary") +GetAccountSummary(args) = iam("GetAccountSummary", args) + +""" + GetUserPolicy() + +Retrieves the specified inline policy document that is embedded in the specified IAM user. Policies returned by this API are URL-encoded compliant with RFC 3986. You can use a URL decoding method to convert the policy back to plain JSON text. For example, if you use Java, you can use the decode method of the java.net.URLDecoder utility class in the Java SDK. Other languages and SDKs provide similar functionality. An IAM user can also have managed policies attached to it. To retrieve a managed policy document that is attached to a user, use GetPolicy to determine the policy's default version. Then use GetPolicyVersion to retrieve the policy document. For more information about policies, see Managed Policies and Inline Policies in the IAM User Guide. + +Required Parameters +{ + "UserName": "The name of the user who the policy is associated with. This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-", + "PolicyName": "The name of the policy document to get. This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-" +} +""" +GetUserPolicy(args) = iam("GetUserPolicy", args) + +""" + DeleteAccountAlias() + + Deletes the specified AWS account alias. For information about using an AWS account alias, see Using an Alias for Your AWS Account ID in the IAM User Guide. + +Required Parameters +{ + "AccountAlias": "The name of the account alias to delete. This parameter allows (through its regex pattern) a string of characters consisting of lowercase letters, digits, and dashes. You cannot start or finish with a dash, nor can you have two dashes in a row." +} +""" +DeleteAccountAlias(args) = iam("DeleteAccountAlias", args) + +""" + ChangePassword() + +Changes the password of the IAM user who is calling this operation. The AWS account root user password is not affected by this operation. To change the password for a different user, see UpdateLoginProfile. For more information about modifying passwords, see Managing Passwords in the IAM User Guide. + +Required Parameters +{ + "OldPassword": "The IAM user's current password.", + "NewPassword": "The new password. The new password must conform to the AWS account's password policy, if one exists. The regex pattern that is used to validate this parameter is a string of characters. That string can include almost any printable ASCII character from the space ( u0020) through the end of the ASCII character range ( u00FF). You can also include the tab ( u0009), line feed ( u000A), and carriage return ( u000D) characters. Any of these characters are valid in a password. However, many tools, such as the AWS Management Console, might restrict the ability to type certain characters because they have special meaning within that tool." +} +""" +ChangePassword(args) = iam("ChangePassword", args) + +""" + ListVirtualMFADevices() + +Lists the virtual MFA devices defined in the AWS account by assignment status. If you do not specify an assignment status, the operation returns a list of all virtual MFA devices. Assignment status can be Assigned, Unassigned, or Any. You can paginate the results using the MaxItems and Marker parameters. + +Optional Parameters +{ + "AssignmentStatus": " The status (Unassigned or Assigned) of the devices to list. If you do not specify an AssignmentStatus, the operation defaults to Any, which lists both assigned and unassigned virtual MFA devices.,", + "Marker": "Use this parameter only when paginating results and only after you receive a response indicating that the results are truncated. Set it to the value of the Marker element in the response that you received to indicate where the next call should start.", + "MaxItems": "Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true. If you do not include this parameter, the number of items defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true, and Marker contains a value to include in the subsequent call that tells the service where to continue from." +} +""" +ListVirtualMFADevices() = iam("ListVirtualMFADevices") +ListVirtualMFADevices(args) = iam("ListVirtualMFADevices", args) + +""" + ResetServiceSpecificCredential() + +Resets the password for a service-specific credential. The new password is AWS generated and cryptographically strong. It cannot be configured by the user. Resetting the password immediately invalidates the previous password associated with this user. + +Required Parameters +{ + "ServiceSpecificCredentialId": "The unique identifier of the service-specific credential. This parameter allows (through its regex pattern) a string of characters that can consist of any upper or lowercased letter or digit." +} + +Optional Parameters +{ + "UserName": "The name of the IAM user associated with the service-specific credential. If this value is not specified, then the operation assumes the user whose credentials are used to call the operation. This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-" +} +""" +ResetServiceSpecificCredential(args) = iam("ResetServiceSpecificCredential", args) + +""" + GetLoginProfile() + +Retrieves the user name and password-creation date for the specified IAM user. If the user has not been assigned a password, the operation returns a 404 (NoSuchEntity) error. + +Required Parameters +{ + "UserName": "The name of the user whose login profile you want to retrieve. This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-" +} +""" +GetLoginProfile(args) = iam("GetLoginProfile", args) + +""" + ListMFADevices() + +Lists the MFA devices for an IAM user. If the request includes a IAM user name, then this operation lists all the MFA devices associated with the specified user. If you do not specify a user name, IAM determines the user name implicitly based on the AWS access key ID signing the request for this API. You can paginate the results using the MaxItems and Marker parameters. + +Optional Parameters +{ + "UserName": "The name of the user whose MFA devices you want to list. This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-", + "Marker": "Use this parameter only when paginating results and only after you receive a response indicating that the results are truncated. Set it to the value of the Marker element in the response that you received to indicate where the next call should start.", + "MaxItems": "Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true. If you do not include this parameter, the number of items defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true, and Marker contains a value to include in the subsequent call that tells the service where to continue from." +} +""" +ListMFADevices() = iam("ListMFADevices") +ListMFADevices(args) = iam("ListMFADevices", args) + +""" + DetachRolePolicy() + +Removes the specified managed policy from the specified role. A role can also have inline policies embedded with it. To delete an inline policy, use the DeleteRolePolicy API. For information about policies, see Managed Policies and Inline Policies in the IAM User Guide. + +Required Parameters +{ + "PolicyArn": "The Amazon Resource Name (ARN) of the IAM policy you want to detach. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.", + "RoleName": "The name (friendly name, not ARN) of the IAM role to detach the policy from. This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-" +} +""" +DetachRolePolicy(args) = iam("DetachRolePolicy", args) + +""" + GetRole() + +Retrieves information about the specified role, including the role's path, GUID, ARN, and the role's trust policy that grants permission to assume the role. For more information about roles, see Working with Roles. Policies returned by this API are URL-encoded compliant with RFC 3986. You can use a URL decoding method to convert the policy back to plain JSON text. For example, if you use Java, you can use the decode method of the java.net.URLDecoder utility class in the Java SDK. Other languages and SDKs provide similar functionality. + +Required Parameters +{ + "RoleName": "The name of the IAM role to get information about. This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-" +} +""" +GetRole(args) = iam("GetRole", args) + +""" + DeletePolicy() + +Deletes the specified managed policy. Before you can delete a managed policy, you must first detach the policy from all users, groups, and roles that it is attached to. In addition, you must delete all the policy's versions. The following steps describe the process for deleting a managed policy: Detach the policy from all users, groups, and roles that the policy is attached to, using the DetachUserPolicy, DetachGroupPolicy, or DetachRolePolicy API operations. To list all the users, groups, and roles that a policy is attached to, use ListEntitiesForPolicy. Delete all versions of the policy using DeletePolicyVersion. To list the policy's versions, use ListPolicyVersions. You cannot use DeletePolicyVersion to delete the version that is marked as the default version. You delete the policy's default version in the next step of the process. Delete the policy (this automatically deletes the policy's default version) using this API. For information about managed policies, see Managed Policies and Inline Policies in the IAM User Guide. + +Required Parameters +{ + "PolicyArn": "The Amazon Resource Name (ARN) of the IAM policy you want to delete. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference." +} +""" +DeletePolicy(args) = iam("DeletePolicy", args) + +""" + GetPolicyVersion() + +Retrieves information about the specified version of the specified managed policy, including the policy document. Policies returned by this API are URL-encoded compliant with RFC 3986. You can use a URL decoding method to convert the policy back to plain JSON text. For example, if you use Java, you can use the decode method of the java.net.URLDecoder utility class in the Java SDK. Other languages and SDKs provide similar functionality. To list the available versions for a policy, use ListPolicyVersions. This API retrieves information about managed policies. To retrieve information about an inline policy that is embedded in a user, group, or role, use the GetUserPolicy, GetGroupPolicy, or GetRolePolicy API. For more information about the types of policies, see Managed Policies and Inline Policies in the IAM User Guide. For more information about managed policy versions, see Versioning for Managed Policies in the IAM User Guide. + +Required Parameters +{ + "PolicyArn": "The Amazon Resource Name (ARN) of the managed policy that you want information about. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.", + "VersionId": "Identifies the policy version to retrieve. This parameter allows (through its regex pattern) a string of characters that consists of the lowercase letter 'v' followed by one or two digits, and optionally followed by a period '.' and a string of letters and digits." +} +""" +GetPolicyVersion(args) = iam("GetPolicyVersion", args) + +""" + DeleteUser() + +Deletes the specified IAM user. Unlike the AWS Management Console, when you delete a user programmatically, you must delete the items attached to the user manually, or the deletion fails. For more information, see Deleting an IAM User. Before attempting to delete a user, remove the following items: Password (DeleteLoginProfile) Access keys (DeleteAccessKey) Signing certificate (DeleteSigningCertificate) SSH public key (DeleteSSHPublicKey) Git credentials (DeleteServiceSpecificCredential) Multi-factor authentication (MFA) device (DeactivateMFADevice, DeleteVirtualMFADevice) Inline policies (DeleteUserPolicy) Attached managed policies (DetachUserPolicy) Group memberships (RemoveUserFromGroup) + +Required Parameters +{ + "UserName": "The name of the user to delete. This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-" +} +""" +DeleteUser(args) = iam("DeleteUser", args) + +""" + TagUser() + +Adds one or more tags to an IAM user. If a tag with the same key name already exists, then that tag is overwritten with the new value. A tag consists of a key name and an associated value. By assigning tags to your resources, you can do the following: Administrative grouping and discovery - Attach tags to resources to aid in organization and search. For example, you could search for all resources with the key name Project and the value MyImportantProject. Or search for all resources with the key name Cost Center and the value 41200. Access control - Reference tags in IAM user-based and resource-based policies. You can use tags to restrict access to only an IAM requesting user or to a role that has a specified tag attached. You can also restrict access to only those resources that have a certain tag attached. For examples of policies that show how to use tags to control access, see Control Access Using IAM Tags in the IAM User Guide. Cost allocation - Use tags to help track which individuals and teams are using which AWS resources. Make sure that you have no invalid tags and that you do not exceed the allowed number of tags per role. In either case, the entire request fails and no tags are added to the role. AWS always interprets the tag Value as a single string. If you need to store an array, you can store comma-separated values in the string. However, you must interpret the value in your code. For more information about tagging, see Tagging IAM Identities in the IAM User Guide. + +Required Parameters +{ + "UserName": "The name of the user that you want to add tags to. This parameter accepts (through its regex pattern) a string of characters that consist of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-", + "Tags": "The list of tags that you want to attach to the user. Each tag consists of a key name and an associated value." +} +""" +TagUser(args) = iam("TagUser", args) + +""" + UpdateServerCertificate() + +Updates the name and/or the path of the specified server certificate stored in IAM. For more information about working with server certificates, see Working with Server Certificates in the IAM User Guide. This topic also includes a list of AWS services that can use the server certificates that you manage with IAM. You should understand the implications of changing a server certificate's path or name. For more information, see Renaming a Server Certificate in the IAM User Guide. The person making the request (the principal), must have permission to change the server certificate with the old name and the new name. For example, to change the certificate named ProductionCert to ProdCert, the principal must have a policy that allows them to update both certificates. If the principal has permission to update the ProductionCert group, but not the ProdCert certificate, then the update fails. For more information about permissions, see Access Management in the IAM User Guide. + +Required Parameters +{ + "ServerCertificateName": "The name of the server certificate that you want to update. This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-" +} + +Optional Parameters +{ + "NewPath": "The new path for the server certificate. Include this only if you are updating the server certificate's path. This parameter allows (through its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! ( u0021) through the DEL character ( u007F), including most punctuation characters, digits, and upper and lowercased letters.", + "NewServerCertificateName": "The new name for the server certificate. Include this only if you are updating the server certificate's name. The name of the certificate cannot contain any spaces. This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-" +} +""" +UpdateServerCertificate(args) = iam("UpdateServerCertificate", args) + +""" + GetContextKeysForPrincipalPolicy() + +Gets a list of all of the context keys referenced in all the IAM policies that are attached to the specified IAM entity. The entity can be an IAM user, group, or role. If you specify a user, then the request also includes all of the policies attached to groups that the user is a member of. You can optionally include a list of one or more additional policies, specified as strings. If you want to include only a list of policies by string, use GetContextKeysForCustomPolicy instead. Note: This API discloses information about the permissions granted to other users. If you do not want users to see other user's permissions, then consider allowing them to use GetContextKeysForCustomPolicy instead. Context keys are variables maintained by AWS and its services that provide details about the context of an API query request. Context keys can be evaluated by testing against a value in an IAM policy. Use GetContextKeysForPrincipalPolicy to understand what key names and values you must supply when you call SimulatePrincipalPolicy. + +Required Parameters +{ + "PolicySourceArn": "The ARN of a user, group, or role whose policies contain the context keys that you want listed. If you specify a user, the list includes context keys that are found in all policies that are attached to the user. The list also includes all groups that the user is a member of. If you pick a group or a role, then it includes only those context keys that are found in policies attached to that entity. Note that all parameters are shown in unencoded form here for clarity, but must be URL encoded to be included as a part of a real HTML request. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference." +} + +Optional Parameters +{ + "PolicyInputList": "An optional list of additional policies for which you want the list of context keys that are referenced. The regex pattern used to validate this parameter is a string of characters consisting of the following: Any printable ASCII character ranging from the space character ( u0020) through the end of the ASCII character range The printable characters in the Basic Latin and Latin-1 Supplement character set (through u00FF) The special characters tab ( u0009), line feed ( u000A), and carriage return ( u000D) " +} +""" +GetContextKeysForPrincipalPolicy(args) = iam("GetContextKeysForPrincipalPolicy", args) + +""" + CreateRole() + +Creates a new role for your AWS account. For more information about roles, go to IAM Roles. For information about limitations on role names and the number of roles you can create, go to Limitations on IAM Entities in the IAM User Guide. + +Required Parameters +{ + "RoleName": "The name of the role to create. IAM user, group, role, and policy names must be unique within the account. Names are not distinguished by case. For example, you cannot create resources named both \"MyResource\" and \"myresource\".", + "AssumeRolePolicyDocument": "The trust relationship policy document that grants an entity permission to assume the role. In IAM, you must provide a JSON policy that has been converted to a string. However, for AWS CloudFormation templates formatted in YAML, you can provide the policy in JSON or YAML format. AWS CloudFormation always converts a YAML policy to JSON format before submitting it to IAM. The regex pattern used to validate this parameter is a string of characters consisting of the following: Any printable ASCII character ranging from the space character ( u0020) through the end of the ASCII character range The printable characters in the Basic Latin and Latin-1 Supplement character set (through u00FF) The special characters tab ( u0009), line feed ( u000A), and carriage return ( u000D) Upon success, the response includes the same trust policy in JSON format." +} + +Optional Parameters +{ + "PermissionsBoundary": "The ARN of the policy that is used to set the permissions boundary for the role.", + "Description": "A description of the role.", + "MaxSessionDuration": "The maximum session duration (in seconds) that you want to set for the specified role. If you do not specify a value for this setting, the default maximum of one hour is applied. This setting can have a value from 1 hour to 12 hours. Anyone who assumes the role from the AWS CLI or API can use the DurationSeconds API parameter or the duration-seconds CLI parameter to request a longer session. The MaxSessionDuration setting determines the maximum duration that can be requested using the DurationSeconds parameter. If users don't specify a value for the DurationSeconds parameter, their security credentials are valid for one hour by default. This applies when you use the AssumeRole* API operations or the assume-role* CLI operations but does not apply when you use those operations to create a console URL. For more information, see Using IAM Roles in the IAM User Guide.", + "Tags": "A list of tags that you want to attach to the newly created role. Each tag consists of a key name and an associated value. For more information about tagging, see Tagging IAM Identities in the IAM User Guide. If any one of the tags is invalid or if you exceed the allowed number of tags per role, then the entire request fails and the role is not created. ", + "Path": " The path to the role. For more information about paths, see IAM Identifiers in the IAM User Guide. This parameter is optional. If it is not included, it defaults to a slash (/). This parameter allows (through its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! ( u0021) through the DEL character ( u007F), including most punctuation characters, digits, and upper and lowercased letters." +} +""" +CreateRole(args) = iam("CreateRole", args) + +""" + GetUser() + +Retrieves information about the specified IAM user, including the user's creation date, path, unique ID, and ARN. If you do not specify a user name, IAM determines the user name implicitly based on the AWS access key ID used to sign the request to this API. + +Optional Parameters +{ + "UserName": "The name of the user to get information about. This parameter is optional. If it is not included, it defaults to the user making the request. This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-" +} +""" +GetUser() = iam("GetUser") +GetUser(args) = iam("GetUser", args) + +""" + DeleteInstanceProfile() + +Deletes the specified instance profile. The instance profile must not have an associated role. Make sure that you do not have any Amazon EC2 instances running with the instance profile you are about to delete. Deleting a role or instance profile that is associated with a running instance will break any applications running on the instance. For more information about instance profiles, go to About Instance Profiles. + +Required Parameters +{ + "InstanceProfileName": "The name of the instance profile to delete. This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-" +} +""" +DeleteInstanceProfile(args) = iam("DeleteInstanceProfile", args) + +""" + ListRoleTags() + +Lists the tags that are attached to the specified role. The returned list of tags is sorted by tag key. For more information about tagging, see Tagging IAM Identities in the IAM User Guide. + +Required Parameters +{ + "RoleName": "The name of the IAM role for which you want to see the list of tags. This parameter accepts (through its regex pattern) a string of characters that consist of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-" +} + +Optional Parameters +{ + "Marker": "Use this parameter only when paginating results and only after you receive a response indicating that the results are truncated. Set it to the value of the Marker element in the response that you received to indicate where the next call should start.", + "MaxItems": "(Optional) Use this only when paginating results to indicate the maximum number of items that you want in the response. If additional items exist beyond the maximum that you specify, the IsTruncated response element is true. If you do not include this parameter, it defaults to 100. Note that IAM might return fewer results, even when more results are available. In that case, the IsTruncated response element returns true, and Marker contains a value to include in the subsequent call that tells the service where to continue from." +} +""" +ListRoleTags(args) = iam("ListRoleTags", args) + +""" + ListServerCertificates() + +Lists the server certificates stored in IAM that have the specified path prefix. If none exist, the operation returns an empty list. You can paginate the results using the MaxItems and Marker parameters. For more information about working with server certificates, see Working with Server Certificates in the IAM User Guide. This topic also includes a list of AWS services that can use the server certificates that you manage with IAM. + +Optional Parameters +{ + "Marker": "Use this parameter only when paginating results and only after you receive a response indicating that the results are truncated. Set it to the value of the Marker element in the response that you received to indicate where the next call should start.", + "PathPrefix": " The path prefix for filtering the results. For example: /company/servercerts would get all server certificates for which the path starts with /company/servercerts. This parameter is optional. If it is not included, it defaults to a slash (/), listing all server certificates. This parameter allows (through its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! ( u0021) through the DEL character ( u007F), including most punctuation characters, digits, and upper and lowercased letters.", + "MaxItems": "Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true. If you do not include this parameter, the number of items defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true, and Marker contains a value to include in the subsequent call that tells the service where to continue from." +} +""" +ListServerCertificates() = iam("ListServerCertificates") +ListServerCertificates(args) = iam("ListServerCertificates", args) + +""" + DetachGroupPolicy() + +Removes the specified managed policy from the specified IAM group. A group can also have inline policies embedded with it. To delete an inline policy, use the DeleteGroupPolicy API. For information about policies, see Managed Policies and Inline Policies in the IAM User Guide. + +Required Parameters +{ + "PolicyArn": "The Amazon Resource Name (ARN) of the IAM policy you want to detach. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.", + "GroupName": "The name (friendly name, not ARN) of the IAM group to detach the policy from. This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-" +} +""" +DetachGroupPolicy(args) = iam("DetachGroupPolicy", args) + +""" + CreateGroup() + +Creates a new group. For information about the number of groups you can create, see Limitations on IAM Entities in the IAM User Guide. + +Required Parameters +{ + "GroupName": "The name of the group to create. Do not include the path in this value. IAM user, group, role, and policy names must be unique within the account. Names are not distinguished by case. For example, you cannot create resources named both \"MyResource\" and \"myresource\"." +} + +Optional Parameters +{ + "Path": " The path to the group. For more information about paths, see IAM Identifiers in the IAM User Guide. This parameter is optional. If it is not included, it defaults to a slash (/). This parameter allows (through its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! ( u0021) through the DEL character ( u007F), including most punctuation characters, digits, and upper and lowercased letters." +} +""" +CreateGroup(args) = iam("CreateGroup", args) + +""" + TagRole() + +Adds one or more tags to an IAM role. The role can be a regular role or a service-linked role. If a tag with the same key name already exists, then that tag is overwritten with the new value. A tag consists of a key name and an associated value. By assigning tags to your resources, you can do the following: Administrative grouping and discovery - Attach tags to resources to aid in organization and search. For example, you could search for all resources with the key name Project and the value MyImportantProject. Or search for all resources with the key name Cost Center and the value 41200. Access control - Reference tags in IAM user-based and resource-based policies. You can use tags to restrict access to only an IAM user or role that has a specified tag attached. You can also restrict access to only those resources that have a certain tag attached. For examples of policies that show how to use tags to control access, see Control Access Using IAM Tags in the IAM User Guide. Cost allocation - Use tags to help track which individuals and teams are using which AWS resources. Make sure that you have no invalid tags and that you do not exceed the allowed number of tags per role. In either case, the entire request fails and no tags are added to the role. AWS always interprets the tag Value as a single string. If you need to store an array, you can store comma-separated values in the string. However, you must interpret the value in your code. For more information about tagging, see Tagging IAM Identities in the IAM User Guide. + +Required Parameters +{ + "RoleName": "The name of the role that you want to add tags to. This parameter accepts (through its regex pattern) a string of characters that consist of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-", + "Tags": "The list of tags that you want to attach to the role. Each tag consists of a key name and an associated value. You can specify this with a JSON string." +} +""" +TagRole(args) = iam("TagRole", args) + +""" + UploadSSHPublicKey() + +Uploads an SSH public key and associates it with the specified IAM user. The SSH public key uploaded by this operation can be used only for authenticating the associated IAM user to an AWS CodeCommit repository. For more information about using SSH keys to authenticate to an AWS CodeCommit repository, see Set up AWS CodeCommit for SSH Connections in the AWS CodeCommit User Guide. + +Required Parameters +{ + "UserName": "The name of the IAM user to associate the SSH public key with. This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-", + "SSHPublicKeyBody": "The SSH public key. The public key must be encoded in ssh-rsa format or PEM format. The minimum bit-length of the public key is 2048 bits. For example, you can generate a 2048-bit key, and the resulting PEM file is 1679 bytes long. The regex pattern used to validate this parameter is a string of characters consisting of the following: Any printable ASCII character ranging from the space character ( u0020) through the end of the ASCII character range The printable characters in the Basic Latin and Latin-1 Supplement character set (through u00FF) The special characters tab ( u0009), line feed ( u000A), and carriage return ( u000D) " +} +""" +UploadSSHPublicKey(args) = iam("UploadSSHPublicKey", args) + +""" + DeleteVirtualMFADevice() + +Deletes a virtual MFA device. You must deactivate a user's virtual MFA device before you can delete it. For information about deactivating MFA devices, see DeactivateMFADevice. + +Required Parameters +{ + "SerialNumber": "The serial number that uniquely identifies the MFA device. For virtual MFA devices, the serial number is the same as the ARN. This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@:/-" +} +""" +DeleteVirtualMFADevice(args) = iam("DeleteVirtualMFADevice", args) + +""" + DeactivateMFADevice() + +Deactivates the specified MFA device and removes it from association with the user name for which it was originally enabled. For more information about creating and working with virtual MFA devices, go to Enabling a Virtual Multi-factor Authentication (MFA) Device in the IAM User Guide. + +Required Parameters +{ + "UserName": "The name of the user whose MFA device you want to deactivate. This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-", + "SerialNumber": "The serial number that uniquely identifies the MFA device. For virtual MFA devices, the serial number is the device ARN. This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@:/-" +} +""" +DeactivateMFADevice(args) = iam("DeactivateMFADevice", args) + +""" + GetServiceLastAccessedDetailsWithEntities() + +After you generate a group or policy report using the GenerateServiceLastAccessedDetails operation, you can use the JobId parameter in GetServiceLastAccessedDetailsWithEntities. This operation retrieves the status of your report job and a list of entities that could have used group or policy permissions to access the specified service. Group – For a group report, this operation returns a list of users in the group that could have used the group’s policies in an attempt to access the service. Policy – For a policy report, this operation returns a list of entities (users or roles) that could have used the policy in an attempt to access the service. You can also use this operation for user or role reports to retrieve details about those entities. If the operation fails, the GetServiceLastAccessedDetailsWithEntities operation returns the reason that it failed. By default, the list of associated entities is sorted by date, with the most recent access listed first. + +Required Parameters +{ + "ServiceNamespace": "The service namespace for an AWS service. Provide the service namespace to learn when the IAM entity last attempted to access the specified service. To learn the service namespace for a service, go to Actions, Resources, and Condition Keys for AWS Services in the IAM User Guide. Choose the name of the service to view details for that service. In the first paragraph, find the service prefix. For example, (service prefix: a4b). For more information about service namespaces, see AWS Service Namespaces in the AWS General Reference.", + "JobId": "The ID of the request generated by the GenerateServiceLastAccessedDetails operation." +} + +Optional Parameters +{ + "Marker": "Use this parameter only when paginating results and only after you receive a response indicating that the results are truncated. Set it to the value of the Marker element in the response that you received to indicate where the next call should start.", + "MaxItems": "Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true. If you do not include this parameter, the number of items defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true, and Marker contains a value to include in the subsequent call that tells the service where to continue from." +} +""" +GetServiceLastAccessedDetailsWithEntities(args) = iam("GetServiceLastAccessedDetailsWithEntities", args) + +""" + CreateServiceSpecificCredential() + +Generates a set of credentials consisting of a user name and password that can be used to access the service specified in the request. These credentials are generated by IAM, and can be used only for the specified service. You can have a maximum of two sets of service-specific credentials for each supported service per user. The only supported service at this time is AWS CodeCommit. You can reset the password to a new service-generated value by calling ResetServiceSpecificCredential. For more information about service-specific credentials, see Using IAM with AWS CodeCommit: Git Credentials, SSH Keys, and AWS Access Keys in the IAM User Guide. + +Required Parameters +{ + "UserName": "The name of the IAM user that is to be associated with the credentials. The new service-specific credentials have the same permissions as the associated user except that they can be used only to access the specified service. This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-", + "ServiceName": "The name of the AWS service that is to be associated with the credentials. The service you specify here is the only service that can be accessed using these credentials." +} +""" +CreateServiceSpecificCredential(args) = iam("CreateServiceSpecificCredential", args) + +""" + DeleteOpenIDConnectProvider() + +Deletes an OpenID Connect identity provider (IdP) resource object in IAM. Deleting an IAM OIDC provider resource does not update any roles that reference the provider as a principal in their trust policies. Any attempt to assume a role that references a deleted provider fails. This operation is idempotent; it does not fail or return an error if you call the operation for a provider that does not exist. + +Required Parameters +{ + "OpenIDConnectProviderArn": "The Amazon Resource Name (ARN) of the IAM OpenID Connect provider resource object to delete. You can get a list of OpenID Connect provider resource ARNs by using the ListOpenIDConnectProviders operation." +} +""" +DeleteOpenIDConnectProvider(args) = iam("DeleteOpenIDConnectProvider", args) + +""" + DeleteLoginProfile() + +Deletes the password for the specified IAM user, which terminates the user's ability to access AWS services through the AWS Management Console. Deleting a user's password does not prevent a user from accessing AWS through the command line interface or the API. To prevent all user access, you must also either make any access keys inactive or delete them. For more information about making keys inactive or deleting them, see UpdateAccessKey and DeleteAccessKey. + +Required Parameters +{ + "UserName": "The name of the user whose password you want to delete. This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-" +} +""" +DeleteLoginProfile(args) = iam("DeleteLoginProfile", args) + +""" + SimulateCustomPolicy() + +Simulate how a set of IAM policies and optionally a resource-based policy works with a list of API operations and AWS resources to determine the policies' effective permissions. The policies are provided as strings. The simulation does not perform the API operations; it only checks the authorization to determine if the simulated policies allow or deny the operations. If you want to simulate existing policies that are attached to an IAM user, group, or role, use SimulatePrincipalPolicy instead. Context keys are variables that are maintained by AWS and its services and which provide details about the context of an API query request. You can use the Condition element of an IAM policy to evaluate context keys. To get the list of context keys that the policies require for correct simulation, use GetContextKeysForCustomPolicy. If the output is long, you can use MaxItems and Marker parameters to paginate the results. + +Required Parameters +{ + "PolicyInputList": "A list of policy documents to include in the simulation. Each document is specified as a string containing the complete, valid JSON text of an IAM policy. Do not include any resource-based policies in this parameter. Any resource-based policy must be submitted with the ResourcePolicy parameter. The policies cannot be \"scope-down\" policies, such as you could include in a call to GetFederationToken or one of the AssumeRole API operations. In other words, do not use policies designed to restrict what a user can do while using the temporary credentials. The regex pattern used to validate this parameter is a string of characters consisting of the following: Any printable ASCII character ranging from the space character ( u0020) through the end of the ASCII character range The printable characters in the Basic Latin and Latin-1 Supplement character set (through u00FF) The special characters tab ( u0009), line feed ( u000A), and carriage return ( u000D) ", + "ActionNames": "A list of names of API operations to evaluate in the simulation. Each operation is evaluated against each resource. Each operation must include the service identifier, such as iam:CreateUser. This operation does not support using wildcards (*) in an action name." +} + +Optional Parameters +{ + "ResourceOwner": "An ARN representing the AWS account ID that specifies the owner of any simulated resource that does not identify its owner in the resource ARN. Examples of resource ARNs include an S3 bucket or object. If ResourceOwner is specified, it is also used as the account owner of any ResourcePolicy included in the simulation. If the ResourceOwner parameter is not specified, then the owner of the resources and the resource policy defaults to the account of the identity provided in CallerArn. This parameter is required only if you specify a resource-based policy and account that owns the resource is different from the account that owns the simulated calling user CallerArn. The ARN for an account uses the following syntax: arn:aws:iam::AWS-account-ID:root. For example, to represent the account with the 112233445566 ID, use the following ARN: arn:aws:iam::112233445566-ID:root. ", + "CallerArn": "The ARN of the IAM user that you want to use as the simulated caller of the API operations. CallerArn is required if you include a ResourcePolicy so that the policy's Principal element has a value to use in evaluating the policy. You can specify only the ARN of an IAM user. You cannot specify the ARN of an assumed role, federated user, or a service principal.", + "Marker": "Use this parameter only when paginating results and only after you receive a response indicating that the results are truncated. Set it to the value of the Marker element in the response that you received to indicate where the next call should start.", + "ResourceArns": "A list of ARNs of AWS resources to include in the simulation. If this parameter is not provided, then the value defaults to * (all resources). Each API in the ActionNames parameter is evaluated for each resource in this list. The simulation determines the access result (allowed or denied) of each combination and reports it in the response. The simulation does not automatically retrieve policies for the specified resources. If you want to include a resource policy in the simulation, then you must include the policy as a string in the ResourcePolicy parameter. If you include a ResourcePolicy, then it must be applicable to all of the resources included in the simulation or you receive an invalid input error. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.", + "ContextEntries": "A list of context keys and corresponding values for the simulation to use. Whenever a context key is evaluated in one of the simulated IAM permissions policies, the corresponding value is supplied.", + "MaxItems": "Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true. If you do not include this parameter, the number of items defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true, and Marker contains a value to include in the subsequent call that tells the service where to continue from.", + "ResourceHandlingOption": "Specifies the type of simulation to run. Different API operations that support resource-based policies require different combinations of resources. By specifying the type of simulation to run, you enable the policy simulator to enforce the presence of the required resources to ensure reliable simulation results. If your simulation does not match one of the following scenarios, then you can omit this parameter. The following list shows each of the supported scenario values and the resources that you must define to run the simulation. Each of the EC2 scenarios requires that you specify instance, image, and security-group resources. If your scenario includes an EBS volume, then you must specify that volume as a resource. If the EC2 scenario includes VPC, then you must supply the network-interface resource. If it includes an IP subnet, then you must specify the subnet resource. For more information on the EC2 scenario options, see Supported Platforms in the Amazon EC2 User Guide. EC2-Classic-InstanceStore instance, image, security-group EC2-Classic-EBS instance, image, security-group, volume EC2-VPC-InstanceStore instance, image, security-group, network-interface EC2-VPC-InstanceStore-Subnet instance, image, security-group, network-interface, subnet EC2-VPC-EBS instance, image, security-group, network-interface, volume EC2-VPC-EBS-Subnet instance, image, security-group, network-interface, subnet, volume ", + "ResourcePolicy": "A resource-based policy to include in the simulation provided as a string. Each resource in the simulation is treated as if it had this policy attached. You can include only one resource-based policy in a simulation. The regex pattern used to validate this parameter is a string of characters consisting of the following: Any printable ASCII character ranging from the space character ( u0020) through the end of the ASCII character range The printable characters in the Basic Latin and Latin-1 Supplement character set (through u00FF) The special characters tab ( u0009), line feed ( u000A), and carriage return ( u000D) ", + "PermissionsBoundaryPolicyInputList": "The IAM permissions boundary policy to simulate. The permissions boundary sets the maximum permissions that an IAM entity can have. You can input only one permissions boundary when you pass a policy to this operation. For more information about permissions boundaries, see Permissions Boundaries for IAM Entities in the IAM User Guide. The policy input is specified as a string that contains the complete, valid JSON text of a permissions boundary policy. The regex pattern used to validate this parameter is a string of characters consisting of the following: Any printable ASCII character ranging from the space character ( u0020) through the end of the ASCII character range The printable characters in the Basic Latin and Latin-1 Supplement character set (through u00FF) The special characters tab ( u0009), line feed ( u000A), and carriage return ( u000D) " +} +""" +SimulateCustomPolicy(args) = iam("SimulateCustomPolicy", args) + +""" + UploadServerCertificate() + +Uploads a server certificate entity for the AWS account. The server certificate entity includes a public key certificate, a private key, and an optional certificate chain, which should all be PEM-encoded. We recommend that you use AWS Certificate Manager to provision, manage, and deploy your server certificates. With ACM you can request a certificate, deploy it to AWS resources, and let ACM handle certificate renewals for you. Certificates provided by ACM are free. For more information about using ACM, see the AWS Certificate Manager User Guide. For more information about working with server certificates, see Working with Server Certificates in the IAM User Guide. This topic includes a list of AWS services that can use the server certificates that you manage with IAM. For information about the number of server certificates you can upload, see Limitations on IAM Entities and Objects in the IAM User Guide. Because the body of the public key certificate, private key, and the certificate chain can be large, you should use POST rather than GET when calling UploadServerCertificate. For information about setting up signatures and authorization through the API, go to Signing AWS API Requests in the AWS General Reference. For general information about using the Query API with IAM, go to Calling the API by Making HTTP Query Requests in the IAM User Guide. + +Required Parameters +{ + "ServerCertificateName": "The name for the server certificate. Do not include the path in this value. The name of the certificate cannot contain any spaces. This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-", + "CertificateBody": "The contents of the public key certificate in PEM-encoded format. The regex pattern used to validate this parameter is a string of characters consisting of the following: Any printable ASCII character ranging from the space character ( u0020) through the end of the ASCII character range The printable characters in the Basic Latin and Latin-1 Supplement character set (through u00FF) The special characters tab ( u0009), line feed ( u000A), and carriage return ( u000D) ", + "PrivateKey": "The contents of the private key in PEM-encoded format. The regex pattern used to validate this parameter is a string of characters consisting of the following: Any printable ASCII character ranging from the space character ( u0020) through the end of the ASCII character range The printable characters in the Basic Latin and Latin-1 Supplement character set (through u00FF) The special characters tab ( u0009), line feed ( u000A), and carriage return ( u000D) " +} + +Optional Parameters +{ + "CertificateChain": "The contents of the certificate chain. This is typically a concatenation of the PEM-encoded public key certificates of the chain. The regex pattern used to validate this parameter is a string of characters consisting of the following: Any printable ASCII character ranging from the space character ( u0020) through the end of the ASCII character range The printable characters in the Basic Latin and Latin-1 Supplement character set (through u00FF) The special characters tab ( u0009), line feed ( u000A), and carriage return ( u000D) ", + "Path": "The path for the server certificate. For more information about paths, see IAM Identifiers in the IAM User Guide. This parameter is optional. If it is not included, it defaults to a slash (/). This parameter allows (through its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! ( u0021) through the DEL character ( u007F), including most punctuation characters, digits, and upper and lowercased letters. If you are uploading a server certificate specifically for use with Amazon CloudFront distributions, you must specify a path using the path parameter. The path must begin with /cloudfront and must include a trailing slash (for example, /cloudfront/test/). " +} +""" +UploadServerCertificate(args) = iam("UploadServerCertificate", args) + +""" + GetServiceLinkedRoleDeletionStatus() + +Retrieves the status of your service-linked role deletion. After you use the DeleteServiceLinkedRole API operation to submit a service-linked role for deletion, you can use the DeletionTaskId parameter in GetServiceLinkedRoleDeletionStatus to check the status of the deletion. If the deletion fails, this operation returns the reason that it failed, if that information is returned by the service. + +Required Parameters +{ + "DeletionTaskId": "The deletion task identifier. This identifier is returned by the DeleteServiceLinkedRole operation in the format task/aws-service-role/<service-principal-name>/<role-name>/<task-uuid>." +} +""" +GetServiceLinkedRoleDeletionStatus(args) = iam("GetServiceLinkedRoleDeletionStatus", args) + +""" + ListAttachedUserPolicies() + +Lists all managed policies that are attached to the specified IAM user. An IAM user can also have inline policies embedded with it. To list the inline policies for a user, use the ListUserPolicies API. For information about policies, see Managed Policies and Inline Policies in the IAM User Guide. You can paginate the results using the MaxItems and Marker parameters. You can use the PathPrefix parameter to limit the list of policies to only those matching the specified path prefix. If there are no policies attached to the specified group (or none that match the specified path prefix), the operation returns an empty list. + +Required Parameters +{ + "UserName": "The name (friendly name, not ARN) of the user to list attached policies for. This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-" +} + +Optional Parameters +{ + "Marker": "Use this parameter only when paginating results and only after you receive a response indicating that the results are truncated. Set it to the value of the Marker element in the response that you received to indicate where the next call should start.", + "PathPrefix": "The path prefix for filtering the results. This parameter is optional. If it is not included, it defaults to a slash (/), listing all policies. This parameter allows (through its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! ( u0021) through the DEL character ( u007F), including most punctuation characters, digits, and upper and lowercased letters.", + "MaxItems": "Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true. If you do not include this parameter, the number of items defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true, and Marker contains a value to include in the subsequent call that tells the service where to continue from." +} +""" +ListAttachedUserPolicies(args) = iam("ListAttachedUserPolicies", args) + +""" + DeletePolicyVersion() + +Deletes the specified version from the specified managed policy. You cannot delete the default version from a policy using this API. To delete the default version from a policy, use DeletePolicy. To find out which version of a policy is marked as the default version, use ListPolicyVersions. For information about versions for managed policies, see Versioning for Managed Policies in the IAM User Guide. + +Required Parameters +{ + "PolicyArn": "The Amazon Resource Name (ARN) of the IAM policy from which you want to delete a version. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.", + "VersionId": "The policy version to delete. This parameter allows (through its regex pattern) a string of characters that consists of the lowercase letter 'v' followed by one or two digits, and optionally followed by a period '.' and a string of letters and digits. For more information about managed policy versions, see Versioning for Managed Policies in the IAM User Guide." +} +""" +DeletePolicyVersion(args) = iam("DeletePolicyVersion", args) + +""" + AttachUserPolicy() + +Attaches the specified managed policy to the specified user. You use this API to attach a managed policy to a user. To embed an inline policy in a user, use PutUserPolicy. For more information about policies, see Managed Policies and Inline Policies in the IAM User Guide. + +Required Parameters +{ + "UserName": "The name (friendly name, not ARN) of the IAM user to attach the policy to. This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-", + "PolicyArn": "The Amazon Resource Name (ARN) of the IAM policy you want to attach. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference." +} +""" +AttachUserPolicy(args) = iam("AttachUserPolicy", args) + +""" + ListAccessKeys() + +Returns information about the access key IDs associated with the specified IAM user. If there is none, the operation returns an empty list. Although each user is limited to a small number of keys, you can still paginate the results using the MaxItems and Marker parameters. If the UserName field is not specified, the user name is determined implicitly based on the AWS access key ID used to sign the request. This operation works for access keys under the AWS account. Consequently, you can use this operation to manage AWS account root user credentials even if the AWS account has no associated users. To ensure the security of your AWS account, the secret access key is accessible only during key and user creation. + +Optional Parameters +{ + "UserName": "The name of the user. This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-", + "Marker": "Use this parameter only when paginating results and only after you receive a response indicating that the results are truncated. Set it to the value of the Marker element in the response that you received to indicate where the next call should start.", + "MaxItems": "Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true. If you do not include this parameter, the number of items defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true, and Marker contains a value to include in the subsequent call that tells the service where to continue from." +} +""" +ListAccessKeys() = iam("ListAccessKeys") +ListAccessKeys(args) = iam("ListAccessKeys", args) + +""" + GetRolePolicy() + +Retrieves the specified inline policy document that is embedded with the specified IAM role. Policies returned by this API are URL-encoded compliant with RFC 3986. You can use a URL decoding method to convert the policy back to plain JSON text. For example, if you use Java, you can use the decode method of the java.net.URLDecoder utility class in the Java SDK. Other languages and SDKs provide similar functionality. An IAM role can also have managed policies attached to it. To retrieve a managed policy document that is attached to a role, use GetPolicy to determine the policy's default version, then use GetPolicyVersion to retrieve the policy document. For more information about policies, see Managed Policies and Inline Policies in the IAM User Guide. For more information about roles, see Using Roles to Delegate Permissions and Federate Identities. + +Required Parameters +{ + "PolicyName": "The name of the policy document to get. This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-", + "RoleName": "The name of the role associated with the policy. This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-" +} +""" +GetRolePolicy(args) = iam("GetRolePolicy", args) + +""" + GetServiceLastAccessedDetails() + +Retrieves a service last accessed report that was created using the GenerateServiceLastAccessedDetails operation. You can use the JobId parameter in GetServiceLastAccessedDetails to retrieve the status of your report job. When the report is complete, you can retrieve the generated report. The report includes a list of AWS services that the resource (user, group, role, or managed policy) can access. Service last accessed data does not use other policy types when determining whether a resource could access a service. These other policy types include resource-based policies, access control lists, AWS Organizations policies, IAM permissions boundaries, and AWS STS assume role policies. It only applies permissions policy logic. For more about the evaluation of policy types, see Evaluating Policies in the IAM User Guide. For each service that the resource could access using permissions policies, the operation returns details about the most recent access attempt. If there was no attempt, the service is listed without details about the most recent attempt to access the service. If the operation fails, the GetServiceLastAccessedDetails operation returns the reason that it failed. The GetServiceLastAccessedDetails operation returns a list of services. This list includes the number of entities that have attempted to access the service and the date and time of the last attempt. It also returns the ARN of the following entity, depending on the resource ARN that you used to generate the report: User – Returns the user ARN that you used to generate the report Group – Returns the ARN of the group member (user) that last attempted to access the service Role – Returns the role ARN that you used to generate the report Policy – Returns the ARN of the user or role that last used the policy to attempt to access the service By default, the list is sorted by service namespace. + +Required Parameters +{ + "JobId": "The ID of the request generated by the GenerateServiceLastAccessedDetails operation." +} + +Optional Parameters +{ + "Marker": "Use this parameter only when paginating results and only after you receive a response indicating that the results are truncated. Set it to the value of the Marker element in the response that you received to indicate where the next call should start.", + "MaxItems": "Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true. If you do not include this parameter, the number of items defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true, and Marker contains a value to include in the subsequent call that tells the service where to continue from." +} +""" +GetServiceLastAccessedDetails(args) = iam("GetServiceLastAccessedDetails", args) + +""" + UpdateSSHPublicKey() + +Sets the status of an IAM user's SSH public key to active or inactive. SSH public keys that are inactive cannot be used for authentication. This operation can be used to disable a user's SSH public key as part of a key rotation work flow. The SSH public key affected by this operation is used only for authenticating the associated IAM user to an AWS CodeCommit repository. For more information about using SSH keys to authenticate to an AWS CodeCommit repository, see Set up AWS CodeCommit for SSH Connections in the AWS CodeCommit User Guide. + +Required Parameters +{ + "UserName": "The name of the IAM user associated with the SSH public key. This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-", + "Status": "The status to assign to the SSH public key. Active means that the key can be used for authentication with an AWS CodeCommit repository. Inactive means that the key cannot be used.", + "SSHPublicKeyId": "The unique identifier for the SSH public key. This parameter allows (through its regex pattern) a string of characters that can consist of any upper or lowercased letter or digit." +} +""" +UpdateSSHPublicKey(args) = iam("UpdateSSHPublicKey", args) + +""" + UpdateUser() + +Updates the name and/or the path of the specified IAM user. You should understand the implications of changing an IAM user's path or name. For more information, see Renaming an IAM User and Renaming an IAM Group in the IAM User Guide. To change a user name, the requester must have appropriate permissions on both the source object and the target object. For example, to change Bob to Robert, the entity making the request must have permission on Bob and Robert, or must have permission on all (*). For more information about permissions, see Permissions and Policies. + +Required Parameters +{ + "UserName": "Name of the user to update. If you're changing the name of the user, this is the original user name. This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-" +} + +Optional Parameters +{ + "NewPath": "New path for the IAM user. Include this parameter only if you're changing the user's path. This parameter allows (through its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! ( u0021) through the DEL character ( u007F), including most punctuation characters, digits, and upper and lowercased letters.", + "NewUserName": "New name for the user. Include this parameter only if you're changing the user's name. IAM user, group, role, and policy names must be unique within the account. Names are not distinguished by case. For example, you cannot create resources named both \"MyResource\" and \"myresource\"." +} +""" +UpdateUser(args) = iam("UpdateUser", args) + +""" + CreateOpenIDConnectProvider() + +Creates an IAM entity to describe an identity provider (IdP) that supports OpenID Connect (OIDC). The OIDC provider that you create with this operation can be used as a principal in a role's trust policy. Such a policy establishes a trust relationship between AWS and the OIDC provider. When you create the IAM OIDC provider, you specify the following: The URL of the OIDC identity provider (IdP) to trust A list of client IDs (also known as audiences) that identify the application or applications that are allowed to authenticate using the OIDC provider A list of thumbprints of one or more server certificates that the IdP uses You get all of this information from the OIDC IdP that you want to use to access AWS. The trust for the OIDC provider is derived from the IAM provider that this operation creates. Therefore, it is best to limit access to the CreateOpenIDConnectProvider operation to highly privileged users. + +Required Parameters +{ + "Url": "The URL of the identity provider. The URL must begin with https:// and should correspond to the iss claim in the provider's OpenID Connect ID tokens. Per the OIDC standard, path components are allowed but query parameters are not. Typically the URL consists of only a hostname, like https://server.example.org or https://example.com. You cannot register the same provider multiple times in a single AWS account. If you try to submit a URL that has already been used for an OpenID Connect provider in the AWS account, you will get an error.", + "ThumbprintList": "A list of server certificate thumbprints for the OpenID Connect (OIDC) identity provider's server certificates. Typically this list includes only one entry. However, IAM lets you have up to five thumbprints for an OIDC provider. This lets you maintain multiple thumbprints if the identity provider is rotating certificates. The server certificate thumbprint is the hex-encoded SHA-1 hash value of the X.509 certificate used by the domain where the OpenID Connect provider makes its keys available. It is always a 40-character string. You must provide at least one thumbprint when creating an IAM OIDC provider. For example, assume that the OIDC provider is server.example.com and the provider stores its keys at https://keys.server.example.com/openid-connect. In that case, the thumbprint string would be the hex-encoded SHA-1 hash value of the certificate used by https://keys.server.example.com. For more information about obtaining the OIDC provider's thumbprint, see Obtaining the Thumbprint for an OpenID Connect Provider in the IAM User Guide." +} + +Optional Parameters +{ + "ClientIDList": "A list of client IDs (also known as audiences). When a mobile or web app registers with an OpenID Connect provider, they establish a value that identifies the application. (This is the value that's sent as the client_id parameter on OAuth requests.) You can register multiple client IDs with the same provider. For example, you might have multiple applications that use the same OIDC provider. You cannot register more than 100 client IDs with a single IAM OIDC provider. There is no defined format for a client ID. The CreateOpenIDConnectProviderRequest operation accepts client IDs up to 255 characters long." +} +""" +CreateOpenIDConnectProvider(args) = iam("CreateOpenIDConnectProvider", args) + +""" + ListPoliciesGrantingServiceAccess() + +Retrieves a list of policies that the IAM identity (user, group, or role) can use to access each specified service. This operation does not use other policy types when determining whether a resource could access a service. These other policy types include resource-based policies, access control lists, AWS Organizations policies, IAM permissions boundaries, and AWS STS assume role policies. It only applies permissions policy logic. For more about the evaluation of policy types, see Evaluating Policies in the IAM User Guide. The list of policies returned by the operation depends on the ARN of the identity that you provide. User – The list of policies includes the managed and inline policies that are attached to the user directly. The list also includes any additional managed and inline policies that are attached to the group to which the user belongs. Group – The list of policies includes only the managed and inline policies that are attached to the group directly. Policies that are attached to the group’s user are not included. Role – The list of policies includes only the managed and inline policies that are attached to the role. For each managed policy, this operation returns the ARN and policy name. For each inline policy, it returns the policy name and the entity to which it is attached. Inline policies do not have an ARN. For more information about these policy types, see Managed Policies and Inline Policies in the IAM User Guide. Policies that are attached to users and roles as permissions boundaries are not returned. To view which managed policy is currently used to set the permissions boundary for a user or role, use the GetUser or GetRole operations. + +Required Parameters +{ + "Arn": "The ARN of the IAM identity (user, group, or role) whose policies you want to list.", + "ServiceNamespaces": "The service namespace for the AWS services whose policies you want to list. To learn the service namespace for a service, go to Actions, Resources, and Condition Keys for AWS Services in the IAM User Guide. Choose the name of the service to view details for that service. In the first paragraph, find the service prefix. For example, (service prefix: a4b). For more information about service namespaces, see AWS Service Namespaces in the AWS General Reference." +} + +Optional Parameters +{ + "Marker": "Use this parameter only when paginating results and only after you receive a response indicating that the results are truncated. Set it to the value of the Marker element in the response that you received to indicate where the next call should start." +} +""" +ListPoliciesGrantingServiceAccess(args) = iam("ListPoliciesGrantingServiceAccess", args) + +""" + DeleteServerCertificate() + +Deletes the specified server certificate. For more information about working with server certificates, see Working with Server Certificates in the IAM User Guide. This topic also includes a list of AWS services that can use the server certificates that you manage with IAM. If you are using a server certificate with Elastic Load Balancing, deleting the certificate could have implications for your application. If Elastic Load Balancing doesn't detect the deletion of bound certificates, it may continue to use the certificates. This could cause Elastic Load Balancing to stop accepting traffic. We recommend that you remove the reference to the certificate from Elastic Load Balancing before using this command to delete the certificate. For more information, go to DeleteLoadBalancerListeners in the Elastic Load Balancing API Reference. + +Required Parameters +{ + "ServerCertificateName": "The name of the server certificate you want to delete. This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-" +} +""" +DeleteServerCertificate(args) = iam("DeleteServerCertificate", args) + +""" + DeleteServiceLinkedRole() + +Submits a service-linked role deletion request and returns a DeletionTaskId, which you can use to check the status of the deletion. Before you call this operation, confirm that the role has no active sessions and that any resources used by the role in the linked service are deleted. If you call this operation more than once for the same service-linked role and an earlier deletion task is not complete, then the DeletionTaskId of the earlier request is returned. If you submit a deletion request for a service-linked role whose linked service is still accessing a resource, then the deletion task fails. If it fails, the GetServiceLinkedRoleDeletionStatus API operation returns the reason for the failure, usually including the resources that must be deleted. To delete the service-linked role, you must first remove those resources from the linked service and then submit the deletion request again. Resources are specific to the service that is linked to the role. For more information about removing resources from a service, see the AWS documentation for your service. For more information about service-linked roles, see Roles Terms and Concepts: AWS Service-Linked Role in the IAM User Guide. + +Required Parameters +{ + "RoleName": "The name of the service-linked role to be deleted." +} +""" +DeleteServiceLinkedRole(args) = iam("DeleteServiceLinkedRole", args) + +""" + DeleteSigningCertificate() + +Deletes a signing certificate associated with the specified IAM user. If you do not specify a user name, IAM determines the user name implicitly based on the AWS access key ID signing the request. This operation works for access keys under the AWS account. Consequently, you can use this operation to manage AWS account root user credentials even if the AWS account has no associated IAM users. + +Required Parameters +{ + "CertificateId": "The ID of the signing certificate to delete. The format of this parameter, as described by its regex pattern, is a string of characters that can be upper- or lower-cased letters or digits." +} + +Optional Parameters +{ + "UserName": "The name of the user the signing certificate belongs to. This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-" +} +""" +DeleteSigningCertificate(args) = iam("DeleteSigningCertificate", args) + +""" + GetServerCertificate() + +Retrieves information about the specified server certificate stored in IAM. For more information about working with server certificates, see Working with Server Certificates in the IAM User Guide. This topic includes a list of AWS services that can use the server certificates that you manage with IAM. + +Required Parameters +{ + "ServerCertificateName": "The name of the server certificate you want to retrieve information about. This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-" +} +""" +GetServerCertificate(args) = iam("GetServerCertificate", args) + +""" + UpdateRole() + +Updates the description or maximum session duration setting of a role. + +Required Parameters +{ + "RoleName": "The name of the role that you want to modify." +} + +Optional Parameters +{ + "Description": "The new description that you want to apply to the specified role.", + "MaxSessionDuration": "The maximum session duration (in seconds) that you want to set for the specified role. If you do not specify a value for this setting, the default maximum of one hour is applied. This setting can have a value from 1 hour to 12 hours. Anyone who assumes the role from the AWS CLI or API can use the DurationSeconds API parameter or the duration-seconds CLI parameter to request a longer session. The MaxSessionDuration setting determines the maximum duration that can be requested using the DurationSeconds parameter. If users don't specify a value for the DurationSeconds parameter, their security credentials are valid for one hour by default. This applies when you use the AssumeRole* API operations or the assume-role* CLI operations but does not apply when you use those operations to create a console URL. For more information, see Using IAM Roles in the IAM User Guide." +} +""" +UpdateRole(args) = iam("UpdateRole", args) + +""" + DeleteGroupPolicy() + +Deletes the specified inline policy that is embedded in the specified IAM group. A group can also have managed policies attached to it. To detach a managed policy from a group, use DetachGroupPolicy. For more information about policies, refer to Managed Policies and Inline Policies in the IAM User Guide. + +Required Parameters +{ + "PolicyName": "The name identifying the policy document to delete. This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-", + "GroupName": "The name (friendly name, not ARN) identifying the group that the policy is embedded in. This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-" +} +""" +DeleteGroupPolicy(args) = iam("DeleteGroupPolicy", args) + +""" + AttachGroupPolicy() + +Attaches the specified managed policy to the specified IAM group. You use this API to attach a managed policy to a group. To embed an inline policy in a group, use PutGroupPolicy. For more information about policies, see Managed Policies and Inline Policies in the IAM User Guide. + +Required Parameters +{ + "PolicyArn": "The Amazon Resource Name (ARN) of the IAM policy you want to attach. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.", + "GroupName": "The name (friendly name, not ARN) of the group to attach the policy to. This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-" +} +""" +AttachGroupPolicy(args) = iam("AttachGroupPolicy", args) + +""" + ListServiceSpecificCredentials() + +Returns information about the service-specific credentials associated with the specified IAM user. If none exists, the operation returns an empty list. The service-specific credentials returned by this operation are used only for authenticating the IAM user to a specific service. For more information about using service-specific credentials to authenticate to an AWS service, see Set Up service-specific credentials in the AWS CodeCommit User Guide. + +Optional Parameters +{ + "UserName": "The name of the user whose service-specific credentials you want information about. If this value is not specified, then the operation assumes the user whose credentials are used to call the operation. This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-", + "ServiceName": "Filters the returned results to only those for the specified AWS service. If not specified, then AWS returns service-specific credentials for all services." +} +""" +ListServiceSpecificCredentials() = iam("ListServiceSpecificCredentials") +ListServiceSpecificCredentials(args) = iam("ListServiceSpecificCredentials", args) + +""" + GetOrganizationsAccessReport() + +Retrieves the service last accessed data report for AWS Organizations that was previously generated using the GenerateOrganizationsAccessReport operation. This operation retrieves the status of your report job and the report contents. Depending on the parameters that you passed when you generated the report, the data returned could include different information. For details, see GenerateOrganizationsAccessReport. To call this operation, you must be signed in to the master account in your organization. SCPs must be enabled for your organization root. You must have permissions to perform this operation. For more information, see Refining Permissions Using Service Last Accessed Data in the IAM User Guide. For each service that principals in an account (root users, IAM users, or IAM roles) could access using SCPs, the operation returns details about the most recent access attempt. If there was no attempt, the service is listed without details about the most recent attempt to access the service. If the operation fails, it returns the reason that it failed. By default, the list is sorted by service namespace. + +Required Parameters +{ + "JobId": "The identifier of the request generated by the GenerateOrganizationsAccessReport operation." +} + +Optional Parameters +{ + "Marker": "Use this parameter only when paginating results and only after you receive a response indicating that the results are truncated. Set it to the value of the Marker element in the response that you received to indicate where the next call should start.", + "MaxItems": "Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true. If you do not include this parameter, the number of items defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true, and Marker contains a value to include in the subsequent call that tells the service where to continue from.", + "SortKey": "The key that is used to sort the results. If you choose the namespace key, the results are returned in alphabetical order. If you choose the time key, the results are sorted numerically by the date and time." +} +""" +GetOrganizationsAccessReport(args) = iam("GetOrganizationsAccessReport", args) + +""" + ListGroupsForUser() + +Lists the IAM groups that the specified IAM user belongs to. You can paginate the results using the MaxItems and Marker parameters. + +Required Parameters +{ + "UserName": "The name of the user to list groups for. This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-" +} + +Optional Parameters +{ + "Marker": "Use this parameter only when paginating results and only after you receive a response indicating that the results are truncated. Set it to the value of the Marker element in the response that you received to indicate where the next call should start.", + "MaxItems": "Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true. If you do not include this parameter, the number of items defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true, and Marker contains a value to include in the subsequent call that tells the service where to continue from." +} +""" +ListGroupsForUser(args) = iam("ListGroupsForUser", args) + +""" + GetCredentialReport() + + Retrieves a credential report for the AWS account. For more information about the credential report, see Getting Credential Reports in the IAM User Guide. +""" +GetCredentialReport() = iam("GetCredentialReport") +GetCredentialReport(args) = iam("GetCredentialReport", args) + +""" + ListUserPolicies() + +Lists the names of the inline policies embedded in the specified IAM user. An IAM user can also have managed policies attached to it. To list the managed policies that are attached to a user, use ListAttachedUserPolicies. For more information about policies, see Managed Policies and Inline Policies in the IAM User Guide. You can paginate the results using the MaxItems and Marker parameters. If there are no inline policies embedded with the specified user, the operation returns an empty list. + +Required Parameters +{ + "UserName": "The name of the user to list policies for. This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-" +} + +Optional Parameters +{ + "Marker": "Use this parameter only when paginating results and only after you receive a response indicating that the results are truncated. Set it to the value of the Marker element in the response that you received to indicate where the next call should start.", + "MaxItems": "Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true. If you do not include this parameter, the number of items defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true, and Marker contains a value to include in the subsequent call that tells the service where to continue from." +} +""" +ListUserPolicies(args) = iam("ListUserPolicies", args) + +""" + PutUserPermissionsBoundary() + +Adds or updates the policy that is specified as the IAM user's permissions boundary. You can use an AWS managed policy or a customer managed policy to set the boundary for a user. Use the boundary to control the maximum permissions that the user can have. Setting a permissions boundary is an advanced feature that can affect the permissions for the user. Policies that are used as permissions boundaries do not provide permissions. You must also attach a permissions policy to the user. To learn how the effective permissions for a user are evaluated, see IAM JSON Policy Evaluation Logic in the IAM User Guide. + +Required Parameters +{ + "UserName": "The name (friendly name, not ARN) of the IAM user for which you want to set the permissions boundary.", + "PermissionsBoundary": "The ARN of the policy that is used to set the permissions boundary for the user." +} +""" +PutUserPermissionsBoundary(args) = iam("PutUserPermissionsBoundary", args) + +""" + DeleteServiceSpecificCredential() + +Deletes the specified service-specific credential. + +Required Parameters +{ + "ServiceSpecificCredentialId": "The unique identifier of the service-specific credential. You can get this value by calling ListServiceSpecificCredentials. This parameter allows (through its regex pattern) a string of characters that can consist of any upper or lowercased letter or digit." +} + +Optional Parameters +{ + "UserName": "The name of the IAM user associated with the service-specific credential. If this value is not specified, then the operation assumes the user whose credentials are used to call the operation. This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-" +} +""" +DeleteServiceSpecificCredential(args) = iam("DeleteServiceSpecificCredential", args) + +""" + ListUsers() + +Lists the IAM users that have the specified path prefix. If no path prefix is specified, the operation returns all users in the AWS account. If there are none, the operation returns an empty list. You can paginate the results using the MaxItems and Marker parameters. + +Optional Parameters +{ + "Marker": "Use this parameter only when paginating results and only after you receive a response indicating that the results are truncated. Set it to the value of the Marker element in the response that you received to indicate where the next call should start.", + "PathPrefix": " The path prefix for filtering the results. For example: /division_abc/subdivision_xyz/, which would get all user names whose path starts with /division_abc/subdivision_xyz/. This parameter is optional. If it is not included, it defaults to a slash (/), listing all user names. This parameter allows (through its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! ( u0021) through the DEL character ( u007F), including most punctuation characters, digits, and upper and lowercased letters.", + "MaxItems": "Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true. If you do not include this parameter, the number of items defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true, and Marker contains a value to include in the subsequent call that tells the service where to continue from." +} +""" +ListUsers() = iam("ListUsers") +ListUsers(args) = iam("ListUsers", args) + +""" + SimulatePrincipalPolicy() + +Simulate how a set of IAM policies attached to an IAM entity works with a list of API operations and AWS resources to determine the policies' effective permissions. The entity can be an IAM user, group, or role. If you specify a user, then the simulation also includes all of the policies that are attached to groups that the user belongs to. You can optionally include a list of one or more additional policies specified as strings to include in the simulation. If you want to simulate only policies specified as strings, use SimulateCustomPolicy instead. You can also optionally include one resource-based policy to be evaluated with each of the resources included in the simulation. The simulation does not perform the API operations; it only checks the authorization to determine if the simulated policies allow or deny the operations. Note: This API discloses information about the permissions granted to other users. If you do not want users to see other user's permissions, then consider allowing them to use SimulateCustomPolicy instead. Context keys are variables maintained by AWS and its services that provide details about the context of an API query request. You can use the Condition element of an IAM policy to evaluate context keys. To get the list of context keys that the policies require for correct simulation, use GetContextKeysForPrincipalPolicy. If the output is long, you can use the MaxItems and Marker parameters to paginate the results. + +Required Parameters +{ + "PolicySourceArn": "The Amazon Resource Name (ARN) of a user, group, or role whose policies you want to include in the simulation. If you specify a user, group, or role, the simulation includes all policies that are associated with that entity. If you specify a user, the simulation also includes all policies that are attached to any groups the user belongs to. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.", + "ActionNames": "A list of names of API operations to evaluate in the simulation. Each operation is evaluated for each resource. Each operation must include the service identifier, such as iam:CreateUser." +} + +Optional Parameters +{ + "ResourceOwner": "An AWS account ID that specifies the owner of any simulated resource that does not identify its owner in the resource ARN. Examples of resource ARNs include an S3 bucket or object. If ResourceOwner is specified, it is also used as the account owner of any ResourcePolicy included in the simulation. If the ResourceOwner parameter is not specified, then the owner of the resources and the resource policy defaults to the account of the identity provided in CallerArn. This parameter is required only if you specify a resource-based policy and account that owns the resource is different from the account that owns the simulated calling user CallerArn.", + "CallerArn": "The ARN of the IAM user that you want to specify as the simulated caller of the API operations. If you do not specify a CallerArn, it defaults to the ARN of the user that you specify in PolicySourceArn, if you specified a user. If you include both a PolicySourceArn (for example, arn:aws:iam::123456789012:user/David) and a CallerArn (for example, arn:aws:iam::123456789012:user/Bob), the result is that you simulate calling the API operations as Bob, as if Bob had David's policies. You can specify only the ARN of an IAM user. You cannot specify the ARN of an assumed role, federated user, or a service principal. CallerArn is required if you include a ResourcePolicy and the PolicySourceArn is not the ARN for an IAM user. This is required so that the resource-based policy's Principal element has a value to use in evaluating the policy. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.", + "Marker": "Use this parameter only when paginating results and only after you receive a response indicating that the results are truncated. Set it to the value of the Marker element in the response that you received to indicate where the next call should start.", + "ResourceArns": "A list of ARNs of AWS resources to include in the simulation. If this parameter is not provided, then the value defaults to * (all resources). Each API in the ActionNames parameter is evaluated for each resource in this list. The simulation determines the access result (allowed or denied) of each combination and reports it in the response. The simulation does not automatically retrieve policies for the specified resources. If you want to include a resource policy in the simulation, then you must include the policy as a string in the ResourcePolicy parameter. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.", + "ContextEntries": "A list of context keys and corresponding values for the simulation to use. Whenever a context key is evaluated in one of the simulated IAM permissions policies, the corresponding value is supplied.", + "PolicyInputList": "An optional list of additional policy documents to include in the simulation. Each document is specified as a string containing the complete, valid JSON text of an IAM policy. The regex pattern used to validate this parameter is a string of characters consisting of the following: Any printable ASCII character ranging from the space character ( u0020) through the end of the ASCII character range The printable characters in the Basic Latin and Latin-1 Supplement character set (through u00FF) The special characters tab ( u0009), line feed ( u000A), and carriage return ( u000D) ", + "MaxItems": "Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true. If you do not include this parameter, the number of items defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true, and Marker contains a value to include in the subsequent call that tells the service where to continue from.", + "ResourceHandlingOption": "Specifies the type of simulation to run. Different API operations that support resource-based policies require different combinations of resources. By specifying the type of simulation to run, you enable the policy simulator to enforce the presence of the required resources to ensure reliable simulation results. If your simulation does not match one of the following scenarios, then you can omit this parameter. The following list shows each of the supported scenario values and the resources that you must define to run the simulation. Each of the EC2 scenarios requires that you specify instance, image, and security group resources. If your scenario includes an EBS volume, then you must specify that volume as a resource. If the EC2 scenario includes VPC, then you must supply the network interface resource. If it includes an IP subnet, then you must specify the subnet resource. For more information on the EC2 scenario options, see Supported Platforms in the Amazon EC2 User Guide. EC2-Classic-InstanceStore instance, image, security group EC2-Classic-EBS instance, image, security group, volume EC2-VPC-InstanceStore instance, image, security group, network interface EC2-VPC-InstanceStore-Subnet instance, image, security group, network interface, subnet EC2-VPC-EBS instance, image, security group, network interface, volume EC2-VPC-EBS-Subnet instance, image, security group, network interface, subnet, volume ", + "ResourcePolicy": "A resource-based policy to include in the simulation provided as a string. Each resource in the simulation is treated as if it had this policy attached. You can include only one resource-based policy in a simulation. The regex pattern used to validate this parameter is a string of characters consisting of the following: Any printable ASCII character ranging from the space character ( u0020) through the end of the ASCII character range The printable characters in the Basic Latin and Latin-1 Supplement character set (through u00FF) The special characters tab ( u0009), line feed ( u000A), and carriage return ( u000D) ", + "PermissionsBoundaryPolicyInputList": "The IAM permissions boundary policy to simulate. The permissions boundary sets the maximum permissions that the entity can have. You can input only one permissions boundary when you pass a policy to this operation. An IAM entity can only have one permissions boundary in effect at a time. For example, if a permissions boundary is attached to an entity and you pass in a different permissions boundary policy using this parameter, then the new permission boundary policy is used for the simulation. For more information about permissions boundaries, see Permissions Boundaries for IAM Entities in the IAM User Guide. The policy input is specified as a string containing the complete, valid JSON text of a permissions boundary policy. The regex pattern used to validate this parameter is a string of characters consisting of the following: Any printable ASCII character ranging from the space character ( u0020) through the end of the ASCII character range The printable characters in the Basic Latin and Latin-1 Supplement character set (through u00FF) The special characters tab ( u0009), line feed ( u000A), and carriage return ( u000D) " +} +""" +SimulatePrincipalPolicy(args) = iam("SimulatePrincipalPolicy", args) + +""" + DeleteRolePermissionsBoundary() + +Deletes the permissions boundary for the specified IAM role. Deleting the permissions boundary for a role might increase its permissions. For example, it might allow anyone who assumes the role to perform all the actions granted in its permissions policies. + +Required Parameters +{ + "RoleName": "The name (friendly name, not ARN) of the IAM role from which you want to remove the permissions boundary." +} +""" +DeleteRolePermissionsBoundary(args) = iam("DeleteRolePermissionsBoundary", args) + +""" + CreateInstanceProfile() + + Creates a new instance profile. For information about instance profiles, go to About Instance Profiles. For information about the number of instance profiles you can create, see Limitations on IAM Entities in the IAM User Guide. + +Required Parameters +{ + "InstanceProfileName": "The name of the instance profile to create. This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-" +} + +Optional Parameters +{ + "Path": " The path to the instance profile. For more information about paths, see IAM Identifiers in the IAM User Guide. This parameter is optional. If it is not included, it defaults to a slash (/). This parameter allows (through its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! ( u0021) through the DEL character ( u007F), including most punctuation characters, digits, and upper and lowercased letters." +} +""" +CreateInstanceProfile(args) = iam("CreateInstanceProfile", args) + +""" + DeleteAccessKey() + +Deletes the access key pair associated with the specified IAM user. If you do not specify a user name, IAM determines the user name implicitly based on the AWS access key ID signing the request. This operation works for access keys under the AWS account. Consequently, you can use this operation to manage AWS account root user credentials even if the AWS account has no associated users. + +Required Parameters +{ + "AccessKeyId": "The access key ID for the access key ID and secret access key you want to delete. This parameter allows (through its regex pattern) a string of characters that can consist of any upper or lowercased letter or digit." +} + +Optional Parameters +{ + "UserName": "The name of the user whose access key pair you want to delete. This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-" +} +""" +DeleteAccessKey(args) = iam("DeleteAccessKey", args) + +""" + GenerateServiceLastAccessedDetails() + +Generates a report that includes details about when an IAM resource (user, group, role, or policy) was last used in an attempt to access AWS services. Recent activity usually appears within four hours. IAM reports activity for the last 365 days, or less if your Region began supporting this feature within the last year. For more information, see Regions Where Data Is Tracked. The service last accessed data includes all attempts to access an AWS API, not just the successful ones. This includes all attempts that were made using the AWS Management Console, the AWS API through any of the SDKs, or any of the command line tools. An unexpected entry in the service last accessed data does not mean that your account has been compromised, because the request might have been denied. Refer to your CloudTrail logs as the authoritative source for information about all API calls and whether they were successful or denied access. For more information, see Logging IAM Events with CloudTrail in the IAM User Guide. The GenerateServiceLastAccessedDetails operation returns a JobId. Use this parameter in the following operations to retrieve the following details from your report: GetServiceLastAccessedDetails – Use this operation for users, groups, roles, or policies to list every AWS service that the resource could access using permissions policies. For each service, the response includes information about the most recent access attempt. GetServiceLastAccessedDetailsWithEntities – Use this operation for groups and policies to list information about the associated entities (users or roles) that attempted to access a specific AWS service. To check the status of the GenerateServiceLastAccessedDetails request, use the JobId parameter in the same operations and test the JobStatus response parameter. For additional information about the permissions policies that allow an identity (user, group, or role) to access specific services, use the ListPoliciesGrantingServiceAccess operation. Service last accessed data does not use other policy types when determining whether a resource could access a service. These other policy types include resource-based policies, access control lists, AWS Organizations policies, IAM permissions boundaries, and AWS STS assume role policies. It only applies permissions policy logic. For more about the evaluation of policy types, see Evaluating Policies in the IAM User Guide. For more information about service last accessed data, see Reducing Policy Scope by Viewing User Activity in the IAM User Guide. + +Required Parameters +{ + "Arn": "The ARN of the IAM resource (user, group, role, or managed policy) used to generate information about when the resource was last used in an attempt to access an AWS service." +} +""" +GenerateServiceLastAccessedDetails(args) = iam("GenerateServiceLastAccessedDetails", args) + +""" + DeleteRole() + +Deletes the specified role. The role must not have any policies attached. For more information about roles, go to Working with Roles. Make sure that you do not have any Amazon EC2 instances running with the role you are about to delete. Deleting a role or instance profile that is associated with a running instance will break any applications running on the instance. + +Required Parameters +{ + "RoleName": "The name of the role to delete. This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-" +} +""" +DeleteRole(args) = iam("DeleteRole", args) + +""" + DeleteAccountPasswordPolicy() + +Deletes the password policy for the AWS account. There are no parameters. +""" +DeleteAccountPasswordPolicy() = iam("DeleteAccountPasswordPolicy") +DeleteAccountPasswordPolicy(args) = iam("DeleteAccountPasswordPolicy", args) + +""" + GetSAMLProvider() + +Returns the SAML provider metadocument that was uploaded when the IAM SAML provider resource object was created or updated. This operation requires Signature Version 4. + +Required Parameters +{ + "SAMLProviderArn": "The Amazon Resource Name (ARN) of the SAML provider resource object in IAM to get information about. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference." +} +""" +GetSAMLProvider(args) = iam("GetSAMLProvider", args) + +""" + ListPolicies() + +Lists all the managed policies that are available in your AWS account, including your own customer-defined managed policies and all AWS managed policies. You can filter the list of policies that is returned using the optional OnlyAttached, Scope, and PathPrefix parameters. For example, to list only the customer managed policies in your AWS account, set Scope to Local. To list only AWS managed policies, set Scope to AWS. You can paginate the results using the MaxItems and Marker parameters. For more information about managed policies, see Managed Policies and Inline Policies in the IAM User Guide. + +Optional Parameters +{ + "Marker": "Use this parameter only when paginating results and only after you receive a response indicating that the results are truncated. Set it to the value of the Marker element in the response that you received to indicate where the next call should start.", + "PathPrefix": "The path prefix for filtering the results. This parameter is optional. If it is not included, it defaults to a slash (/), listing all policies. This parameter allows (through its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! ( u0021) through the DEL character ( u007F), including most punctuation characters, digits, and upper and lowercased letters.", + "OnlyAttached": "A flag to filter the results to only the attached policies. When OnlyAttached is true, the returned list contains only the policies that are attached to an IAM user, group, or role. When OnlyAttached is false, or when the parameter is not included, all policies are returned.", + "MaxItems": "Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true. If you do not include this parameter, the number of items defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true, and Marker contains a value to include in the subsequent call that tells the service where to continue from.", + "Scope": "The scope to use for filtering the results. To list only AWS managed policies, set Scope to AWS. To list only the customer managed policies in your AWS account, set Scope to Local. This parameter is optional. If it is not included, or if it is set to All, all policies are returned.", + "PolicyUsageFilter": "The policy usage method to use for filtering the results. To list only permissions policies, set PolicyUsageFilter to PermissionsPolicy. To list only the policies used to set permissions boundaries, set the value to PermissionsBoundary. This parameter is optional. If it is not included, all policies are returned. " +} +""" +ListPolicies() = iam("ListPolicies") +ListPolicies(args) = iam("ListPolicies", args) + +""" + CreateAccessKey() + + Creates a new AWS secret access key and corresponding AWS access key ID for the specified user. The default status for new keys is Active. If you do not specify a user name, IAM determines the user name implicitly based on the AWS access key ID signing the request. This operation works for access keys under the AWS account. Consequently, you can use this operation to manage AWS account root user credentials. This is true even if the AWS account has no associated users. For information about limits on the number of keys you can create, see Limitations on IAM Entities in the IAM User Guide. To ensure the security of your AWS account, the secret access key is accessible only during key and user creation. You must save the key (for example, in a text file) if you want to be able to access it again. If a secret key is lost, you can delete the access keys for the associated user and then create new keys. + +Optional Parameters +{ + "UserName": "The name of the IAM user that the new key will belong to. This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-" +} +""" +CreateAccessKey() = iam("CreateAccessKey") +CreateAccessKey(args) = iam("CreateAccessKey", args) + +""" + ListGroupPolicies() + +Lists the names of the inline policies that are embedded in the specified IAM group. An IAM group can also have managed policies attached to it. To list the managed policies that are attached to a group, use ListAttachedGroupPolicies. For more information about policies, see Managed Policies and Inline Policies in the IAM User Guide. You can paginate the results using the MaxItems and Marker parameters. If there are no inline policies embedded with the specified group, the operation returns an empty list. + +Required Parameters +{ + "GroupName": "The name of the group to list policies for. This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-" +} + +Optional Parameters +{ + "Marker": "Use this parameter only when paginating results and only after you receive a response indicating that the results are truncated. Set it to the value of the Marker element in the response that you received to indicate where the next call should start.", + "MaxItems": "Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true. If you do not include this parameter, the number of items defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true, and Marker contains a value to include in the subsequent call that tells the service where to continue from." +} +""" +ListGroupPolicies(args) = iam("ListGroupPolicies", args) + +""" + CreatePolicy() + +Creates a new managed policy for your AWS account. This operation creates a policy version with a version identifier of v1 and sets v1 as the policy's default version. For more information about policy versions, see Versioning for Managed Policies in the IAM User Guide. For more information about managed policies in general, see Managed Policies and Inline Policies in the IAM User Guide. + +Required Parameters +{ + "PolicyName": "The friendly name of the policy. IAM user, group, role, and policy names must be unique within the account. Names are not distinguished by case. For example, you cannot create resources named both \"MyResource\" and \"myresource\".", + "PolicyDocument": "The JSON policy document that you want to use as the content for the new policy. You must provide policies in JSON format in IAM. However, for AWS CloudFormation templates formatted in YAML, you can provide the policy in JSON or YAML format. AWS CloudFormation always converts a YAML policy to JSON format before submitting it to IAM. The regex pattern used to validate this parameter is a string of characters consisting of the following: Any printable ASCII character ranging from the space character ( u0020) through the end of the ASCII character range The printable characters in the Basic Latin and Latin-1 Supplement character set (through u00FF) The special characters tab ( u0009), line feed ( u000A), and carriage return ( u000D) " +} + +Optional Parameters +{ + "Description": "A friendly description of the policy. Typically used to store information about the permissions defined in the policy. For example, \"Grants access to production DynamoDB tables.\" The policy description is immutable. After a value is assigned, it cannot be changed.", + "Path": "The path for the policy. For more information about paths, see IAM Identifiers in the IAM User Guide. This parameter is optional. If it is not included, it defaults to a slash (/). This parameter allows (through its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! ( u0021) through the DEL character ( u007F), including most punctuation characters, digits, and upper and lowercased letters." +} +""" +CreatePolicy(args) = iam("CreatePolicy", args) + +""" + ListGroups() + +Lists the IAM groups that have the specified path prefix. You can paginate the results using the MaxItems and Marker parameters. + +Optional Parameters +{ + "Marker": "Use this parameter only when paginating results and only after you receive a response indicating that the results are truncated. Set it to the value of the Marker element in the response that you received to indicate where the next call should start.", + "PathPrefix": " The path prefix for filtering the results. For example, the prefix /division_abc/subdivision_xyz/ gets all groups whose path starts with /division_abc/subdivision_xyz/. This parameter is optional. If it is not included, it defaults to a slash (/), listing all groups. This parameter allows (through its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! ( u0021) through the DEL character ( u007F), including most punctuation characters, digits, and upper and lowercased letters.", + "MaxItems": "Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true. If you do not include this parameter, the number of items defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true, and Marker contains a value to include in the subsequent call that tells the service where to continue from." +} +""" +ListGroups() = iam("ListGroups") +ListGroups(args) = iam("ListGroups", args) + +""" + ListUserTags() + +Lists the tags that are attached to the specified user. The returned list of tags is sorted by tag key. For more information about tagging, see Tagging IAM Identities in the IAM User Guide. + +Required Parameters +{ + "UserName": "The name of the IAM user whose tags you want to see. This parameter accepts (through its regex pattern) a string of characters that consist of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-" +} + +Optional Parameters +{ + "Marker": "Use this parameter only when paginating results and only after you receive a response indicating that the results are truncated. Set it to the value of the Marker element in the response that you received to indicate where the next call should start.", + "MaxItems": "(Optional) Use this only when paginating results to indicate the maximum number of items that you want in the response. If additional items exist beyond the maximum that you specify, the IsTruncated response element is true. If you do not include this parameter, it defaults to 100. Note that IAM might return fewer results, even when more results are available. In that case, the IsTruncated response element returns true, and Marker contains a value to include in the subsequent call that tells the service where to continue from." +} +""" +ListUserTags(args) = iam("ListUserTags", args) + +""" + CreateLoginProfile() + + Creates a password for the specified user, giving the user the ability to access AWS services through the AWS Management Console. For more information about managing passwords, see Managing Passwords in the IAM User Guide. + +Required Parameters +{ + "UserName": "The name of the IAM user to create a password for. The user must already exist. This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-", + "Password": "The new password for the user. The regex pattern that is used to validate this parameter is a string of characters. That string can include almost any printable ASCII character from the space ( u0020) through the end of the ASCII character range ( u00FF). You can also include the tab ( u0009), line feed ( u000A), and carriage return ( u000D) characters. Any of these characters are valid in a password. However, many tools, such as the AWS Management Console, might restrict the ability to type certain characters because they have special meaning within that tool." +} + +Optional Parameters +{ + "PasswordResetRequired": "Specifies whether the user is required to set a new password on next sign-in." +} +""" +CreateLoginProfile(args) = iam("CreateLoginProfile", args) + +""" + UpdateSAMLProvider() + +Updates the metadata document for an existing SAML provider resource object. This operation requires Signature Version 4. + +Required Parameters +{ + "SAMLMetadataDocument": "An XML document generated by an identity provider (IdP) that supports SAML 2.0. The document includes the issuer's name, expiration information, and keys that can be used to validate the SAML authentication response (assertions) that are received from the IdP. You must generate the metadata document using the identity management software that is used as your organization's IdP.", + "SAMLProviderArn": "The Amazon Resource Name (ARN) of the SAML provider to update. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference." +} +""" +UpdateSAMLProvider(args) = iam("UpdateSAMLProvider", args) + +""" + SetSecurityTokenServicePreferences() + +Sets the specified version of the global endpoint token as the token version used for the AWS account. By default, AWS Security Token Service (STS) is available as a global service, and all STS requests go to a single endpoint at https://sts.amazonaws.com. AWS recommends using Regional STS endpoints to reduce latency, build in redundancy, and increase session token availability. For information about Regional endpoints for STS, see AWS Regions and Endpoints in the AWS General Reference. If you make an STS call to the global endpoint, the resulting session tokens might be valid in some Regions but not others. It depends on the version that is set in this operation. Version 1 tokens are valid only in AWS Regions that are available by default. These tokens do not work in manually enabled Regions, such as Asia Pacific (Hong Kong). Version 2 tokens are valid in all Regions. However, version 2 tokens are longer and might affect systems where you temporarily store tokens. For information, see Activating and Deactivating STS in an AWS Region in the IAM User Guide. To view the current session token version, see the GlobalEndpointTokenVersion entry in the response of the GetAccountSummary operation. + +Required Parameters +{ + "GlobalEndpointTokenVersion": "The version of the global endpoint token. Version 1 tokens are valid only in AWS Regions that are available by default. These tokens do not work in manually enabled Regions, such as Asia Pacific (Hong Kong). Version 2 tokens are valid in all Regions. However, version 2 tokens are longer and might affect systems where you temporarily store tokens. For information, see Activating and Deactivating STS in an AWS Region in the IAM User Guide." +} +""" +SetSecurityTokenServicePreferences(args) = iam("SetSecurityTokenServicePreferences", args) + +""" + ResyncMFADevice() + +Synchronizes the specified MFA device with its IAM resource object on the AWS servers. For more information about creating and working with virtual MFA devices, go to Using a Virtual MFA Device in the IAM User Guide. + +Required Parameters +{ + "UserName": "The name of the user whose MFA device you want to resynchronize. This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-", + "AuthenticationCode1": "An authentication code emitted by the device. The format for this parameter is a sequence of six digits.", + "AuthenticationCode2": "A subsequent authentication code emitted by the device. The format for this parameter is a sequence of six digits.", + "SerialNumber": "Serial number that uniquely identifies the MFA device. This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-" +} +""" +ResyncMFADevice(args) = iam("ResyncMFADevice", args) + +""" + PutRolePolicy() + +Adds or updates an inline policy document that is embedded in the specified IAM role. When you embed an inline policy in a role, the inline policy is used as part of the role's access (permissions) policy. The role's trust policy is created at the same time as the role, using CreateRole. You can update a role's trust policy using UpdateAssumeRolePolicy. For more information about IAM roles, go to Using Roles to Delegate Permissions and Federate Identities. A role can also have a managed policy attached to it. To attach a managed policy to a role, use AttachRolePolicy. To create a new managed policy, use CreatePolicy. For information about policies, see Managed Policies and Inline Policies in the IAM User Guide. For information about limits on the number of inline policies that you can embed with a role, see Limitations on IAM Entities in the IAM User Guide. Because policy documents can be large, you should use POST rather than GET when calling PutRolePolicy. For general information about using the Query API with IAM, go to Making Query Requests in the IAM User Guide. + +Required Parameters +{ + "PolicyName": "The name of the policy document. This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-", + "RoleName": "The name of the role to associate the policy with. This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-", + "PolicyDocument": "The policy document. You must provide policies in JSON format in IAM. However, for AWS CloudFormation templates formatted in YAML, you can provide the policy in JSON or YAML format. AWS CloudFormation always converts a YAML policy to JSON format before submitting it to IAM. The regex pattern used to validate this parameter is a string of characters consisting of the following: Any printable ASCII character ranging from the space character ( u0020) through the end of the ASCII character range The printable characters in the Basic Latin and Latin-1 Supplement character set (through u00FF) The special characters tab ( u0009), line feed ( u000A), and carriage return ( u000D) " +} +""" +PutRolePolicy(args) = iam("PutRolePolicy", args) + +""" + ListRoles() + +Lists the IAM roles that have the specified path prefix. If there are none, the operation returns an empty list. For more information about roles, go to Working with Roles. You can paginate the results using the MaxItems and Marker parameters. + +Optional Parameters +{ + "Marker": "Use this parameter only when paginating results and only after you receive a response indicating that the results are truncated. Set it to the value of the Marker element in the response that you received to indicate where the next call should start.", + "PathPrefix": " The path prefix for filtering the results. For example, the prefix /application_abc/component_xyz/ gets all roles whose path starts with /application_abc/component_xyz/. This parameter is optional. If it is not included, it defaults to a slash (/), listing all roles. This parameter allows (through its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! ( u0021) through the DEL character ( u007F), including most punctuation characters, digits, and upper and lowercased letters.", + "MaxItems": "Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true. If you do not include this parameter, the number of items defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true, and Marker contains a value to include in the subsequent call that tells the service where to continue from." +} +""" +ListRoles() = iam("ListRoles") +ListRoles(args) = iam("ListRoles", args) + +""" + DeleteSSHPublicKey() + +Deletes the specified SSH public key. The SSH public key deleted by this operation is used only for authenticating the associated IAM user to an AWS CodeCommit repository. For more information about using SSH keys to authenticate to an AWS CodeCommit repository, see Set up AWS CodeCommit for SSH Connections in the AWS CodeCommit User Guide. + +Required Parameters +{ + "UserName": "The name of the IAM user associated with the SSH public key. This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-", + "SSHPublicKeyId": "The unique identifier for the SSH public key. This parameter allows (through its regex pattern) a string of characters that can consist of any upper or lowercased letter or digit." +} +""" +DeleteSSHPublicKey(args) = iam("DeleteSSHPublicKey", args) + +""" + DeleteUserPermissionsBoundary() + +Deletes the permissions boundary for the specified IAM user. Deleting the permissions boundary for a user might increase its permissions by allowing the user to perform all the actions granted in its permissions policies. + +Required Parameters +{ + "UserName": "The name (friendly name, not ARN) of the IAM user from which you want to remove the permissions boundary." +} +""" +DeleteUserPermissionsBoundary(args) = iam("DeleteUserPermissionsBoundary", args) + +""" + CreateAccountAlias() + +Creates an alias for your AWS account. For information about using an AWS account alias, see Using an Alias for Your AWS Account ID in the IAM User Guide. + +Required Parameters +{ + "AccountAlias": "The account alias to create. This parameter allows (through its regex pattern) a string of characters consisting of lowercase letters, digits, and dashes. You cannot start or finish with a dash, nor can you have two dashes in a row." +} +""" +CreateAccountAlias(args) = iam("CreateAccountAlias", args) + +""" + GenerateOrganizationsAccessReport() + +Generates a report for service last accessed data for AWS Organizations. You can generate a report for any entities (organization root, organizational unit, or account) or policies in your organization. To call this operation, you must be signed in using your AWS Organizations master account credentials. You can use your long-term IAM user or root user credentials, or temporary credentials from assuming an IAM role. SCPs must be enabled for your organization root. You must have the required IAM and AWS Organizations permissions. For more information, see Refining Permissions Using Service Last Accessed Data in the IAM User Guide. You can generate a service last accessed data report for entities by specifying only the entity's path. This data includes a list of services that are allowed by any service control policies (SCPs) that apply to the entity. You can generate a service last accessed data report for a policy by specifying an entity's path and an optional AWS Organizations policy ID. This data includes a list of services that are allowed by the specified SCP. For each service in both report types, the data includes the most recent account activity that the policy allows to account principals in the entity or the entity's children. For important information about the data, reporting period, permissions required, troubleshooting, and supported Regions see Reducing Permissions Using Service Last Accessed Data in the IAM User Guide. The data includes all attempts to access AWS, not just the successful ones. This includes all attempts that were made using the AWS Management Console, the AWS API through any of the SDKs, or any of the command line tools. An unexpected entry in the service last accessed data does not mean that an account has been compromised, because the request might have been denied. Refer to your CloudTrail logs as the authoritative source for information about all API calls and whether they were successful or denied access. For more information, see Logging IAM Events with CloudTrail in the IAM User Guide. This operation returns a JobId. Use this parameter in the GetOrganizationsAccessReport operation to check the status of the report generation. To check the status of this request, use the JobId parameter in the GetOrganizationsAccessReport operation and test the JobStatus response parameter. When the job is complete, you can retrieve the report. To generate a service last accessed data report for entities, specify an entity path without specifying the optional AWS Organizations policy ID. The type of entity that you specify determines the data returned in the report. Root – When you specify the organizations root as the entity, the resulting report lists all of the services allowed by SCPs that are attached to your root. For each service, the report includes data for all accounts in your organization except the master account, because the master account is not limited by SCPs. OU – When you specify an organizational unit (OU) as the entity, the resulting report lists all of the services allowed by SCPs that are attached to the OU and its parents. For each service, the report includes data for all accounts in the OU or its children. This data excludes the master account, because the master account is not limited by SCPs. Master account – When you specify the master account, the resulting report lists all AWS services, because the master account is not limited by SCPs. For each service, the report includes data for only the master account. Account – When you specify another account as the entity, the resulting report lists all of the services allowed by SCPs that are attached to the account and its parents. For each service, the report includes data for only the specified account. To generate a service last accessed data report for policies, specify an entity path and the optional AWS Organizations policy ID. The type of entity that you specify determines the data returned for each service. Root – When you specify the root entity and a policy ID, the resulting report lists all of the services that are allowed by the specified SCP. For each service, the report includes data for all accounts in your organization to which the SCP applies. This data excludes the master account, because the master account is not limited by SCPs. If the SCP is not attached to any entities in the organization, then the report will return a list of services with no data. OU – When you specify an OU entity and a policy ID, the resulting report lists all of the services that are allowed by the specified SCP. For each service, the report includes data for all accounts in the OU or its children to which the SCP applies. This means that other accounts outside the OU that are affected by the SCP might not be included in the data. This data excludes the master account, because the master account is not limited by SCPs. If the SCP is not attached to the OU or one of its children, the report will return a list of services with no data. Master account – When you specify the master account, the resulting report lists all AWS services, because the master account is not limited by SCPs. If you specify a policy ID in the CLI or API, the policy is ignored. For each service, the report includes data for only the master account. Account – When you specify another account entity and a policy ID, the resulting report lists all of the services that are allowed by the specified SCP. For each service, the report includes data for only the specified account. This means that other accounts in the organization that are affected by the SCP might not be included in the data. If the SCP is not attached to the account, the report will return a list of services with no data. Service last accessed data does not use other policy types when determining whether a principal could access a service. These other policy types include identity-based policies, resource-based policies, access control lists, IAM permissions boundaries, and STS assume role policies. It only applies SCP logic. For more about the evaluation of policy types, see Evaluating Policies in the IAM User Guide. For more information about service last accessed data, see Reducing Policy Scope by Viewing User Activity in the IAM User Guide. + +Required Parameters +{ + "EntityPath": "The path of the AWS Organizations entity (root, OU, or account). You can build an entity path using the known structure of your organization. For example, assume that your account ID is 123456789012 and its parent OU ID is ou-rge0-awsabcde. The organization root ID is r-f6g7h8i9j0example and your organization ID is o-a1b2c3d4e5. Your entity path is o-a1b2c3d4e5/r-f6g7h8i9j0example/ou-rge0-awsabcde/123456789012." +} + +Optional Parameters +{ + "OrganizationsPolicyId": "The identifier of the AWS Organizations service control policy (SCP). This parameter is optional. This ID is used to generate information about when an account principal that is limited by the SCP attempted to access an AWS service." +} +""" +GenerateOrganizationsAccessReport(args) = iam("GenerateOrganizationsAccessReport", args) + +""" + ListSAMLProviders() + +Lists the SAML provider resource objects defined in IAM in the account. This operation requires Signature Version 4. +""" +ListSAMLProviders() = iam("ListSAMLProviders") +ListSAMLProviders(args) = iam("ListSAMLProviders", args) + +""" + ListPolicyVersions() + +Lists information about the versions of the specified managed policy, including the version that is currently set as the policy's default version. For more information about managed policies, see Managed Policies and Inline Policies in the IAM User Guide. + +Required Parameters +{ + "PolicyArn": "The Amazon Resource Name (ARN) of the IAM policy for which you want the versions. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference." +} + +Optional Parameters +{ + "Marker": "Use this parameter only when paginating results and only after you receive a response indicating that the results are truncated. Set it to the value of the Marker element in the response that you received to indicate where the next call should start.", + "MaxItems": "Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true. If you do not include this parameter, the number of items defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true, and Marker contains a value to include in the subsequent call that tells the service where to continue from." +} +""" +ListPolicyVersions(args) = iam("ListPolicyVersions", args) + +""" + PutGroupPolicy() + +Adds or updates an inline policy document that is embedded in the specified IAM group. A user can also have managed policies attached to it. To attach a managed policy to a group, use AttachGroupPolicy. To create a new managed policy, use CreatePolicy. For information about policies, see Managed Policies and Inline Policies in the IAM User Guide. For information about limits on the number of inline policies that you can embed in a group, see Limitations on IAM Entities in the IAM User Guide. Because policy documents can be large, you should use POST rather than GET when calling PutGroupPolicy. For general information about using the Query API with IAM, go to Making Query Requests in the IAM User Guide. + +Required Parameters +{ + "PolicyName": "The name of the policy document. This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-", + "GroupName": "The name of the group to associate the policy with. This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-.", + "PolicyDocument": "The policy document. You must provide policies in JSON format in IAM. However, for AWS CloudFormation templates formatted in YAML, you can provide the policy in JSON or YAML format. AWS CloudFormation always converts a YAML policy to JSON format before submitting it to IAM. The regex pattern used to validate this parameter is a string of characters consisting of the following: Any printable ASCII character ranging from the space character ( u0020) through the end of the ASCII character range The printable characters in the Basic Latin and Latin-1 Supplement character set (through u00FF) The special characters tab ( u0009), line feed ( u000A), and carriage return ( u000D) " +} +""" +PutGroupPolicy(args) = iam("PutGroupPolicy", args) + +""" + ListRolePolicies() + +Lists the names of the inline policies that are embedded in the specified IAM role. An IAM role can also have managed policies attached to it. To list the managed policies that are attached to a role, use ListAttachedRolePolicies. For more information about policies, see Managed Policies and Inline Policies in the IAM User Guide. You can paginate the results using the MaxItems and Marker parameters. If there are no inline policies embedded with the specified role, the operation returns an empty list. + +Required Parameters +{ + "RoleName": "The name of the role to list policies for. This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-" +} + +Optional Parameters +{ + "Marker": "Use this parameter only when paginating results and only after you receive a response indicating that the results are truncated. Set it to the value of the Marker element in the response that you received to indicate where the next call should start.", + "MaxItems": "Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true. If you do not include this parameter, the number of items defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true, and Marker contains a value to include in the subsequent call that tells the service where to continue from." +} +""" +ListRolePolicies(args) = iam("ListRolePolicies", args) + +""" + ListEntitiesForPolicy() + +Lists all IAM users, groups, and roles that the specified managed policy is attached to. You can use the optional EntityFilter parameter to limit the results to a particular type of entity (users, groups, or roles). For example, to list only the roles that are attached to the specified policy, set EntityFilter to Role. You can paginate the results using the MaxItems and Marker parameters. + +Required Parameters +{ + "PolicyArn": "The Amazon Resource Name (ARN) of the IAM policy for which you want the versions. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference." +} + +Optional Parameters +{ + "Marker": "Use this parameter only when paginating results and only after you receive a response indicating that the results are truncated. Set it to the value of the Marker element in the response that you received to indicate where the next call should start.", + "PathPrefix": "The path prefix for filtering the results. This parameter is optional. If it is not included, it defaults to a slash (/), listing all entities. This parameter allows (through its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! ( u0021) through the DEL character ( u007F), including most punctuation characters, digits, and upper and lowercased letters.", + "MaxItems": "Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true. If you do not include this parameter, the number of items defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true, and Marker contains a value to include in the subsequent call that tells the service where to continue from.", + "EntityFilter": "The entity type to use for filtering the results. For example, when EntityFilter is Role, only the roles that are attached to the specified policy are returned. This parameter is optional. If it is not included, all attached entities (users, groups, and roles) are returned. The argument for this parameter must be one of the valid values listed below.", + "PolicyUsageFilter": "The policy usage method to use for filtering the results. To list only permissions policies, set PolicyUsageFilter to PermissionsPolicy. To list only the policies used to set permissions boundaries, set the value to PermissionsBoundary. This parameter is optional. If it is not included, all policies are returned. " +} +""" +ListEntitiesForPolicy(args) = iam("ListEntitiesForPolicy", args) + +""" + AddRoleToInstanceProfile() + +Adds the specified IAM role to the specified instance profile. An instance profile can contain only one role, and this limit cannot be increased. You can remove the existing role and then add a different role to an instance profile. You must then wait for the change to appear across all of AWS because of eventual consistency. To force the change, you must disassociate the instance profile and then associate the instance profile, or you can stop your instance and then restart it. The caller of this API must be granted the PassRole permission on the IAM role by a permissions policy. For more information about roles, go to Working with Roles. For more information about instance profiles, go to About Instance Profiles. + +Required Parameters +{ + "RoleName": "The name of the role to add. This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-", + "InstanceProfileName": "The name of the instance profile to update. This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-" +} +""" +AddRoleToInstanceProfile(args) = iam("AddRoleToInstanceProfile", args) + +""" + DeleteSAMLProvider() + +Deletes a SAML provider resource in IAM. Deleting the provider resource from IAM does not update any roles that reference the SAML provider resource's ARN as a principal in their trust policies. Any attempt to assume a role that references a non-existent provider resource ARN fails. This operation requires Signature Version 4. + +Required Parameters +{ + "SAMLProviderArn": "The Amazon Resource Name (ARN) of the SAML provider to delete." +} +""" +DeleteSAMLProvider(args) = iam("DeleteSAMLProvider", args) + +""" + SetDefaultPolicyVersion() + +Sets the specified version of the specified policy as the policy's default (operative) version. This operation affects all users, groups, and roles that the policy is attached to. To list the users, groups, and roles that the policy is attached to, use the ListEntitiesForPolicy API. For information about managed policies, see Managed Policies and Inline Policies in the IAM User Guide. + +Required Parameters +{ + "PolicyArn": "The Amazon Resource Name (ARN) of the IAM policy whose default version you want to set. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.", + "VersionId": "The version of the policy to set as the default (operative) version. For more information about managed policy versions, see Versioning for Managed Policies in the IAM User Guide." +} +""" +SetDefaultPolicyVersion(args) = iam("SetDefaultPolicyVersion", args) + +""" + AddClientIDToOpenIDConnectProvider() + +Adds a new client ID (also known as audience) to the list of client IDs already registered for the specified IAM OpenID Connect (OIDC) provider resource. This operation is idempotent; it does not fail or return an error if you add an existing client ID to the provider. + +Required Parameters +{ + "ClientID": "The client ID (also known as audience) to add to the IAM OpenID Connect provider resource.", + "OpenIDConnectProviderArn": "The Amazon Resource Name (ARN) of the IAM OpenID Connect (OIDC) provider resource to add the client ID to. You can get a list of OIDC provider ARNs by using the ListOpenIDConnectProviders operation." +} +""" +AddClientIDToOpenIDConnectProvider(args) = iam("AddClientIDToOpenIDConnectProvider", args) + +""" + UpdateServiceSpecificCredential() + +Sets the status of a service-specific credential to Active or Inactive. Service-specific credentials that are inactive cannot be used for authentication to the service. This operation can be used to disable a user's service-specific credential as part of a credential rotation work flow. + +Required Parameters +{ + "Status": "The status to be assigned to the service-specific credential.", + "ServiceSpecificCredentialId": "The unique identifier of the service-specific credential. This parameter allows (through its regex pattern) a string of characters that can consist of any upper or lowercased letter or digit." +} + +Optional Parameters +{ + "UserName": "The name of the IAM user associated with the service-specific credential. If you do not specify this value, then the operation assumes the user whose credentials are used to call the operation. This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-" +} +""" +UpdateServiceSpecificCredential(args) = iam("UpdateServiceSpecificCredential", args) + +""" + UpdateSigningCertificate() + +Changes the status of the specified user signing certificate from active to disabled, or vice versa. This operation can be used to disable an IAM user's signing certificate as part of a certificate rotation work flow. If the UserName field is not specified, the user name is determined implicitly based on the AWS access key ID used to sign the request. This operation works for access keys under the AWS account. Consequently, you can use this operation to manage AWS account root user credentials even if the AWS account has no associated users. + +Required Parameters +{ + "Status": " The status you want to assign to the certificate. Active means that the certificate can be used for API calls to AWS Inactive means that the certificate cannot be used.", + "CertificateId": "The ID of the signing certificate you want to update. This parameter allows (through its regex pattern) a string of characters that can consist of any upper or lowercased letter or digit." +} + +Optional Parameters +{ + "UserName": "The name of the IAM user the signing certificate belongs to. This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-" +} +""" +UpdateSigningCertificate(args) = iam("UpdateSigningCertificate", args) + +""" + CreateSAMLProvider() + +Creates an IAM resource that describes an identity provider (IdP) that supports SAML 2.0. The SAML provider resource that you create with this operation can be used as a principal in an IAM role's trust policy. Such a policy can enable federated users who sign in using the SAML IdP to assume the role. You can create an IAM role that supports Web-based single sign-on (SSO) to the AWS Management Console or one that supports API access to AWS. When you create the SAML provider resource, you upload a SAML metadata document that you get from your IdP. That document includes the issuer's name, expiration information, and keys that can be used to validate the SAML authentication response (assertions) that the IdP sends. You must generate the metadata document using the identity management software that is used as your organization's IdP. This operation requires Signature Version 4. For more information, see Enabling SAML 2.0 Federated Users to Access the AWS Management Console and About SAML 2.0-based Federation in the IAM User Guide. + +Required Parameters +{ + "SAMLMetadataDocument": "An XML document generated by an identity provider (IdP) that supports SAML 2.0. The document includes the issuer's name, expiration information, and keys that can be used to validate the SAML authentication response (assertions) that are received from the IdP. You must generate the metadata document using the identity management software that is used as your organization's IdP. For more information, see About SAML 2.0-based Federation in the IAM User Guide ", + "Name": "The name of the provider to create. This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-" +} +""" +CreateSAMLProvider(args) = iam("CreateSAMLProvider", args) + +""" + GetPolicy() + +Retrieves information about the specified managed policy, including the policy's default version and the total number of IAM users, groups, and roles to which the policy is attached. To retrieve the list of the specific users, groups, and roles that the policy is attached to, use the ListEntitiesForPolicy API. This API returns metadata about the policy. To retrieve the actual policy document for a specific version of the policy, use GetPolicyVersion. This API retrieves information about managed policies. To retrieve information about an inline policy that is embedded with an IAM user, group, or role, use the GetUserPolicy, GetGroupPolicy, or GetRolePolicy API. For more information about policies, see Managed Policies and Inline Policies in the IAM User Guide. + +Required Parameters +{ + "PolicyArn": "The Amazon Resource Name (ARN) of the managed policy that you want information about. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference." +} +""" +GetPolicy(args) = iam("GetPolicy", args) + +""" + UpdateAssumeRolePolicy() + +Updates the policy that grants an IAM entity permission to assume a role. This is typically referred to as the "role trust policy". For more information about roles, go to Using Roles to Delegate Permissions and Federate Identities. + +Required Parameters +{ + "RoleName": "The name of the role to update with the new policy. This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-", + "PolicyDocument": "The policy that grants an entity permission to assume the role. You must provide policies in JSON format in IAM. However, for AWS CloudFormation templates formatted in YAML, you can provide the policy in JSON or YAML format. AWS CloudFormation always converts a YAML policy to JSON format before submitting it to IAM. The regex pattern used to validate this parameter is a string of characters consisting of the following: Any printable ASCII character ranging from the space character ( u0020) through the end of the ASCII character range The printable characters in the Basic Latin and Latin-1 Supplement character set (through u00FF) The special characters tab ( u0009), line feed ( u000A), and carriage return ( u000D) " +} +""" +UpdateAssumeRolePolicy(args) = iam("UpdateAssumeRolePolicy", args) + +""" + PutRolePermissionsBoundary() + +Adds or updates the policy that is specified as the IAM role's permissions boundary. You can use an AWS managed policy or a customer managed policy to set the boundary for a role. Use the boundary to control the maximum permissions that the role can have. Setting a permissions boundary is an advanced feature that can affect the permissions for the role. You cannot set the boundary for a service-linked role. Policies used as permissions boundaries do not provide permissions. You must also attach a permissions policy to the role. To learn how the effective permissions for a role are evaluated, see IAM JSON Policy Evaluation Logic in the IAM User Guide. + +Required Parameters +{ + "PermissionsBoundary": "The ARN of the policy that is used to set the permissions boundary for the role.", + "RoleName": "The name (friendly name, not ARN) of the IAM role for which you want to set the permissions boundary." +} +""" +PutRolePermissionsBoundary(args) = iam("PutRolePermissionsBoundary", args) + +""" + GetContextKeysForCustomPolicy() + +Gets a list of all of the context keys referenced in the input policies. The policies are supplied as a list of one or more strings. To get the context keys from policies associated with an IAM user, group, or role, use GetContextKeysForPrincipalPolicy. Context keys are variables maintained by AWS and its services that provide details about the context of an API query request. Context keys can be evaluated by testing against a value specified in an IAM policy. Use GetContextKeysForCustomPolicy to understand what key names and values you must supply when you call SimulateCustomPolicy. Note that all parameters are shown in unencoded form here for clarity but must be URL encoded to be included as a part of a real HTML request. + +Required Parameters +{ + "PolicyInputList": "A list of policies for which you want the list of context keys referenced in those policies. Each document is specified as a string containing the complete, valid JSON text of an IAM policy. The regex pattern used to validate this parameter is a string of characters consisting of the following: Any printable ASCII character ranging from the space character ( u0020) through the end of the ASCII character range The printable characters in the Basic Latin and Latin-1 Supplement character set (through u00FF) The special characters tab ( u0009), line feed ( u000A), and carriage return ( u000D) " +} +""" +GetContextKeysForCustomPolicy(args) = iam("GetContextKeysForCustomPolicy", args) + +""" + RemoveRoleFromInstanceProfile() + +Removes the specified IAM role from the specified EC2 instance profile. Make sure that you do not have any Amazon EC2 instances running with the role you are about to remove from the instance profile. Removing a role from an instance profile that is associated with a running instance might break any applications running on the instance. For more information about IAM roles, go to Working with Roles. For more information about instance profiles, go to About Instance Profiles. + +Required Parameters +{ + "RoleName": "The name of the role to remove. This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-", + "InstanceProfileName": "The name of the instance profile to update. This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-" +} +""" +RemoveRoleFromInstanceProfile(args) = iam("RemoveRoleFromInstanceProfile", args) + +""" + AddUserToGroup() + +Adds the specified user to the specified group. + +Required Parameters +{ + "UserName": "The name of the user to add. This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-", + "GroupName": "The name of the group to update. This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-" +} +""" +AddUserToGroup(args) = iam("AddUserToGroup", args) + +""" + RemoveClientIDFromOpenIDConnectProvider() + +Removes the specified client ID (also known as audience) from the list of client IDs registered for the specified IAM OpenID Connect (OIDC) provider resource object. This operation is idempotent; it does not fail or return an error if you try to remove a client ID that does not exist. + +Required Parameters +{ + "ClientID": "The client ID (also known as audience) to remove from the IAM OIDC provider resource. For more information about client IDs, see CreateOpenIDConnectProvider.", + "OpenIDConnectProviderArn": "The Amazon Resource Name (ARN) of the IAM OIDC provider resource to remove the client ID from. You can get a list of OIDC provider ARNs by using the ListOpenIDConnectProviders operation. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference." +} +""" +RemoveClientIDFromOpenIDConnectProvider(args) = iam("RemoveClientIDFromOpenIDConnectProvider", args) + +""" + UpdateGroup() + +Updates the name and/or the path of the specified IAM group. You should understand the implications of changing a group's path or name. For more information, see Renaming Users and Groups in the IAM User Guide. The person making the request (the principal), must have permission to change the role group with the old name and the new name. For example, to change the group named Managers to MGRs, the principal must have a policy that allows them to update both groups. If the principal has permission to update the Managers group, but not the MGRs group, then the update fails. For more information about permissions, see Access Management. + +Required Parameters +{ + "GroupName": "Name of the IAM group to update. If you're changing the name of the group, this is the original name. This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-" +} + +Optional Parameters +{ + "NewGroupName": "New name for the IAM group. Only include this if changing the group's name. IAM user, group, role, and policy names must be unique within the account. Names are not distinguished by case. For example, you cannot create resources named both \"MyResource\" and \"myresource\".", + "NewPath": "New path for the IAM group. Only include this if changing the group's path. This parameter allows (through its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! ( u0021) through the DEL character ( u007F), including most punctuation characters, digits, and upper and lowercased letters." +} +""" +UpdateGroup(args) = iam("UpdateGroup", args) + +""" + UntagUser() + +Removes the specified tags from the user. For more information about tagging, see Tagging IAM Identities in the IAM User Guide. + +Required Parameters +{ + "UserName": "The name of the IAM user from which you want to remove tags. This parameter accepts (through its regex pattern) a string of characters that consist of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-", + "TagKeys": "A list of key names as a simple array of strings. The tags with matching keys are removed from the specified user." +} +""" +UntagUser(args) = iam("UntagUser", args) diff --git a/src/services/imagebuilder.jl b/src/services/imagebuilder.jl new file mode 100644 index 0000000000..c60dc918cb --- /dev/null +++ b/src/services/imagebuilder.jl @@ -0,0 +1,671 @@ +include("../AWSServices.jl") +using .AWSServices: imagebuilder + +""" + ListTagsForResource() + + Returns the list of tags for the specified resource. + +Required Parameters +{ + "resourceArn": " The Amazon Resource Name (ARN) of the resource whose tags you want to retrieve. " +} +""" +ListTagsForResource(args) = imagebuilder("GET", "/tags/{resourceArn}", args) + +""" + CreateInfrastructureConfiguration() + + Creates a new infrastructure configuration. An infrastructure configuration defines the environment in which your image will be built and tested. + +Required Parameters +{ + "name": " The name of the infrastructure configuration. ", + "instanceProfileName": " The instance profile to associate with the instance used to customize your EC2 AMI. ", + "clientToken": " The idempotency token used to make this request idempotent. " +} + +Optional Parameters +{ + "keyPair": " The key pair of the infrastructure configuration. This can be used to log on to and debug the instance used to create your image. ", + "logging": " The logging configuration of the infrastructure configuration. ", + "instanceTypes": " The instance types of the infrastructure configuration. You can specify one or more instance types to use for this build. The service will pick one of these instance types based on availability. ", + "terminateInstanceOnFailure": " The terminate instance on failure setting of the infrastructure configuration. Set to false if you want Image Builder to retain the instance used to configure your AMI if the build or test phase of your workflow fails. ", + "securityGroupIds": " The security group IDs to associate with the instance used to customize your EC2 AMI. ", + "tags": " The tags of the infrastructure configuration. ", + "description": " The description of the infrastructure configuration. ", + "subnetId": " The subnet ID in which to place the instance used to customize your EC2 AMI. ", + "snsTopicArn": " The SNS topic on which to send image build events. " +} +""" +CreateInfrastructureConfiguration(args) = imagebuilder("PUT", "/CreateInfrastructureConfiguration", args) + +""" + DeleteInfrastructureConfiguration() + + Deletes an infrastructure configuration. + +Required Parameters +{ + "infrastructureConfigurationArn": " The Amazon Resource Name (ARN) of the infrastructure configuration to delete. " +} +""" +DeleteInfrastructureConfiguration(args) = imagebuilder("DELETE", "/DeleteInfrastructureConfiguration", args) + +""" + ListComponents() + +Returns the list of component build versions for the specified semantic version. + +Optional Parameters +{ + "filters": " The filters. ", + "owner": " The owner defines which components you want to list. By default, this request will only show components owned by your account. You can use this field to specify if you want to view components owned by yourself, by Amazon, or those components that have been shared with you by other customers. ", + "maxResults": " The maximum items to return in a request. ", + "nextToken": " A token to specify where to start paginating. This is the NextToken from a previously truncated response. " +} +""" +ListComponents() = imagebuilder("POST", "/ListComponents") +ListComponents(args) = imagebuilder("POST", "/ListComponents", args) + +""" + GetInfrastructureConfiguration() + + Gets an infrastructure configuration. + +Required Parameters +{ + "infrastructureConfigurationArn": "The Amazon Resource Name (ARN) of the infrastructure configuration that you want to retrieve. " +} +""" +GetInfrastructureConfiguration(args) = imagebuilder("GET", "/GetInfrastructureConfiguration", args) + +""" + ListImages() + + Returns the list of image build versions for the specified semantic version. + +Optional Parameters +{ + "filters": " The filters. ", + "owner": " The owner defines which images you want to list. By default, this request will only show images owned by your account. You can use this field to specify if you want to view images owned by yourself, by Amazon, or those images that have been shared with you by other customers. ", + "maxResults": " The maximum items to return in a request. ", + "nextToken": " A token to specify where to start paginating. This is the NextToken from a previously truncated response. " +} +""" +ListImages() = imagebuilder("POST", "/ListImages") +ListImages(args) = imagebuilder("POST", "/ListImages", args) + +""" + CreateImagePipeline() + + Creates a new image pipeline. Image pipelines enable you to automate the creation and distribution of images. + +Required Parameters +{ + "name": " The name of the image pipeline. ", + "imageRecipeArn": " The Amazon Resource Name (ARN) of the image recipe that will be used to configure images created by this image pipeline. ", + "clientToken": " The idempotency token used to make this request idempotent. ", + "infrastructureConfigurationArn": " The Amazon Resource Name (ARN) of the infrastructure configuration that will be used to build images created by this image pipeline. " +} + +Optional Parameters +{ + "imageTestsConfiguration": " The image test configuration of the image pipeline. ", + "distributionConfigurationArn": " The Amazon Resource Name (ARN) of the distribution configuration that will be used to configure and distribute images created by this image pipeline. ", + "status": " The status of the image pipeline. ", + "tags": " The tags of the image pipeline. ", + "description": " The description of the image pipeline. ", + "schedule": " The schedule of the image pipeline. " +} +""" +CreateImagePipeline(args) = imagebuilder("PUT", "/CreateImagePipeline", args) + +""" + GetImage() + + Gets an image. + +Required Parameters +{ + "imageBuildVersionArn": " The Amazon Resource Name (ARN) of the image that you want to retrieve. " +} +""" +GetImage(args) = imagebuilder("GET", "/GetImage", args) + +""" + CreateImageRecipe() + + Creates a new image recipe. Image recipes define how images are configured, tested, and assessed. + +Required Parameters +{ + "semanticVersion": " The semantic version of the image recipe. ", + "name": " The name of the image recipe. ", + "clientToken": " The idempotency token used to make this request idempotent. ", + "components": " The components of the image recipe. ", + "parentImage": " The parent image of the image recipe. " +} + +Optional Parameters +{ + "blockDeviceMappings": " The block device mappings of the image recipe. ", + "tags": " The tags of the image recipe. ", + "description": " The description of the image recipe. " +} +""" +CreateImageRecipe(args) = imagebuilder("PUT", "/CreateImageRecipe", args) + +""" + ImportComponent() + +Imports a component and transforms its data into a component document. + +Required Parameters +{ + "semanticVersion": "The semantic version of the component. This version follows the semantic version syntax. For example, major.minor.patch. This could be versioned like software (2.0.1) or like a date (2019.12.01).", + "name": " The name of the component. ", + "format": " The format of the resource that you want to import as a component. ", + "clientToken": " The idempotency token of the component. ", + "platform": " The platform of the component. ", + "type": "The type of the component denotes whether the component is used to build the image or only to test it. " +} + +Optional Parameters +{ + "uri": "The uri of the component. Must be an S3 URL and the requester must have permission to access the S3 bucket. If you use S3, you can specify component content up to your service quota. Either data or uri can be used to specify the data within the component. ", + "data": "The data of the component. Used to specify the data inline. Either data or uri can be used to specify the data within the component.", + "changeDescription": " The change description of the component. Describes what change has been made in this version, or what makes this version different from other versions of this component. ", + "tags": " The tags of the component. ", + "description": "The description of the component. Describes the contents of the component. ", + "kmsKeyId": " The ID of the KMS key that should be used to encrypt this component. " +} +""" +ImportComponent(args) = imagebuilder("PUT", "/ImportComponent", args) + +""" + CreateDistributionConfiguration() + +Creates a new distribution configuration. Distribution configurations define and configure the outputs of your pipeline. + +Required Parameters +{ + "name": " The name of the distribution configuration. ", + "distributions": " The distributions of the distribution configuration. ", + "clientToken": " The idempotency token of the distribution configuration. " +} + +Optional Parameters +{ + "tags": " The tags of the distribution configuration. ", + "description": " The description of the distribution configuration. " +} +""" +CreateDistributionConfiguration(args) = imagebuilder("PUT", "/CreateDistributionConfiguration", args) + +""" + ListComponentBuildVersions() + + Returns the list of component build versions for the specified semantic version. + +Required Parameters +{ + "componentVersionArn": " The component version Amazon Resource Name (ARN) whose versions you want to list. " +} + +Optional Parameters +{ + "maxResults": " The maximum items to return in a request. ", + "nextToken": " A token to specify where to start paginating. This is the NextToken from a previously truncated response. " +} +""" +ListComponentBuildVersions(args) = imagebuilder("POST", "/ListComponentBuildVersions", args) + +""" + ListImageBuildVersions() + + Returns a list of distribution configurations. + +Required Parameters +{ + "imageVersionArn": " The Amazon Resource Name (ARN) of the image whose build versions you want to retrieve. " +} + +Optional Parameters +{ + "filters": " The filters. ", + "maxResults": " The maximum items to return in a request. ", + "nextToken": " A token to specify where to start paginating. This is the NextToken from a previously truncated response. " +} +""" +ListImageBuildVersions(args) = imagebuilder("POST", "/ListImageBuildVersions", args) + +""" + PutComponentPolicy() + + Applies a policy to a component. + +Required Parameters +{ + "componentArn": " The Amazon Resource Name (ARN) of the component that this policy should be applied to. ", + "policy": " The policy to apply. " +} +""" +PutComponentPolicy(args) = imagebuilder("PUT", "/PutComponentPolicy", args) + +""" + GetComponent() + + Gets a component object. + +Required Parameters +{ + "componentBuildVersionArn": " The Amazon Resource Name (ARN) of the component that you want to retrieve. Regex requires \"/ d+ \" suffix." +} +""" +GetComponent(args) = imagebuilder("GET", "/GetComponent", args) + +""" + DeleteImageRecipe() + + Deletes an image recipe. + +Required Parameters +{ + "imageRecipeArn": " The Amazon Resource Name (ARN) of the image recipe to delete. " +} +""" +DeleteImageRecipe(args) = imagebuilder("DELETE", "/DeleteImageRecipe", args) + +""" + CreateImage() + + Creates a new image. This request will create a new image along with all of the configured output resources defined in the distribution configuration. + +Required Parameters +{ + "imageRecipeArn": " The Amazon Resource Name (ARN) of the image recipe that defines how images are configured, tested, and assessed. ", + "clientToken": " The idempotency token used to make this request idempotent. ", + "infrastructureConfigurationArn": " The Amazon Resource Name (ARN) of the infrastructure configuration that defines the environment in which your image will be built and tested. " +} + +Optional Parameters +{ + "imageTestsConfiguration": " The image tests configuration of the image. ", + "distributionConfigurationArn": " The Amazon Resource Name (ARN) of the distribution configuration that defines and configures the outputs of your pipeline. ", + "tags": " The tags of the image. " +} +""" +CreateImage(args) = imagebuilder("PUT", "/CreateImage", args) + +""" + GetImageRecipePolicy() + + Gets an image recipe policy. + +Required Parameters +{ + "imageRecipeArn": " The Amazon Resource Name (ARN) of the image recipe whose policy you want to retrieve. " +} +""" +GetImageRecipePolicy(args) = imagebuilder("GET", "/GetImageRecipePolicy", args) + +""" + StartImagePipelineExecution() + + Manually triggers a pipeline to create an image. + +Required Parameters +{ + "imagePipelineArn": " The Amazon Resource Name (ARN) of the image pipeline that you want to manually invoke. ", + "clientToken": " The idempotency token used to make this request idempotent. " +} +""" +StartImagePipelineExecution(args) = imagebuilder("PUT", "/StartImagePipelineExecution", args) + +""" + DeleteImagePipeline() + + Deletes an image pipeline. + +Required Parameters +{ + "imagePipelineArn": " The Amazon Resource Name (ARN) of the image pipeline to delete. " +} +""" +DeleteImagePipeline(args) = imagebuilder("DELETE", "/DeleteImagePipeline", args) + +""" + GetComponentPolicy() + + Gets a component policy. + +Required Parameters +{ + "componentArn": " The Amazon Resource Name (ARN) of the component whose policy you want to retrieve. " +} +""" +GetComponentPolicy(args) = imagebuilder("GET", "/GetComponentPolicy", args) + +""" + ListImagePipelines() + +Returns a list of image pipelines. + +Optional Parameters +{ + "filters": " The filters. ", + "maxResults": " The maximum items to return in a request. ", + "nextToken": " A token to specify where to start paginating. This is the NextToken from a previously truncated response. " +} +""" +ListImagePipelines() = imagebuilder("POST", "/ListImagePipelines") +ListImagePipelines(args) = imagebuilder("POST", "/ListImagePipelines", args) + +""" + DeleteDistributionConfiguration() + + Deletes a distribution configuration. + +Required Parameters +{ + "distributionConfigurationArn": " The Amazon Resource Name (ARN) of the distribution configuration to delete. " +} +""" +DeleteDistributionConfiguration(args) = imagebuilder("DELETE", "/DeleteDistributionConfiguration", args) + +""" + TagResource() + + Adds a tag to a resource. + +Required Parameters +{ + "resourceArn": " The Amazon Resource Name (ARN) of the resource that you want to tag. ", + "tags": " The tags to apply to the resource. " +} +""" +TagResource(args) = imagebuilder("POST", "/tags/{resourceArn}", args) + +""" + UntagResource() + + Removes a tag from a resource. + +Required Parameters +{ + "resourceArn": " The Amazon Resource Name (ARN) of the resource that you want to untag. ", + "tagKeys": " The tag keys to remove from the resource. " +} +""" +UntagResource(args) = imagebuilder("DELETE", "/tags/{resourceArn}", args) + +""" + ListDistributionConfigurations() + + Returns a list of distribution configurations. + +Optional Parameters +{ + "filters": " The filters. ", + "maxResults": " The maximum items to return in a request. ", + "nextToken": " A token to specify where to start paginating. This is the NextToken from a previously truncated response. " +} +""" +ListDistributionConfigurations() = imagebuilder("POST", "/ListDistributionConfigurations") +ListDistributionConfigurations(args) = imagebuilder("POST", "/ListDistributionConfigurations", args) + +""" + GetImagePipeline() + + Gets an image pipeline. + +Required Parameters +{ + "imagePipelineArn": " The Amazon Resource Name (ARN) of the image pipeline that you want to retrieve. " +} +""" +GetImagePipeline(args) = imagebuilder("GET", "/GetImagePipeline", args) + +""" + UpdateInfrastructureConfiguration() + + Updates a new infrastructure configuration. An infrastructure configuration defines the environment in which your image will be built and tested. + +Required Parameters +{ + "instanceProfileName": " The instance profile to associate with the instance used to customize your EC2 AMI. ", + "clientToken": " The idempotency token used to make this request idempotent. ", + "infrastructureConfigurationArn": " The Amazon Resource Name (ARN) of the infrastructure configuration that you want to update. " +} + +Optional Parameters +{ + "keyPair": " The key pair of the infrastructure configuration. This can be used to log on to and debug the instance used to create your image. ", + "logging": " The logging configuration of the infrastructure configuration. ", + "instanceTypes": " The instance types of the infrastructure configuration. You can specify one or more instance types to use for this build. The service will pick one of these instance types based on availability. ", + "terminateInstanceOnFailure": " The terminate instance on failure setting of the infrastructure configuration. Set to false if you want Image Builder to retain the instance used to configure your AMI if the build or test phase of your workflow fails. ", + "securityGroupIds": " The security group IDs to associate with the instance used to customize your EC2 AMI. ", + "description": " The description of the infrastructure configuration. ", + "subnetId": " The subnet ID to place the instance used to customize your EC2 AMI in. ", + "snsTopicArn": " The SNS topic on which to send image build events. " +} +""" +UpdateInfrastructureConfiguration(args) = imagebuilder("PUT", "/UpdateInfrastructureConfiguration", args) + +""" + GetImagePolicy() + + Gets an image policy. + +Required Parameters +{ + "imageArn": " The Amazon Resource Name (ARN) of the image whose policy you want to retrieve. " +} +""" +GetImagePolicy(args) = imagebuilder("GET", "/GetImagePolicy", args) + +""" + PutImageRecipePolicy() + + Applies a policy to an image recipe. + +Required Parameters +{ + "imageRecipeArn": " The Amazon Resource Name (ARN) of the image recipe that this policy should be applied to. ", + "policy": " The policy to apply. " +} +""" +PutImageRecipePolicy(args) = imagebuilder("PUT", "/PutImageRecipePolicy", args) + +""" + ListInfrastructureConfigurations() + + Returns a list of infrastructure configurations. + +Optional Parameters +{ + "filters": " The filters. ", + "maxResults": " The maximum items to return in a request. ", + "nextToken": " A token to specify where to start paginating. This is the NextToken from a previously truncated response. " +} +""" +ListInfrastructureConfigurations() = imagebuilder("POST", "/ListInfrastructureConfigurations") +ListInfrastructureConfigurations(args) = imagebuilder("POST", "/ListInfrastructureConfigurations", args) + +""" + DeleteComponent() + + Deletes a component build version. + +Required Parameters +{ + "componentBuildVersionArn": " The Amazon Resource Name (ARN) of the component build version to delete. " +} +""" +DeleteComponent(args) = imagebuilder("DELETE", "/DeleteComponent", args) + +""" + DeleteImage() + + Deletes an image. + +Required Parameters +{ + "imageBuildVersionArn": " The Amazon Resource Name (ARN) of the image to delete. " +} +""" +DeleteImage(args) = imagebuilder("DELETE", "/DeleteImage", args) + +""" + ListImageRecipes() + + Returns a list of image recipes. + +Optional Parameters +{ + "filters": " The filters. ", + "owner": " The owner defines which image recipes you want to list. By default, this request will only show image recipes owned by your account. You can use this field to specify if you want to view image recipes owned by yourself, by Amazon, or those image recipes that have been shared with you by other customers. ", + "maxResults": " The maximum items to return in a request. ", + "nextToken": " A token to specify where to start paginating. This is the NextToken from a previously truncated response. " +} +""" +ListImageRecipes() = imagebuilder("POST", "/ListImageRecipes") +ListImageRecipes(args) = imagebuilder("POST", "/ListImageRecipes", args) + +""" + GetDistributionConfiguration() + + Gets a distribution configuration. + +Required Parameters +{ + "distributionConfigurationArn": " The Amazon Resource Name (ARN) of the distribution configuration that you want to retrieve. " +} +""" +GetDistributionConfiguration(args) = imagebuilder("GET", "/GetDistributionConfiguration", args) + +""" + GetImageRecipe() + + Gets an image recipe. + +Required Parameters +{ + "imageRecipeArn": " The Amazon Resource Name (ARN) of the image recipe that you want to retrieve. " +} +""" +GetImageRecipe(args) = imagebuilder("GET", "/GetImageRecipe", args) + +""" + CancelImageCreation() + +CancelImageCreation cancels the creation of Image. This operation can only be used on images in a non-terminal state. + +Required Parameters +{ + "imageBuildVersionArn": "The Amazon Resource Name (ARN) of the image whose creation you want to cancel.", + "clientToken": "The idempotency token used to make this request idempotent." +} +""" +CancelImageCreation(args) = imagebuilder("PUT", "/CancelImageCreation", args) + +""" + ListImagePipelineImages() + + Returns a list of images created by the specified pipeline. + +Required Parameters +{ + "imagePipelineArn": " The Amazon Resource Name (ARN) of the image pipeline whose images you want to view. " +} + +Optional Parameters +{ + "filters": " The filters. ", + "maxResults": " The maximum items to return in a request. ", + "nextToken": " A token to specify where to start paginating. This is the NextToken from a previously truncated response. " +} +""" +ListImagePipelineImages(args) = imagebuilder("POST", "/ListImagePipelineImages", args) + +""" + CreateComponent() + +Creates a new component that can be used to build, validate, test, and assess your image. + +Required Parameters +{ + "semanticVersion": "The semantic version of the component. This version follows the semantic version syntax. For example, major.minor.patch. This could be versioned like software (2.0.1) or like a date (2019.12.01).", + "name": "The name of the component.", + "clientToken": "The idempotency token of the component.", + "platform": "The platform of the component." +} + +Optional Parameters +{ + "uri": "The uri of the component. Must be an S3 URL and the requester must have permission to access the S3 bucket. If you use S3, you can specify component content up to your service quota. Either data or uri can be used to specify the data within the component.", + "data": "The data of the component. Used to specify the data inline. Either data or uri can be used to specify the data within the component.", + "changeDescription": "The change description of the component. Describes what change has been made in this version, or what makes this version different from other versions of this component.", + "tags": "The tags of the component.", + "description": "The description of the component. Describes the contents of the component.", + "kmsKeyId": "The ID of the KMS key that should be used to encrypt this component." +} +""" +CreateComponent(args) = imagebuilder("PUT", "/CreateComponent", args) + +""" + PutImagePolicy() + + Applies a policy to an image. + +Required Parameters +{ + "policy": " The policy to apply. ", + "imageArn": " The Amazon Resource Name (ARN) of the image that this policy should be applied to. " +} +""" +PutImagePolicy(args) = imagebuilder("PUT", "/PutImagePolicy", args) + +""" + UpdateDistributionConfiguration() + + Updates a new distribution configuration. Distribution configurations define and configure the outputs of your pipeline. + +Required Parameters +{ + "distributionConfigurationArn": " The Amazon Resource Name (ARN) of the distribution configuration that you want to update. ", + "distributions": " The distributions of the distribution configuration. ", + "clientToken": " The idempotency token of the distribution configuration. " +} + +Optional Parameters +{ + "description": " The description of the distribution configuration. " +} +""" +UpdateDistributionConfiguration(args) = imagebuilder("PUT", "/UpdateDistributionConfiguration", args) + +""" + UpdateImagePipeline() + + Updates a new image pipeline. Image pipelines enable you to automate the creation and distribution of images. + +Required Parameters +{ + "imagePipelineArn": " The Amazon Resource Name (ARN) of the image pipeline that you want to update. ", + "imageRecipeArn": " The Amazon Resource Name (ARN) of the image recipe that will be used to configure images updated by this image pipeline. ", + "clientToken": " The idempotency token used to make this request idempotent. ", + "infrastructureConfigurationArn": " The Amazon Resource Name (ARN) of the infrastructure configuration that will be used to build images updated by this image pipeline. " +} + +Optional Parameters +{ + "imageTestsConfiguration": " The image test configuration of the image pipeline. ", + "distributionConfigurationArn": " The Amazon Resource Name (ARN) of the distribution configuration that will be used to configure and distribute images updated by this image pipeline. ", + "status": " The status of the image pipeline. ", + "description": " The description of the image pipeline. ", + "schedule": " The schedule of the image pipeline. " +} +""" +UpdateImagePipeline(args) = imagebuilder("PUT", "/UpdateImagePipeline", args) diff --git a/src/services/importexport.jl b/src/services/importexport.jl new file mode 100644 index 0000000000..725e78c6d0 --- /dev/null +++ b/src/services/importexport.jl @@ -0,0 +1,118 @@ +include("../AWSServices.jl") +using .AWSServices: importexport + +""" + ListJobs() + +This operation returns the jobs associated with the requester. AWS Import/Export lists the jobs in reverse chronological order based on the date of creation. For example if Job Test1 was created 2009Dec30 and Test2 was created 2010Feb05, the ListJobs operation would return Test2 followed by Test1. + +Optional Parameters +{ + "Marker": "", + "APIVersion": "", + "MaxJobs": "" +} +""" +ListJobs() = importexport("ListJobs") +ListJobs(args) = importexport("ListJobs", args) + +""" + GetShippingLabel() + +This operation generates a pre-paid UPS shipping label that you will use to ship your device to AWS for processing. + +Required Parameters +{ + "jobIds": "" +} + +Optional Parameters +{ + "street3": "", + "name": "", + "postalCode": "", + "country": "", + "street2": "", + "company": "", + "stateOrProvince": "", + "APIVersion": "", + "phoneNumber": "", + "city": "", + "street1": "" +} +""" +GetShippingLabel(args) = importexport("GetShippingLabel", args) + +""" + GetStatus() + +This operation returns information about a job, including where the job is in the processing pipeline, the status of the results, and the signature value associated with the job. You can only return information about jobs you own. + +Required Parameters +{ + "JobId": "" +} + +Optional Parameters +{ + "APIVersion": "" +} +""" +GetStatus(args) = importexport("GetStatus", args) + +""" + CancelJob() + +This operation cancels a specified job. Only the job owner can cancel it. The operation fails if the job has already started or is complete. + +Required Parameters +{ + "JobId": "" +} + +Optional Parameters +{ + "APIVersion": "" +} +""" +CancelJob(args) = importexport("CancelJob", args) + +""" + UpdateJob() + +You use this operation to change the parameters specified in the original manifest file by supplying a new manifest file. The manifest file attached to this request replaces the original manifest file. You can only use the operation after a CreateJob request but before the data transfer starts and you can only use it on jobs you own. + +Required Parameters +{ + "ValidateOnly": "", + "Manifest": "", + "JobType": "", + "JobId": "" +} + +Optional Parameters +{ + "APIVersion": "" +} +""" +UpdateJob(args) = importexport("UpdateJob", args) + +""" + CreateJob() + +This operation initiates the process of scheduling an upload or download of your data. You include in the request a manifest that describes the data transfer specifics. The response to the request includes a job ID, which you can use in other operations, a signature that you use to identify your storage device, and the address where you should ship your storage device. + +Required Parameters +{ + "ValidateOnly": "", + "Manifest": "", + "JobType": "" +} + +Optional Parameters +{ + "ManifestAddendum": "", + "APIVersion": "" +} +""" +CreateJob(args) = importexport("CreateJob", args) diff --git a/src/services/inspector.jl b/src/services/inspector.jl new file mode 100644 index 0000000000..ac389fc693 --- /dev/null +++ b/src/services/inspector.jl @@ -0,0 +1,546 @@ +include("../AWSServices.jl") +using .AWSServices: inspector + +""" + ListTagsForResource() + +Lists all tags associated with an assessment template. + +Required Parameters +{ + "resourceArn": "The ARN that specifies the assessment template whose tags you want to list." +} +""" +ListTagsForResource(args) = inspector("ListTagsForResource", args) + +""" + DescribeAssessmentTargets() + +Describes the assessment targets that are specified by the ARNs of the assessment targets. + +Required Parameters +{ + "assessmentTargetArns": "The ARNs that specifies the assessment targets that you want to describe." +} +""" +DescribeAssessmentTargets(args) = inspector("DescribeAssessmentTargets", args) + +""" + ListExclusions() + +List exclusions that are generated by the assessment run. + +Required Parameters +{ + "assessmentRunArn": "The ARN of the assessment run that generated the exclusions that you want to list." +} + +Optional Parameters +{ + "maxResults": "You can use this parameter to indicate the maximum number of items you want in the response. The default value is 100. The maximum value is 500.", + "nextToken": "You can use this parameter when paginating results. Set the value of this parameter to null on your first call to the ListExclusionsRequest action. Subsequent calls to the action fill nextToken in the request with the value of nextToken from the previous response to continue listing data." +} +""" +ListExclusions(args) = inspector("ListExclusions", args) + +""" + ListAssessmentRunAgents() + +Lists the agents of the assessment runs that are specified by the ARNs of the assessment runs. + +Required Parameters +{ + "assessmentRunArn": "The ARN that specifies the assessment run whose agents you want to list." +} + +Optional Parameters +{ + "filter": "You can use this parameter to specify a subset of data to be included in the action's response. For a record to match a filter, all specified filter attributes must match. When multiple values are specified for a filter attribute, any of the values can match.", + "maxResults": "You can use this parameter to indicate the maximum number of items that you want in the response. The default value is 10. The maximum value is 500.", + "nextToken": "You can use this parameter when paginating results. Set the value of this parameter to null on your first call to the ListAssessmentRunAgents action. Subsequent calls to the action fill nextToken in the request with the value of NextToken from the previous response to continue listing data." +} +""" +ListAssessmentRunAgents(args) = inspector("ListAssessmentRunAgents", args) + +""" + ListAssessmentTemplates() + +Lists the assessment templates that correspond to the assessment targets that are specified by the ARNs of the assessment targets. + +Optional Parameters +{ + "assessmentTargetArns": "A list of ARNs that specifies the assessment targets whose assessment templates you want to list.", + "filter": "You can use this parameter to specify a subset of data to be included in the action's response. For a record to match a filter, all specified filter attributes must match. When multiple values are specified for a filter attribute, any of the values can match.", + "maxResults": "You can use this parameter to indicate the maximum number of items you want in the response. The default value is 10. The maximum value is 500.", + "nextToken": "You can use this parameter when paginating results. Set the value of this parameter to null on your first call to the ListAssessmentTemplates action. Subsequent calls to the action fill nextToken in the request with the value of NextToken from the previous response to continue listing data." +} +""" +ListAssessmentTemplates() = inspector("ListAssessmentTemplates") +ListAssessmentTemplates(args) = inspector("ListAssessmentTemplates", args) + +""" + AddAttributesToFindings() + +Assigns attributes (key and value pairs) to the findings that are specified by the ARNs of the findings. + +Required Parameters +{ + "attributes": "The array of attributes that you want to assign to specified findings.", + "findingArns": "The ARNs that specify the findings that you want to assign attributes to." +} +""" +AddAttributesToFindings(args) = inspector("AddAttributesToFindings", args) + +""" + DescribeAssessmentRuns() + +Describes the assessment runs that are specified by the ARNs of the assessment runs. + +Required Parameters +{ + "assessmentRunArns": "The ARN that specifies the assessment run that you want to describe." +} +""" +DescribeAssessmentRuns(args) = inspector("DescribeAssessmentRuns", args) + +""" + ListFindings() + +Lists findings that are generated by the assessment runs that are specified by the ARNs of the assessment runs. + +Optional Parameters +{ + "assessmentRunArns": "The ARNs of the assessment runs that generate the findings that you want to list.", + "filter": "You can use this parameter to specify a subset of data to be included in the action's response. For a record to match a filter, all specified filter attributes must match. When multiple values are specified for a filter attribute, any of the values can match.", + "maxResults": "You can use this parameter to indicate the maximum number of items you want in the response. The default value is 10. The maximum value is 500.", + "nextToken": "You can use this parameter when paginating results. Set the value of this parameter to null on your first call to the ListFindings action. Subsequent calls to the action fill nextToken in the request with the value of NextToken from the previous response to continue listing data." +} +""" +ListFindings() = inspector("ListFindings") +ListFindings(args) = inspector("ListFindings", args) + +""" + CreateAssessmentTemplate() + +Creates an assessment template for the assessment target that is specified by the ARN of the assessment target. If the service-linked role isn’t already registered, this action also creates and registers a service-linked role to grant Amazon Inspector access to AWS Services needed to perform security assessments. + +Required Parameters +{ + "rulesPackageArns": "The ARNs that specify the rules packages that you want to attach to the assessment template.", + "durationInSeconds": "The duration of the assessment run in seconds.", + "assessmentTemplateName": "The user-defined name that identifies the assessment template that you want to create. You can create several assessment templates for an assessment target. The names of the assessment templates that correspond to a particular assessment target must be unique.", + "assessmentTargetArn": "The ARN that specifies the assessment target for which you want to create the assessment template." +} + +Optional Parameters +{ + "userAttributesForFindings": "The user-defined attributes that are assigned to every finding that is generated by the assessment run that uses this assessment template. An attribute is a key and value pair (an Attribute object). Within an assessment template, each key must be unique." +} +""" +CreateAssessmentTemplate(args) = inspector("CreateAssessmentTemplate", args) + +""" + ListAssessmentRuns() + +Lists the assessment runs that correspond to the assessment templates that are specified by the ARNs of the assessment templates. + +Optional Parameters +{ + "assessmentTemplateArns": "The ARNs that specify the assessment templates whose assessment runs you want to list.", + "filter": "You can use this parameter to specify a subset of data to be included in the action's response. For a record to match a filter, all specified filter attributes must match. When multiple values are specified for a filter attribute, any of the values can match.", + "maxResults": "You can use this parameter to indicate the maximum number of items that you want in the response. The default value is 10. The maximum value is 500.", + "nextToken": "You can use this parameter when paginating results. Set the value of this parameter to null on your first call to the ListAssessmentRuns action. Subsequent calls to the action fill nextToken in the request with the value of NextToken from the previous response to continue listing data." +} +""" +ListAssessmentRuns() = inspector("ListAssessmentRuns") +ListAssessmentRuns(args) = inspector("ListAssessmentRuns", args) + +""" + RemoveAttributesFromFindings() + +Removes entire attributes (key and value pairs) from the findings that are specified by the ARNs of the findings where an attribute with the specified key exists. + +Required Parameters +{ + "attributeKeys": "The array of attribute keys that you want to remove from specified findings.", + "findingArns": "The ARNs that specify the findings that you want to remove attributes from." +} +""" +RemoveAttributesFromFindings(args) = inspector("RemoveAttributesFromFindings", args) + +""" + SetTagsForResource() + +Sets tags (key and value pairs) to the assessment template that is specified by the ARN of the assessment template. + +Required Parameters +{ + "resourceArn": "The ARN of the assessment template that you want to set tags to." +} + +Optional Parameters +{ + "tags": "A collection of key and value pairs that you want to set to the assessment template." +} +""" +SetTagsForResource(args) = inspector("SetTagsForResource", args) + +""" + DescribeRulesPackages() + +Describes the rules packages that are specified by the ARNs of the rules packages. + +Required Parameters +{ + "rulesPackageArns": "The ARN that specifies the rules package that you want to describe." +} + +Optional Parameters +{ + "locale": "The locale that you want to translate a rules package description into." +} +""" +DescribeRulesPackages(args) = inspector("DescribeRulesPackages", args) + +""" + GetAssessmentReport() + +Produces an assessment report that includes detailed and comprehensive results of a specified assessment run. + +Required Parameters +{ + "reportFileFormat": "Specifies the file format (html or pdf) of the assessment report that you want to generate.", + "assessmentRunArn": "The ARN that specifies the assessment run for which you want to generate a report.", + "reportType": "Specifies the type of the assessment report that you want to generate. There are two types of assessment reports: a finding report and a full report. For more information, see Assessment Reports. " +} +""" +GetAssessmentReport(args) = inspector("GetAssessmentReport", args) + +""" + ListAssessmentTargets() + +Lists the ARNs of the assessment targets within this AWS account. For more information about assessment targets, see Amazon Inspector Assessment Targets. + +Optional Parameters +{ + "filter": "You can use this parameter to specify a subset of data to be included in the action's response. For a record to match a filter, all specified filter attributes must match. When multiple values are specified for a filter attribute, any of the values can match.", + "maxResults": "You can use this parameter to indicate the maximum number of items you want in the response. The default value is 10. The maximum value is 500.", + "nextToken": "You can use this parameter when paginating results. Set the value of this parameter to null on your first call to the ListAssessmentTargets action. Subsequent calls to the action fill nextToken in the request with the value of NextToken from the previous response to continue listing data." +} +""" +ListAssessmentTargets() = inspector("ListAssessmentTargets") +ListAssessmentTargets(args) = inspector("ListAssessmentTargets", args) + +""" + GetExclusionsPreview() + +Retrieves the exclusions preview (a list of ExclusionPreview objects) specified by the preview token. You can obtain the preview token by running the CreateExclusionsPreview API. + +Required Parameters +{ + "previewToken": "The unique identifier associated of the exclusions preview.", + "assessmentTemplateArn": "The ARN that specifies the assessment template for which the exclusions preview was requested." +} + +Optional Parameters +{ + "locale": "The locale into which you want to translate the exclusion's title, description, and recommendation.", + "maxResults": "You can use this parameter to indicate the maximum number of items you want in the response. The default value is 100. The maximum value is 500.", + "nextToken": "You can use this parameter when paginating results. Set the value of this parameter to null on your first call to the GetExclusionsPreviewRequest action. Subsequent calls to the action fill nextToken in the request with the value of nextToken from the previous response to continue listing data." +} +""" +GetExclusionsPreview(args) = inspector("GetExclusionsPreview", args) + +""" + ListEventSubscriptions() + +Lists all the event subscriptions for the assessment template that is specified by the ARN of the assessment template. For more information, see SubscribeToEvent and UnsubscribeFromEvent. + +Optional Parameters +{ + "resourceArn": "The ARN of the assessment template for which you want to list the existing event subscriptions.", + "maxResults": "You can use this parameter to indicate the maximum number of items you want in the response. The default value is 10. The maximum value is 500.", + "nextToken": "You can use this parameter when paginating results. Set the value of this parameter to null on your first call to the ListEventSubscriptions action. Subsequent calls to the action fill nextToken in the request with the value of NextToken from the previous response to continue listing data." +} +""" +ListEventSubscriptions() = inspector("ListEventSubscriptions") +ListEventSubscriptions(args) = inspector("ListEventSubscriptions", args) + +""" + ListRulesPackages() + +Lists all available Amazon Inspector rules packages. + +Optional Parameters +{ + "maxResults": "You can use this parameter to indicate the maximum number of items you want in the response. The default value is 10. The maximum value is 500.", + "nextToken": "You can use this parameter when paginating results. Set the value of this parameter to null on your first call to the ListRulesPackages action. Subsequent calls to the action fill nextToken in the request with the value of NextToken from the previous response to continue listing data." +} +""" +ListRulesPackages() = inspector("ListRulesPackages") +ListRulesPackages(args) = inspector("ListRulesPackages", args) + +""" + StartAssessmentRun() + +Starts the assessment run specified by the ARN of the assessment template. For this API to function properly, you must not exceed the limit of running up to 500 concurrent agents per AWS account. + +Required Parameters +{ + "assessmentTemplateArn": "The ARN of the assessment template of the assessment run that you want to start." +} + +Optional Parameters +{ + "assessmentRunName": "You can specify the name for the assessment run. The name must be unique for the assessment template whose ARN is used to start the assessment run." +} +""" +StartAssessmentRun(args) = inspector("StartAssessmentRun", args) + +""" + CreateResourceGroup() + +Creates a resource group using the specified set of tags (key and value pairs) that are used to select the EC2 instances to be included in an Amazon Inspector assessment target. The created resource group is then used to create an Amazon Inspector assessment target. For more information, see CreateAssessmentTarget. + +Required Parameters +{ + "resourceGroupTags": "A collection of keys and an array of possible values, '[{\"key\":\"key1\",\"values\":[\"Value1\",\"Value2\"]},{\"key\":\"Key2\",\"values\":[\"Value3\"]}]'. For example,'[{\"key\":\"Name\",\"values\":[\"TestEC2Instance\"]}]'." +} +""" +CreateResourceGroup(args) = inspector("CreateResourceGroup", args) + +""" + GetTelemetryMetadata() + +Information about the data that is collected for the specified assessment run. + +Required Parameters +{ + "assessmentRunArn": "The ARN that specifies the assessment run that has the telemetry data that you want to obtain." +} +""" +GetTelemetryMetadata(args) = inspector("GetTelemetryMetadata", args) + +""" + UpdateAssessmentTarget() + +Updates the assessment target that is specified by the ARN of the assessment target. If resourceGroupArn is not specified, all EC2 instances in the current AWS account and region are included in the assessment target. + +Required Parameters +{ + "assessmentTargetName": "The name of the assessment target that you want to update.", + "assessmentTargetArn": "The ARN of the assessment target that you want to update." +} + +Optional Parameters +{ + "resourceGroupArn": "The ARN of the resource group that is used to specify the new resource group to associate with the assessment target." +} +""" +UpdateAssessmentTarget(args) = inspector("UpdateAssessmentTarget", args) + +""" + DescribeResourceGroups() + +Describes the resource groups that are specified by the ARNs of the resource groups. + +Required Parameters +{ + "resourceGroupArns": "The ARN that specifies the resource group that you want to describe." +} +""" +DescribeResourceGroups(args) = inspector("DescribeResourceGroups", args) + +""" + UnsubscribeFromEvent() + +Disables the process of sending Amazon Simple Notification Service (SNS) notifications about a specified event to a specified SNS topic. + +Required Parameters +{ + "event": "The event for which you want to stop receiving SNS notifications.", + "resourceArn": "The ARN of the assessment template that is used during the event for which you want to stop receiving SNS notifications.", + "topicArn": "The ARN of the SNS topic to which SNS notifications are sent." +} +""" +UnsubscribeFromEvent(args) = inspector("UnsubscribeFromEvent", args) + +""" + DeleteAssessmentRun() + +Deletes the assessment run that is specified by the ARN of the assessment run. + +Required Parameters +{ + "assessmentRunArn": "The ARN that specifies the assessment run that you want to delete." +} +""" +DeleteAssessmentRun(args) = inspector("DeleteAssessmentRun", args) + +""" + StopAssessmentRun() + +Stops the assessment run that is specified by the ARN of the assessment run. + +Required Parameters +{ + "assessmentRunArn": "The ARN of the assessment run that you want to stop." +} + +Optional Parameters +{ + "stopAction": "An input option that can be set to either START_EVALUATION or SKIP_EVALUATION. START_EVALUATION (the default value), stops the AWS agent from collecting data and begins the results evaluation and the findings generation process. SKIP_EVALUATION cancels the assessment run immediately, after which no findings are generated." +} +""" +StopAssessmentRun(args) = inspector("StopAssessmentRun", args) + +""" + CreateAssessmentTarget() + +Creates a new assessment target using the ARN of the resource group that is generated by CreateResourceGroup. If resourceGroupArn is not specified, all EC2 instances in the current AWS account and region are included in the assessment target. If the service-linked role isn’t already registered, this action also creates and registers a service-linked role to grant Amazon Inspector access to AWS Services needed to perform security assessments. You can create up to 50 assessment targets per AWS account. You can run up to 500 concurrent agents per AWS account. For more information, see Amazon Inspector Assessment Targets. + +Required Parameters +{ + "assessmentTargetName": "The user-defined name that identifies the assessment target that you want to create. The name must be unique within the AWS account." +} + +Optional Parameters +{ + "resourceGroupArn": "The ARN that specifies the resource group that is used to create the assessment target. If resourceGroupArn is not specified, all EC2 instances in the current AWS account and region are included in the assessment target." +} +""" +CreateAssessmentTarget(args) = inspector("CreateAssessmentTarget", args) + +""" + PreviewAgents() + +Previews the agents installed on the EC2 instances that are part of the specified assessment target. + +Required Parameters +{ + "previewAgentsArn": "The ARN of the assessment target whose agents you want to preview." +} + +Optional Parameters +{ + "maxResults": "You can use this parameter to indicate the maximum number of items you want in the response. The default value is 10. The maximum value is 500.", + "nextToken": "You can use this parameter when paginating results. Set the value of this parameter to null on your first call to the PreviewAgents action. Subsequent calls to the action fill nextToken in the request with the value of NextToken from the previous response to continue listing data." +} +""" +PreviewAgents(args) = inspector("PreviewAgents", args) + +""" + DescribeAssessmentTemplates() + +Describes the assessment templates that are specified by the ARNs of the assessment templates. + +Required Parameters +{ + "assessmentTemplateArns": "" +} +""" +DescribeAssessmentTemplates(args) = inspector("DescribeAssessmentTemplates", args) + +""" + DescribeFindings() + +Describes the findings that are specified by the ARNs of the findings. + +Required Parameters +{ + "findingArns": "The ARN that specifies the finding that you want to describe." +} + +Optional Parameters +{ + "locale": "The locale into which you want to translate a finding description, recommendation, and the short description that identifies the finding." +} +""" +DescribeFindings(args) = inspector("DescribeFindings", args) + +""" + CreateExclusionsPreview() + +Starts the generation of an exclusions preview for the specified assessment template. The exclusions preview lists the potential exclusions (ExclusionPreview) that Inspector can detect before it runs the assessment. + +Required Parameters +{ + "assessmentTemplateArn": "The ARN that specifies the assessment template for which you want to create an exclusions preview." +} +""" +CreateExclusionsPreview(args) = inspector("CreateExclusionsPreview", args) + +""" + DeleteAssessmentTarget() + +Deletes the assessment target that is specified by the ARN of the assessment target. + +Required Parameters +{ + "assessmentTargetArn": "The ARN that specifies the assessment target that you want to delete." +} +""" +DeleteAssessmentTarget(args) = inspector("DeleteAssessmentTarget", args) + +""" + DeleteAssessmentTemplate() + +Deletes the assessment template that is specified by the ARN of the assessment template. + +Required Parameters +{ + "assessmentTemplateArn": "The ARN that specifies the assessment template that you want to delete." +} +""" +DeleteAssessmentTemplate(args) = inspector("DeleteAssessmentTemplate", args) + +""" + DescribeCrossAccountAccessRole() + +Describes the IAM role that enables Amazon Inspector to access your AWS account. +""" +DescribeCrossAccountAccessRole() = inspector("DescribeCrossAccountAccessRole") +DescribeCrossAccountAccessRole(args) = inspector("DescribeCrossAccountAccessRole", args) + +""" + DescribeExclusions() + +Describes the exclusions that are specified by the exclusions' ARNs. + +Required Parameters +{ + "exclusionArns": "The list of ARNs that specify the exclusions that you want to describe." +} + +Optional Parameters +{ + "locale": "The locale into which you want to translate the exclusion's title, description, and recommendation." +} +""" +DescribeExclusions(args) = inspector("DescribeExclusions", args) + +""" + RegisterCrossAccountAccessRole() + +Registers the IAM role that grants Amazon Inspector access to AWS Services needed to perform security assessments. + +Required Parameters +{ + "roleArn": "The ARN of the IAM role that grants Amazon Inspector access to AWS Services needed to perform security assessments. " +} +""" +RegisterCrossAccountAccessRole(args) = inspector("RegisterCrossAccountAccessRole", args) + +""" + SubscribeToEvent() + +Enables the process of sending Amazon Simple Notification Service (SNS) notifications about a specified event to a specified SNS topic. + +Required Parameters +{ + "event": "The event for which you want to receive SNS notifications.", + "resourceArn": "The ARN of the assessment template that is used during the event for which you want to receive SNS notifications.", + "topicArn": "The ARN of the SNS topic to which the SNS notifications are sent." +} +""" +SubscribeToEvent(args) = inspector("SubscribeToEvent", args) diff --git a/src/services/iot.jl b/src/services/iot.jl new file mode 100644 index 0000000000..8f6034efe7 --- /dev/null +++ b/src/services/iot.jl @@ -0,0 +1,3089 @@ +include("../AWSServices.jl") +using .AWSServices: iot + +""" + DeleteMitigationAction() + +Deletes a defined mitigation action from your AWS account. + +Required Parameters +{ + "actionName": "The name of the mitigation action that you want to delete." +} +""" +DeleteMitigationAction(args) = iot("DELETE", "/mitigationactions/actions/{actionName}", args) + +""" + DescribeJobExecution() + +Describes a job execution. + +Required Parameters +{ + "jobId": "The unique identifier you assigned to this job when it was created.", + "thingName": "The name of the thing on which the job execution is running." +} + +Optional Parameters +{ + "executionNumber": "A string (consisting of the digits \"0\" through \"9\" which is used to specify a particular job execution on a particular device." +} +""" +DescribeJobExecution(args) = iot("GET", "/things/{thingName}/jobs/{jobId}", args) + +""" + AttachSecurityProfile() + +Associates a Device Defender security profile with a thing group or this account. Each thing group or account can have up to five security profiles associated with it. + +Required Parameters +{ + "securityProfileTargetArn": "The ARN of the target (thing group) to which the security profile is attached.", + "securityProfileName": "The security profile that is attached." +} +""" +AttachSecurityProfile(args) = iot("PUT", "/security-profiles/{securityProfileName}/targets", args) + +""" + ListTargetsForPolicy() + +List targets for the specified policy. + +Required Parameters +{ + "policyName": "The policy name." +} + +Optional Parameters +{ + "pageSize": "The maximum number of results to return at one time.", + "marker": "A marker used to get the next set of results." +} +""" +ListTargetsForPolicy(args) = iot("POST", "/policy-targets/{policyName}", args) + +""" + ListThingTypes() + +Lists the existing thing types. + +Optional Parameters +{ + "thingTypeName": "The name of the thing type.", + "maxResults": "The maximum number of results to return in this operation.", + "nextToken": "The token to retrieve the next set of results." +} +""" +ListThingTypes() = iot("GET", "/thing-types") +ListThingTypes(args) = iot("GET", "/thing-types", args) + +""" + TransferCertificate() + +Transfers the specified certificate to the specified AWS account. You can cancel the transfer until it is acknowledged by the recipient. No notification is sent to the transfer destination's account. It is up to the caller to notify the transfer target. The certificate being transferred must not be in the ACTIVE state. You can use the UpdateCertificate API to deactivate it. The certificate must not have any policies attached to it. You can use the DetachPrincipalPolicy API to detach them. + +Required Parameters +{ + "certificateId": "The ID of the certificate. (The last part of the certificate ARN contains the certificate ID.)", + "targetAwsAccount": "The AWS account." +} + +Optional Parameters +{ + "transferMessage": "The transfer message." +} +""" +TransferCertificate(args) = iot("PATCH", "/transfer-certificate/{certificateId}", args) + +""" + CreateCertificateFromCsr() + +Creates an X.509 certificate using the specified certificate signing request. Note: The CSR must include a public key that is either an RSA key with a length of at least 2048 bits or an ECC key from NIST P-256 or NIST P-384 curves. Note: Reusing the same certificate signing request (CSR) results in a distinct certificate. You can create multiple certificates in a batch by creating a directory, copying multiple .csr files into that directory, and then specifying that directory on the command line. The following commands show how to create a batch of certificates given a batch of CSRs. Assuming a set of CSRs are located inside of the directory my-csr-directory: On Linux and OS X, the command is: ls my-csr-directory/ | xargs -I {} aws iot create-certificate-from-csr --certificate-signing-request file://my-csr-directory/{} This command lists all of the CSRs in my-csr-directory and pipes each CSR file name to the aws iot create-certificate-from-csr AWS CLI command to create a certificate for the corresponding CSR. The aws iot create-certificate-from-csr part of the command can also be run in parallel to speed up the certificate creation process: ls my-csr-directory/ | xargs -P 10 -I {} aws iot create-certificate-from-csr --certificate-signing-request file://my-csr-directory/{} On Windows PowerShell, the command to create certificates for all CSRs in my-csr-directory is: > ls -Name my-csr-directory | %{aws iot create-certificate-from-csr --certificate-signing-request file://my-csr-directory/ _} On a Windows command prompt, the command to create certificates for all CSRs in my-csr-directory is: > forfiles /p my-csr-directory /c "cmd /c aws iot create-certificate-from-csr --certificate-signing-request file://@path" + +Required Parameters +{ + "certificateSigningRequest": "The certificate signing request (CSR)." +} + +Optional Parameters +{ + "setAsActive": "Specifies whether the certificate is active." +} +""" +CreateCertificateFromCsr(args) = iot("POST", "/certificates", args) + +""" + GetPolicyVersion() + +Gets information about the specified policy version. + +Required Parameters +{ + "policyName": "The name of the policy.", + "policyVersionId": "The policy version ID." +} +""" +GetPolicyVersion(args) = iot("GET", "/policies/{policyName}/version/{policyVersionId}", args) + +""" + DeleteDynamicThingGroup() + +Deletes a dynamic thing group. + +Required Parameters +{ + "thingGroupName": "The name of the dynamic thing group to delete." +} + +Optional Parameters +{ + "expectedVersion": "The expected version of the dynamic thing group to delete." +} +""" +DeleteDynamicThingGroup(args) = iot("DELETE", "/dynamic-thing-groups/{thingGroupName}", args) + +""" + ListTopicRules() + +Lists the rules for the specific topic. + +Optional Parameters +{ + "ruleDisabled": "Specifies whether the rule is disabled.", + "topic": "The topic.", + "maxResults": "The maximum number of results to return.", + "nextToken": "A token used to retrieve the next value." +} +""" +ListTopicRules() = iot("GET", "/rules") +ListTopicRules(args) = iot("GET", "/rules", args) + +""" + DescribeProvisioningTemplate() + +Returns information about a fleet provisioning template. + +Required Parameters +{ + "templateName": "The name of the fleet provisioning template." +} +""" +DescribeProvisioningTemplate(args) = iot("GET", "/provisioning-templates/{templateName}", args) + +""" + ListIndices() + +Lists the search indices. + +Optional Parameters +{ + "maxResults": "The maximum number of results to return at one time.", + "nextToken": "The token used to get the next set of results, or null if there are no additional results." +} +""" +ListIndices() = iot("GET", "/indices") +ListIndices(args) = iot("GET", "/indices", args) + +""" + DescribeThingGroup() + +Describe a thing group. + +Required Parameters +{ + "thingGroupName": "The name of the thing group." +} +""" +DescribeThingGroup(args) = iot("GET", "/thing-groups/{thingGroupName}", args) + +""" + StopThingRegistrationTask() + +Cancels a bulk thing provisioning task. + +Required Parameters +{ + "taskId": "The bulk thing provisioning task ID." +} +""" +StopThingRegistrationTask(args) = iot("PUT", "/thing-registration-tasks/{taskId}/cancel", args) + +""" + DescribeMitigationAction() + +Gets information about a mitigation action. + +Required Parameters +{ + "actionName": "The friendly name that uniquely identifies the mitigation action." +} +""" +DescribeMitigationAction(args) = iot("GET", "/mitigationactions/actions/{actionName}", args) + +""" + ListThingGroupsForThing() + +List the thing groups to which the specified thing belongs. + +Required Parameters +{ + "thingName": "The thing name." +} + +Optional Parameters +{ + "maxResults": "The maximum number of results to return at one time.", + "nextToken": "The token to retrieve the next set of results." +} +""" +ListThingGroupsForThing(args) = iot("GET", "/things/{thingName}/thing-groups", args) + +""" + TestInvokeAuthorizer() + +Tests a custom authorization behavior by invoking a specified custom authorizer. Use this to test and debug the custom authorization behavior of devices that connect to the AWS IoT device gateway. + +Required Parameters +{ + "authorizerName": "The custom authorizer name." +} + +Optional Parameters +{ + "token": "The token returned by your custom authentication service.", + "httpContext": "Specifies a test HTTP authorization request.", + "mqttContext": "Specifies a test MQTT authorization request.", + "tokenSignature": "The signature made with the token and your custom authentication service's private key.", + "tlsContext": "Specifies a test TLS authorization request." +} +""" +TestInvokeAuthorizer(args) = iot("POST", "/authorizer/{authorizerName}/test", args) + +""" + ListAuthorizers() + +Lists the authorizers registered in your account. + +Optional Parameters +{ + "ascendingOrder": "Return the list of authorizers in ascending alphabetical order.", + "pageSize": "The maximum number of results to return at one time.", + "status": "The status of the list authorizers request.", + "marker": "A marker used to get the next set of results." +} +""" +ListAuthorizers() = iot("GET", "/authorizers/") +ListAuthorizers(args) = iot("GET", "/authorizers/", args) + +""" + CancelAuditTask() + +Cancels an audit that is in progress. The audit can be either scheduled or on-demand. If the audit is not in progress, an "InvalidRequestException" occurs. + +Required Parameters +{ + "taskId": "The ID of the audit you want to cancel. You can only cancel an audit that is \"IN_PROGRESS\"." +} +""" +CancelAuditTask(args) = iot("PUT", "/audit/tasks/{taskId}/cancel", args) + +""" + CreateProvisioningTemplate() + +Creates a fleet provisioning template. + +Required Parameters +{ + "provisioningRoleArn": "The role ARN for the role associated with the fleet provisioning template. This IoT role grants permission to provision a device.", + "templateName": "The name of the fleet provisioning template.", + "templateBody": "The JSON formatted contents of the fleet provisioning template." +} + +Optional Parameters +{ + "enabled": "True to enable the fleet provisioning template, otherwise false.", + "tags": "Metadata which can be used to manage the fleet provisioning template. For URI Request parameters use format: ...key1=value1&key2=value2... For the CLI command-line parameter use format: &&tags \"key1=value1&key2=value2...\" For the cli-input-json file use format: \"tags\": \"key1=value1&key2=value2...\" ", + "description": "The description of the fleet provisioning template." +} +""" +CreateProvisioningTemplate(args) = iot("POST", "/provisioning-templates", args) + +""" + ListBillingGroups() + +Lists the billing groups you have created. + +Optional Parameters +{ + "namePrefixFilter": "Limit the results to billing groups whose names have the given prefix.", + "maxResults": "The maximum number of results to return per request.", + "nextToken": "The token to retrieve the next set of results." +} +""" +ListBillingGroups() = iot("GET", "/billing-groups") +ListBillingGroups(args) = iot("GET", "/billing-groups", args) + +""" + ListScheduledAudits() + +Lists all of your scheduled audits. + +Optional Parameters +{ + "maxResults": "The maximum number of results to return at one time. The default is 25.", + "nextToken": "The token for the next set of results." +} +""" +ListScheduledAudits() = iot("GET", "/audit/scheduledaudits") +ListScheduledAudits(args) = iot("GET", "/audit/scheduledaudits", args) + +""" + ListTargetsForSecurityProfile() + +Lists the targets (thing groups) associated with a given Device Defender security profile. + +Required Parameters +{ + "securityProfileName": "The security profile." +} + +Optional Parameters +{ + "maxResults": "The maximum number of results to return at one time.", + "nextToken": "The token for the next set of results." +} +""" +ListTargetsForSecurityProfile(args) = iot("GET", "/security-profiles/{securityProfileName}/targets", args) + +""" + CreateRoleAlias() + +Creates a role alias. + +Required Parameters +{ + "roleArn": "The role ARN.", + "roleAlias": "The role alias that points to a role ARN. This allows you to change the role without having to update the device." +} + +Optional Parameters +{ + "credentialDurationSeconds": "How long (in seconds) the credentials will be valid." +} +""" +CreateRoleAlias(args) = iot("POST", "/role-aliases/{roleAlias}", args) + +""" + CreateBillingGroup() + +Creates a billing group. + +Required Parameters +{ + "billingGroupName": "The name you wish to give to the billing group." +} + +Optional Parameters +{ + "tags": "Metadata which can be used to manage the billing group.", + "billingGroupProperties": "The properties of the billing group." +} +""" +CreateBillingGroup(args) = iot("POST", "/billing-groups/{billingGroupName}", args) + +""" + DeleteJob() + +Deletes a job and its related job executions. Deleting a job may take time, depending on the number of job executions created for the job and various other factors. While the job is being deleted, the status of the job will be shown as "DELETION_IN_PROGRESS". Attempting to delete or cancel a job whose status is already "DELETION_IN_PROGRESS" will result in an error. Only 10 jobs may have status "DELETION_IN_PROGRESS" at the same time, or a LimitExceededException will occur. + +Required Parameters +{ + "jobId": "The ID of the job to be deleted. After a job deletion is completed, you may reuse this jobId when you create a new job. However, this is not recommended, and you must ensure that your devices are not using the jobId to refer to the deleted job." +} + +Optional Parameters +{ + "force": "(Optional) When true, you can delete a job which is \"IN_PROGRESS\". Otherwise, you can only delete a job which is in a terminal state (\"COMPLETED\" or \"CANCELED\") or an exception will occur. The default is false. Deleting a job which is \"IN_PROGRESS\", will cause a device which is executing the job to be unable to access job information or update the job execution status. Use caution and ensure that each device executing a job which is deleted is able to recover to a valid state. " +} +""" +DeleteJob(args) = iot("DELETE", "/jobs/{jobId}", args) + +""" + StartThingRegistrationTask() + +Creates a bulk thing provisioning task. + +Required Parameters +{ + "roleArn": "The IAM role ARN that grants permission the input file.", + "inputFileKey": "The name of input file within the S3 bucket. This file contains a newline delimited JSON file. Each line contains the parameter values to provision one device (thing).", + "inputFileBucket": "The S3 bucket that contains the input file.", + "templateBody": "The provisioning template." +} +""" +StartThingRegistrationTask(args) = iot("POST", "/thing-registration-tasks", args) + +""" + RejectCertificateTransfer() + +Rejects a pending certificate transfer. After AWS IoT rejects a certificate transfer, the certificate status changes from PENDING_TRANSFER to INACTIVE. To check for pending certificate transfers, call ListCertificates to enumerate your certificates. This operation can only be called by the transfer destination. After it is called, the certificate will be returned to the source's account in the INACTIVE state. + +Required Parameters +{ + "certificateId": "The ID of the certificate. (The last part of the certificate ARN contains the certificate ID.)" +} + +Optional Parameters +{ + "rejectReason": "The reason the certificate transfer was rejected." +} +""" +RejectCertificateTransfer(args) = iot("PATCH", "/reject-certificate-transfer/{certificateId}", args) + +""" + AttachThingPrincipal() + +Attaches the specified principal to the specified thing. A principal can be X.509 certificates, IAM users, groups, and roles, Amazon Cognito identities or federated identities. + +Required Parameters +{ + "thingName": "The name of the thing.", + "principal": "The principal, which can be a certificate ARN (as returned from the CreateCertificate operation) or an Amazon Cognito ID." +} +""" +AttachThingPrincipal(args) = iot("PUT", "/things/{thingName}/principals", args) + +""" + DescribeStream() + +Gets information about a stream. + +Required Parameters +{ + "streamId": "The stream ID." +} +""" +DescribeStream(args) = iot("GET", "/streams/{streamId}", args) + +""" + AddThingToBillingGroup() + +Adds a thing to a billing group. + +Optional Parameters +{ + "billingGroupArn": "The ARN of the billing group.", + "thingName": "The name of the thing to be added to the billing group.", + "billingGroupName": "The name of the billing group.", + "thingArn": "The ARN of the thing to be added to the billing group." +} +""" +AddThingToBillingGroup() = iot("PUT", "/billing-groups/addThingToBillingGroup") +AddThingToBillingGroup(args) = iot("PUT", "/billing-groups/addThingToBillingGroup", args) + +""" + StartOnDemandAuditTask() + +Starts an on-demand Device Defender audit. + +Required Parameters +{ + "targetCheckNames": "Which checks are performed during the audit. The checks you specify must be enabled for your account or an exception occurs. Use DescribeAccountAuditConfiguration to see the list of all checks, including those that are enabled or UpdateAccountAuditConfiguration to select which checks are enabled." +} +""" +StartOnDemandAuditTask(args) = iot("POST", "/audit/tasks", args) + +""" + ListThingsInThingGroup() + +Lists the things in the specified group. + +Required Parameters +{ + "thingGroupName": "The thing group name." +} + +Optional Parameters +{ + "recursive": "When true, list things in this thing group and in all child groups as well.", + "maxResults": "The maximum number of results to return at one time.", + "nextToken": "The token to retrieve the next set of results." +} +""" +ListThingsInThingGroup(args) = iot("GET", "/thing-groups/{thingGroupName}/things", args) + +""" + ListThingsInBillingGroup() + +Lists the things you have added to the given billing group. + +Required Parameters +{ + "billingGroupName": "The name of the billing group." +} + +Optional Parameters +{ + "maxResults": "The maximum number of results to return per request.", + "nextToken": "The token to retrieve the next set of results." +} +""" +ListThingsInBillingGroup(args) = iot("GET", "/billing-groups/{billingGroupName}/things", args) + +""" + ListPolicyVersions() + +Lists the versions of the specified policy and identifies the default version. + +Required Parameters +{ + "policyName": "The policy name." +} +""" +ListPolicyVersions(args) = iot("GET", "/policies/{policyName}/version", args) + +""" + CreateDynamicThingGroup() + +Creates a dynamic thing group. + +Required Parameters +{ + "thingGroupName": "The dynamic thing group name to create.", + "queryString": "The dynamic thing group search query string. See Query Syntax for information about query string syntax." +} + +Optional Parameters +{ + "queryVersion": "The dynamic thing group query version. Currently one query version is supported: \"2017-09-30\". If not specified, the query version defaults to this value. ", + "thingGroupProperties": "The dynamic thing group properties.", + "indexName": "The dynamic thing group index name. Currently one index is supported: \"AWS_Things\". ", + "tags": "Metadata which can be used to manage the dynamic thing group." +} +""" +CreateDynamicThingGroup(args) = iot("POST", "/dynamic-thing-groups/{thingGroupName}", args) + +""" + DescribeCACertificate() + +Describes a registered CA certificate. + +Required Parameters +{ + "certificateId": "The CA certificate identifier." +} +""" +DescribeCACertificate(args) = iot("GET", "/cacertificate/{caCertificateId}", args) + +""" + RegisterCACertificate() + +Registers a CA certificate with AWS IoT. This CA certificate can then be used to sign device certificates, which can be then registered with AWS IoT. You can register up to 10 CA certificates per AWS account that have the same subject field. This enables you to have up to 10 certificate authorities sign your device certificates. If you have more than one CA certificate registered, make sure you pass the CA certificate when you register your device certificates with the RegisterCertificate API. + +Required Parameters +{ + "verificationCertificate": "The private key verification certificate.", + "caCertificate": "The CA certificate." +} + +Optional Parameters +{ + "allowAutoRegistration": "Allows this CA certificate to be used for auto registration of device certificates.", + "registrationConfig": "Information about the registration configuration.", + "setAsActive": "A boolean value that specifies if the CA certificate is set to active." +} +""" +RegisterCACertificate(args) = iot("POST", "/cacertificate", args) + +""" + UpdateRoleAlias() + +Updates a role alias. + +Required Parameters +{ + "roleAlias": "The role alias to update." +} + +Optional Parameters +{ + "roleArn": "The role ARN.", + "credentialDurationSeconds": "The number of seconds the credential will be valid." +} +""" +UpdateRoleAlias(args) = iot("PUT", "/role-aliases/{roleAlias}", args) + +""" + DeleteThing() + +Deletes the specified thing. Returns successfully with no error if the deletion is successful or you specify a thing that doesn't exist. + +Required Parameters +{ + "thingName": "The name of the thing to delete." +} + +Optional Parameters +{ + "expectedVersion": "The expected version of the thing record in the registry. If the version of the record in the registry does not match the expected version specified in the request, the DeleteThing request is rejected with a VersionConflictException." +} +""" +DeleteThing(args) = iot("DELETE", "/things/{thingName}", args) + +""" + DeleteProvisioningTemplateVersion() + +Deletes a fleet provisioning template version. + +Required Parameters +{ + "versionId": "The fleet provisioning template version ID to delete.", + "templateName": "The name of the fleet provisioning template version to delete." +} +""" +DeleteProvisioningTemplateVersion(args) = iot("DELETE", "/provisioning-templates/{templateName}/versions/{versionId}", args) + +""" + TestAuthorization() + +Tests if a specified principal is authorized to perform an AWS IoT action on a specified resource. Use this to test and debug the authorization behavior of devices that connect to the AWS IoT device gateway. + +Required Parameters +{ + "authInfos": "A list of authorization info objects. Simulating authorization will create a response for each authInfo object in the list." +} + +Optional Parameters +{ + "policyNamesToSkip": "When testing custom authorization, the policies specified here are treated as if they are not attached to the principal being authorized.", + "cognitoIdentityPoolId": "The Cognito identity pool ID.", + "clientId": "The MQTT client ID.", + "principal": "The principal.", + "policyNamesToAdd": "When testing custom authorization, the policies specified here are treated as if they are attached to the principal being authorized." +} +""" +TestAuthorization(args) = iot("POST", "/test-authorization", args) + +""" + ValidateSecurityProfileBehaviors() + +Validates a Device Defender security profile behaviors specification. + +Required Parameters +{ + "behaviors": "Specifies the behaviors that, when violated by a device (thing), cause an alert." +} +""" +ValidateSecurityProfileBehaviors(args) = iot("POST", "/security-profile-behaviors/validate", args) + +""" + ListStreams() + +Lists all of the streams in your AWS account. + +Optional Parameters +{ + "ascendingOrder": "Set to true to return the list of streams in ascending order.", + "maxResults": "The maximum number of results to return at a time.", + "nextToken": "A token used to get the next set of results." +} +""" +ListStreams() = iot("GET", "/streams") +ListStreams(args) = iot("GET", "/streams", args) + +""" + GetTopicRuleDestination() + +Gets information about a topic rule destination. + +Required Parameters +{ + "arn": "The ARN of the topic rule destination." +} +""" +GetTopicRuleDestination(args) = iot("GET", "/destinations/{arn+}", args) + +""" + RemoveThingFromBillingGroup() + +Removes the given thing from the billing group. + +Optional Parameters +{ + "billingGroupArn": "The ARN of the billing group.", + "thingName": "The name of the thing to be removed from the billing group.", + "billingGroupName": "The name of the billing group.", + "thingArn": "The ARN of the thing to be removed from the billing group." +} +""" +RemoveThingFromBillingGroup() = iot("PUT", "/billing-groups/removeThingFromBillingGroup") +RemoveThingFromBillingGroup(args) = iot("PUT", "/billing-groups/removeThingFromBillingGroup", args) + +""" + DeleteAuthorizer() + +Deletes an authorizer. + +Required Parameters +{ + "authorizerName": "The name of the authorizer to delete." +} +""" +DeleteAuthorizer(args) = iot("DELETE", "/authorizer/{authorizerName}", args) + +""" + ListProvisioningTemplates() + +Lists the fleet provisioning templates in your AWS account. + +Optional Parameters +{ + "maxResults": "The maximum number of results to return at one time.", + "nextToken": "A token to retrieve the next set of results." +} +""" +ListProvisioningTemplates() = iot("GET", "/provisioning-templates") +ListProvisioningTemplates(args) = iot("GET", "/provisioning-templates", args) + +""" + AddThingToThingGroup() + +Adds a thing to a thing group. + +Optional Parameters +{ + "thingGroupName": "The name of the group to which you are adding a thing.", + "overrideDynamicGroups": "Override dynamic thing groups with static thing groups when 10-group limit is reached. If a thing belongs to 10 thing groups, and one or more of those groups are dynamic thing groups, adding a thing to a static group removes the thing from the last dynamic group.", + "thingName": "The name of the thing to add to a group.", + "thingGroupArn": "The ARN of the group to which you are adding a thing.", + "thingArn": "The ARN of the thing to add to a group." +} +""" +AddThingToThingGroup() = iot("PUT", "/thing-groups/addThingToThingGroup") +AddThingToThingGroup(args) = iot("PUT", "/thing-groups/addThingToThingGroup", args) + +""" + UpdateScheduledAudit() + +Updates a scheduled audit, including which checks are performed and how often the audit takes place. + +Required Parameters +{ + "scheduledAuditName": "The name of the scheduled audit. (Max. 128 chars)" +} + +Optional Parameters +{ + "dayOfMonth": "The day of the month on which the scheduled audit takes place. Can be \"1\" through \"31\" or \"LAST\". This field is required if the \"frequency\" parameter is set to \"MONTHLY\". If days 29-31 are specified, and the month does not have that many days, the audit takes place on the \"LAST\" day of the month.", + "frequency": "How often the scheduled audit takes place. Can be one of \"DAILY\", \"WEEKLY\", \"BIWEEKLY\", or \"MONTHLY\". The start time of each audit is determined by the system.", + "dayOfWeek": "The day of the week on which the scheduled audit takes place. Can be one of \"SUN\", \"MON\", \"TUE\", \"WED\", \"THU\", \"FRI\", or \"SAT\". This field is required if the \"frequency\" parameter is set to \"WEEKLY\" or \"BIWEEKLY\".", + "targetCheckNames": "Which checks are performed during the scheduled audit. Checks must be enabled for your account. (Use DescribeAccountAuditConfiguration to see the list of all checks, including those that are enabled or use UpdateAccountAuditConfiguration to select which checks are enabled.)" +} +""" +UpdateScheduledAudit(args) = iot("PATCH", "/audit/scheduledaudits/{scheduledAuditName}", args) + +""" + UpdateCertificate() + +Updates the status of the specified certificate. This operation is idempotent. Moving a certificate from the ACTIVE state (including REVOKED) will not disconnect currently connected devices, but these devices will be unable to reconnect. The ACTIVE state is required to authenticate devices connecting to AWS IoT using a certificate. + +Required Parameters +{ + "newStatus": "The new status. Note: Setting the status to PENDING_TRANSFER or PENDING_ACTIVATION will result in an exception being thrown. PENDING_TRANSFER and PENDING_ACTIVATION are statuses used internally by AWS IoT. They are not intended for developer use. Note: The status value REGISTER_INACTIVE is deprecated and should not be used.", + "certificateId": "The ID of the certificate. (The last part of the certificate ARN contains the certificate ID.)" +} +""" +UpdateCertificate(args) = iot("PUT", "/certificates/{certificateId}", args) + +""" + UpdateAuthorizer() + +Updates an authorizer. + +Required Parameters +{ + "authorizerName": "The authorizer name." +} + +Optional Parameters +{ + "status": "The status of the update authorizer request.", + "tokenKeyName": "The key used to extract the token from the HTTP headers. ", + "authorizerFunctionArn": "The ARN of the authorizer's Lambda function.", + "tokenSigningPublicKeys": "The public keys used to verify the token signature." +} +""" +UpdateAuthorizer(args) = iot("PUT", "/authorizer/{authorizerName}", args) + +""" + CreateScheduledAudit() + +Creates a scheduled audit that is run at a specified time interval. + +Required Parameters +{ + "scheduledAuditName": "The name you want to give to the scheduled audit. (Max. 128 chars)", + "frequency": "How often the scheduled audit takes place. Can be one of \"DAILY\", \"WEEKLY\", \"BIWEEKLY\" or \"MONTHLY\". The start time of each audit is determined by the system.", + "targetCheckNames": "Which checks are performed during the scheduled audit. Checks must be enabled for your account. (Use DescribeAccountAuditConfiguration to see the list of all checks, including those that are enabled or use UpdateAccountAuditConfiguration to select which checks are enabled.)" +} + +Optional Parameters +{ + "dayOfMonth": "The day of the month on which the scheduled audit takes place. Can be \"1\" through \"31\" or \"LAST\". This field is required if the \"frequency\" parameter is set to \"MONTHLY\". If days 29-31 are specified, and the month does not have that many days, the audit takes place on the \"LAST\" day of the month.", + "dayOfWeek": "The day of the week on which the scheduled audit takes place. Can be one of \"SUN\", \"MON\", \"TUE\", \"WED\", \"THU\", \"FRI\", or \"SAT\". This field is required if the \"frequency\" parameter is set to \"WEEKLY\" or \"BIWEEKLY\".", + "tags": "Metadata that can be used to manage the scheduled audit." +} +""" +CreateScheduledAudit(args) = iot("POST", "/audit/scheduledaudits/{scheduledAuditName}", args) + +""" + ListPrincipalThings() + +Lists the things associated with the specified principal. A principal can be X.509 certificates, IAM users, groups, and roles, Amazon Cognito identities or federated identities. + +Required Parameters +{ + "principal": "The principal." +} + +Optional Parameters +{ + "maxResults": "The maximum number of results to return in this operation.", + "nextToken": "The token to retrieve the next set of results." +} +""" +ListPrincipalThings(args) = iot("GET", "/principals/things", args) + +""" + DescribeAuditMitigationActionsTask() + +Gets information about an audit mitigation task that is used to apply mitigation actions to a set of audit findings. Properties include the actions being applied, the audit checks to which they're being applied, the task status, and aggregated task statistics. + +Required Parameters +{ + "taskId": "The unique identifier for the audit mitigation task." +} +""" +DescribeAuditMitigationActionsTask(args) = iot("GET", "/audit/mitigationactions/tasks/{taskId}", args) + +""" + ListRoleAliases() + +Lists the role aliases registered in your account. + +Optional Parameters +{ + "ascendingOrder": "Return the list of role aliases in ascending alphabetical order.", + "pageSize": "The maximum number of results to return at one time.", + "marker": "A marker used to get the next set of results." +} +""" +ListRoleAliases() = iot("GET", "/role-aliases") +ListRoleAliases(args) = iot("GET", "/role-aliases", args) + +""" + CreateStream() + +Creates a stream for delivering one or more large files in chunks over MQTT. A stream transports data bytes in chunks or blocks packaged as MQTT messages from a source like S3. You can have one or more files associated with a stream. + +Required Parameters +{ + "roleArn": "An IAM role that allows the IoT service principal assumes to access your S3 files.", + "streamId": "The stream ID.", + "files": "The files to stream." +} + +Optional Parameters +{ + "tags": "Metadata which can be used to manage streams.", + "description": "A description of the stream." +} +""" +CreateStream(args) = iot("POST", "/streams/{streamId}", args) + +""" + EnableTopicRule() + +Enables the rule. + +Required Parameters +{ + "ruleName": "The name of the topic rule to enable." +} +""" +EnableTopicRule(args) = iot("POST", "/rules/{ruleName}/enable", args) + +""" + DetachSecurityProfile() + +Disassociates a Device Defender security profile from a thing group or from this account. + +Required Parameters +{ + "securityProfileTargetArn": "The ARN of the thing group from which the security profile is detached.", + "securityProfileName": "The security profile that is detached." +} +""" +DetachSecurityProfile(args) = iot("DELETE", "/security-profiles/{securityProfileName}/targets", args) + +""" + GetCardinality() + +Returns the approximate count of unique values that match the query. + +Required Parameters +{ + "queryString": "The search query." +} + +Optional Parameters +{ + "queryVersion": "The query version.", + "indexName": "The name of the index to search.", + "aggregationField": "The field to aggregate." +} +""" +GetCardinality(args) = iot("POST", "/indices/cardinality", args) + +""" + UpdateAccountAuditConfiguration() + +Configures or reconfigures the Device Defender audit settings for this account. Settings include how audit notifications are sent and which audit checks are enabled or disabled. + +Optional Parameters +{ + "roleArn": "The ARN of the role that grants permission to AWS IoT to access information about your devices, policies, certificates and other items as required when performing an audit.", + "auditNotificationTargetConfigurations": "Information about the targets to which audit notifications are sent.", + "auditCheckConfigurations": "Specifies which audit checks are enabled and disabled for this account. Use DescribeAccountAuditConfiguration to see the list of all checks, including those that are currently enabled. Some data collection might start immediately when certain checks are enabled. When a check is disabled, any data collected so far in relation to the check is deleted. You cannot disable a check if it is used by any scheduled audit. You must first delete the check from the scheduled audit or delete the scheduled audit itself. On the first call to UpdateAccountAuditConfiguration, this parameter is required and must specify at least one enabled check." +} +""" +UpdateAccountAuditConfiguration() = iot("PATCH", "/audit/configuration") +UpdateAccountAuditConfiguration(args) = iot("PATCH", "/audit/configuration", args) + +""" + DeleteDomainConfiguration() + +Deletes the specified domain configuration. The domain configuration feature is in public preview and is subject to change. + +Required Parameters +{ + "domainConfigurationName": "The name of the domain configuration to be deleted." +} +""" +DeleteDomainConfiguration(args) = iot("DELETE", "/domainConfigurations/{domainConfigurationName}", args) + +""" + CreateKeysAndCertificate() + +Creates a 2048-bit RSA key pair and issues an X.509 certificate using the issued public key. You can also call CreateKeysAndCertificate over MQTT from a device, for more information, see Provisioning MQTT API. Note This is the only time AWS IoT issues the private key for this certificate, so it is important to keep it in a secure location. + +Optional Parameters +{ + "setAsActive": "Specifies whether the certificate is active." +} +""" +CreateKeysAndCertificate() = iot("POST", "/keys-and-certificate") +CreateKeysAndCertificate(args) = iot("POST", "/keys-and-certificate", args) + +""" + UpdateSecurityProfile() + +Updates a Device Defender security profile. + +Required Parameters +{ + "securityProfileName": "The name of the security profile you want to update." +} + +Optional Parameters +{ + "deleteAlertTargets": "If true, delete all alertTargets defined for this security profile. If any alertTargets are defined in the current invocation, an exception occurs.", + "behaviors": "Specifies the behaviors that, when violated by a device (thing), cause an alert.", + "alertTargets": "Where the alerts are sent. (Alerts are always sent to the console.)", + "deleteBehaviors": "If true, delete all behaviors defined for this security profile. If any behaviors are defined in the current invocation, an exception occurs.", + "expectedVersion": "The expected version of the security profile. A new version is generated whenever the security profile is updated. If you specify a value that is different from the actual version, a VersionConflictException is thrown.", + "deleteAdditionalMetricsToRetain": "If true, delete all additionalMetricsToRetain defined for this security profile. If any additionalMetricsToRetain are defined in the current invocation, an exception occurs.", + "additionalMetricsToRetain": "A list of metrics whose data is retained (stored). By default, data is retained for any metric used in the profile's behaviors, but it is also retained for any metric specified here.", + "securityProfileDescription": "A description of the security profile." +} +""" +UpdateSecurityProfile(args) = iot("PATCH", "/security-profiles/{securityProfileName}", args) + +""" + ListThings() + +Lists your things. Use the attributeName and attributeValue parameters to filter your things. For example, calling ListThings with attributeName=Color and attributeValue=Red retrieves all things in the registry that contain an attribute Color with the value Red. + +Optional Parameters +{ + "attributeValue": "The attribute value used to search for things.", + "thingTypeName": "The name of the thing type used to search for things.", + "attributeName": "The attribute name used to search for things.", + "maxResults": "The maximum number of results to return in this operation.", + "nextToken": "The token to retrieve the next set of results." +} +""" +ListThings() = iot("GET", "/things") +ListThings(args) = iot("GET", "/things", args) + +""" + UpdateTopicRuleDestination() + +Updates a topic rule destination. You use this to change the status, endpoint URL, or confirmation URL of the destination. + +Required Parameters +{ + "status": "The status of the topic rule destination. Valid values are: IN_PROGRESS A topic rule destination was created but has not been confirmed. You can set status to IN_PROGRESS by calling UpdateTopicRuleDestination. Calling UpdateTopicRuleDestination causes a new confirmation challenge to be sent to your confirmation endpoint. ENABLED Confirmation was completed, and traffic to this destination is allowed. You can set status to DISABLED by calling UpdateTopicRuleDestination. DISABLED Confirmation was completed, and traffic to this destination is not allowed. You can set status to ENABLED by calling UpdateTopicRuleDestination. ERROR Confirmation could not be completed, for example if the confirmation timed out. You can call GetTopicRuleDestination for details about the error. You can set status to IN_PROGRESS by calling UpdateTopicRuleDestination. Calling UpdateTopicRuleDestination causes a new confirmation challenge to be sent to your confirmation endpoint. ", + "arn": "The ARN of the topic rule destination." +} +""" +UpdateTopicRuleDestination(args) = iot("PATCH", "/destinations", args) + +""" + ListCertificatesByCA() + +List the device certificates signed by the specified CA certificate. + +Required Parameters +{ + "caCertificateId": "The ID of the CA certificate. This operation will list all registered device certificate that were signed by this CA certificate." +} + +Optional Parameters +{ + "ascendingOrder": "Specifies the order for results. If True, the results are returned in ascending order, based on the creation date.", + "pageSize": "The result page size.", + "marker": "The marker for the next set of results." +} +""" +ListCertificatesByCA(args) = iot("GET", "/certificates-by-ca/{caCertificateId}", args) + +""" + ListJobExecutionsForThing() + +Lists the job executions for the specified thing. + +Required Parameters +{ + "thingName": "The thing name." +} + +Optional Parameters +{ + "status": "An optional filter that lets you search for jobs that have the specified status.", + "maxResults": "The maximum number of results to be returned per request.", + "nextToken": "The token to retrieve the next set of results." +} +""" +ListJobExecutionsForThing(args) = iot("GET", "/things/{thingName}/jobs", args) + +""" + UpdateBillingGroup() + +Updates information about the billing group. + +Required Parameters +{ + "billingGroupName": "The name of the billing group.", + "billingGroupProperties": "The properties of the billing group." +} + +Optional Parameters +{ + "expectedVersion": "The expected version of the billing group. If the version of the billing group does not match the expected version specified in the request, the UpdateBillingGroup request is rejected with a VersionConflictException." +} +""" +UpdateBillingGroup(args) = iot("PATCH", "/billing-groups/{billingGroupName}", args) + +""" + ListActiveViolations() + +Lists the active violations for a given Device Defender security profile. + +Optional Parameters +{ + "thingName": "The name of the thing whose active violations are listed.", + "maxResults": "The maximum number of results to return at one time.", + "securityProfileName": "The name of the Device Defender security profile for which violations are listed.", + "nextToken": "The token for the next set of results." +} +""" +ListActiveViolations() = iot("GET", "/active-violations") +ListActiveViolations(args) = iot("GET", "/active-violations", args) + +""" + DeleteCACertificate() + +Deletes a registered CA certificate. + +Required Parameters +{ + "certificateId": "The ID of the certificate to delete. (The last part of the certificate ARN contains the certificate ID.)" +} +""" +DeleteCACertificate(args) = iot("DELETE", "/cacertificate/{caCertificateId}", args) + +""" + DescribeAccountAuditConfiguration() + +Gets information about the Device Defender audit settings for this account. Settings include how audit notifications are sent and which audit checks are enabled or disabled. +""" +DescribeAccountAuditConfiguration() = iot("GET", "/audit/configuration") +DescribeAccountAuditConfiguration(args) = iot("GET", "/audit/configuration", args) + +""" + CreateProvisioningClaim() + +Creates a provisioning claim. + +Required Parameters +{ + "templateName": "The name of the provisioning template to use." +} +""" +CreateProvisioningClaim(args) = iot("POST", "/provisioning-templates/{templateName}/provisioning-claim", args) + +""" + CreateJob() + +Creates a job. + +Required Parameters +{ + "jobId": "A job identifier which must be unique for your AWS account. We recommend using a UUID. Alpha-numeric characters, \"-\" and \"_\" are valid for use here.", + "targets": "A list of things and thing groups to which the job should be sent." +} + +Optional Parameters +{ + "document": "The job document. If the job document resides in an S3 bucket, you must use a placeholder link when specifying the document. The placeholder link is of the following form: {aws:iot:s3-presigned-url:https://s3.amazonaws.com/bucket/key} where bucket is your bucket name and key is the object in the bucket to which you are linking. ", + "documentSource": "An S3 link to the job document.", + "targetSelection": "Specifies whether the job will continue to run (CONTINUOUS), or will be complete after all those things specified as targets have completed the job (SNAPSHOT). If continuous, the job may also be run on a thing when a change is detected in a target. For example, a job will run on a thing when the thing is added to a target group, even after the job was completed by all things originally in the group.", + "jobExecutionsRolloutConfig": "Allows you to create a staged rollout of the job.", + "presignedUrlConfig": "Configuration information for pre-signed S3 URLs.", + "abortConfig": "Allows you to create criteria to abort a job.", + "timeoutConfig": "Specifies the amount of time each device has to finish its execution of the job. The timer is started when the job execution status is set to IN_PROGRESS. If the job execution status is not set to another terminal state before the time expires, it will be automatically set to TIMED_OUT.", + "tags": "Metadata which can be used to manage the job.", + "description": "A short text description of the job." +} +""" +CreateJob(args) = iot("PUT", "/jobs/{jobId}", args) + +""" + DeleteTopicRuleDestination() + +Deletes a topic rule destination. + +Required Parameters +{ + "arn": "The ARN of the topic rule destination to delete." +} +""" +DeleteTopicRuleDestination(args) = iot("DELETE", "/destinations/{arn+}", args) + +""" + ListV2LoggingLevels() + +Lists logging levels. + +Optional Parameters +{ + "targetType": "The type of resource for which you are configuring logging. Must be THING_Group.", + "maxResults": "The maximum number of results to return at one time.", + "nextToken": "The token used to get the next set of results, or null if there are no additional results." +} +""" +ListV2LoggingLevels() = iot("GET", "/v2LoggingLevel") +ListV2LoggingLevels(args) = iot("GET", "/v2LoggingLevel", args) + +""" + DescribeScheduledAudit() + +Gets information about a scheduled audit. + +Required Parameters +{ + "scheduledAuditName": "The name of the scheduled audit whose information you want to get." +} +""" +DescribeScheduledAudit(args) = iot("GET", "/audit/scheduledaudits/{scheduledAuditName}", args) + +""" + GetEffectivePolicies() + +Gets a list of the policies that have an effect on the authorization behavior of the specified device when it connects to the AWS IoT device gateway. + +Optional Parameters +{ + "thingName": "The thing name.", + "cognitoIdentityPoolId": "The Cognito identity pool ID.", + "principal": "The principal." +} +""" +GetEffectivePolicies() = iot("POST", "/effective-policies") +GetEffectivePolicies(args) = iot("POST", "/effective-policies", args) + +""" + CancelAuditMitigationActionsTask() + +Cancels a mitigation action task that is in progress. If the task is not in progress, an InvalidRequestException occurs. + +Required Parameters +{ + "taskId": "The unique identifier for the task that you want to cancel. " +} +""" +CancelAuditMitigationActionsTask(args) = iot("PUT", "/audit/mitigationactions/tasks/{taskId}/cancel", args) + +""" + DescribeThing() + +Gets information about the specified thing. + +Required Parameters +{ + "thingName": "The name of the thing." +} +""" +DescribeThing(args) = iot("GET", "/things/{thingName}", args) + +""" + CancelJob() + +Cancels a job. + +Required Parameters +{ + "jobId": "The unique identifier you assigned to this job when it was created." +} + +Optional Parameters +{ + "reasonCode": "(Optional)A reason code string that explains why the job was canceled.", + "force": "(Optional) If true job executions with status \"IN_PROGRESS\" and \"QUEUED\" are canceled, otherwise only job executions with status \"QUEUED\" are canceled. The default is false. Canceling a job which is \"IN_PROGRESS\", will cause a device which is executing the job to be unable to update the job execution status. Use caution and ensure that each device executing a job which is canceled is able to recover to a valid state.", + "comment": "An optional comment string describing why the job was canceled." +} +""" +CancelJob(args) = iot("PUT", "/jobs/{jobId}/cancel", args) + +""" + ListThingPrincipals() + +Lists the principals associated with the specified thing. A principal can be X.509 certificates, IAM users, groups, and roles, Amazon Cognito identities or federated identities. + +Required Parameters +{ + "thingName": "The name of the thing." +} +""" +ListThingPrincipals(args) = iot("GET", "/things/{thingName}/principals", args) + +""" + SetDefaultPolicyVersion() + +Sets the specified version of the specified policy as the policy's default (operative) version. This action affects all certificates to which the policy is attached. To list the principals the policy is attached to, use the ListPrincipalPolicy API. + +Required Parameters +{ + "policyName": "The policy name.", + "policyVersionId": "The policy version ID." +} +""" +SetDefaultPolicyVersion(args) = iot("PATCH", "/policies/{policyName}/version/{policyVersionId}", args) + +""" + DeleteTopicRule() + +Deletes the rule. + +Required Parameters +{ + "ruleName": "The name of the rule." +} +""" +DeleteTopicRule(args) = iot("DELETE", "/rules/{ruleName}", args) + +""" + CreateThingGroup() + +Create a thing group. This is a control plane operation. See Authorization for information about authorizing control plane actions. + +Required Parameters +{ + "thingGroupName": "The thing group name to create." +} + +Optional Parameters +{ + "thingGroupProperties": "The thing group properties.", + "parentGroupName": "The name of the parent thing group.", + "tags": "Metadata which can be used to manage the thing group." +} +""" +CreateThingGroup(args) = iot("POST", "/thing-groups/{thingGroupName}", args) + +""" + GetIndexingConfiguration() + +Gets the indexing configuration. +""" +GetIndexingConfiguration() = iot("GET", "/indexing/config") +GetIndexingConfiguration(args) = iot("GET", "/indexing/config", args) + +""" + DescribeJob() + +Describes a job. + +Required Parameters +{ + "jobId": "The unique identifier you assigned to this job when it was created." +} +""" +DescribeJob(args) = iot("GET", "/jobs/{jobId}", args) + +""" + ListJobs() + +Lists jobs. + +Optional Parameters +{ + "thingGroupName": "A filter that limits the returned jobs to those for the specified group.", + "targetSelection": "Specifies whether the job will continue to run (CONTINUOUS), or will be complete after all those things specified as targets have completed the job (SNAPSHOT). If continuous, the job may also be run on a thing when a change is detected in a target. For example, a job will run on a thing when the thing is added to a target group, even after the job was completed by all things originally in the group. ", + "status": "An optional filter that lets you search for jobs that have the specified status.", + "thingGroupId": "A filter that limits the returned jobs to those for the specified group.", + "maxResults": "The maximum number of results to return per request.", + "nextToken": "The token to retrieve the next set of results." +} +""" +ListJobs() = iot("GET", "/jobs") +ListJobs(args) = iot("GET", "/jobs", args) + +""" + ListAuditTasks() + +Lists the Device Defender audits that have been performed during a given time period. + +Required Parameters +{ + "startTime": "The beginning of the time period. Audit information is retained for a limited time (180 days). Requesting a start time prior to what is retained results in an \"InvalidRequestException\".", + "endTime": "The end of the time period." +} + +Optional Parameters +{ + "taskStatus": "A filter to limit the output to audits with the specified completion status: can be one of \"IN_PROGRESS\", \"COMPLETED\", \"FAILED\", or \"CANCELED\".", + "maxResults": "The maximum number of results to return at one time. The default is 25.", + "taskType": "A filter to limit the output to the specified type of audit: can be one of \"ON_DEMAND_AUDIT_TASK\" or \"SCHEDULED__AUDIT_TASK\".", + "nextToken": "The token for the next set of results." +} +""" +ListAuditTasks(args) = iot("GET", "/audit/tasks", args) + +""" + DescribeEventConfigurations() + +Describes event configurations. +""" +DescribeEventConfigurations() = iot("GET", "/event-configurations") +DescribeEventConfigurations(args) = iot("GET", "/event-configurations", args) + +""" + AttachPrincipalPolicy() + +Attaches the specified policy to the specified principal (certificate or other credential). Note: This API is deprecated. Please use AttachPolicy instead. + +Required Parameters +{ + "policyName": "The policy name.", + "principal": "The principal, which can be a certificate ARN (as returned from the CreateCertificate operation) or an Amazon Cognito ID." +} +""" +AttachPrincipalPolicy(args) = iot("PUT", "/principal-policies/{policyName}", args) + +""" + ListPrincipalPolicies() + +Lists the policies attached to the specified principal. If you use an Cognito identity, the ID must be in AmazonCognito Identity format. Note: This API is deprecated. Please use ListAttachedPolicies instead. + +Required Parameters +{ + "principal": "The principal." +} + +Optional Parameters +{ + "ascendingOrder": "Specifies the order for results. If true, results are returned in ascending creation order.", + "pageSize": "The result page size.", + "marker": "The marker for the next set of results." +} +""" +ListPrincipalPolicies(args) = iot("GET", "/principal-policies", args) + +""" + UpdateStream() + +Updates an existing stream. The stream version will be incremented by one. + +Required Parameters +{ + "streamId": "The stream ID." +} + +Optional Parameters +{ + "roleArn": "An IAM role that allows the IoT service principal assumes to access your S3 files.", + "files": "The files associated with the stream.", + "description": "The description of the stream." +} +""" +UpdateStream(args) = iot("PUT", "/streams/{streamId}", args) + +""" + TagResource() + +Adds to or modifies the tags of the given resource. Tags are metadata which can be used to manage a resource. + +Required Parameters +{ + "resourceArn": "The ARN of the resource.", + "tags": "The new or modified tags for the resource." +} +""" +TagResource(args) = iot("POST", "/tags", args) + +""" + ListTopicRuleDestinations() + +Lists all the topic rule destinations in your AWS account. + +Optional Parameters +{ + "maxResults": "The maximum number of results to return at one time.", + "nextToken": "The token to retrieve the next set of results." +} +""" +ListTopicRuleDestinations() = iot("GET", "/destinations") +ListTopicRuleDestinations(args) = iot("GET", "/destinations", args) + +""" + CreatePolicyVersion() + +Creates a new version of the specified AWS IoT policy. To update a policy, create a new policy version. A managed policy can have up to five versions. If the policy has five versions, you must use DeletePolicyVersion to delete an existing version before you create a new one. Optionally, you can set the new version as the policy's default version. The default version is the operative version (that is, the version that is in effect for the certificates to which the policy is attached). + +Required Parameters +{ + "policyName": "The policy name.", + "policyDocument": "The JSON document that describes the policy. Minimum length of 1. Maximum length of 2048, excluding whitespace." +} + +Optional Parameters +{ + "setAsDefault": "Specifies whether the policy version is set as the default. When this parameter is true, the new policy version becomes the operative version (that is, the version that is in effect for the certificates to which the policy is attached)." +} +""" +CreatePolicyVersion(args) = iot("POST", "/policies/{policyName}/version", args) + +""" + GetRegistrationCode() + +Gets a registration code used to register a CA certificate with AWS IoT. +""" +GetRegistrationCode() = iot("GET", "/registrationcode") +GetRegistrationCode(args) = iot("GET", "/registrationcode", args) + +""" + AcceptCertificateTransfer() + +Accepts a pending certificate transfer. The default state of the certificate is INACTIVE. To check for pending certificate transfers, call ListCertificates to enumerate your certificates. + +Required Parameters +{ + "certificateId": "The ID of the certificate. (The last part of the certificate ARN contains the certificate ID.)" +} + +Optional Parameters +{ + "setAsActive": "Specifies whether the certificate is active." +} +""" +AcceptCertificateTransfer(args) = iot("PATCH", "/accept-certificate-transfer/{certificateId}", args) + +""" + DescribeSecurityProfile() + +Gets information about a Device Defender security profile. + +Required Parameters +{ + "securityProfileName": "The name of the security profile whose information you want to get." +} +""" +DescribeSecurityProfile(args) = iot("GET", "/security-profiles/{securityProfileName}", args) + +""" + DetachPolicy() + +Detaches a policy from the specified target. + +Required Parameters +{ + "policyName": "The policy to detach.", + "target": "The target from which the policy will be detached." +} +""" +DetachPolicy(args) = iot("POST", "/target-policies/{policyName}", args) + +""" + DetachPrincipalPolicy() + +Removes the specified policy from the specified certificate. Note: This API is deprecated. Please use DetachPolicy instead. + +Required Parameters +{ + "policyName": "The name of the policy to detach.", + "principal": "The principal. If the principal is a certificate, specify the certificate ARN. If the principal is an Amazon Cognito identity, specify the identity ID." +} +""" +DetachPrincipalPolicy(args) = iot("DELETE", "/principal-policies/{policyName}", args) + +""" + DescribeAuditFinding() + +Gets information about a single audit finding. Properties include the reason for noncompliance, the severity of the issue, and when the audit that returned the finding was started. + +Required Parameters +{ + "findingId": "A unique identifier for a single audit finding. You can use this identifier to apply mitigation actions to the finding." +} +""" +DescribeAuditFinding(args) = iot("GET", "/audit/findings/{findingId}", args) + +""" + RegisterThing() + +Provisions a thing in the device registry. RegisterThing calls other AWS IoT control plane APIs. These calls might exceed your account level AWS IoT Throttling Limits and cause throttle errors. Please contact AWS Customer Support to raise your throttling limits if necessary. + +Required Parameters +{ + "templateBody": "The provisioning template. See Provisioning Devices That Have Device Certificates for more information." +} + +Optional Parameters +{ + "parameters": "The parameters for provisioning a thing. See Programmatic Provisioning for more information." +} +""" +RegisterThing(args) = iot("POST", "/things", args) + +""" + CreateDomainConfiguration() + +Creates a domain configuration. The domain configuration feature is in public preview and is subject to change. + +Required Parameters +{ + "domainConfigurationName": "The name of the domain configuration. This value must be unique to a region." +} + +Optional Parameters +{ + "serviceType": "The type of service delivered by the endpoint.", + "validationCertificateArn": "The certificate used to validate the server certificate and prove domain name ownership. This certificate must be signed by a public certificate authority. This value is not required for AWS-managed domains.", + "authorizerConfig": "An object that specifies the authorization service for a domain.", + "domainName": "The name of the domain.", + "serverCertificateArns": "The ARNs of the certificates that AWS IoT passes to the device during the TLS handshake. Currently you can specify only one certificate ARN. This value is not required for AWS-managed domains." +} +""" +CreateDomainConfiguration(args) = iot("POST", "/domainConfigurations/{domainConfigurationName}", args) + +""" + ListOTAUpdates() + +Lists OTA updates. + +Optional Parameters +{ + "maxResults": "The maximum number of results to return at one time.", + "otaUpdateStatus": "The OTA update job status.", + "nextToken": "A token used to retrieve the next set of results." +} +""" +ListOTAUpdates() = iot("GET", "/otaUpdates") +ListOTAUpdates(args) = iot("GET", "/otaUpdates", args) + +""" + CreateProvisioningTemplateVersion() + +Creates a new version of a fleet provisioning template. + +Required Parameters +{ + "templateName": "The name of the fleet provisioning template.", + "templateBody": "The JSON formatted contents of the fleet provisioning template." +} + +Optional Parameters +{ + "setAsDefault": "Sets a fleet provision template version as the default version." +} +""" +CreateProvisioningTemplateVersion(args) = iot("POST", "/provisioning-templates/{templateName}/versions", args) + +""" + UpdateMitigationAction() + +Updates the definition for the specified mitigation action. + +Required Parameters +{ + "actionName": "The friendly name for the mitigation action. You can't change the name by using UpdateMitigationAction. Instead, you must delete and re-create the mitigation action with the new name." +} + +Optional Parameters +{ + "roleArn": "The ARN of the IAM role that is used to apply the mitigation action.", + "actionParams": "Defines the type of action and the parameters for that action." +} +""" +UpdateMitigationAction(args) = iot("PATCH", "/mitigationactions/actions/{actionName}", args) + +""" + UntagResource() + +Removes the given tags (metadata) from the resource. + +Required Parameters +{ + "resourceArn": "The ARN of the resource.", + "tagKeys": "A list of the keys of the tags to be removed from the resource." +} +""" +UntagResource(args) = iot("POST", "/untag", args) + +""" + ListThingRegistrationTasks() + +List bulk thing provisioning tasks. + +Optional Parameters +{ + "status": "The status of the bulk thing provisioning task.", + "maxResults": "The maximum number of results to return at one time.", + "nextToken": "The token to retrieve the next set of results." +} +""" +ListThingRegistrationTasks() = iot("GET", "/thing-registration-tasks") +ListThingRegistrationTasks(args) = iot("GET", "/thing-registration-tasks", args) + +""" + StartAuditMitigationActionsTask() + +Starts a task that applies a set of mitigation actions to the specified target. + +Required Parameters +{ + "clientRequestToken": "Each audit mitigation task must have a unique client request token. If you try to start a new task with the same token as a task that already exists, an exception occurs. If you omit this value, a unique client request token is generated automatically.", + "target": "Specifies the audit findings to which the mitigation actions are applied. You can apply them to a type of audit check, to all findings from an audit, or to a speecific set of findings.", + "auditCheckToActionsMapping": "For an audit check, specifies which mitigation actions to apply. Those actions must be defined in your AWS account.", + "taskId": "A unique identifier for the task. You can use this identifier to check the status of the task or to cancel it." +} +""" +StartAuditMitigationActionsTask(args) = iot("POST", "/audit/mitigationactions/tasks/{taskId}", args) + +""" + ListPolicyPrincipals() + +Lists the principals associated with the specified policy. Note: This API is deprecated. Please use ListTargetsForPolicy instead. + +Required Parameters +{ + "policyName": "The policy name." +} + +Optional Parameters +{ + "ascendingOrder": "Specifies the order for results. If true, the results are returned in ascending creation order.", + "pageSize": "The result page size.", + "marker": "The marker for the next set of results." +} +""" +ListPolicyPrincipals(args) = iot("GET", "/policy-principals", args) + +""" + ListOutgoingCertificates() + +Lists certificates that are being transferred but not yet accepted. + +Optional Parameters +{ + "ascendingOrder": "Specifies the order for results. If True, the results are returned in ascending order, based on the creation date.", + "pageSize": "The result page size.", + "marker": "The marker for the next set of results." +} +""" +ListOutgoingCertificates() = iot("GET", "/certificates-out-going") +ListOutgoingCertificates(args) = iot("GET", "/certificates-out-going", args) + +""" + AssociateTargetsWithJob() + +Associates a group with a continuous job. The following criteria must be met: The job must have been created with the targetSelection field set to "CONTINUOUS". The job status must currently be "IN_PROGRESS". The total number of targets associated with a job must not exceed 100. + +Required Parameters +{ + "jobId": "The unique identifier you assigned to this job when it was created.", + "targets": "A list of thing group ARNs that define the targets of the job." +} + +Optional Parameters +{ + "comment": "An optional comment string describing why the job was associated with the targets." +} +""" +AssociateTargetsWithJob(args) = iot("POST", "/jobs/{jobId}/targets", args) + +""" + DeleteAccountAuditConfiguration() + +Restores the default settings for Device Defender audits for this account. Any configuration data you entered is deleted and all audit checks are reset to disabled. + +Optional Parameters +{ + "deleteScheduledAudits": "If true, all scheduled audits are deleted." +} +""" +DeleteAccountAuditConfiguration() = iot("DELETE", "/audit/configuration") +DeleteAccountAuditConfiguration(args) = iot("DELETE", "/audit/configuration", args) + +""" + RemoveThingFromThingGroup() + +Remove the specified thing from the specified group. + +Optional Parameters +{ + "thingGroupName": "The group name.", + "thingName": "The name of the thing to remove from the group.", + "thingGroupArn": "The group ARN.", + "thingArn": "The ARN of the thing to remove from the group." +} +""" +RemoveThingFromThingGroup() = iot("PUT", "/thing-groups/removeThingFromThingGroup") +RemoveThingFromThingGroup(args) = iot("PUT", "/thing-groups/removeThingFromThingGroup", args) + +""" + CreateThingType() + +Creates a new thing type. + +Required Parameters +{ + "thingTypeName": "The name of the thing type." +} + +Optional Parameters +{ + "thingTypeProperties": "The ThingTypeProperties for the thing type to create. It contains information about the new thing type including a description, and a list of searchable thing attribute names.", + "tags": "Metadata which can be used to manage the thing type." +} +""" +CreateThingType(args) = iot("POST", "/thing-types/{thingTypeName}", args) + +""" + ListCertificates() + +Lists the certificates registered in your AWS account. The results are paginated with a default page size of 25. You can use the returned marker to retrieve additional results. + +Optional Parameters +{ + "ascendingOrder": "Specifies the order for results. If True, the results are returned in ascending order, based on the creation date.", + "pageSize": "The result page size.", + "marker": "The marker for the next set of results." +} +""" +ListCertificates() = iot("GET", "/certificates") +ListCertificates(args) = iot("GET", "/certificates", args) + +""" + DeletePolicyVersion() + +Deletes the specified version of the specified policy. You cannot delete the default version of a policy using this API. To delete the default version of a policy, use DeletePolicy. To find out which version of a policy is marked as the default version, use ListPolicyVersions. + +Required Parameters +{ + "policyName": "The name of the policy.", + "policyVersionId": "The policy version ID." +} +""" +DeletePolicyVersion(args) = iot("DELETE", "/policies/{policyName}/version/{policyVersionId}", args) + +""" + DescribeIndex() + +Describes a search index. + +Required Parameters +{ + "indexName": "The index name." +} +""" +DescribeIndex(args) = iot("GET", "/indices/{indexName}", args) + +""" + ListThingRegistrationTaskReports() + +Information about the thing registration tasks. + +Required Parameters +{ + "reportType": "The type of task report.", + "taskId": "The id of the task." +} + +Optional Parameters +{ + "maxResults": "The maximum number of results to return per request.", + "nextToken": "The token to retrieve the next set of results." +} +""" +ListThingRegistrationTaskReports(args) = iot("GET", "/thing-registration-tasks/{taskId}/reports", args) + +""" + ListAuditMitigationActionsExecutions() + +Gets the status of audit mitigation action tasks that were executed. + +Required Parameters +{ + "findingId": "Specify this filter to limit results to those that were applied to a specific audit finding.", + "taskId": "Specify this filter to limit results to actions for a specific audit mitigation actions task." +} + +Optional Parameters +{ + "actionStatus": "Specify this filter to limit results to those with a specific status.", + "maxResults": "The maximum number of results to return at one time. The default is 25.", + "nextToken": "The token for the next set of results." +} +""" +ListAuditMitigationActionsExecutions(args) = iot("GET", "/audit/mitigationactions/executions", args) + +""" + DeleteV2LoggingLevel() + +Deletes a logging level. + +Required Parameters +{ + "targetName": "The name of the resource for which you are configuring logging.", + "targetType": "The type of resource for which you are configuring logging. Must be THING_Group." +} +""" +DeleteV2LoggingLevel(args) = iot("DELETE", "/v2LoggingLevel", args) + +""" + CreateThing() + +Creates a thing record in the registry. If this call is made multiple times using the same thing name and configuration, the call will succeed. If this call is made with the same thing name but different configuration a ResourceAlreadyExistsException is thrown. This is a control plane operation. See Authorization for information about authorizing control plane actions. + +Required Parameters +{ + "thingName": "The name of the thing to create." +} + +Optional Parameters +{ + "thingTypeName": "The name of the thing type associated with the new thing.", + "attributePayload": "The attribute payload, which consists of up to three name/value pairs in a JSON document. For example: { \"attributes \":{ \"string1 \": \"string2 \"}} ", + "billingGroupName": "The name of the billing group the thing will be added to." +} +""" +CreateThing(args) = iot("POST", "/things/{thingName}", args) + +""" + GetStatistics() + +Returns the count, average, sum, minimum, maximum, sum of squares, variance, and standard deviation for the specified aggregated field. If the aggregation field is of type String, only the count statistic is returned. + +Required Parameters +{ + "queryString": "The query used to search. You can specify \"*\" for the query string to get the count of all indexed things in your AWS account." +} + +Optional Parameters +{ + "queryVersion": "The version of the query used to search.", + "indexName": "The name of the index to search. The default value is AWS_Things.", + "aggregationField": "The aggregation field name." +} +""" +GetStatistics(args) = iot("POST", "/indices/statistics", args) + +""" + ListAuditFindings() + +Lists the findings (results) of a Device Defender audit or of the audits performed during a specified time period. (Findings are retained for 180 days.) + +Optional Parameters +{ + "startTime": "A filter to limit results to those found after the specified time. You must specify either the startTime and endTime or the taskId, but not both.", + "checkName": "A filter to limit results to the findings for the specified audit check.", + "maxResults": "The maximum number of results to return at one time. The default is 25.", + "resourceIdentifier": "Information identifying the noncompliant resource.", + "nextToken": "The token for the next set of results.", + "endTime": "A filter to limit results to those found before the specified time. You must specify either the startTime and endTime or the taskId, but not both.", + "taskId": "A filter to limit results to the audit with the specified ID. You must specify either the taskId or the startTime and endTime, but not both." +} +""" +ListAuditFindings() = iot("POST", "/audit/findings") +ListAuditFindings(args) = iot("POST", "/audit/findings", args) + +""" + CancelJobExecution() + +Cancels the execution of a job for a given thing. + +Required Parameters +{ + "jobId": "The ID of the job to be canceled.", + "thingName": "The name of the thing whose execution of the job will be canceled." +} + +Optional Parameters +{ + "expectedVersion": "(Optional) The expected current version of the job execution. Each time you update the job execution, its version is incremented. If the version of the job execution stored in Jobs does not match, the update is rejected with a VersionMismatch error, and an ErrorResponse that contains the current job execution status data is returned. (This makes it unnecessary to perform a separate DescribeJobExecution request in order to obtain the job execution status data.)", + "statusDetails": "A collection of name/value pairs that describe the status of the job execution. If not specified, the statusDetails are unchanged. You can specify at most 10 name/value pairs.", + "force": "(Optional) If true the job execution will be canceled if it has status IN_PROGRESS or QUEUED, otherwise the job execution will be canceled only if it has status QUEUED. If you attempt to cancel a job execution that is IN_PROGRESS, and you do not set force to true, then an InvalidStateTransitionException will be thrown. The default is false. Canceling a job execution which is \"IN_PROGRESS\", will cause the device to be unable to update the job execution status. Use caution and ensure that the device is able to recover to a valid state." +} +""" +CancelJobExecution(args) = iot("PUT", "/things/{thingName}/jobs/{jobId}/cancel", args) + +""" + DeleteOTAUpdate() + +Delete an OTA update. + +Required Parameters +{ + "otaUpdateId": "The OTA update ID to delete." +} + +Optional Parameters +{ + "deleteStream": "Specifies if the stream associated with an OTA update should be deleted when the OTA update is deleted.", + "forceDeleteAWSJob": "Specifies if the AWS Job associated with the OTA update should be deleted with the OTA update is deleted." +} +""" +DeleteOTAUpdate(args) = iot("DELETE", "/otaUpdates/{otaUpdateId}", args) + +""" + ListAttachedPolicies() + +Lists the policies attached to the specified thing group. + +Required Parameters +{ + "target": "The group or principal for which the policies will be listed." +} + +Optional Parameters +{ + "recursive": "When true, recursively list attached policies.", + "pageSize": "The maximum number of results to be returned per request.", + "marker": "The token to retrieve the next set of results." +} +""" +ListAttachedPolicies(args) = iot("POST", "/attached-policies/{target}", args) + +""" + CreateAuthorizer() + +Creates an authorizer. + +Required Parameters +{ + "authorizerName": "The authorizer name.", + "authorizerFunctionArn": "The ARN of the authorizer's Lambda function." +} + +Optional Parameters +{ + "signingDisabled": "Specifies whether AWS IoT validates the token signature in an authorization request.", + "status": "The status of the create authorizer request.", + "tokenKeyName": "The name of the token key used to extract the token from the HTTP headers.", + "tokenSigningPublicKeys": "The public keys used to verify the digital signature returned by your custom authentication service." +} +""" +CreateAuthorizer(args) = iot("POST", "/authorizer/{authorizerName}", args) + +""" + GetOTAUpdate() + +Gets an OTA update. + +Required Parameters +{ + "otaUpdateId": "The OTA update ID." +} +""" +GetOTAUpdate(args) = iot("GET", "/otaUpdates/{otaUpdateId}", args) + +""" + UpdateThingGroup() + +Update a thing group. + +Required Parameters +{ + "thingGroupName": "The thing group to update.", + "thingGroupProperties": "The thing group properties." +} + +Optional Parameters +{ + "expectedVersion": "The expected version of the thing group. If this does not match the version of the thing group being updated, the update will fail." +} +""" +UpdateThingGroup(args) = iot("PATCH", "/thing-groups/{thingGroupName}", args) + +""" + ListMitigationActions() + +Gets a list of all mitigation actions that match the specified filter criteria. + +Optional Parameters +{ + "actionType": "Specify a value to limit the result to mitigation actions with a specific action type.", + "maxResults": "The maximum number of results to return at one time. The default is 25.", + "nextToken": "The token for the next set of results." +} +""" +ListMitigationActions() = iot("GET", "/mitigationactions/actions") +ListMitigationActions(args) = iot("GET", "/mitigationactions/actions", args) + +""" + DisableTopicRule() + +Disables the rule. + +Required Parameters +{ + "ruleName": "The name of the rule to disable." +} +""" +DisableTopicRule(args) = iot("POST", "/rules/{ruleName}/disable", args) + +""" + UpdateThingGroupsForThing() + +Updates the groups to which the thing belongs. + +Optional Parameters +{ + "thingGroupsToRemove": "The groups from which the thing will be removed.", + "overrideDynamicGroups": "Override dynamic thing groups with static thing groups when 10-group limit is reached. If a thing belongs to 10 thing groups, and one or more of those groups are dynamic thing groups, adding a thing to a static group removes the thing from the last dynamic group.", + "thingName": "The thing whose group memberships will be updated.", + "thingGroupsToAdd": "The groups to which the thing will be added." +} +""" +UpdateThingGroupsForThing() = iot("PUT", "/thing-groups/updateThingGroupsForThing") +UpdateThingGroupsForThing(args) = iot("PUT", "/thing-groups/updateThingGroupsForThing", args) + +""" + DeleteProvisioningTemplate() + +Deletes a fleet provisioning template. + +Required Parameters +{ + "templateName": "The name of the fleet provision template to delete." +} +""" +DeleteProvisioningTemplate(args) = iot("DELETE", "/provisioning-templates/{templateName}", args) + +""" + DescribeThingRegistrationTask() + +Describes a bulk thing provisioning task. + +Required Parameters +{ + "taskId": "The task ID." +} +""" +DescribeThingRegistrationTask(args) = iot("GET", "/thing-registration-tasks/{taskId}", args) + +""" + ListDomainConfigurations() + +Gets a list of domain configurations for the user. This list is sorted alphabetically by domain configuration name. The domain configuration feature is in public preview and is subject to change. + +Optional Parameters +{ + "pageSize": "The result page size.", + "serviceType": "The type of service delivered by the endpoint.", + "marker": "The marker for the next set of results." +} +""" +ListDomainConfigurations() = iot("GET", "/domainConfigurations") +ListDomainConfigurations(args) = iot("GET", "/domainConfigurations", args) + +""" + DetachThingPrincipal() + +Detaches the specified principal from the specified thing. A principal can be X.509 certificates, IAM users, groups, and roles, Amazon Cognito identities or federated identities. This call is asynchronous. It might take several seconds for the detachment to propagate. + +Required Parameters +{ + "thingName": "The name of the thing.", + "principal": "If the principal is a certificate, this value must be ARN of the certificate. If the principal is an Amazon Cognito identity, this value must be the ID of the Amazon Cognito identity." +} +""" +DetachThingPrincipal(args) = iot("DELETE", "/things/{thingName}/principals", args) + +""" + DescribeBillingGroup() + +Returns information about a billing group. + +Required Parameters +{ + "billingGroupName": "The name of the billing group." +} +""" +DescribeBillingGroup(args) = iot("GET", "/billing-groups/{billingGroupName}", args) + +""" + RegisterCertificate() + +Registers a device certificate with AWS IoT. If you have more than one CA certificate that has the same subject field, you must specify the CA certificate that was used to sign the device certificate being registered. + +Required Parameters +{ + "certificatePem": "The certificate data, in PEM format." +} + +Optional Parameters +{ + "caCertificatePem": "The CA certificate used to sign the device certificate being registered.", + "status": "The status of the register certificate request.", + "setAsActive": "A boolean value that specifies if the certificate is set to active." +} +""" +RegisterCertificate(args) = iot("POST", "/certificate/register", args) + +""" + DescribeProvisioningTemplateVersion() + +Returns information about a fleet provisioning template version. + +Required Parameters +{ + "versionId": "The fleet provisioning template version ID.", + "templateName": "The template name." +} +""" +DescribeProvisioningTemplateVersion(args) = iot("GET", "/provisioning-templates/{templateName}/versions/{versionId}", args) + +""" + GetPercentiles() + +Groups the aggregated values that match the query into percentile groupings. The default percentile groupings are: 1,5,25,50,75,95,99, although you can specify your own when you call GetPercentiles. This function returns a value for each percentile group specified (or the default percentile groupings). The percentile group "1" contains the aggregated field value that occurs in approximately one percent of the values that match the query. The percentile group "5" contains the aggregated field value that occurs in approximately five percent of the values that match the query, and so on. The result is an approximation, the more values that match the query, the more accurate the percentile values. + +Required Parameters +{ + "queryString": "The query string." +} + +Optional Parameters +{ + "queryVersion": "The query version.", + "percents": "The percentile groups returned.", + "indexName": "The name of the index to search.", + "aggregationField": "The field to aggregate." +} +""" +GetPercentiles(args) = iot("POST", "/indices/percentiles", args) + +""" + DeleteStream() + +Deletes a stream. + +Required Parameters +{ + "streamId": "The stream ID." +} +""" +DeleteStream(args) = iot("DELETE", "/streams/{streamId}", args) + +""" + DeleteJobExecution() + +Deletes a job execution. + +Required Parameters +{ + "jobId": "The ID of the job whose execution on a particular device will be deleted.", + "thingName": "The name of the thing whose job execution will be deleted.", + "executionNumber": "The ID of the job execution to be deleted. The executionNumber refers to the execution of a particular job on a particular device. Note that once a job execution is deleted, the executionNumber may be reused by IoT, so be sure you get and use the correct value here." +} + +Optional Parameters +{ + "force": "(Optional) When true, you can delete a job execution which is \"IN_PROGRESS\". Otherwise, you can only delete a job execution which is in a terminal state (\"SUCCEEDED\", \"FAILED\", \"REJECTED\", \"REMOVED\" or \"CANCELED\") or an exception will occur. The default is false. Deleting a job execution which is \"IN_PROGRESS\", will cause the device to be unable to access job information or update the job execution status. Use caution and ensure that the device is able to recover to a valid state. " +} +""" +DeleteJobExecution(args) = iot("DELETE", "/things/{thingName}/jobs/{jobId}/executionNumber/{executionNumber}", args) + +""" + UpdateEventConfigurations() + +Updates the event configurations. + +Optional Parameters +{ + "eventConfigurations": "The new event configuration values." +} +""" +UpdateEventConfigurations() = iot("PATCH", "/event-configurations") +UpdateEventConfigurations(args) = iot("PATCH", "/event-configurations", args) + +""" + DescribeDefaultAuthorizer() + +Describes the default authorizer. +""" +DescribeDefaultAuthorizer() = iot("GET", "/default-authorizer") +DescribeDefaultAuthorizer(args) = iot("GET", "/default-authorizer", args) + +""" + GetPolicy() + +Gets information about the specified policy with the policy document of the default version. + +Required Parameters +{ + "policyName": "The name of the policy." +} +""" +GetPolicy(args) = iot("GET", "/policies/{policyName}", args) + +""" + ListViolationEvents() + +Lists the Device Defender security profile violations discovered during the given time period. You can use filters to limit the results to those alerts issued for a particular security profile, behavior, or thing (device). + +Required Parameters +{ + "startTime": "The start time for the alerts to be listed.", + "endTime": "The end time for the alerts to be listed." +} + +Optional Parameters +{ + "thingName": "A filter to limit results to those alerts caused by the specified thing.", + "maxResults": "The maximum number of results to return at one time.", + "securityProfileName": "A filter to limit results to those alerts generated by the specified security profile.", + "nextToken": "The token for the next set of results." +} +""" +ListViolationEvents(args) = iot("GET", "/violation-events", args) + +""" + UpdateDomainConfiguration() + +Updates values stored in the domain configuration. Domain configurations for default endpoints can't be updated. The domain configuration feature is in public preview and is subject to change. + +Required Parameters +{ + "domainConfigurationName": "The name of the domain configuration to be updated." +} + +Optional Parameters +{ + "removeAuthorizerConfig": "Removes the authorization configuration from a domain.", + "authorizerConfig": "An object that specifies the authorization service for a domain.", + "domainConfigurationStatus": "The status to which the domain configuration should be updated." +} +""" +UpdateDomainConfiguration(args) = iot("PUT", "/domainConfigurations/{domainConfigurationName}", args) + +""" + UpdateThing() + +Updates the data for a thing. + +Required Parameters +{ + "thingName": "The name of the thing to update." +} + +Optional Parameters +{ + "thingTypeName": "The name of the thing type.", + "removeThingType": "Remove a thing type association. If true, the association is removed.", + "expectedVersion": "The expected version of the thing record in the registry. If the version of the record in the registry does not match the expected version specified in the request, the UpdateThing request is rejected with a VersionConflictException.", + "attributePayload": "A list of thing attributes, a JSON string containing name-value pairs. For example: { \"attributes \":{ \"name1 \": \"value2 \"}} This data is used to add new attributes or update existing attributes." +} +""" +UpdateThing(args) = iot("PATCH", "/things/{thingName}", args) + +""" + GetLoggingOptions() + +Gets the logging options. NOTE: use of this command is not recommended. Use GetV2LoggingOptions instead. +""" +GetLoggingOptions() = iot("GET", "/loggingOptions") +GetLoggingOptions(args) = iot("GET", "/loggingOptions", args) + +""" + DescribeEndpoint() + +Returns a unique endpoint specific to the AWS account making the call. + +Optional Parameters +{ + "endpointType": "The endpoint type. Valid endpoint types include: iot:Data - Returns a VeriSign signed data endpoint. iot:Data-ATS - Returns an ATS signed data endpoint. iot:CredentialProvider - Returns an AWS IoT credentials provider API endpoint. iot:Jobs - Returns an AWS IoT device management Jobs API endpoint. We strongly recommend that customers use the newer iot:Data-ATS endpoint type to avoid issues related to the widespread distrust of Symantec certificate authorities." +} +""" +DescribeEndpoint() = iot("GET", "/endpoint") +DescribeEndpoint(args) = iot("GET", "/endpoint", args) + +""" + DeleteScheduledAudit() + +Deletes a scheduled audit. + +Required Parameters +{ + "scheduledAuditName": "The name of the scheduled audit you want to delete." +} +""" +DeleteScheduledAudit(args) = iot("DELETE", "/audit/scheduledaudits/{scheduledAuditName}", args) + +""" + ReplaceTopicRule() + +Replaces the rule. You must specify all parameters for the new rule. Creating rules is an administrator-level action. Any user who has permission to create rules will be able to access data processed by the rule. + +Required Parameters +{ + "ruleName": "The name of the rule.", + "topicRulePayload": "The rule payload." +} +""" +ReplaceTopicRule(args) = iot("PATCH", "/rules/{ruleName}", args) + +""" + DescribeThingType() + +Gets information about the specified thing type. + +Required Parameters +{ + "thingTypeName": "The name of the thing type." +} +""" +DescribeThingType(args) = iot("GET", "/thing-types/{thingTypeName}", args) + +""" + ListProvisioningTemplateVersions() + +A list of fleet provisioning template versions. + +Required Parameters +{ + "templateName": "The name of the fleet provisioning template." +} + +Optional Parameters +{ + "maxResults": "The maximum number of results to return at one time.", + "nextToken": "A token to retrieve the next set of results." +} +""" +ListProvisioningTemplateVersions(args) = iot("GET", "/provisioning-templates/{templateName}/versions", args) + +""" + SetLoggingOptions() + +Sets the logging options. NOTE: use of this command is not recommended. Use SetV2LoggingOptions instead. + +Required Parameters +{ + "loggingOptionsPayload": "The logging options payload." +} +""" +SetLoggingOptions(args) = iot("POST", "/loggingOptions", args) + +""" + CreateMitigationAction() + +Defines an action that can be applied to audit findings by using StartAuditMitigationActionsTask. Each mitigation action can apply only one type of change. + +Required Parameters +{ + "roleArn": "The ARN of the IAM role that is used to apply the mitigation action.", + "actionName": "A friendly name for the action. Choose a friendly name that accurately describes the action (for example, EnableLoggingAction).", + "actionParams": "Defines the type of action and the parameters for that action." +} + +Optional Parameters +{ + "tags": "Metadata that can be used to manage the mitigation action." +} +""" +CreateMitigationAction(args) = iot("POST", "/mitigationactions/actions/{actionName}", args) + +""" + UpdateJob() + +Updates supported fields of the specified job. + +Required Parameters +{ + "jobId": "The ID of the job to be updated." +} + +Optional Parameters +{ + "presignedUrlConfig": "Configuration information for pre-signed S3 URLs.", + "jobExecutionsRolloutConfig": "Allows you to create a staged rollout of the job.", + "abortConfig": "Allows you to create criteria to abort a job.", + "timeoutConfig": "Specifies the amount of time each device has to finish its execution of the job. The timer is started when the job execution status is set to IN_PROGRESS. If the job execution status is not set to another terminal state before the time expires, it will be automatically set to TIMED_OUT. ", + "description": "A short text description of the job." +} +""" +UpdateJob(args) = iot("PATCH", "/jobs/{jobId}", args) + +""" + CreateTopicRule() + +Creates a rule. Creating rules is an administrator-level action. Any user who has permission to create rules will be able to access data processed by the rule. + +Required Parameters +{ + "ruleName": "The name of the rule.", + "topicRulePayload": "The rule payload." +} + +Optional Parameters +{ + "tags": "Metadata which can be used to manage the topic rule. For URI Request parameters use format: ...key1=value1&key2=value2... For the CLI command-line parameter use format: --tags \"key1=value1&key2=value2...\" For the cli-input-json file use format: \"tags\": \"key1=value1&key2=value2...\" " +} +""" +CreateTopicRule(args) = iot("POST", "/rules/{ruleName}", args) + +""" + CreateOTAUpdate() + +Creates an AWS IoT OTAUpdate on a target group of things or groups. + +Required Parameters +{ + "roleArn": "The IAM role that allows access to the AWS IoT Jobs service.", + "otaUpdateId": "The ID of the OTA update to be created.", + "files": "The files to be streamed by the OTA update.", + "targets": "The targeted devices to receive OTA updates." +} + +Optional Parameters +{ + "additionalParameters": "A list of additional OTA update parameters which are name-value pairs.", + "protocols": "The protocol used to transfer the OTA update image. Valid values are [HTTP], [MQTT], [HTTP, MQTT]. When both HTTP and MQTT are specified, the target device can choose the protocol.", + "awsJobExecutionsRolloutConfig": "Configuration for the rollout of OTA updates.", + "targetSelection": "Specifies whether the update will continue to run (CONTINUOUS), or will be complete after all the things specified as targets have completed the update (SNAPSHOT). If continuous, the update may also be run on a thing when a change is detected in a target. For example, an update will run on a thing when the thing is added to a target group, even after the update was completed by all things originally in the group. Valid values: CONTINUOUS | SNAPSHOT.", + "awsJobPresignedUrlConfig": "Configuration information for pre-signed URLs.", + "tags": "Metadata which can be used to manage updates.", + "description": "The description of the OTA update." +} +""" +CreateOTAUpdate(args) = iot("POST", "/otaUpdates/{otaUpdateId}", args) + +""" + UpdateProvisioningTemplate() + +Updates a fleet provisioning template. + +Required Parameters +{ + "templateName": "The name of the fleet provisioning template." +} + +Optional Parameters +{ + "provisioningRoleArn": "The ARN of the role associated with the provisioning template. This IoT role grants permission to provision a device.", + "defaultVersionId": "The ID of the default provisioning template version.", + "enabled": "True to enable the fleet provisioning template, otherwise false.", + "description": "The description of the fleet provisioning template." +} +""" +UpdateProvisioningTemplate(args) = iot("PATCH", "/provisioning-templates/{templateName}", args) + +""" + SetV2LoggingOptions() + +Sets the logging options for the V2 logging service. + +Optional Parameters +{ + "roleArn": "The ARN of the role that allows IoT to write to Cloudwatch logs.", + "defaultLogLevel": "The default logging level.", + "disableAllLogs": "If true all logs are disabled. The default is false." +} +""" +SetV2LoggingOptions() = iot("POST", "/v2LoggingOptions") +SetV2LoggingOptions(args) = iot("POST", "/v2LoggingOptions", args) + +""" + DeleteRegistrationCode() + +Deletes a CA certificate registration code. +""" +DeleteRegistrationCode() = iot("DELETE", "/registrationcode") +DeleteRegistrationCode(args) = iot("DELETE", "/registrationcode", args) + +""" + CreateTopicRuleDestination() + +Creates a topic rule destination. The destination must be confirmed prior to use. + +Required Parameters +{ + "destinationConfiguration": "The topic rule destination configuration." +} +""" +CreateTopicRuleDestination(args) = iot("POST", "/destinations", args) + +""" + ListCACertificates() + +Lists the CA certificates registered for your AWS account. The results are paginated with a default page size of 25. You can use the returned marker to retrieve additional results. + +Optional Parameters +{ + "ascendingOrder": "Determines the order of the results.", + "pageSize": "The result page size.", + "marker": "The marker for the next set of results." +} +""" +ListCACertificates() = iot("GET", "/cacertificates") +ListCACertificates(args) = iot("GET", "/cacertificates", args) + +""" + DescribeCertificate() + +Gets information about the specified certificate. + +Required Parameters +{ + "certificateId": "The ID of the certificate. (The last part of the certificate ARN contains the certificate ID.)" +} +""" +DescribeCertificate(args) = iot("GET", "/certificates/{certificateId}", args) + +""" + DeletePolicy() + +Deletes the specified policy. A policy cannot be deleted if it has non-default versions or it is attached to any certificate. To delete a policy, use the DeletePolicyVersion API to delete all non-default versions of the policy; use the DetachPrincipalPolicy API to detach the policy from any certificate; and then use the DeletePolicy API to delete the policy. When a policy is deleted using DeletePolicy, its default version is deleted with it. + +Required Parameters +{ + "policyName": "The name of the policy to delete." +} +""" +DeletePolicy(args) = iot("DELETE", "/policies/{policyName}", args) + +""" + DescribeDomainConfiguration() + +Gets summary information about a domain configuration. The domain configuration feature is in public preview and is subject to change. + +Required Parameters +{ + "domainConfigurationName": "The name of the domain configuration." +} +""" +DescribeDomainConfiguration(args) = iot("GET", "/domainConfigurations/{domainConfigurationName}", args) + +""" + DescribeAuditTask() + +Gets information about a Device Defender audit. + +Required Parameters +{ + "taskId": "The ID of the audit whose information you want to get." +} +""" +DescribeAuditTask(args) = iot("GET", "/audit/tasks/{taskId}", args) + +""" + DeprecateThingType() + +Deprecates a thing type. You can not associate new things with deprecated thing type. + +Required Parameters +{ + "thingTypeName": "The name of the thing type to deprecate." +} + +Optional Parameters +{ + "undoDeprecate": "Whether to undeprecate a deprecated thing type. If true, the thing type will not be deprecated anymore and you can associate it with things." +} +""" +DeprecateThingType(args) = iot("POST", "/thing-types/{thingTypeName}/deprecate", args) + +""" + DeleteSecurityProfile() + +Deletes a Device Defender security profile. + +Required Parameters +{ + "securityProfileName": "The name of the security profile to be deleted." +} + +Optional Parameters +{ + "expectedVersion": "The expected version of the security profile. A new version is generated whenever the security profile is updated. If you specify a value that is different from the actual version, a VersionConflictException is thrown." +} +""" +DeleteSecurityProfile(args) = iot("DELETE", "/security-profiles/{securityProfileName}", args) + +""" + UpdateDynamicThingGroup() + +Updates a dynamic thing group. + +Required Parameters +{ + "thingGroupName": "The name of the dynamic thing group to update.", + "thingGroupProperties": "The dynamic thing group properties to update." +} + +Optional Parameters +{ + "queryVersion": "The dynamic thing group query version to update. Currently one query version is supported: \"2017-09-30\". If not specified, the query version defaults to this value. ", + "expectedVersion": "The expected version of the dynamic thing group to update.", + "indexName": "The dynamic thing group index to update. Currently one index is supported: 'AWS_Things'. ", + "queryString": "The dynamic thing group search query string to update." +} +""" +UpdateDynamicThingGroup(args) = iot("PATCH", "/dynamic-thing-groups/{thingGroupName}", args) + +""" + ListTagsForResource() + +Lists the tags (metadata) you have assigned to the resource. + +Required Parameters +{ + "resourceArn": "The ARN of the resource." +} + +Optional Parameters +{ + "nextToken": "The token to retrieve the next set of results." +} +""" +ListTagsForResource(args) = iot("GET", "/tags", args) + +""" + ListSecurityProfiles() + +Lists the Device Defender security profiles you have created. You can use filters to list only those security profiles associated with a thing group or only those associated with your account. + +Optional Parameters +{ + "maxResults": "The maximum number of results to return at one time.", + "nextToken": "The token for the next set of results." +} +""" +ListSecurityProfiles() = iot("GET", "/security-profiles") +ListSecurityProfiles(args) = iot("GET", "/security-profiles", args) + +""" + ListAuditMitigationActionsTasks() + +Gets a list of audit mitigation action tasks that match the specified filters. + +Required Parameters +{ + "startTime": "Specify this filter to limit results to tasks that began on or after a specific date and time.", + "endTime": "Specify this filter to limit results to tasks that were completed or canceled on or before a specific date and time." +} + +Optional Parameters +{ + "auditTaskId": "Specify this filter to limit results to tasks that were applied to results for a specific audit.", + "taskStatus": "Specify this filter to limit results to tasks that are in a specific state.", + "findingId": "Specify this filter to limit results to tasks that were applied to a specific audit finding.", + "maxResults": "The maximum number of results to return at one time. The default is 25.", + "nextToken": "The token for the next set of results." +} +""" +ListAuditMitigationActionsTasks(args) = iot("GET", "/audit/mitigationactions/tasks", args) + +""" + DeleteCertificate() + +Deletes the specified certificate. A certificate cannot be deleted if it has a policy or IoT thing attached to it or if its status is set to ACTIVE. To delete a certificate, first use the DetachPrincipalPolicy API to detach all policies. Next, use the UpdateCertificate API to set the certificate to the INACTIVE status. + +Required Parameters +{ + "certificateId": "The ID of the certificate. (The last part of the certificate ARN contains the certificate ID.)" +} + +Optional Parameters +{ + "forceDelete": "Forces the deletion of a certificate if it is inactive and is not attached to an IoT thing." +} +""" +DeleteCertificate(args) = iot("DELETE", "/certificates/{certificateId}", args) + +""" + ListJobExecutionsForJob() + +Lists the job executions for a job. + +Required Parameters +{ + "jobId": "The unique identifier you assigned to this job when it was created." +} + +Optional Parameters +{ + "status": "The status of the job.", + "maxResults": "The maximum number of results to be returned per request.", + "nextToken": "The token to retrieve the next set of results." +} +""" +ListJobExecutionsForJob(args) = iot("GET", "/jobs/{jobId}/things", args) + +""" + UpdateCACertificate() + +Updates a registered CA certificate. + +Required Parameters +{ + "certificateId": "The CA certificate identifier." +} + +Optional Parameters +{ + "newStatus": "The updated status of the CA certificate. Note: The status value REGISTER_INACTIVE is deprecated and should not be used.", + "newAutoRegistrationStatus": "The new value for the auto registration status. Valid values are: \"ENABLE\" or \"DISABLE\".", + "registrationConfig": "Information about the registration configuration.", + "removeAutoRegistration": "If true, removes auto registration." +} +""" +UpdateCACertificate(args) = iot("PUT", "/cacertificate/{caCertificateId}", args) + +""" + UpdateIndexingConfiguration() + +Updates the search configuration. + +Optional Parameters +{ + "thingIndexingConfiguration": "Thing indexing configuration.", + "thingGroupIndexingConfiguration": "Thing group indexing configuration." +} +""" +UpdateIndexingConfiguration() = iot("POST", "/indexing/config") +UpdateIndexingConfiguration(args) = iot("POST", "/indexing/config", args) + +""" + ListThingGroups() + +List the thing groups in your account. + +Optional Parameters +{ + "namePrefixFilter": "A filter that limits the results to those with the specified name prefix.", + "recursive": "If true, return child groups as well.", + "maxResults": "The maximum number of results to return at one time.", + "parentGroup": "A filter that limits the results to those with the specified parent group.", + "nextToken": "The token to retrieve the next set of results." +} +""" +ListThingGroups() = iot("GET", "/thing-groups") +ListThingGroups(args) = iot("GET", "/thing-groups", args) + +""" + DeleteThingGroup() + +Deletes a thing group. + +Required Parameters +{ + "thingGroupName": "The name of the thing group to delete." +} + +Optional Parameters +{ + "expectedVersion": "The expected version of the thing group to delete." +} +""" +DeleteThingGroup(args) = iot("DELETE", "/thing-groups/{thingGroupName}", args) + +""" + ClearDefaultAuthorizer() + +Clears the default authorizer. +""" +ClearDefaultAuthorizer() = iot("DELETE", "/default-authorizer") +ClearDefaultAuthorizer(args) = iot("DELETE", "/default-authorizer", args) + +""" + AttachPolicy() + +Attaches a policy to the specified target. + +Required Parameters +{ + "policyName": "The name of the policy to attach.", + "target": "The identity to which the policy is attached." +} +""" +AttachPolicy(args) = iot("PUT", "/target-policies/{policyName}", args) + +""" + GetTopicRule() + +Gets information about the rule. + +Required Parameters +{ + "ruleName": "The name of the rule." +} +""" +GetTopicRule(args) = iot("GET", "/rules/{ruleName}", args) + +""" + DescribeAuthorizer() + +Describes an authorizer. + +Required Parameters +{ + "authorizerName": "The name of the authorizer to describe." +} +""" +DescribeAuthorizer(args) = iot("GET", "/authorizer/{authorizerName}", args) + +""" + SetDefaultAuthorizer() + +Sets the default authorizer. This will be used if a websocket connection is made without specifying an authorizer. + +Required Parameters +{ + "authorizerName": "The authorizer name." +} +""" +SetDefaultAuthorizer(args) = iot("POST", "/default-authorizer", args) + +""" + CreateSecurityProfile() + +Creates a Device Defender security profile. + +Required Parameters +{ + "securityProfileName": "The name you are giving to the security profile." +} + +Optional Parameters +{ + "behaviors": "Specifies the behaviors that, when violated by a device (thing), cause an alert.", + "alertTargets": "Specifies the destinations to which alerts are sent. (Alerts are always sent to the console.) Alerts are generated when a device (thing) violates a behavior.", + "tags": "Metadata that can be used to manage the security profile.", + "additionalMetricsToRetain": "A list of metrics whose data is retained (stored). By default, data is retained for any metric used in the profile's behaviors, but it is also retained for any metric specified here.", + "securityProfileDescription": "A description of the security profile." +} +""" +CreateSecurityProfile(args) = iot("POST", "/security-profiles/{securityProfileName}", args) + +""" + ListPolicies() + +Lists your policies. + +Optional Parameters +{ + "ascendingOrder": "Specifies the order for results. If true, the results are returned in ascending creation order.", + "pageSize": "The result page size.", + "marker": "The marker for the next set of results." +} +""" +ListPolicies() = iot("GET", "/policies") +ListPolicies(args) = iot("GET", "/policies", args) + +""" + ListSecurityProfilesForTarget() + +Lists the Device Defender security profiles attached to a target (thing group). + +Required Parameters +{ + "securityProfileTargetArn": "The ARN of the target (thing group) whose attached security profiles you want to get." +} + +Optional Parameters +{ + "recursive": "If true, return child groups too.", + "maxResults": "The maximum number of results to return at one time.", + "nextToken": "The token for the next set of results." +} +""" +ListSecurityProfilesForTarget(args) = iot("GET", "/security-profiles-for-target", args) + +""" + CreatePolicy() + +Creates an AWS IoT policy. The created policy is the default version for the policy. This operation creates a policy version with a version identifier of 1 and sets 1 as the policy's default version. + +Required Parameters +{ + "policyName": "The policy name.", + "policyDocument": "The JSON document that describes the policy. policyDocument must have a minimum length of 1, with a maximum length of 2048, excluding whitespace." +} +""" +CreatePolicy(args) = iot("POST", "/policies/{policyName}", args) + +""" + DeleteBillingGroup() + +Deletes the billing group. + +Required Parameters +{ + "billingGroupName": "The name of the billing group." +} + +Optional Parameters +{ + "expectedVersion": "The expected version of the billing group. If the version of the billing group does not match the expected version specified in the request, the DeleteBillingGroup request is rejected with a VersionConflictException." +} +""" +DeleteBillingGroup(args) = iot("DELETE", "/billing-groups/{billingGroupName}", args) + +""" + GetV2LoggingOptions() + +Gets the fine grained logging options. +""" +GetV2LoggingOptions() = iot("GET", "/v2LoggingOptions") +GetV2LoggingOptions(args) = iot("GET", "/v2LoggingOptions", args) + +""" + DeleteThingType() + +Deletes the specified thing type. You cannot delete a thing type if it has things associated with it. To delete a thing type, first mark it as deprecated by calling DeprecateThingType, then remove any associated things by calling UpdateThing to change the thing type on any associated thing, and finally use DeleteThingType to delete the thing type. + +Required Parameters +{ + "thingTypeName": "The name of the thing type." +} +""" +DeleteThingType(args) = iot("DELETE", "/thing-types/{thingTypeName}", args) + +""" + SetV2LoggingLevel() + +Sets the logging level. + +Required Parameters +{ + "logTarget": "The log target.", + "logLevel": "The log level." +} +""" +SetV2LoggingLevel(args) = iot("POST", "/v2LoggingLevel", args) + +""" + ConfirmTopicRuleDestination() + +Confirms a topic rule destination. When you create a rule requiring a destination, AWS IoT sends a confirmation message to the endpoint or base address you specify. The message includes a token which you pass back when calling ConfirmTopicRuleDestination to confirm that you own or have access to the endpoint. + +Required Parameters +{ + "confirmationToken": "The token used to confirm ownership or access to the topic rule confirmation URL." +} +""" +ConfirmTopicRuleDestination(args) = iot("GET", "/confirmdestination/{confirmationToken+}", args) + +""" + SearchIndex() + +The query search index. + +Required Parameters +{ + "queryString": "The search query string." +} + +Optional Parameters +{ + "queryVersion": "The query version.", + "indexName": "The search index name.", + "maxResults": "The maximum number of results to return at one time.", + "nextToken": "The token used to get the next set of results, or null if there are no additional results." +} +""" +SearchIndex(args) = iot("POST", "/indices/search", args) + +""" + CancelCertificateTransfer() + +Cancels a pending transfer for the specified certificate. Note Only the transfer source account can use this operation to cancel a transfer. (Transfer destinations can use RejectCertificateTransfer instead.) After transfer, AWS IoT returns the certificate to the source account in the INACTIVE state. After the destination account has accepted the transfer, the transfer cannot be cancelled. After a certificate transfer is cancelled, the status of the certificate changes from PENDING_TRANSFER to INACTIVE. + +Required Parameters +{ + "certificateId": "The ID of the certificate. (The last part of the certificate ARN contains the certificate ID.)" +} +""" +CancelCertificateTransfer(args) = iot("PATCH", "/cancel-certificate-transfer/{certificateId}", args) + +""" + DeleteRoleAlias() + +Deletes a role alias + +Required Parameters +{ + "roleAlias": "The role alias to delete." +} +""" +DeleteRoleAlias(args) = iot("DELETE", "/role-aliases/{roleAlias}", args) + +""" + DescribeRoleAlias() + +Describes a role alias. + +Required Parameters +{ + "roleAlias": "The role alias to describe." +} +""" +DescribeRoleAlias(args) = iot("GET", "/role-aliases/{roleAlias}", args) + +""" + GetJobDocument() + +Gets a job document. + +Required Parameters +{ + "jobId": "The unique identifier you assigned to this job when it was created." +} +""" +GetJobDocument(args) = iot("GET", "/jobs/{jobId}/job-document", args) diff --git a/src/services/iot_1click_devices_service.jl b/src/services/iot_1click_devices_service.jl new file mode 100644 index 0000000000..33b1a58e53 --- /dev/null +++ b/src/services/iot_1click_devices_service.jl @@ -0,0 +1,202 @@ +include("../AWSServices.jl") +using .AWSServices: iot_1click_devices_service + +""" + ListTagsForResource() + +Lists the tags associated with the specified resource ARN. + +Required Parameters +{ + "ResourceArn": "The ARN of the resource." +} +""" +ListTagsForResource(args) = iot_1click_devices_service("GET", "/tags/{resource-arn}", args) + +""" + ListDevices() + +Lists the 1-Click compatible devices associated with your AWS account. + +Optional Parameters +{ + "DeviceType": "The type of the device, such as \"button\".", + "MaxResults": "The maximum number of results to return per request. If not set, a default value of\n 100 is used.", + "NextToken": "The token to retrieve the next set of results." +} +""" +ListDevices() = iot_1click_devices_service("GET", "/devices") +ListDevices(args) = iot_1click_devices_service("GET", "/devices", args) + +""" + InvokeDeviceMethod() + +Given a device ID, issues a request to invoke a named device method (with possible + parameters). See the "Example POST" code snippet below. + +Required Parameters +{ + "DeviceId": "The unique identifier of the device." +} + +Optional Parameters +{ + "DeviceMethodParameters": "A JSON encoded string containing the device method request parameters.", + "DeviceMethod": "The device method to invoke." +} +""" +InvokeDeviceMethod(args) = iot_1click_devices_service("POST", "/devices/{deviceId}/methods", args) + +""" + TagResource() + +Adds or updates the tags associated with the resource ARN. See AWS IoT 1-Click Service Limits for the maximum number of tags allowed per + resource. + +Required Parameters +{ + "ResourceArn": "The ARN of the resource.", + "Tags": "A collection of key/value pairs defining the resource tags. For example, {\n \"tags\": {\"key1\": \"value1\", \"key2\": \"value2\"} }. For more information, see AWS\n Tagging Strategies.\n \n " +} +""" +TagResource(args) = iot_1click_devices_service("POST", "/tags/{resource-arn}", args) + +""" + UntagResource() + +Using tag keys, deletes the tags (key/value pairs) associated with the specified + resource ARN. + +Required Parameters +{ + "ResourceArn": "The ARN of the resource.", + "TagKeys": "A collections of tag keys. For example, {\"key1\",\"key2\"}" +} +""" +UntagResource(args) = iot_1click_devices_service("DELETE", "/tags/{resource-arn}", args) + +""" + ListDeviceEvents() + +Using a device ID, returns a DeviceEventsResponse object containing an + array of events for the device. + +Required Parameters +{ + "FromTimeStamp": "The start date for the device event query, in ISO8061 format. For example,\n 2018-03-28T15:45:12.880Z\n ", + "ToTimeStamp": "The end date for the device event query, in ISO8061 format. For example,\n 2018-03-28T15:45:12.880Z\n ", + "DeviceId": "The unique identifier of the device." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return per request. If not set, a default value of\n 100 is used.", + "NextToken": "The token to retrieve the next set of results." +} +""" +ListDeviceEvents(args) = iot_1click_devices_service("GET", "/devices/{deviceId}/events", args) + +""" + FinalizeDeviceClaim() + +Given a device ID, finalizes the claim request for the associated device. + Claiming a device consists of initiating a claim, then publishing a device event, + and finalizing the claim. For a device of type button, a device event can + be published by simply clicking the device. + + +Required Parameters +{ + "DeviceId": "The unique identifier of the device." +} + +Optional Parameters +{ + "Tags": "A collection of key/value pairs defining the resource tags. For example, {\n \"tags\": {\"key1\": \"value1\", \"key2\": \"value2\"} }. For more information, see AWS\n Tagging Strategies.\n \n " +} +""" +FinalizeDeviceClaim(args) = iot_1click_devices_service("PUT", "/devices/{deviceId}/finalize-claim", args) + +""" + ClaimDevicesByClaimCode() + +Adds device(s) to your account (i.e., claim one or more devices) if and only if you + received a claim code with the device(s). + +Required Parameters +{ + "ClaimCode": "The claim code, starting with \"C-\", as provided by the device manufacturer." +} +""" +ClaimDevicesByClaimCode(args) = iot_1click_devices_service("PUT", "/claims/{claimCode}", args) + +""" + DescribeDevice() + +Given a device ID, returns a DescribeDeviceResponse object describing the + details of the device. + +Required Parameters +{ + "DeviceId": "The unique identifier of the device." +} +""" +DescribeDevice(args) = iot_1click_devices_service("GET", "/devices/{deviceId}", args) + +""" + UnclaimDevice() + +Disassociates a device from your AWS account using its device ID. + +Required Parameters +{ + "DeviceId": "The unique identifier of the device." +} +""" +UnclaimDevice(args) = iot_1click_devices_service("PUT", "/devices/{deviceId}/unclaim", args) + +""" + InitiateDeviceClaim() + +Given a device ID, initiates a claim request for the associated device. + Claiming a device consists of initiating a claim, then publishing a device event, + and finalizing the claim. For a device of type button, a device event can + be published by simply clicking the device. + + +Required Parameters +{ + "DeviceId": "The unique identifier of the device." +} +""" +InitiateDeviceClaim(args) = iot_1click_devices_service("PUT", "/devices/{deviceId}/initiate-claim", args) + +""" + GetDeviceMethods() + +Given a device ID, returns the invokable methods associated with the device. + +Required Parameters +{ + "DeviceId": "The unique identifier of the device." +} +""" +GetDeviceMethods(args) = iot_1click_devices_service("GET", "/devices/{deviceId}/methods", args) + +""" + UpdateDeviceState() + +Using a Boolean value (true or false), this operation + enables or disables the device given a device ID. + +Required Parameters +{ + "DeviceId": "The unique identifier of the device." +} + +Optional Parameters +{ + "Enabled": "If true, the device is enabled. If false, the device is\n disabled." +} +""" +UpdateDeviceState(args) = iot_1click_devices_service("PUT", "/devices/{deviceId}/state", args) diff --git a/src/services/iot_1click_projects.jl b/src/services/iot_1click_projects.jl new file mode 100644 index 0000000000..f5a6f1448a --- /dev/null +++ b/src/services/iot_1click_projects.jl @@ -0,0 +1,237 @@ +include("../AWSServices.jl") +using .AWSServices: iot_1click_projects + +""" + ListTagsForResource() + +Lists the tags (metadata key/value pairs) which you have assigned to the resource. + +Required Parameters +{ + "resourceArn": "The ARN of the resource whose tags you want to list." +} +""" +ListTagsForResource(args) = iot_1click_projects("GET", "/tags/{resourceArn}", args) + +""" + DeletePlacement() + +Deletes a placement. To delete a placement, it must not have any devices associated with it. When you delete a placement, all associated data becomes irretrievable. + +Required Parameters +{ + "projectName": "The project containing the empty placement to delete.", + "placementName": "The name of the empty placement to delete." +} +""" +DeletePlacement(args) = iot_1click_projects("DELETE", "/projects/{projectName}/placements/{placementName}", args) + +""" + UpdateProject() + +Updates a project associated with your AWS account and region. With the exception of device template names, you can pass just the values that need to be updated because the update request will change only the values that are provided. To clear a value, pass the empty string (i.e., ""). + +Required Parameters +{ + "projectName": "The name of the project to be updated." +} + +Optional Parameters +{ + "placementTemplate": "An object defining the project update. Once a project has been created, you cannot add device template names to the project. However, for a given placementTemplate, you can update the associated callbackOverrides for the device definition using this API.", + "description": "An optional user-defined description for the project." +} +""" +UpdateProject(args) = iot_1click_projects("PUT", "/projects/{projectName}", args) + +""" + AssociateDeviceWithPlacement() + +Associates a physical device with a placement. + +Required Parameters +{ + "deviceTemplateName": "The device template name to associate with the device ID.", + "projectName": "The name of the project containing the placement in which to associate the device.", + "placementName": "The name of the placement in which to associate the device.", + "deviceId": "The ID of the physical device to be associated with the given placement in the project. Note that a mandatory 4 character prefix is required for all deviceId values." +} +""" +AssociateDeviceWithPlacement(args) = iot_1click_projects("PUT", "/projects/{projectName}/placements/{placementName}/devices/{deviceTemplateName}", args) + +""" + DescribeProject() + +Returns an object describing a project. + +Required Parameters +{ + "projectName": "The name of the project to be described." +} +""" +DescribeProject(args) = iot_1click_projects("GET", "/projects/{projectName}", args) + +""" + CreateProject() + +Creates an empty project with a placement template. A project contains zero or more placements that adhere to the placement template defined in the project. + +Required Parameters +{ + "projectName": "The name of the project to create." +} + +Optional Parameters +{ + "placementTemplate": "The schema defining the placement to be created. A placement template defines placement default attributes and device templates. You cannot add or remove device templates after the project has been created. However, you can update callbackOverrides for the device templates using the UpdateProject API.", + "tags": "Optional tags (metadata key/value pairs) to be associated with the project. For example, { {\"key1\": \"value1\", \"key2\": \"value2\"} }. For more information, see AWS Tagging Strategies.", + "description": "An optional description for the project." +} +""" +CreateProject(args) = iot_1click_projects("POST", "/projects", args) + +""" + ListPlacements() + +Lists the placement(s) of a project. + +Required Parameters +{ + "projectName": "The project containing the placements to be listed." +} + +Optional Parameters +{ + "maxResults": "The maximum number of results to return per request. If not set, a default value of 100 is used.", + "nextToken": "The token to retrieve the next set of results." +} +""" +ListPlacements(args) = iot_1click_projects("GET", "/projects/{projectName}/placements", args) + +""" + UpdatePlacement() + +Updates a placement with the given attributes. To clear an attribute, pass an empty value (i.e., ""). + +Required Parameters +{ + "projectName": "The name of the project containing the placement to be updated.", + "placementName": "The name of the placement to update." +} + +Optional Parameters +{ + "attributes": "The user-defined object of attributes used to update the placement. The maximum number of key/value pairs is 50." +} +""" +UpdatePlacement(args) = iot_1click_projects("PUT", "/projects/{projectName}/placements/{placementName}", args) + +""" + CreatePlacement() + +Creates an empty placement. + +Required Parameters +{ + "projectName": "The name of the project in which to create the placement.", + "placementName": "The name of the placement to be created." +} + +Optional Parameters +{ + "attributes": "Optional user-defined key/value pairs providing contextual data (such as location or function) for the placement." +} +""" +CreatePlacement(args) = iot_1click_projects("POST", "/projects/{projectName}/placements", args) + +""" + DescribePlacement() + +Describes a placement in a project. + +Required Parameters +{ + "projectName": "The project containing the placement to be described.", + "placementName": "The name of the placement within a project." +} +""" +DescribePlacement(args) = iot_1click_projects("GET", "/projects/{projectName}/placements/{placementName}", args) + +""" + ListProjects() + +Lists the AWS IoT 1-Click project(s) associated with your AWS account and region. + +Optional Parameters +{ + "maxResults": "The maximum number of results to return per request. If not set, a default value of 100 is used.", + "nextToken": "The token to retrieve the next set of results." +} +""" +ListProjects() = iot_1click_projects("GET", "/projects") +ListProjects(args) = iot_1click_projects("GET", "/projects", args) + +""" + TagResource() + +Creates or modifies tags for a resource. Tags are key/value pairs (metadata) that can be used to manage a resource. For more information, see AWS Tagging Strategies. + +Required Parameters +{ + "resourceArn": "The ARN of the resouce for which tag(s) should be added or modified.", + "tags": "The new or modifying tag(s) for the resource. See AWS IoT 1-Click Service Limits for the maximum number of tags allowed per resource." +} +""" +TagResource(args) = iot_1click_projects("POST", "/tags/{resourceArn}", args) + +""" + UntagResource() + +Removes one or more tags (metadata key/value pairs) from a resource. + +Required Parameters +{ + "resourceArn": "The ARN of the resource whose tag you want to remove.", + "tagKeys": "The keys of those tags which you want to remove." +} +""" +UntagResource(args) = iot_1click_projects("DELETE", "/tags/{resourceArn}", args) + +""" + DeleteProject() + +Deletes a project. To delete a project, it must not have any placements associated with it. When you delete a project, all associated data becomes irretrievable. + +Required Parameters +{ + "projectName": "The name of the empty project to delete." +} +""" +DeleteProject(args) = iot_1click_projects("DELETE", "/projects/{projectName}", args) + +""" + DisassociateDeviceFromPlacement() + +Removes a physical device from a placement. + +Required Parameters +{ + "deviceTemplateName": "The device ID that should be removed from the placement.", + "projectName": "The name of the project that contains the placement.", + "placementName": "The name of the placement that the device should be removed from." +} +""" +DisassociateDeviceFromPlacement(args) = iot_1click_projects("DELETE", "/projects/{projectName}/placements/{placementName}/devices/{deviceTemplateName}", args) + +""" + GetDevicesInPlacement() + +Returns an object enumerating the devices in a placement. + +Required Parameters +{ + "projectName": "The name of the project containing the placement.", + "placementName": "The name of the placement to get the devices from." +} +""" +GetDevicesInPlacement(args) = iot_1click_projects("GET", "/projects/{projectName}/placements/{placementName}/devices", args) diff --git a/src/services/iot_data_plane.jl b/src/services/iot_data_plane.jl new file mode 100644 index 0000000000..eb0155487a --- /dev/null +++ b/src/services/iot_data_plane.jl @@ -0,0 +1,57 @@ +include("../AWSServices.jl") +using .AWSServices: iot_data_plane + +""" + GetThingShadow() + +Gets the thing shadow for the specified thing. For more information, see GetThingShadow in the AWS IoT Developer Guide. + +Required Parameters +{ + "thingName": "The name of the thing." +} +""" +GetThingShadow(args) = iot_data_plane("GET", "/things/{thingName}/shadow", args) + +""" + DeleteThingShadow() + +Deletes the thing shadow for the specified thing. For more information, see DeleteThingShadow in the AWS IoT Developer Guide. + +Required Parameters +{ + "thingName": "The name of the thing." +} +""" +DeleteThingShadow(args) = iot_data_plane("DELETE", "/things/{thingName}/shadow", args) + +""" + Publish() + +Publishes state information. For more information, see HTTP Protocol in the AWS IoT Developer Guide. + +Required Parameters +{ + "topic": "The name of the MQTT topic." +} + +Optional Parameters +{ + "qos": "The Quality of Service (QoS) level.", + "payload": "The state information, in JSON format." +} +""" +Publish(args) = iot_data_plane("POST", "/topics/{topic}", args) + +""" + UpdateThingShadow() + +Updates the thing shadow for the specified thing. For more information, see UpdateThingShadow in the AWS IoT Developer Guide. + +Required Parameters +{ + "thingName": "The name of the thing.", + "payload": "The state information, in JSON format." +} +""" +UpdateThingShadow(args) = iot_data_plane("POST", "/things/{thingName}/shadow", args) diff --git a/src/services/iot_events.jl b/src/services/iot_events.jl new file mode 100644 index 0000000000..94de2edbf6 --- /dev/null +++ b/src/services/iot_events.jl @@ -0,0 +1,238 @@ +include("../AWSServices.jl") +using .AWSServices: iot_events + +""" + ListTagsForResource() + +Lists the tags (metadata) you have assigned to the resource. + +Required Parameters +{ + "resourceArn": "The ARN of the resource." +} +""" +ListTagsForResource(args) = iot_events("GET", "/tags", args) + +""" + DescribeDetectorModel() + +Describes a detector model. If the version parameter is not specified, information about the latest version is returned. + +Required Parameters +{ + "detectorModelName": "The name of the detector model." +} + +Optional Parameters +{ + "detectorModelVersion": "The version of the detector model." +} +""" +DescribeDetectorModel(args) = iot_events("GET", "/detector-models/{detectorModelName}", args) + +""" + CreateInput() + +Creates an input. + +Required Parameters +{ + "inputName": "The name you want to give to the input.", + "inputDefinition": "The definition of the input." +} + +Optional Parameters +{ + "inputDescription": "A brief description of the input.", + "tags": "Metadata that can be used to manage the input." +} +""" +CreateInput(args) = iot_events("POST", "/inputs", args) + +""" + ListDetectorModelVersions() + +Lists all the versions of a detector model. Only the metadata associated with each detector model version is returned. + +Required Parameters +{ + "detectorModelName": "The name of the detector model whose versions are returned." +} + +Optional Parameters +{ + "maxResults": "The maximum number of results to return at one time.", + "nextToken": "The token for the next set of results." +} +""" +ListDetectorModelVersions(args) = iot_events("GET", "/detector-models/{detectorModelName}/versions", args) + +""" + DescribeInput() + +Describes an input. + +Required Parameters +{ + "inputName": "The name of the input." +} +""" +DescribeInput(args) = iot_events("GET", "/inputs/{inputName}", args) + +""" + ListInputs() + +Lists the inputs you have created. + +Optional Parameters +{ + "maxResults": "The maximum number of results to return at one time.", + "nextToken": "The token for the next set of results." +} +""" +ListInputs() = iot_events("GET", "/inputs") +ListInputs(args) = iot_events("GET", "/inputs", args) + +""" + TagResource() + +Adds to or modifies the tags of the given resource. Tags are metadata that can be used to manage a resource. + +Required Parameters +{ + "resourceArn": "The ARN of the resource.", + "tags": "The new or modified tags for the resource." +} +""" +TagResource(args) = iot_events("POST", "/tags", args) + +""" + UntagResource() + +Removes the given tags (metadata) from the resource. + +Required Parameters +{ + "resourceArn": "The ARN of the resource.", + "tagKeys": "A list of the keys of the tags to be removed from the resource." +} +""" +UntagResource(args) = iot_events("DELETE", "/tags", args) + +""" + PutLoggingOptions() + +Sets or updates the AWS IoT Events logging options. If you update the value of any loggingOptions field, it takes up to one minute for the change to take effect. If you change the policy attached to the role you specified in the roleArn field (for example, to correct an invalid policy), it takes up to five minutes for that change to take effect. + +Required Parameters +{ + "loggingOptions": "The new values of the AWS IoT Events logging options." +} +""" +PutLoggingOptions(args) = iot_events("PUT", "/logging", args) + +""" + UpdateDetectorModel() + +Updates a detector model. Detectors (instances) spawned by the previous version are deleted and then re-created as new inputs arrive. + +Required Parameters +{ + "roleArn": "The ARN of the role that grants permission to AWS IoT Events to perform its operations.", + "detectorModelDefinition": "Information that defines how a detector operates.", + "detectorModelName": "The name of the detector model that is updated." +} + +Optional Parameters +{ + "evaluationMethod": "Information about the order in which events are evaluated and how actions are executed. ", + "detectorModelDescription": "A brief description of the detector model." +} +""" +UpdateDetectorModel(args) = iot_events("POST", "/detector-models/{detectorModelName}", args) + +""" + ListDetectorModels() + +Lists the detector models you have created. Only the metadata associated with each detector model is returned. + +Optional Parameters +{ + "maxResults": "The maximum number of results to return at one time.", + "nextToken": "The token for the next set of results." +} +""" +ListDetectorModels() = iot_events("GET", "/detector-models") +ListDetectorModels(args) = iot_events("GET", "/detector-models", args) + +""" + UpdateInput() + +Updates an input. + +Required Parameters +{ + "inputName": "The name of the input you want to update.", + "inputDefinition": "The definition of the input." +} + +Optional Parameters +{ + "inputDescription": "A brief description of the input." +} +""" +UpdateInput(args) = iot_events("PUT", "/inputs/{inputName}", args) + +""" + DeleteInput() + +Deletes an input. + +Required Parameters +{ + "inputName": "The name of the input to delete." +} +""" +DeleteInput(args) = iot_events("DELETE", "/inputs/{inputName}", args) + +""" + DescribeLoggingOptions() + +Retrieves the current settings of the AWS IoT Events logging options. +""" +DescribeLoggingOptions() = iot_events("GET", "/logging") +DescribeLoggingOptions(args) = iot_events("GET", "/logging", args) + +""" + CreateDetectorModel() + +Creates a detector model. + +Required Parameters +{ + "roleArn": "The ARN of the role that grants permission to AWS IoT Events to perform its operations.", + "detectorModelDefinition": "Information that defines how the detectors operate.", + "detectorModelName": "The name of the detector model." +} + +Optional Parameters +{ + "key": "The input attribute key used to identify a device or system to create a detector (an instance of the detector model) and then to route each input received to the appropriate detector (instance). This parameter uses a JSON-path expression in the message payload of each input to specify the attribute-value pair that is used to identify the device associated with the input.", + "evaluationMethod": "Information about the order in which events are evaluated and how actions are executed. ", + "detectorModelDescription": "A brief description of the detector model.", + "tags": "Metadata that can be used to manage the detector model." +} +""" +CreateDetectorModel(args) = iot_events("POST", "/detector-models", args) + +""" + DeleteDetectorModel() + +Deletes a detector model. Any active instances of the detector model are also deleted. + +Required Parameters +{ + "detectorModelName": "The name of the detector model to be deleted." +} +""" +DeleteDetectorModel(args) = iot_events("DELETE", "/detector-models/{detectorModelName}", args) diff --git a/src/services/iot_events_data.jl b/src/services/iot_events_data.jl new file mode 100644 index 0000000000..8e047c7845 --- /dev/null +++ b/src/services/iot_events_data.jl @@ -0,0 +1,62 @@ +include("../AWSServices.jl") +using .AWSServices: iot_events_data + +""" + BatchPutMessage() + +Sends a set of messages to the AWS IoT Events system. Each message payload is transformed into the input you specify ("inputName") and ingested into any detectors that monitor that input. If multiple messages are sent, the order in which the messages are processed isn't guaranteed. To guarantee ordering, you must send messages one at a time and wait for a successful response. + +Required Parameters +{ + "messages": "The list of messages to send. Each message has the following format: '{ \"messageId\": \"string\", \"inputName\": \"string\", \"payload\": \"string\"}' " +} +""" +BatchPutMessage(args) = iot_events_data("POST", "/inputs/messages", args) + +""" + BatchUpdateDetector() + +Updates the state, variable values, and timer settings of one or more detectors (instances) of a specified detector model. + +Required Parameters +{ + "detectors": "The list of detectors (instances) to update, along with the values to update." +} +""" +BatchUpdateDetector(args) = iot_events_data("POST", "/detectors", args) + +""" + DescribeDetector() + +Returns information about the specified detector (instance). + +Required Parameters +{ + "detectorModelName": "The name of the detector model whose detectors (instances) you want information about." +} + +Optional Parameters +{ + "keyValue": "A filter used to limit results to detectors (instances) created because of the given key ID." +} +""" +DescribeDetector(args) = iot_events_data("GET", "/detectors/{detectorModelName}/keyValues/", args) + +""" + ListDetectors() + +Lists detectors (the instances of a detector model). + +Required Parameters +{ + "detectorModelName": "The name of the detector model whose detectors (instances) are listed." +} + +Optional Parameters +{ + "maxResults": "The maximum number of results to return at one time.", + "stateName": "A filter that limits results to those detectors (instances) in the given state.", + "nextToken": "The token for the next set of results." +} +""" +ListDetectors(args) = iot_events_data("GET", "/detectors/{detectorModelName}", args) diff --git a/src/services/iot_jobs_data_plane.jl b/src/services/iot_jobs_data_plane.jl new file mode 100644 index 0000000000..8815b4f6fc --- /dev/null +++ b/src/services/iot_jobs_data_plane.jl @@ -0,0 +1,75 @@ +include("../AWSServices.jl") +using .AWSServices: iot_jobs_data_plane + +""" + UpdateJobExecution() + +Updates the status of a job execution. + +Required Parameters +{ + "jobId": "The unique identifier assigned to this job when it was created.", + "status": "The new status for the job execution (IN_PROGRESS, FAILED, SUCCESS, or REJECTED). This must be specified on every update.", + "thingName": "The name of the thing associated with the device." +} + +Optional Parameters +{ + "stepTimeoutInMinutes": "Specifies the amount of time this device has to finish execution of this job. If the job execution status is not set to a terminal state before this timer expires, or before the timer is reset (by again calling UpdateJobExecution, setting the status to IN_PROGRESS and specifying a new timeout value in this field) the job execution status will be automatically set to TIMED_OUT. Note that setting or resetting this timeout has no effect on that job execution timeout which may have been specified when the job was created (CreateJob using field timeoutConfig).", + "expectedVersion": "Optional. The expected current version of the job execution. Each time you update the job execution, its version is incremented. If the version of the job execution stored in Jobs does not match, the update is rejected with a VersionMismatch error, and an ErrorResponse that contains the current job execution status data is returned. (This makes it unnecessary to perform a separate DescribeJobExecution request in order to obtain the job execution status data.)", + "statusDetails": " Optional. A collection of name/value pairs that describe the status of the job execution. If not specified, the statusDetails are unchanged.", + "executionNumber": "Optional. A number that identifies a particular job execution on a particular device.", + "includeJobDocument": "Optional. When set to true, the response contains the job document. The default is false.", + "includeJobExecutionState": "Optional. When included and set to true, the response contains the JobExecutionState data. The default is false." +} +""" +UpdateJobExecution(args) = iot_jobs_data_plane("POST", "/things/{thingName}/jobs/{jobId}", args) + +""" + DescribeJobExecution() + +Gets details of a job execution. + +Required Parameters +{ + "jobId": "The unique identifier assigned to this job when it was created.", + "thingName": "The thing name associated with the device the job execution is running on." +} + +Optional Parameters +{ + "executionNumber": "Optional. A number that identifies a particular job execution on a particular device. If not specified, the latest job execution is returned.", + "includeJobDocument": "Optional. When set to true, the response contains the job document. The default is false." +} +""" +DescribeJobExecution(args) = iot_jobs_data_plane("GET", "/things/{thingName}/jobs/{jobId}", args) + +""" + GetPendingJobExecutions() + +Gets the list of all jobs for a thing that are not in a terminal status. + +Required Parameters +{ + "thingName": "The name of the thing that is executing the job." +} +""" +GetPendingJobExecutions(args) = iot_jobs_data_plane("GET", "/things/{thingName}/jobs", args) + +""" + StartNextPendingJobExecution() + +Gets and starts the next pending (status IN_PROGRESS or QUEUED) job execution for a thing. + +Required Parameters +{ + "thingName": "The name of the thing associated with the device." +} + +Optional Parameters +{ + "stepTimeoutInMinutes": "Specifies the amount of time this device has to finish execution of this job. If the job execution status is not set to a terminal state before this timer expires, or before the timer is reset (by calling UpdateJobExecution, setting the status to IN_PROGRESS and specifying a new timeout value in field stepTimeoutInMinutes) the job execution status will be automatically set to TIMED_OUT. Note that setting this timeout has no effect on that job execution timeout which may have been specified when the job was created (CreateJob using field timeoutConfig).", + "statusDetails": "A collection of name/value pairs that describe the status of the job execution. If not specified, the statusDetails are unchanged." +} +""" +StartNextPendingJobExecution(args) = iot_jobs_data_plane("PUT", "/things/{thingName}/jobs/$next", args) diff --git a/src/services/iotanalytics.jl b/src/services/iotanalytics.jl new file mode 100644 index 0000000000..bd9be7ff42 --- /dev/null +++ b/src/services/iotanalytics.jl @@ -0,0 +1,512 @@ +include("../AWSServices.jl") +using .AWSServices: iotanalytics + +""" + DescribeDataset() + +Retrieves information about a data set. + +Required Parameters +{ + "datasetName": "The name of the data set whose information is retrieved." +} +""" +DescribeDataset(args) = iotanalytics("GET", "/datasets/{datasetName}", args) + +""" + ListTagsForResource() + +Lists the tags (metadata) which you have assigned to the resource. + +Required Parameters +{ + "resourceArn": "The ARN of the resource whose tags you want to list." +} +""" +ListTagsForResource(args) = iotanalytics("GET", "/tags", args) + +""" + BatchPutMessage() + +Sends messages to a channel. + +Required Parameters +{ + "channelName": "The name of the channel where the messages are sent.", + "messages": "The list of messages to be sent. Each message has format: '{ \"messageId\": \"string\", \"payload\": \"string\"}'. Note that the field names of message payloads (data) that you send to AWS IoT Analytics: Must contain only alphanumeric characters and undescores (_); no other special characters are allowed. Must begin with an alphabetic character or single underscore (_). Cannot contain hyphens (-). In regular expression terms: \"^[A-Za-z_]([A-Za-z0-9]*|[A-Za-z0-9][A-Za-z0-9_]*) \". Cannot be greater than 255 characters. Are case-insensitive. (Fields named \"foo\" and \"FOO\" in the same payload are considered duplicates.) For example, {\"temp_01\": 29} or {\"_temp_01\": 29} are valid, but {\"temp-01\": 29}, {\"01_temp\": 29} or {\"__temp_01\": 29} are invalid in message payloads. " +} +""" +BatchPutMessage(args) = iotanalytics("POST", "/messages/batch", args) + +""" + CreateDatastore() + +Creates a data store, which is a repository for messages. + +Required Parameters +{ + "datastoreName": "The name of the data store." +} + +Optional Parameters +{ + "datastoreStorage": "Where data store data is stored. You may choose one of \"serviceManagedS3\" or \"customerManagedS3\" storage. If not specified, the default is \"serviceManagedS3\". This cannot be changed after the data store is created.", + "retentionPeriod": "How long, in days, message data is kept for the data store. When \"customerManagedS3\" storage is selected, this parameter is ignored.", + "tags": "Metadata which can be used to manage the data store." +} +""" +CreateDatastore(args) = iotanalytics("POST", "/datastores", args) + +""" + DeleteDatastore() + +Deletes the specified data store. + +Required Parameters +{ + "datastoreName": "The name of the data store to delete." +} +""" +DeleteDatastore(args) = iotanalytics("DELETE", "/datastores/{datastoreName}", args) + +""" + SampleChannelData() + +Retrieves a sample of messages from the specified channel ingested during the specified timeframe. Up to 10 messages can be retrieved. + +Required Parameters +{ + "channelName": "The name of the channel whose message samples are retrieved." +} + +Optional Parameters +{ + "maxMessages": "The number of sample messages to be retrieved. The limit is 10, the default is also 10.", + "startTime": "The start of the time window from which sample messages are retrieved.", + "endTime": "The end of the time window from which sample messages are retrieved." +} +""" +SampleChannelData(args) = iotanalytics("GET", "/channels/{channelName}/sample", args) + +""" + ListChannels() + +Retrieves a list of channels. + +Optional Parameters +{ + "maxResults": "The maximum number of results to return in this request. The default value is 100.", + "nextToken": "The token for the next set of results." +} +""" +ListChannels() = iotanalytics("GET", "/channels") +ListChannels(args) = iotanalytics("GET", "/channels", args) + +""" + ListDatastores() + +Retrieves a list of data stores. + +Optional Parameters +{ + "maxResults": "The maximum number of results to return in this request. The default value is 100.", + "nextToken": "The token for the next set of results." +} +""" +ListDatastores() = iotanalytics("GET", "/datastores") +ListDatastores(args) = iotanalytics("GET", "/datastores", args) + +""" + CreatePipeline() + +Creates a pipeline. A pipeline consumes messages from a channel and allows you to process the messages before storing them in a data store. You must specify both a channel and a datastore activity and, optionally, as many as 23 additional activities in the pipelineActivities array. + +Required Parameters +{ + "pipelineActivities": "A list of \"PipelineActivity\" objects. Activities perform transformations on your messages, such as removing, renaming or adding message attributes; filtering messages based on attribute values; invoking your Lambda functions on messages for advanced processing; or performing mathematical transformations to normalize device data. The list can be 2-25 PipelineActivity objects and must contain both a channel and a datastore activity. Each entry in the list must contain only one activity, for example: pipelineActivities = [ { \"channel\": { ... } }, { \"lambda\": { ... } }, ... ] ", + "pipelineName": "The name of the pipeline." +} + +Optional Parameters +{ + "tags": "Metadata which can be used to manage the pipeline." +} +""" +CreatePipeline(args) = iotanalytics("POST", "/pipelines", args) + +""" + ListDatasetContents() + +Lists information about data set contents that have been created. + +Required Parameters +{ + "datasetName": "The name of the data set whose contents information you want to list." +} + +Optional Parameters +{ + "scheduledBefore": "A filter to limit results to those data set contents whose creation is scheduled before the given time. See the field triggers.schedule in the CreateDataset request. (timestamp)", + "maxResults": "The maximum number of results to return in this request.", + "nextToken": "The token for the next set of results.", + "scheduledOnOrAfter": "A filter to limit results to those data set contents whose creation is scheduled on or after the given time. See the field triggers.schedule in the CreateDataset request. (timestamp)" +} +""" +ListDatasetContents(args) = iotanalytics("GET", "/datasets/{datasetName}/contents", args) + +""" + UpdateChannel() + +Updates the settings of a channel. + +Required Parameters +{ + "channelName": "The name of the channel to be updated." +} + +Optional Parameters +{ + "retentionPeriod": "How long, in days, message data is kept for the channel. The retention period cannot be updated if the channel's S3 storage is customer-managed.", + "channelStorage": "Where channel data is stored. You may choose one of \"serviceManagedS3\" or \"customerManagedS3\" storage. If not specified, the default is \"serviceManagedS3\". This cannot be changed after creation of the channel." +} +""" +UpdateChannel(args) = iotanalytics("PUT", "/channels/{channelName}", args) + +""" + ListDatasets() + +Retrieves information about data sets. + +Optional Parameters +{ + "maxResults": "The maximum number of results to return in this request. The default value is 100.", + "nextToken": "The token for the next set of results." +} +""" +ListDatasets() = iotanalytics("GET", "/datasets") +ListDatasets(args) = iotanalytics("GET", "/datasets", args) + +""" + CreateChannel() + +Creates a channel. A channel collects data from an MQTT topic and archives the raw, unprocessed messages before publishing the data to a pipeline. + +Required Parameters +{ + "channelName": "The name of the channel." +} + +Optional Parameters +{ + "retentionPeriod": "How long, in days, message data is kept for the channel. When \"customerManagedS3\" storage is selected, this parameter is ignored.", + "tags": "Metadata which can be used to manage the channel.", + "channelStorage": "Where channel data is stored. You may choose one of \"serviceManagedS3\" or \"customerManagedS3\" storage. If not specified, the default is \"serviceManagedS3\". This cannot be changed after creation of the channel." +} +""" +CreateChannel(args) = iotanalytics("POST", "/channels", args) + +""" + CreateDatasetContent() + +Creates the content of a data set by applying a "queryAction" (a SQL query) or a "containerAction" (executing a containerized application). + +Required Parameters +{ + "datasetName": "The name of the data set." +} +""" +CreateDatasetContent(args) = iotanalytics("POST", "/datasets/{datasetName}/content", args) + +""" + DescribePipeline() + +Retrieves information about a pipeline. + +Required Parameters +{ + "pipelineName": "The name of the pipeline whose information is retrieved." +} +""" +DescribePipeline(args) = iotanalytics("GET", "/pipelines/{pipelineName}", args) + +""" + UpdatePipeline() + +Updates the settings of a pipeline. You must specify both a channel and a datastore activity and, optionally, as many as 23 additional activities in the pipelineActivities array. + +Required Parameters +{ + "pipelineActivities": "A list of \"PipelineActivity\" objects. Activities perform transformations on your messages, such as removing, renaming or adding message attributes; filtering messages based on attribute values; invoking your Lambda functions on messages for advanced processing; or performing mathematical transformations to normalize device data. The list can be 2-25 PipelineActivity objects and must contain both a channel and a datastore activity. Each entry in the list must contain only one activity, for example: pipelineActivities = [ { \"channel\": { ... } }, { \"lambda\": { ... } }, ... ] ", + "pipelineName": "The name of the pipeline to update." +} +""" +UpdatePipeline(args) = iotanalytics("PUT", "/pipelines/{pipelineName}", args) + +""" + DeleteDataset() + +Deletes the specified data set. You do not have to delete the content of the data set before you perform this operation. + +Required Parameters +{ + "datasetName": "The name of the data set to delete." +} +""" +DeleteDataset(args) = iotanalytics("DELETE", "/datasets/{datasetName}", args) + +""" + DeleteChannel() + +Deletes the specified channel. + +Required Parameters +{ + "channelName": "The name of the channel to delete." +} +""" +DeleteChannel(args) = iotanalytics("DELETE", "/channels/{channelName}", args) + +""" + DescribeChannel() + +Retrieves information about a channel. + +Required Parameters +{ + "channelName": "The name of the channel whose information is retrieved." +} + +Optional Parameters +{ + "includeStatistics": "If true, additional statistical information about the channel is included in the response. This feature cannot be used with a channel whose S3 storage is customer-managed." +} +""" +DescribeChannel(args) = iotanalytics("GET", "/channels/{channelName}", args) + +""" + PutLoggingOptions() + +Sets or updates the AWS IoT Analytics logging options. Note that if you update the value of any loggingOptions field, it takes up to one minute for the change to take effect. Also, if you change the policy attached to the role you specified in the roleArn field (for example, to correct an invalid policy) it takes up to 5 minutes for that change to take effect. + +Required Parameters +{ + "loggingOptions": "The new values of the AWS IoT Analytics logging options." +} +""" +PutLoggingOptions(args) = iotanalytics("PUT", "/logging", args) + +""" + TagResource() + +Adds to or modifies the tags of the given resource. Tags are metadata which can be used to manage a resource. + +Required Parameters +{ + "resourceArn": "The ARN of the resource whose tags you want to modify.", + "tags": "The new or modified tags for the resource." +} +""" +TagResource(args) = iotanalytics("POST", "/tags", args) + +""" + UntagResource() + +Removes the given tags (metadata) from the resource. + +Required Parameters +{ + "resourceArn": "The ARN of the resource whose tags you want to remove.", + "tagKeys": "The keys of those tags which you want to remove." +} +""" +UntagResource(args) = iotanalytics("DELETE", "/tags", args) + +""" + UpdateDataset() + +Updates the settings of a data set. + +Required Parameters +{ + "actions": "A list of \"DatasetAction\" objects.", + "datasetName": "The name of the data set to update." +} + +Optional Parameters +{ + "versioningConfiguration": "[Optional] How many versions of data set contents are kept. If not specified or set to null, only the latest version plus the latest succeeded version (if they are different) are kept for the time period specified by the \"retentionPeriod\" parameter. (For more information, see https://docs.aws.amazon.com/iotanalytics/latest/userguide/getting-started.html#aws-iot-analytics-dataset-versions)", + "triggers": "A list of \"DatasetTrigger\" objects. The list can be empty or can contain up to five DataSetTrigger objects.", + "retentionPeriod": "How long, in days, data set contents are kept for the data set.", + "contentDeliveryRules": "When data set contents are created they are delivered to destinations specified here." +} +""" +UpdateDataset(args) = iotanalytics("PUT", "/datasets/{datasetName}", args) + +""" + UpdateDatastore() + +Updates the settings of a data store. + +Required Parameters +{ + "datastoreName": "The name of the data store to be updated." +} + +Optional Parameters +{ + "datastoreStorage": "Where data store data is stored. You may choose one of \"serviceManagedS3\" or \"customerManagedS3\" storage. If not specified, the default is \"serviceManagedS3\". This cannot be changed after the data store is created.", + "retentionPeriod": "How long, in days, message data is kept for the data store. The retention period cannot be updated if the data store's S3 storage is customer-managed." +} +""" +UpdateDatastore(args) = iotanalytics("PUT", "/datastores/{datastoreName}", args) + +""" + StartPipelineReprocessing() + +Starts the reprocessing of raw message data through the pipeline. + +Required Parameters +{ + "pipelineName": "The name of the pipeline on which to start reprocessing." +} + +Optional Parameters +{ + "startTime": "The start time (inclusive) of raw message data that is reprocessed.", + "endTime": "The end time (exclusive) of raw message data that is reprocessed." +} +""" +StartPipelineReprocessing(args) = iotanalytics("POST", "/pipelines/{pipelineName}/reprocessing", args) + +""" + CancelPipelineReprocessing() + +Cancels the reprocessing of data through the pipeline. + +Required Parameters +{ + "reprocessingId": "The ID of the reprocessing task (returned by \"StartPipelineReprocessing\").", + "pipelineName": "The name of pipeline for which data reprocessing is canceled." +} +""" +CancelPipelineReprocessing(args) = iotanalytics("DELETE", "/pipelines/{pipelineName}/reprocessing/{reprocessingId}", args) + +""" + GetDatasetContent() + +Retrieves the contents of a data set as pre-signed URIs. + +Required Parameters +{ + "datasetName": "The name of the data set whose contents are retrieved." +} + +Optional Parameters +{ + "versionId": "The version of the data set whose contents are retrieved. You can also use the strings \" LATEST\" or \" LATEST_SUCCEEDED\" to retrieve the contents of the latest or latest successfully completed data set. If not specified, \" LATEST_SUCCEEDED\" is the default." +} +""" +GetDatasetContent(args) = iotanalytics("GET", "/datasets/{datasetName}/content", args) + +""" + DescribeDatastore() + +Retrieves information about a data store. + +Required Parameters +{ + "datastoreName": "The name of the data store" +} + +Optional Parameters +{ + "includeStatistics": "If true, additional statistical information about the data store is included in the response. This feature cannot be used with a data store whose S3 storage is customer-managed." +} +""" +DescribeDatastore(args) = iotanalytics("GET", "/datastores/{datastoreName}", args) + +""" + DescribeLoggingOptions() + +Retrieves the current settings of the AWS IoT Analytics logging options. +""" +DescribeLoggingOptions() = iotanalytics("GET", "/logging") +DescribeLoggingOptions(args) = iotanalytics("GET", "/logging", args) + +""" + DeleteDatasetContent() + +Deletes the content of the specified data set. + +Required Parameters +{ + "datasetName": "The name of the data set whose content is deleted." +} + +Optional Parameters +{ + "versionId": "The version of the data set whose content is deleted. You can also use the strings \" LATEST\" or \" LATEST_SUCCEEDED\" to delete the latest or latest successfully completed data set. If not specified, \" LATEST_SUCCEEDED\" is the default." +} +""" +DeleteDatasetContent(args) = iotanalytics("DELETE", "/datasets/{datasetName}/content", args) + +""" + CreateDataset() + +Creates a data set. A data set stores data retrieved from a data store by applying a "queryAction" (a SQL query) or a "containerAction" (executing a containerized application). This operation creates the skeleton of a data set. The data set can be populated manually by calling "CreateDatasetContent" or automatically according to a "trigger" you specify. + +Required Parameters +{ + "actions": "A list of actions that create the data set contents.", + "datasetName": "The name of the data set." +} + +Optional Parameters +{ + "versioningConfiguration": "[Optional] How many versions of data set contents are kept. If not specified or set to null, only the latest version plus the latest succeeded version (if they are different) are kept for the time period specified by the \"retentionPeriod\" parameter. (For more information, see https://docs.aws.amazon.com/iotanalytics/latest/userguide/getting-started.html#aws-iot-analytics-dataset-versions)", + "triggers": "A list of triggers. A trigger causes data set contents to be populated at a specified time interval or when another data set's contents are created. The list of triggers can be empty or contain up to five DataSetTrigger objects.", + "retentionPeriod": "[Optional] How long, in days, versions of data set contents are kept for the data set. If not specified or set to null, versions of data set contents are retained for at most 90 days. The number of versions of data set contents retained is determined by the versioningConfiguration parameter. (For more information, see https://docs.aws.amazon.com/iotanalytics/latest/userguide/getting-started.html#aws-iot-analytics-dataset-versions)", + "tags": "Metadata which can be used to manage the data set.", + "contentDeliveryRules": "When data set contents are created they are delivered to destinations specified here." +} +""" +CreateDataset(args) = iotanalytics("POST", "/datasets", args) + +""" + DeletePipeline() + +Deletes the specified pipeline. + +Required Parameters +{ + "pipelineName": "The name of the pipeline to delete." +} +""" +DeletePipeline(args) = iotanalytics("DELETE", "/pipelines/{pipelineName}", args) + +""" + ListPipelines() + +Retrieves a list of pipelines. + +Optional Parameters +{ + "maxResults": "The maximum number of results to return in this request. The default value is 100.", + "nextToken": "The token for the next set of results." +} +""" +ListPipelines() = iotanalytics("GET", "/pipelines") +ListPipelines(args) = iotanalytics("GET", "/pipelines", args) + +""" + RunPipelineActivity() + +Simulates the results of running a pipeline activity on a message payload. + +Required Parameters +{ + "pipelineActivity": "The pipeline activity that is run. This must not be a 'channel' activity or a 'datastore' activity because these activities are used in a pipeline only to load the original message and to store the (possibly) transformed message. If a 'lambda' activity is specified, only short-running Lambda functions (those with a timeout of less than 30 seconds or less) can be used.", + "payloads": "The sample message payloads on which the pipeline activity is run." +} +""" +RunPipelineActivity(args) = iotanalytics("POST", "/pipelineactivities/run", args) diff --git a/src/services/iotsecuretunneling.jl b/src/services/iotsecuretunneling.jl new file mode 100644 index 0000000000..e21dd03349 --- /dev/null +++ b/src/services/iotsecuretunneling.jl @@ -0,0 +1,100 @@ +include("../AWSServices.jl") +using .AWSServices: iotsecuretunneling + +""" + ListTagsForResource() + +Lists the tags for the specified resource. + +Required Parameters +{ + "resourceArn": "The resource ARN." +} +""" +ListTagsForResource(args) = iotsecuretunneling("ListTagsForResource", args) + +""" + OpenTunnel() + +Creates a new tunnel, and returns two client access tokens for clients to use to connect to the AWS IoT Secure Tunneling proxy server. . + +Optional Parameters +{ + "destinationConfig": "The destination configuration for the OpenTunnel request.", + "timeoutConfig": "Timeout configuration for a tunnel.", + "tags": "A collection of tag metadata.", + "description": "A short text description of the tunnel. " +} +""" +OpenTunnel() = iotsecuretunneling("OpenTunnel") +OpenTunnel(args) = iotsecuretunneling("OpenTunnel", args) + +""" + DescribeTunnel() + +Gets information about a tunnel identified by the unique tunnel id. + +Required Parameters +{ + "tunnelId": "The tunnel to describe." +} +""" +DescribeTunnel(args) = iotsecuretunneling("DescribeTunnel", args) + +""" + ListTunnels() + +List all tunnels for an AWS account. Tunnels are listed by creation time in descending order, newer tunnels will be listed before older tunnels. + +Optional Parameters +{ + "thingName": "The name of the IoT thing associated with the destination device.", + "maxResults": "The maximum number of results to return at once.", + "nextToken": "A token to retrieve the next set of results." +} +""" +ListTunnels() = iotsecuretunneling("ListTunnels") +ListTunnels(args) = iotsecuretunneling("ListTunnels", args) + +""" + CloseTunnel() + +Closes a tunnel identified by the unique tunnel id. When a CloseTunnel request is received, we close the WebSocket connections between the client and proxy server so no data can be transmitted. + +Required Parameters +{ + "tunnelId": "The ID of the tunnel to close." +} + +Optional Parameters +{ + "delete": "When set to true, AWS IoT Secure Tunneling deletes the tunnel data immediately." +} +""" +CloseTunnel(args) = iotsecuretunneling("CloseTunnel", args) + +""" + TagResource() + +A resource tag. + +Required Parameters +{ + "resourceArn": "The ARN of the resource.", + "tags": "The tags for the resource." +} +""" +TagResource(args) = iotsecuretunneling("TagResource", args) + +""" + UntagResource() + +Removes a tag from a resource. + +Required Parameters +{ + "resourceArn": "The resource ARN.", + "tagKeys": "The keys of the tags to remove." +} +""" +UntagResource(args) = iotsecuretunneling("UntagResource", args) diff --git a/src/services/iotthingsgraph.jl b/src/services/iotthingsgraph.jl new file mode 100644 index 0000000000..be5ddf60f5 --- /dev/null +++ b/src/services/iotthingsgraph.jl @@ -0,0 +1,534 @@ +include("../AWSServices.jl") +using .AWSServices: iotthingsgraph + +""" + DeploySystemInstance() + + Greengrass and Cloud Deployments Deploys the system instance to the target specified in CreateSystemInstance. Greengrass Deployments If the system or any workflows and entities have been updated before this action is called, then the deployment will create a new Amazon Simple Storage Service resource file and then deploy it. Since this action creates a Greengrass deployment on the caller's behalf, the calling identity must have write permissions to the specified Greengrass group. Otherwise, the call will fail with an authorization error. For information about the artifacts that get added to your Greengrass core device when you use this API, see AWS IoT Things Graph and AWS IoT Greengrass. + +Optional Parameters +{ + "id": "The ID of the system instance. This value is returned by the CreateSystemInstance action. The ID should be in the following format. urn:tdm:REGION/ACCOUNT ID/default:deployment:DEPLOYMENTNAME " +} +""" +DeploySystemInstance() = iotthingsgraph("DeploySystemInstance") +DeploySystemInstance(args) = iotthingsgraph("DeploySystemInstance", args) + +""" + ListTagsForResource() + +Lists all tags on an AWS IoT Things Graph resource. + +Required Parameters +{ + "resourceArn": "The Amazon Resource Name (ARN) of the resource whose tags are to be returned." +} + +Optional Parameters +{ + "maxResults": "The maximum number of tags to return.", + "nextToken": "The token that specifies the next page of results to return." +} +""" +ListTagsForResource(args) = iotthingsgraph("ListTagsForResource", args) + +""" + SearchFlowTemplates() + +Searches for summary information about workflows. + +Optional Parameters +{ + "filters": "An array of objects that limit the result set. The only valid filter is DEVICE_MODEL_ID.", + "maxResults": "The maximum number of results to return in the response.", + "nextToken": "The string that specifies the next page of results. Use this when you're paginating results." +} +""" +SearchFlowTemplates() = iotthingsgraph("SearchFlowTemplates") +SearchFlowTemplates(args) = iotthingsgraph("SearchFlowTemplates", args) + +""" + SearchSystemInstances() + +Searches for system instances in the user's account. + +Optional Parameters +{ + "filters": "Optional filter to apply to the search. Valid filters are SYSTEM_TEMPLATE_ID, STATUS, and GREENGRASS_GROUP_NAME. Multiple filters function as OR criteria in the query. Multiple values passed inside the filter function as AND criteria.", + "maxResults": "The maximum number of results to return in the response.", + "nextToken": "The string that specifies the next page of results. Use this when you're paginating results." +} +""" +SearchSystemInstances() = iotthingsgraph("SearchSystemInstances") +SearchSystemInstances(args) = iotthingsgraph("SearchSystemInstances", args) + +""" + UpdateFlowTemplate() + +Updates the specified workflow. All deployed systems and system instances that use the workflow will see the changes in the flow when it is redeployed. If you don't want this behavior, copy the workflow (creating a new workflow with a different ID), and update the copy. The workflow can contain only entities in the specified namespace. + +Required Parameters +{ + "id": "The ID of the workflow to be updated. The ID should be in the following format. urn:tdm:REGION/ACCOUNT ID/default:workflow:WORKFLOWNAME ", + "definition": "The DefinitionDocument that contains the updated workflow definition." +} + +Optional Parameters +{ + "compatibleNamespaceVersion": "The version of the user's namespace. If no value is specified, the latest version is used by default. Use the GetFlowTemplateRevisions if you want to find earlier revisions of the flow to update." +} +""" +UpdateFlowTemplate(args) = iotthingsgraph("UpdateFlowTemplate", args) + +""" + DeleteSystemTemplate() + +Deletes a system. New deployments can't contain the system after its deletion. Existing deployments that contain the system will continue to work because they use a snapshot of the system that is taken when it is deployed. + +Required Parameters +{ + "id": "The ID of the system to be deleted. The ID should be in the following format. urn:tdm:REGION/ACCOUNT ID/default:system:SYSTEMNAME " +} +""" +DeleteSystemTemplate(args) = iotthingsgraph("DeleteSystemTemplate", args) + +""" + GetSystemInstance() + +Gets a system instance. + +Required Parameters +{ + "id": "The ID of the system deployment instance. This value is returned by CreateSystemInstance. The ID should be in the following format. urn:tdm:REGION/ACCOUNT ID/default:deployment:DEPLOYMENTNAME " +} +""" +GetSystemInstance(args) = iotthingsgraph("GetSystemInstance", args) + +""" + SearchFlowExecutions() + +Searches for AWS IoT Things Graph workflow execution instances. + +Required Parameters +{ + "systemInstanceId": "The ID of the system instance that contains the flow." +} + +Optional Parameters +{ + "startTime": "The date and time of the earliest flow execution to return.", + "maxResults": "The maximum number of results to return in the response.", + "flowExecutionId": "The ID of a flow execution.", + "nextToken": "The string that specifies the next page of results. Use this when you're paginating results.", + "endTime": "The date and time of the latest flow execution to return." +} +""" +SearchFlowExecutions(args) = iotthingsgraph("SearchFlowExecutions", args) + +""" + SearchSystemTemplates() + +Searches for summary information about systems in the user's account. You can filter by the ID of a workflow to return only systems that use the specified workflow. + +Optional Parameters +{ + "filters": "An array of filters that limit the result set. The only valid filter is FLOW_TEMPLATE_ID.", + "maxResults": "The maximum number of results to return in the response.", + "nextToken": "The string that specifies the next page of results. Use this when you're paginating results." +} +""" +SearchSystemTemplates() = iotthingsgraph("SearchSystemTemplates") +SearchSystemTemplates(args) = iotthingsgraph("SearchSystemTemplates", args) + +""" + DeleteSystemInstance() + +Deletes a system instance. Only system instances that have never been deployed, or that have been undeployed can be deleted. Users can create a new system instance that has the same ID as a deleted system instance. + +Optional Parameters +{ + "id": "The ID of the system instance to be deleted." +} +""" +DeleteSystemInstance() = iotthingsgraph("DeleteSystemInstance") +DeleteSystemInstance(args) = iotthingsgraph("DeleteSystemInstance", args) + +""" + GetUploadStatus() + +Gets the status of the specified upload. + +Required Parameters +{ + "uploadId": "The ID of the upload. This value is returned by the UploadEntityDefinitions action." +} +""" +GetUploadStatus(args) = iotthingsgraph("GetUploadStatus", args) + +""" + GetFlowTemplate() + +Gets the latest version of the DefinitionDocument and FlowTemplateSummary for the specified workflow. + +Required Parameters +{ + "id": "The ID of the workflow. The ID should be in the following format. urn:tdm:REGION/ACCOUNT ID/default:workflow:WORKFLOWNAME " +} + +Optional Parameters +{ + "revisionNumber": "The number of the workflow revision to retrieve." +} +""" +GetFlowTemplate(args) = iotthingsgraph("GetFlowTemplate", args) + +""" + UndeploySystemInstance() + +Removes a system instance from its target (Cloud or Greengrass). + +Optional Parameters +{ + "id": "The ID of the system instance to remove from its target." +} +""" +UndeploySystemInstance() = iotthingsgraph("UndeploySystemInstance") +UndeploySystemInstance(args) = iotthingsgraph("UndeploySystemInstance", args) + +""" + DescribeNamespace() + +Gets the latest version of the user's namespace and the public version that it is tracking. + +Optional Parameters +{ + "namespaceName": "The name of the user's namespace. Set this to aws to get the public namespace." +} +""" +DescribeNamespace() = iotthingsgraph("DescribeNamespace") +DescribeNamespace(args) = iotthingsgraph("DescribeNamespace", args) + +""" + CreateSystemTemplate() + +Creates a system. The system is validated against the entities in the latest version of the user's namespace unless another namespace version is specified in the request. + +Required Parameters +{ + "definition": "The DefinitionDocument used to create the system." +} + +Optional Parameters +{ + "compatibleNamespaceVersion": "The namespace version in which the system is to be created. If no value is specified, the latest version is used by default." +} +""" +CreateSystemTemplate(args) = iotthingsgraph("CreateSystemTemplate", args) + +""" + GetSystemTemplateRevisions() + +Gets revisions made to the specified system template. Only the previous 100 revisions are stored. If the system has been deprecated, this action will return the revisions that occurred before its deprecation. This action won't work with systems that have been deleted. + +Required Parameters +{ + "id": "The ID of the system template. The ID should be in the following format. urn:tdm:REGION/ACCOUNT ID/default:system:SYSTEMNAME " +} + +Optional Parameters +{ + "maxResults": "The maximum number of results to return in the response.", + "nextToken": "The string that specifies the next page of results. Use this when you're paginating results." +} +""" +GetSystemTemplateRevisions(args) = iotthingsgraph("GetSystemTemplateRevisions", args) + +""" + SearchThings() + +Searches for things associated with the specified entity. You can search by both device and device model. For example, if two different devices, camera1 and camera2, implement the camera device model, the user can associate thing1 to camera1 and thing2 to camera2. SearchThings(camera2) will return only thing2, but SearchThings(camera) will return both thing1 and thing2. This action searches for exact matches and doesn't perform partial text matching. + +Required Parameters +{ + "entityId": "The ID of the entity to which the things are associated. The IDs should be in the following format. urn:tdm:REGION/ACCOUNT ID/default:device:DEVICENAME " +} + +Optional Parameters +{ + "namespaceVersion": "The version of the user's namespace. Defaults to the latest version of the user's namespace.", + "maxResults": "The maximum number of results to return in the response.", + "nextToken": "The string that specifies the next page of results. Use this when you're paginating results." +} +""" +SearchThings(args) = iotthingsgraph("SearchThings", args) + +""" + UploadEntityDefinitions() + +Asynchronously uploads one or more entity definitions to the user's namespace. The document parameter is required if syncWithPublicNamespace and deleteExistingEntites are false. If the syncWithPublicNamespace parameter is set to true, the user's namespace will synchronize with the latest version of the public namespace. If deprecateExistingEntities is set to true, all entities in the latest version will be deleted before the new DefinitionDocument is uploaded. When a user uploads entity definitions for the first time, the service creates a new namespace for the user. The new namespace tracks the public namespace. Currently users can have only one namespace. The namespace version increments whenever a user uploads entity definitions that are backwards-incompatible and whenever a user sets the syncWithPublicNamespace parameter or the deprecateExistingEntities parameter to true. The IDs for all of the entities should be in URN format. Each entity must be in the user's namespace. Users can't create entities in the public namespace, but entity definitions can refer to entities in the public namespace. Valid entities are Device, DeviceModel, Service, Capability, State, Action, Event, Property, Mapping, Enum. + +Optional Parameters +{ + "document": "The DefinitionDocument that defines the updated entities.", + "deprecateExistingEntities": "A Boolean that specifies whether to deprecate all entities in the latest version before uploading the new DefinitionDocument. If set to true, the upload will create a new namespace version.", + "syncWithPublicNamespace": "A Boolean that specifies whether to synchronize with the latest version of the public namespace. If set to true, the upload will create a new namespace version." +} +""" +UploadEntityDefinitions() = iotthingsgraph("UploadEntityDefinitions") +UploadEntityDefinitions(args) = iotthingsgraph("UploadEntityDefinitions", args) + +""" + TagResource() + +Creates a tag for the specified resource. + +Required Parameters +{ + "resourceArn": "The Amazon Resource Name (ARN) of the resource whose tags are returned.", + "tags": "A list of tags to add to the resource.>" +} +""" +TagResource(args) = iotthingsgraph("TagResource", args) + +""" + UntagResource() + +Removes a tag from the specified resource. + +Required Parameters +{ + "resourceArn": "The Amazon Resource Name (ARN) of the resource whose tags are to be removed.", + "tagKeys": "A list of tag key names to remove from the resource. You don't specify the value. Both the key and its associated value are removed. This parameter to the API requires a JSON text string argument. For information on how to format a JSON parameter for the various command line tool environments, see Using JSON for Parameters in the AWS CLI User Guide. " +} +""" +UntagResource(args) = iotthingsgraph("UntagResource", args) + +""" + DeleteFlowTemplate() + +Deletes a workflow. Any new system or deployment that contains this workflow will fail to update or deploy. Existing deployments that contain the workflow will continue to run (since they use a snapshot of the workflow taken at the time of deployment). + +Required Parameters +{ + "id": "The ID of the workflow to be deleted. The ID should be in the following format. urn:tdm:REGION/ACCOUNT ID/default:workflow:WORKFLOWNAME " +} +""" +DeleteFlowTemplate(args) = iotthingsgraph("DeleteFlowTemplate", args) + +""" + SearchEntities() + +Searches for entities of the specified type. You can search for entities in your namespace and the public namespace that you're tracking. + +Required Parameters +{ + "entityTypes": "The entity types for which to search." +} + +Optional Parameters +{ + "filters": "Optional filter to apply to the search. Valid filters are NAME NAMESPACE, SEMANTIC_TYPE_PATH and REFERENCED_ENTITY_ID. REFERENCED_ENTITY_ID filters on entities that are used by the entity in the result set. For example, you can filter on the ID of a property that is used in a state. Multiple filters function as OR criteria in the query. Multiple values passed inside the filter function as AND criteria.", + "namespaceVersion": "The version of the user's namespace. Defaults to the latest version of the user's namespace.", + "maxResults": "The maximum number of results to return in the response.", + "nextToken": "The string that specifies the next page of results. Use this when you're paginating results." +} +""" +SearchEntities(args) = iotthingsgraph("SearchEntities", args) + +""" + DeprecateFlowTemplate() + +Deprecates the specified workflow. This action marks the workflow for deletion. Deprecated flows can't be deployed, but existing deployments will continue to run. + +Required Parameters +{ + "id": "The ID of the workflow to be deleted. The ID should be in the following format. urn:tdm:REGION/ACCOUNT ID/default:workflow:WORKFLOWNAME " +} +""" +DeprecateFlowTemplate(args) = iotthingsgraph("DeprecateFlowTemplate", args) + +""" + AssociateEntityToThing() + +Associates a device with a concrete thing that is in the user's registry. A thing can be associated with only one device at a time. If you associate a thing with a new device id, its previous association will be removed. + +Required Parameters +{ + "thingName": "The name of the thing to which the entity is to be associated.", + "entityId": "The ID of the device to be associated with the thing. The ID should be in the following format. urn:tdm:REGION/ACCOUNT ID/default:device:DEVICENAME " +} + +Optional Parameters +{ + "namespaceVersion": "The version of the user's namespace. Defaults to the latest version of the user's namespace." +} +""" +AssociateEntityToThing(args) = iotthingsgraph("AssociateEntityToThing", args) + +""" + UpdateSystemTemplate() + +Updates the specified system. You don't need to run this action after updating a workflow. Any deployment that uses the system will see the changes in the system when it is redeployed. + +Required Parameters +{ + "id": "The ID of the system to be updated. The ID should be in the following format. urn:tdm:REGION/ACCOUNT ID/default:system:SYSTEMNAME ", + "definition": "The DefinitionDocument that contains the updated system definition." +} + +Optional Parameters +{ + "compatibleNamespaceVersion": "The version of the user's namespace. Defaults to the latest version of the user's namespace. If no value is specified, the latest version is used by default." +} +""" +UpdateSystemTemplate(args) = iotthingsgraph("UpdateSystemTemplate", args) + +""" + GetNamespaceDeletionStatus() + +Gets the status of a namespace deletion task. +""" +GetNamespaceDeletionStatus() = iotthingsgraph("GetNamespaceDeletionStatus") +GetNamespaceDeletionStatus(args) = iotthingsgraph("GetNamespaceDeletionStatus", args) + +""" + ListFlowExecutionMessages() + +Returns a list of objects that contain information about events in a flow execution. + +Required Parameters +{ + "flowExecutionId": "The ID of the flow execution." +} + +Optional Parameters +{ + "maxResults": "The maximum number of results to return in the response.", + "nextToken": "The string that specifies the next page of results. Use this when you're paginating results." +} +""" +ListFlowExecutionMessages(args) = iotthingsgraph("ListFlowExecutionMessages", args) + +""" + GetFlowTemplateRevisions() + +Gets revisions of the specified workflow. Only the last 100 revisions are stored. If the workflow has been deprecated, this action will return revisions that occurred before the deprecation. This action won't work for workflows that have been deleted. + +Required Parameters +{ + "id": "The ID of the workflow. The ID should be in the following format. urn:tdm:REGION/ACCOUNT ID/default:workflow:WORKFLOWNAME " +} + +Optional Parameters +{ + "maxResults": "The maximum number of results to return in the response.", + "nextToken": "The string that specifies the next page of results. Use this when you're paginating results." +} +""" +GetFlowTemplateRevisions(args) = iotthingsgraph("GetFlowTemplateRevisions", args) + +""" + GetSystemTemplate() + +Gets a system. + +Required Parameters +{ + "id": "The ID of the system to get. This ID must be in the user's namespace. The ID should be in the following format. urn:tdm:REGION/ACCOUNT ID/default:system:SYSTEMNAME " +} + +Optional Parameters +{ + "revisionNumber": "The number that specifies the revision of the system to get." +} +""" +GetSystemTemplate(args) = iotthingsgraph("GetSystemTemplate", args) + +""" + DeleteNamespace() + +Deletes the specified namespace. This action deletes all of the entities in the namespace. Delete the systems and flows that use entities in the namespace before performing this action. +""" +DeleteNamespace() = iotthingsgraph("DeleteNamespace") +DeleteNamespace(args) = iotthingsgraph("DeleteNamespace", args) + +""" + CreateSystemInstance() + +Creates a system instance. This action validates the system instance, prepares the deployment-related resources. For Greengrass deployments, it updates the Greengrass group that is specified by the greengrassGroupName parameter. It also adds a file to the S3 bucket specified by the s3BucketName parameter. You need to call DeploySystemInstance after running this action. For Greengrass deployments, since this action modifies and adds resources to a Greengrass group and an S3 bucket on the caller's behalf, the calling identity must have write permissions to both the specified Greengrass group and S3 bucket. Otherwise, the call will fail with an authorization error. For cloud deployments, this action requires a flowActionsRoleArn value. This is an IAM role that has permissions to access AWS services, such as AWS Lambda and AWS IoT, that the flow uses when it executes. If the definition document doesn't specify a version of the user's namespace, the latest version will be used by default. + +Required Parameters +{ + "target": "The target type of the deployment. Valid values are GREENGRASS and CLOUD.", + "definition": "" +} + +Optional Parameters +{ + "flowActionsRoleArn": "The ARN of the IAM role that AWS IoT Things Graph will assume when it executes the flow. This role must have read and write access to AWS Lambda and AWS IoT and any other AWS services that the flow uses when it executes. This value is required if the value of the target parameter is CLOUD.", + "greengrassGroupName": "The name of the Greengrass group where the system instance will be deployed. This value is required if the value of the target parameter is GREENGRASS.", + "s3BucketName": "The name of the Amazon Simple Storage Service bucket that will be used to store and deploy the system instance's resource file. This value is required if the value of the target parameter is GREENGRASS.", + "tags": "Metadata, consisting of key-value pairs, that can be used to categorize your system instances.", + "metricsConfiguration": "" +} +""" +CreateSystemInstance(args) = iotthingsgraph("CreateSystemInstance", args) + +""" + DeprecateSystemTemplate() + +Deprecates the specified system. + +Required Parameters +{ + "id": "The ID of the system to delete. The ID should be in the following format. urn:tdm:REGION/ACCOUNT ID/default:system:SYSTEMNAME " +} +""" +DeprecateSystemTemplate(args) = iotthingsgraph("DeprecateSystemTemplate", args) + +""" + DissociateEntityFromThing() + +Dissociates a device entity from a concrete thing. The action takes only the type of the entity that you need to dissociate because only one entity of a particular type can be associated with a thing. + +Required Parameters +{ + "thingName": "The name of the thing to disassociate.", + "entityType": "The entity type from which to disassociate the thing." +} +""" +DissociateEntityFromThing(args) = iotthingsgraph("DissociateEntityFromThing", args) + +""" + CreateFlowTemplate() + +Creates a workflow template. Workflows can be created only in the user's namespace. (The public namespace contains only entities.) The workflow can contain only entities in the specified namespace. The workflow is validated against the entities in the latest version of the user's namespace unless another namespace version is specified in the request. + +Required Parameters +{ + "definition": "The workflow DefinitionDocument." +} + +Optional Parameters +{ + "compatibleNamespaceVersion": "The namespace version in which the workflow is to be created. If no value is specified, the latest version is used by default." +} +""" +CreateFlowTemplate(args) = iotthingsgraph("CreateFlowTemplate", args) + +""" + GetEntities() + +Gets definitions of the specified entities. Uses the latest version of the user's namespace by default. This API returns the following TDM entities. Properties States Events Actions Capabilities Mappings Devices Device Models Services This action doesn't return definitions for systems, flows, and deployments. + +Required Parameters +{ + "ids": "An array of entity IDs. The IDs should be in the following format. urn:tdm:REGION/ACCOUNT ID/default:device:DEVICENAME " +} + +Optional Parameters +{ + "namespaceVersion": "The version of the user's namespace. Defaults to the latest version of the user's namespace." +} +""" +GetEntities(args) = iotthingsgraph("GetEntities", args) diff --git a/src/services/kafka.jl b/src/services/kafka.jl new file mode 100644 index 0000000000..483b7bb391 --- /dev/null +++ b/src/services/kafka.jl @@ -0,0 +1,364 @@ +include("../AWSServices.jl") +using .AWSServices: kafka + +""" + CreateCluster() + + + Creates a new MSK cluster. + + +Required Parameters +{ + "ClusterName": "\n The name of the cluster.\n ", + "KafkaVersion": "\n The version of Apache Kafka.\n ", + "BrokerNodeGroupInfo": "\n Information about the broker nodes in the cluster.\n ", + "NumberOfBrokerNodes": "\n The number of broker nodes in the cluster.\n " +} + +Optional Parameters +{ + "EnhancedMonitoring": "\n Specifies the level of monitoring for the MSK cluster. The possible values are DEFAULT, PER_BROKER, and PER_TOPIC_PER_BROKER.\n ", + "ClientAuthentication": "\n Includes all client authentication related information.\n ", + "Tags": "\n Create tags when creating the cluster.\n ", + "LoggingInfo": "", + "ConfigurationInfo": "\n Represents the configuration that you want MSK to use for the brokers in a cluster.\n ", + "OpenMonitoring": "\n The settings for open monitoring.\n ", + "EncryptionInfo": "\n Includes all encryption-related information.\n " +} +""" +CreateCluster(args) = kafka("POST", "/v1/clusters", args) + +""" + ListKafkaVersions() + + + Returns a list of Kafka versions. + + +Optional Parameters +{ + "MaxResults": "\n The maximum number of results to return in the response. If there are more results, the response includes a NextToken parameter.", + "NextToken": "\n The paginated results marker. When the result of the operation is truncated, the call returns NextToken in the response. To get the next batch, provide this token in your next request." +} +""" +ListKafkaVersions() = kafka("GET", "/v1/kafka-versions") +ListKafkaVersions(args) = kafka("GET", "/v1/kafka-versions", args) + +""" + ListTagsForResource() + + + Returns a list of the tags associated with the specified resource. + + +Required Parameters +{ + "ResourceArn": "\n The Amazon Resource Name (ARN) that uniquely identifies the resource that's associated with the tags.\n " +} +""" +ListTagsForResource(args) = kafka("GET", "/v1/tags/{resourceArn}", args) + +""" + UpdateBrokerStorage() + + + Updates the EBS storage associated with MSK brokers. + + +Required Parameters +{ + "TargetBrokerEBSVolumeInfo": "\n Describes the target volume size and the ID of the broker to apply the update to.\n ", + "ClusterArn": "\n The Amazon Resource Name (ARN) that uniquely identifies the cluster.\n ", + "CurrentVersion": "\n The version of cluster to update from. A successful operation will then generate a new version.\n " +} +""" +UpdateBrokerStorage(args) = kafka("PUT", "/v1/clusters/{clusterArn}/nodes/storage", args) + +""" + DescribeConfigurationRevision() + + + Returns a description of this revision of the configuration. + + +Required Parameters +{ + "Arn": "\n The Amazon Resource Name (ARN) that uniquely identifies an MSK configuration and all of its revisions.\n ", + "Revision": "\n A string that uniquely identifies a revision of an MSK configuration.\n " +} +""" +DescribeConfigurationRevision(args) = kafka("GET", "/v1/configurations/{arn}/revisions/{revision}", args) + +""" + ListNodes() + + + Returns a list of the broker nodes in the cluster. + + +Required Parameters +{ + "ClusterArn": "\n The Amazon Resource Name (ARN) that uniquely identifies the cluster.\n " +} + +Optional Parameters +{ + "MaxResults": "\n The maximum number of results to return in the response. If there are more results, the response includes a NextToken parameter.\n ", + "NextToken": "\n The paginated results marker. When the result of the operation is truncated, the call returns NextToken in the response. \n To get the next batch, provide this token in your next request.\n " +} +""" +ListNodes(args) = kafka("GET", "/v1/clusters/{clusterArn}/nodes", args) + +""" + UpdateClusterConfiguration() + + + Updates the cluster with the configuration that is specified in the request body. + + +Required Parameters +{ + "ConfigurationInfo": "\n Represents the configuration that you want MSK to use for the brokers in a cluster.\n ", + "ClusterArn": "\n The Amazon Resource Name (ARN) that uniquely identifies the cluster.\n ", + "CurrentVersion": "\n The version of the cluster that needs to be updated.\n " +} +""" +UpdateClusterConfiguration(args) = kafka("PUT", "/v1/clusters/{clusterArn}/configuration", args) + +""" + ListConfigurations() + + + Returns a list of all the MSK configurations in this Region. + + +Optional Parameters +{ + "MaxResults": "\n The maximum number of results to return in the response. If there are more results, the response includes a NextToken parameter.\n ", + "NextToken": "\n The paginated results marker. When the result of the operation is truncated, the call returns NextToken in the response. \n To get the next batch, provide this token in your next request.\n " +} +""" +ListConfigurations() = kafka("GET", "/v1/configurations") +ListConfigurations(args) = kafka("GET", "/v1/configurations", args) + +""" + CreateConfiguration() + + + Creates a new MSK configuration. + + +Required Parameters +{ + "ServerProperties": "\n Contents of the server.properties file. When using the API, you must ensure that the contents of the file are base64 encoded. \n When using the AWS Management Console, the SDK, or the AWS CLI, the contents of server.properties can be in plaintext.\n ", + "KafkaVersions": "\n The versions of Apache Kafka with which you can use this MSK configuration.\n ", + "Name": "\n The name of the configuration.\n " +} + +Optional Parameters +{ + "Description": "\n The description of the configuration.\n " +} +""" +CreateConfiguration(args) = kafka("POST", "/v1/configurations", args) + +""" + ListClusterOperations() + + + Returns a list of all the operations that have been performed on the specified MSK cluster. + + +Required Parameters +{ + "ClusterArn": "\n The Amazon Resource Name (ARN) that uniquely identifies the cluster.\n " +} + +Optional Parameters +{ + "MaxResults": "\n The maximum number of results to return in the response. If there are more results, the response includes a NextToken parameter.\n ", + "NextToken": "\n The paginated results marker. When the result of the operation is truncated, the call returns NextToken in the response. \n To get the next batch, provide this token in your next request.\n " +} +""" +ListClusterOperations(args) = kafka("GET", "/v1/clusters/{clusterArn}/operations", args) + +""" + TagResource() + + + Adds tags to the specified MSK resource. + + +Required Parameters +{ + "ResourceArn": "\n The Amazon Resource Name (ARN) that uniquely identifies the resource that's associated with the tags.\n ", + "Tags": "\n The key-value pair for the resource tag.\n " +} +""" +TagResource(args) = kafka("POST", "/v1/tags/{resourceArn}", args) + +""" + UntagResource() + + + Removes the tags associated with the keys that are provided in the query. + + +Required Parameters +{ + "ResourceArn": "\n The Amazon Resource Name (ARN) that uniquely identifies the resource that's associated with the tags.\n ", + "TagKeys": "\n Tag keys must be unique for a given cluster. In addition, the following restrictions apply:\n \n \n Each tag key must be unique. If you add a tag with a key that's already in\n use, your new tag overwrites the existing key-value pair. \n \n \n You can't start a tag key with aws: because this prefix is reserved for use\n by AWS. AWS creates tags that begin with this prefix on your behalf, but\n you can't edit or delete them.\n \n \n Tag keys must be between 1 and 128 Unicode characters in length.\n \n \n Tag keys must consist of the following characters: Unicode letters, digits,\n white space, and the following special characters: _ . / = + -\n @.\n \n \n " +} +""" +UntagResource(args) = kafka("DELETE", "/v1/tags/{resourceArn}", args) + +""" + UpdateMonitoring() + + + Updates the monitoring settings for the cluster. You can use this operation to specify which Apache Kafka metrics you want Amazon MSK to send to Amazon CloudWatch. You can also specify settings for open monitoring with Prometheus. + + +Required Parameters +{ + "ClusterArn": "\n The Amazon Resource Name (ARN) that uniquely identifies the cluster.\n ", + "CurrentVersion": "\n The version of the MSK cluster to update. Cluster versions aren't simple numbers. You can describe an MSK cluster to find its version. When this update operation is successful, it generates a new cluster version.\n " +} + +Optional Parameters +{ + "EnhancedMonitoring": "\n Specifies which Apache Kafka metrics Amazon MSK gathers and sends to Amazon CloudWatch for this cluster.\n ", + "LoggingInfo": "", + "OpenMonitoring": "\n The settings for open monitoring.\n " +} +""" +UpdateMonitoring(args) = kafka("PUT", "/v1/clusters/{clusterArn}/monitoring", args) + +""" + UpdateBrokerCount() + + + Updates the number of broker nodes in the cluster. + + +Required Parameters +{ + "TargetNumberOfBrokerNodes": "\n The number of broker nodes that you want the cluster to have after this operation completes successfully.\n ", + "ClusterArn": "\n The Amazon Resource Name (ARN) that uniquely identifies the cluster.\n ", + "CurrentVersion": "\n The version of cluster to update from. A successful operation will then generate a new version.\n " +} +""" +UpdateBrokerCount(args) = kafka("PUT", "/v1/clusters/{clusterArn}/nodes/count", args) + +""" + DescribeClusterOperation() + + + Returns a description of the cluster operation specified by the ARN. + + +Required Parameters +{ + "ClusterOperationArn": "\n The Amazon Resource Name (ARN) that uniquely identifies the MSK cluster operation.\n " +} +""" +DescribeClusterOperation(args) = kafka("GET", "/v1/operations/{clusterOperationArn}", args) + +""" + DeleteCluster() + + + Deletes the MSK cluster specified by the Amazon Resource Name (ARN) in the request. + + +Required Parameters +{ + "ClusterArn": "\n The Amazon Resource Name (ARN) that uniquely identifies the cluster.\n " +} + +Optional Parameters +{ + "CurrentVersion": "\n The current version of the MSK cluster.\n " +} +""" +DeleteCluster(args) = kafka("DELETE", "/v1/clusters/{clusterArn}", args) + +""" + DescribeCluster() + + + Returns a description of the MSK cluster whose Amazon Resource Name (ARN) is specified in the request. + + +Required Parameters +{ + "ClusterArn": "\n The Amazon Resource Name (ARN) that uniquely identifies the cluster.\n " +} +""" +DescribeCluster(args) = kafka("GET", "/v1/clusters/{clusterArn}", args) + +""" + GetBootstrapBrokers() + + + A list of brokers that a client application can use to bootstrap. + + +Required Parameters +{ + "ClusterArn": "\n The Amazon Resource Name (ARN) that uniquely identifies the cluster.\n " +} +""" +GetBootstrapBrokers(args) = kafka("GET", "/v1/clusters/{clusterArn}/bootstrap-brokers", args) + +""" + DescribeConfiguration() + + + Returns a description of this MSK configuration. + + +Required Parameters +{ + "Arn": "\n The Amazon Resource Name (ARN) that uniquely identifies an MSK configuration and all of its revisions.\n " +} +""" +DescribeConfiguration(args) = kafka("GET", "/v1/configurations/{arn}", args) + +""" + ListConfigurationRevisions() + + + Returns a list of all the MSK configurations in this Region. + + +Required Parameters +{ + "Arn": "\n The Amazon Resource Name (ARN) that uniquely identifies an MSK configuration and all of its revisions.\n " +} + +Optional Parameters +{ + "MaxResults": "\n The maximum number of results to return in the response. If there are more results, the response includes a NextToken parameter.\n ", + "NextToken": "\n The paginated results marker. When the result of the operation is truncated, the call returns NextToken in the response. \n To get the next batch, provide this token in your next request.\n " +} +""" +ListConfigurationRevisions(args) = kafka("GET", "/v1/configurations/{arn}/revisions", args) + +""" + ListClusters() + + + Returns a list of all the MSK clusters in the current Region. + + +Optional Parameters +{ + "MaxResults": "\n The maximum number of results to return in the response. If there are more results, the response includes a NextToken parameter.\n ", + "NextToken": "\n The paginated results marker. When the result of the operation is truncated, the call returns NextToken in the response. \n To get the next batch, provide this token in your next request.\n ", + "ClusterNameFilter": "\n Specify a prefix of the name of the clusters that you want to list. The service lists all the clusters whose names start with this prefix.\n " +} +""" +ListClusters() = kafka("GET", "/v1/clusters") +ListClusters(args) = kafka("GET", "/v1/clusters", args) diff --git a/src/services/kendra.jl b/src/services/kendra.jl new file mode 100644 index 0000000000..3c0bae4132 --- /dev/null +++ b/src/services/kendra.jl @@ -0,0 +1,339 @@ +include("../AWSServices.jl") +using .AWSServices: kendra + +""" + StartDataSourceSyncJob() + +Starts a synchronization job for a data source. If a synchronization job is already in progress, Amazon Kendra returns a ResourceInUseException exception. + +Required Parameters +{ + "Id": "The identifier of the data source to synchronize.", + "IndexId": "The identifier of the index that contains the data source." +} +""" +StartDataSourceSyncJob(args) = kendra("StartDataSourceSyncJob", args) + +""" + BatchDeleteDocument() + +Removes one or more documents from an index. The documents must have been added with the BatchPutDocument operation. The documents are deleted asynchronously. You can see the progress of the deletion by using AWS CloudWatch. Any error messages releated to the processing of the batch are sent to you CloudWatch log. + +Required Parameters +{ + "IndexId": "The identifier of the index that contains the documents to delete.", + "DocumentIdList": "One or more identifiers for documents to delete from the index." +} +""" +BatchDeleteDocument(args) = kendra("BatchDeleteDocument", args) + +""" + DeleteFaq() + +Removes an FAQ from an index. + +Required Parameters +{ + "Id": "The identifier of the FAQ to remove.", + "IndexId": "The index to remove the FAQ from." +} +""" +DeleteFaq(args) = kendra("DeleteFaq", args) + +""" + Query() + +Searches an active index. Use this API to search your documents using query. The Query operation enables to do faceted search and to filter results based on document attributes. It also enables you to provide user context that Amazon Kendra uses to enforce document access control in the search results. Amazon Kendra searches your index for text content and question and answer (FAQ) content. By default the response contains three types of results. Relevant passages Matching FAQs Relevant documents You can specify that the query return only one type of result using the QueryResultTypeConfig parameter. + +Required Parameters +{ + "IndexId": "The unique identifier of the index to search. The identifier is returned in the response from the operation.", + "QueryText": "The text to search for." +} + +Optional Parameters +{ + "PageNumber": "Query results are returned in pages the size of the PageSize parameter. By default, Amazon Kendra returns the first page of results. Use this parameter to get result pages after the first one.", + "Facets": "An array of documents attributes. Amazon Kendra returns a count for each attribute key specified. You can use this information to help narrow the search for your user.", + "RequestedDocumentAttributes": "An array of document attributes to include in the response. No other document attributes are included in the response. By default all document attributes are included in the response. ", + "AttributeFilter": "Enables filtered searches based on document attributes. You can only provide one attribute filter; however, the AndAllFilters, NotFilter, and OrAllFilters parameters contain a list of other filters. The AttributeFilter parameter enables you to create a set of filtering rules that a document must satisfy to be included in the query results.", + "QueryResultTypeFilter": "Sets the type of query. Only results for the specified query type are returned.", + "PageSize": "Sets the number of results that are returned in each page of results. The default page size is 100." +} +""" +Query(args) = kendra("Query", args) + +""" + BatchPutDocument() + +Adds one or more documents to an index. The BatchPutDocument operation enables you to ingest inline documents or a set of documents stored in an Amazon S3 bucket. Use this operation to ingest your text and unstructured text into an index, add custom attributes to the documents, and to attach an access control list to the documents added to the index. The documents are indexed asynchronously. You can see the progress of the batch using AWS CloudWatch. Any error messages related to processing the batch are sent to your AWS CloudWatch log. + +Required Parameters +{ + "IndexId": "The identifier of the index to add the documents to. You need to create the index first using the CreateIndex operation.", + "Documents": "One or more documents to add to the index. Each document is limited to 5 Mb, the total size of the list is limited to 50 Mb." +} + +Optional Parameters +{ + "RoleArn": "The Amazon Resource Name (ARN) of a role that is allowed to run the BatchPutDocument operation. For more information, see IAM Roles for Amazon Kendra." +} +""" +BatchPutDocument(args) = kendra("BatchPutDocument", args) + +""" + ListFaqs() + +Gets a list of FAQ lists associated with an index. + +Required Parameters +{ + "IndexId": "The index that contains the FAQ lists." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of FAQs to return in the response. If there are fewer results in the list, this response contains only the actual results.", + "NextToken": "If the result of the previous request to ListFaqs was truncated, include the NextToken to fetch the next set of FAQs." +} +""" +ListFaqs(args) = kendra("ListFaqs", args) + +""" + DescribeDataSource() + +Gets information about a Amazon Kendra data source. + +Required Parameters +{ + "Id": "The unique identifier of the data source to describe.", + "IndexId": "The identifier of the index that contains the data source." +} +""" +DescribeDataSource(args) = kendra("DescribeDataSource", args) + +""" + ListDataSourceSyncJobs() + +Gets statistics about synchronizing Amazon Kendra with a data source. + +Required Parameters +{ + "Id": "The identifier of the data source.", + "IndexId": "The identifier of the index that contains the data source." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of synchronization jobs to return in the response. If there are fewer results in the list, this response contains only the actual results.", + "NextToken": "If the result of the previous request to GetDataSourceSyncJobHistory was truncated, include the NextToken to fetch the next set of jobs.", + "StatusFilter": "When specified, only returns synchronization jobs with the Status field equal to the specified status.", + "StartTimeFilter": "When specified, the synchronization jobs returned in the list are limited to jobs between the specified dates. " +} +""" +ListDataSourceSyncJobs(args) = kendra("ListDataSourceSyncJobs", args) + +""" + ListDataSources() + +Lists the data sources that you have created. + +Required Parameters +{ + "IndexId": "The identifier of the index that contains the data source." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of data sources to return.", + "NextToken": "If the previous response was incomplete (because there is more data to retrieve), Amazon Kendra returns a pagination token in the response. You can use this pagination token to retrieve the next set of data sources (DataSourceSummaryItems). " +} +""" +ListDataSources(args) = kendra("ListDataSources", args) + +""" + ListIndices() + +Lists the Amazon Kendra indexes that you have created. + +Optional Parameters +{ + "MaxResults": "The maximum number of data sources to return.", + "NextToken": "If the previous response was incomplete (because there is more data to retrieve), Amazon Kendra returns a pagination token in the response. You can use this pagination token to retrieve the next set of indexes (DataSourceSummaryItems). " +} +""" +ListIndices() = kendra("ListIndices") +ListIndices(args) = kendra("ListIndices", args) + +""" + CreateDataSource() + +Creates a data source that you use to with an Amazon Kendra index. You specify a name, connector type and description for your data source. You can choose between an S3 connector, a SharePoint Online connector, and a database connector. You also specify configuration information such as document metadata (author, source URI, and so on) and user context information. CreateDataSource is a synchronous operation. The operation returns 200 if the data source was successfully created. Otherwise, an exception is raised. + +Required Parameters +{ + "Configuration": "The connector configuration information that is required to access the repository.", + "IndexId": "The identifier of the index that should be associated with this data source.", + "Type": "The type of repository that contains the data source.", + "Name": "A unique name for the data source. A data source name can't be changed without deleting and recreating the data source.", + "RoleArn": "The Amazon Resource Name (ARN) of a role with permission to access the data source. For more information, see IAM Roles for Amazon Kendra." +} + +Optional Parameters +{ + "Description": "A description for the data source.", + "Schedule": "Sets the frequency that Amazon Kendra will check the documents in your repository and update the index. If you don't set a schedule Amazon Kendra will not periodically update the index. You can call the StartDataSourceSyncJob operation to update the index." +} +""" +CreateDataSource(args) = kendra("CreateDataSource", args) + +""" + CreateFaq() + +Creates an new set of frequently asked question (FAQ) questions and answers. + +Required Parameters +{ + "IndexId": "The identifier of the index that contains the FAQ.", + "S3Path": "The S3 location of the FAQ input data.", + "Name": "The name that should be associated with the FAQ.", + "RoleArn": "The Amazon Resource Name (ARN) of a role with permission to access the S3 bucket that contains the FAQs. For more information, see IAM Roles for Amazon Kendra." +} + +Optional Parameters +{ + "Description": "A description of the FAQ." +} +""" +CreateFaq(args) = kendra("CreateFaq", args) + +""" + DescribeFaq() + +Gets information about an FAQ list. + +Required Parameters +{ + "Id": "The unique identifier of the FAQ.", + "IndexId": "The identifier of the index that contains the FAQ." +} +""" +DescribeFaq(args) = kendra("DescribeFaq", args) + +""" + DeleteIndex() + +Deletes an existing Amazon Kendra index. An exception is not thrown if the index is already being deleted. While the index is being deleted, the Status field returned by a call to the DescribeIndex operation is set to DELETING. + +Required Parameters +{ + "Id": "The identifier of the index to delete." +} +""" +DeleteIndex(args) = kendra("DeleteIndex", args) + +""" + StopDataSourceSyncJob() + +Stops a running synchronization job. You can't stop a scheduled synchronization job. + +Required Parameters +{ + "Id": "The identifier of the data source for which to stop the synchronization jobs.", + "IndexId": "The identifier of the index that contains the data source." +} +""" +StopDataSourceSyncJob(args) = kendra("StopDataSourceSyncJob", args) + +""" + UpdateIndex() + +Updates an existing Amazon Kendra index. + +Required Parameters +{ + "Id": "The identifier of the index to update." +} + +Optional Parameters +{ + "Description": "A new description for the index.", + "DocumentMetadataConfigurationUpdates": "The document metadata to update. ", + "Name": "The name of the index to update.", + "RoleArn": "A new IAM role that gives Amazon Kendra permission to access your Amazon CloudWatch logs." +} +""" +UpdateIndex(args) = kendra("UpdateIndex", args) + +""" + SubmitFeedback() + +Enables you to provide feedback to Amazon Kendra to improve the performance of the service. + +Required Parameters +{ + "QueryId": "The identifier of the specific query for which you are submitting feedback. The query ID is returned in the response to the operation.", + "IndexId": "The identifier of the index that was queried." +} + +Optional Parameters +{ + "RelevanceFeedbackItems": "Provides Amazon Kendra with relevant or not relevant feedback for whether a particular item was relevant to the search.", + "ClickFeedbackItems": "Tells Amazon Kendra that a particular search result link was chosen by the user. " +} +""" +SubmitFeedback(args) = kendra("SubmitFeedback", args) + +""" + UpdateDataSource() + +Updates an existing Amazon Kendra data source. + +Required Parameters +{ + "Id": "The unique identifier of the data source to update.", + "IndexId": "The identifier of the index that contains the data source to update." +} + +Optional Parameters +{ + "Configuration": "", + "Description": "The new description for the data source.", + "Schedule": "The new update schedule for the data source.", + "Name": "The name of the data source to update. The name of the data source can't be updated. To rename a data source you must delete the data source and re-create it.", + "RoleArn": "The Amazon Resource Name (ARN) of the new role to use when the data source is accessing resources on your behalf." +} +""" +UpdateDataSource(args) = kendra("UpdateDataSource", args) + +""" + CreateIndex() + +Creates a new Amazon Kendra index. Index creation is an asynchronous operation. To determine if index creation has completed, check the Status field returned from a call to . The Status field is set to ACTIVE when the index is ready to use. Once the index is active you can index your documents using the operation or using one of the supported data sources. + +Required Parameters +{ + "Name": "The name for the new index.", + "RoleArn": "An IAM role that gives Amazon Kendra permissions to access your Amazon CloudWatch logs and metrics. This is also the role used when you use the BatchPutDocument operation to index documents from an Amazon S3 bucket." +} + +Optional Parameters +{ + "ServerSideEncryptionConfiguration": "The identifier of the AWS KMS customer managed key (CMK) to use to encrypt data indexed by Amazon Kendra. Amazon Kendra doesn't support asymmetric CMKs.", + "Description": "A description for the index.", + "ClientToken": "A token that you provide to identify the request to create an index. Multiple calls to the CreateIndex operation with the same client token will create only one index.”" +} +""" +CreateIndex(args) = kendra("CreateIndex", args) + +""" + DescribeIndex() + +Describes an existing Amazon Kendra index + +Required Parameters +{ + "Id": "The name of the index to describe." +} +""" +DescribeIndex(args) = kendra("DescribeIndex", args) diff --git a/src/services/kinesis.jl b/src/services/kinesis.jl new file mode 100644 index 0000000000..c8df74ee64 --- /dev/null +++ b/src/services/kinesis.jl @@ -0,0 +1,399 @@ +include("../AWSServices.jl") +using .AWSServices: kinesis + +""" + ListTagsForStream() + +Lists the tags for the specified Kinesis data stream. This operation has a limit of five transactions per second per account. + +Required Parameters +{ + "StreamName": "The name of the stream." +} + +Optional Parameters +{ + "ExclusiveStartTagKey": "The key to use as the starting point for the list of tags. If this parameter is set, ListTagsForStream gets all tags that occur after ExclusiveStartTagKey. ", + "Limit": "The number of tags to return. If this number is less than the total number of tags associated with the stream, HasMoreTags is set to true. To list additional tags, set ExclusiveStartTagKey to the last key in the response." +} +""" +ListTagsForStream(args) = kinesis("ListTagsForStream", args) + +""" + StopStreamEncryption() + +Disables server-side encryption for a specified stream. Stopping encryption is an asynchronous operation. Upon receiving the request, Kinesis Data Streams returns immediately and sets the status of the stream to UPDATING. After the update is complete, Kinesis Data Streams sets the status of the stream back to ACTIVE. Stopping encryption normally takes a few seconds to complete, but it can take minutes. You can continue to read and write data to your stream while its status is UPDATING. Once the status of the stream is ACTIVE, records written to the stream are no longer encrypted by Kinesis Data Streams. API Limits: You can successfully disable server-side encryption 25 times in a rolling 24-hour period. Note: It can take up to 5 seconds after the stream is in an ACTIVE status before all records written to the stream are no longer subject to encryption. After you disabled encryption, you can verify that encryption is not applied by inspecting the API response from PutRecord or PutRecords. + +Required Parameters +{ + "StreamName": "The name of the stream on which to stop encrypting records.", + "KeyId": "The GUID for the customer-managed AWS KMS key to use for encryption. This value can be a globally unique identifier, a fully specified Amazon Resource Name (ARN) to either an alias or a key, or an alias name prefixed by \"alias/\".You can also use a master key owned by Kinesis Data Streams by specifying the alias aws/kinesis. Key ARN example: arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012 Alias ARN example: arn:aws:kms:us-east-1:123456789012:alias/MyAliasName Globally unique key ID example: 12345678-1234-1234-1234-123456789012 Alias name example: alias/MyAliasName Master key owned by Kinesis Data Streams: alias/aws/kinesis ", + "EncryptionType": "The encryption type. The only valid value is KMS." +} +""" +StopStreamEncryption(args) = kinesis("StopStreamEncryption", args) + +""" + PutRecords() + +Writes multiple data records into a Kinesis data stream in a single call (also referred to as a PutRecords request). Use this operation to send data into the stream for data ingestion and processing. Each PutRecords request can support up to 500 records. Each record in the request can be as large as 1 MB, up to a limit of 5 MB for the entire request, including partition keys. Each shard can support writes up to 1,000 records per second, up to a maximum data write total of 1 MB per second. You must specify the name of the stream that captures, stores, and transports the data; and an array of request Records, with each record in the array requiring a partition key and data blob. The record size limit applies to the total size of the partition key and data blob. The data blob can be any type of data; for example, a segment from a log file, geographic/location data, website clickstream data, and so on. The partition key is used by Kinesis Data Streams as input to a hash function that maps the partition key and associated data to a specific shard. An MD5 hash function is used to map partition keys to 128-bit integer values and to map associated data records to shards. As a result of this hashing mechanism, all data records with the same partition key map to the same shard within the stream. For more information, see Adding Data to a Stream in the Amazon Kinesis Data Streams Developer Guide. Each record in the Records array may include an optional parameter, ExplicitHashKey, which overrides the partition key to shard mapping. This parameter allows a data producer to determine explicitly the shard where the record is stored. For more information, see Adding Multiple Records with PutRecords in the Amazon Kinesis Data Streams Developer Guide. The PutRecords response includes an array of response Records. Each record in the response array directly correlates with a record in the request array using natural ordering, from the top to the bottom of the request and response. The response Records array always includes the same number of records as the request array. The response Records array includes both successfully and unsuccessfully processed records. Kinesis Data Streams attempts to process all records in each PutRecords request. A single record failure does not stop the processing of subsequent records. A successfully processed record includes ShardId and SequenceNumber values. The ShardId parameter identifies the shard in the stream where the record is stored. The SequenceNumber parameter is an identifier assigned to the put record, unique to all records in the stream. An unsuccessfully processed record includes ErrorCode and ErrorMessage values. ErrorCode reflects the type of error and can be one of the following values: ProvisionedThroughputExceededException or InternalFailure. ErrorMessage provides more detailed information about the ProvisionedThroughputExceededException exception including the account ID, stream name, and shard ID of the record that was throttled. For more information about partially successful responses, see Adding Multiple Records with PutRecords in the Amazon Kinesis Data Streams Developer Guide. By default, data records are accessible for 24 hours from the time that they are added to a stream. You can use IncreaseStreamRetentionPeriod or DecreaseStreamRetentionPeriod to modify this retention period. + +Required Parameters +{ + "Records": "The records associated with the request.", + "StreamName": "The stream name associated with the request." +} +""" +PutRecords(args) = kinesis("PutRecords", args) + +""" + CreateStream() + +Creates a Kinesis data stream. A stream captures and transports data records that are continuously emitted from different data sources or producers. Scale-out within a stream is explicitly supported by means of shards, which are uniquely identified groups of data records in a stream. You specify and control the number of shards that a stream is composed of. Each shard can support reads up to five transactions per second, up to a maximum data read total of 2 MB per second. Each shard can support writes up to 1,000 records per second, up to a maximum data write total of 1 MB per second. If the amount of data input increases or decreases, you can add or remove shards. The stream name identifies the stream. The name is scoped to the AWS account used by the application. It is also scoped by AWS Region. That is, two streams in two different accounts can have the same name, and two streams in the same account, but in two different Regions, can have the same name. CreateStream is an asynchronous operation. Upon receiving a CreateStream request, Kinesis Data Streams immediately returns and sets the stream status to CREATING. After the stream is created, Kinesis Data Streams sets the stream status to ACTIVE. You should perform read and write operations only on an ACTIVE stream. You receive a LimitExceededException when making a CreateStream request when you try to do one of the following: Have more than five streams in the CREATING state at any point in time. Create more shards than are authorized for your account. For the default shard limit for an AWS account, see Amazon Kinesis Data Streams Limits in the Amazon Kinesis Data Streams Developer Guide. To increase this limit, contact AWS Support. You can use DescribeStream to check the stream status, which is returned in StreamStatus. CreateStream has a limit of five transactions per second per account. + +Required Parameters +{ + "StreamName": "A name to identify the stream. The stream name is scoped to the AWS account used by the application that creates the stream. It is also scoped by AWS Region. That is, two streams in two different AWS accounts can have the same name. Two streams in the same AWS account but in two different Regions can also have the same name.", + "ShardCount": "The number of shards that the stream will use. The throughput of the stream is a function of the number of shards; more shards are required for greater provisioned throughput. DefaultShardLimit;" +} +""" +CreateStream(args) = kinesis("CreateStream", args) + +""" + DeleteStream() + +Deletes a Kinesis data stream and all its shards and data. You must shut down any applications that are operating on the stream before you delete the stream. If an application attempts to operate on a deleted stream, it receives the exception ResourceNotFoundException. If the stream is in the ACTIVE state, you can delete it. After a DeleteStream request, the specified stream is in the DELETING state until Kinesis Data Streams completes the deletion. Note: Kinesis Data Streams might continue to accept data read and write operations, such as PutRecord, PutRecords, and GetRecords, on a stream in the DELETING state until the stream deletion is complete. When you delete a stream, any shards in that stream are also deleted, and any tags are dissociated from the stream. You can use the DescribeStream operation to check the state of the stream, which is returned in StreamStatus. DeleteStream has a limit of five transactions per second per account. + +Required Parameters +{ + "StreamName": "The name of the stream to delete." +} + +Optional Parameters +{ + "EnforceConsumerDeletion": "If this parameter is unset (null) or if you set it to false, and the stream has registered consumers, the call to DeleteStream fails with a ResourceInUseException. " +} +""" +DeleteStream(args) = kinesis("DeleteStream", args) + +""" + GetShardIterator() + +Gets an Amazon Kinesis shard iterator. A shard iterator expires 5 minutes after it is returned to the requester. A shard iterator specifies the shard position from which to start reading data records sequentially. The position is specified using the sequence number of a data record in a shard. A sequence number is the identifier associated with every record ingested in the stream, and is assigned when a record is put into the stream. Each stream has one or more shards. You must specify the shard iterator type. For example, you can set the ShardIteratorType parameter to read exactly from the position denoted by a specific sequence number by using the AT_SEQUENCE_NUMBER shard iterator type. Alternatively, the parameter can read right after the sequence number by using the AFTER_SEQUENCE_NUMBER shard iterator type, using sequence numbers returned by earlier calls to PutRecord, PutRecords, GetRecords, or DescribeStream. In the request, you can specify the shard iterator type AT_TIMESTAMP to read records from an arbitrary point in time, TRIM_HORIZON to cause ShardIterator to point to the last untrimmed record in the shard in the system (the oldest data record in the shard), or LATEST so that you always read the most recent data in the shard. When you read repeatedly from a stream, use a GetShardIterator request to get the first shard iterator for use in your first GetRecords request and for subsequent reads use the shard iterator returned by the GetRecords request in NextShardIterator. A new shard iterator is returned by every GetRecords request in NextShardIterator, which you use in the ShardIterator parameter of the next GetRecords request. If a GetShardIterator request is made too often, you receive a ProvisionedThroughputExceededException. For more information about throughput limits, see GetRecords, and Streams Limits in the Amazon Kinesis Data Streams Developer Guide. If the shard is closed, GetShardIterator returns a valid iterator for the last sequence number of the shard. A shard can be closed as a result of using SplitShard or MergeShards. GetShardIterator has a limit of five transactions per second per account per open shard. + +Required Parameters +{ + "ShardId": "The shard ID of the Kinesis Data Streams shard to get the iterator for.", + "StreamName": "The name of the Amazon Kinesis data stream.", + "ShardIteratorType": "Determines how the shard iterator is used to start reading data records from the shard. The following are the valid Amazon Kinesis shard iterator types: AT_SEQUENCE_NUMBER - Start reading from the position denoted by a specific sequence number, provided in the value StartingSequenceNumber. AFTER_SEQUENCE_NUMBER - Start reading right after the position denoted by a specific sequence number, provided in the value StartingSequenceNumber. AT_TIMESTAMP - Start reading from the position denoted by a specific time stamp, provided in the value Timestamp. TRIM_HORIZON - Start reading at the last untrimmed record in the shard in the system, which is the oldest data record in the shard. LATEST - Start reading just after the most recent record in the shard, so that you always read the most recent data in the shard. " +} + +Optional Parameters +{ + "StartingSequenceNumber": "The sequence number of the data record in the shard from which to start reading. Used with shard iterator type AT_SEQUENCE_NUMBER and AFTER_SEQUENCE_NUMBER.", + "Timestamp": "The time stamp of the data record from which to start reading. Used with shard iterator type AT_TIMESTAMP. A time stamp is the Unix epoch date with precision in milliseconds. For example, 2016-04-04T19:58:46.480-00:00 or 1459799926.480. If a record with this exact time stamp does not exist, the iterator returned is for the next (later) record. If the time stamp is older than the current trim horizon, the iterator returned is for the oldest untrimmed data record (TRIM_HORIZON)." +} +""" +GetShardIterator(args) = kinesis("GetShardIterator", args) + +""" + DescribeStreamSummary() + +Provides a summarized description of the specified Kinesis data stream without the shard list. The information returned includes the stream name, Amazon Resource Name (ARN), status, record retention period, approximate creation time, monitoring, encryption details, and open shard count. + +Required Parameters +{ + "StreamName": "The name of the stream to describe." +} +""" +DescribeStreamSummary(args) = kinesis("DescribeStreamSummary", args) + +""" + AddTagsToStream() + +Adds or updates tags for the specified Kinesis data stream. Each time you invoke this operation, you can specify up to 10 tags. If you want to add more than 10 tags to your stream, you can invoke this operation multiple times. In total, each stream can have up to 50 tags. If tags have already been assigned to the stream, AddTagsToStream overwrites any existing tags that correspond to the specified tag keys. AddTagsToStream has a limit of five transactions per second per account. + +Required Parameters +{ + "Tags": "A set of up to 10 key-value pairs to use to create the tags.", + "StreamName": "The name of the stream." +} +""" +AddTagsToStream(args) = kinesis("AddTagsToStream", args) + +""" + StartStreamEncryption() + +Enables or updates server-side encryption using an AWS KMS key for a specified stream. Starting encryption is an asynchronous operation. Upon receiving the request, Kinesis Data Streams returns immediately and sets the status of the stream to UPDATING. After the update is complete, Kinesis Data Streams sets the status of the stream back to ACTIVE. Updating or applying encryption normally takes a few seconds to complete, but it can take minutes. You can continue to read and write data to your stream while its status is UPDATING. Once the status of the stream is ACTIVE, encryption begins for records written to the stream. API Limits: You can successfully apply a new AWS KMS key for server-side encryption 25 times in a rolling 24-hour period. Note: It can take up to 5 seconds after the stream is in an ACTIVE status before all records written to the stream are encrypted. After you enable encryption, you can verify that encryption is applied by inspecting the API response from PutRecord or PutRecords. + +Required Parameters +{ + "StreamName": "The name of the stream for which to start encrypting records.", + "KeyId": "The GUID for the customer-managed AWS KMS key to use for encryption. This value can be a globally unique identifier, a fully specified Amazon Resource Name (ARN) to either an alias or a key, or an alias name prefixed by \"alias/\".You can also use a master key owned by Kinesis Data Streams by specifying the alias aws/kinesis. Key ARN example: arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012 Alias ARN example: arn:aws:kms:us-east-1:123456789012:alias/MyAliasName Globally unique key ID example: 12345678-1234-1234-1234-123456789012 Alias name example: alias/MyAliasName Master key owned by Kinesis Data Streams: alias/aws/kinesis ", + "EncryptionType": "The encryption type to use. The only valid value is KMS." +} +""" +StartStreamEncryption(args) = kinesis("StartStreamEncryption", args) + +""" + DeregisterStreamConsumer() + +To deregister a consumer, provide its ARN. Alternatively, you can provide the ARN of the data stream and the name you gave the consumer when you registered it. You may also provide all three parameters, as long as they don't conflict with each other. If you don't know the name or ARN of the consumer that you want to deregister, you can use the ListStreamConsumers operation to get a list of the descriptions of all the consumers that are currently registered with a given data stream. The description of a consumer contains its name and ARN. This operation has a limit of five transactions per second per account. + +Optional Parameters +{ + "StreamARN": "The ARN of the Kinesis data stream that the consumer is registered with. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces.", + "ConsumerARN": "The ARN returned by Kinesis Data Streams when you registered the consumer. If you don't know the ARN of the consumer that you want to deregister, you can use the ListStreamConsumers operation to get a list of the descriptions of all the consumers that are currently registered with a given data stream. The description of a consumer contains its ARN.", + "ConsumerName": "The name that you gave to the consumer." +} +""" +DeregisterStreamConsumer() = kinesis("DeregisterStreamConsumer") +DeregisterStreamConsumer(args) = kinesis("DeregisterStreamConsumer", args) + +""" + DescribeStreamConsumer() + +To get the description of a registered consumer, provide the ARN of the consumer. Alternatively, you can provide the ARN of the data stream and the name you gave the consumer when you registered it. You may also provide all three parameters, as long as they don't conflict with each other. If you don't know the name or ARN of the consumer that you want to describe, you can use the ListStreamConsumers operation to get a list of the descriptions of all the consumers that are currently registered with a given data stream. This operation has a limit of 20 transactions per second per account. + +Optional Parameters +{ + "StreamARN": "The ARN of the Kinesis data stream that the consumer is registered with. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces.", + "ConsumerARN": "The ARN returned by Kinesis Data Streams when you registered the consumer.", + "ConsumerName": "The name that you gave to the consumer." +} +""" +DescribeStreamConsumer() = kinesis("DescribeStreamConsumer") +DescribeStreamConsumer(args) = kinesis("DescribeStreamConsumer", args) + +""" + DecreaseStreamRetentionPeriod() + +Decreases the Kinesis data stream's retention period, which is the length of time data records are accessible after they are added to the stream. The minimum value of a stream's retention period is 24 hours. This operation may result in lost data. For example, if the stream's retention period is 48 hours and is decreased to 24 hours, any data already in the stream that is older than 24 hours is inaccessible. + +Required Parameters +{ + "RetentionPeriodHours": "The new retention period of the stream, in hours. Must be less than the current retention period.", + "StreamName": "The name of the stream to modify." +} +""" +DecreaseStreamRetentionPeriod(args) = kinesis("DecreaseStreamRetentionPeriod", args) + +""" + ListStreamConsumers() + +Lists the consumers registered to receive data from a stream using enhanced fan-out, and provides information about each consumer. This operation has a limit of 10 transactions per second per account. + +Required Parameters +{ + "StreamARN": "The ARN of the Kinesis data stream for which you want to list the registered consumers. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of consumers that you want a single call of ListStreamConsumers to return.", + "NextToken": "When the number of consumers that are registered with the data stream is greater than the default value for the MaxResults parameter, or if you explicitly specify a value for MaxResults that is less than the number of consumers that are registered with the data stream, the response includes a pagination token named NextToken. You can specify this NextToken value in a subsequent call to ListStreamConsumers to list the next set of registered consumers. Don't specify StreamName or StreamCreationTimestamp if you specify NextToken because the latter unambiguously identifies the stream. You can optionally specify a value for the MaxResults parameter when you specify NextToken. If you specify a MaxResults value that is less than the number of consumers that the operation returns if you don't specify MaxResults, the response will contain a new NextToken value. You can use the new NextToken value in a subsequent call to the ListStreamConsumers operation to list the next set of consumers. Tokens expire after 300 seconds. When you obtain a value for NextToken in the response to a call to ListStreamConsumers, you have 300 seconds to use that value. If you specify an expired token in a call to ListStreamConsumers, you get ExpiredNextTokenException. ", + "StreamCreationTimestamp": "Specify this input parameter to distinguish data streams that have the same name. For example, if you create a data stream and then delete it, and you later create another data stream with the same name, you can use this input parameter to specify which of the two streams you want to list the consumers for. You can't specify this parameter if you specify the NextToken parameter. " +} +""" +ListStreamConsumers(args) = kinesis("ListStreamConsumers", args) + +""" + IncreaseStreamRetentionPeriod() + +Increases the Kinesis data stream's retention period, which is the length of time data records are accessible after they are added to the stream. The maximum value of a stream's retention period is 168 hours (7 days). If you choose a longer stream retention period, this operation increases the time period during which records that have not yet expired are accessible. However, it does not make previous, expired data (older than the stream's previous retention period) accessible after the operation has been called. For example, if a stream's retention period is set to 24 hours and is increased to 168 hours, any data that is older than 24 hours remains inaccessible to consumer applications. + +Required Parameters +{ + "RetentionPeriodHours": "The new retention period of the stream, in hours. Must be more than the current retention period.", + "StreamName": "The name of the stream to modify." +} +""" +IncreaseStreamRetentionPeriod(args) = kinesis("IncreaseStreamRetentionPeriod", args) + +""" + RegisterStreamConsumer() + +Registers a consumer with a Kinesis data stream. When you use this operation, the consumer you register can read data from the stream at a rate of up to 2 MiB per second. This rate is unaffected by the total number of consumers that read from the same stream. You can register up to 5 consumers per stream. A given consumer can only be registered with one stream. This operation has a limit of five transactions per second per account. + +Required Parameters +{ + "StreamARN": "The ARN of the Kinesis data stream that you want to register the consumer with. For more info, see Amazon Resource Names (ARNs) and AWS Service Namespaces.", + "ConsumerName": "For a given Kinesis data stream, each consumer must have a unique name. However, consumer names don't have to be unique across data streams." +} +""" +RegisterStreamConsumer(args) = kinesis("RegisterStreamConsumer", args) + +""" + EnableEnhancedMonitoring() + +Enables enhanced Kinesis data stream monitoring for shard-level metrics. + +Required Parameters +{ + "StreamName": "The name of the stream for which to enable enhanced monitoring.", + "ShardLevelMetrics": "List of shard-level metrics to enable. The following are the valid shard-level metrics. The value \"ALL\" enables every metric. IncomingBytes IncomingRecords OutgoingBytes OutgoingRecords WriteProvisionedThroughputExceeded ReadProvisionedThroughputExceeded IteratorAgeMilliseconds ALL For more information, see Monitoring the Amazon Kinesis Data Streams Service with Amazon CloudWatch in the Amazon Kinesis Data Streams Developer Guide." +} +""" +EnableEnhancedMonitoring(args) = kinesis("EnableEnhancedMonitoring", args) + +""" + PutRecord() + +Writes a single data record into an Amazon Kinesis data stream. Call PutRecord to send data into the stream for real-time ingestion and subsequent processing, one record at a time. Each shard can support writes up to 1,000 records per second, up to a maximum data write total of 1 MB per second. You must specify the name of the stream that captures, stores, and transports the data; a partition key; and the data blob itself. The data blob can be any type of data; for example, a segment from a log file, geographic/location data, website clickstream data, and so on. The partition key is used by Kinesis Data Streams to distribute data across shards. Kinesis Data Streams segregates the data records that belong to a stream into multiple shards, using the partition key associated with each data record to determine the shard to which a given data record belongs. Partition keys are Unicode strings, with a maximum length limit of 256 characters for each key. An MD5 hash function is used to map partition keys to 128-bit integer values and to map associated data records to shards using the hash key ranges of the shards. You can override hashing the partition key to determine the shard by explicitly specifying a hash value using the ExplicitHashKey parameter. For more information, see Adding Data to a Stream in the Amazon Kinesis Data Streams Developer Guide. PutRecord returns the shard ID of where the data record was placed and the sequence number that was assigned to the data record. Sequence numbers increase over time and are specific to a shard within a stream, not across all shards within a stream. To guarantee strictly increasing ordering, write serially to a shard and use the SequenceNumberForOrdering parameter. For more information, see Adding Data to a Stream in the Amazon Kinesis Data Streams Developer Guide. If a PutRecord request cannot be processed because of insufficient provisioned throughput on the shard involved in the request, PutRecord throws ProvisionedThroughputExceededException. By default, data records are accessible for 24 hours from the time that they are added to a stream. You can use IncreaseStreamRetentionPeriod or DecreaseStreamRetentionPeriod to modify this retention period. + +Required Parameters +{ + "PartitionKey": "Determines which shard in the stream the data record is assigned to. Partition keys are Unicode strings with a maximum length limit of 256 characters for each key. Amazon Kinesis Data Streams uses the partition key as input to a hash function that maps the partition key and associated data to a specific shard. Specifically, an MD5 hash function is used to map partition keys to 128-bit integer values and to map associated data records to shards. As a result of this hashing mechanism, all data records with the same partition key map to the same shard within the stream.", + "StreamName": "The name of the stream to put the data record into.", + "Data": "The data blob to put into the record, which is base64-encoded when the blob is serialized. When the data blob (the payload before base64-encoding) is added to the partition key size, the total size must not exceed the maximum record size (1 MB)." +} + +Optional Parameters +{ + "ExplicitHashKey": "The hash value used to explicitly determine the shard the data record is assigned to by overriding the partition key hash.", + "SequenceNumberForOrdering": "Guarantees strictly increasing sequence numbers, for puts from the same client and to the same partition key. Usage: set the SequenceNumberForOrdering of record n to the sequence number of record n-1 (as returned in the result when putting record n-1). If this parameter is not set, records are coarsely ordered based on arrival time." +} +""" +PutRecord(args) = kinesis("PutRecord", args) + +""" + GetRecords() + +Gets data records from a Kinesis data stream's shard. Specify a shard iterator using the ShardIterator parameter. The shard iterator specifies the position in the shard from which you want to start reading data records sequentially. If there are no records available in the portion of the shard that the iterator points to, GetRecords returns an empty list. It might take multiple calls to get to a portion of the shard that contains records. You can scale by provisioning multiple shards per stream while considering service limits (for more information, see Amazon Kinesis Data Streams Limits in the Amazon Kinesis Data Streams Developer Guide). Your application should have one thread per shard, each reading continuously from its stream. To read from a stream continually, call GetRecords in a loop. Use GetShardIterator to get the shard iterator to specify in the first GetRecords call. GetRecords returns a new shard iterator in NextShardIterator. Specify the shard iterator returned in NextShardIterator in subsequent calls to GetRecords. If the shard has been closed, the shard iterator can't return more data and GetRecords returns null in NextShardIterator. You can terminate the loop when the shard is closed, or when the shard iterator reaches the record with the sequence number or other attribute that marks it as the last record to process. Each data record can be up to 1 MiB in size, and each shard can read up to 2 MiB per second. You can ensure that your calls don't exceed the maximum supported size or throughput by using the Limit parameter to specify the maximum number of records that GetRecords can return. Consider your average record size when determining this limit. The maximum number of records that can be returned per call is 10,000. The size of the data returned by GetRecords varies depending on the utilization of the shard. The maximum size of data that GetRecords can return is 10 MiB. If a call returns this amount of data, subsequent calls made within the next 5 seconds throw ProvisionedThroughputExceededException. If there is insufficient provisioned throughput on the stream, subsequent calls made within the next 1 second throw ProvisionedThroughputExceededException. GetRecords doesn't return any data when it throws an exception. For this reason, we recommend that you wait 1 second between calls to GetRecords. However, it's possible that the application will get exceptions for longer than 1 second. To detect whether the application is falling behind in processing, you can use the MillisBehindLatest response attribute. You can also monitor the stream using CloudWatch metrics and other mechanisms (see Monitoring in the Amazon Kinesis Data Streams Developer Guide). Each Amazon Kinesis record includes a value, ApproximateArrivalTimestamp, that is set when a stream successfully receives and stores a record. This is commonly referred to as a server-side time stamp, whereas a client-side time stamp is set when a data producer creates or sends the record to a stream (a data producer is any data source putting data records into a stream, for example with PutRecords). The time stamp has millisecond precision. There are no guarantees about the time stamp accuracy, or that the time stamp is always increasing. For example, records in a shard or across a stream might have time stamps that are out of order. This operation has a limit of five transactions per second per account. + +Required Parameters +{ + "ShardIterator": "The position in the shard from which you want to start sequentially reading data records. A shard iterator specifies this position using the sequence number of a data record in the shard." +} + +Optional Parameters +{ + "Limit": "The maximum number of records to return. Specify a value of up to 10,000. If you specify a value that is greater than 10,000, GetRecords throws InvalidArgumentException." +} +""" +GetRecords(args) = kinesis("GetRecords", args) + +""" + RemoveTagsFromStream() + +Removes tags from the specified Kinesis data stream. Removed tags are deleted and cannot be recovered after this operation successfully completes. If you specify a tag that does not exist, it is ignored. RemoveTagsFromStream has a limit of five transactions per second per account. + +Required Parameters +{ + "StreamName": "The name of the stream.", + "TagKeys": "A list of tag keys. Each corresponding tag is removed from the stream." +} +""" +RemoveTagsFromStream(args) = kinesis("RemoveTagsFromStream", args) + +""" + MergeShards() + +Merges two adjacent shards in a Kinesis data stream and combines them into a single shard to reduce the stream's capacity to ingest and transport data. Two shards are considered adjacent if the union of the hash key ranges for the two shards form a contiguous set with no gaps. For example, if you have two shards, one with a hash key range of 276...381 and the other with a hash key range of 382...454, then you could merge these two shards into a single shard that would have a hash key range of 276...454. After the merge, the single child shard receives data for all hash key values covered by the two parent shards. MergeShards is called when there is a need to reduce the overall capacity of a stream because of excess capacity that is not being used. You must specify the shard to be merged and the adjacent shard for a stream. For more information about merging shards, see Merge Two Shards in the Amazon Kinesis Data Streams Developer Guide. If the stream is in the ACTIVE state, you can call MergeShards. If a stream is in the CREATING, UPDATING, or DELETING state, MergeShards returns a ResourceInUseException. If the specified stream does not exist, MergeShards returns a ResourceNotFoundException. You can use DescribeStream to check the state of the stream, which is returned in StreamStatus. MergeShards is an asynchronous operation. Upon receiving a MergeShards request, Amazon Kinesis Data Streams immediately returns a response and sets the StreamStatus to UPDATING. After the operation is completed, Kinesis Data Streams sets the StreamStatus to ACTIVE. Read and write operations continue to work while the stream is in the UPDATING state. You use DescribeStream to determine the shard IDs that are specified in the MergeShards request. If you try to operate on too many streams in parallel using CreateStream, DeleteStream, MergeShards, or SplitShard, you receive a LimitExceededException. MergeShards has a limit of five transactions per second per account. + +Required Parameters +{ + "ShardToMerge": "The shard ID of the shard to combine with the adjacent shard for the merge.", + "StreamName": "The name of the stream for the merge.", + "AdjacentShardToMerge": "The shard ID of the adjacent shard for the merge." +} +""" +MergeShards(args) = kinesis("MergeShards", args) + +""" + DescribeLimits() + +Describes the shard limits and usage for the account. If you update your account limits, the old limits might be returned for a few minutes. This operation has a limit of one transaction per second per account. +""" +DescribeLimits() = kinesis("DescribeLimits") +DescribeLimits(args) = kinesis("DescribeLimits", args) + +""" + ListShards() + +Lists the shards in a stream and provides information about each shard. This operation has a limit of 100 transactions per second per data stream. This API is a new operation that is used by the Amazon Kinesis Client Library (KCL). If you have a fine-grained IAM policy that only allows specific operations, you must update your policy to allow calls to this API. For more information, see Controlling Access to Amazon Kinesis Data Streams Resources Using IAM. + +Optional Parameters +{ + "MaxResults": "The maximum number of shards to return in a single call to ListShards. The minimum value you can specify for this parameter is 1, and the maximum is 1,000, which is also the default. When the number of shards to be listed is greater than the value of MaxResults, the response contains a NextToken value that you can use in a subsequent call to ListShards to list the next set of shards.", + "NextToken": "When the number of shards in the data stream is greater than the default value for the MaxResults parameter, or if you explicitly specify a value for MaxResults that is less than the number of shards in the data stream, the response includes a pagination token named NextToken. You can specify this NextToken value in a subsequent call to ListShards to list the next set of shards. Don't specify StreamName or StreamCreationTimestamp if you specify NextToken because the latter unambiguously identifies the stream. You can optionally specify a value for the MaxResults parameter when you specify NextToken. If you specify a MaxResults value that is less than the number of shards that the operation returns if you don't specify MaxResults, the response will contain a new NextToken value. You can use the new NextToken value in a subsequent call to the ListShards operation. Tokens expire after 300 seconds. When you obtain a value for NextToken in the response to a call to ListShards, you have 300 seconds to use that value. If you specify an expired token in a call to ListShards, you get ExpiredNextTokenException. ", + "ExclusiveStartShardId": "Specify this parameter to indicate that you want to list the shards starting with the shard whose ID immediately follows ExclusiveStartShardId. If you don't specify this parameter, the default behavior is for ListShards to list the shards starting with the first one in the stream. You cannot specify this parameter if you specify NextToken.", + "StreamName": "The name of the data stream whose shards you want to list. You cannot specify this parameter if you specify the NextToken parameter.", + "StreamCreationTimestamp": "Specify this input parameter to distinguish data streams that have the same name. For example, if you create a data stream and then delete it, and you later create another data stream with the same name, you can use this input parameter to specify which of the two streams you want to list the shards for. You cannot specify this parameter if you specify the NextToken parameter." +} +""" +ListShards() = kinesis("ListShards") +ListShards(args) = kinesis("ListShards", args) + +""" + SplitShard() + +Splits a shard into two new shards in the Kinesis data stream, to increase the stream's capacity to ingest and transport data. SplitShard is called when there is a need to increase the overall capacity of a stream because of an expected increase in the volume of data records being ingested. You can also use SplitShard when a shard appears to be approaching its maximum utilization; for example, the producers sending data into the specific shard are suddenly sending more than previously anticipated. You can also call SplitShard to increase stream capacity, so that more Kinesis Data Streams applications can simultaneously read data from the stream for real-time processing. You must specify the shard to be split and the new hash key, which is the position in the shard where the shard gets split in two. In many cases, the new hash key might be the average of the beginning and ending hash key, but it can be any hash key value in the range being mapped into the shard. For more information, see Split a Shard in the Amazon Kinesis Data Streams Developer Guide. You can use DescribeStream to determine the shard ID and hash key values for the ShardToSplit and NewStartingHashKey parameters that are specified in the SplitShard request. SplitShard is an asynchronous operation. Upon receiving a SplitShard request, Kinesis Data Streams immediately returns a response and sets the stream status to UPDATING. After the operation is completed, Kinesis Data Streams sets the stream status to ACTIVE. Read and write operations continue to work while the stream is in the UPDATING state. You can use DescribeStream to check the status of the stream, which is returned in StreamStatus. If the stream is in the ACTIVE state, you can call SplitShard. If a stream is in CREATING or UPDATING or DELETING states, DescribeStream returns a ResourceInUseException. If the specified stream does not exist, DescribeStream returns a ResourceNotFoundException. If you try to create more shards than are authorized for your account, you receive a LimitExceededException. For the default shard limit for an AWS account, see Kinesis Data Streams Limits in the Amazon Kinesis Data Streams Developer Guide. To increase this limit, contact AWS Support. If you try to operate on too many streams simultaneously using CreateStream, DeleteStream, MergeShards, and/or SplitShard, you receive a LimitExceededException. SplitShard has a limit of five transactions per second per account. + +Required Parameters +{ + "NewStartingHashKey": "A hash key value for the starting hash key of one of the child shards created by the split. The hash key range for a given shard constitutes a set of ordered contiguous positive integers. The value for NewStartingHashKey must be in the range of hash keys being mapped into the shard. The NewStartingHashKey hash key value and all higher hash key values in hash key range are distributed to one of the child shards. All the lower hash key values in the range are distributed to the other child shard.", + "StreamName": "The name of the stream for the shard split.", + "ShardToSplit": "The shard ID of the shard to split." +} +""" +SplitShard(args) = kinesis("SplitShard", args) + +""" + ListStreams() + +Lists your Kinesis data streams. The number of streams may be too large to return from a single call to ListStreams. You can limit the number of returned streams using the Limit parameter. If you do not specify a value for the Limit parameter, Kinesis Data Streams uses the default limit, which is currently 10. You can detect if there are more streams available to list by using the HasMoreStreams flag from the returned output. If there are more streams available, you can request more streams by using the name of the last stream returned by the ListStreams request in the ExclusiveStartStreamName parameter in a subsequent request to ListStreams. The group of stream names returned by the subsequent request is then added to the list. You can continue this process until all the stream names have been collected in the list. ListStreams has a limit of five transactions per second per account. + +Optional Parameters +{ + "ExclusiveStartStreamName": "The name of the stream to start the list with.", + "Limit": "The maximum number of streams to list." +} +""" +ListStreams() = kinesis("ListStreams") +ListStreams(args) = kinesis("ListStreams", args) + +""" + DisableEnhancedMonitoring() + +Disables enhanced monitoring. + +Required Parameters +{ + "StreamName": "The name of the Kinesis data stream for which to disable enhanced monitoring.", + "ShardLevelMetrics": "List of shard-level metrics to disable. The following are the valid shard-level metrics. The value \"ALL\" disables every metric. IncomingBytes IncomingRecords OutgoingBytes OutgoingRecords WriteProvisionedThroughputExceeded ReadProvisionedThroughputExceeded IteratorAgeMilliseconds ALL For more information, see Monitoring the Amazon Kinesis Data Streams Service with Amazon CloudWatch in the Amazon Kinesis Data Streams Developer Guide." +} +""" +DisableEnhancedMonitoring(args) = kinesis("DisableEnhancedMonitoring", args) + +""" + DescribeStream() + +Describes the specified Kinesis data stream. The information returned includes the stream name, Amazon Resource Name (ARN), creation time, enhanced metric configuration, and shard map. The shard map is an array of shard objects. For each shard object, there is the hash key and sequence number ranges that the shard spans, and the IDs of any earlier shards that played in a role in creating the shard. Every record ingested in the stream is identified by a sequence number, which is assigned when the record is put into the stream. You can limit the number of shards returned by each call. For more information, see Retrieving Shards from a Stream in the Amazon Kinesis Data Streams Developer Guide. There are no guarantees about the chronological order shards returned. To process shards in chronological order, use the ID of the parent shard to track the lineage to the oldest shard. This operation has a limit of 10 transactions per second per account. + +Required Parameters +{ + "StreamName": "The name of the stream to describe." +} + +Optional Parameters +{ + "ExclusiveStartShardId": "The shard ID of the shard to start with.", + "Limit": "The maximum number of shards to return in a single call. The default value is 100. If you specify a value greater than 100, at most 100 shards are returned." +} +""" +DescribeStream(args) = kinesis("DescribeStream", args) + +""" + UpdateShardCount() + +Updates the shard count of the specified stream to the specified number of shards. Updating the shard count is an asynchronous operation. Upon receiving the request, Kinesis Data Streams returns immediately and sets the status of the stream to UPDATING. After the update is complete, Kinesis Data Streams sets the status of the stream back to ACTIVE. Depending on the size of the stream, the scaling action could take a few minutes to complete. You can continue to read and write data to your stream while its status is UPDATING. To update the shard count, Kinesis Data Streams performs splits or merges on individual shards. This can cause short-lived shards to be created, in addition to the final shards. We recommend that you double or halve the shard count, as this results in the fewest number of splits or merges. This operation has the following default limits. By default, you cannot do the following: Scale more than twice per rolling 24-hour period per stream Scale up to more than double your current shard count for a stream Scale down below half your current shard count for a stream Scale up to more than 500 shards in a stream Scale a stream with more than 500 shards down unless the result is less than 500 shards Scale up to more than the shard limit for your account For the default limits for an AWS account, see Streams Limits in the Amazon Kinesis Data Streams Developer Guide. To request an increase in the call rate limit, the shard limit for this API, or your overall shard limit, use the limits form. + +Required Parameters +{ + "StreamName": "The name of the stream.", + "ScalingType": "The scaling type. Uniform scaling creates shards of equal size.", + "TargetShardCount": "The new number of shards." +} +""" +UpdateShardCount(args) = kinesis("UpdateShardCount", args) diff --git a/src/services/kinesis_analytics.jl b/src/services/kinesis_analytics.jl new file mode 100644 index 0000000000..fa07d672db --- /dev/null +++ b/src/services/kinesis_analytics.jl @@ -0,0 +1,284 @@ +include("../AWSServices.jl") +using .AWSServices: kinesis_analytics + +""" + ListTagsForResource() + +Retrieves the list of key-value tags assigned to the application. For more information, see Using Tagging. + +Required Parameters +{ + "ResourceARN": "The ARN of the application for which to retrieve tags." +} +""" +ListTagsForResource(args) = kinesis_analytics("ListTagsForResource", args) + +""" + AddApplicationCloudWatchLoggingOption() + + This documentation is for version 1 of the Amazon Kinesis Data Analytics API, which only supports SQL applications. Version 2 of the API supports SQL and Java applications. For more information about version 2, see Amazon Kinesis Data Analytics API V2 Documentation. Adds a CloudWatch log stream to monitor application configuration errors. For more information about using CloudWatch log streams with Amazon Kinesis Analytics applications, see Working with Amazon CloudWatch Logs. + +Required Parameters +{ + "CurrentApplicationVersionId": "The version ID of the Kinesis Analytics application.", + "ApplicationName": "The Kinesis Analytics application name.", + "CloudWatchLoggingOption": "Provides the CloudWatch log stream Amazon Resource Name (ARN) and the IAM role ARN. Note: To write application messages to CloudWatch, the IAM role that is used must have the PutLogEvents policy action enabled." +} +""" +AddApplicationCloudWatchLoggingOption(args) = kinesis_analytics("AddApplicationCloudWatchLoggingOption", args) + +""" + StopApplication() + + This documentation is for version 1 of the Amazon Kinesis Data Analytics API, which only supports SQL applications. Version 2 of the API supports SQL and Java applications. For more information about version 2, see Amazon Kinesis Data Analytics API V2 Documentation. Stops the application from processing input data. You can stop an application only if it is in the running state. You can use the DescribeApplication operation to find the application state. After the application is stopped, Amazon Kinesis Analytics stops reading data from the input, the application stops processing data, and there is no output written to the destination. This operation requires permissions to perform the kinesisanalytics:StopApplication action. + +Required Parameters +{ + "ApplicationName": "Name of the running application to stop." +} +""" +StopApplication(args) = kinesis_analytics("StopApplication", args) + +""" + DeleteApplication() + + This documentation is for version 1 of the Amazon Kinesis Data Analytics API, which only supports SQL applications. Version 2 of the API supports SQL and Java applications. For more information about version 2, see Amazon Kinesis Data Analytics API V2 Documentation. Deletes the specified application. Amazon Kinesis Analytics halts application execution and deletes the application, including any application artifacts (such as in-application streams, reference table, and application code). This operation requires permissions to perform the kinesisanalytics:DeleteApplication action. + +Required Parameters +{ + "CreateTimestamp": " You can use the DescribeApplication operation to get this value. ", + "ApplicationName": "Name of the Amazon Kinesis Analytics application to delete." +} +""" +DeleteApplication(args) = kinesis_analytics("DeleteApplication", args) + +""" + AddApplicationOutput() + + This documentation is for version 1 of the Amazon Kinesis Data Analytics API, which only supports SQL applications. Version 2 of the API supports SQL and Java applications. For more information about version 2, see Amazon Kinesis Data Analytics API V2 Documentation. Adds an external destination to your Amazon Kinesis Analytics application. If you want Amazon Kinesis Analytics to deliver data from an in-application stream within your application to an external destination (such as an Amazon Kinesis stream, an Amazon Kinesis Firehose delivery stream, or an AWS Lambda function), you add the relevant configuration to your application using this operation. You can configure one or more outputs for your application. Each output configuration maps an in-application stream and an external destination. You can use one of the output configurations to deliver data from your in-application error stream to an external destination so that you can analyze the errors. For more information, see Understanding Application Output (Destination). Any configuration update, including adding a streaming source using this operation, results in a new version of the application. You can use the DescribeApplication operation to find the current application version. For the limits on the number of application inputs and outputs you can configure, see Limits. This operation requires permissions to perform the kinesisanalytics:AddApplicationOutput action. + +Required Parameters +{ + "CurrentApplicationVersionId": "Version of the application to which you want to add the output configuration. You can use the DescribeApplication operation to get the current application version. If the version specified is not the current version, the ConcurrentModificationException is returned. ", + "Output": "An array of objects, each describing one output configuration. In the output configuration, you specify the name of an in-application stream, a destination (that is, an Amazon Kinesis stream, an Amazon Kinesis Firehose delivery stream, or an AWS Lambda function), and record the formation to use when writing to the destination.", + "ApplicationName": "Name of the application to which you want to add the output configuration." +} +""" +AddApplicationOutput(args) = kinesis_analytics("AddApplicationOutput", args) + +""" + DeleteApplicationInputProcessingConfiguration() + + This documentation is for version 1 of the Amazon Kinesis Data Analytics API, which only supports SQL applications. Version 2 of the API supports SQL and Java applications. For more information about version 2, see Amazon Kinesis Data Analytics API V2 Documentation. Deletes an InputProcessingConfiguration from an input. + +Required Parameters +{ + "CurrentApplicationVersionId": "The version ID of the Kinesis Analytics application.", + "ApplicationName": "The Kinesis Analytics application name.", + "InputId": "The ID of the input configuration from which to delete the input processing configuration. You can get a list of the input IDs for an application by using the DescribeApplication operation." +} +""" +DeleteApplicationInputProcessingConfiguration(args) = kinesis_analytics("DeleteApplicationInputProcessingConfiguration", args) + +""" + StartApplication() + + This documentation is for version 1 of the Amazon Kinesis Data Analytics API, which only supports SQL applications. Version 2 of the API supports SQL and Java applications. For more information about version 2, see Amazon Kinesis Data Analytics API V2 Documentation. Starts the specified Amazon Kinesis Analytics application. After creating an application, you must exclusively call this operation to start your application. After the application starts, it begins consuming the input data, processes it, and writes the output to the configured destination. The application status must be READY for you to start an application. You can get the application status in the console or using the DescribeApplication operation. After you start the application, you can stop the application from processing the input by calling the StopApplication operation. This operation requires permissions to perform the kinesisanalytics:StartApplication action. + +Required Parameters +{ + "ApplicationName": "Name of the application.", + "InputConfigurations": "Identifies the specific input, by ID, that the application starts consuming. Amazon Kinesis Analytics starts reading the streaming source associated with the input. You can also specify where in the streaming source you want Amazon Kinesis Analytics to start reading." +} +""" +StartApplication(args) = kinesis_analytics("StartApplication", args) + +""" + CreateApplication() + + This documentation is for version 1 of the Amazon Kinesis Data Analytics API, which only supports SQL applications. Version 2 of the API supports SQL and Java applications. For more information about version 2, see Amazon Kinesis Data Analytics API V2 Documentation. Creates an Amazon Kinesis Analytics application. You can configure each application with one streaming source as input, application code to process the input, and up to three destinations where you want Amazon Kinesis Analytics to write the output data from your application. For an overview, see How it Works. In the input configuration, you map the streaming source to an in-application stream, which you can think of as a constantly updating table. In the mapping, you must provide a schema for the in-application stream and map each data column in the in-application stream to a data element in the streaming source. Your application code is one or more SQL statements that read input data, transform it, and generate output. Your application code can create one or more SQL artifacts like SQL streams or pumps. In the output configuration, you can configure the application to write data from in-application streams created in your applications to up to three destinations. To read data from your source stream or write data to destination streams, Amazon Kinesis Analytics needs your permissions. You grant these permissions by creating IAM roles. This operation requires permissions to perform the kinesisanalytics:CreateApplication action. For introductory exercises to create an Amazon Kinesis Analytics application, see Getting Started. + +Required Parameters +{ + "ApplicationName": "Name of your Amazon Kinesis Analytics application (for example, sample-app)." +} + +Optional Parameters +{ + "CloudWatchLoggingOptions": "Use this parameter to configure a CloudWatch log stream to monitor application configuration errors. For more information, see Working with Amazon CloudWatch Logs.", + "Inputs": "Use this parameter to configure the application input. You can configure your application to receive input from a single streaming source. In this configuration, you map this streaming source to an in-application stream that is created. Your application code can then query the in-application stream like a table (you can think of it as a constantly updating table). For the streaming source, you provide its Amazon Resource Name (ARN) and format of data on the stream (for example, JSON, CSV, etc.). You also must provide an IAM role that Amazon Kinesis Analytics can assume to read this stream on your behalf. To create the in-application stream, you need to specify a schema to transform your data into a schematized version used in SQL. In the schema, you provide the necessary mapping of the data elements in the streaming source to record columns in the in-app stream.", + "Tags": "A list of one or more tags to assign to the application. A tag is a key-value pair that identifies an application. Note that the maximum number of application tags includes system tags. The maximum number of user-defined application tags is 50. For more information, see Using Tagging.", + "ApplicationCode": "One or more SQL statements that read input data, transform it, and generate output. For example, you can write a SQL statement that reads data from one in-application stream, generates a running average of the number of advertisement clicks by vendor, and insert resulting rows in another in-application stream using pumps. For more information about the typical pattern, see Application Code. You can provide such series of SQL statements, where output of one statement can be used as the input for the next statement. You store intermediate results by creating in-application streams and pumps. Note that the application code must create the streams with names specified in the Outputs. For example, if your Outputs defines output streams named ExampleOutputStream1 and ExampleOutputStream2, then your application code must create these streams. ", + "ApplicationDescription": "Summary description of the application.", + "Outputs": "You can configure application output to write data from any of the in-application streams to up to three destinations. These destinations can be Amazon Kinesis streams, Amazon Kinesis Firehose delivery streams, AWS Lambda destinations, or any combination of the three. In the configuration, you specify the in-application stream name, the destination stream or Lambda function Amazon Resource Name (ARN), and the format to use when writing data. You must also provide an IAM role that Amazon Kinesis Analytics can assume to write to the destination stream or Lambda function on your behalf. In the output configuration, you also provide the output stream or Lambda function ARN. For stream destinations, you provide the format of data in the stream (for example, JSON, CSV). You also must provide an IAM role that Amazon Kinesis Analytics can assume to write to the stream or Lambda function on your behalf." +} +""" +CreateApplication(args) = kinesis_analytics("CreateApplication", args) + +""" + UpdateApplication() + + This documentation is for version 1 of the Amazon Kinesis Data Analytics API, which only supports SQL applications. Version 2 of the API supports SQL and Java applications. For more information about version 2, see Amazon Kinesis Data Analytics API V2 Documentation. Updates an existing Amazon Kinesis Analytics application. Using this API, you can update application code, input configuration, and output configuration. Note that Amazon Kinesis Analytics updates the CurrentApplicationVersionId each time you update your application. This operation requires permission for the kinesisanalytics:UpdateApplication action. + +Required Parameters +{ + "CurrentApplicationVersionId": "The current application version ID. You can use the DescribeApplication operation to get this value.", + "ApplicationName": "Name of the Amazon Kinesis Analytics application to update.", + "ApplicationUpdate": "Describes application updates." +} +""" +UpdateApplication(args) = kinesis_analytics("UpdateApplication", args) + +""" + DeleteApplicationReferenceDataSource() + + This documentation is for version 1 of the Amazon Kinesis Data Analytics API, which only supports SQL applications. Version 2 of the API supports SQL and Java applications. For more information about version 2, see Amazon Kinesis Data Analytics API V2 Documentation. Deletes a reference data source configuration from the specified application configuration. If the application is running, Amazon Kinesis Analytics immediately removes the in-application table that you created using the AddApplicationReferenceDataSource operation. This operation requires permissions to perform the kinesisanalytics.DeleteApplicationReferenceDataSource action. + +Required Parameters +{ + "CurrentApplicationVersionId": "Version of the application. You can use the DescribeApplication operation to get the current application version. If the version specified is not the current version, the ConcurrentModificationException is returned.", + "ReferenceId": "ID of the reference data source. When you add a reference data source to your application using the AddApplicationReferenceDataSource, Amazon Kinesis Analytics assigns an ID. You can use the DescribeApplication operation to get the reference ID. ", + "ApplicationName": "Name of an existing application." +} +""" +DeleteApplicationReferenceDataSource(args) = kinesis_analytics("DeleteApplicationReferenceDataSource", args) + +""" + TagResource() + +Adds one or more key-value tags to a Kinesis Analytics application. Note that the maximum number of application tags includes system tags. The maximum number of user-defined application tags is 50. For more information, see Using Tagging. + +Required Parameters +{ + "ResourceARN": "The ARN of the application to assign the tags.", + "Tags": "The key-value tags to assign to the application." +} +""" +TagResource(args) = kinesis_analytics("TagResource", args) + +""" + DeleteApplicationOutput() + + This documentation is for version 1 of the Amazon Kinesis Data Analytics API, which only supports SQL applications. Version 2 of the API supports SQL and Java applications. For more information about version 2, see Amazon Kinesis Data Analytics API V2 Documentation. Deletes output destination configuration from your application configuration. Amazon Kinesis Analytics will no longer write data from the corresponding in-application stream to the external output destination. This operation requires permissions to perform the kinesisanalytics:DeleteApplicationOutput action. + +Required Parameters +{ + "CurrentApplicationVersionId": "Amazon Kinesis Analytics application version. You can use the DescribeApplication operation to get the current application version. If the version specified is not the current version, the ConcurrentModificationException is returned. ", + "OutputId": "The ID of the configuration to delete. Each output configuration that is added to the application, either when the application is created or later using the AddApplicationOutput operation, has a unique ID. You need to provide the ID to uniquely identify the output configuration that you want to delete from the application configuration. You can use the DescribeApplication operation to get the specific OutputId. ", + "ApplicationName": "Amazon Kinesis Analytics application name." +} +""" +DeleteApplicationOutput(args) = kinesis_analytics("DeleteApplicationOutput", args) + +""" + UntagResource() + +Removes one or more tags from a Kinesis Analytics application. For more information, see Using Tagging. + +Required Parameters +{ + "ResourceARN": "The ARN of the Kinesis Analytics application from which to remove the tags.", + "TagKeys": "A list of keys of tags to remove from the specified application." +} +""" +UntagResource(args) = kinesis_analytics("UntagResource", args) + +""" + ListApplications() + + This documentation is for version 1 of the Amazon Kinesis Data Analytics API, which only supports SQL applications. Version 2 of the API supports SQL and Java applications. For more information about version 2, see Amazon Kinesis Data Analytics API V2 Documentation. Returns a list of Amazon Kinesis Analytics applications in your account. For each application, the response includes the application name, Amazon Resource Name (ARN), and status. If the response returns the HasMoreApplications value as true, you can send another request by adding the ExclusiveStartApplicationName in the request body, and set the value of this to the last application name from the previous response. If you want detailed information about a specific application, use DescribeApplication. This operation requires permissions to perform the kinesisanalytics:ListApplications action. + +Optional Parameters +{ + "Limit": "Maximum number of applications to list.", + "ExclusiveStartApplicationName": "Name of the application to start the list with. When using pagination to retrieve the list, you don't need to specify this parameter in the first request. However, in subsequent requests, you add the last application name from the previous response to get the next page of applications." +} +""" +ListApplications() = kinesis_analytics("ListApplications") +ListApplications(args) = kinesis_analytics("ListApplications", args) + +""" + AddApplicationInputProcessingConfiguration() + + This documentation is for version 1 of the Amazon Kinesis Data Analytics API, which only supports SQL applications. Version 2 of the API supports SQL and Java applications. For more information about version 2, see Amazon Kinesis Data Analytics API V2 Documentation. Adds an InputProcessingConfiguration to an application. An input processor preprocesses records on the input stream before the application's SQL code executes. Currently, the only input processor available is AWS Lambda. + +Required Parameters +{ + "CurrentApplicationVersionId": "Version of the application to which you want to add the input processing configuration. You can use the DescribeApplication operation to get the current application version. If the version specified is not the current version, the ConcurrentModificationException is returned.", + "ApplicationName": "Name of the application to which you want to add the input processing configuration.", + "InputId": "The ID of the input configuration to add the input processing configuration to. You can get a list of the input IDs for an application using the DescribeApplication operation.", + "InputProcessingConfiguration": "The InputProcessingConfiguration to add to the application." +} +""" +AddApplicationInputProcessingConfiguration(args) = kinesis_analytics("AddApplicationInputProcessingConfiguration", args) + +""" + AddApplicationReferenceDataSource() + + This documentation is for version 1 of the Amazon Kinesis Data Analytics API, which only supports SQL applications. Version 2 of the API supports SQL and Java applications. For more information about version 2, see Amazon Kinesis Data Analytics API V2 Documentation. Adds a reference data source to an existing application. Amazon Kinesis Analytics reads reference data (that is, an Amazon S3 object) and creates an in-application table within your application. In the request, you provide the source (S3 bucket name and object key name), name of the in-application table to create, and the necessary mapping information that describes how data in Amazon S3 object maps to columns in the resulting in-application table. For conceptual information, see Configuring Application Input. For the limits on data sources you can add to your application, see Limits. This operation requires permissions to perform the kinesisanalytics:AddApplicationOutput action. + +Required Parameters +{ + "CurrentApplicationVersionId": "Version of the application for which you are adding the reference data source. You can use the DescribeApplication operation to get the current application version. If the version specified is not the current version, the ConcurrentModificationException is returned.", + "ApplicationName": "Name of an existing application.", + "ReferenceDataSource": "The reference data source can be an object in your Amazon S3 bucket. Amazon Kinesis Analytics reads the object and copies the data into the in-application table that is created. You provide an S3 bucket, object key name, and the resulting in-application table that is created. You must also provide an IAM role with the necessary permissions that Amazon Kinesis Analytics can assume to read the object from your S3 bucket on your behalf." +} +""" +AddApplicationReferenceDataSource(args) = kinesis_analytics("AddApplicationReferenceDataSource", args) + +""" + DiscoverInputSchema() + + This documentation is for version 1 of the Amazon Kinesis Data Analytics API, which only supports SQL applications. Version 2 of the API supports SQL and Java applications. For more information about version 2, see Amazon Kinesis Data Analytics API V2 Documentation. Infers a schema by evaluating sample records on the specified streaming source (Amazon Kinesis stream or Amazon Kinesis Firehose delivery stream) or S3 object. In the response, the operation returns the inferred schema and also the sample records that the operation used to infer the schema. You can use the inferred schema when configuring a streaming source for your application. For conceptual information, see Configuring Application Input. Note that when you create an application using the Amazon Kinesis Analytics console, the console uses this operation to infer a schema and show it in the console user interface. This operation requires permissions to perform the kinesisanalytics:DiscoverInputSchema action. + +Optional Parameters +{ + "S3Configuration": "Specify this parameter to discover a schema from data in an Amazon S3 object.", + "ResourceARN": "Amazon Resource Name (ARN) of the streaming source.", + "InputStartingPositionConfiguration": "Point at which you want Amazon Kinesis Analytics to start reading records from the specified streaming source discovery purposes.", + "RoleARN": "ARN of the IAM role that Amazon Kinesis Analytics can assume to access the stream on your behalf.", + "InputProcessingConfiguration": "The InputProcessingConfiguration to use to preprocess the records before discovering the schema of the records." +} +""" +DiscoverInputSchema() = kinesis_analytics("DiscoverInputSchema") +DiscoverInputSchema(args) = kinesis_analytics("DiscoverInputSchema", args) + +""" + AddApplicationInput() + + This documentation is for version 1 of the Amazon Kinesis Data Analytics API, which only supports SQL applications. Version 2 of the API supports SQL and Java applications. For more information about version 2, see Amazon Kinesis Data Analytics API V2 Documentation. Adds a streaming source to your Amazon Kinesis application. For conceptual information, see Configuring Application Input. You can add a streaming source either when you create an application or you can use this operation to add a streaming source after you create an application. For more information, see CreateApplication. Any configuration update, including adding a streaming source using this operation, results in a new version of the application. You can use the DescribeApplication operation to find the current application version. This operation requires permissions to perform the kinesisanalytics:AddApplicationInput action. + +Required Parameters +{ + "CurrentApplicationVersionId": "Current version of your Amazon Kinesis Analytics application. You can use the DescribeApplication operation to find the current application version.", + "ApplicationName": "Name of your existing Amazon Kinesis Analytics application to which you want to add the streaming source.", + "Input": "The Input to add." +} +""" +AddApplicationInput(args) = kinesis_analytics("AddApplicationInput", args) + +""" + DescribeApplication() + + This documentation is for version 1 of the Amazon Kinesis Data Analytics API, which only supports SQL applications. Version 2 of the API supports SQL and Java applications. For more information about version 2, see Amazon Kinesis Data Analytics API V2 Documentation. Returns information about a specific Amazon Kinesis Analytics application. If you want to retrieve a list of all applications in your account, use the ListApplications operation. This operation requires permissions to perform the kinesisanalytics:DescribeApplication action. You can use DescribeApplication to get the current application versionId, which you need to call other operations such as Update. + +Required Parameters +{ + "ApplicationName": "Name of the application." +} +""" +DescribeApplication(args) = kinesis_analytics("DescribeApplication", args) + +""" + DeleteApplicationCloudWatchLoggingOption() + + This documentation is for version 1 of the Amazon Kinesis Data Analytics API, which only supports SQL applications. Version 2 of the API supports SQL and Java applications. For more information about version 2, see Amazon Kinesis Data Analytics API V2 Documentation. Deletes a CloudWatch log stream from an application. For more information about using CloudWatch log streams with Amazon Kinesis Analytics applications, see Working with Amazon CloudWatch Logs. + +Required Parameters +{ + "CurrentApplicationVersionId": "The version ID of the Kinesis Analytics application.", + "ApplicationName": "The Kinesis Analytics application name.", + "CloudWatchLoggingOptionId": "The CloudWatchLoggingOptionId of the CloudWatch logging option to delete. You can get the CloudWatchLoggingOptionId by using the DescribeApplication operation. " +} +""" +DeleteApplicationCloudWatchLoggingOption(args) = kinesis_analytics("DeleteApplicationCloudWatchLoggingOption", args) diff --git a/src/services/kinesis_analytics_v2.jl b/src/services/kinesis_analytics_v2.jl new file mode 100644 index 0000000000..1304cfdd9a --- /dev/null +++ b/src/services/kinesis_analytics_v2.jl @@ -0,0 +1,385 @@ +include("../AWSServices.jl") +using .AWSServices: kinesis_analytics_v2 + +""" + ListTagsForResource() + +Retrieves the list of key-value tags assigned to the application. For more information, see Using Tagging. + +Required Parameters +{ + "ResourceARN": "The ARN of the application for which to retrieve tags." +} +""" +ListTagsForResource(args) = kinesis_analytics_v2("ListTagsForResource", args) + +""" + DeleteApplicationSnapshot() + +Deletes a snapshot of application state. + +Required Parameters +{ + "SnapshotName": "The identifier for the snapshot delete.", + "ApplicationName": "The name of an existing application.", + "SnapshotCreationTimestamp": "The creation timestamp of the application snapshot to delete. You can retrieve this value using or ." +} +""" +DeleteApplicationSnapshot(args) = kinesis_analytics_v2("DeleteApplicationSnapshot", args) + +""" + AddApplicationCloudWatchLoggingOption() + +Adds an Amazon CloudWatch log stream to monitor application configuration errors. + +Required Parameters +{ + "CurrentApplicationVersionId": "The version ID of the Kinesis Data Analytics application. You can retrieve the application version ID using DescribeApplication.", + "ApplicationName": "The Kinesis Data Analytics application name.", + "CloudWatchLoggingOption": "Provides the Amazon CloudWatch log stream Amazon Resource Name (ARN). " +} +""" +AddApplicationCloudWatchLoggingOption(args) = kinesis_analytics_v2("AddApplicationCloudWatchLoggingOption", args) + +""" + StopApplication() + +Stops the application from processing data. You can stop an application only if it is in the running state. You can use the DescribeApplication operation to find the application state. + +Required Parameters +{ + "ApplicationName": "The name of the running application to stop." +} +""" +StopApplication(args) = kinesis_analytics_v2("StopApplication", args) + +""" + DeleteApplication() + +Deletes the specified application. Kinesis Data Analytics halts application execution and deletes the application. + +Required Parameters +{ + "CreateTimestamp": "Use the DescribeApplication operation to get this value.", + "ApplicationName": "The name of the application to delete." +} +""" +DeleteApplication(args) = kinesis_analytics_v2("DeleteApplication", args) + +""" + AddApplicationOutput() + +Adds an external destination to your SQL-based Amazon Kinesis Data Analytics application. If you want Kinesis Data Analytics to deliver data from an in-application stream within your application to an external destination (such as an Kinesis data stream, a Kinesis Data Firehose delivery stream, or an AWS Lambda function), you add the relevant configuration to your application using this operation. You can configure one or more outputs for your application. Each output configuration maps an in-application stream and an external destination. You can use one of the output configurations to deliver data from your in-application error stream to an external destination so that you can analyze the errors. Any configuration update, including adding a streaming source using this operation, results in a new version of the application. You can use the DescribeApplication operation to find the current application version. + +Required Parameters +{ + "CurrentApplicationVersionId": "The version of the application to which you want to add the output configuration. You can use the DescribeApplication operation to get the current application version. If the version specified is not the current version, the ConcurrentModificationException is returned. ", + "Output": "An array of objects, each describing one output configuration. In the output configuration, you specify the name of an in-application stream, a destination (that is, a Kinesis data stream, a Kinesis Data Firehose delivery stream, or an AWS Lambda function), and record the formation to use when writing to the destination.", + "ApplicationName": "The name of the application to which you want to add the output configuration." +} +""" +AddApplicationOutput(args) = kinesis_analytics_v2("AddApplicationOutput", args) + +""" + DeleteApplicationInputProcessingConfiguration() + +Deletes an InputProcessingConfiguration from an input. + +Required Parameters +{ + "CurrentApplicationVersionId": "The application version. You can use the DescribeApplication operation to get the current application version. If the version specified is not the current version, the ConcurrentModificationException is returned. ", + "ApplicationName": "The name of the application.", + "InputId": "The ID of the input configuration from which to delete the input processing configuration. You can get a list of the input IDs for an application by using the DescribeApplication operation." +} +""" +DeleteApplicationInputProcessingConfiguration(args) = kinesis_analytics_v2("DeleteApplicationInputProcessingConfiguration", args) + +""" + ListApplicationSnapshots() + +Lists information about the current application snapshots. + +Required Parameters +{ + "ApplicationName": "The name of an existing application." +} + +Optional Parameters +{ + "NextToken": "Use this parameter if you receive a NextToken response in a previous request that indicates that there is more output available. Set it to the value of the previous call's NextToken response to indicate where the output should continue from. ", + "Limit": "The maximum number of application snapshots to list." +} +""" +ListApplicationSnapshots(args) = kinesis_analytics_v2("ListApplicationSnapshots", args) + +""" + StartApplication() + +Starts the specified Amazon Kinesis Data Analytics application. After creating an application, you must exclusively call this operation to start your application. + +Required Parameters +{ + "ApplicationName": "The name of the application.", + "RunConfiguration": "Identifies the run configuration (start parameters) of a Kinesis Data Analytics application." +} +""" +StartApplication(args) = kinesis_analytics_v2("StartApplication", args) + +""" + CreateApplication() + +Creates an Amazon Kinesis Data Analytics application. For information about creating a Kinesis Data Analytics application, see Creating an Application. + +Required Parameters +{ + "RuntimeEnvironment": "The runtime environment for the application (SQL-1.0 or FLINK-1_6).", + "ApplicationName": "The name of your application (for example, sample-app).", + "ServiceExecutionRole": "The IAM role used by the application to access Kinesis data streams, Kinesis Data Firehose delivery streams, Amazon S3 objects, and other external resources." +} + +Optional Parameters +{ + "CloudWatchLoggingOptions": "Use this parameter to configure an Amazon CloudWatch log stream to monitor application configuration errors. ", + "ApplicationConfiguration": "Use this parameter to configure the application.", + "Tags": "A list of one or more tags to assign to the application. A tag is a key-value pair that identifies an application. Note that the maximum number of application tags includes system tags. The maximum number of user-defined application tags is 50. For more information, see Using Tagging.", + "ApplicationDescription": "A summary description of the application." +} +""" +CreateApplication(args) = kinesis_analytics_v2("CreateApplication", args) + +""" + UpdateApplication() + +Updates an existing Amazon Kinesis Data Analytics application. Using this operation, you can update application code, input configuration, and output configuration. Kinesis Data Analytics updates the ApplicationVersionId each time you update your application. + +Required Parameters +{ + "CurrentApplicationVersionId": "The current application version ID. You can retrieve the application version ID using DescribeApplication.", + "ApplicationName": "The name of the application to update." +} + +Optional Parameters +{ + "ApplicationConfigurationUpdate": "Describes application configuration updates.", + "CloudWatchLoggingOptionUpdates": "Describes application Amazon CloudWatch logging option updates. You can only update existing CloudWatch logging options with this action. To add a new CloudWatch logging option, use AddApplicationCloudWatchLoggingOption.", + "ServiceExecutionRoleUpdate": "Describes updates to the service execution role.", + "RunConfigurationUpdate": "Describes updates to the application's starting parameters." +} +""" +UpdateApplication(args) = kinesis_analytics_v2("UpdateApplication", args) + +""" + DeleteApplicationReferenceDataSource() + +Deletes a reference data source configuration from the specified SQL-based Amazon Kinesis Data Analytics application's configuration. If the application is running, Kinesis Data Analytics immediately removes the in-application table that you created using the AddApplicationReferenceDataSource operation. + +Required Parameters +{ + "CurrentApplicationVersionId": "The current application version. You can use the DescribeApplication operation to get the current application version. If the version specified is not the current version, the ConcurrentModificationException is returned.", + "ReferenceId": "The ID of the reference data source. When you add a reference data source to your application using the AddApplicationReferenceDataSource, Kinesis Data Analytics assigns an ID. You can use the DescribeApplication operation to get the reference ID. ", + "ApplicationName": "The name of an existing application." +} +""" +DeleteApplicationReferenceDataSource(args) = kinesis_analytics_v2("DeleteApplicationReferenceDataSource", args) + +""" + TagResource() + +Adds one or more key-value tags to a Kinesis Analytics application. Note that the maximum number of application tags includes system tags. The maximum number of user-defined application tags is 50. For more information, see Using Tagging. + +Required Parameters +{ + "ResourceARN": "The ARN of the application to assign the tags.", + "Tags": "The key-value tags to assign to the application." +} +""" +TagResource(args) = kinesis_analytics_v2("TagResource", args) + +""" + DeleteApplicationOutput() + +Deletes the output destination configuration from your SQL-based Amazon Kinesis Data Analytics application's configuration. Kinesis Data Analytics will no longer write data from the corresponding in-application stream to the external output destination. + +Required Parameters +{ + "CurrentApplicationVersionId": "The application version. You can use the DescribeApplication operation to get the current application version. If the version specified is not the current version, the ConcurrentModificationException is returned. ", + "OutputId": "The ID of the configuration to delete. Each output configuration that is added to the application (either when the application is created or later) using the AddApplicationOutput operation has a unique ID. You need to provide the ID to uniquely identify the output configuration that you want to delete from the application configuration. You can use the DescribeApplication operation to get the specific OutputId. ", + "ApplicationName": "The application name." +} +""" +DeleteApplicationOutput(args) = kinesis_analytics_v2("DeleteApplicationOutput", args) + +""" + UntagResource() + +Removes one or more tags from a Kinesis Analytics application. For more information, see Using Tagging. + +Required Parameters +{ + "ResourceARN": "The ARN of the Kinesis Analytics application from which to remove the tags.", + "TagKeys": "A list of keys of tags to remove from the specified application." +} +""" +UntagResource(args) = kinesis_analytics_v2("UntagResource", args) + +""" + ListApplications() + +Returns a list of Amazon Kinesis Data Analytics applications in your account. For each application, the response includes the application name, Amazon Resource Name (ARN), and status. If you want detailed information about a specific application, use DescribeApplication. + +Optional Parameters +{ + "NextToken": "If a previous command returned a pagination token, pass it into this value to retrieve the next set of results. For more information about pagination, see Using the AWS Command Line Interface's Pagination Options.", + "Limit": "The maximum number of applications to list." +} +""" +ListApplications() = kinesis_analytics_v2("ListApplications") +ListApplications(args) = kinesis_analytics_v2("ListApplications", args) + +""" + DescribeApplicationSnapshot() + +Returns information about a snapshot of application state data. + +Required Parameters +{ + "SnapshotName": "The identifier of an application snapshot. You can retrieve this value using .", + "ApplicationName": "The name of an existing application." +} +""" +DescribeApplicationSnapshot(args) = kinesis_analytics_v2("DescribeApplicationSnapshot", args) + +""" + AddApplicationVpcConfiguration() + +Adds a Virtual Private Cloud (VPC) configuration to the application. Applications can use VPCs to store and access resources securely. Note the following about VPC configurations for Kinesis Data Analytics applications: VPC configurations are not supported for SQL applications. When a VPC is added to a Kinesis Data Analytics application, the application can no longer be accessed from the Internet directly. To enable Internet access to the application, add an Internet gateway to your VPC. + +Required Parameters +{ + "CurrentApplicationVersionId": "The version of the application to which you want to add the input processing configuration. You can use the DescribeApplication operation to get the current application version. If the version specified is not the current version, the ConcurrentModificationException is returned.", + "ApplicationName": "The name of an existing application.", + "VpcConfiguration": "Description of the VPC to add to the application." +} +""" +AddApplicationVpcConfiguration(args) = kinesis_analytics_v2("AddApplicationVpcConfiguration", args) + +""" + AddApplicationInputProcessingConfiguration() + +Adds an InputProcessingConfiguration to an SQL-based Kinesis Data Analytics application. An input processor pre-processes records on the input stream before the application's SQL code executes. Currently, the only input processor available is AWS Lambda. + +Required Parameters +{ + "CurrentApplicationVersionId": "The version of the application to which you want to add the input processing configuration. You can use the DescribeApplication operation to get the current application version. If the version specified is not the current version, the ConcurrentModificationException is returned.", + "ApplicationName": "The name of the application to which you want to add the input processing configuration.", + "InputId": "The ID of the input configuration to add the input processing configuration to. You can get a list of the input IDs for an application using the DescribeApplication operation.", + "InputProcessingConfiguration": "The InputProcessingConfiguration to add to the application." +} +""" +AddApplicationInputProcessingConfiguration(args) = kinesis_analytics_v2("AddApplicationInputProcessingConfiguration", args) + +""" + AddApplicationReferenceDataSource() + +Adds a reference data source to an existing SQL-based Amazon Kinesis Data Analytics application. Kinesis Data Analytics reads reference data (that is, an Amazon S3 object) and creates an in-application table within your application. In the request, you provide the source (S3 bucket name and object key name), name of the in-application table to create, and the necessary mapping information that describes how data in an Amazon S3 object maps to columns in the resulting in-application table. + +Required Parameters +{ + "CurrentApplicationVersionId": "The version of the application for which you are adding the reference data source. You can use the DescribeApplication operation to get the current application version. If the version specified is not the current version, the ConcurrentModificationException is returned.", + "ApplicationName": "The name of an existing application.", + "ReferenceDataSource": "The reference data source can be an object in your Amazon S3 bucket. Kinesis Data Analytics reads the object and copies the data into the in-application table that is created. You provide an S3 bucket, object key name, and the resulting in-application table that is created. " +} +""" +AddApplicationReferenceDataSource(args) = kinesis_analytics_v2("AddApplicationReferenceDataSource", args) + +""" + DeleteApplicationVpcConfiguration() + +Removes a VPC configuration from a Kinesis Data Analytics application. + +Required Parameters +{ + "CurrentApplicationVersionId": "The current application version ID. You can retrieve the application version ID using DescribeApplication.", + "ApplicationName": "The name of an existing application.", + "VpcConfigurationId": "The ID of the VPC configuration to delete." +} +""" +DeleteApplicationVpcConfiguration(args) = kinesis_analytics_v2("DeleteApplicationVpcConfiguration", args) + +""" + DiscoverInputSchema() + +Infers a schema for an SQL-based Amazon Kinesis Data Analytics application by evaluating sample records on the specified streaming source (Kinesis data stream or Kinesis Data Firehose delivery stream) or Amazon S3 object. In the response, the operation returns the inferred schema and also the sample records that the operation used to infer the schema. You can use the inferred schema when configuring a streaming source for your application. When you create an application using the Kinesis Data Analytics console, the console uses this operation to infer a schema and show it in the console user interface. + +Required Parameters +{ + "ServiceExecutionRole": "The ARN of the role that is used to access the streaming source." +} + +Optional Parameters +{ + "S3Configuration": "Specify this parameter to discover a schema from data in an Amazon S3 object.", + "ResourceARN": "The Amazon Resource Name (ARN) of the streaming source.", + "InputStartingPositionConfiguration": "The point at which you want Kinesis Data Analytics to start reading records from the specified streaming source discovery purposes.", + "InputProcessingConfiguration": "The InputProcessingConfiguration to use to preprocess the records before discovering the schema of the records." +} +""" +DiscoverInputSchema(args) = kinesis_analytics_v2("DiscoverInputSchema", args) + +""" + AddApplicationInput() + + Adds a streaming source to your SQL-based Amazon Kinesis Data Analytics application. You can add a streaming source when you create an application, or you can use this operation to add a streaming source after you create an application. For more information, see CreateApplication. Any configuration update, including adding a streaming source using this operation, results in a new version of the application. You can use the DescribeApplication operation to find the current application version. + +Required Parameters +{ + "CurrentApplicationVersionId": "The current version of your application. You can use the DescribeApplication operation to find the current application version.", + "ApplicationName": "The name of your existing application to which you want to add the streaming source.", + "Input": "The Input to add." +} +""" +AddApplicationInput(args) = kinesis_analytics_v2("AddApplicationInput", args) + +""" + DescribeApplication() + +Returns information about a specific Amazon Kinesis Data Analytics application. If you want to retrieve a list of all applications in your account, use the ListApplications operation. + +Required Parameters +{ + "ApplicationName": "The name of the application." +} + +Optional Parameters +{ + "IncludeAdditionalDetails": "Displays verbose information about a Kinesis Data Analytics application, including the application's job plan." +} +""" +DescribeApplication(args) = kinesis_analytics_v2("DescribeApplication", args) + +""" + CreateApplicationSnapshot() + +Creates a snapshot of the application's state data. + +Required Parameters +{ + "SnapshotName": "An identifier for the application snapshot.", + "ApplicationName": "The name of an existing application" +} +""" +CreateApplicationSnapshot(args) = kinesis_analytics_v2("CreateApplicationSnapshot", args) + +""" + DeleteApplicationCloudWatchLoggingOption() + +Deletes an Amazon CloudWatch log stream from an Amazon Kinesis Data Analytics application. + +Required Parameters +{ + "CurrentApplicationVersionId": "The version ID of the application. You can retrieve the application version ID using DescribeApplication.", + "ApplicationName": "The application name.", + "CloudWatchLoggingOptionId": "The CloudWatchLoggingOptionId of the Amazon CloudWatch logging option to delete. You can get the CloudWatchLoggingOptionId by using the DescribeApplication operation. " +} +""" +DeleteApplicationCloudWatchLoggingOption(args) = kinesis_analytics_v2("DeleteApplicationCloudWatchLoggingOption", args) diff --git a/src/services/kinesis_video.jl b/src/services/kinesis_video.jl new file mode 100644 index 0000000000..cc715687ad --- /dev/null +++ b/src/services/kinesis_video.jl @@ -0,0 +1,321 @@ +include("../AWSServices.jl") +using .AWSServices: kinesis_video + +""" + ListTagsForResource() + +Returns a list of tags associated with the specified signaling channel. + +Required Parameters +{ + "ResourceARN": "The ARN of the signaling channel for which you want to list tags." +} + +Optional Parameters +{ + "NextToken": "If you specify this parameter and the result of a ListTagsForResource call is truncated, the response includes a token that you can use in the next request to fetch the next batch of tags. " +} +""" +ListTagsForResource(args) = kinesis_video("POST", "/ListTagsForResource", args) + +""" + ListTagsForStream() + +Returns a list of tags associated with the specified stream. In the request, you must specify either the StreamName or the StreamARN. + +Optional Parameters +{ + "StreamARN": "The Amazon Resource Name (ARN) of the stream that you want to list tags for.", + "NextToken": "If you specify this parameter and the result of a ListTagsForStream call is truncated, the response includes a token that you can use in the next request to fetch the next batch of tags.", + "StreamName": "The name of the stream that you want to list tags for." +} +""" +ListTagsForStream() = kinesis_video("POST", "/listTagsForStream") +ListTagsForStream(args) = kinesis_video("POST", "/listTagsForStream", args) + +""" + DescribeSignalingChannel() + +Returns the most current information about the signaling channel. You must specify either the name or the ARN of the channel that you want to describe. + +Optional Parameters +{ + "ChannelName": "The name of the signaling channel that you want to describe.", + "ChannelARN": "The ARN of the signaling channel that you want to describe." +} +""" +DescribeSignalingChannel() = kinesis_video("POST", "/describeSignalingChannel") +DescribeSignalingChannel(args) = kinesis_video("POST", "/describeSignalingChannel", args) + +""" + TagStream() + +Adds one or more tags to a stream. A tag is a key-value pair (the value is optional) that you can define and assign to AWS resources. If you specify a tag that already exists, the tag value is replaced with the value that you specify in the request. For more information, see Using Cost Allocation Tags in the AWS Billing and Cost Management User Guide. You must provide either the StreamName or the StreamARN. This operation requires permission for the KinesisVideo:TagStream action. Kinesis video streams support up to 50 tags. + +Required Parameters +{ + "Tags": "A list of tags to associate with the specified stream. Each tag is a key-value pair (the value is optional)." +} + +Optional Parameters +{ + "StreamARN": "The Amazon Resource Name (ARN) of the resource that you want to add the tag or tags to.", + "StreamName": "The name of the stream that you want to add the tag or tags to." +} +""" +TagStream(args) = kinesis_video("POST", "/tagStream", args) + +""" + CreateStream() + +Creates a new Kinesis video stream. When you create a new stream, Kinesis Video Streams assigns it a version number. When you change the stream's metadata, Kinesis Video Streams updates the version. CreateStream is an asynchronous operation. For information about how the service works, see How it Works. You must have permissions for the KinesisVideo:CreateStream action. + +Required Parameters +{ + "StreamName": "A name for the stream that you are creating. The stream name is an identifier for the stream, and must be unique for each account and region." +} + +Optional Parameters +{ + "Tags": "A list of tags to associate with the specified stream. Each tag is a key-value pair (the value is optional).", + "DeviceName": "The name of the device that is writing to the stream. In the current implementation, Kinesis Video Streams does not use this name. ", + "MediaType": "The media type of the stream. Consumers of the stream can use this information when processing the stream. For more information about media types, see Media Types. If you choose to specify the MediaType, see Naming Requirements for guidelines. Example valid values include \"video/h264\" and \"video/h264,audio/aac\". This parameter is optional; the default value is null (or empty in JSON).", + "KmsKeyId": "The ID of the AWS Key Management Service (AWS KMS) key that you want Kinesis Video Streams to use to encrypt stream data. If no key ID is specified, the default, Kinesis Video-managed key (aws/kinesisvideo) is used. For more information, see DescribeKey. ", + "DataRetentionInHours": "The number of hours that you want to retain the data in the stream. Kinesis Video Streams retains the data in a data store that is associated with the stream. The default value is 0, indicating that the stream does not persist data. When the DataRetentionInHours value is 0, consumers can still consume the fragments that remain in the service host buffer, which has a retention time limit of 5 minutes and a retention memory limit of 200 MB. Fragments are removed from the buffer when either limit is reached." +} +""" +CreateStream(args) = kinesis_video("POST", "/createStream", args) + +""" + DeleteSignalingChannel() + +Deletes a specified signaling channel. DeleteSignalingChannel is an asynchronous operation. If you don't specify the channel's current version, the most recent version is deleted. + +Required Parameters +{ + "ChannelARN": "The ARN of the signaling channel that you want to delete." +} + +Optional Parameters +{ + "CurrentVersion": "The current version of the signaling channel that you want to delete. You can obtain the current version by invoking the DescribeSignalingChannel or ListSignalingChannels APIs." +} +""" +DeleteSignalingChannel(args) = kinesis_video("POST", "/deleteSignalingChannel", args) + +""" + DeleteStream() + +Deletes a Kinesis video stream and the data contained in the stream. This method marks the stream for deletion, and makes the data in the stream inaccessible immediately. To ensure that you have the latest version of the stream before deleting it, you can specify the stream version. Kinesis Video Streams assigns a version to each stream. When you update a stream, Kinesis Video Streams assigns a new version number. To get the latest stream version, use the DescribeStream API. This operation requires permission for the KinesisVideo:DeleteStream action. + +Required Parameters +{ + "StreamARN": "The Amazon Resource Name (ARN) of the stream that you want to delete. " +} + +Optional Parameters +{ + "CurrentVersion": "Optional: The version of the stream that you want to delete. Specify the version as a safeguard to ensure that your are deleting the correct stream. To get the stream version, use the DescribeStream API. If not specified, only the CreationTime is checked before deleting the stream." +} +""" +DeleteStream(args) = kinesis_video("POST", "/deleteStream", args) + +""" + UpdateDataRetention() + + Increases or decreases the stream's data retention period by the value that you specify. To indicate whether you want to increase or decrease the data retention period, specify the Operation parameter in the request body. In the request, you must specify either the StreamName or the StreamARN. The retention period that you specify replaces the current value. This operation requires permission for the KinesisVideo:UpdateDataRetention action. Changing the data retention period affects the data in the stream as follows: If the data retention period is increased, existing data is retained for the new retention period. For example, if the data retention period is increased from one hour to seven hours, all existing data is retained for seven hours. If the data retention period is decreased, existing data is retained for the new retention period. For example, if the data retention period is decreased from seven hours to one hour, all existing data is retained for one hour, and any data older than one hour is deleted immediately. + +Required Parameters +{ + "Operation": "Indicates whether you want to increase or decrease the retention period.", + "DataRetentionChangeInHours": "The retention period, in hours. The value you specify replaces the current value. The maximum value for this parameter is 87600 (ten years).", + "CurrentVersion": "The version of the stream whose retention period you want to change. To get the version, call either the DescribeStream or the ListStreams API." +} + +Optional Parameters +{ + "StreamARN": "The Amazon Resource Name (ARN) of the stream whose retention period you want to change.", + "StreamName": "The name of the stream whose retention period you want to change." +} +""" +UpdateDataRetention(args) = kinesis_video("POST", "/updateDataRetention", args) + +""" + UntagStream() + +Removes one or more tags from a stream. In the request, specify only a tag key or keys; don't specify the value. If you specify a tag key that does not exist, it's ignored. In the request, you must provide the StreamName or StreamARN. + +Required Parameters +{ + "TagKeyList": "A list of the keys of the tags that you want to remove." +} + +Optional Parameters +{ + "StreamARN": "The Amazon Resource Name (ARN) of the stream that you want to remove tags from.", + "StreamName": "The name of the stream that you want to remove tags from." +} +""" +UntagStream(args) = kinesis_video("POST", "/untagStream", args) + +""" + UpdateStream() + +Updates stream metadata, such as the device name and media type. You must provide the stream name or the Amazon Resource Name (ARN) of the stream. To make sure that you have the latest version of the stream before updating it, you can specify the stream version. Kinesis Video Streams assigns a version to each stream. When you update a stream, Kinesis Video Streams assigns a new version number. To get the latest stream version, use the DescribeStream API. UpdateStream is an asynchronous operation, and takes time to complete. + +Required Parameters +{ + "CurrentVersion": "The version of the stream whose metadata you want to update." +} + +Optional Parameters +{ + "StreamARN": "The ARN of the stream whose metadata you want to update.", + "DeviceName": "The name of the device that is writing to the stream. In the current implementation, Kinesis Video Streams does not use this name. ", + "StreamName": "The name of the stream whose metadata you want to update. The stream name is an identifier for the stream, and must be unique for each account and region.", + "MediaType": "The stream's media type. Use MediaType to specify the type of content that the stream contains to the consumers of the stream. For more information about media types, see Media Types. If you choose to specify the MediaType, see Naming Requirements. To play video on the console, you must specify the correct video type. For example, if the video in the stream is H.264, specify video/h264 as the MediaType." +} +""" +UpdateStream(args) = kinesis_video("POST", "/updateStream", args) + +""" + ListSignalingChannels() + +Returns an array of ChannelInfo objects. Each object describes a signaling channel. To retrieve only those channels that satisfy a specific condition, you can specify a ChannelNameCondition. + +Optional Parameters +{ + "MaxResults": "The maximum number of channels to return in the response. The default is 500.", + "NextToken": "If you specify this parameter, when the result of a ListSignalingChannels operation is truncated, the call returns the NextToken in the response. To get another batch of channels, provide this token in your next request.", + "ChannelNameCondition": "Optional: Returns only the channels that satisfy a specific condition." +} +""" +ListSignalingChannels() = kinesis_video("POST", "/listSignalingChannels") +ListSignalingChannels(args) = kinesis_video("POST", "/listSignalingChannels", args) + +""" + TagResource() + +Adds one or more tags to a signaling channel. A tag is a key-value pair (the value is optional) that you can define and assign to AWS resources. If you specify a tag that already exists, the tag value is replaced with the value that you specify in the request. For more information, see Using Cost Allocation Tags in the AWS Billing and Cost Management User Guide. + +Required Parameters +{ + "ResourceARN": "The ARN of the signaling channel to which you want to add tags.", + "Tags": "A list of tags to associate with the specified signaling channel. Each tag is a key-value pair." +} +""" +TagResource(args) = kinesis_video("POST", "/TagResource", args) + +""" + UntagResource() + +Removes one or more tags from a signaling channel. In the request, specify only a tag key or keys; don't specify the value. If you specify a tag key that does not exist, it's ignored. + +Required Parameters +{ + "ResourceARN": "The ARN of the signaling channel from which you want to remove tags.", + "TagKeyList": "A list of the keys of the tags that you want to remove." +} +""" +UntagResource(args) = kinesis_video("POST", "/UntagResource", args) + +""" + GetDataEndpoint() + +Gets an endpoint for a specified stream for either reading or writing. Use this endpoint in your application to read from the specified stream (using the GetMedia or GetMediaForFragmentList operations) or write to it (using the PutMedia operation). The returned endpoint does not have the API name appended. The client needs to add the API name to the returned endpoint. In the request, specify the stream either by StreamName or StreamARN. + +Required Parameters +{ + "APIName": "The name of the API action for which to get an endpoint." +} + +Optional Parameters +{ + "StreamARN": "The Amazon Resource Name (ARN) of the stream that you want to get the endpoint for. You must specify either this parameter or a StreamName in the request. ", + "StreamName": "The name of the stream that you want to get the endpoint for. You must specify either this parameter or a StreamARN in the request." +} +""" +GetDataEndpoint(args) = kinesis_video("POST", "/getDataEndpoint", args) + +""" + UpdateSignalingChannel() + +Updates the existing signaling channel. This is an asynchronous operation and takes time to complete. If the MessageTtlSeconds value is updated (either increased or reduced), then it only applies to new messages sent via this channel after it's been updated. Existing messages are still expire as per the previous MessageTtlSeconds value. + +Required Parameters +{ + "CurrentVersion": "The current version of the signaling channel that you want to update.", + "ChannelARN": "The ARN of the signaling channel that you want to update." +} + +Optional Parameters +{ + "SingleMasterConfiguration": "The structure containing the configuration for the SINGLE_MASTER type of the signaling channel that you want to update. " +} +""" +UpdateSignalingChannel(args) = kinesis_video("POST", "/updateSignalingChannel", args) + +""" + CreateSignalingChannel() + +Creates a signaling channel. CreateSignalingChannel is an asynchronous operation. + +Required Parameters +{ + "ChannelName": "A name for the signaling channel that you are creating. It must be unique for each account and region." +} + +Optional Parameters +{ + "ChannelType": "A type of the signaling channel that you are creating. Currently, SINGLE_MASTER is the only supported channel type. ", + "SingleMasterConfiguration": "A structure containing the configuration for the SINGLE_MASTER channel type. ", + "Tags": "A set of tags (key/value pairs) that you want to associate with this channel." +} +""" +CreateSignalingChannel(args) = kinesis_video("POST", "/createSignalingChannel", args) + +""" + GetSignalingChannelEndpoint() + +Provides an endpoint for the specified signaling channel to send and receive messages. This API uses the SingleMasterChannelEndpointConfiguration input parameter, which consists of the Protocols and Role properties. Protocols is used to determine the communication mechanism. For example, specifying WSS as the protocol, results in this API producing a secure websocket endpoint, and specifying HTTPS as the protocol, results in this API generating an HTTPS endpoint. Role determines the messaging permissions. A MASTER role results in this API generating an endpoint that a client can use to communicate with any of the viewers on the channel. A VIEWER role results in this API generating an endpoint that a client can use to communicate only with a MASTER. + +Required Parameters +{ + "ChannelARN": "The ARN of the signalling channel for which you want to get an endpoint." +} + +Optional Parameters +{ + "SingleMasterChannelEndpointConfiguration": "A structure containing the endpoint configuration for the SINGLE_MASTER channel type." +} +""" +GetSignalingChannelEndpoint(args) = kinesis_video("POST", "/getSignalingChannelEndpoint", args) + +""" + ListStreams() + +Returns an array of StreamInfo objects. Each object describes a stream. To retrieve only streams that satisfy a specific condition, you can specify a StreamNameCondition. + +Optional Parameters +{ + "MaxResults": "The maximum number of streams to return in the response. The default is 10,000.", + "NextToken": "If you specify this parameter, when the result of a ListStreams operation is truncated, the call returns the NextToken in the response. To get another batch of streams, provide this token in your next request.", + "StreamNameCondition": "Optional: Returns only streams that satisfy a specific condition. Currently, you can specify only the prefix of a stream name as a condition. " +} +""" +ListStreams() = kinesis_video("POST", "/listStreams") +ListStreams(args) = kinesis_video("POST", "/listStreams", args) + +""" + DescribeStream() + +Returns the most current information about the specified stream. You must specify either the StreamName or the StreamARN. + +Optional Parameters +{ + "StreamARN": "The Amazon Resource Name (ARN) of the stream.", + "StreamName": "The name of the stream." +} +""" +DescribeStream() = kinesis_video("POST", "/describeStream") +DescribeStream(args) = kinesis_video("POST", "/describeStream", args) diff --git a/src/services/kinesis_video_archived_media.jl b/src/services/kinesis_video_archived_media.jl new file mode 100644 index 0000000000..9ffba6e867 --- /dev/null +++ b/src/services/kinesis_video_archived_media.jl @@ -0,0 +1,75 @@ +include("../AWSServices.jl") +using .AWSServices: kinesis_video_archived_media + +""" + GetMediaForFragmentList() + +Gets media for a list of fragments (specified by fragment number) from the archived data in an Amazon Kinesis video stream. You must first call the GetDataEndpoint API to get an endpoint. Then send the GetMediaForFragmentList requests to this endpoint using the --endpoint-url parameter. The following limits apply when using the GetMediaForFragmentList API: A client can call GetMediaForFragmentList up to five times per second per stream. Kinesis Video Streams sends media data at a rate of up to 25 megabytes per second (or 200 megabits per second) during a GetMediaForFragmentList session. If an error is thrown after invoking a Kinesis Video Streams archived media API, in addition to the HTTP status code and the response body, it includes the following pieces of information: x-amz-ErrorType HTTP header – contains a more specific error type in addition to what the HTTP status code provides. x-amz-RequestId HTTP header – if you want to report an issue to AWS, the support team can better diagnose the problem if given the Request Id. Both the HTTP status code and the ErrorType header can be utilized to make programmatic decisions about whether errors are retry-able and under what conditions, as well as provide information on what actions the client programmer might need to take in order to successfully try again. For more information, see the Errors section at the bottom of this topic, as well as Common Errors. + +Required Parameters +{ + "StreamName": "The name of the stream from which to retrieve fragment media.", + "Fragments": "A list of the numbers of fragments for which to retrieve media. You retrieve these values with ListFragments." +} +""" +GetMediaForFragmentList(args) = kinesis_video_archived_media("POST", "/getMediaForFragmentList", args) + +""" + ListFragments() + +Returns a list of Fragment objects from the specified stream and timestamp range within the archived data. Listing fragments is eventually consistent. This means that even if the producer receives an acknowledgment that a fragment is persisted, the result might not be returned immediately from a request to ListFragments. However, results are typically available in less than one second. You must first call the GetDataEndpoint API to get an endpoint. Then send the ListFragments requests to this endpoint using the --endpoint-url parameter. If an error is thrown after invoking a Kinesis Video Streams archived media API, in addition to the HTTP status code and the response body, it includes the following pieces of information: x-amz-ErrorType HTTP header – contains a more specific error type in addition to what the HTTP status code provides. x-amz-RequestId HTTP header – if you want to report an issue to AWS, the support team can better diagnose the problem if given the Request Id. Both the HTTP status code and the ErrorType header can be utilized to make programmatic decisions about whether errors are retry-able and under what conditions, as well as provide information on what actions the client programmer might need to take in order to successfully try again. For more information, see the Errors section at the bottom of this topic, as well as Common Errors. + +Required Parameters +{ + "StreamName": "The name of the stream from which to retrieve a fragment list." +} + +Optional Parameters +{ + "MaxResults": "The total number of fragments to return. If the total number of fragments available is more than the value specified in max-results, then a ListFragmentsOutput NextToken is provided in the output that you can use to resume pagination.", + "NextToken": "A token to specify where to start paginating. This is the ListFragmentsOutput NextToken from a previously truncated response.", + "FragmentSelector": "Describes the timestamp range and timestamp origin for the range of fragments to return." +} +""" +ListFragments(args) = kinesis_video_archived_media("POST", "/listFragments", args) + +""" + GetDASHStreamingSessionURL() + +Retrieves an MPEG Dynamic Adaptive Streaming over HTTP (DASH) URL for the stream. You can then open the URL in a media player to view the stream contents. Both the StreamName and the StreamARN parameters are optional, but you must specify either the StreamName or the StreamARN when invoking this API operation. An Amazon Kinesis video stream has the following requirements for providing data through MPEG-DASH: The media must contain h.264 or h.265 encoded video and, optionally, AAC or G.711 encoded audio. Specifically, the codec ID of track 1 should be V_MPEG/ISO/AVC (for h.264) or V_MPEGH/ISO/HEVC (for H.265). Optionally, the codec ID of track 2 should be A_AAC (for AAC) or A_MS/ACM (for G.711). Data retention must be greater than 0. The video track of each fragment must contain codec private data in the Advanced Video Coding (AVC) for H.264 format and HEVC for H.265 format. For more information, see MPEG-4 specification ISO/IEC 14496-15. For information about adapting stream data to a given format, see NAL Adaptation Flags. The audio track (if present) of each fragment must contain codec private data in the AAC format (AAC specification ISO/IEC 13818-7) or the MS Wave format. The following procedure shows how to use MPEG-DASH with Kinesis Video Streams: Get an endpoint using GetDataEndpoint, specifying GET_DASH_STREAMING_SESSION_URL for the APIName parameter. Retrieve the MPEG-DASH URL using GetDASHStreamingSessionURL. Kinesis Video Streams creates an MPEG-DASH streaming session to be used for accessing content in a stream using the MPEG-DASH protocol. GetDASHStreamingSessionURL returns an authenticated URL (that includes an encrypted session token) for the session's MPEG-DASH manifest (the root resource needed for streaming with MPEG-DASH). Don't share or store this token where an unauthorized entity could access it. The token provides access to the content of the stream. Safeguard the token with the same measures that you would use with your AWS credentials. The media that is made available through the manifest consists only of the requested stream, time range, and format. No other media data (such as frames outside the requested window or alternate bitrates) is made available. Provide the URL (containing the encrypted session token) for the MPEG-DASH manifest to a media player that supports the MPEG-DASH protocol. Kinesis Video Streams makes the initialization fragment and media fragments available through the manifest URL. The initialization fragment contains the codec private data for the stream, and other data needed to set up the video or audio decoder and renderer. The media fragments contain encoded video frames or encoded audio samples. The media player receives the authenticated URL and requests stream metadata and media data normally. When the media player requests data, it calls the following actions: GetDASHManifest: Retrieves an MPEG DASH manifest, which contains the metadata for the media that you want to playback. GetMP4InitFragment: Retrieves the MP4 initialization fragment. The media player typically loads the initialization fragment before loading any media fragments. This fragment contains the "fytp" and "moov" MP4 atoms, and the child atoms that are needed to initialize the media player decoder. The initialization fragment does not correspond to a fragment in a Kinesis video stream. It contains only the codec private data for the stream and respective track, which the media player needs to decode the media frames. GetMP4MediaFragment: Retrieves MP4 media fragments. These fragments contain the "moof" and "mdat" MP4 atoms and their child atoms, containing the encoded fragment's media frames and their timestamps. After the first media fragment is made available in a streaming session, any fragments that don't contain the same codec private data cause an error to be returned when those different media fragments are loaded. Therefore, the codec private data should not change between fragments in a session. This also means that the session fails if the fragments in a stream change from having only video to having both audio and video. Data retrieved with this action is billable. See Pricing for details. The following restrictions apply to MPEG-DASH sessions: A streaming session URL should not be shared between players. The service might throttle a session if multiple media players are sharing it. For connection limits, see Kinesis Video Streams Limits. A Kinesis video stream can have a maximum of ten active MPEG-DASH streaming sessions. If a new session is created when the maximum number of sessions is already active, the oldest (earliest created) session is closed. The number of active GetMedia connections on a Kinesis video stream does not count against this limit, and the number of active MPEG-DASH sessions does not count against the active GetMedia connection limit. The maximum limits for active HLS and MPEG-DASH streaming sessions are independent of each other. You can monitor the amount of data that the media player consumes by monitoring the GetMP4MediaFragment.OutgoingBytes Amazon CloudWatch metric. For information about using CloudWatch to monitor Kinesis Video Streams, see Monitoring Kinesis Video Streams. For pricing information, see Amazon Kinesis Video Streams Pricing and AWS Pricing. Charges for both HLS sessions and outgoing AWS data apply. For more information about HLS, see HTTP Live Streaming on the Apple Developer site. If an error is thrown after invoking a Kinesis Video Streams archived media API, in addition to the HTTP status code and the response body, it includes the following pieces of information: x-amz-ErrorType HTTP header – contains a more specific error type in addition to what the HTTP status code provides. x-amz-RequestId HTTP header – if you want to report an issue to AWS, the support team can better diagnose the problem if given the Request Id. Both the HTTP status code and the ErrorType header can be utilized to make programmatic decisions about whether errors are retry-able and under what conditions, as well as provide information on what actions the client programmer might need to take in order to successfully try again. For more information, see the Errors section at the bottom of this topic, as well as Common Errors. + +Optional Parameters +{ + "MaxManifestFragmentResults": "The maximum number of fragments that are returned in the MPEG-DASH manifest. When the PlaybackMode is LIVE, the most recent fragments are returned up to this value. When the PlaybackMode is ON_DEMAND, the oldest fragments are returned, up to this maximum number. When there are a higher number of fragments available in a live MPEG-DASH manifest, video players often buffer content before starting playback. Increasing the buffer size increases the playback latency, but it decreases the likelihood that rebuffering will occur during playback. We recommend that a live MPEG-DASH manifest have a minimum of 3 fragments and a maximum of 10 fragments. The default is 5 fragments if PlaybackMode is LIVE or LIVE_REPLAY, and 1,000 if PlaybackMode is ON_DEMAND. The maximum value of 1,000 fragments corresponds to more than 16 minutes of video on streams with 1-second fragments, and more than 2 1/2 hours of video on streams with 10-second fragments.", + "StreamARN": "The Amazon Resource Name (ARN) of the stream for which to retrieve the MPEG-DASH manifest URL. You must specify either the StreamName or the StreamARN.", + "Expires": "The time in seconds until the requested session expires. This value can be between 300 (5 minutes) and 43200 (12 hours). When a session expires, no new calls to GetDashManifest, GetMP4InitFragment, or GetMP4MediaFragment can be made for that session. The default is 300 (5 minutes).", + "PlaybackMode": "Whether to retrieve live, live replay, or archived, on-demand data. Features of the three types of sessions include the following: LIVE : For sessions of this type, the MPEG-DASH manifest is continually updated with the latest fragments as they become available. We recommend that the media player retrieve a new manifest on a one-second interval. When this type of session is played in a media player, the user interface typically displays a \"live\" notification, with no scrubber control for choosing the position in the playback window to display. In LIVE mode, the newest available fragments are included in an MPEG-DASH manifest, even if there is a gap between fragments (that is, if a fragment is missing). A gap like this might cause a media player to halt or cause a jump in playback. In this mode, fragments are not added to the MPEG-DASH manifest if they are older than the newest fragment in the playlist. If the missing fragment becomes available after a subsequent fragment is added to the manifest, the older fragment is not added, and the gap is not filled. LIVE_REPLAY : For sessions of this type, the MPEG-DASH manifest is updated similarly to how it is updated for LIVE mode except that it starts by including fragments from a given start time. Instead of fragments being added as they are ingested, fragments are added as the duration of the next fragment elapses. For example, if the fragments in the session are two seconds long, then a new fragment is added to the manifest every two seconds. This mode is useful to be able to start playback from when an event is detected and continue live streaming media that has not yet been ingested as of the time of the session creation. This mode is also useful to stream previously archived media without being limited by the 1,000 fragment limit in the ON_DEMAND mode. ON_DEMAND : For sessions of this type, the MPEG-DASH manifest contains all the fragments for the session, up to the number that is specified in MaxMediaPlaylistFragmentResults. The manifest must be retrieved only once for each session. When this type of session is played in a media player, the user interface typically displays a scrubber control for choosing the position in the playback window to display. In all playback modes, if FragmentSelectorType is PRODUCER_TIMESTAMP, and if there are multiple fragments with the same start timestamp, the fragment that has the larger fragment number (that is, the newer fragment) is included in the MPEG-DASH manifest. The other fragments are not included. Fragments that have different timestamps but have overlapping durations are still included in the MPEG-DASH manifest. This can lead to unexpected behavior in the media player. The default is LIVE.", + "StreamName": "The name of the stream for which to retrieve the MPEG-DASH manifest URL. You must specify either the StreamName or the StreamARN.", + "DisplayFragmentTimestamp": "Per the MPEG-DASH specification, the wall-clock time of fragments in the manifest file can be derived using attributes in the manifest itself. However, typically, MPEG-DASH compatible media players do not properly handle gaps in the media timeline. Kinesis Video Streams adjusts the media timeline in the manifest file to enable playback of media with discontinuities. Therefore, the wall-clock time derived from the manifest file may be inaccurate. If DisplayFragmentTimestamp is set to ALWAYS, the accurate fragment timestamp is added to each S element in the manifest file with the attribute name “kvs:ts”. A custom MPEG-DASH media player is necessary to leverage this custom attribute. The default value is NEVER. When DASHFragmentSelector is SERVER_TIMESTAMP, the timestamps will be the server start timestamps. Similarly, when DASHFragmentSelector is PRODUCER_TIMESTAMP, the timestamps will be the producer start timestamps. ", + "DisplayFragmentNumber": "Fragments are identified in the manifest file based on their sequence number in the session. If DisplayFragmentNumber is set to ALWAYS, the Kinesis Video Streams fragment number is added to each S element in the manifest file with the attribute name “kvs:fn”. These fragment numbers can be used for logging or for use with other APIs (e.g. GetMedia and GetMediaForFragmentList). A custom MPEG-DASH media player is necessary to leverage these this custom attribute. The default value is NEVER.", + "DASHFragmentSelector": "The time range of the requested fragment and the source of the timestamps. This parameter is required if PlaybackMode is ON_DEMAND or LIVE_REPLAY. This parameter is optional if PlaybackMode is LIVE. If PlaybackMode is LIVE, the FragmentSelectorType can be set, but the TimestampRange should not be set. If PlaybackMode is ON_DEMAND or LIVE_REPLAY, both FragmentSelectorType and TimestampRange must be set." +} +""" +GetDASHStreamingSessionURL() = kinesis_video_archived_media("POST", "/getDASHStreamingSessionURL") +GetDASHStreamingSessionURL(args) = kinesis_video_archived_media("POST", "/getDASHStreamingSessionURL", args) + +""" + GetHLSStreamingSessionURL() + +Retrieves an HTTP Live Streaming (HLS) URL for the stream. You can then open the URL in a browser or media player to view the stream contents. Both the StreamName and the StreamARN parameters are optional, but you must specify either the StreamName or the StreamARN when invoking this API operation. An Amazon Kinesis video stream has the following requirements for providing data through HLS: The media must contain h.264 or h.265 encoded video and, optionally, AAC encoded audio. Specifically, the codec ID of track 1 should be V_MPEG/ISO/AVC (for h.264) or V_MPEG/ISO/HEVC (for h.265). Optionally, the codec ID of track 2 should be A_AAC. Data retention must be greater than 0. The video track of each fragment must contain codec private data in the Advanced Video Coding (AVC) for H.264 format or HEVC for H.265 format (MPEG-4 specification ISO/IEC 14496-15). For information about adapting stream data to a given format, see NAL Adaptation Flags. The audio track (if present) of each fragment must contain codec private data in the AAC format (AAC specification ISO/IEC 13818-7). Kinesis Video Streams HLS sessions contain fragments in the fragmented MPEG-4 form (also called fMP4 or CMAF) or the MPEG-2 form (also called TS chunks, which the HLS specification also supports). For more information about HLS fragment types, see the HLS specification. The following procedure shows how to use HLS with Kinesis Video Streams: Get an endpoint using GetDataEndpoint, specifying GET_HLS_STREAMING_SESSION_URL for the APIName parameter. Retrieve the HLS URL using GetHLSStreamingSessionURL. Kinesis Video Streams creates an HLS streaming session to be used for accessing content in a stream using the HLS protocol. GetHLSStreamingSessionURL returns an authenticated URL (that includes an encrypted session token) for the session's HLS master playlist (the root resource needed for streaming with HLS). Don't share or store this token where an unauthorized entity could access it. The token provides access to the content of the stream. Safeguard the token with the same measures that you would use with your AWS credentials. The media that is made available through the playlist consists only of the requested stream, time range, and format. No other media data (such as frames outside the requested window or alternate bitrates) is made available. Provide the URL (containing the encrypted session token) for the HLS master playlist to a media player that supports the HLS protocol. Kinesis Video Streams makes the HLS media playlist, initialization fragment, and media fragments available through the master playlist URL. The initialization fragment contains the codec private data for the stream, and other data needed to set up the video or audio decoder and renderer. The media fragments contain H.264-encoded video frames or AAC-encoded audio samples. The media player receives the authenticated URL and requests stream metadata and media data normally. When the media player requests data, it calls the following actions: GetHLSMasterPlaylist: Retrieves an HLS master playlist, which contains a URL for the GetHLSMediaPlaylist action for each track, and additional metadata for the media player, including estimated bitrate and resolution. GetHLSMediaPlaylist: Retrieves an HLS media playlist, which contains a URL to access the MP4 initialization fragment with the GetMP4InitFragment action, and URLs to access the MP4 media fragments with the GetMP4MediaFragment actions. The HLS media playlist also contains metadata about the stream that the player needs to play it, such as whether the PlaybackMode is LIVE or ON_DEMAND. The HLS media playlist is typically static for sessions with a PlaybackType of ON_DEMAND. The HLS media playlist is continually updated with new fragments for sessions with a PlaybackType of LIVE. There is a distinct HLS media playlist for the video track and the audio track (if applicable) that contains MP4 media URLs for the specific track. GetMP4InitFragment: Retrieves the MP4 initialization fragment. The media player typically loads the initialization fragment before loading any media fragments. This fragment contains the "fytp" and "moov" MP4 atoms, and the child atoms that are needed to initialize the media player decoder. The initialization fragment does not correspond to a fragment in a Kinesis video stream. It contains only the codec private data for the stream and respective track, which the media player needs to decode the media frames. GetMP4MediaFragment: Retrieves MP4 media fragments. These fragments contain the "moof" and "mdat" MP4 atoms and their child atoms, containing the encoded fragment's media frames and their timestamps. After the first media fragment is made available in a streaming session, any fragments that don't contain the same codec private data cause an error to be returned when those different media fragments are loaded. Therefore, the codec private data should not change between fragments in a session. This also means that the session fails if the fragments in a stream change from having only video to having both audio and video. Data retrieved with this action is billable. See Pricing for details. GetTSFragment: Retrieves MPEG TS fragments containing both initialization and media data for all tracks in the stream. If the ContainerFormat is MPEG_TS, this API is used instead of GetMP4InitFragment and GetMP4MediaFragment to retrieve stream media. Data retrieved with this action is billable. For more information, see Kinesis Video Streams pricing. The following restrictions apply to HLS sessions: A streaming session URL should not be shared between players. The service might throttle a session if multiple media players are sharing it. For connection limits, see Kinesis Video Streams Limits. A Kinesis video stream can have a maximum of ten active HLS streaming sessions. If a new session is created when the maximum number of sessions is already active, the oldest (earliest created) session is closed. The number of active GetMedia connections on a Kinesis video stream does not count against this limit, and the number of active HLS sessions does not count against the active GetMedia connection limit. The maximum limits for active HLS and MPEG-DASH streaming sessions are independent of each other. You can monitor the amount of data that the media player consumes by monitoring the GetMP4MediaFragment.OutgoingBytes Amazon CloudWatch metric. For information about using CloudWatch to monitor Kinesis Video Streams, see Monitoring Kinesis Video Streams. For pricing information, see Amazon Kinesis Video Streams Pricing and AWS Pricing. Charges for both HLS sessions and outgoing AWS data apply. For more information about HLS, see HTTP Live Streaming on the Apple Developer site. If an error is thrown after invoking a Kinesis Video Streams archived media API, in addition to the HTTP status code and the response body, it includes the following pieces of information: x-amz-ErrorType HTTP header – contains a more specific error type in addition to what the HTTP status code provides. x-amz-RequestId HTTP header – if you want to report an issue to AWS, the support team can better diagnose the problem if given the Request Id. Both the HTTP status code and the ErrorType header can be utilized to make programmatic decisions about whether errors are retry-able and under what conditions, as well as provide information on what actions the client programmer might need to take in order to successfully try again. For more information, see the Errors section at the bottom of this topic, as well as Common Errors. + +Optional Parameters +{ + "DiscontinuityMode": "Specifies when flags marking discontinuities between fragments are added to the media playlists. Media players typically build a timeline of media content to play, based on the timestamps of each fragment. This means that if there is any overlap or gap between fragments (as is typical if HLSFragmentSelector is set to SERVER_TIMESTAMP), the media player timeline will also have small gaps between fragments in some places, and will overwrite frames in other places. Gaps in the media player timeline can cause playback to stall and overlaps can cause playback to be jittery. When there are discontinuity flags between fragments, the media player is expected to reset the timeline, resulting in the next fragment being played immediately after the previous fragment. The following modes are supported: ALWAYS: a discontinuity marker is placed between every fragment in the HLS media playlist. It is recommended to use a value of ALWAYS if the fragment timestamps are not accurate. NEVER: no discontinuity markers are placed anywhere. It is recommended to use a value of NEVER to ensure the media player timeline most accurately maps to the producer timestamps. ON_DISCONTIUNITY: a discontinuity marker is placed between fragments that have a gap or overlap of more than 50 milliseconds. For most playback scenarios, it is recommended to use a value of ON_DISCONTINUITY so that the media player timeline is only reset when there is a significant issue with the media timeline (e.g. a missing fragment). The default is ALWAYS when HLSFragmentSelector is set to SERVER_TIMESTAMP, and NEVER when it is set to PRODUCER_TIMESTAMP.", + "StreamARN": "The Amazon Resource Name (ARN) of the stream for which to retrieve the HLS master playlist URL. You must specify either the StreamName or the StreamARN.", + "ContainerFormat": "Specifies which format should be used for packaging the media. Specifying the FRAGMENTED_MP4 container format packages the media into MP4 fragments (fMP4 or CMAF). This is the recommended packaging because there is minimal packaging overhead. The other container format option is MPEG_TS. HLS has supported MPEG TS chunks since it was released and is sometimes the only supported packaging on older HLS players. MPEG TS typically has a 5-25 percent packaging overhead. This means MPEG TS typically requires 5-25 percent more bandwidth and cost than fMP4. The default is FRAGMENTED_MP4.", + "Expires": "The time in seconds until the requested session expires. This value can be between 300 (5 minutes) and 43200 (12 hours). When a session expires, no new calls to GetHLSMasterPlaylist, GetHLSMediaPlaylist, GetMP4InitFragment, GetMP4MediaFragment, or GetTSFragment can be made for that session. The default is 300 (5 minutes).", + "PlaybackMode": "Whether to retrieve live, live replay, or archived, on-demand data. Features of the three types of sessions include the following: LIVE : For sessions of this type, the HLS media playlist is continually updated with the latest fragments as they become available. We recommend that the media player retrieve a new playlist on a one-second interval. When this type of session is played in a media player, the user interface typically displays a \"live\" notification, with no scrubber control for choosing the position in the playback window to display. In LIVE mode, the newest available fragments are included in an HLS media playlist, even if there is a gap between fragments (that is, if a fragment is missing). A gap like this might cause a media player to halt or cause a jump in playback. In this mode, fragments are not added to the HLS media playlist if they are older than the newest fragment in the playlist. If the missing fragment becomes available after a subsequent fragment is added to the playlist, the older fragment is not added, and the gap is not filled. LIVE_REPLAY : For sessions of this type, the HLS media playlist is updated similarly to how it is updated for LIVE mode except that it starts by including fragments from a given start time. Instead of fragments being added as they are ingested, fragments are added as the duration of the next fragment elapses. For example, if the fragments in the session are two seconds long, then a new fragment is added to the media playlist every two seconds. This mode is useful to be able to start playback from when an event is detected and continue live streaming media that has not yet been ingested as of the time of the session creation. This mode is also useful to stream previously archived media without being limited by the 1,000 fragment limit in the ON_DEMAND mode. ON_DEMAND : For sessions of this type, the HLS media playlist contains all the fragments for the session, up to the number that is specified in MaxMediaPlaylistFragmentResults. The playlist must be retrieved only once for each session. When this type of session is played in a media player, the user interface typically displays a scrubber control for choosing the position in the playback window to display. In all playback modes, if FragmentSelectorType is PRODUCER_TIMESTAMP, and if there are multiple fragments with the same start timestamp, the fragment that has the larger fragment number (that is, the newer fragment) is included in the HLS media playlist. The other fragments are not included. Fragments that have different timestamps but have overlapping durations are still included in the HLS media playlist. This can lead to unexpected behavior in the media player. The default is LIVE.", + "StreamName": "The name of the stream for which to retrieve the HLS master playlist URL. You must specify either the StreamName or the StreamARN.", + "DisplayFragmentTimestamp": "Specifies when the fragment start timestamps should be included in the HLS media playlist. Typically, media players report the playhead position as a time relative to the start of the first fragment in the playback session. However, when the start timestamps are included in the HLS media playlist, some media players might report the current playhead as an absolute time based on the fragment timestamps. This can be useful for creating a playback experience that shows viewers the wall-clock time of the media. The default is NEVER. When HLSFragmentSelector is SERVER_TIMESTAMP, the timestamps will be the server start timestamps. Similarly, when HLSFragmentSelector is PRODUCER_TIMESTAMP, the timestamps will be the producer start timestamps. ", + "MaxMediaPlaylistFragmentResults": "The maximum number of fragments that are returned in the HLS media playlists. When the PlaybackMode is LIVE, the most recent fragments are returned up to this value. When the PlaybackMode is ON_DEMAND, the oldest fragments are returned, up to this maximum number. When there are a higher number of fragments available in a live HLS media playlist, video players often buffer content before starting playback. Increasing the buffer size increases the playback latency, but it decreases the likelihood that rebuffering will occur during playback. We recommend that a live HLS media playlist have a minimum of 3 fragments and a maximum of 10 fragments. The default is 5 fragments if PlaybackMode is LIVE or LIVE_REPLAY, and 1,000 if PlaybackMode is ON_DEMAND. The maximum value of 1,000 fragments corresponds to more than 16 minutes of video on streams with 1-second fragments, and more than 2 1/2 hours of video on streams with 10-second fragments.", + "HLSFragmentSelector": "The time range of the requested fragment and the source of the timestamps. This parameter is required if PlaybackMode is ON_DEMAND or LIVE_REPLAY. This parameter is optional if PlaybackMode is LIVE. If PlaybackMode is LIVE, the FragmentSelectorType can be set, but the TimestampRange should not be set. If PlaybackMode is ON_DEMAND or LIVE_REPLAY, both FragmentSelectorType and TimestampRange must be set." +} +""" +GetHLSStreamingSessionURL() = kinesis_video_archived_media("POST", "/getHLSStreamingSessionURL") +GetHLSStreamingSessionURL(args) = kinesis_video_archived_media("POST", "/getHLSStreamingSessionURL", args) diff --git a/src/services/kinesis_video_media.jl b/src/services/kinesis_video_media.jl new file mode 100644 index 0000000000..b548a1511d --- /dev/null +++ b/src/services/kinesis_video_media.jl @@ -0,0 +1,20 @@ +include("../AWSServices.jl") +using .AWSServices: kinesis_video_media + +""" + GetMedia() + + Use this API to retrieve media content from a Kinesis video stream. In the request, you identify the stream name or stream Amazon Resource Name (ARN), and the starting chunk. Kinesis Video Streams then returns a stream of chunks in order by fragment number. You must first call the GetDataEndpoint API to get an endpoint. Then send the GetMedia requests to this endpoint using the --endpoint-url parameter. When you put media data (fragments) on a stream, Kinesis Video Streams stores each incoming fragment and related metadata in what is called a "chunk." For more information, see PutMedia. The GetMedia API returns a stream of these chunks starting from the chunk that you specify in the request. The following limits apply when using the GetMedia API: A client can call GetMedia up to five times per second per stream. Kinesis Video Streams sends media data at a rate of up to 25 megabytes per second (or 200 megabits per second) during a GetMedia session. If an error is thrown after invoking a Kinesis Video Streams media API, in addition to the HTTP status code and the response body, it includes the following pieces of information: x-amz-ErrorType HTTP header – contains a more specific error type in addition to what the HTTP status code provides. x-amz-RequestId HTTP header – if you want to report an issue to AWS, the support team can better diagnose the problem if given the Request Id. Both the HTTP status code and the ErrorType header can be utilized to make programmatic decisions about whether errors are retry-able and under what conditions, as well as provide information on what actions the client programmer might need to take in order to successfully try again. For more information, see the Errors section at the bottom of this topic, as well as Common Errors. + +Required Parameters +{ + "StartSelector": "Identifies the starting chunk to get from the specified stream. " +} + +Optional Parameters +{ + "StreamARN": "The ARN of the stream from where you want to get the media content. If you don't specify the streamARN, you must specify the streamName.", + "StreamName": "The Kinesis video stream name from where you want to get the media content. If you don't specify the streamName, you must specify the streamARN." +} +""" +GetMedia(args) = kinesis_video_media("POST", "/getMedia", args) diff --git a/src/services/kinesis_video_signaling.jl b/src/services/kinesis_video_signaling.jl new file mode 100644 index 0000000000..51aa84af27 --- /dev/null +++ b/src/services/kinesis_video_signaling.jl @@ -0,0 +1,35 @@ +include("../AWSServices.jl") +using .AWSServices: kinesis_video_signaling + +""" + SendAlexaOfferToMaster() + +This API allows you to connect WebRTC-enabled devices with Alexa display devices. When invoked, it sends the Alexa Session Description Protocol (SDP) offer to the master peer. The offer is delivered as soon as the master is connected to the specified signaling channel. This API returns the SDP answer from the connected master. If the master is not connected to the signaling channel, redelivery requests are made until the message expires. + +Required Parameters +{ + "MessagePayload": "The base64-encoded SDP offer content.", + "SenderClientId": "The unique identifier for the sender client.", + "ChannelARN": "The ARN of the signaling channel by which Alexa and the master peer communicate." +} +""" +SendAlexaOfferToMaster(args) = kinesis_video_signaling("POST", "/v1/send-alexa-offer-to-master", args) + +""" + GetIceServerConfig() + +Gets the Interactive Connectivity Establishment (ICE) server configuration information, including URIs, username, and password which can be used to configure the WebRTC connection. The ICE component uses this configuration information to setup the WebRTC connection, including authenticating with the Traversal Using Relays around NAT (TURN) relay server. TURN is a protocol that is used to improve the connectivity of peer-to-peer applications. By providing a cloud-based relay service, TURN ensures that a connection can be established even when one or more peers are incapable of a direct peer-to-peer connection. For more information, see A REST API For Access To TURN Services. You can invoke this API to establish a fallback mechanism in case either of the peers is unable to establish a direct peer-to-peer connection over a signaling channel. You must specify either a signaling channel ARN or the client ID in order to invoke this API. + +Required Parameters +{ + "ChannelARN": "The ARN of the signaling channel to be used for the peer-to-peer connection between configured peers. " +} + +Optional Parameters +{ + "ClientId": "Unique identifier for the viewer. Must be unique within the signaling channel.", + "Service": "Specifies the desired service. Currently, TURN is the only valid value.", + "Username": "An optional user ID to be associated with the credentials." +} +""" +GetIceServerConfig(args) = kinesis_video_signaling("POST", "/v1/get-ice-server-config", args) diff --git a/src/services/kms.jl b/src/services/kms.jl new file mode 100644 index 0000000000..5bbbf9eed1 --- /dev/null +++ b/src/services/kms.jl @@ -0,0 +1,733 @@ +include("../AWSServices.jl") +using .AWSServices: kms + +""" + GenerateRandom() + +Returns a random byte string that is cryptographically secure. By default, the random byte string is generated in AWS KMS. To generate the byte string in the AWS CloudHSM cluster that is associated with a custom key store, specify the custom key store ID. For more information about entropy and random number generation, see the AWS Key Management Service Cryptographic Details whitepaper. + +Optional Parameters +{ + "NumberOfBytes": "The length of the byte string.", + "CustomKeyStoreId": "Generates the random byte string in the AWS CloudHSM cluster that is associated with the specified custom key store. To find the ID of a custom key store, use the DescribeCustomKeyStores operation." +} +""" +GenerateRandom() = kms("GenerateRandom") +GenerateRandom(args) = kms("GenerateRandom", args) + +""" + DisableKey() + +Sets the state of a customer master key (CMK) to disabled, thereby preventing its use for cryptographic operations. You cannot perform this operation on a CMK in a different AWS account. For more information about how key state affects the use of a CMK, see How Key State Affects the Use of a Customer Master Key in the AWS Key Management Service Developer Guide . The CMK that you use for this operation must be in a compatible key state. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide. + +Required Parameters +{ + "KeyId": "A unique identifier for the customer master key (CMK). Specify the key ID or the Amazon Resource Name (ARN) of the CMK. For example: Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey." +} +""" +DisableKey(args) = kms("DisableKey", args) + +""" + ConnectCustomKeyStore() + +Connects or reconnects a custom key store to its associated AWS CloudHSM cluster. The custom key store must be connected before you can create customer master keys (CMKs) in the key store or use the CMKs it contains. You can disconnect and reconnect a custom key store at any time. To connect a custom key store, its associated AWS CloudHSM cluster must have at least one active HSM. To get the number of active HSMs in a cluster, use the DescribeClusters operation. To add HSMs to the cluster, use the CreateHsm operation. Also, the kmsuser crypto user (CU) must not be logged into the cluster. This prevents AWS KMS from using this account to log in. The connection process can take an extended amount of time to complete; up to 20 minutes. This operation starts the connection process, but it does not wait for it to complete. When it succeeds, this operation quickly returns an HTTP 200 response and a JSON object with no properties. However, this response does not indicate that the custom key store is connected. To get the connection state of the custom key store, use the DescribeCustomKeyStores operation. During the connection process, AWS KMS finds the AWS CloudHSM cluster that is associated with the custom key store, creates the connection infrastructure, connects to the cluster, logs into the AWS CloudHSM client as the kmsuser CU, and rotates its password. The ConnectCustomKeyStore operation might fail for various reasons. To find the reason, use the DescribeCustomKeyStores operation and see the ConnectionErrorCode in the response. For help interpreting the ConnectionErrorCode, see CustomKeyStoresListEntry. To fix the failure, use the DisconnectCustomKeyStore operation to disconnect the custom key store, correct the error, use the UpdateCustomKeyStore operation if necessary, and then use ConnectCustomKeyStore again. If you are having trouble connecting or disconnecting a custom key store, see Troubleshooting a Custom Key Store in the AWS Key Management Service Developer Guide. + +Required Parameters +{ + "CustomKeyStoreId": "Enter the key store ID of the custom key store that you want to connect. To find the ID of a custom key store, use the DescribeCustomKeyStores operation." +} +""" +ConnectCustomKeyStore(args) = kms("ConnectCustomKeyStore", args) + +""" + RevokeGrant() + +Revokes the specified grant for the specified customer master key (CMK). You can revoke a grant to actively deny operations that depend on it. To perform this operation on a CMK in a different AWS account, specify the key ARN in the value of the KeyId parameter. + +Required Parameters +{ + "GrantId": "Identifier of the grant to be revoked.", + "KeyId": "A unique identifier for the customer master key associated with the grant. Specify the key ID or the Amazon Resource Name (ARN) of the CMK. To specify a CMK in a different AWS account, you must use the key ARN. For example: Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey." +} +""" +RevokeGrant(args) = kms("RevokeGrant", args) + +""" + Verify() + +Verifies a digital signature that was generated by the Sign operation. Verification confirms that an authorized user signed the message with the specified CMK and signing algorithm, and the message hasn't changed since it was signed. If the signature is verified, the value of the SignatureValid field in the response is True. If the signature verification fails, the Verify operation fails with an KMSInvalidSignatureException exception. A digital signature is generated by using the private key in an asymmetric CMK. The signature is verified by using the public key in the same asymmetric CMK. For information about symmetric and asymmetric CMKs, see Using Symmetric and Asymmetric CMKs in the AWS Key Management Service Developer Guide. To verify a digital signature, you can use the Verify operation. Specify the same asymmetric CMK, message, and signing algorithm that were used to produce the signature. You can also verify the digital signature by using the public key of the CMK outside of AWS KMS. Use the GetPublicKey operation to download the public key in the asymmetric CMK and then use the public key to verify the signature outside of AWS KMS. The advantage of using the Verify operation is that it is performed within AWS KMS. As a result, it's easy to call, the operation is performed within the FIPS boundary, it is logged in AWS CloudTrail, and you can use key policy and IAM policy to determine who is authorized to use the CMK to verify signatures. The CMK that you use for this operation must be in a compatible key state. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide. + +Required Parameters +{ + "Signature": "The signature that the Sign operation generated.", + "Message": "Specifies the message that was signed. You can submit a raw message of up to 4096 bytes, or a hash digest of the message. If you submit a digest, use the MessageType parameter with a value of DIGEST. If the message specified here is different from the message that was signed, the signature verification fails. A message and its hash digest are considered to be the same message.", + "KeyId": "Identifies the asymmetric CMK that will be used to verify the signature. This must be the same CMK that was used to generate the signature. If you specify a different CMK, the signature verification fails. To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. When using an alias name, prefix it with \"alias/\". To specify a CMK in a different AWS account, you must use the key ARN or alias ARN. For example: Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab Alias name: alias/ExampleAlias Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey. To get the alias name and alias ARN, use ListAliases.", + "SigningAlgorithm": "The signing algorithm that was used to sign the message. If you submit a different algorithm, the signature verification fails." +} + +Optional Parameters +{ + "GrantTokens": "A list of grant tokens. For more information, see Grant Tokens in the AWS Key Management Service Developer Guide.", + "MessageType": "Tells AWS KMS whether the value of the Message parameter is a message or message digest. The default value, RAW, indicates a message. To indicate a message digest, enter DIGEST. Use the DIGEST value only when the value of the Message parameter is a message digest. If you use the DIGEST value with a raw message, the security of the verification operation can be compromised. " +} +""" +Verify(args) = kms("Verify", args) + +""" + DescribeKey() + +Provides detailed information about a customer master key (CMK). You can run DescribeKey on a customer managed CMK or an AWS managed CMK. This detailed information includes the key ARN, creation date (and deletion date, if applicable), the key state, and the origin and expiration date (if any) of the key material. For CMKs in custom key stores, it includes information about the custom key store, such as the key store ID and the AWS CloudHSM cluster ID. It includes fields, like KeySpec, that help you distinguish symmetric from asymmetric CMKs. It also provides information that is particularly important to asymmetric CMKs, such as the key usage (encryption or signing) and the encryption algorithms or signing algorithms that the CMK supports. DescribeKey does not return the following information: Aliases associated with the CMK. To get this information, use ListAliases. Whether automatic key rotation is enabled on the CMK. To get this information, use GetKeyRotationStatus. Also, some key states prevent a CMK from being automatically rotated. For details, see How Automatic Key Rotation Works in AWS Key Management Service Developer Guide. Tags on the CMK. To get this information, use ListResourceTags. Key policies and grants on the CMK. To get this information, use GetKeyPolicy and ListGrants. If you call the DescribeKey operation on a predefined AWS alias, that is, an AWS alias with no key ID, AWS KMS creates an AWS managed CMK. Then, it associates the alias with the new CMK, and returns the KeyId and Arn of the new CMK in the response. To perform this operation on a CMK in a different AWS account, specify the key ARN or alias ARN in the value of the KeyId parameter. + +Required Parameters +{ + "KeyId": "Describes the specified customer master key (CMK). If you specify a predefined AWS alias (an AWS alias with no key ID), KMS associates the alias with an AWS managed CMK and returns its KeyId and Arn in the response. To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. When using an alias name, prefix it with \"alias/\". To specify a CMK in a different AWS account, you must use the key ARN or alias ARN. For example: Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab Alias name: alias/ExampleAlias Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey. To get the alias name and alias ARN, use ListAliases." +} + +Optional Parameters +{ + "GrantTokens": "A list of grant tokens. For more information, see Grant Tokens in the AWS Key Management Service Developer Guide." +} +""" +DescribeKey(args) = kms("DescribeKey", args) + +""" + TagResource() + +Adds or edits tags for a customer master key (CMK). You cannot perform this operation on a CMK in a different AWS account. Each tag consists of a tag key and a tag value. Tag keys and tag values are both required, but tag values can be empty (null) strings. You can only use a tag key once for each CMK. If you use the tag key again, AWS KMS replaces the current tag value with the specified value. For information about the rules that apply to tag keys and tag values, see User-Defined Tag Restrictions in the AWS Billing and Cost Management User Guide. The CMK that you use for this operation must be in a compatible key state. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide. + +Required Parameters +{ + "Tags": "One or more tags. Each tag consists of a tag key and a tag value.", + "KeyId": "A unique identifier for the CMK you are tagging. Specify the key ID or the Amazon Resource Name (ARN) of the CMK. For example: Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey." +} +""" +TagResource(args) = kms("TagResource", args) + +""" + ListResourceTags() + +Returns a list of all tags for the specified customer master key (CMK). You cannot perform this operation on a CMK in a different AWS account. + +Required Parameters +{ + "KeyId": "A unique identifier for the customer master key (CMK). Specify the key ID or the Amazon Resource Name (ARN) of the CMK. For example: Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey." +} + +Optional Parameters +{ + "Marker": "Use this parameter in a subsequent request after you receive a response with truncated results. Set it to the value of NextMarker from the truncated response you just received. Do not attempt to construct this value. Use only the value of NextMarker from the truncated response you just received.", + "Limit": "Use this parameter to specify the maximum number of items to return. When this value is present, AWS KMS does not return more than the specified number of items, but it might return fewer. This value is optional. If you include a value, it must be between 1 and 50, inclusive. If you do not include a value, it defaults to 50." +} +""" +ListResourceTags(args) = kms("ListResourceTags", args) + +""" + UpdateCustomKeyStore() + +Changes the properties of a custom key store. Use the CustomKeyStoreId parameter to identify the custom key store you want to edit. Use the remaining parameters to change the properties of the custom key store. You can only update a custom key store that is disconnected. To disconnect the custom key store, use DisconnectCustomKeyStore. To reconnect the custom key store after the update completes, use ConnectCustomKeyStore. To find the connection state of a custom key store, use the DescribeCustomKeyStores operation. Use the parameters of UpdateCustomKeyStore to edit your keystore settings. Use the NewCustomKeyStoreName parameter to change the friendly name of the custom key store to the value that you specify. Use the KeyStorePassword parameter tell AWS KMS the current password of the kmsuser crypto user (CU) in the associated AWS CloudHSM cluster. You can use this parameter to fix connection failures that occur when AWS KMS cannot log into the associated cluster because the kmsuser password has changed. This value does not change the password in the AWS CloudHSM cluster. Use the CloudHsmClusterId parameter to associate the custom key store with a different, but related, AWS CloudHSM cluster. You can use this parameter to repair a custom key store if its AWS CloudHSM cluster becomes corrupted or is deleted, or when you need to create or restore a cluster from a backup. If the operation succeeds, it returns a JSON object with no properties. This operation is part of the Custom Key Store feature feature in AWS KMS, which combines the convenience and extensive integration of AWS KMS with the isolation and control of a single-tenant key store. + +Required Parameters +{ + "CustomKeyStoreId": "Identifies the custom key store that you want to update. Enter the ID of the custom key store. To find the ID of a custom key store, use the DescribeCustomKeyStores operation." +} + +Optional Parameters +{ + "NewCustomKeyStoreName": "Changes the friendly name of the custom key store to the value that you specify. The custom key store name must be unique in the AWS account.", + "CloudHsmClusterId": "Associates the custom key store with a related AWS CloudHSM cluster. Enter the cluster ID of the cluster that you used to create the custom key store or a cluster that shares a backup history and has the same cluster certificate as the original cluster. You cannot use this parameter to associate a custom key store with an unrelated cluster. In addition, the replacement cluster must fulfill the requirements for a cluster associated with a custom key store. To view the cluster certificate of a cluster, use the DescribeClusters operation.", + "KeyStorePassword": "Enter the current password of the kmsuser crypto user (CU) in the AWS CloudHSM cluster that is associated with the custom key store. This parameter tells AWS KMS the current password of the kmsuser crypto user (CU). It does not set or change the password of any users in the AWS CloudHSM cluster." +} +""" +UpdateCustomKeyStore(args) = kms("UpdateCustomKeyStore", args) + +""" + DescribeCustomKeyStores() + +Gets information about custom key stores in the account and region. This operation is part of the Custom Key Store feature feature in AWS KMS, which combines the convenience and extensive integration of AWS KMS with the isolation and control of a single-tenant key store. By default, this operation returns information about all custom key stores in the account and region. To get only information about a particular custom key store, use either the CustomKeyStoreName or CustomKeyStoreId parameter (but not both). To determine whether the custom key store is connected to its AWS CloudHSM cluster, use the ConnectionState element in the response. If an attempt to connect the custom key store failed, the ConnectionState value is FAILED and the ConnectionErrorCode element in the response indicates the cause of the failure. For help interpreting the ConnectionErrorCode, see CustomKeyStoresListEntry. Custom key stores have a DISCONNECTED connection state if the key store has never been connected or you use the DisconnectCustomKeyStore operation to disconnect it. If your custom key store state is CONNECTED but you are having trouble using it, make sure that its associated AWS CloudHSM cluster is active and contains the minimum number of HSMs required for the operation, if any. For help repairing your custom key store, see the Troubleshooting Custom Key Stores topic in the AWS Key Management Service Developer Guide. + +Optional Parameters +{ + "Marker": "Use this parameter in a subsequent request after you receive a response with truncated results. Set it to the value of NextMarker from the truncated response you just received.", + "CustomKeyStoreName": "Gets only information about the specified custom key store. Enter the friendly name of the custom key store. By default, this operation gets information about all custom key stores in the account and region. To limit the output to a particular custom key store, you can use either the CustomKeyStoreId or CustomKeyStoreName parameter, but not both.", + "CustomKeyStoreId": "Gets only information about the specified custom key store. Enter the key store ID. By default, this operation gets information about all custom key stores in the account and region. To limit the output to a particular custom key store, you can use either the CustomKeyStoreId or CustomKeyStoreName parameter, but not both.", + "Limit": "Use this parameter to specify the maximum number of items to return. When this value is present, AWS KMS does not return more than the specified number of items, but it might return fewer." +} +""" +DescribeCustomKeyStores() = kms("DescribeCustomKeyStores") +DescribeCustomKeyStores(args) = kms("DescribeCustomKeyStores", args) + +""" + GetPublicKey() + +Returns the public key of an asymmetric CMK. Unlike the private key of a asymmetric CMK, which never leaves AWS KMS unencrypted, callers with kms:GetPublicKey permission can download the public key of an asymmetric CMK. You can share the public key to allow others to encrypt messages and verify signatures outside of AWS KMS. For information about symmetric and asymmetric CMKs, see Using Symmetric and Asymmetric CMKs in the AWS Key Management Service Developer Guide. You do not need to download the public key. Instead, you can use the public key within AWS KMS by calling the Encrypt, ReEncrypt, or Verify operations with the identifier of an asymmetric CMK. When you use the public key within AWS KMS, you benefit from the authentication, authorization, and logging that are part of every AWS KMS operation. You also reduce of risk of encrypting data that cannot be decrypted. These features are not effective outside of AWS KMS. For details, see Special Considerations for Downloading Public Keys. To help you use the public key safely outside of AWS KMS, GetPublicKey returns important information about the public key in the response, including: CustomerMasterKeySpec: The type of key material in the public key, such as RSA_4096 or ECC_NIST_P521. KeyUsage: Whether the key is used for encryption or signing. EncryptionAlgorithms or SigningAlgorithms: A list of the encryption algorithms or the signing algorithms for the key. Although AWS KMS cannot enforce these restrictions on external operations, it is crucial that you use this information to prevent the public key from being used improperly. For example, you can prevent a public signing key from being used encrypt data, or prevent a public key from being used with an encryption algorithm that is not supported by AWS KMS. You can also avoid errors, such as using the wrong signing algorithm in a verification operation. The CMK that you use for this operation must be in a compatible key state. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide. + +Required Parameters +{ + "KeyId": "Identifies the asymmetric CMK that includes the public key. To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. When using an alias name, prefix it with \"alias/\". To specify a CMK in a different AWS account, you must use the key ARN or alias ARN. For example: Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab Alias name: alias/ExampleAlias Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey. To get the alias name and alias ARN, use ListAliases." +} + +Optional Parameters +{ + "GrantTokens": "A list of grant tokens. For more information, see Grant Tokens in the AWS Key Management Service Developer Guide." +} +""" +GetPublicKey(args) = kms("GetPublicKey", args) + +""" + CreateKey() + +Creates a unique customer managed customer master key (CMK) in your AWS account and Region. You cannot use this operation to create a CMK in a different AWS account. You can use the CreateKey operation to create symmetric or asymmetric CMKs. Symmetric CMKs contain a 256-bit symmetric key that never leaves AWS KMS unencrypted. To use the CMK, you must call AWS KMS. You can use a symmetric CMK to encrypt and decrypt small amounts of data, but they are typically used to generate data keys and data keys pairs. For details, see GenerateDataKey and GenerateDataKeyPair. Asymmetric CMKs can contain an RSA key pair or an Elliptic Curve (ECC) key pair. The private key in an asymmetric CMK never leaves AWS KMS unencrypted. However, you can use the GetPublicKey operation to download the public key so it can be used outside of AWS KMS. CMKs with RSA key pairs can be used to encrypt or decrypt data or sign and verify messages (but not both). CMKs with ECC key pairs can be used only to sign and verify messages. For information about symmetric and asymmetric CMKs, see Using Symmetric and Asymmetric CMKs in the AWS Key Management Service Developer Guide. To create different types of CMKs, use the following guidance: Asymmetric CMKs To create an asymmetric CMK, use the CustomerMasterKeySpec parameter to specify the type of key material in the CMK. Then, use the KeyUsage parameter to determine whether the CMK will be used to encrypt and decrypt or sign and verify. You can't change these properties after the CMK is created. Symmetric CMKs When creating a symmetric CMK, you don't need to specify the CustomerMasterKeySpec or KeyUsage parameters. The default value for CustomerMasterKeySpec, SYMMETRIC_DEFAULT, and the default value for KeyUsage, ENCRYPT_DECRYPT, are the only valid values for symmetric CMKs. Imported Key Material To import your own key material, begin by creating a symmetric CMK with no key material. To do this, use the Origin parameter of CreateKey with a value of EXTERNAL. Next, use GetParametersForImport operation to get a public key and import token, and use the public key to encrypt your key material. Then, use ImportKeyMaterial with your import token to import the key material. For step-by-step instructions, see Importing Key Material in the AWS Key Management Service Developer Guide . You cannot import the key material into an asymmetric CMK. Custom Key Stores To create a symmetric CMK in a custom key store, use the CustomKeyStoreId parameter to specify the custom key store. You must also use the Origin parameter with a value of AWS_CLOUDHSM. The AWS CloudHSM cluster that is associated with the custom key store must have at least two active HSMs in different Availability Zones in the AWS Region. You cannot create an asymmetric CMK in a custom key store. For information about custom key stores in AWS KMS see Using Custom Key Stores in the AWS Key Management Service Developer Guide . + +Optional Parameters +{ + "BypassPolicyLockoutSafetyCheck": "A flag to indicate whether to bypass the key policy lockout safety check. Setting this value to true increases the risk that the CMK becomes unmanageable. Do not set this value to true indiscriminately. For more information, refer to the scenario in the Default Key Policy section in the AWS Key Management Service Developer Guide . Use this parameter only when you include a policy in the request and you intend to prevent the principal that is making the request from making a subsequent PutKeyPolicy request on the CMK. The default value is false.", + "Description": "A description of the CMK. Use a description that helps you decide whether the CMK is appropriate for a task.", + "KeyUsage": "Determines the cryptographic operations for which you can use the CMK. The default value is ENCRYPT_DECRYPT. This parameter is required only for asymmetric CMKs. You can't change the KeyUsage value after the CMK is created. Select only one valid value. For symmetric CMKs, omit the parameter or specify ENCRYPT_DECRYPT. For asymmetric CMKs with RSA key material, specify ENCRYPT_DECRYPT or SIGN_VERIFY. For asymmetric CMKs with ECC key material, specify SIGN_VERIFY. ", + "Tags": "One or more tags. Each tag consists of a tag key and a tag value. Both the tag key and the tag value are required, but the tag value can be an empty (null) string. When you add tags to an AWS resource, AWS generates a cost allocation report with usage and costs aggregated by tags. For information about adding, changing, deleting and listing tags for CMKs, see Tagging Keys. Use this parameter to tag the CMK when it is created. To add tags to an existing CMK, use the TagResource operation.", + "Origin": "The source of the key material for the CMK. You cannot change the origin after you create the CMK. The default is AWS_KMS, which means AWS KMS creates the key material. When the parameter value is EXTERNAL, AWS KMS creates a CMK without key material so that you can import key material from your existing key management infrastructure. For more information about importing key material into AWS KMS, see Importing Key Material in the AWS Key Management Service Developer Guide. This value is valid only for symmetric CMKs. When the parameter value is AWS_CLOUDHSM, AWS KMS creates the CMK in an AWS KMS custom key store and creates its key material in the associated AWS CloudHSM cluster. You must also use the CustomKeyStoreId parameter to identify the custom key store. This value is valid only for symmetric CMKs.", + "CustomerMasterKeySpec": "Specifies the type of CMK to create. The default value, SYMMETRIC_DEFAULT, creates a CMK with a 256-bit symmetric key for encryption and decryption. For help choosing a key spec for your CMK, see How to Choose Your CMK Configuration in the AWS Key Management Service Developer Guide. The CustomerMasterKeySpec determines whether the CMK contains a symmetric key or an asymmetric key pair. It also determines the encryption algorithms or signing algorithms that the CMK supports. You can't change the CustomerMasterKeySpec after the CMK is created. To further restrict the algorithms that can be used with the CMK, use a condition key in its key policy or IAM policy. For more information, see kms:EncryptionAlgorithm or kms:Signing Algorithm in the AWS Key Management Service Developer Guide. AWS services that are integrated with AWS KMS use symmetric CMKs to protect your data. These services do not support asymmetric CMKs. For help determining whether a CMK is symmetric or asymmetric, see Identifying Symmetric and Asymmetric CMKs in the AWS Key Management Service Developer Guide. AWS KMS supports the following key specs for CMKs: Symmetric key (default) SYMMETRIC_DEFAULT (AES-256-GCM) Asymmetric RSA key pairs RSA_2048 RSA_3072 RSA_4096 Asymmetric NIST-recommended elliptic curve key pairs ECC_NIST_P256 (secp256r1) ECC_NIST_P384 (secp384r1) ECC_NIST_P521 (secp521r1) Other asymmetric elliptic curve key pairs ECC_SECG_P256K1 (secp256k1), commonly used for cryptocurrencies. ", + "Policy": "The key policy to attach to the CMK. If you provide a key policy, it must meet the following criteria: If you don't set BypassPolicyLockoutSafetyCheck to true, the key policy must allow the principal that is making the CreateKey request to make a subsequent PutKeyPolicy request on the CMK. This reduces the risk that the CMK becomes unmanageable. For more information, refer to the scenario in the Default Key Policy section of the AWS Key Management Service Developer Guide . Each statement in the key policy must contain one or more principals. The principals in the key policy must exist and be visible to AWS KMS. When you create a new AWS principal (for example, an IAM user or role), you might need to enforce a delay before including the new principal in a key policy because the new principal might not be immediately visible to AWS KMS. For more information, see Changes that I make are not always immediately visible in the AWS Identity and Access Management User Guide. If you do not provide a key policy, AWS KMS attaches a default key policy to the CMK. For more information, see Default Key Policy in the AWS Key Management Service Developer Guide. The key policy size quota is 32 kilobytes (32768 bytes).", + "CustomKeyStoreId": "Creates the CMK in the specified custom key store and the key material in its associated AWS CloudHSM cluster. To create a CMK in a custom key store, you must also specify the Origin parameter with a value of AWS_CLOUDHSM. The AWS CloudHSM cluster that is associated with the custom key store must have at least two active HSMs, each in a different Availability Zone in the Region. This parameter is valid only for symmetric CMKs. You cannot create an asymmetric CMK in a custom key store. To find the ID of a custom key store, use the DescribeCustomKeyStores operation. The response includes the custom key store ID and the ID of the AWS CloudHSM cluster. This operation is part of the Custom Key Store feature feature in AWS KMS, which combines the convenience and extensive integration of AWS KMS with the isolation and control of a single-tenant key store." +} +""" +CreateKey() = kms("CreateKey") +CreateKey(args) = kms("CreateKey", args) + +""" + CreateAlias() + +Creates a display name for a customer managed customer master key (CMK). You can use an alias to identify a CMK in cryptographic operations, such as Encrypt and GenerateDataKey. You can change the CMK associated with the alias at any time. Aliases are easier to remember than key IDs. They can also help to simplify your applications. For example, if you use an alias in your code, you can change the CMK your code uses by associating a given alias with a different CMK. To run the same code in multiple AWS regions, use an alias in your code, such as alias/ApplicationKey. Then, in each AWS Region, create an alias/ApplicationKey alias that is associated with a CMK in that Region. When you run your code, it uses the alias/ApplicationKey CMK for that AWS Region without any Region-specific code. This operation does not return a response. To get the alias that you created, use the ListAliases operation. To use aliases successfully, be aware of the following information. Each alias points to only one CMK at a time, although a single CMK can have multiple aliases. The alias and its associated CMK must be in the same AWS account and Region. You can associate an alias with any customer managed CMK in the same AWS account and Region. However, you do not have permission to associate an alias with an AWS managed CMK or an AWS owned CMK. To change the CMK associated with an alias, use the UpdateAlias operation. The current CMK and the new CMK must be the same type (both symmetric or both asymmetric) and they must have the same key usage (ENCRYPT_DECRYPT or SIGN_VERIFY). This restriction prevents cryptographic errors in code that uses aliases. The alias name must begin with alias/ followed by a name, such as alias/ExampleAlias. It can contain only alphanumeric characters, forward slashes (/), underscores (_), and dashes (-). The alias name cannot begin with alias/aws/. The alias/aws/ prefix is reserved for AWS managed CMKs. The alias name must be unique within an AWS Region. However, you can use the same alias name in multiple Regions of the same AWS account. Each instance of the alias is associated with a CMK in its Region. After you create an alias, you cannot change its alias name. However, you can use the DeleteAlias operation to delete the alias and then create a new alias with the desired name. You can use an alias name or alias ARN to identify a CMK in AWS KMS cryptographic operations and in the DescribeKey operation. However, you cannot use alias names or alias ARNs in API operations that manage CMKs, such as DisableKey or GetKeyPolicy. For information about the valid CMK identifiers for each AWS KMS API operation, see the descriptions of the KeyId parameter in the API operation documentation. Because an alias is not a property of a CMK, you can delete and change the aliases of a CMK without affecting the CMK. Also, aliases do not appear in the response from the DescribeKey operation. To get the aliases and alias ARNs of CMKs in each AWS account and Region, use the ListAliases operation. The CMK that you use for this operation must be in a compatible key state. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide. + +Required Parameters +{ + "TargetKeyId": "Identifies the CMK to which the alias refers. Specify the key ID or the Amazon Resource Name (ARN) of the CMK. You cannot specify another alias. For help finding the key ID and ARN, see Finding the Key ID and ARN in the AWS Key Management Service Developer Guide.", + "AliasName": "Specifies the alias name. This value must begin with alias/ followed by a name, such as alias/ExampleAlias. The alias name cannot begin with alias/aws/. The alias/aws/ prefix is reserved for AWS managed CMKs." +} +""" +CreateAlias(args) = kms("CreateAlias", args) + +""" + PutKeyPolicy() + +Attaches a key policy to the specified customer master key (CMK). You cannot perform this operation on a CMK in a different AWS account. For more information about key policies, see Key Policies in the AWS Key Management Service Developer Guide. + +Required Parameters +{ + "PolicyName": "The name of the key policy. The only valid value is default.", + "Policy": "The key policy to attach to the CMK. The key policy must meet the following criteria: If you don't set BypassPolicyLockoutSafetyCheck to true, the key policy must allow the principal that is making the PutKeyPolicy request to make a subsequent PutKeyPolicy request on the CMK. This reduces the risk that the CMK becomes unmanageable. For more information, refer to the scenario in the Default Key Policy section of the AWS Key Management Service Developer Guide. Each statement in the key policy must contain one or more principals. The principals in the key policy must exist and be visible to AWS KMS. When you create a new AWS principal (for example, an IAM user or role), you might need to enforce a delay before including the new principal in a key policy because the new principal might not be immediately visible to AWS KMS. For more information, see Changes that I make are not always immediately visible in the AWS Identity and Access Management User Guide. The key policy cannot exceed 32 kilobytes (32768 bytes). For more information, see Resource Quotas in the AWS Key Management Service Developer Guide.", + "KeyId": "A unique identifier for the customer master key (CMK). Specify the key ID or the Amazon Resource Name (ARN) of the CMK. For example: Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey." +} + +Optional Parameters +{ + "BypassPolicyLockoutSafetyCheck": "A flag to indicate whether to bypass the key policy lockout safety check. Setting this value to true increases the risk that the CMK becomes unmanageable. Do not set this value to true indiscriminately. For more information, refer to the scenario in the Default Key Policy section in the AWS Key Management Service Developer Guide. Use this parameter only when you intend to prevent the principal that is making the request from making a subsequent PutKeyPolicy request on the CMK. The default value is false." +} +""" +PutKeyPolicy(args) = kms("PutKeyPolicy", args) + +""" + ListKeyPolicies() + +Gets the names of the key policies that are attached to a customer master key (CMK). This operation is designed to get policy names that you can use in a GetKeyPolicy operation. However, the only valid policy name is default. You cannot perform this operation on a CMK in a different AWS account. + +Required Parameters +{ + "KeyId": "A unique identifier for the customer master key (CMK). Specify the key ID or the Amazon Resource Name (ARN) of the CMK. For example: Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey." +} + +Optional Parameters +{ + "Marker": "Use this parameter in a subsequent request after you receive a response with truncated results. Set it to the value of NextMarker from the truncated response you just received.", + "Limit": "Use this parameter to specify the maximum number of items to return. When this value is present, AWS KMS does not return more than the specified number of items, but it might return fewer. This value is optional. If you include a value, it must be between 1 and 1000, inclusive. If you do not include a value, it defaults to 100. Only one policy can be attached to a key." +} +""" +ListKeyPolicies(args) = kms("ListKeyPolicies", args) + +""" + DisableKeyRotation() + +Disables automatic rotation of the key material for the specified symmetric customer master key (CMK). You cannot enable automatic rotation of asymmetric CMKs, CMKs with imported key material, or CMKs in a custom key store. You cannot perform this operation on a CMK in a different AWS account. The CMK that you use for this operation must be in a compatible key state. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide. + +Required Parameters +{ + "KeyId": "Identifies a symmetric customer master key (CMK). You cannot enable automatic rotation of asymmetric CMKs, CMKs with imported key material, or CMKs in a custom key store. Specify the key ID or the Amazon Resource Name (ARN) of the CMK. For example: Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey." +} +""" +DisableKeyRotation(args) = kms("DisableKeyRotation", args) + +""" + GetKeyPolicy() + +Gets a key policy attached to the specified customer master key (CMK). You cannot perform this operation on a CMK in a different AWS account. + +Required Parameters +{ + "PolicyName": "Specifies the name of the key policy. The only valid name is default. To get the names of key policies, use ListKeyPolicies.", + "KeyId": "A unique identifier for the customer master key (CMK). Specify the key ID or the Amazon Resource Name (ARN) of the CMK. For example: Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey." +} +""" +GetKeyPolicy(args) = kms("GetKeyPolicy", args) + +""" + ListKeys() + +Gets a list of all customer master keys (CMKs) in the caller's AWS account and Region. + +Optional Parameters +{ + "Marker": "Use this parameter in a subsequent request after you receive a response with truncated results. Set it to the value of NextMarker from the truncated response you just received.", + "Limit": "Use this parameter to specify the maximum number of items to return. When this value is present, AWS KMS does not return more than the specified number of items, but it might return fewer. This value is optional. If you include a value, it must be between 1 and 1000, inclusive. If you do not include a value, it defaults to 100." +} +""" +ListKeys() = kms("ListKeys") +ListKeys(args) = kms("ListKeys", args) + +""" + UntagResource() + +Removes the specified tags from the specified customer master key (CMK). You cannot perform this operation on a CMK in a different AWS account. To remove a tag, specify the tag key. To change the tag value of an existing tag key, use TagResource. The CMK that you use for this operation must be in a compatible key state. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide. + +Required Parameters +{ + "KeyId": "A unique identifier for the CMK from which you are removing tags. Specify the key ID or the Amazon Resource Name (ARN) of the CMK. For example: Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.", + "TagKeys": "One or more tag keys. Specify only the tag keys, not the tag values." +} +""" +UntagResource(args) = kms("UntagResource", args) + +""" + Sign() + +Creates a digital signature for a message or message digest by using the private key in an asymmetric CMK. To verify the signature, use the Verify operation, or use the public key in the same asymmetric CMK outside of AWS KMS. For information about symmetric and asymmetric CMKs, see Using Symmetric and Asymmetric CMKs in the AWS Key Management Service Developer Guide. Digital signatures are generated and verified by using asymmetric key pair, such as an RSA or ECC pair that is represented by an asymmetric customer master key (CMK). The key owner (or an authorized user) uses their private key to sign a message. Anyone with the public key can verify that the message was signed with that particular private key and that the message hasn't changed since it was signed. To use the Sign operation, provide the following information: Use the KeyId parameter to identify an asymmetric CMK with a KeyUsage value of SIGN_VERIFY. To get the KeyUsage value of a CMK, use the DescribeKey operation. The caller must have kms:Sign permission on the CMK. Use the Message parameter to specify the message or message digest to sign. You can submit messages of up to 4096 bytes. To sign a larger message, generate a hash digest of the message, and then provide the hash digest in the Message parameter. To indicate whether the message is a full message or a digest, use the MessageType parameter. Choose a signing algorithm that is compatible with the CMK. When signing a message, be sure to record the CMK and the signing algorithm. This information is required to verify the signature. To verify the signature that this operation generates, use the Verify operation. Or use the GetPublicKey operation to download the public key and then use the public key to verify the signature outside of AWS KMS. The CMK that you use for this operation must be in a compatible key state. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide. + +Required Parameters +{ + "Message": "Specifies the message or message digest to sign. Messages can be 0-4096 bytes. To sign a larger message, provide the message digest. If you provide a message, AWS KMS generates a hash digest of the message and then signs it.", + "KeyId": "Identifies an asymmetric CMK. AWS KMS uses the private key in the asymmetric CMK to sign the message. The KeyUsage type of the CMK must be SIGN_VERIFY. To find the KeyUsage of a CMK, use the DescribeKey operation. To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. When using an alias name, prefix it with \"alias/\". To specify a CMK in a different AWS account, you must use the key ARN or alias ARN. For example: Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab Alias name: alias/ExampleAlias Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey. To get the alias name and alias ARN, use ListAliases.", + "SigningAlgorithm": "Specifies the signing algorithm to use when signing the message. Choose an algorithm that is compatible with the type and size of the specified asymmetric CMK." +} + +Optional Parameters +{ + "GrantTokens": "A list of grant tokens. For more information, see Grant Tokens in the AWS Key Management Service Developer Guide.", + "MessageType": "Tells AWS KMS whether the value of the Message parameter is a message or message digest. The default value, RAW, indicates a message. To indicate a message digest, enter DIGEST." +} +""" +Sign(args) = kms("Sign", args) + +""" + ReEncrypt() + +Decrypts ciphertext and then reencrypts it entirely within AWS KMS. You can use this operation to change the customer master key (CMK) under which data is encrypted, such as when you manually rotate a CMK or change the CMK that protects a ciphertext. You can also use it to reencrypt ciphertext under the same CMK, such as to change the encryption context of a ciphertext. The ReEncrypt operation can decrypt ciphertext that was encrypted by using an AWS KMS CMK in an AWS KMS operation, such as Encrypt or GenerateDataKey. It can also decrypt ciphertext that was encrypted by using the public key of an asymmetric CMK outside of AWS KMS. However, it cannot decrypt ciphertext produced by other libraries, such as the AWS Encryption SDK or Amazon S3 client-side encryption. These libraries return a ciphertext format that is incompatible with AWS KMS. When you use the ReEncrypt operation, you need to provide information for the decrypt operation and the subsequent encrypt operation. If your ciphertext was encrypted under an asymmetric CMK, you must identify the source CMK, that is, the CMK that encrypted the ciphertext. You must also supply the encryption algorithm that was used. This information is required to decrypt the data. It is optional, but you can specify a source CMK even when the ciphertext was encrypted under a symmetric CMK. This ensures that the ciphertext is decrypted only by using a particular CMK. If the CMK that you specify cannot decrypt the ciphertext, the ReEncrypt operation fails. To reencrypt the data, you must specify the destination CMK, that is, the CMK that re-encrypts the data after it is decrypted. You can select a symmetric or asymmetric CMK. If the destination CMK is an asymmetric CMK, you must also provide the encryption algorithm. The algorithm that you choose must be compatible with the CMK. When you use an asymmetric CMK to encrypt or reencrypt data, be sure to record the CMK and encryption algorithm that you choose. You will be required to provide the same CMK and encryption algorithm when you decrypt the data. If the CMK and algorithm do not match the values used to encrypt the data, the decrypt operation fails. You are not required to supply the CMK ID and encryption algorithm when you decrypt with symmetric CMKs because AWS KMS stores this information in the ciphertext blob. AWS KMS cannot store metadata in ciphertext generated with asymmetric keys. The standard format for asymmetric key ciphertext does not include configurable fields. Unlike other AWS KMS API operations, ReEncrypt callers must have two permissions: kms:EncryptFrom permission on the source CMK kms:EncryptTo permission on the destination CMK To permit reencryption from or to a CMK, include the "kms:ReEncrypt*" permission in your key policy. This permission is automatically included in the key policy when you use the console to create a CMK. But you must include it manually when you create a CMK programmatically or when you use the PutKeyPolicy operation set a key policy. The CMK that you use for this operation must be in a compatible key state. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide. + +Required Parameters +{ + "CiphertextBlob": "Ciphertext of the data to reencrypt.", + "DestinationKeyId": "A unique identifier for the CMK that is used to reencrypt the data. Specify a symmetric or asymmetric CMK with a KeyUsage value of ENCRYPT_DECRYPT. To find the KeyUsage value of a CMK, use the DescribeKey operation. To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. When using an alias name, prefix it with \"alias/\". To specify a CMK in a different AWS account, you must use the key ARN or alias ARN. For example: Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab Alias name: alias/ExampleAlias Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey. To get the alias name and alias ARN, use ListAliases." +} + +Optional Parameters +{ + "SourceEncryptionAlgorithm": "Specifies the encryption algorithm that AWS KMS will use to decrypt the ciphertext before it is reencrypted. The default value, SYMMETRIC_DEFAULT, represents the algorithm used for symmetric CMKs. Specify the same algorithm that was used to encrypt the ciphertext. If you specify a different algorithm, the decrypt attempt fails. This parameter is required only when the ciphertext was encrypted under an asymmetric CMK.", + "SourceKeyId": "A unique identifier for the CMK that is used to decrypt the ciphertext before it reencrypts it using the destination CMK. This parameter is required only when the ciphertext was encrypted under an asymmetric CMK. Otherwise, AWS KMS uses the metadata that it adds to the ciphertext blob to determine which CMK was used to encrypt the ciphertext. However, you can use this parameter to ensure that a particular CMK (of any kind) is used to decrypt the ciphertext before it is reencrypted. If you specify a KeyId value, the decrypt part of the ReEncrypt operation succeeds only if the specified CMK was used to encrypt the ciphertext. To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. When using an alias name, prefix it with \"alias/\". For example: Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab Alias name: alias/ExampleAlias Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey. To get the alias name and alias ARN, use ListAliases.", + "DestinationEncryptionAlgorithm": "Specifies the encryption algorithm that AWS KMS will use to reecrypt the data after it has decrypted it. The default value, SYMMETRIC_DEFAULT, represents the encryption algorithm used for symmetric CMKs. This parameter is required only when the destination CMK is an asymmetric CMK.", + "GrantTokens": "A list of grant tokens. For more information, see Grant Tokens in the AWS Key Management Service Developer Guide.", + "SourceEncryptionContext": "Specifies the encryption context to use to decrypt the ciphertext. Enter the same encryption context that was used to encrypt the ciphertext. An encryption context is a collection of non-secret key-value pairs that represents additional authenticated data. When you use an encryption context to encrypt data, you must specify the same (an exact case-sensitive match) encryption context to decrypt the data. An encryption context is optional when encrypting with a symmetric CMK, but it is highly recommended. For more information, see Encryption Context in the AWS Key Management Service Developer Guide.", + "DestinationEncryptionContext": "Specifies that encryption context to use when the reencrypting the data. A destination encryption context is valid only when the destination CMK is a symmetric CMK. The standard ciphertext format for asymmetric CMKs does not include fields for metadata. An encryption context is a collection of non-secret key-value pairs that represents additional authenticated data. When you use an encryption context to encrypt data, you must specify the same (an exact case-sensitive match) encryption context to decrypt the data. An encryption context is optional when encrypting with a symmetric CMK, but it is highly recommended. For more information, see Encryption Context in the AWS Key Management Service Developer Guide." +} +""" +ReEncrypt(args) = kms("ReEncrypt", args) + +""" + EnableKeyRotation() + +Enables automatic rotation of the key material for the specified symmetric customer master key (CMK). You cannot perform this operation on a CMK in a different AWS account. You cannot enable automatic rotation of asymmetric CMKs, CMKs with imported key material, or CMKs in a custom key store. The CMK that you use for this operation must be in a compatible key state. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide. + +Required Parameters +{ + "KeyId": "Identifies a symmetric customer master key (CMK). You cannot enable automatic rotation of asymmetric CMKs, CMKs with imported key material, or CMKs in a custom key store. Specify the key ID or the Amazon Resource Name (ARN) of the CMK. For example: Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey." +} +""" +EnableKeyRotation(args) = kms("EnableKeyRotation", args) + +""" + CreateCustomKeyStore() + +Creates a custom key store that is associated with an AWS CloudHSM cluster that you own and manage. This operation is part of the Custom Key Store feature feature in AWS KMS, which combines the convenience and extensive integration of AWS KMS with the isolation and control of a single-tenant key store. Before you create the custom key store, you must assemble the required elements, including an AWS CloudHSM cluster that fulfills the requirements for a custom key store. For details about the required elements, see Assemble the Prerequisites in the AWS Key Management Service Developer Guide. When the operation completes successfully, it returns the ID of the new custom key store. Before you can use your new custom key store, you need to use the ConnectCustomKeyStore operation to connect the new key store to its AWS CloudHSM cluster. Even if you are not going to use your custom key store immediately, you might want to connect it to verify that all settings are correct and then disconnect it until you are ready to use it. For help with failures, see Troubleshooting a Custom Key Store in the AWS Key Management Service Developer Guide. + +Required Parameters +{ + "CloudHsmClusterId": "Identifies the AWS CloudHSM cluster for the custom key store. Enter the cluster ID of any active AWS CloudHSM cluster that is not already associated with a custom key store. To find the cluster ID, use the DescribeClusters operation.", + "CustomKeyStoreName": "Specifies a friendly name for the custom key store. The name must be unique in your AWS account.", + "KeyStorePassword": "Enter the password of the kmsuser crypto user (CU) account in the specified AWS CloudHSM cluster. AWS KMS logs into the cluster as this user to manage key material on your behalf. The password must be a string of 7 to 32 characters. Its value is case sensitive. This parameter tells AWS KMS the kmsuser account password; it does not change the password in the AWS CloudHSM cluster.", + "TrustAnchorCertificate": "Enter the content of the trust anchor certificate for the cluster. This is the content of the customerCA.crt file that you created when you initialized the cluster." +} +""" +CreateCustomKeyStore(args) = kms("CreateCustomKeyStore", args) + +""" + GenerateDataKeyPair() + +Generates a unique asymmetric data key pair. The GenerateDataKeyPair operation returns a plaintext public key, a plaintext private key, and a copy of the private key that is encrypted under the symmetric CMK you specify. You can use the data key pair to perform asymmetric cryptography outside of AWS KMS. GenerateDataKeyPair returns a unique data key pair for each request. The bytes in the keys are not related to the caller or the CMK that is used to encrypt the private key. You can use the public key that GenerateDataKeyPair returns to encrypt data or verify a signature outside of AWS KMS. Then, store the encrypted private key with the data. When you are ready to decrypt data or sign a message, you can use the Decrypt operation to decrypt the encrypted private key. To generate a data key pair, you must specify a symmetric customer master key (CMK) to encrypt the private key in a data key pair. You cannot use an asymmetric CMK. To get the type of your CMK, use the DescribeKey operation. If you are using the data key pair to encrypt data, or for any operation where you don't immediately need a private key, consider using the GenerateDataKeyPairWithoutPlaintext operation. GenerateDataKeyPairWithoutPlaintext returns a plaintext public key and an encrypted private key, but omits the plaintext private key that you need only to decrypt ciphertext or sign a message. Later, when you need to decrypt the data or sign a message, use the Decrypt operation to decrypt the encrypted private key in the data key pair. You can use the optional encryption context to add additional security to the encryption operation. If you specify an EncryptionContext, you must specify the same encryption context (a case-sensitive exact match) when decrypting the encrypted data key. Otherwise, the request to decrypt fails with an InvalidCiphertextException. For more information, see Encryption Context in the AWS Key Management Service Developer Guide. The CMK that you use for this operation must be in a compatible key state. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide. + +Required Parameters +{ + "KeyPairSpec": "Determines the type of data key pair that is generated. The AWS KMS rule that restricts the use of asymmetric RSA CMKs to encrypt and decrypt or to sign and verify (but not both), and the rule that permits you to use ECC CMKs only to sign and verify, are not effective outside of AWS KMS.", + "KeyId": "Specifies the symmetric CMK that encrypts the private key in the data key pair. You cannot specify an asymmetric CMKs. To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. When using an alias name, prefix it with \"alias/\". To specify a CMK in a different AWS account, you must use the key ARN or alias ARN. For example: Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab Alias name: alias/ExampleAlias Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey. To get the alias name and alias ARN, use ListAliases." +} + +Optional Parameters +{ + "GrantTokens": "A list of grant tokens. For more information, see Grant Tokens in the AWS Key Management Service Developer Guide.", + "EncryptionContext": "Specifies the encryption context that will be used when encrypting the private key in the data key pair. An encryption context is a collection of non-secret key-value pairs that represents additional authenticated data. When you use an encryption context to encrypt data, you must specify the same (an exact case-sensitive match) encryption context to decrypt the data. An encryption context is optional when encrypting with a symmetric CMK, but it is highly recommended. For more information, see Encryption Context in the AWS Key Management Service Developer Guide." +} +""" +GenerateDataKeyPair(args) = kms("GenerateDataKeyPair", args) + +""" + DeleteCustomKeyStore() + +Deletes a custom key store. This operation does not delete the AWS CloudHSM cluster that is associated with the custom key store, or affect any users or keys in the cluster. The custom key store that you delete cannot contain any AWS KMS customer master keys (CMKs). Before deleting the key store, verify that you will never need to use any of the CMKs in the key store for any cryptographic operations. Then, use ScheduleKeyDeletion to delete the AWS KMS customer master keys (CMKs) from the key store. When the scheduled waiting period expires, the ScheduleKeyDeletion operation deletes the CMKs. Then it makes a best effort to delete the key material from the associated cluster. However, you might need to manually delete the orphaned key material from the cluster and its backups. After all CMKs are deleted from AWS KMS, use DisconnectCustomKeyStore to disconnect the key store from AWS KMS. Then, you can delete the custom key store. Instead of deleting the custom key store, consider using DisconnectCustomKeyStore to disconnect it from AWS KMS. While the key store is disconnected, you cannot create or use the CMKs in the key store. But, you do not need to delete CMKs and you can reconnect a disconnected custom key store at any time. If the operation succeeds, it returns a JSON object with no properties. This operation is part of the Custom Key Store feature feature in AWS KMS, which combines the convenience and extensive integration of AWS KMS with the isolation and control of a single-tenant key store. + +Required Parameters +{ + "CustomKeyStoreId": "Enter the ID of the custom key store you want to delete. To find the ID of a custom key store, use the DescribeCustomKeyStores operation." +} +""" +DeleteCustomKeyStore(args) = kms("DeleteCustomKeyStore", args) + +""" + GenerateDataKeyPairWithoutPlaintext() + +Generates a unique asymmetric data key pair. The GenerateDataKeyPairWithoutPlaintext operation returns a plaintext public key and a copy of the private key that is encrypted under the symmetric CMK you specify. Unlike GenerateDataKeyPair, this operation does not return a plaintext private key. To generate a data key pair, you must specify a symmetric customer master key (CMK) to encrypt the private key in the data key pair. You cannot use an asymmetric CMK. To get the type of your CMK, use the KeySpec field in the DescribeKey response. You can use the public key that GenerateDataKeyPairWithoutPlaintext returns to encrypt data or verify a signature outside of AWS KMS. Then, store the encrypted private key with the data. When you are ready to decrypt data or sign a message, you can use the Decrypt operation to decrypt the encrypted private key. GenerateDataKeyPairWithoutPlaintext returns a unique data key pair for each request. The bytes in the key are not related to the caller or CMK that is used to encrypt the private key. You can use the optional encryption context to add additional security to the encryption operation. If you specify an EncryptionContext, you must specify the same encryption context (a case-sensitive exact match) when decrypting the encrypted data key. Otherwise, the request to decrypt fails with an InvalidCiphertextException. For more information, see Encryption Context in the AWS Key Management Service Developer Guide. The CMK that you use for this operation must be in a compatible key state. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide. + +Required Parameters +{ + "KeyPairSpec": "Determines the type of data key pair that is generated. The AWS KMS rule that restricts the use of asymmetric RSA CMKs to encrypt and decrypt or to sign and verify (but not both), and the rule that permits you to use ECC CMKs only to sign and verify, are not effective outside of AWS KMS.", + "KeyId": "Specifies the CMK that encrypts the private key in the data key pair. You must specify a symmetric CMK. You cannot use an asymmetric CMK. To get the type of your CMK, use the DescribeKey operation. To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. When using an alias name, prefix it with \"alias/\". For example: Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab Alias name: alias/ExampleAlias Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey. To get the alias name and alias ARN, use ListAliases." +} + +Optional Parameters +{ + "GrantTokens": "A list of grant tokens. For more information, see Grant Tokens in the AWS Key Management Service Developer Guide.", + "EncryptionContext": "Specifies the encryption context that will be used when encrypting the private key in the data key pair. An encryption context is a collection of non-secret key-value pairs that represents additional authenticated data. When you use an encryption context to encrypt data, you must specify the same (an exact case-sensitive match) encryption context to decrypt the data. An encryption context is optional when encrypting with a symmetric CMK, but it is highly recommended. For more information, see Encryption Context in the AWS Key Management Service Developer Guide." +} +""" +GenerateDataKeyPairWithoutPlaintext(args) = kms("GenerateDataKeyPairWithoutPlaintext", args) + +""" + ImportKeyMaterial() + +Imports key material into an existing symmetric AWS KMS customer master key (CMK) that was created without key material. After you successfully import key material into a CMK, you can reimport the same key material into that CMK, but you cannot import different key material. You cannot perform this operation on an asymmetric CMK or on any CMK in a different AWS account. For more information about creating CMKs with no key material and then importing key material, see Importing Key Material in the AWS Key Management Service Developer Guide. Before using this operation, call GetParametersForImport. Its response includes a public key and an import token. Use the public key to encrypt the key material. Then, submit the import token from the same GetParametersForImport response. When calling this operation, you must specify the following values: The key ID or key ARN of a CMK with no key material. Its Origin must be EXTERNAL. To create a CMK with no key material, call CreateKey and set the value of its Origin parameter to EXTERNAL. To get the Origin of a CMK, call DescribeKey.) The encrypted key material. To get the public key to encrypt the key material, call GetParametersForImport. The import token that GetParametersForImport returned. You must use a public key and token from the same GetParametersForImport response. Whether the key material expires and if so, when. If you set an expiration date, AWS KMS deletes the key material from the CMK on the specified date, and the CMK becomes unusable. To use the CMK again, you must reimport the same key material. The only way to change an expiration date is by reimporting the same key material and specifying a new expiration date. When this operation is successful, the key state of the CMK changes from PendingImport to Enabled, and you can use the CMK. If this operation fails, use the exception to help determine the problem. If the error is related to the key material, the import token, or wrapping key, use GetParametersForImport to get a new public key and import token for the CMK and repeat the import procedure. For help, see How To Import Key Material in the AWS Key Management Service Developer Guide. The CMK that you use for this operation must be in a compatible key state. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide. + +Required Parameters +{ + "EncryptedKeyMaterial": "The encrypted key material to import. The key material must be encrypted with the public wrapping key that GetParametersForImport returned, using the wrapping algorithm that you specified in the same GetParametersForImport request.", + "ImportToken": "The import token that you received in the response to a previous GetParametersForImport request. It must be from the same response that contained the public key that you used to encrypt the key material.", + "KeyId": "The identifier of the symmetric CMK that receives the imported key material. The CMK's Origin must be EXTERNAL. This must be the same CMK specified in the KeyID parameter of the corresponding GetParametersForImport request. Specify the key ID or the Amazon Resource Name (ARN) of the CMK. For example: Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey." +} + +Optional Parameters +{ + "ExpirationModel": "Specifies whether the key material expires. The default is KEY_MATERIAL_EXPIRES, in which case you must include the ValidTo parameter. When this parameter is set to KEY_MATERIAL_DOES_NOT_EXPIRE, you must omit the ValidTo parameter.", + "ValidTo": "The time at which the imported key material expires. When the key material expires, AWS KMS deletes the key material and the CMK becomes unusable. You must omit this parameter when the ExpirationModel parameter is set to KEY_MATERIAL_DOES_NOT_EXPIRE. Otherwise it is required." +} +""" +ImportKeyMaterial(args) = kms("ImportKeyMaterial", args) + +""" + GetKeyRotationStatus() + +Gets a Boolean value that indicates whether automatic rotation of the key material is enabled for the specified customer master key (CMK). You cannot enable automatic rotation of asymmetric CMKs, CMKs with imported key material, or CMKs in a custom key store. The key rotation status for these CMKs is always false. The CMK that you use for this operation must be in a compatible key state. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide. Disabled: The key rotation status does not change when you disable a CMK. However, while the CMK is disabled, AWS KMS does not rotate the backing key. Pending deletion: While a CMK is pending deletion, its key rotation status is false and AWS KMS does not rotate the backing key. If you cancel the deletion, the original key rotation status is restored. To perform this operation on a CMK in a different AWS account, specify the key ARN in the value of the KeyId parameter. + +Required Parameters +{ + "KeyId": "A unique identifier for the customer master key (CMK). Specify the key ID or the Amazon Resource Name (ARN) of the CMK. To specify a CMK in a different AWS account, you must use the key ARN. For example: Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey." +} +""" +GetKeyRotationStatus(args) = kms("GetKeyRotationStatus", args) + +""" + UpdateAlias() + +Associates an existing AWS KMS alias with a different customer master key (CMK). Each alias is associated with only one CMK at a time, although a CMK can have multiple aliases. The alias and the CMK must be in the same AWS account and region. You cannot perform this operation on an alias in a different AWS account. The current and new CMK must be the same type (both symmetric or both asymmetric), and they must have the same key usage (ENCRYPT_DECRYPT or SIGN_VERIFY). This restriction prevents errors in code that uses aliases. If you must assign an alias to a different type of CMK, use DeleteAlias to delete the old alias and CreateAlias to create a new alias. You cannot use UpdateAlias to change an alias name. To change an alias name, use DeleteAlias to delete the old alias and CreateAlias to create a new alias. Because an alias is not a property of a CMK, you can create, update, and delete the aliases of a CMK without affecting the CMK. Also, aliases do not appear in the response from the DescribeKey operation. To get the aliases of all CMKs in the account, use the ListAliases operation. The CMK that you use for this operation must be in a compatible key state. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide. + +Required Parameters +{ + "TargetKeyId": "Identifies the CMK to associate with the alias. When the update operation completes, the alias will point to this CMK. The CMK must be in the same AWS account and Region as the alias. Also, the new target CMK must be the same type as the current target CMK (both symmetric or both asymmetric) and they must have the same key usage. Specify the key ID or the Amazon Resource Name (ARN) of the CMK. For example: Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey. To verify that the alias is mapped to the correct CMK, use ListAliases.", + "AliasName": "Identifies the alias that is changing its CMK. This value must begin with alias/ followed by the alias name, such as alias/ExampleAlias. You cannot use UpdateAlias to change the alias name." +} +""" +UpdateAlias(args) = kms("UpdateAlias", args) + +""" + ListAliases() + +Gets a list of aliases in the caller's AWS account and region. You cannot list aliases in other accounts. For more information about aliases, see CreateAlias. By default, the ListAliases command returns all aliases in the account and region. To get only the aliases that point to a particular customer master key (CMK), use the KeyId parameter. The ListAliases response can include aliases that you created and associated with your customer managed CMKs, and aliases that AWS created and associated with AWS managed CMKs in your account. You can recognize AWS aliases because their names have the format aws/<service-name>, such as aws/dynamodb. The response might also include aliases that have no TargetKeyId field. These are predefined aliases that AWS has created but has not yet associated with a CMK. Aliases that AWS creates in your account, including predefined aliases, do not count against your AWS KMS aliases quota. + +Optional Parameters +{ + "Marker": "Use this parameter in a subsequent request after you receive a response with truncated results. Set it to the value of NextMarker from the truncated response you just received.", + "KeyId": "Lists only aliases that refer to the specified CMK. The value of this parameter can be the ID or Amazon Resource Name (ARN) of a CMK in the caller's account and region. You cannot use an alias name or alias ARN in this value. This parameter is optional. If you omit it, ListAliases returns all aliases in the account and region.", + "Limit": "Use this parameter to specify the maximum number of items to return. When this value is present, AWS KMS does not return more than the specified number of items, but it might return fewer. This value is optional. If you include a value, it must be between 1 and 100, inclusive. If you do not include a value, it defaults to 50." +} +""" +ListAliases() = kms("ListAliases") +ListAliases(args) = kms("ListAliases", args) + +""" + CancelKeyDeletion() + +Cancels the deletion of a customer master key (CMK). When this operation succeeds, the key state of the CMK is Disabled. To enable the CMK, use EnableKey. You cannot perform this operation on a CMK in a different AWS account. For more information about scheduling and canceling deletion of a CMK, see Deleting Customer Master Keys in the AWS Key Management Service Developer Guide. The CMK that you use for this operation must be in a compatible key state. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide. + +Required Parameters +{ + "KeyId": "The unique identifier for the customer master key (CMK) for which to cancel deletion. Specify the key ID or the Amazon Resource Name (ARN) of the CMK. For example: Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey." +} +""" +CancelKeyDeletion(args) = kms("CancelKeyDeletion", args) + +""" + DisconnectCustomKeyStore() + +Disconnects the custom key store from its associated AWS CloudHSM cluster. While a custom key store is disconnected, you can manage the custom key store and its customer master keys (CMKs), but you cannot create or use CMKs in the custom key store. You can reconnect the custom key store at any time. While a custom key store is disconnected, all attempts to create customer master keys (CMKs) in the custom key store or to use existing CMKs in cryptographic operations will fail. This action can prevent users from storing and accessing sensitive data. To find the connection state of a custom key store, use the DescribeCustomKeyStores operation. To reconnect a custom key store, use the ConnectCustomKeyStore operation. If the operation succeeds, it returns a JSON object with no properties. This operation is part of the Custom Key Store feature feature in AWS KMS, which combines the convenience and extensive integration of AWS KMS with the isolation and control of a single-tenant key store. + +Required Parameters +{ + "CustomKeyStoreId": "Enter the ID of the custom key store you want to disconnect. To find the ID of a custom key store, use the DescribeCustomKeyStores operation." +} +""" +DisconnectCustomKeyStore(args) = kms("DisconnectCustomKeyStore", args) + +""" + EnableKey() + +Sets the key state of a customer master key (CMK) to enabled. This allows you to use the CMK for cryptographic operations. You cannot perform this operation on a CMK in a different AWS account. The CMK that you use for this operation must be in a compatible key state. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide. + +Required Parameters +{ + "KeyId": "A unique identifier for the customer master key (CMK). Specify the key ID or the Amazon Resource Name (ARN) of the CMK. For example: Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey." +} +""" +EnableKey(args) = kms("EnableKey", args) + +""" + ListGrants() + +Gets a list of all grants for the specified customer master key (CMK). To perform this operation on a CMK in a different AWS account, specify the key ARN in the value of the KeyId parameter. + +Required Parameters +{ + "KeyId": "A unique identifier for the customer master key (CMK). Specify the key ID or the Amazon Resource Name (ARN) of the CMK. To specify a CMK in a different AWS account, you must use the key ARN. For example: Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey." +} + +Optional Parameters +{ + "Marker": "Use this parameter in a subsequent request after you receive a response with truncated results. Set it to the value of NextMarker from the truncated response you just received.", + "Limit": "Use this parameter to specify the maximum number of items to return. When this value is present, AWS KMS does not return more than the specified number of items, but it might return fewer. This value is optional. If you include a value, it must be between 1 and 100, inclusive. If you do not include a value, it defaults to 50." +} +""" +ListGrants(args) = kms("ListGrants", args) + +""" + Encrypt() + +Encrypts plaintext into ciphertext by using a customer master key (CMK). The Encrypt operation has two primary use cases: You can encrypt small amounts of arbitrary data, such as a personal identifier or database password, or other sensitive information. You can use the Encrypt operation to move encrypted data from one AWS region to another. In the first region, generate a data key and use the plaintext key to encrypt the data. Then, in the new region, call the Encrypt method on same plaintext data key. Now, you can safely move the encrypted data and encrypted data key to the new region, and decrypt in the new region when necessary. You don't need to use the Encrypt operation to encrypt a data key. The GenerateDataKey and GenerateDataKeyPair operations return a plaintext data key and an encrypted copy of that data key. When you encrypt data, you must specify a symmetric or asymmetric CMK to use in the encryption operation. The CMK must have a KeyUsage value of ENCRYPT_DECRYPT. To find the KeyUsage of a CMK, use the DescribeKey operation. If you use a symmetric CMK, you can use an encryption context to add additional security to your encryption operation. If you specify an EncryptionContext when encrypting data, you must specify the same encryption context (a case-sensitive exact match) when decrypting the data. Otherwise, the request to decrypt fails with an InvalidCiphertextException. For more information, see Encryption Context in the AWS Key Management Service Developer Guide. If you specify an asymmetric CMK, you must also specify the encryption algorithm. The algorithm must be compatible with the CMK type. When you use an asymmetric CMK to encrypt or reencrypt data, be sure to record the CMK and encryption algorithm that you choose. You will be required to provide the same CMK and encryption algorithm when you decrypt the data. If the CMK and algorithm do not match the values used to encrypt the data, the decrypt operation fails. You are not required to supply the CMK ID and encryption algorithm when you decrypt with symmetric CMKs because AWS KMS stores this information in the ciphertext blob. AWS KMS cannot store metadata in ciphertext generated with asymmetric keys. The standard format for asymmetric key ciphertext does not include configurable fields. The maximum size of the data that you can encrypt varies with the type of CMK and the encryption algorithm that you choose. Symmetric CMKs SYMMETRIC_DEFAULT: 4096 bytes RSA_2048 RSAES_OAEP_SHA_1: 214 bytes RSAES_OAEP_SHA_256: 190 bytes RSA_3072 RSAES_OAEP_SHA_1: 342 bytes RSAES_OAEP_SHA_256: 318 bytes RSA_4096 RSAES_OAEP_SHA_1: 470 bytes RSAES_OAEP_SHA_256: 446 bytes The CMK that you use for this operation must be in a compatible key state. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide. To perform this operation on a CMK in a different AWS account, specify the key ARN or alias ARN in the value of the KeyId parameter. + +Required Parameters +{ + "Plaintext": "Data to be encrypted.", + "KeyId": "A unique identifier for the customer master key (CMK). To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. When using an alias name, prefix it with \"alias/\". To specify a CMK in a different AWS account, you must use the key ARN or alias ARN. For example: Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab Alias name: alias/ExampleAlias Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey. To get the alias name and alias ARN, use ListAliases." +} + +Optional Parameters +{ + "EncryptionAlgorithm": "Specifies the encryption algorithm that AWS KMS will use to encrypt the plaintext message. The algorithm must be compatible with the CMK that you specify. This parameter is required only for asymmetric CMKs. The default value, SYMMETRIC_DEFAULT, is the algorithm used for symmetric CMKs. If you are using an asymmetric CMK, we recommend RSAES_OAEP_SHA_256.", + "GrantTokens": "A list of grant tokens. For more information, see Grant Tokens in the AWS Key Management Service Developer Guide.", + "EncryptionContext": "Specifies the encryption context that will be used to encrypt the data. An encryption context is valid only for cryptographic operations with a symmetric CMK. The standard asymmetric encryption algorithms that AWS KMS uses do not support an encryption context. An encryption context is a collection of non-secret key-value pairs that represents additional authenticated data. When you use an encryption context to encrypt data, you must specify the same (an exact case-sensitive match) encryption context to decrypt the data. An encryption context is optional when encrypting with a symmetric CMK, but it is highly recommended. For more information, see Encryption Context in the AWS Key Management Service Developer Guide." +} +""" +Encrypt(args) = kms("Encrypt", args) + +""" + GetParametersForImport() + +Returns the items you need to import key material into a symmetric, customer managed customer master key (CMK). For more information about importing key material into AWS KMS, see Importing Key Material in the AWS Key Management Service Developer Guide. This operation returns a public key and an import token. Use the public key to encrypt the symmetric key material. Store the import token to send with a subsequent ImportKeyMaterial request. You must specify the key ID of the symmetric CMK into which you will import key material. This CMK's Origin must be EXTERNAL. You must also specify the wrapping algorithm and type of wrapping key (public key) that you will use to encrypt the key material. You cannot perform this operation on an asymmetric CMK or on any CMK in a different AWS account. To import key material, you must use the public key and import token from the same response. These items are valid for 24 hours. The expiration date and time appear in the GetParametersForImport response. You cannot use an expired token in an ImportKeyMaterial request. If your key and token expire, send another GetParametersForImport request. The CMK that you use for this operation must be in a compatible key state. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide. + +Required Parameters +{ + "WrappingKeySpec": "The type of wrapping key (public key) to return in the response. Only 2048-bit RSA public keys are supported.", + "KeyId": "The identifier of the symmetric CMK into which you will import key material. The Origin of the CMK must be EXTERNAL. Specify the key ID or the Amazon Resource Name (ARN) of the CMK. For example: Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.", + "WrappingAlgorithm": "The algorithm you will use to encrypt the key material before importing it with ImportKeyMaterial. For more information, see Encrypt the Key Material in the AWS Key Management Service Developer Guide." +} +""" +GetParametersForImport(args) = kms("GetParametersForImport", args) + +""" + ListRetirableGrants() + +Returns a list of all grants for which the grant's RetiringPrincipal matches the one specified. A typical use is to list all grants that you are able to retire. To retire a grant, use RetireGrant. + +Required Parameters +{ + "RetiringPrincipal": "The retiring principal for which to list grants. To specify the retiring principal, use the Amazon Resource Name (ARN) of an AWS principal. Valid AWS principals include AWS accounts (root), IAM users, federated users, and assumed role users. For examples of the ARN syntax for specifying a principal, see AWS Identity and Access Management (IAM) in the Example ARNs section of the Amazon Web Services General Reference." +} + +Optional Parameters +{ + "Marker": "Use this parameter in a subsequent request after you receive a response with truncated results. Set it to the value of NextMarker from the truncated response you just received.", + "Limit": "Use this parameter to specify the maximum number of items to return. When this value is present, AWS KMS does not return more than the specified number of items, but it might return fewer. This value is optional. If you include a value, it must be between 1 and 100, inclusive. If you do not include a value, it defaults to 50." +} +""" +ListRetirableGrants(args) = kms("ListRetirableGrants", args) + +""" + ScheduleKeyDeletion() + +Schedules the deletion of a customer master key (CMK). You may provide a waiting period, specified in days, before deletion occurs. If you do not provide a waiting period, the default period of 30 days is used. When this operation is successful, the key state of the CMK changes to PendingDeletion. Before the waiting period ends, you can use CancelKeyDeletion to cancel the deletion of the CMK. After the waiting period ends, AWS KMS deletes the CMK and all AWS KMS data associated with it, including all aliases that refer to it. Deleting a CMK is a destructive and potentially dangerous operation. When a CMK is deleted, all data that was encrypted under the CMK is unrecoverable. To prevent the use of a CMK without deleting it, use DisableKey. If you schedule deletion of a CMK from a custom key store, when the waiting period expires, ScheduleKeyDeletion deletes the CMK from AWS KMS. Then AWS KMS makes a best effort to delete the key material from the associated AWS CloudHSM cluster. However, you might need to manually delete the orphaned key material from the cluster and its backups. You cannot perform this operation on a CMK in a different AWS account. For more information about scheduling a CMK for deletion, see Deleting Customer Master Keys in the AWS Key Management Service Developer Guide. The CMK that you use for this operation must be in a compatible key state. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide. + +Required Parameters +{ + "KeyId": "The unique identifier of the customer master key (CMK) to delete. Specify the key ID or the Amazon Resource Name (ARN) of the CMK. For example: Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey." +} + +Optional Parameters +{ + "PendingWindowInDays": "The waiting period, specified in number of days. After the waiting period ends, AWS KMS deletes the customer master key (CMK). This value is optional. If you include a value, it must be between 7 and 30, inclusive. If you do not include a value, it defaults to 30." +} +""" +ScheduleKeyDeletion(args) = kms("ScheduleKeyDeletion", args) + +""" + GenerateDataKey() + +Generates a unique symmetric data key. This operation returns a plaintext copy of the data key and a copy that is encrypted under a customer master key (CMK) that you specify. You can use the plaintext key to encrypt your data outside of AWS KMS and store the encrypted data key with the encrypted data. GenerateDataKey returns a unique data key for each request. The bytes in the key are not related to the caller or CMK that is used to encrypt the data key. To generate a data key, specify the symmetric CMK that will be used to encrypt the data key. You cannot use an asymmetric CMK to generate data keys. To get the type of your CMK, use the DescribeKey operation. You must also specify the length of the data key. Use either the KeySpec or NumberOfBytes parameters (but not both). For 128-bit and 256-bit data keys, use the KeySpec parameter. If the operation succeeds, the plaintext copy of the data key is in the Plaintext field of the response, and the encrypted copy of the data key in the CiphertextBlob field. To get only an encrypted copy of the data key, use GenerateDataKeyWithoutPlaintext. To generate an asymmetric data key pair, use the GenerateDataKeyPair or GenerateDataKeyPairWithoutPlaintext operation. To get a cryptographically secure random byte string, use GenerateRandom. You can use the optional encryption context to add additional security to the encryption operation. If you specify an EncryptionContext, you must specify the same encryption context (a case-sensitive exact match) when decrypting the encrypted data key. Otherwise, the request to decrypt fails with an InvalidCiphertextException. For more information, see Encryption Context in the AWS Key Management Service Developer Guide. The CMK that you use for this operation must be in a compatible key state. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide. We recommend that you use the following pattern to encrypt data locally in your application: Use the GenerateDataKey operation to get a data encryption key. Use the plaintext data key (returned in the Plaintext field of the response) to encrypt data locally, then erase the plaintext data key from memory. Store the encrypted data key (returned in the CiphertextBlob field of the response) alongside the locally encrypted data. To decrypt data locally: Use the Decrypt operation to decrypt the encrypted data key. The operation returns a plaintext copy of the data key. Use the plaintext data key to decrypt data locally, then erase the plaintext data key from memory. + +Required Parameters +{ + "KeyId": "Identifies the symmetric CMK that encrypts the data key. To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. When using an alias name, prefix it with \"alias/\". To specify a CMK in a different AWS account, you must use the key ARN or alias ARN. For example: Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab Alias name: alias/ExampleAlias Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey. To get the alias name and alias ARN, use ListAliases." +} + +Optional Parameters +{ + "KeySpec": "Specifies the length of the data key. Use AES_128 to generate a 128-bit symmetric key, or AES_256 to generate a 256-bit symmetric key. You must specify either the KeySpec or the NumberOfBytes parameter (but not both) in every GenerateDataKey request.", + "NumberOfBytes": "Specifies the length of the data key in bytes. For example, use the value 64 to generate a 512-bit data key (64 bytes is 512 bits). For 128-bit (16-byte) and 256-bit (32-byte) data keys, use the KeySpec parameter. You must specify either the KeySpec or the NumberOfBytes parameter (but not both) in every GenerateDataKey request.", + "GrantTokens": "A list of grant tokens. For more information, see Grant Tokens in the AWS Key Management Service Developer Guide.", + "EncryptionContext": "Specifies the encryption context that will be used when encrypting the data key. An encryption context is a collection of non-secret key-value pairs that represents additional authenticated data. When you use an encryption context to encrypt data, you must specify the same (an exact case-sensitive match) encryption context to decrypt the data. An encryption context is optional when encrypting with a symmetric CMK, but it is highly recommended. For more information, see Encryption Context in the AWS Key Management Service Developer Guide." +} +""" +GenerateDataKey(args) = kms("GenerateDataKey", args) + +""" + CreateGrant() + +Adds a grant to a customer master key (CMK). The grant allows the grantee principal to use the CMK when the conditions specified in the grant are met. When setting permissions, grants are an alternative to key policies. To create a grant that allows a cryptographic operation only when the request includes a particular encryption context, use the Constraints parameter. For details, see GrantConstraints. You can create grants on symmetric and asymmetric CMKs. However, if the grant allows an operation that the CMK does not support, CreateGrant fails with a ValidationException. Grants for symmetric CMKs cannot allow operations that are not supported for symmetric CMKs, including Sign, Verify, and GetPublicKey. (There are limited exceptions to this rule for legacy operations, but you should not create a grant for an operation that AWS KMS does not support.) Grants for asymmetric CMKs cannot allow operations that are not supported for asymmetric CMKs, including operations that generate data keys or data key pairs, or operations related to automatic key rotation, imported key material, or CMKs in custom key stores. Grants for asymmetric CMKs with a KeyUsage of ENCRYPT_DECRYPT cannot allow the Sign or Verify operations. Grants for asymmetric CMKs with a KeyUsage of SIGN_VERIFY cannot allow the Encrypt or Decrypt operations. Grants for asymmetric CMKs cannot include an encryption context grant constraint. An encryption context is not supported on asymmetric CMKs. For information about symmetric and asymmetric CMKs, see Using Symmetric and Asymmetric CMKs in the AWS Key Management Service Developer Guide. To perform this operation on a CMK in a different AWS account, specify the key ARN in the value of the KeyId parameter. For more information about grants, see Grants in the AWS Key Management Service Developer Guide . The CMK that you use for this operation must be in a compatible key state. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide. + +Required Parameters +{ + "Operations": "A list of operations that the grant permits.", + "KeyId": "The unique identifier for the customer master key (CMK) that the grant applies to. Specify the key ID or the Amazon Resource Name (ARN) of the CMK. To specify a CMK in a different AWS account, you must use the key ARN. For example: Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.", + "GranteePrincipal": "The principal that is given permission to perform the operations that the grant permits. To specify the principal, use the Amazon Resource Name (ARN) of an AWS principal. Valid AWS principals include AWS accounts (root), IAM users, IAM roles, federated users, and assumed role users. For examples of the ARN syntax to use for specifying a principal, see AWS Identity and Access Management (IAM) in the Example ARNs section of the AWS General Reference." +} + +Optional Parameters +{ + "RetiringPrincipal": "The principal that is given permission to retire the grant by using RetireGrant operation. To specify the principal, use the Amazon Resource Name (ARN) of an AWS principal. Valid AWS principals include AWS accounts (root), IAM users, federated users, and assumed role users. For examples of the ARN syntax to use for specifying a principal, see AWS Identity and Access Management (IAM) in the Example ARNs section of the AWS General Reference.", + "Constraints": "Allows a cryptographic operation only when the encryption context matches or includes the encryption context specified in this structure. For more information about encryption context, see Encryption Context in the AWS Key Management Service Developer Guide .", + "GrantTokens": "A list of grant tokens. For more information, see Grant Tokens in the AWS Key Management Service Developer Guide.", + "Name": "A friendly name for identifying the grant. Use this value to prevent the unintended creation of duplicate grants when retrying this request. When this value is absent, all CreateGrant requests result in a new grant with a unique GrantId even if all the supplied parameters are identical. This can result in unintended duplicates when you retry the CreateGrant request. When this value is present, you can retry a CreateGrant request with identical parameters; if the grant already exists, the original GrantId is returned without creating a new grant. Note that the returned grant token is unique with every CreateGrant request, even when a duplicate GrantId is returned. All grant tokens obtained in this way can be used interchangeably." +} +""" +CreateGrant(args) = kms("CreateGrant", args) + +""" + GenerateDataKeyWithoutPlaintext() + +Generates a unique symmetric data key. This operation returns a data key that is encrypted under a customer master key (CMK) that you specify. To request an asymmetric data key pair, use the GenerateDataKeyPair or GenerateDataKeyPairWithoutPlaintext operations. GenerateDataKeyWithoutPlaintext is identical to the GenerateDataKey operation except that returns only the encrypted copy of the data key. This operation is useful for systems that need to encrypt data at some point, but not immediately. When you need to encrypt the data, you call the Decrypt operation on the encrypted copy of the key. It's also useful in distributed systems with different levels of trust. For example, you might store encrypted data in containers. One component of your system creates new containers and stores an encrypted data key with each container. Then, a different component puts the data into the containers. That component first decrypts the data key, uses the plaintext data key to encrypt data, puts the encrypted data into the container, and then destroys the plaintext data key. In this system, the component that creates the containers never sees the plaintext data key. GenerateDataKeyWithoutPlaintext returns a unique data key for each request. The bytes in the keys are not related to the caller or CMK that is used to encrypt the private key. To generate a data key, you must specify the symmetric customer master key (CMK) that is used to encrypt the data key. You cannot use an asymmetric CMK to generate a data key. To get the type of your CMK, use the DescribeKey operation. If the operation succeeds, you will find the encrypted copy of the data key in the CiphertextBlob field. You can use the optional encryption context to add additional security to the encryption operation. If you specify an EncryptionContext, you must specify the same encryption context (a case-sensitive exact match) when decrypting the encrypted data key. Otherwise, the request to decrypt fails with an InvalidCiphertextException. For more information, see Encryption Context in the AWS Key Management Service Developer Guide. The CMK that you use for this operation must be in a compatible key state. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide. + +Required Parameters +{ + "KeyId": "The identifier of the symmetric customer master key (CMK) that encrypts the data key. To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. When using an alias name, prefix it with \"alias/\". To specify a CMK in a different AWS account, you must use the key ARN or alias ARN. For example: Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab Alias name: alias/ExampleAlias Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey. To get the alias name and alias ARN, use ListAliases." +} + +Optional Parameters +{ + "KeySpec": "The length of the data key. Use AES_128 to generate a 128-bit symmetric key, or AES_256 to generate a 256-bit symmetric key.", + "NumberOfBytes": "The length of the data key in bytes. For example, use the value 64 to generate a 512-bit data key (64 bytes is 512 bits). For common key lengths (128-bit and 256-bit symmetric keys), we recommend that you use the KeySpec field instead of this one.", + "GrantTokens": "A list of grant tokens. For more information, see Grant Tokens in the AWS Key Management Service Developer Guide.", + "EncryptionContext": "Specifies the encryption context that will be used when encrypting the data key. An encryption context is a collection of non-secret key-value pairs that represents additional authenticated data. When you use an encryption context to encrypt data, you must specify the same (an exact case-sensitive match) encryption context to decrypt the data. An encryption context is optional when encrypting with a symmetric CMK, but it is highly recommended. For more information, see Encryption Context in the AWS Key Management Service Developer Guide." +} +""" +GenerateDataKeyWithoutPlaintext(args) = kms("GenerateDataKeyWithoutPlaintext", args) + +""" + Decrypt() + +Decrypts ciphertext that was encrypted by a AWS KMS customer master key (CMK) using any of the following operations: Encrypt GenerateDataKey GenerateDataKeyPair GenerateDataKeyWithoutPlaintext GenerateDataKeyPairWithoutPlaintext You can use this operation to decrypt ciphertext that was encrypted under a symmetric or asymmetric CMK. When the CMK is asymmetric, you must specify the CMK and the encryption algorithm that was used to encrypt the ciphertext. For information about symmetric and asymmetric CMKs, see Using Symmetric and Asymmetric CMKs in the AWS Key Management Service Developer Guide. The Decrypt operation also decrypts ciphertext that was encrypted outside of AWS KMS by the public key in an AWS KMS asymmetric CMK. However, it cannot decrypt ciphertext produced by other libraries, such as the AWS Encryption SDK or Amazon S3 client-side encryption. These libraries return a ciphertext format that is incompatible with AWS KMS. If the ciphertext was encrypted under a symmetric CMK, you do not need to specify the CMK or the encryption algorithm. AWS KMS can get this information from metadata that it adds to the symmetric ciphertext blob. However, if you prefer, you can specify the KeyId to ensure that a particular CMK is used to decrypt the ciphertext. If you specify a different CMK than the one used to encrypt the ciphertext, the Decrypt operation fails. Whenever possible, use key policies to give users permission to call the Decrypt operation on a particular CMK, instead of using IAM policies. Otherwise, you might create an IAM user policy that gives the user Decrypt permission on all CMKs. This user could decrypt ciphertext that was encrypted by CMKs in other accounts if the key policy for the cross-account CMK permits it. If you must use an IAM policy for Decrypt permissions, limit the user to particular CMKs or particular trusted accounts. The CMK that you use for this operation must be in a compatible key state. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide. + +Required Parameters +{ + "CiphertextBlob": "Ciphertext to be decrypted. The blob includes metadata." +} + +Optional Parameters +{ + "EncryptionAlgorithm": "Specifies the encryption algorithm that will be used to decrypt the ciphertext. Specify the same algorithm that was used to encrypt the data. If you specify a different algorithm, the Decrypt operation fails. This parameter is required only when the ciphertext was encrypted under an asymmetric CMK. The default value, SYMMETRIC_DEFAULT, represents the only supported algorithm that is valid for symmetric CMKs.", + "GrantTokens": "A list of grant tokens. For more information, see Grant Tokens in the AWS Key Management Service Developer Guide.", + "KeyId": "Specifies the customer master key (CMK) that AWS KMS will use to decrypt the ciphertext. Enter a key ID of the CMK that was used to encrypt the ciphertext. If you specify a KeyId value, the Decrypt operation succeeds only if the specified CMK was used to encrypt the ciphertext. This parameter is required only when the ciphertext was encrypted under an asymmetric CMK. Otherwise, AWS KMS uses the metadata that it adds to the ciphertext blob to determine which CMK was used to encrypt the ciphertext. However, you can use this parameter to ensure that a particular CMK (of any kind) is used to decrypt the ciphertext. To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. When using an alias name, prefix it with \"alias/\". For example: Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab Alias name: alias/ExampleAlias Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey. To get the alias name and alias ARN, use ListAliases.", + "EncryptionContext": "Specifies the encryption context to use when decrypting the data. An encryption context is valid only for cryptographic operations with a symmetric CMK. The standard asymmetric encryption algorithms that AWS KMS uses do not support an encryption context. An encryption context is a collection of non-secret key-value pairs that represents additional authenticated data. When you use an encryption context to encrypt data, you must specify the same (an exact case-sensitive match) encryption context to decrypt the data. An encryption context is optional when encrypting with a symmetric CMK, but it is highly recommended. For more information, see Encryption Context in the AWS Key Management Service Developer Guide." +} +""" +Decrypt(args) = kms("Decrypt", args) + +""" + DeleteAlias() + +Deletes the specified alias. You cannot perform this operation on an alias in a different AWS account. Because an alias is not a property of a CMK, you can delete and change the aliases of a CMK without affecting the CMK. Also, aliases do not appear in the response from the DescribeKey operation. To get the aliases of all CMKs, use the ListAliases operation. Each CMK can have multiple aliases. To change the alias of a CMK, use DeleteAlias to delete the current alias and CreateAlias to create a new alias. To associate an existing alias with a different customer master key (CMK), call UpdateAlias. + +Required Parameters +{ + "AliasName": "The alias to be deleted. The alias name must begin with alias/ followed by the alias name, such as alias/ExampleAlias." +} +""" +DeleteAlias(args) = kms("DeleteAlias", args) + +""" + DeleteImportedKeyMaterial() + +Deletes key material that you previously imported. This operation makes the specified customer master key (CMK) unusable. For more information about importing key material into AWS KMS, see Importing Key Material in the AWS Key Management Service Developer Guide. You cannot perform this operation on a CMK in a different AWS account. When the specified CMK is in the PendingDeletion state, this operation does not change the CMK's state. Otherwise, it changes the CMK's state to PendingImport. After you delete key material, you can use ImportKeyMaterial to reimport the same key material into the CMK. The CMK that you use for this operation must be in a compatible key state. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide. + +Required Parameters +{ + "KeyId": "Identifies the CMK from which you are deleting imported key material. The Origin of the CMK must be EXTERNAL. Specify the key ID or the Amazon Resource Name (ARN) of the CMK. For example: Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey." +} +""" +DeleteImportedKeyMaterial(args) = kms("DeleteImportedKeyMaterial", args) + +""" + RetireGrant() + +Retires a grant. To clean up, you can retire a grant when you're done using it. You should revoke a grant when you intend to actively deny operations that depend on it. The following are permitted to call this API: The AWS account (root user) under which the grant was created The RetiringPrincipal, if present in the grant The GranteePrincipal, if RetireGrant is an operation specified in the grant You must identify the grant to retire by its grant token or by a combination of the grant ID and the Amazon Resource Name (ARN) of the customer master key (CMK). A grant token is a unique variable-length base64-encoded string. A grant ID is a 64 character unique identifier of a grant. The CreateGrant operation returns both. + +Optional Parameters +{ + "GrantToken": "Token that identifies the grant to be retired.", + "GrantId": "Unique identifier of the grant to retire. The grant ID is returned in the response to a CreateGrant operation. Grant ID Example - 0123456789012345678901234567890123456789012345678901234567890123 ", + "KeyId": "The Amazon Resource Name (ARN) of the CMK associated with the grant. For example: arn:aws:kms:us-east-2:444455556666:key/1234abcd-12ab-34cd-56ef-1234567890ab " +} +""" +RetireGrant() = kms("RetireGrant") +RetireGrant(args) = kms("RetireGrant", args) + +""" + UpdateKeyDescription() + +Updates the description of a customer master key (CMK). To see the description of a CMK, use DescribeKey. You cannot perform this operation on a CMK in a different AWS account. The CMK that you use for this operation must be in a compatible key state. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide. + +Required Parameters +{ + "Description": "New description for the CMK.", + "KeyId": "A unique identifier for the customer master key (CMK). Specify the key ID or the Amazon Resource Name (ARN) of the CMK. For example: Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey." +} +""" +UpdateKeyDescription(args) = kms("UpdateKeyDescription", args) diff --git a/src/services/lakeformation.jl b/src/services/lakeformation.jl new file mode 100644 index 0000000000..63046f091a --- /dev/null +++ b/src/services/lakeformation.jl @@ -0,0 +1,213 @@ +include("../AWSServices.jl") +using .AWSServices: lakeformation + +""" + BatchGrantPermissions() + +Batch operation to grant permissions to the principal. + +Required Parameters +{ + "Entries": "A list of up to 20 entries for resource permissions to be granted by batch operation to the principal." +} + +Optional Parameters +{ + "CatalogId": "The identifier for the Data Catalog. By default, the account ID. The Data Catalog is the persistent metadata store. It contains database definitions, table definitions, and other control information to manage your AWS Lake Formation environment. " +} +""" +BatchGrantPermissions(args) = lakeformation("BatchGrantPermissions", args) + +""" + GetEffectivePermissionsForPath() + +Returns the permissions for a specified table or database resource located at a path in Amazon S3. + +Required Parameters +{ + "ResourceArn": "The Amazon Resource Name (ARN) of the resource for which you want to get permissions." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return.", + "NextToken": "A continuation token, if this is not the first call to retrieve this list.", + "CatalogId": "The identifier for the Data Catalog. By default, the account ID. The Data Catalog is the persistent metadata store. It contains database definitions, table definitions, and other control information to manage your AWS Lake Formation environment. " +} +""" +GetEffectivePermissionsForPath(args) = lakeformation("GetEffectivePermissionsForPath", args) + +""" + ListPermissions() + +Returns a list of the principal permissions on the resource, filtered by the permissions of the caller. For example, if you are granted an ALTER permission, you are able to see only the principal permissions for ALTER. This operation returns only those permissions that have been explicitly granted. For information about permissions, see Security and Access Control to Metadata and Data. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return.", + "NextToken": "A continuation token, if this is not the first call to retrieve this list.", + "ResourceType": "Specifies a resource type to filter the permissions returned.", + "Resource": "A resource where you will get a list of the principal permissions. This operation does not support getting privileges on a table with columns. Instead, call this operation on the table, and the operation returns the table and the table w columns.", + "Principal": "Specifies a principal to filter the permissions returned.", + "CatalogId": "The identifier for the Data Catalog. By default, the account ID. The Data Catalog is the persistent metadata store. It contains database definitions, table definitions, and other control information to manage your AWS Lake Formation environment. " +} +""" +ListPermissions() = lakeformation("ListPermissions") +ListPermissions(args) = lakeformation("ListPermissions", args) + +""" + RegisterResource() + +Registers the resource as managed by the Data Catalog. To add or update data, Lake Formation needs read/write access to the chosen Amazon S3 path. Choose a role that you know has permission to do this, or choose the AWSServiceRoleForLakeFormationDataAccess service-linked role. When you register the first Amazon S3 path, the service-linked role and a new inline policy are created on your behalf. Lake Formation adds the first path to the inline policy and attaches it to the service-linked role. When you register subsequent paths, Lake Formation adds the path to the existing policy. + +Required Parameters +{ + "ResourceArn": "The Amazon Resource Name (ARN) of the resource that you want to register." +} + +Optional Parameters +{ + "UseServiceLinkedRole": "Designates a trusted caller, an IAM principal, by registering this caller with the Data Catalog. ", + "RoleArn": "The identifier for the role." +} +""" +RegisterResource(args) = lakeformation("RegisterResource", args) + +""" + DescribeResource() + +Retrieves the current data access role for the given resource registered in AWS Lake Formation. + +Required Parameters +{ + "ResourceArn": "The resource ARN." +} +""" +DescribeResource(args) = lakeformation("DescribeResource", args) + +""" + GrantPermissions() + +Grants permissions to the principal to access metadata in the Data Catalog and data organized in underlying data storage such as Amazon S3. For information about permissions, see Security and Access Control to Metadata and Data. + +Required Parameters +{ + "Permissions": "The permissions granted to the principal on the resource. AWS Lake Formation defines privileges to grant and revoke access to metadata in the Data Catalog and data organized in underlying data storage such as Amazon S3. AWS Lake Formation requires that each principal be authorized to perform a specific task on AWS Lake Formation resources. ", + "Resource": "The resource to which permissions are to be granted. Resources in AWS Lake Formation are the Data Catalog, databases, and tables.", + "Principal": "The principal to be granted the permissions on the resource. Supported principals are IAM users or IAM roles, and they are defined by their principal type and their ARN. Note that if you define a resource with a particular ARN, then later delete, and recreate a resource with that same ARN, the resource maintains the permissions already granted. " +} + +Optional Parameters +{ + "PermissionsWithGrantOption": "Indicates a list of the granted permissions that the principal may pass to other users. These permissions may only be a subset of the permissions granted in the Privileges.", + "CatalogId": "The identifier for the Data Catalog. By default, the account ID. The Data Catalog is the persistent metadata store. It contains database definitions, table definitions, and other control information to manage your AWS Lake Formation environment. " +} +""" +GrantPermissions(args) = lakeformation("GrantPermissions", args) + +""" + RevokePermissions() + +Revokes permissions to the principal to access metadata in the Data Catalog and data organized in underlying data storage such as Amazon S3. + +Required Parameters +{ + "Permissions": "The permissions revoked to the principal on the resource. For information about permissions, see Security and Access Control to Metadata and Data.", + "Resource": "The resource to which permissions are to be revoked.", + "Principal": "The principal to be revoked permissions on the resource." +} + +Optional Parameters +{ + "PermissionsWithGrantOption": "Indicates a list of permissions for which to revoke the grant option allowing the principal to pass permissions to other principals.", + "CatalogId": "The identifier for the Data Catalog. By default, the account ID. The Data Catalog is the persistent metadata store. It contains database definitions, table definitions, and other control information to manage your AWS Lake Formation environment. " +} +""" +RevokePermissions(args) = lakeformation("RevokePermissions", args) + +""" + PutDataLakeSettings() + +The AWS Lake Formation principal. + +Required Parameters +{ + "DataLakeSettings": "A list of AWS Lake Formation principals." +} + +Optional Parameters +{ + "CatalogId": "The identifier for the Data Catalog. By default, the account ID. The Data Catalog is the persistent metadata store. It contains database definitions, table definitions, and other control information to manage your AWS Lake Formation environment. " +} +""" +PutDataLakeSettings(args) = lakeformation("PutDataLakeSettings", args) + +""" + GetDataLakeSettings() + +The AWS Lake Formation principal. + +Optional Parameters +{ + "CatalogId": "The identifier for the Data Catalog. By default, the account ID. The Data Catalog is the persistent metadata store. It contains database definitions, table definitions, and other control information to manage your AWS Lake Formation environment. " +} +""" +GetDataLakeSettings() = lakeformation("GetDataLakeSettings") +GetDataLakeSettings(args) = lakeformation("GetDataLakeSettings", args) + +""" + DeregisterResource() + +Deregisters the resource as managed by the Data Catalog. When you deregister a path, Lake Formation removes the path from the inline policy attached to your service-linked role. + +Required Parameters +{ + "ResourceArn": "The Amazon Resource Name (ARN) of the resource that you want to deregister." +} +""" +DeregisterResource(args) = lakeformation("DeregisterResource", args) + +""" + UpdateResource() + +Updates the data access role used for vending access to the given (registered) resource in AWS Lake Formation. + +Required Parameters +{ + "ResourceArn": "The resource ARN.", + "RoleArn": "The new role to use for the given resource registered in AWS Lake Formation." +} +""" +UpdateResource(args) = lakeformation("UpdateResource", args) + +""" + ListResources() + +Lists the resources registered to be managed by the Data Catalog. + +Optional Parameters +{ + "MaxResults": "The maximum number of resource results.", + "NextToken": "A continuation token, if this is not the first call to retrieve these resources.", + "FilterConditionList": "Any applicable row-level and/or column-level filtering conditions for the resources." +} +""" +ListResources() = lakeformation("ListResources") +ListResources(args) = lakeformation("ListResources", args) + +""" + BatchRevokePermissions() + +Batch operation to revoke permissions from the principal. + +Required Parameters +{ + "Entries": "A list of up to 20 entries for resource permissions to be revoked by batch operation to the principal." +} + +Optional Parameters +{ + "CatalogId": "The identifier for the Data Catalog. By default, the account ID. The Data Catalog is the persistent metadata store. It contains database definitions, table definitions, and other control information to manage your AWS Lake Formation environment. " +} +""" +BatchRevokePermissions(args) = lakeformation("BatchRevokePermissions", args) diff --git a/src/services/lambda.jl b/src/services/lambda.jl new file mode 100644 index 0000000000..82ac74fff0 --- /dev/null +++ b/src/services/lambda.jl @@ -0,0 +1,840 @@ +include("../AWSServices.jl") +using .AWSServices: lambda + +""" + GetFunctionConfiguration() + +Returns the version-specific settings of a Lambda function or version. The output includes only options that can vary between versions of a function. To modify these settings, use UpdateFunctionConfiguration. To get all of a function's details, including function-level settings, use GetFunction. + +Required Parameters +{ + "FunctionName": "The name of the Lambda function, version, or alias. Name formats Function name - my-function (name-only), my-function:v1 (with alias). Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function. Partial ARN - 123456789012:function:my-function. You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length." +} + +Optional Parameters +{ + "Qualifier": "Specify a version or alias to get details about a published version of the function." +} +""" +GetFunctionConfiguration(args) = lambda("GET", "/2015-03-31/functions/{FunctionName}/configuration", args) + +""" + GetFunctionConcurrency() + +Returns details about the reserved concurrency configuration for a function. To set a concurrency limit for a function, use PutFunctionConcurrency. + +Required Parameters +{ + "FunctionName": "The name of the Lambda function. Name formats Function name - my-function. Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function. Partial ARN - 123456789012:function:my-function. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length." +} +""" +GetFunctionConcurrency(args) = lambda("GET", "/2019-09-30/functions/{FunctionName}/concurrency", args) + +""" + InvokeAsync() + + For asynchronous function invocation, use Invoke. Invokes a function asynchronously. + +Required Parameters +{ + "InvokeArgs": "The JSON that you want to provide to your Lambda function as input.", + "FunctionName": "The name of the Lambda function. Name formats Function name - my-function. Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function. Partial ARN - 123456789012:function:my-function. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length." +} +""" +InvokeAsync(args) = lambda("POST", "/2014-11-13/functions/{FunctionName}/invoke-async/", args) + +""" + PutFunctionConcurrency() + +Sets the maximum number of simultaneous executions for a function, and reserves capacity for that concurrency level. Concurrency settings apply to the function as a whole, including all published versions and the unpublished version. Reserving concurrency both ensures that your function has capacity to process the specified number of events simultaneously, and prevents it from scaling beyond that level. Use GetFunction to see the current setting for a function. Use GetAccountSettings to see your Regional concurrency limit. You can reserve concurrency for as many functions as you like, as long as you leave at least 100 simultaneous executions unreserved for functions that aren't configured with a per-function limit. For more information, see Managing Concurrency. + +Required Parameters +{ + "FunctionName": "The name of the Lambda function. Name formats Function name - my-function. Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function. Partial ARN - 123456789012:function:my-function. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.", + "ReservedConcurrentExecutions": "The number of simultaneous executions to reserve for the function." +} +""" +PutFunctionConcurrency(args) = lambda("PUT", "/2017-10-31/functions/{FunctionName}/concurrency", args) + +""" + TagResource() + +Adds tags to a function. + +Required Parameters +{ + "Tags": "A list of tags to apply to the function.", + "Resource": "The function's Amazon Resource Name (ARN)." +} +""" +TagResource(args) = lambda("POST", "/2017-03-31/tags/{ARN}", args) + +""" + GetLayerVersionByArn() + +Returns information about a version of an AWS Lambda layer, with a link to download the layer archive that's valid for 10 minutes. + +Required Parameters +{ + "Arn": "The ARN of the layer version." +} +""" +GetLayerVersionByArn(args) = lambda("GET", "/2018-10-31/layers?find=LayerVersion", args) + +""" + ListEventSourceMappings() + +Lists event source mappings. Specify an EventSourceArn to only show event source mappings for a single event source. + +Optional Parameters +{ + "Marker": "A pagination token returned by a previous call.", + "FunctionName": "The name of the Lambda function. Name formats Function name - MyFunction. Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction. Version or Alias ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction:PROD. Partial ARN - 123456789012:function:MyFunction. The length constraint applies only to the full ARN. If you specify only the function name, it's limited to 64 characters in length.", + "EventSourceArn": "The Amazon Resource Name (ARN) of the event source. Amazon Kinesis - The ARN of the data stream or a stream consumer. Amazon DynamoDB Streams - The ARN of the stream. Amazon Simple Queue Service - The ARN of the queue. ", + "MaxItems": "The maximum number of event source mappings to return." +} +""" +ListEventSourceMappings() = lambda("GET", "/2015-03-31/event-source-mappings/") +ListEventSourceMappings(args) = lambda("GET", "/2015-03-31/event-source-mappings/", args) + +""" + ListLayerVersions() + +Lists the versions of an AWS Lambda layer. Versions that have been deleted aren't listed. Specify a runtime identifier to list only versions that indicate that they're compatible with that runtime. + +Required Parameters +{ + "LayerName": "The name or Amazon Resource Name (ARN) of the layer." +} + +Optional Parameters +{ + "Marker": "A pagination token returned by a previous call.", + "MaxItems": "The maximum number of versions to return.", + "CompatibleRuntime": "A runtime identifier. For example, go1.x." +} +""" +ListLayerVersions(args) = lambda("GET", "/2018-10-31/layers/{LayerName}/versions", args) + +""" + DeleteFunction() + +Deletes a Lambda function. To delete a specific function version, use the Qualifier parameter. Otherwise, all versions and aliases are deleted. To delete Lambda event source mappings that invoke a function, use DeleteEventSourceMapping. For AWS services and resources that invoke your function directly, delete the trigger in the service where you originally configured it. + +Required Parameters +{ + "FunctionName": "The name of the Lambda function or version. Name formats Function name - my-function (name-only), my-function:1 (with version). Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function. Partial ARN - 123456789012:function:my-function. You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length." +} + +Optional Parameters +{ + "Qualifier": "Specify a version to delete. You can't delete a version that's referenced by an alias." +} +""" +DeleteFunction(args) = lambda("DELETE", "/2015-03-31/functions/{FunctionName}", args) + +""" + CreateEventSourceMapping() + +Creates a mapping between an event source and an AWS Lambda function. Lambda reads items from the event source and triggers the function. For details about each event source type, see the following topics. Using AWS Lambda with Amazon DynamoDB Using AWS Lambda with Amazon Kinesis Using AWS Lambda with Amazon SQS The following error handling options are only available for stream sources (DynamoDB and Kinesis): BisectBatchOnFunctionError - If the function returns an error, split the batch in two and retry. DestinationConfig - Send discarded records to an Amazon SQS queue or Amazon SNS topic. MaximumRecordAgeInSeconds - Discard records older than the specified age. MaximumRetryAttempts - Discard records after the specified number of retries. ParallelizationFactor - Process multiple batches from each shard concurrently. + +Required Parameters +{ + "FunctionName": "The name of the Lambda function. Name formats Function name - MyFunction. Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction. Version or Alias ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction:PROD. Partial ARN - 123456789012:function:MyFunction. The length constraint applies only to the full ARN. If you specify only the function name, it's limited to 64 characters in length.", + "EventSourceArn": "The Amazon Resource Name (ARN) of the event source. Amazon Kinesis - The ARN of the data stream or a stream consumer. Amazon DynamoDB Streams - The ARN of the stream. Amazon Simple Queue Service - The ARN of the queue. " +} + +Optional Parameters +{ + "DestinationConfig": "(Streams) An Amazon SQS queue or Amazon SNS topic destination for discarded records.", + "MaximumRetryAttempts": "(Streams) The maximum number of times to retry when the function returns an error.", + "BatchSize": "The maximum number of items to retrieve in a single batch. Amazon Kinesis - Default 100. Max 10,000. Amazon DynamoDB Streams - Default 100. Max 1,000. Amazon Simple Queue Service - Default 10. Max 10. ", + "StartingPosition": "The position in a stream from which to start reading. Required for Amazon Kinesis and Amazon DynamoDB Streams sources. AT_TIMESTAMP is only supported for Amazon Kinesis streams.", + "MaximumBatchingWindowInSeconds": "The maximum amount of time to gather records before invoking the function, in seconds.", + "StartingPositionTimestamp": "With StartingPosition set to AT_TIMESTAMP, the time from which to start reading.", + "MaximumRecordAgeInSeconds": "(Streams) The maximum age of a record that Lambda sends to a function for processing.", + "ParallelizationFactor": "(Streams) The number of batches to process from each shard concurrently.", + "Enabled": "Disables the event source mapping to pause polling and invocation.", + "BisectBatchOnFunctionError": "(Streams) If the function returns an error, split the batch in two and retry." +} +""" +CreateEventSourceMapping(args) = lambda("POST", "/2015-03-31/event-source-mappings/", args) + +""" + DeleteProvisionedConcurrencyConfig() + +Deletes the provisioned concurrency configuration for a function. + +Required Parameters +{ + "Qualifier": "The version number or alias name.", + "FunctionName": "The name of the Lambda function. Name formats Function name - my-function. Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function. Partial ARN - 123456789012:function:my-function. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length." +} +""" +DeleteProvisionedConcurrencyConfig(args) = lambda("DELETE", "/2019-09-30/functions/{FunctionName}/provisioned-concurrency", args) + +""" + GetLayerVersion() + +Returns information about a version of an AWS Lambda layer, with a link to download the layer archive that's valid for 10 minutes. + +Required Parameters +{ + "VersionNumber": "The version number.", + "LayerName": "The name or Amazon Resource Name (ARN) of the layer." +} +""" +GetLayerVersion(args) = lambda("GET", "/2018-10-31/layers/{LayerName}/versions/{VersionNumber}", args) + +""" + CreateAlias() + +Creates an alias for a Lambda function version. Use aliases to provide clients with a function identifier that you can update to invoke a different version. You can also map an alias to split invocation requests between two versions. Use the RoutingConfig parameter to specify a second version and the percentage of invocation requests that it receives. + +Required Parameters +{ + "FunctionVersion": "The function version that the alias invokes.", + "FunctionName": "The name of the Lambda function. Name formats Function name - MyFunction. Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction. Partial ARN - 123456789012:function:MyFunction. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.", + "Name": "The name of the alias." +} + +Optional Parameters +{ + "Description": "A description of the alias.", + "RoutingConfig": "The routing configuration of the alias." +} +""" +CreateAlias(args) = lambda("POST", "/2015-03-31/functions/{FunctionName}/aliases", args) + +""" + CreateFunction() + +Creates a Lambda function. To create a function, you need a deployment package and an execution role. The deployment package contains your function code. The execution role grants the function permission to use AWS services, such as Amazon CloudWatch Logs for log streaming and AWS X-Ray for request tracing. When you create a function, Lambda provisions an instance of the function and its supporting resources. If your function connects to a VPC, this process can take a minute or so. During this time, you can't invoke or modify the function. The State, StateReason, and StateReasonCode fields in the response from GetFunctionConfiguration indicate when the function is ready to invoke. For more information, see Function States. A function has an unpublished version, and can have published versions and aliases. The unpublished version changes when you update your function's code and configuration. A published version is a snapshot of your function code and configuration that can't be changed. An alias is a named resource that maps to a version, and can be changed to map to a different version. Use the Publish parameter to create version 1 of your function from its initial configuration. The other parameters let you configure version-specific and function-level settings. You can modify version-specific settings later with UpdateFunctionConfiguration. Function-level settings apply to both the unpublished and published versions of the function, and include tags (TagResource) and per-function concurrency limits (PutFunctionConcurrency). If another account or an AWS service invokes your function, use AddPermission to grant permission by creating a resource-based IAM policy. You can grant permissions at the function level, on a version, or on an alias. To invoke your function directly, use Invoke. To invoke your function in response to events in other AWS services, create an event source mapping (CreateEventSourceMapping), or configure a function trigger in the other service. For more information, see Invoking Functions. + +Required Parameters +{ + "Handler": "The name of the method within your code that Lambda calls to execute your function. The format includes the file name. It can also include namespaces and other qualifiers, depending on the runtime. For more information, see Programming Model.", + "FunctionName": "The name of the Lambda function. Name formats Function name - my-function. Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function. Partial ARN - 123456789012:function:my-function. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.", + "Code": "The code for the function.", + "Runtime": "The identifier of the function's runtime.", + "Role": "The Amazon Resource Name (ARN) of the function's execution role." +} + +Optional Parameters +{ + "Environment": "Environment variables that are accessible from function code during execution.", + "MemorySize": "The amount of memory that your function has access to. Increasing the function's memory also increases its CPU allocation. The default value is 128 MB. The value must be a multiple of 64 MB.", + "Tags": "A list of tags to apply to the function.", + "TracingConfig": "Set Mode to Active to sample and trace a subset of incoming requests with AWS X-Ray.", + "VpcConfig": "For network connectivity to AWS resources in a VPC, specify a list of security groups and subnets in the VPC. When you connect a function to a VPC, it can only access resources and the internet through that VPC. For more information, see VPC Settings.", + "DeadLetterConfig": "A dead letter queue configuration that specifies the queue or topic where Lambda sends asynchronous events when they fail processing. For more information, see Dead Letter Queues.", + "Layers": "A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version.", + "Timeout": "The amount of time that Lambda allows a function to run before stopping it. The default is 3 seconds. The maximum allowed value is 900 seconds.", + "KMSKeyArn": "The ARN of the AWS Key Management Service (AWS KMS) key that's used to encrypt your function's environment variables. If it's not provided, AWS Lambda uses a default service key.", + "Description": "A description of the function.", + "Publish": "Set to true to publish the first version of the function during creation." +} +""" +CreateFunction(args) = lambda("POST", "/2015-03-31/functions", args) + +""" + Invoke() + +Invokes a Lambda function. You can invoke a function synchronously (and wait for the response), or asynchronously. To invoke a function asynchronously, set InvocationType to Event. For synchronous invocation, details about the function response, including errors, are included in the response body and headers. For either invocation type, you can find more information in the execution log and trace. When an error occurs, your function may be invoked multiple times. Retry behavior varies by error type, client, event source, and invocation type. For example, if you invoke a function asynchronously and it returns an error, Lambda executes the function up to two more times. For more information, see Retry Behavior. For asynchronous invocation, Lambda adds events to a queue before sending them to your function. If your function does not have enough capacity to keep up with the queue, events may be lost. Occasionally, your function may receive the same event multiple times, even if no error occurs. To retain events that were not processed, configure your function with a dead-letter queue. The status code in the API response doesn't reflect function errors. Error codes are reserved for errors that prevent your function from executing, such as permissions errors, limit errors, or issues with your function's code and configuration. For example, Lambda returns TooManyRequestsException if executing the function would cause you to exceed a concurrency limit at either the account level (ConcurrentInvocationLimitExceeded) or function level (ReservedFunctionConcurrentInvocationLimitExceeded). For functions with a long timeout, your client might be disconnected during synchronous invocation while it waits for a response. Configure your HTTP client, SDK, firewall, proxy, or operating system to allow for long connections with timeout or keep-alive settings. This operation requires permission for the lambda:InvokeFunction action. + +Required Parameters +{ + "FunctionName": "The name of the Lambda function, version, or alias. Name formats Function name - my-function (name-only), my-function:v1 (with alias). Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function. Partial ARN - 123456789012:function:my-function. You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length." +} + +Optional Parameters +{ + "ClientContext": "Up to 3583 bytes of base64-encoded data about the invoking client to pass to the function in the context object.", + "Qualifier": "Specify a version or alias to invoke a published version of the function.", + "InvocationType": "Choose from the following options. RequestResponse (default) - Invoke the function synchronously. Keep the connection open until the function returns a response or times out. The API response includes the function response and additional data. Event - Invoke the function asynchronously. Send events that fail multiple times to the function's dead-letter queue (if it's configured). The API response only includes a status code. DryRun - Validate parameter values and verify that the user or role has permission to invoke the function. ", + "Payload": "The JSON that you want to provide to your Lambda function as input.", + "LogType": "Set to Tail to include the execution log in the response." +} +""" +Invoke(args) = lambda("POST", "/2015-03-31/functions/{FunctionName}/invocations", args) + +""" + UpdateEventSourceMapping() + +Updates an event source mapping. You can change the function that AWS Lambda invokes, or pause invocation and resume later from the same location. The following error handling options are only available for stream sources (DynamoDB and Kinesis): BisectBatchOnFunctionError - If the function returns an error, split the batch in two and retry. DestinationConfig - Send discarded records to an Amazon SQS queue or Amazon SNS topic. MaximumRecordAgeInSeconds - Discard records older than the specified age. MaximumRetryAttempts - Discard records after the specified number of retries. ParallelizationFactor - Process multiple batches from each shard concurrently. + +Required Parameters +{ + "UUID": "The identifier of the event source mapping." +} + +Optional Parameters +{ + "DestinationConfig": "(Streams) An Amazon SQS queue or Amazon SNS topic destination for discarded records.", + "MaximumRetryAttempts": "(Streams) The maximum number of times to retry when the function returns an error.", + "FunctionName": "The name of the Lambda function. Name formats Function name - MyFunction. Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction. Version or Alias ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction:PROD. Partial ARN - 123456789012:function:MyFunction. The length constraint applies only to the full ARN. If you specify only the function name, it's limited to 64 characters in length.", + "BatchSize": "The maximum number of items to retrieve in a single batch. Amazon Kinesis - Default 100. Max 10,000. Amazon DynamoDB Streams - Default 100. Max 1,000. Amazon Simple Queue Service - Default 10. Max 10. ", + "MaximumBatchingWindowInSeconds": "The maximum amount of time to gather records before invoking the function, in seconds.", + "MaximumRecordAgeInSeconds": "(Streams) The maximum age of a record that Lambda sends to a function for processing.", + "ParallelizationFactor": "(Streams) The number of batches to process from each shard concurrently.", + "Enabled": "Disables the event source mapping to pause polling and invocation.", + "BisectBatchOnFunctionError": "(Streams) If the function returns an error, split the batch in two and retry." +} +""" +UpdateEventSourceMapping(args) = lambda("PUT", "/2015-03-31/event-source-mappings/{UUID}", args) + +""" + UntagResource() + +Removes tags from a function. + +Required Parameters +{ + "Resource": "The function's Amazon Resource Name (ARN).", + "TagKeys": "A list of tag keys to remove from the function." +} +""" +UntagResource(args) = lambda("DELETE", "/2017-03-31/tags/{ARN}", args) + +""" + ListLayers() + +Lists AWS Lambda layers and shows information about the latest version of each. Specify a runtime identifier to list only layers that indicate that they're compatible with that runtime. + +Optional Parameters +{ + "Marker": "A pagination token returned by a previous call.", + "MaxItems": "The maximum number of layers to return.", + "CompatibleRuntime": "A runtime identifier. For example, go1.x." +} +""" +ListLayers() = lambda("GET", "/2018-10-31/layers") +ListLayers(args) = lambda("GET", "/2018-10-31/layers", args) + +""" + ListFunctionEventInvokeConfigs() + +Retrieves a list of configurations for asynchronous invocation for a function. To configure options for asynchronous invocation, use PutFunctionEventInvokeConfig. + +Required Parameters +{ + "FunctionName": "The name of the Lambda function. Name formats Function name - my-function. Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function. Partial ARN - 123456789012:function:my-function. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length." +} + +Optional Parameters +{ + "Marker": "Specify the pagination token that's returned by a previous request to retrieve the next page of results.", + "MaxItems": "The maximum number of configurations to return." +} +""" +ListFunctionEventInvokeConfigs(args) = lambda("GET", "/2019-09-25/functions/{FunctionName}/event-invoke-config/list", args) + +""" + GetLayerVersionPolicy() + +Returns the permission policy for a version of an AWS Lambda layer. For more information, see AddLayerVersionPermission. + +Required Parameters +{ + "VersionNumber": "The version number.", + "LayerName": "The name or Amazon Resource Name (ARN) of the layer." +} +""" +GetLayerVersionPolicy(args) = lambda("GET", "/2018-10-31/layers/{LayerName}/versions/{VersionNumber}/policy", args) + +""" + RemoveLayerVersionPermission() + +Removes a statement from the permissions policy for a version of an AWS Lambda layer. For more information, see AddLayerVersionPermission. + +Required Parameters +{ + "StatementId": "The identifier that was specified when the statement was added.", + "VersionNumber": "The version number.", + "LayerName": "The name or Amazon Resource Name (ARN) of the layer." +} + +Optional Parameters +{ + "RevisionId": "Only update the policy if the revision ID matches the ID specified. Use this option to avoid modifying a policy that has changed since you last read it." +} +""" +RemoveLayerVersionPermission(args) = lambda("DELETE", "/2018-10-31/layers/{LayerName}/versions/{VersionNumber}/policy/{StatementId}", args) + +""" + ListProvisionedConcurrencyConfigs() + +Retrieves a list of provisioned concurrency configurations for a function. + +Required Parameters +{ + "FunctionName": "The name of the Lambda function. Name formats Function name - my-function. Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function. Partial ARN - 123456789012:function:my-function. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length." +} + +Optional Parameters +{ + "Marker": "Specify the pagination token that's returned by a previous request to retrieve the next page of results.", + "MaxItems": "Specify a number to limit the number of configurations returned." +} +""" +ListProvisionedConcurrencyConfigs(args) = lambda("GET", "/2019-09-30/functions/{FunctionName}/provisioned-concurrency?List=ALL", args) + +""" + PutFunctionEventInvokeConfig() + +Configures options for asynchronous invocation on a function, version, or alias. If a configuration already exists for a function, version, or alias, this operation overwrites it. If you exclude any settings, they are removed. To set one option without affecting existing settings for other options, use PutFunctionEventInvokeConfig. By default, Lambda retries an asynchronous invocation twice if the function returns an error. It retains events in a queue for up to six hours. When an event fails all processing attempts or stays in the asynchronous invocation queue for too long, Lambda discards it. To retain discarded events, configure a dead-letter queue with UpdateFunctionConfiguration. To send an invocation record to a queue, topic, function, or event bus, specify a destination. You can configure separate destinations for successful invocations (on-success) and events that fail all processing attempts (on-failure). You can configure destinations in addition to or instead of a dead-letter queue. + +Required Parameters +{ + "FunctionName": "The name of the Lambda function, version, or alias. Name formats Function name - my-function (name-only), my-function:v1 (with alias). Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function. Partial ARN - 123456789012:function:my-function. You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length." +} + +Optional Parameters +{ + "Qualifier": "A version number or alias name.", + "MaximumRetryAttempts": "The maximum number of times to retry when the function returns an error.", + "DestinationConfig": "A destination for events after they have been sent to a function for processing. Destinations Function - The Amazon Resource Name (ARN) of a Lambda function. Queue - The ARN of an SQS queue. Topic - The ARN of an SNS topic. Event Bus - The ARN of an Amazon EventBridge event bus. ", + "MaximumEventAgeInSeconds": "The maximum age of a request that Lambda sends to a function for processing." +} +""" +PutFunctionEventInvokeConfig(args) = lambda("PUT", "/2019-09-25/functions/{FunctionName}/event-invoke-config", args) + +""" + RemovePermission() + +Revokes function-use permission from an AWS service or another account. You can get the ID of the statement from the output of GetPolicy. + +Required Parameters +{ + "StatementId": "Statement ID of the permission to remove.", + "FunctionName": "The name of the Lambda function, version, or alias. Name formats Function name - my-function (name-only), my-function:v1 (with alias). Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function. Partial ARN - 123456789012:function:my-function. You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length." +} + +Optional Parameters +{ + "Qualifier": "Specify a version or alias to remove permissions from a published version of the function.", + "RevisionId": "Only update the policy if the revision ID matches the ID that's specified. Use this option to avoid modifying a policy that has changed since you last read it." +} +""" +RemovePermission(args) = lambda("DELETE", "/2015-03-31/functions/{FunctionName}/policy/{StatementId}", args) + +""" + GetFunction() + +Returns information about the function or function version, with a link to download the deployment package that's valid for 10 minutes. If you specify a function version, only details that are specific to that version are returned. + +Required Parameters +{ + "FunctionName": "The name of the Lambda function, version, or alias. Name formats Function name - my-function (name-only), my-function:v1 (with alias). Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function. Partial ARN - 123456789012:function:my-function. You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length." +} + +Optional Parameters +{ + "Qualifier": "Specify a version or alias to get details about a published version of the function." +} +""" +GetFunction(args) = lambda("GET", "/2015-03-31/functions/{FunctionName}", args) + +""" + GetProvisionedConcurrencyConfig() + +Retrieves the provisioned concurrency configuration for a function's alias or version. + +Required Parameters +{ + "Qualifier": "The version number or alias name.", + "FunctionName": "The name of the Lambda function. Name formats Function name - my-function. Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function. Partial ARN - 123456789012:function:my-function. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length." +} +""" +GetProvisionedConcurrencyConfig(args) = lambda("GET", "/2019-09-30/functions/{FunctionName}/provisioned-concurrency", args) + +""" + GetEventSourceMapping() + +Returns details about an event source mapping. You can get the identifier of a mapping from the output of ListEventSourceMappings. + +Required Parameters +{ + "UUID": "The identifier of the event source mapping." +} +""" +GetEventSourceMapping(args) = lambda("GET", "/2015-03-31/event-source-mappings/{UUID}", args) + +""" + ListVersionsByFunction() + +Returns a list of versions, with the version-specific configuration of each. Lambda returns up to 50 versions per call. + +Required Parameters +{ + "FunctionName": "The name of the Lambda function. Name formats Function name - MyFunction. Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction. Partial ARN - 123456789012:function:MyFunction. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length." +} + +Optional Parameters +{ + "Marker": "Specify the pagination token that's returned by a previous request to retrieve the next page of results.", + "MaxItems": "The maximum number of versions to return." +} +""" +ListVersionsByFunction(args) = lambda("GET", "/2015-03-31/functions/{FunctionName}/versions", args) + +""" + UpdateAlias() + +Updates the configuration of a Lambda function alias. + +Required Parameters +{ + "FunctionName": "The name of the Lambda function. Name formats Function name - MyFunction. Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction. Partial ARN - 123456789012:function:MyFunction. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.", + "Name": "The name of the alias." +} + +Optional Parameters +{ + "FunctionVersion": "The function version that the alias invokes.", + "Description": "A description of the alias.", + "RevisionId": "Only update the alias if the revision ID matches the ID that's specified. Use this option to avoid modifying an alias that has changed since you last read it.", + "RoutingConfig": "The routing configuration of the alias." +} +""" +UpdateAlias(args) = lambda("PUT", "/2015-03-31/functions/{FunctionName}/aliases/{Name}", args) + +""" + PutProvisionedConcurrencyConfig() + +Adds a provisioned concurrency configuration to a function's alias or version. + +Required Parameters +{ + "Qualifier": "The version number or alias name.", + "ProvisionedConcurrentExecutions": "The amount of provisioned concurrency to allocate for the version or alias.", + "FunctionName": "The name of the Lambda function. Name formats Function name - my-function. Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function. Partial ARN - 123456789012:function:my-function. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length." +} +""" +PutProvisionedConcurrencyConfig(args) = lambda("PUT", "/2019-09-30/functions/{FunctionName}/provisioned-concurrency", args) + +""" + ListAliases() + +Returns a list of aliases for a Lambda function. + +Required Parameters +{ + "FunctionName": "The name of the Lambda function. Name formats Function name - MyFunction. Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction. Partial ARN - 123456789012:function:MyFunction. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length." +} + +Optional Parameters +{ + "FunctionVersion": "Specify a function version to only list aliases that invoke that version.", + "Marker": "Specify the pagination token that's returned by a previous request to retrieve the next page of results.", + "MaxItems": "Limit the number of aliases returned." +} +""" +ListAliases(args) = lambda("GET", "/2015-03-31/functions/{FunctionName}/aliases", args) + +""" + GetFunctionEventInvokeConfig() + +Retrieves the configuration for asynchronous invocation for a function, version, or alias. To configure options for asynchronous invocation, use PutFunctionEventInvokeConfig. + +Required Parameters +{ + "FunctionName": "The name of the Lambda function, version, or alias. Name formats Function name - my-function (name-only), my-function:v1 (with alias). Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function. Partial ARN - 123456789012:function:my-function. You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length." +} + +Optional Parameters +{ + "Qualifier": "A version number or alias name." +} +""" +GetFunctionEventInvokeConfig(args) = lambda("GET", "/2019-09-25/functions/{FunctionName}/event-invoke-config", args) + +""" + UpdateFunctionEventInvokeConfig() + +Updates the configuration for asynchronous invocation for a function, version, or alias. To configure options for asynchronous invocation, use PutFunctionEventInvokeConfig. + +Required Parameters +{ + "FunctionName": "The name of the Lambda function, version, or alias. Name formats Function name - my-function (name-only), my-function:v1 (with alias). Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function. Partial ARN - 123456789012:function:my-function. You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length." +} + +Optional Parameters +{ + "Qualifier": "A version number or alias name.", + "MaximumRetryAttempts": "The maximum number of times to retry when the function returns an error.", + "DestinationConfig": "A destination for events after they have been sent to a function for processing. Destinations Function - The Amazon Resource Name (ARN) of a Lambda function. Queue - The ARN of an SQS queue. Topic - The ARN of an SNS topic. Event Bus - The ARN of an Amazon EventBridge event bus. ", + "MaximumEventAgeInSeconds": "The maximum age of a request that Lambda sends to a function for processing." +} +""" +UpdateFunctionEventInvokeConfig(args) = lambda("POST", "/2019-09-25/functions/{FunctionName}/event-invoke-config", args) + +""" + GetAccountSettings() + +Retrieves details about your account's limits and usage in an AWS Region. +""" +GetAccountSettings() = lambda("GET", "/2016-08-19/account-settings/") +GetAccountSettings(args) = lambda("GET", "/2016-08-19/account-settings/", args) + +""" + PublishLayerVersion() + +Creates an AWS Lambda layer from a ZIP archive. Each time you call PublishLayerVersion with the same layer name, a new version is created. Add layers to your function with CreateFunction or UpdateFunctionConfiguration. + +Required Parameters +{ + "Content": "The function layer archive.", + "LayerName": "The name or Amazon Resource Name (ARN) of the layer." +} + +Optional Parameters +{ + "Description": "The description of the version.", + "CompatibleRuntimes": "A list of compatible function runtimes. Used for filtering with ListLayers and ListLayerVersions.", + "LicenseInfo": "The layer's software license. It can be any of the following: An SPDX license identifier. For example, MIT. The URL of a license hosted on the internet. For example, https://opensource.org/licenses/MIT. The full text of the license. " +} +""" +PublishLayerVersion(args) = lambda("POST", "/2018-10-31/layers/{LayerName}/versions", args) + +""" + PublishVersion() + +Creates a version from the current code and configuration of a function. Use versions to create a snapshot of your function code and configuration that doesn't change. AWS Lambda doesn't publish a version if the function's configuration and code haven't changed since the last version. Use UpdateFunctionCode or UpdateFunctionConfiguration to update the function before publishing a version. Clients can invoke versions directly or with an alias. To create an alias, use CreateAlias. + +Required Parameters +{ + "FunctionName": "The name of the Lambda function. Name formats Function name - MyFunction. Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction. Partial ARN - 123456789012:function:MyFunction. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length." +} + +Optional Parameters +{ + "Description": "A description for the version to override the description in the function configuration.", + "RevisionId": "Only update the function if the revision ID matches the ID that's specified. Use this option to avoid publishing a version if the function configuration has changed since you last updated it.", + "CodeSha256": "Only publish a version if the hash value matches the value that's specified. Use this option to avoid publishing a version if the function code has changed since you last updated it. You can get the hash for the version that you uploaded from the output of UpdateFunctionCode." +} +""" +PublishVersion(args) = lambda("POST", "/2015-03-31/functions/{FunctionName}/versions", args) + +""" + GetAlias() + +Returns details about a Lambda function alias. + +Required Parameters +{ + "FunctionName": "The name of the Lambda function. Name formats Function name - MyFunction. Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction. Partial ARN - 123456789012:function:MyFunction. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.", + "Name": "The name of the alias." +} +""" +GetAlias(args) = lambda("GET", "/2015-03-31/functions/{FunctionName}/aliases/{Name}", args) + +""" + DeleteLayerVersion() + +Deletes a version of an AWS Lambda layer. Deleted versions can no longer be viewed or added to functions. To avoid breaking functions, a copy of the version remains in Lambda until no functions refer to it. + +Required Parameters +{ + "VersionNumber": "The version number.", + "LayerName": "The name or Amazon Resource Name (ARN) of the layer." +} +""" +DeleteLayerVersion(args) = lambda("DELETE", "/2018-10-31/layers/{LayerName}/versions/{VersionNumber}", args) + +""" + GetPolicy() + +Returns the resource-based IAM policy for a function, version, or alias. + +Required Parameters +{ + "FunctionName": "The name of the Lambda function, version, or alias. Name formats Function name - my-function (name-only), my-function:v1 (with alias). Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function. Partial ARN - 123456789012:function:my-function. You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length." +} + +Optional Parameters +{ + "Qualifier": "Specify a version or alias to get the policy for that resource." +} +""" +GetPolicy(args) = lambda("GET", "/2015-03-31/functions/{FunctionName}/policy", args) + +""" + UpdateFunctionCode() + +Updates a Lambda function's code. The function's code is locked when you publish a version. You can't modify the code of a published version, only the unpublished version. + +Required Parameters +{ + "FunctionName": "The name of the Lambda function. Name formats Function name - my-function. Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function. Partial ARN - 123456789012:function:my-function. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length." +} + +Optional Parameters +{ + "RevisionId": "Only update the function if the revision ID matches the ID that's specified. Use this option to avoid modifying a function that has changed since you last read it.", + "Publish": "Set to true to publish a new version of the function after updating the code. This has the same effect as calling PublishVersion separately.", + "S3ObjectVersion": "For versioned objects, the version of the deployment package object to use.", + "DryRun": "Set to true to validate the request parameters and access permissions without modifying the function code.", + "S3Key": "The Amazon S3 key of the deployment package.", + "ZipFile": "The base64-encoded contents of the deployment package. AWS SDK and AWS CLI clients handle the encoding for you.", + "S3Bucket": "An Amazon S3 bucket in the same AWS Region as your function. The bucket can be in a different AWS account." +} +""" +UpdateFunctionCode(args) = lambda("PUT", "/2015-03-31/functions/{FunctionName}/code", args) + +""" + DeleteFunctionEventInvokeConfig() + +Deletes the configuration for asynchronous invocation for a function, version, or alias. To configure options for asynchronous invocation, use PutFunctionEventInvokeConfig. + +Required Parameters +{ + "FunctionName": "The name of the Lambda function, version, or alias. Name formats Function name - my-function (name-only), my-function:v1 (with alias). Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function. Partial ARN - 123456789012:function:my-function. You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length." +} + +Optional Parameters +{ + "Qualifier": "A version number or alias name." +} +""" +DeleteFunctionEventInvokeConfig(args) = lambda("DELETE", "/2019-09-25/functions/{FunctionName}/event-invoke-config", args) + +""" + UpdateFunctionConfiguration() + +Modify the version-specific settings of a Lambda function. When you update a function, Lambda provisions an instance of the function and its supporting resources. If your function connects to a VPC, this process can take a minute. During this time, you can't modify the function, but you can still invoke it. The LastUpdateStatus, LastUpdateStatusReason, and LastUpdateStatusReasonCode fields in the response from GetFunctionConfiguration indicate when the update is complete and the function is processing events with the new configuration. For more information, see Function States. These settings can vary between versions of a function and are locked when you publish a version. You can't modify the configuration of a published version, only the unpublished version. To configure function concurrency, use PutFunctionConcurrency. To grant invoke permissions to an account or AWS service, use AddPermission. + +Required Parameters +{ + "FunctionName": "The name of the Lambda function. Name formats Function name - my-function. Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function. Partial ARN - 123456789012:function:my-function. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length." +} + +Optional Parameters +{ + "Environment": "Environment variables that are accessible from function code during execution.", + "MemorySize": "The amount of memory that your function has access to. Increasing the function's memory also increases its CPU allocation. The default value is 128 MB. The value must be a multiple of 64 MB.", + "TracingConfig": "Set Mode to Active to sample and trace a subset of incoming requests with AWS X-Ray.", + "VpcConfig": "For network connectivity to AWS resources in a VPC, specify a list of security groups and subnets in the VPC. When you connect a function to a VPC, it can only access resources and the internet through that VPC. For more information, see VPC Settings.", + "DeadLetterConfig": "A dead letter queue configuration that specifies the queue or topic where Lambda sends asynchronous events when they fail processing. For more information, see Dead Letter Queues.", + "Runtime": "The identifier of the function's runtime.", + "Layers": "A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version.", + "Timeout": "The amount of time that Lambda allows a function to run before stopping it. The default is 3 seconds. The maximum allowed value is 900 seconds.", + "KMSKeyArn": "The ARN of the AWS Key Management Service (AWS KMS) key that's used to encrypt your function's environment variables. If it's not provided, AWS Lambda uses a default service key.", + "Role": "The Amazon Resource Name (ARN) of the function's execution role.", + "Handler": "The name of the method within your code that Lambda calls to execute your function. The format includes the file name. It can also include namespaces and other qualifiers, depending on the runtime. For more information, see Programming Model.", + "Description": "A description of the function.", + "RevisionId": "Only update the function if the revision ID matches the ID that's specified. Use this option to avoid modifying a function that has changed since you last read it." +} +""" +UpdateFunctionConfiguration(args) = lambda("PUT", "/2015-03-31/functions/{FunctionName}/configuration", args) + +""" + DeleteEventSourceMapping() + +Deletes an event source mapping. You can get the identifier of a mapping from the output of ListEventSourceMappings. When you delete an event source mapping, it enters a Deleting state and might not be completely deleted for several seconds. + +Required Parameters +{ + "UUID": "The identifier of the event source mapping." +} +""" +DeleteEventSourceMapping(args) = lambda("DELETE", "/2015-03-31/event-source-mappings/{UUID}", args) + +""" + AddLayerVersionPermission() + +Adds permissions to the resource-based policy of a version of an AWS Lambda layer. Use this action to grant layer usage permission to other accounts. You can grant permission to a single account, all AWS accounts, or all accounts in an organization. To revoke permission, call RemoveLayerVersionPermission with the statement ID that you specified when you added it. + +Required Parameters +{ + "StatementId": "An identifier that distinguishes the policy from others on the same layer version.", + "VersionNumber": "The version number.", + "LayerName": "The name or Amazon Resource Name (ARN) of the layer.", + "Principal": "An account ID, or * to grant permission to all AWS accounts.", + "Action": "The API action that grants access to the layer. For example, lambda:GetLayerVersion." +} + +Optional Parameters +{ + "RevisionId": "Only update the policy if the revision ID matches the ID specified. Use this option to avoid modifying a policy that has changed since you last read it.", + "OrganizationId": "With the principal set to *, grant permission to all accounts in the specified organization." +} +""" +AddLayerVersionPermission(args) = lambda("POST", "/2018-10-31/layers/{LayerName}/versions/{VersionNumber}/policy", args) + +""" + DeleteAlias() + +Deletes a Lambda function alias. + +Required Parameters +{ + "FunctionName": "The name of the Lambda function. Name formats Function name - MyFunction. Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction. Partial ARN - 123456789012:function:MyFunction. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.", + "Name": "The name of the alias." +} +""" +DeleteAlias(args) = lambda("DELETE", "/2015-03-31/functions/{FunctionName}/aliases/{Name}", args) + +""" + ListTags() + +Returns a function's tags. You can also view tags with GetFunction. + +Required Parameters +{ + "Resource": "The function's Amazon Resource Name (ARN)." +} +""" +ListTags(args) = lambda("GET", "/2017-03-31/tags/{ARN}", args) + +""" + ListFunctions() + +Returns a list of Lambda functions, with the version-specific configuration of each. Lambda returns up to 50 functions per call. Set FunctionVersion to ALL to include all published versions of each function in addition to the unpublished version. To get more information about a function or version, use GetFunction. + +Optional Parameters +{ + "FunctionVersion": "Set to ALL to include entries for all published versions of each function.", + "Marker": "Specify the pagination token that's returned by a previous request to retrieve the next page of results.", + "MasterRegion": "For Lambda@Edge functions, the AWS Region of the master function. For example, us-east-1 filters the list of functions to only include Lambda@Edge functions replicated from a master function in US East (N. Virginia). If specified, you must set FunctionVersion to ALL.", + "MaxItems": "The maximum number of functions to return." +} +""" +ListFunctions() = lambda("GET", "/2015-03-31/functions/") +ListFunctions(args) = lambda("GET", "/2015-03-31/functions/", args) + +""" + AddPermission() + +Grants an AWS service or another account permission to use a function. You can apply the policy at the function level, or specify a qualifier to restrict access to a single version or alias. If you use a qualifier, the invoker must use the full Amazon Resource Name (ARN) of that version or alias to invoke the function. To grant permission to another account, specify the account ID as the Principal. For AWS services, the principal is a domain-style identifier defined by the service, like s3.amazonaws.com or sns.amazonaws.com. For AWS services, you can also specify the ARN or owning account of the associated resource as the SourceArn or SourceAccount. If you grant permission to a service principal without specifying the source, other accounts could potentially configure resources in their account to invoke your Lambda function. This action adds a statement to a resource-based permissions policy for the function. For more information about function policies, see Lambda Function Policies. + +Required Parameters +{ + "StatementId": "A statement identifier that differentiates the statement from others in the same policy.", + "FunctionName": "The name of the Lambda function, version, or alias. Name formats Function name - my-function (name-only), my-function:v1 (with alias). Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function. Partial ARN - 123456789012:function:my-function. You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.", + "Principal": "The AWS service or account that invokes the function. If you specify a service, use SourceArn or SourceAccount to limit who can invoke the function through that service.", + "Action": "The action that the principal can use on the function. For example, lambda:InvokeFunction or lambda:GetFunction." +} + +Optional Parameters +{ + "SourceArn": "For AWS services, the ARN of the AWS resource that invokes the function. For example, an Amazon S3 bucket or Amazon SNS topic.", + "SourceAccount": "For AWS services, the ID of the account that owns the resource. Use this instead of SourceArn to grant permission to resources that are owned by another account (for example, all of an account's Amazon S3 buckets). Or use it together with SourceArn to ensure that the resource is owned by the specified account. For example, an Amazon S3 bucket could be deleted by its owner and recreated by another account.", + "Qualifier": "Specify a version or alias to add permissions to a published version of the function.", + "RevisionId": "Only update the policy if the revision ID matches the ID that's specified. Use this option to avoid modifying a policy that has changed since you last read it.", + "EventSourceToken": "For Alexa Smart Home functions, a token that must be supplied by the invoker." +} +""" +AddPermission(args) = lambda("POST", "/2015-03-31/functions/{FunctionName}/policy", args) + +""" + DeleteFunctionConcurrency() + +Removes a concurrent execution limit from a function. + +Required Parameters +{ + "FunctionName": "The name of the Lambda function. Name formats Function name - my-function. Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function. Partial ARN - 123456789012:function:my-function. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length." +} +""" +DeleteFunctionConcurrency(args) = lambda("DELETE", "/2017-10-31/functions/{FunctionName}/concurrency", args) diff --git a/src/services/lex_model_building_service.jl b/src/services/lex_model_building_service.jl new file mode 100644 index 0000000000..dcd6ccc04c --- /dev/null +++ b/src/services/lex_model_building_service.jl @@ -0,0 +1,616 @@ +include("../AWSServices.jl") +using .AWSServices: lex_model_building_service + +""" + GetImport() + +Gets information about an import job started with the StartImport operation. + +Required Parameters +{ + "importId": "The identifier of the import job information to return." +} +""" +GetImport(args) = lex_model_building_service("GET", "/imports/{importId}", args) + +""" + GetBotChannelAssociations() + + Returns a list of all of the channels associated with the specified bot. The GetBotChannelAssociations operation requires permissions for the lex:GetBotChannelAssociations action. + +Required Parameters +{ + "botName": "The name of the Amazon Lex bot in the association.", + "botAlias": "An alias pointing to the specific version of the Amazon Lex bot to which this association is being made." +} + +Optional Parameters +{ + "maxResults": "The maximum number of associations to return in the response. The default is 50. ", + "nameContains": "Substring to match in channel association names. An association will be returned if any part of its name matches the substring. For example, \"xyz\" matches both \"xyzabc\" and \"abcxyz.\" To return all bot channel associations, use a hyphen (\"-\") as the nameContains parameter.", + "nextToken": "A pagination token for fetching the next page of associations. If the response to this call is truncated, Amazon Lex returns a pagination token in the response. To fetch the next page of associations, specify the pagination token in the next request. " +} +""" +GetBotChannelAssociations(args) = lex_model_building_service("GET", "/bots/{botName}/aliases/{aliasName}/channels/", args) + +""" + ListTagsForResource() + +Gets a list of tags associated with the specified resource. Only bots, bot aliases, and bot channels can have tags associated with them. + +Required Parameters +{ + "resourceArn": "The Amazon Resource Name (ARN) of the resource to get a list of tags for." +} +""" +ListTagsForResource(args) = lex_model_building_service("GET", "/tags/{resourceArn}", args) + +""" + DeleteBot() + +Deletes all versions of the bot, including the LATEST version. To delete a specific version of the bot, use the DeleteBotVersion operation. The DeleteBot operation doesn't immediately remove the bot schema. Instead, it is marked for deletion and removed later. Amazon Lex stores utterances indefinitely for improving the ability of your bot to respond to user inputs. These utterances are not removed when the bot is deleted. To remove the utterances, use the DeleteUtterances operation. If a bot has an alias, you can't delete it. Instead, the DeleteBot operation returns a ResourceInUseException exception that includes a reference to the alias that refers to the bot. To remove the reference to the bot, delete the alias. If you get the same exception again, delete the referring alias until the DeleteBot operation is successful. This operation requires permissions for the lex:DeleteBot action. + +Required Parameters +{ + "name": "The name of the bot. The name is case sensitive. " +} +""" +DeleteBot(args) = lex_model_building_service("DELETE", "/bots/{name}", args) + +""" + PutBot() + +Creates an Amazon Lex conversational bot or replaces an existing bot. When you create or update a bot you are only required to specify a name, a locale, and whether the bot is directed toward children under age 13. You can use this to add intents later, or to remove intents from an existing bot. When you create a bot with the minimum information, the bot is created or updated but Amazon Lex returns the response FAILED. You can build the bot after you add one or more intents. For more information about Amazon Lex bots, see how-it-works. If you specify the name of an existing bot, the fields in the request replace the existing values in the LATEST version of the bot. Amazon Lex removes any fields that you don't provide values for in the request, except for the idleTTLInSeconds and privacySettings fields, which are set to their default values. If you don't specify values for required fields, Amazon Lex throws an exception. This operation requires permissions for the lex:PutBot action. For more information, see security-iam. + +Required Parameters +{ + "name": "The name of the bot. The name is not case sensitive. ", + "locale": " Specifies the target locale for the bot. Any intent used in the bot must be compatible with the locale of the bot. The default is en-US.", + "childDirected": "For each Amazon Lex bot created with the Amazon Lex Model Building Service, you must specify whether your use of Amazon Lex is related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to the Children's Online Privacy Protection Act (COPPA) by specifying true or false in the childDirected field. By specifying true in the childDirected field, you confirm that your use of Amazon Lex is related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to COPPA. By specifying false in the childDirected field, you confirm that your use of Amazon Lex is not related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to COPPA. You may not specify a default value for the childDirected field that does not accurately reflect whether your use of Amazon Lex is related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to COPPA. If your use of Amazon Lex relates to a website, program, or other application that is directed in whole or in part, to children under age 13, you must obtain any required verifiable parental consent under COPPA. For information regarding the use of Amazon Lex in connection with websites, programs, or other applications that are directed or targeted, in whole or in part, to children under age 13, see the Amazon Lex FAQ. " +} + +Optional Parameters +{ + "detectSentiment": "When set to true user utterances are sent to Amazon Comprehend for sentiment analysis. If you don't specify detectSentiment, the default is false.", + "idleSessionTTLInSeconds": "The maximum time in seconds that Amazon Lex retains the data gathered in a conversation. A user interaction session remains active for the amount of time specified. If no conversation occurs during this time, the session expires and Amazon Lex deletes any data provided before the timeout. For example, suppose that a user chooses the OrderPizza intent, but gets sidetracked halfway through placing an order. If the user doesn't complete the order within the specified time, Amazon Lex discards the slot information that it gathered, and the user must start over. If you don't include the idleSessionTTLInSeconds element in a PutBot operation request, Amazon Lex uses the default value. This is also true if the request replaces an existing bot. The default is 300 seconds (5 minutes).", + "createVersion": "When set to true a new numbered version of the bot is created. This is the same as calling the CreateBotVersion operation. If you don't specify createVersion, the default is false.", + "checksum": "Identifies a specific revision of the LATEST version. When you create a new bot, leave the checksum field blank. If you specify a checksum you get a BadRequestException exception. When you want to update a bot, set the checksum field to the checksum of the most recent revision of the LATEST version. If you don't specify the checksum field, or if the checksum does not match the LATEST version, you get a PreconditionFailedException exception.", + "abortStatement": "When Amazon Lex can't understand the user's input in context, it tries to elicit the information a few times. After that, Amazon Lex sends the message defined in abortStatement to the user, and then aborts the conversation. To set the number of retries, use the valueElicitationPrompt field for the slot type. For example, in a pizza ordering bot, Amazon Lex might ask a user \"What type of crust would you like?\" If the user's response is not one of the expected responses (for example, \"thin crust, \"deep dish,\" etc.), Amazon Lex tries to elicit a correct response a few more times. For example, in a pizza ordering application, OrderPizza might be one of the intents. This intent might require the CrustType slot. You specify the valueElicitationPrompt field when you create the CrustType slot. If you have defined a fallback intent the abort statement will not be sent to the user, the fallback intent is used instead. For more information, see AMAZON.FallbackIntent.", + "clarificationPrompt": "When Amazon Lex doesn't understand the user's intent, it uses this message to get clarification. To specify how many times Amazon Lex should repeat the clarification prompt, use the maxAttempts field. If Amazon Lex still doesn't understand, it sends the message in the abortStatement field. When you create a clarification prompt, make sure that it suggests the correct response from the user. for example, for a bot that orders pizza and drinks, you might create this clarification prompt: \"What would you like to do? You can say 'Order a pizza' or 'Order a drink.'\" If you have defined a fallback intent, it will be invoked if the clarification prompt is repeated the number of times defined in the maxAttempts field. For more information, see AMAZON.FallbackIntent. If you don't define a clarification prompt, at runtime Amazon Lex will return a 400 Bad Request exception in three cases: Follow-up prompt - When the user responds to a follow-up prompt but does not provide an intent. For example, in response to a follow-up prompt that says \"Would you like anything else today?\" the user says \"Yes.\" Amazon Lex will return a 400 Bad Request exception because it does not have a clarification prompt to send to the user to get an intent. Lambda function - When using a Lambda function, you return an ElicitIntent dialog type. Since Amazon Lex does not have a clarification prompt to get an intent from the user, it returns a 400 Bad Request exception. PutSession operation - When using the PutSession operation, you send an ElicitIntent dialog type. Since Amazon Lex does not have a clarification prompt to get an intent from the user, it returns a 400 Bad Request exception. ", + "description": "A description of the bot.", + "voiceId": "The Amazon Polly voice ID that you want Amazon Lex to use for voice interactions with the user. The locale configured for the voice must match the locale of the bot. For more information, see Voices in Amazon Polly in the Amazon Polly Developer Guide.", + "intents": "An array of Intent objects. Each intent represents a command that a user can express. For example, a pizza ordering bot might support an OrderPizza intent. For more information, see how-it-works.", + "processBehavior": "If you set the processBehavior element to BUILD, Amazon Lex builds the bot so that it can be run. If you set the element to SAVE Amazon Lex saves the bot, but doesn't build it. If you don't specify this value, the default value is BUILD.", + "tags": "A list of tags to add to the bot. You can only add tags when you create a bot, you can't use the PutBot operation to update the tags on a bot. To update tags, use the TagResource operation." +} +""" +PutBot(args) = lex_model_building_service("PUT", "/bots/{name}/versions/$LATEST", args) + +""" + PutSlotType() + +Creates a custom slot type or replaces an existing custom slot type. To create a custom slot type, specify a name for the slot type and a set of enumeration values, which are the values that a slot of this type can assume. For more information, see how-it-works. If you specify the name of an existing slot type, the fields in the request replace the existing values in the LATEST version of the slot type. Amazon Lex removes the fields that you don't provide in the request. If you don't specify required fields, Amazon Lex throws an exception. When you update the LATEST version of a slot type, if a bot uses the LATEST version of an intent that contains the slot type, the bot's status field is set to NOT_BUILT. This operation requires permissions for the lex:PutSlotType action. + +Required Parameters +{ + "name": "The name of the slot type. The name is not case sensitive. The name can't match a built-in slot type name, or a built-in slot type name with \"AMAZON.\" removed. For example, because there is a built-in slot type called AMAZON.DATE, you can't create a custom slot type called DATE. For a list of built-in slot types, see Slot Type Reference in the Alexa Skills Kit." +} + +Optional Parameters +{ + "createVersion": "When set to true a new numbered version of the slot type is created. This is the same as calling the CreateSlotTypeVersion operation. If you do not specify createVersion, the default is false.", + "checksum": "Identifies a specific revision of the LATEST version. When you create a new slot type, leave the checksum field blank. If you specify a checksum you get a BadRequestException exception. When you want to update a slot type, set the checksum field to the checksum of the most recent revision of the LATEST version. If you don't specify the checksum field, or if the checksum does not match the LATEST version, you get a PreconditionFailedException exception.", + "slotTypeConfigurations": "Configuration information that extends the parent built-in slot type. The configuration is added to the settings for the parent slot type.", + "enumerationValues": "A list of EnumerationValue objects that defines the values that the slot type can take. Each value can have a list of synonyms, which are additional values that help train the machine learning model about the values that it resolves for a slot. When Amazon Lex resolves a slot value, it generates a resolution list that contains up to five possible values for the slot. If you are using a Lambda function, this resolution list is passed to the function. If you are not using a Lambda function you can choose to return the value that the user entered or the first value in the resolution list as the slot value. The valueSelectionStrategy field indicates the option to use. ", + "description": "A description of the slot type.", + "valueSelectionStrategy": "Determines the slot resolution strategy that Amazon Lex uses to return slot type values. The field can be set to one of the following values: ORIGINAL_VALUE - Returns the value entered by the user, if the user value is similar to the slot value. TOP_RESOLUTION - If there is a resolution list for the slot, return the first value in the resolution list as the slot type value. If there is no resolution list, null is returned. If you don't specify the valueSelectionStrategy, the default is ORIGINAL_VALUE.", + "parentSlotTypeSignature": "The built-in slot type used as the parent of the slot type. When you define a parent slot type, the new slot type has all of the same configuration as the parent. Only AMAZON.AlphaNumeric is supported." +} +""" +PutSlotType(args) = lex_model_building_service("PUT", "/slottypes/{name}/versions/$LATEST", args) + +""" + GetIntents() + +Returns intent information as follows: If you specify the nameContains field, returns the LATEST version of all intents that contain the specified string. If you don't specify the nameContains field, returns information about the LATEST version of all intents. The operation requires permission for the lex:GetIntents action. + +Optional Parameters +{ + "maxResults": "The maximum number of intents to return in the response. The default is 10.", + "nameContains": "Substring to match in intent names. An intent will be returned if any part of its name matches the substring. For example, \"xyz\" matches both \"xyzabc\" and \"abcxyz.\"", + "nextToken": "A pagination token that fetches the next page of intents. If the response to this API call is truncated, Amazon Lex returns a pagination token in the response. To fetch the next page of intents, specify the pagination token in the next request. " +} +""" +GetIntents() = lex_model_building_service("GET", "/intents/") +GetIntents(args) = lex_model_building_service("GET", "/intents/", args) + +""" + DeleteBotVersion() + +Deletes a specific version of a bot. To delete all versions of a bot, use the DeleteBot operation. This operation requires permissions for the lex:DeleteBotVersion action. + +Required Parameters +{ + "name": "The name of the bot.", + "version": "The version of the bot to delete. You cannot delete the LATEST version of the bot. To delete the LATEST version, use the DeleteBot operation." +} +""" +DeleteBotVersion(args) = lex_model_building_service("DELETE", "/bots/{name}/versions/{version}", args) + +""" + GetBuiltinIntent() + +Returns information about a built-in intent. This operation requires permission for the lex:GetBuiltinIntent action. + +Required Parameters +{ + "signature": "The unique identifier for a built-in intent. To find the signature for an intent, see Standard Built-in Intents in the Alexa Skills Kit." +} +""" +GetBuiltinIntent(args) = lex_model_building_service("GET", "/builtins/intents/{signature}", args) + +""" + DeleteIntent() + +Deletes all versions of the intent, including the LATEST version. To delete a specific version of the intent, use the DeleteIntentVersion operation. You can delete a version of an intent only if it is not referenced. To delete an intent that is referred to in one or more bots (see how-it-works), you must remove those references first. If you get the ResourceInUseException exception, it provides an example reference that shows where the intent is referenced. To remove the reference to the intent, either update the bot or delete it. If you get the same exception when you attempt to delete the intent again, repeat until the intent has no references and the call to DeleteIntent is successful. This operation requires permission for the lex:DeleteIntent action. + +Required Parameters +{ + "name": "The name of the intent. The name is case sensitive. " +} +""" +DeleteIntent(args) = lex_model_building_service("DELETE", "/intents/{name}", args) + +""" + GetSlotType() + +Returns information about a specific version of a slot type. In addition to specifying the slot type name, you must specify the slot type version. This operation requires permissions for the lex:GetSlotType action. + +Required Parameters +{ + "name": "The name of the slot type. The name is case sensitive. ", + "version": "The version of the slot type. " +} +""" +GetSlotType(args) = lex_model_building_service("GET", "/slottypes/{name}/versions/{version}", args) + +""" + PutIntent() + +Creates an intent or replaces an existing intent. To define the interaction between the user and your bot, you use one or more intents. For a pizza ordering bot, for example, you would create an OrderPizza intent. To create an intent or replace an existing intent, you must provide the following: Intent name. For example, OrderPizza. Sample utterances. For example, "Can I order a pizza, please." and "I want to order a pizza." Information to be gathered. You specify slot types for the information that your bot will request from the user. You can specify standard slot types, such as a date or a time, or custom slot types such as the size and crust of a pizza. How the intent will be fulfilled. You can provide a Lambda function or configure the intent to return the intent information to the client application. If you use a Lambda function, when all of the intent information is available, Amazon Lex invokes your Lambda function. If you configure your intent to return the intent information to the client application. You can specify other optional information in the request, such as: A confirmation prompt to ask the user to confirm an intent. For example, "Shall I order your pizza?" A conclusion statement to send to the user after the intent has been fulfilled. For example, "I placed your pizza order." A follow-up prompt that asks the user for additional activity. For example, asking "Do you want to order a drink with your pizza?" If you specify an existing intent name to update the intent, Amazon Lex replaces the values in the LATEST version of the intent with the values in the request. Amazon Lex removes fields that you don't provide in the request. If you don't specify the required fields, Amazon Lex throws an exception. When you update the LATEST version of an intent, the status field of any bot that uses the LATEST version of the intent is set to NOT_BUILT. For more information, see how-it-works. This operation requires permissions for the lex:PutIntent action. + +Required Parameters +{ + "name": "The name of the intent. The name is not case sensitive. The name can't match a built-in intent name, or a built-in intent name with \"AMAZON.\" removed. For example, because there is a built-in intent called AMAZON.HelpIntent, you can't create a custom intent called HelpIntent. For a list of built-in intents, see Standard Built-in Intents in the Alexa Skills Kit." +} + +Optional Parameters +{ + "rejectionStatement": "When the user answers \"no\" to the question defined in confirmationPrompt, Amazon Lex responds with this statement to acknowledge that the intent was canceled. You must provide both the rejectionStatement and the confirmationPrompt, or neither. ", + "createVersion": "When set to true a new numbered version of the intent is created. This is the same as calling the CreateIntentVersion operation. If you do not specify createVersion, the default is false.", + "checksum": "Identifies a specific revision of the LATEST version. When you create a new intent, leave the checksum field blank. If you specify a checksum you get a BadRequestException exception. When you want to update a intent, set the checksum field to the checksum of the most recent revision of the LATEST version. If you don't specify the checksum field, or if the checksum does not match the LATEST version, you get a PreconditionFailedException exception.", + "sampleUtterances": "An array of utterances (strings) that a user might say to signal the intent. For example, \"I want {PizzaSize} pizza\", \"Order {Quantity} {PizzaSize} pizzas\". In each utterance, a slot name is enclosed in curly braces. ", + "confirmationPrompt": "Prompts the user to confirm the intent. This question should have a yes or no answer. Amazon Lex uses this prompt to ensure that the user acknowledges that the intent is ready for fulfillment. For example, with the OrderPizza intent, you might want to confirm that the order is correct before placing it. For other intents, such as intents that simply respond to user questions, you might not need to ask the user for confirmation before providing the information. You you must provide both the rejectionStatement and the confirmationPrompt, or neither. ", + "dialogCodeHook": " Specifies a Lambda function to invoke for each user input. You can invoke this Lambda function to personalize user interaction. For example, suppose your bot determines that the user is John. Your Lambda function might retrieve John's information from a backend database and prepopulate some of the values. For example, if you find that John is gluten intolerant, you might set the corresponding intent slot, GlutenIntolerant, to true. You might find John's phone number and set the corresponding session attribute. ", + "description": "A description of the intent.", + "conclusionStatement": " The statement that you want Amazon Lex to convey to the user after the intent is successfully fulfilled by the Lambda function. This element is relevant only if you provide a Lambda function in the fulfillmentActivity. If you return the intent to the client application, you can't specify this element. The followUpPrompt and conclusionStatement are mutually exclusive. You can specify only one. ", + "fulfillmentActivity": "Required. Describes how the intent is fulfilled. For example, after a user provides all of the information for a pizza order, fulfillmentActivity defines how the bot places an order with a local pizza store. You might configure Amazon Lex to return all of the intent information to the client application, or direct it to invoke a Lambda function that can process the intent (for example, place an order with a pizzeria). ", + "slots": "An array of intent slots. At runtime, Amazon Lex elicits required slot values from the user using prompts defined in the slots. For more information, see how-it-works. ", + "followUpPrompt": "Amazon Lex uses this prompt to solicit additional activity after fulfilling an intent. For example, after the OrderPizza intent is fulfilled, you might prompt the user to order a drink. The action that Amazon Lex takes depends on the user's response, as follows: If the user says \"Yes\" it responds with the clarification prompt that is configured for the bot. if the user says \"Yes\" and continues with an utterance that triggers an intent it starts a conversation for the intent. If the user says \"No\" it responds with the rejection statement configured for the the follow-up prompt. If it doesn't recognize the utterance it repeats the follow-up prompt again. The followUpPrompt field and the conclusionStatement field are mutually exclusive. You can specify only one. ", + "parentIntentSignature": "A unique identifier for the built-in intent to base this intent on. To find the signature for an intent, see Standard Built-in Intents in the Alexa Skills Kit." +} +""" +PutIntent(args) = lex_model_building_service("PUT", "/intents/{name}/versions/$LATEST", args) + +""" + DeleteUtterances() + +Deletes stored utterances. Amazon Lex stores the utterances that users send to your bot. Utterances are stored for 15 days for use with the GetUtterancesView operation, and then stored indefinitely for use in improving the ability of your bot to respond to user input. Use the DeleteUtterances operation to manually delete stored utterances for a specific user. When you use the DeleteUtterances operation, utterances stored for improving your bot's ability to respond to user input are deleted immediately. Utterances stored for use with the GetUtterancesView operation are deleted after 15 days. This operation requires permissions for the lex:DeleteUtterances action. + +Required Parameters +{ + "userId": " The unique identifier for the user that made the utterances. This is the user ID that was sent in the PostContent or PostText operation request that contained the utterance.", + "botName": "The name of the bot that stored the utterances." +} +""" +DeleteUtterances(args) = lex_model_building_service("DELETE", "/bots/{botName}/utterances/{userId}", args) + +""" + CreateSlotTypeVersion() + +Creates a new version of a slot type based on the LATEST version of the specified slot type. If the LATEST version of this resource has not changed since the last version that you created, Amazon Lex doesn't create a new version. It returns the last version that you created. You can update only the LATEST version of a slot type. You can't update the numbered versions that you create with the CreateSlotTypeVersion operation. When you create a version of a slot type, Amazon Lex sets the version to 1. Subsequent versions increment by 1. For more information, see versioning-intro. This operation requires permissions for the lex:CreateSlotTypeVersion action. + +Required Parameters +{ + "name": "The name of the slot type that you want to create a new version for. The name is case sensitive. " +} + +Optional Parameters +{ + "checksum": "Checksum for the LATEST version of the slot type that you want to publish. If you specify a checksum and the LATEST version of the slot type has a different checksum, Amazon Lex returns a PreconditionFailedException exception and doesn't publish the new version. If you don't specify a checksum, Amazon Lex publishes the LATEST version." +} +""" +CreateSlotTypeVersion(args) = lex_model_building_service("POST", "/slottypes/{name}/versions", args) + +""" + GetSlotTypes() + +Returns slot type information as follows: If you specify the nameContains field, returns the LATEST version of all slot types that contain the specified string. If you don't specify the nameContains field, returns information about the LATEST version of all slot types. The operation requires permission for the lex:GetSlotTypes action. + +Optional Parameters +{ + "maxResults": "The maximum number of slot types to return in the response. The default is 10.", + "nameContains": "Substring to match in slot type names. A slot type will be returned if any part of its name matches the substring. For example, \"xyz\" matches both \"xyzabc\" and \"abcxyz.\"", + "nextToken": "A pagination token that fetches the next page of slot types. If the response to this API call is truncated, Amazon Lex returns a pagination token in the response. To fetch next page of slot types, specify the pagination token in the next request." +} +""" +GetSlotTypes() = lex_model_building_service("GET", "/slottypes/") +GetSlotTypes(args) = lex_model_building_service("GET", "/slottypes/", args) + +""" + DeleteSlotTypeVersion() + +Deletes a specific version of a slot type. To delete all versions of a slot type, use the DeleteSlotType operation. This operation requires permissions for the lex:DeleteSlotTypeVersion action. + +Required Parameters +{ + "name": "The name of the slot type.", + "version": "The version of the slot type to delete. You cannot delete the LATEST version of the slot type. To delete the LATEST version, use the DeleteSlotType operation." +} +""" +DeleteSlotTypeVersion(args) = lex_model_building_service("DELETE", "/slottypes/{name}/version/{version}", args) + +""" + GetBotAliases() + +Returns a list of aliases for a specified Amazon Lex bot. This operation requires permissions for the lex:GetBotAliases action. + +Required Parameters +{ + "botName": "The name of the bot." +} + +Optional Parameters +{ + "maxResults": "The maximum number of aliases to return in the response. The default is 50. . ", + "nameContains": "Substring to match in bot alias names. An alias will be returned if any part of its name matches the substring. For example, \"xyz\" matches both \"xyzabc\" and \"abcxyz.\"", + "nextToken": "A pagination token for fetching the next page of aliases. If the response to this call is truncated, Amazon Lex returns a pagination token in the response. To fetch the next page of aliases, specify the pagination token in the next request. " +} +""" +GetBotAliases(args) = lex_model_building_service("GET", "/bots/{botName}/aliases/", args) + +""" + PutBotAlias() + +Creates an alias for the specified version of the bot or replaces an alias for the specified bot. To change the version of the bot that the alias points to, replace the alias. For more information about aliases, see versioning-aliases. This operation requires permissions for the lex:PutBotAlias action. + +Required Parameters +{ + "name": "The name of the alias. The name is not case sensitive.", + "botName": "The name of the bot.", + "botVersion": "The version of the bot." +} + +Optional Parameters +{ + "checksum": "Identifies a specific revision of the LATEST version. When you create a new bot alias, leave the checksum field blank. If you specify a checksum you get a BadRequestException exception. When you want to update a bot alias, set the checksum field to the checksum of the most recent revision of the LATEST version. If you don't specify the checksum field, or if the checksum does not match the LATEST version, you get a PreconditionFailedException exception.", + "conversationLogs": "Settings for conversation logs for the alias.", + "tags": "A list of tags to add to the bot alias. You can only add tags when you create an alias, you can't use the PutBotAlias operation to update the tags on a bot alias. To update tags, use the TagResource operation.", + "description": "A description of the alias." +} +""" +PutBotAlias(args) = lex_model_building_service("PUT", "/bots/{botName}/aliases/{name}", args) + +""" + DeleteBotChannelAssociation() + +Deletes the association between an Amazon Lex bot and a messaging platform. This operation requires permission for the lex:DeleteBotChannelAssociation action. + +Required Parameters +{ + "name": "The name of the association. The name is case sensitive. ", + "botName": "The name of the Amazon Lex bot.", + "botAlias": "An alias that points to the specific version of the Amazon Lex bot to which this association is being made." +} +""" +DeleteBotChannelAssociation(args) = lex_model_building_service("DELETE", "/bots/{botName}/aliases/{aliasName}/channels/{name}", args) + +""" + GetBotVersions() + +Gets information about all of the versions of a bot. The GetBotVersions operation returns a BotMetadata object for each version of a bot. For example, if a bot has three numbered versions, the GetBotVersions operation returns four BotMetadata objects in the response, one for each numbered version and one for the LATEST version. The GetBotVersions operation always returns at least one version, the LATEST version. This operation requires permissions for the lex:GetBotVersions action. + +Required Parameters +{ + "name": "The name of the bot for which versions should be returned." +} + +Optional Parameters +{ + "maxResults": "The maximum number of bot versions to return in the response. The default is 10.", + "nextToken": "A pagination token for fetching the next page of bot versions. If the response to this call is truncated, Amazon Lex returns a pagination token in the response. To fetch the next page of versions, specify the pagination token in the next request. " +} +""" +GetBotVersions(args) = lex_model_building_service("GET", "/bots/{name}/versions/", args) + +""" + GetSlotTypeVersions() + +Gets information about all versions of a slot type. The GetSlotTypeVersions operation returns a SlotTypeMetadata object for each version of a slot type. For example, if a slot type has three numbered versions, the GetSlotTypeVersions operation returns four SlotTypeMetadata objects in the response, one for each numbered version and one for the LATEST version. The GetSlotTypeVersions operation always returns at least one version, the LATEST version. This operation requires permissions for the lex:GetSlotTypeVersions action. + +Required Parameters +{ + "name": "The name of the slot type for which versions should be returned." +} + +Optional Parameters +{ + "maxResults": "The maximum number of slot type versions to return in the response. The default is 10.", + "nextToken": "A pagination token for fetching the next page of slot type versions. If the response to this call is truncated, Amazon Lex returns a pagination token in the response. To fetch the next page of versions, specify the pagination token in the next request. " +} +""" +GetSlotTypeVersions(args) = lex_model_building_service("GET", "/slottypes/{name}/versions/", args) + +""" + TagResource() + +Adds the specified tags to the specified resource. If a tag key already exists, the existing value is replaced with the new value. + +Required Parameters +{ + "resourceArn": "The Amazon Resource Name (ARN) of the bot, bot alias, or bot channel to tag.", + "tags": "A list of tag keys to add to the resource. If a tag key already exists, the existing value is replaced with the new value." +} +""" +TagResource(args) = lex_model_building_service("POST", "/tags/{resourceArn}", args) + +""" + UntagResource() + +Removes tags from a bot, bot alias or bot channel. + +Required Parameters +{ + "resourceArn": "The Amazon Resource Name (ARN) of the resource to remove the tags from.", + "tagKeys": "A list of tag keys to remove from the resource. If a tag key does not exist on the resource, it is ignored." +} +""" +UntagResource(args) = lex_model_building_service("DELETE", "/tags/{resourceArn}", args) + +""" + StartImport() + +Starts a job to import a resource to Amazon Lex. + +Required Parameters +{ + "mergeStrategy": "Specifies the action that the StartImport operation should take when there is an existing resource with the same name. FAIL_ON_CONFLICT - The import operation is stopped on the first conflict between a resource in the import file and an existing resource. The name of the resource causing the conflict is in the failureReason field of the response to the GetImport operation. OVERWRITE_LATEST - The import operation proceeds even if there is a conflict with an existing resource. The LASTEST version of the existing resource is overwritten with the data from the import file. ", + "payload": "A zip archive in binary format. The archive should contain one file, a JSON file containing the resource to import. The resource should match the type specified in the resourceType field.", + "resourceType": "Specifies the type of resource to export. Each resource also exports any resources that it depends on. A bot exports dependent intents. An intent exports dependent slot types. " +} + +Optional Parameters +{ + "tags": "A list of tags to add to the imported bot. You can only add tags when you import a bot, you can't add tags to an intent or slot type." +} +""" +StartImport(args) = lex_model_building_service("POST", "/imports/", args) + +""" + GetBotChannelAssociation() + +Returns information about the association between an Amazon Lex bot and a messaging platform. This operation requires permissions for the lex:GetBotChannelAssociation action. + +Required Parameters +{ + "name": "The name of the association between the bot and the channel. The name is case sensitive. ", + "botName": "The name of the Amazon Lex bot.", + "botAlias": "An alias pointing to the specific version of the Amazon Lex bot to which this association is being made." +} +""" +GetBotChannelAssociation(args) = lex_model_building_service("GET", "/bots/{botName}/aliases/{aliasName}/channels/{name}", args) + +""" + GetBot() + +Returns metadata information for a specific bot. You must provide the bot name and the bot version or alias. This operation requires permissions for the lex:GetBot action. + +Required Parameters +{ + "name": "The name of the bot. The name is case sensitive. ", + "versionOrAlias": "The version or alias of the bot." +} +""" +GetBot(args) = lex_model_building_service("GET", "/bots/{name}/versions/{versionoralias}", args) + +""" + GetBotAlias() + +Returns information about an Amazon Lex bot alias. For more information about aliases, see versioning-aliases. This operation requires permissions for the lex:GetBotAlias action. + +Required Parameters +{ + "name": "The name of the bot alias. The name is case sensitive.", + "botName": "The name of the bot." +} +""" +GetBotAlias(args) = lex_model_building_service("GET", "/bots/{botName}/aliases/{name}", args) + +""" + GetBuiltinIntents() + +Gets a list of built-in intents that meet the specified criteria. This operation requires permission for the lex:GetBuiltinIntents action. + +Optional Parameters +{ + "locale": "A list of locales that the intent supports.", + "signatureContains": "Substring to match in built-in intent signatures. An intent will be returned if any part of its signature matches the substring. For example, \"xyz\" matches both \"xyzabc\" and \"abcxyz.\" To find the signature for an intent, see Standard Built-in Intents in the Alexa Skills Kit.", + "maxResults": "The maximum number of intents to return in the response. The default is 10.", + "nextToken": "A pagination token that fetches the next page of intents. If this API call is truncated, Amazon Lex returns a pagination token in the response. To fetch the next page of intents, use the pagination token in the next request." +} +""" +GetBuiltinIntents() = lex_model_building_service("GET", "/builtins/intents/") +GetBuiltinIntents(args) = lex_model_building_service("GET", "/builtins/intents/", args) + +""" + GetIntent() + + Returns information about an intent. In addition to the intent name, you must specify the intent version. This operation requires permissions to perform the lex:GetIntent action. + +Required Parameters +{ + "name": "The name of the intent. The name is case sensitive. ", + "version": "The version of the intent." +} +""" +GetIntent(args) = lex_model_building_service("GET", "/intents/{name}/versions/{version}", args) + +""" + GetBuiltinSlotTypes() + +Gets a list of built-in slot types that meet the specified criteria. For a list of built-in slot types, see Slot Type Reference in the Alexa Skills Kit. This operation requires permission for the lex:GetBuiltInSlotTypes action. + +Optional Parameters +{ + "locale": "A list of locales that the slot type supports.", + "signatureContains": "Substring to match in built-in slot type signatures. A slot type will be returned if any part of its signature matches the substring. For example, \"xyz\" matches both \"xyzabc\" and \"abcxyz.\"", + "maxResults": "The maximum number of slot types to return in the response. The default is 10.", + "nextToken": "A pagination token that fetches the next page of slot types. If the response to this API call is truncated, Amazon Lex returns a pagination token in the response. To fetch the next page of slot types, specify the pagination token in the next request." +} +""" +GetBuiltinSlotTypes() = lex_model_building_service("GET", "/builtins/slottypes/") +GetBuiltinSlotTypes(args) = lex_model_building_service("GET", "/builtins/slottypes/", args) + +""" + DeleteSlotType() + +Deletes all versions of the slot type, including the LATEST version. To delete a specific version of the slot type, use the DeleteSlotTypeVersion operation. You can delete a version of a slot type only if it is not referenced. To delete a slot type that is referred to in one or more intents, you must remove those references first. If you get the ResourceInUseException exception, the exception provides an example reference that shows the intent where the slot type is referenced. To remove the reference to the slot type, either update the intent or delete it. If you get the same exception when you attempt to delete the slot type again, repeat until the slot type has no references and the DeleteSlotType call is successful. This operation requires permission for the lex:DeleteSlotType action. + +Required Parameters +{ + "name": "The name of the slot type. The name is case sensitive. " +} +""" +DeleteSlotType(args) = lex_model_building_service("DELETE", "/slottypes/{name}", args) + +""" + CreateIntentVersion() + +Creates a new version of an intent based on the LATEST version of the intent. If the LATEST version of this intent hasn't changed since you last updated it, Amazon Lex doesn't create a new version. It returns the last version you created. You can update only the LATEST version of the intent. You can't update the numbered versions that you create with the CreateIntentVersion operation. When you create a version of an intent, Amazon Lex sets the version to 1. Subsequent versions increment by 1. For more information, see versioning-intro. This operation requires permissions to perform the lex:CreateIntentVersion action. + +Required Parameters +{ + "name": "The name of the intent that you want to create a new version of. The name is case sensitive. " +} + +Optional Parameters +{ + "checksum": "Checksum of the LATEST version of the intent that should be used to create the new version. If you specify a checksum and the LATEST version of the intent has a different checksum, Amazon Lex returns a PreconditionFailedException exception and doesn't publish a new version. If you don't specify a checksum, Amazon Lex publishes the LATEST version." +} +""" +CreateIntentVersion(args) = lex_model_building_service("POST", "/intents/{name}/versions", args) + +""" + DeleteBotAlias() + +Deletes an alias for the specified bot. You can't delete an alias that is used in the association between a bot and a messaging channel. If an alias is used in a channel association, the DeleteBot operation returns a ResourceInUseException exception that includes a reference to the channel association that refers to the bot. You can remove the reference to the alias by deleting the channel association. If you get the same exception again, delete the referring association until the DeleteBotAlias operation is successful. + +Required Parameters +{ + "name": "The name of the alias to delete. The name is case sensitive. ", + "botName": "The name of the bot that the alias points to." +} +""" +DeleteBotAlias(args) = lex_model_building_service("DELETE", "/bots/{botName}/aliases/{name}", args) + +""" + GetIntentVersions() + +Gets information about all of the versions of an intent. The GetIntentVersions operation returns an IntentMetadata object for each version of an intent. For example, if an intent has three numbered versions, the GetIntentVersions operation returns four IntentMetadata objects in the response, one for each numbered version and one for the LATEST version. The GetIntentVersions operation always returns at least one version, the LATEST version. This operation requires permissions for the lex:GetIntentVersions action. + +Required Parameters +{ + "name": "The name of the intent for which versions should be returned." +} + +Optional Parameters +{ + "maxResults": "The maximum number of intent versions to return in the response. The default is 10.", + "nextToken": "A pagination token for fetching the next page of intent versions. If the response to this call is truncated, Amazon Lex returns a pagination token in the response. To fetch the next page of versions, specify the pagination token in the next request. " +} +""" +GetIntentVersions(args) = lex_model_building_service("GET", "/intents/{name}/versions/", args) + +""" + GetUtterancesView() + +Use the GetUtterancesView operation to get information about the utterances that your users have made to your bot. You can use this list to tune the utterances that your bot responds to. For example, say that you have created a bot to order flowers. After your users have used your bot for a while, use the GetUtterancesView operation to see the requests that they have made and whether they have been successful. You might find that the utterance "I want flowers" is not being recognized. You could add this utterance to the OrderFlowers intent so that your bot recognizes that utterance. After you publish a new version of a bot, you can get information about the old version and the new so that you can compare the performance across the two versions. Utterance statistics are generated once a day. Data is available for the last 15 days. You can request information for up to 5 versions of your bot in each request. Amazon Lex returns the most frequent utterances received by the bot in the last 15 days. The response contains information about a maximum of 100 utterances for each version. If you set childDirected field to true when you created your bot, or if you opted out of participating in improving Amazon Lex, utterances are not available. This operation requires permissions for the lex:GetUtterancesView action. + +Required Parameters +{ + "botName": "The name of the bot for which utterance information should be returned.", + "botVersions": "An array of bot versions for which utterance information should be returned. The limit is 5 versions per request.", + "statusType": "To return utterances that were recognized and handled, use Detected. To return utterances that were not recognized, use Missed." +} +""" +GetUtterancesView(args) = lex_model_building_service("GET", "/bots/{botname}/utterances?view=aggregation", args) + +""" + GetBots() + +Returns bot information as follows: If you provide the nameContains field, the response includes information for the LATEST version of all bots whose name contains the specified string. If you don't specify the nameContains field, the operation returns information about the LATEST version of all of your bots. This operation requires permission for the lex:GetBots action. + +Optional Parameters +{ + "maxResults": "The maximum number of bots to return in the response that the request will return. The default is 10.", + "nameContains": "Substring to match in bot names. A bot will be returned if any part of its name matches the substring. For example, \"xyz\" matches both \"xyzabc\" and \"abcxyz.\"", + "nextToken": "A pagination token that fetches the next page of bots. If the response to this call is truncated, Amazon Lex returns a pagination token in the response. To fetch the next page of bots, specify the pagination token in the next request. " +} +""" +GetBots() = lex_model_building_service("GET", "/bots/") +GetBots(args) = lex_model_building_service("GET", "/bots/", args) + +""" + GetExport() + +Exports the contents of a Amazon Lex resource in a specified format. + +Required Parameters +{ + "name": "The name of the bot to export.", + "exportType": "The format of the exported data.", + "resourceType": "The type of resource to export. ", + "version": "The version of the bot to export." +} +""" +GetExport(args) = lex_model_building_service("GET", "/exports/", args) + +""" + DeleteIntentVersion() + +Deletes a specific version of an intent. To delete all versions of a intent, use the DeleteIntent operation. This operation requires permissions for the lex:DeleteIntentVersion action. + +Required Parameters +{ + "name": "The name of the intent.", + "version": "The version of the intent to delete. You cannot delete the LATEST version of the intent. To delete the LATEST version, use the DeleteIntent operation." +} +""" +DeleteIntentVersion(args) = lex_model_building_service("DELETE", "/intents/{name}/versions/{version}", args) + +""" + CreateBotVersion() + +Creates a new version of the bot based on the LATEST version. If the LATEST version of this resource hasn't changed since you created the last version, Amazon Lex doesn't create a new version. It returns the last created version. You can update only the LATEST version of the bot. You can't update the numbered versions that you create with the CreateBotVersion operation. When you create the first version of a bot, Amazon Lex sets the version to 1. Subsequent versions increment by 1. For more information, see versioning-intro. This operation requires permission for the lex:CreateBotVersion action. + +Required Parameters +{ + "name": "The name of the bot that you want to create a new version of. The name is case sensitive. " +} + +Optional Parameters +{ + "checksum": "Identifies a specific revision of the LATEST version of the bot. If you specify a checksum and the LATEST version of the bot has a different checksum, a PreconditionFailedException exception is returned and Amazon Lex doesn't publish a new version. If you don't specify a checksum, Amazon Lex publishes the LATEST version." +} +""" +CreateBotVersion(args) = lex_model_building_service("POST", "/bots/{name}/versions", args) diff --git a/src/services/lex_runtime_service.jl b/src/services/lex_runtime_service.jl new file mode 100644 index 0000000000..3bd1b726f5 --- /dev/null +++ b/src/services/lex_runtime_service.jl @@ -0,0 +1,101 @@ +include("../AWSServices.jl") +using .AWSServices: lex_runtime_service + +""" + PostText() + +Sends user input to Amazon Lex. Client applications can use this API to send requests to Amazon Lex at runtime. Amazon Lex then interprets the user input using the machine learning model it built for the bot. In response, Amazon Lex returns the next message to convey to the user an optional responseCard to display. Consider the following example messages: For a user input "I would like a pizza", Amazon Lex might return a response with a message eliciting slot data (for example, PizzaSize): "What size pizza would you like?" After the user provides all of the pizza order information, Amazon Lex might return a response with a message to obtain user confirmation "Proceed with the pizza order?". After the user replies to a confirmation prompt with a "yes", Amazon Lex might return a conclusion statement: "Thank you, your cheese pizza has been ordered.". Not all Amazon Lex messages require a user response. For example, a conclusion statement does not require a response. Some messages require only a "yes" or "no" user response. In addition to the message, Amazon Lex provides additional context about the message in the response that you might use to enhance client behavior, for example, to display the appropriate client user interface. These are the slotToElicit, dialogState, intentName, and slots fields in the response. Consider the following examples: If the message is to elicit slot data, Amazon Lex returns the following context information: dialogState set to ElicitSlot intentName set to the intent name in the current context slotToElicit set to the slot name for which the message is eliciting information slots set to a map of slots, configured for the intent, with currently known values If the message is a confirmation prompt, the dialogState is set to ConfirmIntent and SlotToElicit is set to null. If the message is a clarification prompt (configured for the intent) that indicates that user intent is not understood, the dialogState is set to ElicitIntent and slotToElicit is set to null. In addition, Amazon Lex also returns your application-specific sessionAttributes. For more information, see Managing Conversation Context. + +Required Parameters +{ + "userId": "The ID of the client application user. Amazon Lex uses this to identify a user's conversation with your bot. At runtime, each request must contain the userID field. To decide the user ID to use for your application, consider the following factors. The userID field must not contain any personally identifiable information of the user, for example, name, personal identification numbers, or other end user personal information. If you want a user to start a conversation on one device and continue on another device, use a user-specific identifier. If you want the same user to be able to have two independent conversations on two different devices, choose a device-specific identifier. A user can't have two independent conversations with two different versions of the same bot. For example, a user can't have a conversation with the PROD and BETA versions of the same bot. If you anticipate that a user will need to have conversation with two different versions, for example, while testing, include the bot alias in the user ID to separate the two conversations. ", + "botName": "The name of the Amazon Lex bot.", + "botAlias": "The alias of the Amazon Lex bot.", + "inputText": "The text that the user entered (Amazon Lex interprets this text)." +} + +Optional Parameters +{ + "sessionAttributes": "Application-specific information passed between Amazon Lex and a client application. For more information, see Setting Session Attributes.", + "requestAttributes": "Request-specific information passed between Amazon Lex and a client application. The namespace x-amz-lex: is reserved for special attributes. Don't create any request attributes with the prefix x-amz-lex:. For more information, see Setting Request Attributes." +} +""" +PostText(args) = lex_runtime_service("POST", "/bot/{botName}/alias/{botAlias}/user/{userId}/text", args) + +""" + GetSession() + +Returns session information for a specified bot, alias, and user ID. + +Required Parameters +{ + "userId": "The ID of the client application user. Amazon Lex uses this to identify a user's conversation with your bot. ", + "botName": "The name of the bot that contains the session data.", + "botAlias": "The alias in use for the bot that contains the session data." +} + +Optional Parameters +{ + "checkpointLabelFilter": "A string used to filter the intents returned in the recentIntentSummaryView structure. When you specify a filter, only intents with their checkpointLabel field set to that string are returned." +} +""" +GetSession(args) = lex_runtime_service("GET", "/bot/{botName}/alias/{botAlias}/user/{userId}/session/", args) + +""" + PostContent() + + Sends user input (text or speech) to Amazon Lex. Clients use this API to send text and audio requests to Amazon Lex at runtime. Amazon Lex interprets the user input using the machine learning model that it built for the bot. The PostContent operation supports audio input at 8kHz and 16kHz. You can use 8kHz audio to achieve higher speech recognition accuracy in telephone audio applications. In response, Amazon Lex returns the next message to convey to the user. Consider the following example messages: For a user input "I would like a pizza," Amazon Lex might return a response with a message eliciting slot data (for example, PizzaSize): "What size pizza would you like?". After the user provides all of the pizza order information, Amazon Lex might return a response with a message to get user confirmation: "Order the pizza?". After the user replies "Yes" to the confirmation prompt, Amazon Lex might return a conclusion statement: "Thank you, your cheese pizza has been ordered.". Not all Amazon Lex messages require a response from the user. For example, conclusion statements do not require a response. Some messages require only a yes or no response. In addition to the message, Amazon Lex provides additional context about the message in the response that you can use to enhance client behavior, such as displaying the appropriate client user interface. Consider the following examples: If the message is to elicit slot data, Amazon Lex returns the following context information: x-amz-lex-dialog-state header set to ElicitSlot x-amz-lex-intent-name header set to the intent name in the current context x-amz-lex-slot-to-elicit header set to the slot name for which the message is eliciting information x-amz-lex-slots header set to a map of slots configured for the intent with their current values If the message is a confirmation prompt, the x-amz-lex-dialog-state header is set to Confirmation and the x-amz-lex-slot-to-elicit header is omitted. If the message is a clarification prompt configured for the intent, indicating that the user intent is not understood, the x-amz-dialog-state header is set to ElicitIntent and the x-amz-slot-to-elicit header is omitted. In addition, Amazon Lex also returns your application-specific sessionAttributes. For more information, see Managing Conversation Context. + +Required Parameters +{ + "userId": "The ID of the client application user. Amazon Lex uses this to identify a user's conversation with your bot. At runtime, each request must contain the userID field. To decide the user ID to use for your application, consider the following factors. The userID field must not contain any personally identifiable information of the user, for example, name, personal identification numbers, or other end user personal information. If you want a user to start a conversation on one device and continue on another device, use a user-specific identifier. If you want the same user to be able to have two independent conversations on two different devices, choose a device-specific identifier. A user can't have two independent conversations with two different versions of the same bot. For example, a user can't have a conversation with the PROD and BETA versions of the same bot. If you anticipate that a user will need to have conversation with two different versions, for example, while testing, include the bot alias in the user ID to separate the two conversations. ", + "botName": "Name of the Amazon Lex bot.", + "botAlias": "Alias of the Amazon Lex bot.", + "contentType": " You pass this value as the Content-Type HTTP header. Indicates the audio format or text. The header value must start with one of the following prefixes: PCM format, audio data must be in little-endian byte order. audio/l16; rate=16000; channels=1 audio/x-l16; sample-rate=16000; channel-count=1 audio/lpcm; sample-rate=8000; sample-size-bits=16; channel-count=1; is-big-endian=false Opus format audio/x-cbr-opus-with-preamble; preamble-size=0; bit-rate=256000; frame-size-milliseconds=4 Text format text/plain; charset=utf-8 ", + "inputStream": " User input in PCM or Opus audio format or text format as described in the Content-Type HTTP header. You can stream audio data to Amazon Lex or you can create a local buffer that captures all of the audio data before sending. In general, you get better performance if you stream audio data rather than buffering the data locally." +} + +Optional Parameters +{ + "accept": " You pass this value as the Accept HTTP header. The message Amazon Lex returns in the response can be either text or speech based on the Accept HTTP header value in the request. If the value is text/plain; charset=utf-8, Amazon Lex returns text in the response. If the value begins with audio/, Amazon Lex returns speech in the response. Amazon Lex uses Amazon Polly to generate the speech (using the configuration you specified in the Accept header). For example, if you specify audio/mpeg as the value, Amazon Lex returns speech in the MPEG format. If the value is audio/pcm, the speech returned is audio/pcm in 16-bit, little endian format. The following are the accepted values: audio/mpeg audio/ogg audio/pcm text/plain; charset=utf-8 audio/* (defaults to mpeg) ", + "sessionAttributes": "You pass this value as the x-amz-lex-session-attributes HTTP header. Application-specific information passed between Amazon Lex and a client application. The value must be a JSON serialized and base64 encoded map with string keys and values. The total size of the sessionAttributes and requestAttributes headers is limited to 12 KB. For more information, see Setting Session Attributes.", + "requestAttributes": "You pass this value as the x-amz-lex-request-attributes HTTP header. Request-specific information passed between Amazon Lex and a client application. The value must be a JSON serialized and base64 encoded map with string keys and values. The total size of the requestAttributes and sessionAttributes headers is limited to 12 KB. The namespace x-amz-lex: is reserved for special attributes. Don't create any request attributes with the prefix x-amz-lex:. For more information, see Setting Request Attributes." +} +""" +PostContent(args) = lex_runtime_service("POST", "/bot/{botName}/alias/{botAlias}/user/{userId}/content", args) + +""" + PutSession() + +Creates a new session or modifies an existing session with an Amazon Lex bot. Use this operation to enable your application to set the state of the bot. For more information, see Managing Sessions. + +Required Parameters +{ + "userId": "The ID of the client application user. Amazon Lex uses this to identify a user's conversation with your bot. ", + "botName": "The name of the bot that contains the session data.", + "botAlias": "The alias in use for the bot that contains the session data." +} + +Optional Parameters +{ + "dialogAction": "Sets the next action that the bot should take to fulfill the conversation.", + "accept": "The message that Amazon Lex returns in the response can be either text or speech based depending on the value of this field. If the value is text/plain; charset=utf-8, Amazon Lex returns text in the response. If the value begins with audio/, Amazon Lex returns speech in the response. Amazon Lex uses Amazon Polly to generate the speech in the configuration that you specify. For example, if you specify audio/mpeg as the value, Amazon Lex returns speech in the MPEG format. If the value is audio/pcm, the speech is returned as audio/pcm in 16-bit, little endian format. The following are the accepted values: audio/mpeg audio/ogg audio/pcm audio/* (defaults to mpeg) text/plain; charset=utf-8 ", + "sessionAttributes": "Map of key/value pairs representing the session-specific context information. It contains application information passed between Amazon Lex and a client application.", + "recentIntentSummaryView": "A summary of the recent intents for the bot. You can use the intent summary view to set a checkpoint label on an intent and modify attributes of intents. You can also use it to remove or add intent summary objects to the list. An intent that you modify or add to the list must make sense for the bot. For example, the intent name must be valid for the bot. You must provide valid values for: intentName slot names slotToElict If you send the recentIntentSummaryView parameter in a PutSession request, the contents of the new summary view replaces the old summary view. For example, if a GetSession request returns three intents in the summary view and you call PutSession with one intent in the summary view, the next call to GetSession will only return one intent." +} +""" +PutSession(args) = lex_runtime_service("POST", "/bot/{botName}/alias/{botAlias}/user/{userId}/session", args) + +""" + DeleteSession() + +Removes session information for a specified bot, alias, and user ID. + +Required Parameters +{ + "userId": "The identifier of the user associated with the session data.", + "botName": "The name of the bot that contains the session data.", + "botAlias": "The alias in use for the bot that contains the session data." +} +""" +DeleteSession(args) = lex_runtime_service("DELETE", "/bot/{botName}/alias/{botAlias}/user/{userId}/session", args) diff --git a/src/services/license_manager.jl b/src/services/license_manager.jl new file mode 100644 index 0000000000..8f485e5ef0 --- /dev/null +++ b/src/services/license_manager.jl @@ -0,0 +1,256 @@ +include("../AWSServices.jl") +using .AWSServices: license_manager + +""" + ListTagsForResource() + +Lists the tags for the specified license configuration. + +Required Parameters +{ + "ResourceArn": "Amazon Resource Name (ARN) of the license configuration." +} +""" +ListTagsForResource(args) = license_manager("ListTagsForResource", args) + +""" + ListResourceInventory() + +Lists resources managed using Systems Manager inventory. + +Optional Parameters +{ + "MaxResults": "Maximum number of results to return in a single call.", + "NextToken": "Token for the next set of results.", + "Filters": "Filters to scope the results. The following filters and logical operators are supported: account_id - The ID of the AWS account that owns the resource. Logical operators are EQUALS | NOT_EQUALS. application_name - The name of the application. Logical operators are EQUALS | BEGINS_WITH. license_included - The type of license included. Logical operators are EQUALS | NOT_EQUALS. Possible values are sql-server-enterprise | sql-server-standard | sql-server-web | windows-server-datacenter. platform - The platform of the resource. Logical operators are EQUALS | BEGINS_WITH. resource_id - The ID of the resource. Logical operators are EQUALS | NOT_EQUALS. " +} +""" +ListResourceInventory() = license_manager("ListResourceInventory") +ListResourceInventory(args) = license_manager("ListResourceInventory", args) + +""" + DeleteLicenseConfiguration() + +Deletes the specified license configuration. You cannot delete a license configuration that is in use. + +Required Parameters +{ + "LicenseConfigurationArn": "ID of the license configuration." +} +""" +DeleteLicenseConfiguration(args) = license_manager("DeleteLicenseConfiguration", args) + +""" + ListLicenseSpecificationsForResource() + +Describes the license configurations for the specified resource. + +Required Parameters +{ + "ResourceArn": "Amazon Resource Name (ARN) of a resource that has an associated license configuration." +} + +Optional Parameters +{ + "MaxResults": "Maximum number of results to return in a single call.", + "NextToken": "Token for the next set of results." +} +""" +ListLicenseSpecificationsForResource(args) = license_manager("ListLicenseSpecificationsForResource", args) + +""" + UpdateLicenseConfiguration() + +Modifies the attributes of an existing license configuration. A license configuration is an abstraction of a customer license agreement that can be consumed and enforced by License Manager. Components include specifications for the license type (licensing by instance, socket, CPU, or vCPU), allowed tenancy (shared tenancy, Dedicated Instance, Dedicated Host, or all of these), host affinity (how long a VM must be associated with a host), and the number of licenses purchased and used. + +Required Parameters +{ + "LicenseConfigurationArn": "Amazon Resource Name (ARN) of the license configuration." +} + +Optional Parameters +{ + "LicenseCount": "New number of licenses managed by the license configuration.", + "Description": "New description of the license configuration.", + "LicenseRules": "New license rules.", + "LicenseConfigurationStatus": "New status of the license configuration.", + "LicenseCountHardLimit": "New hard limit of the number of available licenses.", + "ProductInformationList": "New product information.", + "Name": "New name of the license configuration." +} +""" +UpdateLicenseConfiguration(args) = license_manager("UpdateLicenseConfiguration", args) + +""" + ListAssociationsForLicenseConfiguration() + +Lists the resource associations for the specified license configuration. Resource associations need not consume licenses from a license configuration. For example, an AMI or a stopped instance might not consume a license (depending on the license rules). + +Required Parameters +{ + "LicenseConfigurationArn": "Amazon Resource Name (ARN) of a license configuration." +} + +Optional Parameters +{ + "MaxResults": "Maximum number of results to return in a single call.", + "NextToken": "Token for the next set of results." +} +""" +ListAssociationsForLicenseConfiguration(args) = license_manager("ListAssociationsForLicenseConfiguration", args) + +""" + UpdateServiceSettings() + +Updates License Manager settings for the current Region. + +Optional Parameters +{ + "OrganizationConfiguration": "Enables integration with AWS Organizations for cross-account discovery.", + "EnableCrossAccountsDiscovery": "Activates cross-account discovery.", + "S3BucketArn": "Amazon Resource Name (ARN) of the Amazon S3 bucket where the License Manager information is stored.", + "SnsTopicArn": "Amazon Resource Name (ARN) of the Amazon SNS topic used for License Manager alerts." +} +""" +UpdateServiceSettings() = license_manager("UpdateServiceSettings") +UpdateServiceSettings(args) = license_manager("UpdateServiceSettings", args) + +""" + ListFailuresForLicenseConfigurationOperations() + +Lists the license configuration operations that failed. + +Required Parameters +{ + "LicenseConfigurationArn": "Amazon Resource Name of the license configuration." +} + +Optional Parameters +{ + "MaxResults": "Maximum number of results to return in a single call.", + "NextToken": "Token for the next set of results." +} +""" +ListFailuresForLicenseConfigurationOperations(args) = license_manager("ListFailuresForLicenseConfigurationOperations", args) + +""" + ListLicenseConfigurations() + +Lists the license configurations for your account. + +Optional Parameters +{ + "MaxResults": "Maximum number of results to return in a single call.", + "NextToken": "Token for the next set of results.", + "LicenseConfigurationArns": "Amazon Resource Names (ARN) of the license configurations.", + "Filters": "Filters to scope the results. The following filters and logical operators are supported: licenseCountingType - The dimension on which licenses are counted (vCPU). Logical operators are EQUALS | NOT_EQUALS. enforceLicenseCount - A Boolean value that indicates whether hard license enforcement is used. Logical operators are EQUALS | NOT_EQUALS. usagelimitExceeded - A Boolean value that indicates whether the available licenses have been exceeded. Logical operators are EQUALS | NOT_EQUALS. " +} +""" +ListLicenseConfigurations() = license_manager("ListLicenseConfigurations") +ListLicenseConfigurations(args) = license_manager("ListLicenseConfigurations", args) + +""" + ListUsageForLicenseConfiguration() + +Lists all license usage records for a license configuration, displaying license consumption details by resource at a selected point in time. Use this action to audit the current license consumption for any license inventory and configuration. + +Required Parameters +{ + "LicenseConfigurationArn": "Amazon Resource Name (ARN) of the license configuration." +} + +Optional Parameters +{ + "MaxResults": "Maximum number of results to return in a single call.", + "NextToken": "Token for the next set of results.", + "Filters": "Filters to scope the results. The following filters and logical operators are supported: resourceArn - The ARN of the license configuration resource. Logical operators are EQUALS | NOT_EQUALS. resourceType - The resource type (EC2_INSTANCE | EC2_HOST | EC2_AMI | SYSTEMS_MANAGER_MANAGED_INSTANCE). Logical operators are EQUALS | NOT_EQUALS. resourceAccount - The ID of the account that owns the resource. Logical operators are EQUALS | NOT_EQUALS. " +} +""" +ListUsageForLicenseConfiguration(args) = license_manager("ListUsageForLicenseConfiguration", args) + +""" + TagResource() + +Adds the specified tags to the specified license configuration. + +Required Parameters +{ + "ResourceArn": "Amazon Resource Name (ARN) of the license configuration.", + "Tags": "One or more tags." +} +""" +TagResource(args) = license_manager("TagResource", args) + +""" + UntagResource() + +Removes the specified tags from the specified license configuration. + +Required Parameters +{ + "ResourceArn": "Amazon Resource Name (ARN) of the license configuration.", + "TagKeys": "Keys identifying the tags to remove." +} +""" +UntagResource(args) = license_manager("UntagResource", args) + +""" + UpdateLicenseSpecificationsForResource() + +Adds or removes the specified license configurations for the specified AWS resource. You can update the license specifications of AMIs, instances, and hosts. You cannot update the license specifications for launch templates and AWS CloudFormation templates, as they send license configurations to the operation that creates the resource. + +Required Parameters +{ + "ResourceArn": "Amazon Resource Name (ARN) of the AWS resource." +} + +Optional Parameters +{ + "AddLicenseSpecifications": "ARNs of the license configurations to add.", + "RemoveLicenseSpecifications": "ARNs of the license configurations to remove." +} +""" +UpdateLicenseSpecificationsForResource(args) = license_manager("UpdateLicenseSpecificationsForResource", args) + +""" + GetLicenseConfiguration() + +Gets detailed information about the specified license configuration. + +Required Parameters +{ + "LicenseConfigurationArn": "Amazon Resource Name (ARN) of the license configuration." +} +""" +GetLicenseConfiguration(args) = license_manager("GetLicenseConfiguration", args) + +""" + CreateLicenseConfiguration() + +Creates a license configuration. A license configuration is an abstraction of a customer license agreement that can be consumed and enforced by License Manager. Components include specifications for the license type (licensing by instance, socket, CPU, or vCPU), allowed tenancy (shared tenancy, Dedicated Instance, Dedicated Host, or all of these), host affinity (how long a VM must be associated with a host), and the number of licenses purchased and used. + +Required Parameters +{ + "Name": "Name of the license configuration.", + "LicenseCountingType": "Dimension used to track the license inventory." +} + +Optional Parameters +{ + "Description": "Description of the license configuration.", + "LicenseCount": "Number of licenses managed by the license configuration.", + "LicenseRules": "License rules. The syntax is #name=value (for example, #allowedTenancy=EC2-DedicatedHost). Available rules vary by dimension. Cores dimension: allowedTenancy | maximumCores | minimumCores Instances dimension: allowedTenancy | maximumCores | minimumCores | maximumSockets | minimumSockets | maximumVcpus | minimumVcpus Sockets dimension: allowedTenancy | maximumSockets | minimumSockets vCPUs dimension: allowedTenancy | honorVcpuOptimization | maximumVcpus | minimumVcpus ", + "Tags": "Tags to add to the license configuration.", + "LicenseCountHardLimit": "Indicates whether hard or soft license enforcement is used. Exceeding a hard limit blocks the launch of new instances.", + "ProductInformationList": "Product information." +} +""" +CreateLicenseConfiguration(args) = license_manager("CreateLicenseConfiguration", args) + +""" + GetServiceSettings() + +Gets the License Manager settings for the current Region. +""" +GetServiceSettings() = license_manager("GetServiceSettings") +GetServiceSettings(args) = license_manager("GetServiceSettings", args) diff --git a/src/services/lightsail.jl b/src/services/lightsail.jl new file mode 100644 index 0000000000..c3bb0afe25 --- /dev/null +++ b/src/services/lightsail.jl @@ -0,0 +1,1642 @@ +include("../AWSServices.jl") +using .AWSServices: lightsail + +""" + GetDisk() + +Returns information about a specific block storage disk. + +Required Parameters +{ + "diskName": "The name of the disk (e.g., my-disk)." +} +""" +GetDisk(args) = lightsail("GetDisk", args) + +""" + GetOperationsForResource() + +Gets operations for a specific resource (e.g., an instance or a static IP). + +Required Parameters +{ + "resourceName": "The name of the resource for which you are requesting information." +} + +Optional Parameters +{ + "pageToken": "The token to advance to the next page of results from your request. To get a page token, perform an initial GetOperationsForResource request. If your results are paginated, the response will return a next page token that you can specify as the page token in a subsequent request." +} +""" +GetOperationsForResource(args) = lightsail("GetOperationsForResource", args) + +""" + GetKeyPair() + +Returns information about a specific key pair. + +Required Parameters +{ + "keyPairName": "The name of the key pair for which you are requesting information." +} +""" +GetKeyPair(args) = lightsail("GetKeyPair", args) + +""" + AttachDisk() + +Attaches a block storage disk to a running or stopped Lightsail instance and exposes it to the instance with the specified disk name. The attach disk operation supports tag-based access control via resource tags applied to the resource identified by disk name. For more information, see the Lightsail Dev Guide. + +Required Parameters +{ + "diskName": "The unique Lightsail disk name (e.g., my-disk).", + "diskPath": "The disk path to expose to the instance (e.g., /dev/xvdf).", + "instanceName": "The name of the Lightsail instance where you want to utilize the storage disk." +} +""" +AttachDisk(args) = lightsail("AttachDisk", args) + +""" + GetContactMethods() + +Returns information about the configured contact methods. Specify a protocol in your request to return information about a specific contact method. A contact method is used to send you notifications about your Amazon Lightsail resources. You can add one email address and one mobile phone number contact method in each AWS Region. However, SMS text messaging is not supported in some AWS Regions, and SMS text messages cannot be sent to some countries/regions. For more information, see Notifications in Amazon Lightsail. + +Optional Parameters +{ + "protocols": "The protocols used to send notifications, such as Email, or SMS (text messaging). Specify a protocol in your request to return information about a specific contact method protocol." +} +""" +GetContactMethods() = lightsail("GetContactMethods") +GetContactMethods(args) = lightsail("GetContactMethods", args) + +""" + GetInstanceSnapshots() + +Returns all instance snapshots for the user's account. + +Optional Parameters +{ + "pageToken": "The token to advance to the next page of results from your request. To get a page token, perform an initial GetInstanceSnapshots request. If your results are paginated, the response will return a next page token that you can specify as the page token in a subsequent request." +} +""" +GetInstanceSnapshots() = lightsail("GetInstanceSnapshots") +GetInstanceSnapshots(args) = lightsail("GetInstanceSnapshots", args) + +""" + GetExportSnapshotRecords() + +Returns the export snapshot record created as a result of the export snapshot operation. An export snapshot record can be used to create a new Amazon EC2 instance and its related resources with the create cloud formation stack operation. + +Optional Parameters +{ + "pageToken": "The token to advance to the next page of results from your request. To get a page token, perform an initial GetExportSnapshotRecords request. If your results are paginated, the response will return a next page token that you can specify as the page token in a subsequent request." +} +""" +GetExportSnapshotRecords() = lightsail("GetExportSnapshotRecords") +GetExportSnapshotRecords(args) = lightsail("GetExportSnapshotRecords", args) + +""" + GetRelationalDatabaseBlueprints() + +Returns a list of available database blueprints in Amazon Lightsail. A blueprint describes the major engine version of a database. You can use a blueprint ID to create a new database that runs a specific database engine. + +Optional Parameters +{ + "pageToken": "The token to advance to the next page of results from your request. To get a page token, perform an initial GetRelationalDatabaseBlueprints request. If your results are paginated, the response will return a next page token that you can specify as the page token in a subsequent request." +} +""" +GetRelationalDatabaseBlueprints() = lightsail("GetRelationalDatabaseBlueprints") +GetRelationalDatabaseBlueprints(args) = lightsail("GetRelationalDatabaseBlueprints", args) + +""" + ImportKeyPair() + +Imports a public SSH key from a specific key pair. + +Required Parameters +{ + "keyPairName": "The name of the key pair for which you want to import the public key.", + "publicKeyBase64": "A base64-encoded public key of the ssh-rsa type." +} +""" +ImportKeyPair(args) = lightsail("ImportKeyPair", args) + +""" + DownloadDefaultKeyPair() + +Downloads the default SSH key pair from the user's account. +""" +DownloadDefaultKeyPair() = lightsail("DownloadDefaultKeyPair") +DownloadDefaultKeyPair(args) = lightsail("DownloadDefaultKeyPair", args) + +""" + TestAlarm() + +Tests an alarm by displaying a banner on the Amazon Lightsail console. If a notification trigger is configured for the specified alarm, the test also sends a notification to the notification protocol (Email and/or SMS) configured for the alarm. An alarm is used to monitor a single metric for one of your resources. When a metric condition is met, the alarm can notify you by email, SMS text message, and a banner displayed on the Amazon Lightsail console. For more information, see Alarms in Amazon Lightsail. + +Required Parameters +{ + "alarmName": "The name of the alarm to test.", + "state": "The alarm state to test. An alarm has the following possible states that can be tested: ALARM — The metric is outside of the defined threshold. INSUFFICIENT_DATA — The alarm has just started, the metric is not available, or not enough data is available for the metric to determine the alarm state. OK — The metric is within the defined threshold. " +} +""" +TestAlarm(args) = lightsail("TestAlarm", args) + +""" + SendContactMethodVerification() + +Sends a verification request to an email contact method to ensure it’s owned by the requester. SMS contact methods don’t need to be verified. A contact method is used to send you notifications about your Amazon Lightsail resources. You can add one email address and one mobile phone number contact method in each AWS Region. However, SMS text messaging is not supported in some AWS Regions, and SMS text messages cannot be sent to some countries/regions. For more information, see Notifications in Amazon Lightsail. A verification request is sent to the contact method when you initially create it. Use this action to send another verification request if a previous verification request was deleted, or has expired. Notifications are not sent to an email contact method until after it is verified, and confirmed as valid. + +Required Parameters +{ + "protocol": "The protocol to verify, such as Email or SMS (text messaging)." +} +""" +SendContactMethodVerification(args) = lightsail("SendContactMethodVerification", args) + +""" + GetRelationalDatabaseLogEvents() + +Returns a list of log events for a database in Amazon Lightsail. + +Required Parameters +{ + "logStreamName": "The name of the log stream. Use the get relational database log streams operation to get a list of available log streams.", + "relationalDatabaseName": "The name of your database for which to get log events." +} + +Optional Parameters +{ + "startTime": "The start of the time interval from which to get log events. Constraints: Specified in Coordinated Universal Time (UTC). Specified in the Unix time format. For example, if you wish to use a start time of October 1, 2018, at 8 PM UTC, then you input 1538424000 as the start time. ", + "startFromHead": "Parameter to specify if the log should start from head or tail. If true is specified, the log event starts from the head of the log. If false is specified, the log event starts from the tail of the log. For PostgreSQL, the default value of false is the only option available. ", + "pageToken": "The token to advance to the next or previous page of results from your request. To get a page token, perform an initial GetRelationalDatabaseLogEvents request. If your results are paginated, the response will return a next forward token and/or next backward token that you can specify as the page token in a subsequent request.", + "endTime": "The end of the time interval from which to get log events. Constraints: Specified in Coordinated Universal Time (UTC). Specified in the Unix time format. For example, if you wish to use an end time of October 1, 2018, at 8 PM UTC, then you input 1538424000 as the end time. " +} +""" +GetRelationalDatabaseLogEvents(args) = lightsail("GetRelationalDatabaseLogEvents", args) + +""" + StartInstance() + +Starts a specific Amazon Lightsail instance from a stopped state. To restart an instance, use the reboot instance operation. When you start a stopped instance, Lightsail assigns a new public IP address to the instance. To use the same IP address after stopping and starting an instance, create a static IP address and attach it to the instance. For more information, see the Lightsail Dev Guide. The start instance operation supports tag-based access control via resource tags applied to the resource identified by instance name. For more information, see the Lightsail Dev Guide. + +Required Parameters +{ + "instanceName": "The name of the instance (a virtual private server) to start." +} +""" +StartInstance(args) = lightsail("StartInstance", args) + +""" + TagResource() + +Adds one or more tags to the specified Amazon Lightsail resource. Each resource can have a maximum of 50 tags. Each tag consists of a key and an optional value. Tag keys must be unique per resource. For more information about tags, see the Lightsail Dev Guide. The tag resource operation supports tag-based access control via request tags and resource tags applied to the resource identified by resource name. For more information, see the Lightsail Dev Guide. + +Required Parameters +{ + "tags": "The tag key and optional value.", + "resourceName": "The name of the resource to which you are adding tags." +} + +Optional Parameters +{ + "resourceArn": "The Amazon Resource Name (ARN) of the resource to which you want to add a tag." +} +""" +TagResource(args) = lightsail("TagResource", args) + +""" + PutInstancePublicPorts() + +Sets the specified open ports for an Amazon Lightsail instance, and closes all ports for every protocol not included in the current request. The put instance public ports operation supports tag-based access control via resource tags applied to the resource identified by instance name. For more information, see the Lightsail Dev Guide. + +Required Parameters +{ + "instanceName": "The Lightsail instance name of the public port(s) you are setting.", + "portInfos": "Specifies information about the public port(s)." +} +""" +PutInstancePublicPorts(args) = lightsail("PutInstancePublicPorts", args) + +""" + DeleteLoadBalancerTlsCertificate() + +Deletes an SSL/TLS certificate associated with a Lightsail load balancer. The DeleteLoadBalancerTlsCertificate operation supports tag-based access control via resource tags applied to the resource identified by load balancer name. For more information, see the Lightsail Dev Guide. + +Required Parameters +{ + "loadBalancerName": "The load balancer name.", + "certificateName": "The SSL/TLS certificate name." +} + +Optional Parameters +{ + "force": "When true, forces the deletion of an SSL/TLS certificate. There can be two certificates associated with a Lightsail load balancer: the primary and the backup. The force parameter is required when the primary SSL/TLS certificate is in use by an instance attached to the load balancer." +} +""" +DeleteLoadBalancerTlsCertificate(args) = lightsail("DeleteLoadBalancerTlsCertificate", args) + +""" + CreateInstancesFromSnapshot() + +Creates one or more new instances from a manual or automatic snapshot of an instance. The create instances from snapshot operation supports tag-based access control via request tags and resource tags applied to the resource identified by instance snapshot name. For more information, see the Lightsail Dev Guide. + +Required Parameters +{ + "bundleId": "The bundle of specification information for your virtual private server (or instance), including the pricing plan (e.g., micro_1_0).", + "instanceNames": "The names for your new instances.", + "availabilityZone": "The Availability Zone where you want to create your instances. Use the following formatting: us-east-2a (case sensitive). You can get a list of Availability Zones by using the get regions operation. Be sure to add the include Availability Zones parameter to your request." +} + +Optional Parameters +{ + "useLatestRestorableAutoSnapshot": "A Boolean value to indicate whether to use the latest available automatic snapshot. Constraints: This parameter cannot be defined together with the restore date parameter. The use latest restorable auto snapshot and restore date parameters are mutually exclusive. Define this parameter only when creating a new instance from an automatic snapshot. For more information, see the Lightsail Dev Guide. ", + "instanceSnapshotName": "The name of the instance snapshot on which you are basing your new instances. Use the get instance snapshots operation to return information about your existing snapshots. Constraint: This parameter cannot be defined together with the source instance name parameter. The instance snapshot name and source instance name parameters are mutually exclusive. ", + "sourceInstanceName": "The name of the source instance from which the source automatic snapshot was created. Constraints: This parameter cannot be defined together with the instance snapshot name parameter. The source instance name and instance snapshot name parameters are mutually exclusive. Define this parameter only when creating a new instance from an automatic snapshot. For more information, see the Lightsail Dev Guide. ", + "keyPairName": "The name for your key pair.", + "restoreDate": "The date of the automatic snapshot to use for the new instance. Use the get auto snapshots operation to identify the dates of the available automatic snapshots. Constraints: Must be specified in YYYY-MM-DD format. This parameter cannot be defined together with the use latest restorable auto snapshot parameter. The restore date and use latest restorable auto snapshot parameters are mutually exclusive. Define this parameter only when creating a new instance from an automatic snapshot. For more information, see the Lightsail Dev Guide. ", + "userData": "You can create a launch script that configures a server with additional user data. For example, apt-get -y update. Depending on the machine image you choose, the command to get software on your instance varies. Amazon Linux and CentOS use yum, Debian and Ubuntu use apt-get, and FreeBSD uses pkg. For a complete list, see the Dev Guide. ", + "attachedDiskMapping": "An object containing information about one or more disk mappings.", + "addOns": "An array of objects representing the add-ons to enable for the new instance.", + "tags": "The tag keys and optional values to add to the resource during create. To tag a resource after it has been created, see the tag resource operation." +} +""" +CreateInstancesFromSnapshot(args) = lightsail("CreateInstancesFromSnapshot", args) + +""" + GetInstanceSnapshot() + +Returns information about a specific instance snapshot. + +Required Parameters +{ + "instanceSnapshotName": "The name of the snapshot for which you are requesting information." +} +""" +GetInstanceSnapshot(args) = lightsail("GetInstanceSnapshot", args) + +""" + DetachDisk() + +Detaches a stopped block storage disk from a Lightsail instance. Make sure to unmount any file systems on the device within your operating system before stopping the instance and detaching the disk. The detach disk operation supports tag-based access control via resource tags applied to the resource identified by disk name. For more information, see the Lightsail Dev Guide. + +Required Parameters +{ + "diskName": "The unique name of the disk you want to detach from your instance (e.g., my-disk)." +} +""" +DetachDisk(args) = lightsail("DetachDisk", args) + +""" + EnableAddOn() + +Enables or modifies an add-on for an Amazon Lightsail resource. For more information, see the Lightsail Dev Guide. + +Required Parameters +{ + "addOnRequest": "An array of strings representing the add-on to enable or modify.", + "resourceName": "The name of the source resource for which to enable or modify the add-on." +} +""" +EnableAddOn(args) = lightsail("EnableAddOn", args) + +""" + UpdateLoadBalancerAttribute() + +Updates the specified attribute for a load balancer. You can only update one attribute at a time. The update load balancer attribute operation supports tag-based access control via resource tags applied to the resource identified by load balancer name. For more information, see the Lightsail Dev Guide. + +Required Parameters +{ + "attributeValue": "The value that you want to specify for the attribute name.", + "loadBalancerName": "The name of the load balancer that you want to modify (e.g., my-load-balancer.", + "attributeName": "The name of the attribute you want to update. Valid values are below." +} +""" +UpdateLoadBalancerAttribute(args) = lightsail("UpdateLoadBalancerAttribute", args) + +""" + UpdateRelationalDatabase() + +Allows the update of one or more attributes of a database in Amazon Lightsail. Updates are applied immediately, or in cases where the updates could result in an outage, are applied during the database's predefined maintenance window. The update relational database operation supports tag-based access control via resource tags applied to the resource identified by relationalDatabaseName. For more information, see the Lightsail Dev Guide. + +Required Parameters +{ + "relationalDatabaseName": "The name of your database to update." +} + +Optional Parameters +{ + "preferredMaintenanceWindow": "The weekly time range during which system maintenance can occur on your database. The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region, occurring on a random day of the week. Constraints: Must be in the ddd:hh24:mi-ddd:hh24:mi format. Valid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun. Must be at least 30 minutes. Specified in Coordinated Universal Time (UTC). Example: Tue:17:00-Tue:17:30 ", + "enableBackupRetention": "When true, enables automated backup retention for your database. Updates are applied during the next maintenance window because this can result in an outage.", + "disableBackupRetention": "When true, disables automated backup retention for your database. Disabling backup retention deletes all automated database backups. Before disabling this, you may want to create a snapshot of your database using the create relational database snapshot operation. Updates are applied during the next maintenance window because this can result in an outage.", + "caCertificateIdentifier": "Indicates the certificate that needs to be associated with the database.", + "preferredBackupWindow": "The daily time range during which automated backups are created for your database if automated backups are enabled. Constraints: Must be in the hh24:mi-hh24:mi format. Example: 16:00-16:30 Specified in Coordinated Universal Time (UTC). Must not conflict with the preferred maintenance window. Must be at least 30 minutes. ", + "applyImmediately": "When true, applies changes immediately. When false, applies changes during the preferred maintenance window. Some changes may cause an outage. Default: false ", + "masterUserPassword": "The password for the master user of your database. The password can include any printable ASCII character except \"/\", \"\"\", or \"@\". Constraints: Must contain 8 to 41 characters.", + "rotateMasterUserPassword": "When true, the master user password is changed to a new strong password generated by Lightsail. Use the get relational database master user password operation to get the new password.", + "publiclyAccessible": "Specifies the accessibility options for your database. A value of true specifies a database that is available to resources outside of your Lightsail account. A value of false specifies a database that is available only to your Lightsail resources in the same region as your database." +} +""" +UpdateRelationalDatabase(args) = lightsail("UpdateRelationalDatabase", args) + +""" + CreateKeyPair() + +Creates an SSH key pair. The create key pair operation supports tag-based access control via request tags. For more information, see the Lightsail Dev Guide. + +Required Parameters +{ + "keyPairName": "The name for your new key pair." +} + +Optional Parameters +{ + "tags": "The tag keys and optional values to add to the resource during create. To tag a resource after it has been created, see the tag resource operation." +} +""" +CreateKeyPair(args) = lightsail("CreateKeyPair", args) + +""" + DeleteLoadBalancer() + +Deletes a Lightsail load balancer and all its associated SSL/TLS certificates. Once the load balancer is deleted, you will need to create a new load balancer, create a new certificate, and verify domain ownership again. The delete load balancer operation supports tag-based access control via resource tags applied to the resource identified by load balancer name. For more information, see the Lightsail Dev Guide. + +Required Parameters +{ + "loadBalancerName": "The name of the load balancer you want to delete." +} +""" +DeleteLoadBalancer(args) = lightsail("DeleteLoadBalancer", args) + +""" + UnpeerVpc() + +Attempts to unpeer the Lightsail VPC from the user's default VPC. +""" +UnpeerVpc() = lightsail("UnpeerVpc") +UnpeerVpc(args) = lightsail("UnpeerVpc", args) + +""" + CreateRelationalDatabaseFromSnapshot() + +Creates a new database from an existing database snapshot in Amazon Lightsail. You can create a new database from a snapshot in if something goes wrong with your original database, or to change it to a different plan, such as a high availability or standard plan. The create relational database from snapshot operation supports tag-based access control via request tags and resource tags applied to the resource identified by relationalDatabaseSnapshotName. For more information, see the Lightsail Dev Guide. + +Required Parameters +{ + "relationalDatabaseName": "The name to use for your new database. Constraints: Must contain from 2 to 255 alphanumeric characters, or hyphens. The first and last character must be a letter or number. " +} + +Optional Parameters +{ + "publiclyAccessible": "Specifies the accessibility options for your new database. A value of true specifies a database that is available to resources outside of your Lightsail account. A value of false specifies a database that is available only to your Lightsail resources in the same region as your database.", + "useLatestRestorableTime": "Specifies whether your database is restored from the latest backup time. A value of true restores from the latest backup time. Default: false Constraints: Cannot be specified if the restore time parameter is provided.", + "relationalDatabaseBundleId": "The bundle ID for your new database. A bundle describes the performance specifications for your database. You can get a list of database bundle IDs by using the get relational database bundles operation. When creating a new database from a snapshot, you cannot choose a bundle that is smaller than the bundle of the source database.", + "sourceRelationalDatabaseName": "The name of the source database.", + "relationalDatabaseSnapshotName": "The name of the database snapshot from which to create your new database.", + "tags": "The tag keys and optional values to add to the resource during create. To tag a resource after it has been created, see the tag resource operation.", + "restoreTime": "The date and time to restore your database from. Constraints: Must be before the latest restorable time for the database. Cannot be specified if the use latest restorable time parameter is true. Specified in Coordinated Universal Time (UTC). Specified in the Unix time format. For example, if you wish to use a restore time of October 1, 2018, at 8 PM UTC, then you input 1538424000 as the restore time. ", + "availabilityZone": "The Availability Zone in which to create your new database. Use the us-east-2a case-sensitive format. You can get a list of Availability Zones by using the get regions operation. Be sure to add the include relational database Availability Zones parameter to your request." +} +""" +CreateRelationalDatabaseFromSnapshot(args) = lightsail("CreateRelationalDatabaseFromSnapshot", args) + +""" + CreateLoadBalancerTlsCertificate() + +Creates a Lightsail load balancer TLS certificate. TLS is just an updated, more secure version of Secure Socket Layer (SSL). The CreateLoadBalancerTlsCertificate operation supports tag-based access control via resource tags applied to the resource identified by load balancer name. For more information, see the Lightsail Dev Guide. + +Required Parameters +{ + "certificateDomainName": "The domain name (e.g., example.com) for your SSL/TLS certificate.", + "loadBalancerName": "The load balancer name where you want to create the SSL/TLS certificate.", + "certificateName": "The SSL/TLS certificate name. You can have up to 10 certificates in your account at one time. Each Lightsail load balancer can have up to 2 certificates associated with it at one time. There is also an overall limit to the number of certificates that can be issue in a 365-day period. For more information, see Limits." +} + +Optional Parameters +{ + "certificateAlternativeNames": "An array of strings listing alternative domains and subdomains for your SSL/TLS certificate. Lightsail will de-dupe the names for you. You can have a maximum of 9 alternative names (in addition to the 1 primary domain). We do not support wildcards (e.g., *.example.com).", + "tags": "The tag keys and optional values to add to the resource during create. To tag a resource after it has been created, see the tag resource operation." +} +""" +CreateLoadBalancerTlsCertificate(args) = lightsail("CreateLoadBalancerTlsCertificate", args) + +""" + CreateContactMethod() + +Creates an email or SMS text message contact method. A contact method is used to send you notifications about your Amazon Lightsail resources. You can add one email address and one mobile phone number contact method in each AWS Region. However, SMS text messaging is not supported in some AWS Regions, and SMS text messages cannot be sent to some countries/regions. For more information, see Notifications in Amazon Lightsail. + +Required Parameters +{ + "contactEndpoint": "The destination of the contact method, such as an email address or a mobile phone number. Use the E.164 format when specifying a mobile phone number. E.164 is a standard for the phone number structure used for international telecommunication. Phone numbers that follow this format can have a maximum of 15 digits, and they are prefixed with the plus character (+) and the country code. For example, a U.S. phone number in E.164 format would be specified as +1XXX5550100. For more information, see E.164 in Wikipedia.", + "protocol": "The protocol of the contact method, such as Email or SMS (text messaging). The SMS protocol is supported only in the following AWS Regions. US East (N. Virginia) (us-east-1) US West (Oregon) (us-west-2) Europe (Ireland) (eu-west-1) Asia Pacific (Tokyo) (ap-northeast-1) Asia Pacific (Singapore) (ap-southeast-1) Asia Pacific (Sydney) (ap-southeast-2) For a list of countries/regions where SMS text messages can be sent, and the latest AWS Regions where SMS text messaging is supported, see Supported Regions and Countries in the Amazon SNS Developer Guide. For more information about notifications in Amazon Lightsail, see Notifications in Amazon Lightsail." +} +""" +CreateContactMethod(args) = lightsail("CreateContactMethod", args) + +""" + GetOperation() + +Returns information about a specific operation. Operations include events such as when you create an instance, allocate a static IP, attach a static IP, and so on. + +Required Parameters +{ + "operationId": "A GUID used to identify the operation." +} +""" +GetOperation(args) = lightsail("GetOperation", args) + +""" + GetStaticIp() + +Returns information about a specific static IP. + +Required Parameters +{ + "staticIpName": "The name of the static IP in Lightsail." +} +""" +GetStaticIp(args) = lightsail("GetStaticIp", args) + +""" + GetInstancePortStates() + +Returns the port states for a specific virtual private server, or instance. + +Required Parameters +{ + "instanceName": "The name of the instance." +} +""" +GetInstancePortStates(args) = lightsail("GetInstancePortStates", args) + +""" + CloseInstancePublicPorts() + +Closes the public ports on a specific Amazon Lightsail instance. The close instance public ports operation supports tag-based access control via resource tags applied to the resource identified by instance name. For more information, see the Lightsail Dev Guide. + +Required Parameters +{ + "instanceName": "The name of the instance on which you're attempting to close the public ports.", + "portInfo": "Information about the public port you are trying to close." +} +""" +CloseInstancePublicPorts(args) = lightsail("CloseInstancePublicPorts", args) + +""" + DeleteRelationalDatabaseSnapshot() + +Deletes a database snapshot in Amazon Lightsail. The delete relational database snapshot operation supports tag-based access control via resource tags applied to the resource identified by relationalDatabaseName. For more information, see the Lightsail Dev Guide. + +Required Parameters +{ + "relationalDatabaseSnapshotName": "The name of the database snapshot that you are deleting." +} +""" +DeleteRelationalDatabaseSnapshot(args) = lightsail("DeleteRelationalDatabaseSnapshot", args) + +""" + ReleaseStaticIp() + +Deletes a specific static IP from your account. + +Required Parameters +{ + "staticIpName": "The name of the static IP to delete." +} +""" +ReleaseStaticIp(args) = lightsail("ReleaseStaticIp", args) + +""" + CreateRelationalDatabaseSnapshot() + +Creates a snapshot of your database in Amazon Lightsail. You can use snapshots for backups, to make copies of a database, and to save data before deleting a database. The create relational database snapshot operation supports tag-based access control via request tags. For more information, see the Lightsail Dev Guide. + +Required Parameters +{ + "relationalDatabaseName": "The name of the database on which to base your new snapshot.", + "relationalDatabaseSnapshotName": "The name for your new database snapshot. Constraints: Must contain from 2 to 255 alphanumeric characters, or hyphens. The first and last character must be a letter or number. " +} + +Optional Parameters +{ + "tags": "The tag keys and optional values to add to the resource during create. To tag a resource after it has been created, see the tag resource operation." +} +""" +CreateRelationalDatabaseSnapshot(args) = lightsail("CreateRelationalDatabaseSnapshot", args) + +""" + GetLoadBalancers() + +Returns information about all load balancers in an account. + +Optional Parameters +{ + "pageToken": "The token to advance to the next page of results from your request. To get a page token, perform an initial GetLoadBalancers request. If your results are paginated, the response will return a next page token that you can specify as the page token in a subsequent request." +} +""" +GetLoadBalancers() = lightsail("GetLoadBalancers") +GetLoadBalancers(args) = lightsail("GetLoadBalancers", args) + +""" + DeleteDiskSnapshot() + +Deletes the specified disk snapshot. When you make periodic snapshots of a disk, the snapshots are incremental, and only the blocks on the device that have changed since your last snapshot are saved in the new snapshot. When you delete a snapshot, only the data not needed for any other snapshot is removed. So regardless of which prior snapshots have been deleted, all active snapshots will have access to all the information needed to restore the disk. The delete disk snapshot operation supports tag-based access control via resource tags applied to the resource identified by disk snapshot name. For more information, see the Lightsail Dev Guide. + +Required Parameters +{ + "diskSnapshotName": "The name of the disk snapshot you want to delete (e.g., my-disk-snapshot)." +} +""" +DeleteDiskSnapshot(args) = lightsail("DeleteDiskSnapshot", args) + +""" + RebootInstance() + +Restarts a specific instance. The reboot instance operation supports tag-based access control via resource tags applied to the resource identified by instance name. For more information, see the Lightsail Dev Guide. + +Required Parameters +{ + "instanceName": "The name of the instance to reboot." +} +""" +RebootInstance(args) = lightsail("RebootInstance", args) + +""" + UpdateRelationalDatabaseParameters() + +Allows the update of one or more parameters of a database in Amazon Lightsail. Parameter updates don't cause outages; therefore, their application is not subject to the preferred maintenance window. However, there are two ways in which parameter updates are applied: dynamic or pending-reboot. Parameters marked with a dynamic apply type are applied immediately. Parameters marked with a pending-reboot apply type are applied only after the database is rebooted using the reboot relational database operation. The update relational database parameters operation supports tag-based access control via resource tags applied to the resource identified by relationalDatabaseName. For more information, see the Lightsail Dev Guide. + +Required Parameters +{ + "parameters": "The database parameters to update.", + "relationalDatabaseName": "The name of your database for which to update parameters." +} +""" +UpdateRelationalDatabaseParameters(args) = lightsail("UpdateRelationalDatabaseParameters", args) + +""" + UntagResource() + +Deletes the specified set of tag keys and their values from the specified Amazon Lightsail resource. The untag resource operation supports tag-based access control via request tags and resource tags applied to the resource identified by resource name. For more information, see the Lightsail Dev Guide. + +Required Parameters +{ + "tagKeys": "The tag keys to delete from the specified resource.", + "resourceName": "The name of the resource from which you are removing a tag." +} + +Optional Parameters +{ + "resourceArn": "The Amazon Resource Name (ARN) of the resource from which you want to remove a tag." +} +""" +UntagResource(args) = lightsail("UntagResource", args) + +""" + GetRelationalDatabaseMasterUserPassword() + +Returns the current, previous, or pending versions of the master user password for a Lightsail database. The GetRelationalDatabaseMasterUserPassword operation supports tag-based access control via resource tags applied to the resource identified by relationalDatabaseName. + +Required Parameters +{ + "relationalDatabaseName": "The name of your database for which to get the master user password." +} + +Optional Parameters +{ + "passwordVersion": "The password version to return. Specifying CURRENT or PREVIOUS returns the current or previous passwords respectively. Specifying PENDING returns the newest version of the password that will rotate to CURRENT. After the PENDING password rotates to CURRENT, the PENDING password is no longer available. Default: CURRENT " +} +""" +GetRelationalDatabaseMasterUserPassword(args) = lightsail("GetRelationalDatabaseMasterUserPassword", args) + +""" + DeleteDisk() + +Deletes the specified block storage disk. The disk must be in the available state (not attached to a Lightsail instance). The disk may remain in the deleting state for several minutes. The delete disk operation supports tag-based access control via resource tags applied to the resource identified by disk name. For more information, see the Lightsail Dev Guide. + +Required Parameters +{ + "diskName": "The unique name of the disk you want to delete (e.g., my-disk)." +} + +Optional Parameters +{ + "forceDeleteAddOns": "A Boolean value to indicate whether to delete the enabled add-ons for the disk." +} +""" +DeleteDisk(args) = lightsail("DeleteDisk", args) + +""" + GetInstanceState() + +Returns the state of a specific instance. Works on one instance at a time. + +Required Parameters +{ + "instanceName": "The name of the instance to get state information about." +} +""" +GetInstanceState(args) = lightsail("GetInstanceState", args) + +""" + CreateLoadBalancer() + +Creates a Lightsail load balancer. To learn more about deciding whether to load balance your application, see Configure your Lightsail instances for load balancing. You can create up to 5 load balancers per AWS Region in your account. When you create a load balancer, you can specify a unique name and port settings. To change additional load balancer settings, use the UpdateLoadBalancerAttribute operation. The create load balancer operation supports tag-based access control via request tags. For more information, see the Lightsail Dev Guide. + +Required Parameters +{ + "instancePort": "The instance port where you're creating your load balancer.", + "loadBalancerName": "The name of your load balancer." +} + +Optional Parameters +{ + "certificateDomainName": "The domain name with which your certificate is associated (e.g., example.com). If you specify certificateDomainName, then certificateName is required (and vice-versa).", + "certificateName": "The name of the SSL/TLS certificate. If you specify certificateName, then certificateDomainName is required (and vice-versa).", + "certificateAlternativeNames": "The optional alternative domains and subdomains to use with your SSL/TLS certificate (e.g., www.example.com, example.com, m.example.com, blog.example.com).", + "tags": "The tag keys and optional values to add to the resource during create. To tag a resource after it has been created, see the tag resource operation.", + "healthCheckPath": "The path you provided to perform the load balancer health check. If you didn't specify a health check path, Lightsail uses the root path of your website (e.g., \"/\"). You may want to specify a custom health check path other than the root of your application if your home page loads slowly or has a lot of media or scripting on it." +} +""" +CreateLoadBalancer(args) = lightsail("CreateLoadBalancer", args) + +""" + GetRelationalDatabaseSnapshot() + +Returns information about a specific database snapshot in Amazon Lightsail. + +Required Parameters +{ + "relationalDatabaseSnapshotName": "The name of the database snapshot for which to get information." +} +""" +GetRelationalDatabaseSnapshot(args) = lightsail("GetRelationalDatabaseSnapshot", args) + +""" + CreateCloudFormationStack() + +Creates an AWS CloudFormation stack, which creates a new Amazon EC2 instance from an exported Amazon Lightsail snapshot. This operation results in a CloudFormation stack record that can be used to track the AWS CloudFormation stack created. Use the get cloud formation stack records operation to get a list of the CloudFormation stacks created. Wait until after your new Amazon EC2 instance is created before running the create cloud formation stack operation again with the same export snapshot record. + +Required Parameters +{ + "instances": "An array of parameters that will be used to create the new Amazon EC2 instance. You can only pass one instance entry at a time in this array. You will get an invalid parameter error if you pass more than one instance entry in this array." +} +""" +CreateCloudFormationStack(args) = lightsail("CreateCloudFormationStack", args) + +""" + CreateDomainEntry() + +Creates one of the following entry records associated with the domain: Address (A), canonical name (CNAME), mail exchanger (MX), name server (NS), start of authority (SOA), service locator (SRV), or text (TXT). The create domain entry operation supports tag-based access control via resource tags applied to the resource identified by domain name. For more information, see the Lightsail Dev Guide. + +Required Parameters +{ + "domainEntry": "An array of key-value pairs containing information about the domain entry request.", + "domainName": "The domain name (e.g., example.com) for which you want to create the domain entry." +} +""" +CreateDomainEntry(args) = lightsail("CreateDomainEntry", args) + +""" + GetDiskSnapshot() + +Returns information about a specific block storage disk snapshot. + +Required Parameters +{ + "diskSnapshotName": "The name of the disk snapshot (e.g., my-disk-snapshot)." +} +""" +GetDiskSnapshot(args) = lightsail("GetDiskSnapshot", args) + +""" + DeleteInstanceSnapshot() + +Deletes a specific snapshot of a virtual private server (or instance). The delete instance snapshot operation supports tag-based access control via resource tags applied to the resource identified by instance snapshot name. For more information, see the Lightsail Dev Guide. + +Required Parameters +{ + "instanceSnapshotName": "The name of the snapshot to delete." +} +""" +DeleteInstanceSnapshot(args) = lightsail("DeleteInstanceSnapshot", args) + +""" + GetStaticIps() + +Returns information about all static IPs in the user's account. + +Optional Parameters +{ + "pageToken": "The token to advance to the next page of results from your request. To get a page token, perform an initial GetStaticIps request. If your results are paginated, the response will return a next page token that you can specify as the page token in a subsequent request." +} +""" +GetStaticIps() = lightsail("GetStaticIps") +GetStaticIps(args) = lightsail("GetStaticIps", args) + +""" + GetRegions() + +Returns a list of all valid regions for Amazon Lightsail. Use the include availability zones parameter to also return the Availability Zones in a region. + +Optional Parameters +{ + "includeAvailabilityZones": "A Boolean value indicating whether to also include Availability Zones in your get regions request. Availability Zones are indicated with a letter: e.g., us-east-2a.", + "includeRelationalDatabaseAvailabilityZones": ">A Boolean value indicating whether to also include Availability Zones for databases in your get regions request. Availability Zones are indicated with a letter (e.g., us-east-2a)." +} +""" +GetRegions() = lightsail("GetRegions") +GetRegions(args) = lightsail("GetRegions", args) + +""" + GetInstances() + +Returns information about all Amazon Lightsail virtual private servers, or instances. + +Optional Parameters +{ + "pageToken": "The token to advance to the next page of results from your request. To get a page token, perform an initial GetInstances request. If your results are paginated, the response will return a next page token that you can specify as the page token in a subsequent request." +} +""" +GetInstances() = lightsail("GetInstances") +GetInstances(args) = lightsail("GetInstances", args) + +""" + GetBundles() + +Returns the list of bundles that are available for purchase. A bundle describes the specs for your virtual private server (or instance). + +Optional Parameters +{ + "includeInactive": "A Boolean value that indicates whether to include inactive bundle results in your request.", + "pageToken": "The token to advance to the next page of results from your request. To get a page token, perform an initial GetBundles request. If your results are paginated, the response will return a next page token that you can specify as the page token in a subsequent request." +} +""" +GetBundles() = lightsail("GetBundles") +GetBundles(args) = lightsail("GetBundles", args) + +""" + GetLoadBalancer() + +Returns information about the specified Lightsail load balancer. + +Required Parameters +{ + "loadBalancerName": "The name of the load balancer." +} +""" +GetLoadBalancer(args) = lightsail("GetLoadBalancer", args) + +""" + CreateDomain() + +Creates a domain resource for the specified domain (e.g., example.com). The create domain operation supports tag-based access control via request tags. For more information, see the Lightsail Dev Guide. + +Required Parameters +{ + "domainName": "The domain name to manage (e.g., example.com). You cannot register a new domain name using Lightsail. You must register a domain name using Amazon Route 53 or another domain name registrar. If you have already registered your domain, you can enter its name in this parameter to manage the DNS records for that domain. " +} + +Optional Parameters +{ + "tags": "The tag keys and optional values to add to the resource during create. To tag a resource after it has been created, see the tag resource operation." +} +""" +CreateDomain(args) = lightsail("CreateDomain", args) + +""" + GetAlarms() + +Returns information about the configured alarms. Specify an alarm name in your request to return information about a specific alarm, or specify a monitored resource name to return information about all alarms for a specific resource. An alarm is used to monitor a single metric for one of your resources. When a metric condition is met, the alarm can notify you by email, SMS text message, and a banner displayed on the Amazon Lightsail console. For more information, see Alarms in Amazon Lightsail. + +Optional Parameters +{ + "monitoredResourceName": "The name of the Lightsail resource being monitored by the alarm. Specify a monitored resource name to return information about all alarms for a specific resource.", + "alarmName": "The name of the alarm. Specify an alarm name to return information about a specific alarm.", + "pageToken": "The token to advance to the next page of results from your request. To get a page token, perform an initial GetAlarms request. If your results are paginated, the response will return a next page token that you can specify as the page token in a subsequent request." +} +""" +GetAlarms() = lightsail("GetAlarms") +GetAlarms(args) = lightsail("GetAlarms", args) + +""" + UpdateDomainEntry() + +Updates a domain recordset after it is created. The update domain entry operation supports tag-based access control via resource tags applied to the resource identified by domain name. For more information, see the Lightsail Dev Guide. + +Required Parameters +{ + "domainEntry": "An array of key-value pairs containing information about the domain entry.", + "domainName": "The name of the domain recordset to update." +} +""" +UpdateDomainEntry(args) = lightsail("UpdateDomainEntry", args) + +""" + GetRelationalDatabaseEvents() + +Returns a list of events for a specific database in Amazon Lightsail. + +Required Parameters +{ + "relationalDatabaseName": "The name of the database from which to get events." +} + +Optional Parameters +{ + "durationInMinutes": "The number of minutes in the past from which to retrieve events. For example, to get all events from the past 2 hours, enter 120. Default: 60 The minimum is 1 and the maximum is 14 days (20160 minutes).", + "pageToken": "The token to advance to the next page of results from your request. To get a page token, perform an initial GetRelationalDatabaseEvents request. If your results are paginated, the response will return a next page token that you can specify as the page token in a subsequent request." +} +""" +GetRelationalDatabaseEvents(args) = lightsail("GetRelationalDatabaseEvents", args) + +""" + DetachStaticIp() + +Detaches a static IP from the Amazon Lightsail instance to which it is attached. + +Required Parameters +{ + "staticIpName": "The name of the static IP to detach from the instance." +} +""" +DetachStaticIp(args) = lightsail("DetachStaticIp", args) + +""" + DeleteRelationalDatabase() + +Deletes a database in Amazon Lightsail. The delete relational database operation supports tag-based access control via resource tags applied to the resource identified by relationalDatabaseName. For more information, see the Lightsail Dev Guide. + +Required Parameters +{ + "relationalDatabaseName": "The name of the database that you are deleting." +} + +Optional Parameters +{ + "skipFinalSnapshot": "Determines whether a final database snapshot is created before your database is deleted. If true is specified, no database snapshot is created. If false is specified, a database snapshot is created before your database is deleted. You must specify the final relational database snapshot name parameter if the skip final snapshot parameter is false. Default: false ", + "finalRelationalDatabaseSnapshotName": "The name of the database snapshot created if skip final snapshot is false, which is the default value for that parameter. Specifying this parameter and also specifying the skip final snapshot parameter to true results in an error. Constraints: Must contain from 2 to 255 alphanumeric characters, or hyphens. The first and last character must be a letter or number. " +} +""" +DeleteRelationalDatabase(args) = lightsail("DeleteRelationalDatabase", args) + +""" + AttachInstancesToLoadBalancer() + +Attaches one or more Lightsail instances to a load balancer. After some time, the instances are attached to the load balancer and the health check status is available. The attach instances to load balancer operation supports tag-based access control via resource tags applied to the resource identified by load balancer name. For more information, see the Lightsail Dev Guide. + +Required Parameters +{ + "instanceNames": "An array of strings representing the instance name(s) you want to attach to your load balancer. An instance must be running before you can attach it to your load balancer. There are no additional limits on the number of instances you can attach to your load balancer, aside from the limit of Lightsail instances you can create in your account (20).", + "loadBalancerName": "The name of the load balancer." +} +""" +AttachInstancesToLoadBalancer(args) = lightsail("AttachInstancesToLoadBalancer", args) + +""" + GetRelationalDatabaseMetricData() + +Returns the data points of the specified metric for a database in Amazon Lightsail. + +Required Parameters +{ + "startTime": "The start of the time interval from which to get metric data. Constraints: Specified in Coordinated Universal Time (UTC). Specified in the Unix time format. For example, if you wish to use a start time of October 1, 2018, at 8 PM UTC, then you input 1538424000 as the start time. ", + "statistics": "The statistic for the metric. The following statistics are available: Minimum — The lowest value observed during the specified period. Use this value to determine low volumes of activity for your application. Maximum — The highest value observed during the specified period. Use this value to determine high volumes of activity for your application. Sum — All values submitted for the matching metric added together. You can use this statistic to determine the total volume of a metric. Average — The value of Sum / SampleCount during the specified period. By comparing this statistic with the Minimum and Maximum values, you can determine the full scope of a metric and how close the average use is to the Minimum and Maximum values. This comparison helps you to know when to increase or decrease your resources. SampleCount — The count, or number, of data points used for the statistical calculation. ", + "metricName": "The metric for which you want to return information. Valid relational database metric names are listed below, along with the most useful statistics to include in your request, and the published unit value. All relational database metric data is available in 1-minute (60 seconds) granularity. CPUUtilization — The percentage of CPU utilization currently in use on the database. Statistics: The most useful statistics are Maximum and Average. Unit: The published unit is Percent. DatabaseConnections — The number of database connections in use. Statistics: The most useful statistics are Maximum and Sum. Unit: The published unit is Count. DiskQueueDepth — The number of outstanding IOs (read/write requests) that are waiting to access the disk. Statistics: The most useful statistic is Sum. Unit: The published unit is Count. FreeStorageSpace — The amount of available storage space. Statistics: The most useful statistic is Sum. Unit: The published unit is Bytes. NetworkReceiveThroughput — The incoming (Receive) network traffic on the database, including both customer database traffic and AWS traffic used for monitoring and replication. Statistics: The most useful statistic is Average. Unit: The published unit is Bytes/Second. NetworkTransmitThroughput — The outgoing (Transmit) network traffic on the database, including both customer database traffic and AWS traffic used for monitoring and replication. Statistics: The most useful statistic is Average. Unit: The published unit is Bytes/Second. ", + "relationalDatabaseName": "The name of your database from which to get metric data.", + "period": "The granularity, in seconds, of the returned data points. All relational database metric data is available in 1-minute (60 seconds) granularity.", + "unit": "The unit for the metric data request. Valid units depend on the metric data being required. For the valid units with each available metric, see the metricName parameter.", + "endTime": "The end of the time interval from which to get metric data. Constraints: Specified in Coordinated Universal Time (UTC). Specified in the Unix time format. For example, if you wish to use an end time of October 1, 2018, at 8 PM UTC, then you input 1538424000 as the end time. " +} +""" +GetRelationalDatabaseMetricData(args) = lightsail("GetRelationalDatabaseMetricData", args) + +""" + GetBlueprints() + +Returns the list of available instance images, or blueprints. You can use a blueprint to create a new instance already running a specific operating system, as well as a preinstalled app or development stack. The software each instance is running depends on the blueprint image you choose. Use active blueprints when creating new instances. Inactive blueprints are listed to support customers with existing instances and are not necessarily available to create new instances. Blueprints are marked inactive when they become outdated due to operating system updates or new application releases. + +Optional Parameters +{ + "includeInactive": "A Boolean value indicating whether to include inactive results in your request.", + "pageToken": "The token to advance to the next page of results from your request. To get a page token, perform an initial GetBlueprints request. If your results are paginated, the response will return a next page token that you can specify as the page token in a subsequent request." +} +""" +GetBlueprints() = lightsail("GetBlueprints") +GetBlueprints(args) = lightsail("GetBlueprints", args) + +""" + GetRelationalDatabaseBundles() + +Returns the list of bundles that are available in Amazon Lightsail. A bundle describes the performance specifications for a database. You can use a bundle ID to create a new database with explicit performance specifications. + +Optional Parameters +{ + "pageToken": "The token to advance to the next page of results from your request. To get a page token, perform an initial GetRelationalDatabaseBundles request. If your results are paginated, the response will return a next page token that you can specify as the page token in a subsequent request." +} +""" +GetRelationalDatabaseBundles() = lightsail("GetRelationalDatabaseBundles") +GetRelationalDatabaseBundles(args) = lightsail("GetRelationalDatabaseBundles", args) + +""" + IsVpcPeered() + +Returns a Boolean value indicating whether your Lightsail VPC is peered. +""" +IsVpcPeered() = lightsail("IsVpcPeered") +IsVpcPeered(args) = lightsail("IsVpcPeered", args) + +""" + GetOperations() + +Returns information about all operations. Results are returned from oldest to newest, up to a maximum of 200. Results can be paged by making each subsequent call to GetOperations use the maximum (last) statusChangedAt value from the previous request. + +Optional Parameters +{ + "pageToken": "The token to advance to the next page of results from your request. To get a page token, perform an initial GetOperations request. If your results are paginated, the response will return a next page token that you can specify as the page token in a subsequent request." +} +""" +GetOperations() = lightsail("GetOperations") +GetOperations(args) = lightsail("GetOperations", args) + +""" + AttachStaticIp() + +Attaches a static IP address to a specific Amazon Lightsail instance. + +Required Parameters +{ + "staticIpName": "The name of the static IP.", + "instanceName": "The instance name to which you want to attach the static IP address." +} +""" +AttachStaticIp(args) = lightsail("AttachStaticIp", args) + +""" + DetachInstancesFromLoadBalancer() + +Detaches the specified instances from a Lightsail load balancer. This operation waits until the instances are no longer needed before they are detached from the load balancer. The detach instances from load balancer operation supports tag-based access control via resource tags applied to the resource identified by load balancer name. For more information, see the Lightsail Dev Guide. + +Required Parameters +{ + "instanceNames": "An array of strings containing the names of the instances you want to detach from the load balancer.", + "loadBalancerName": "The name of the Lightsail load balancer." +} +""" +DetachInstancesFromLoadBalancer(args) = lightsail("DetachInstancesFromLoadBalancer", args) + +""" + GetInstance() + +Returns information about a specific Amazon Lightsail instance, which is a virtual private server. + +Required Parameters +{ + "instanceName": "The name of the instance." +} +""" +GetInstance(args) = lightsail("GetInstance", args) + +""" + GetLoadBalancerTlsCertificates() + +Returns information about the TLS certificates that are associated with the specified Lightsail load balancer. TLS is just an updated, more secure version of Secure Socket Layer (SSL). You can have a maximum of 2 certificates associated with a Lightsail load balancer. One is active and the other is inactive. + +Required Parameters +{ + "loadBalancerName": "The name of the load balancer you associated with your SSL/TLS certificate." +} +""" +GetLoadBalancerTlsCertificates(args) = lightsail("GetLoadBalancerTlsCertificates", args) + +""" + DeleteAlarm() + +Deletes an alarm. An alarm is used to monitor a single metric for one of your resources. When a metric condition is met, the alarm can notify you by email, SMS text message, and a banner displayed on the Amazon Lightsail console. For more information, see Alarms in Amazon Lightsail. + +Required Parameters +{ + "alarmName": "The name of the alarm to delete." +} +""" +DeleteAlarm(args) = lightsail("DeleteAlarm", args) + +""" + DeleteDomain() + +Deletes the specified domain recordset and all of its domain records. The delete domain operation supports tag-based access control via resource tags applied to the resource identified by domain name. For more information, see the Lightsail Dev Guide. + +Required Parameters +{ + "domainName": "The specific domain name to delete." +} +""" +DeleteDomain(args) = lightsail("DeleteDomain", args) + +""" + GetKeyPairs() + +Returns information about all key pairs in the user's account. + +Optional Parameters +{ + "pageToken": "The token to advance to the next page of results from your request. To get a page token, perform an initial GetKeyPairs request. If your results are paginated, the response will return a next page token that you can specify as the page token in a subsequent request." +} +""" +GetKeyPairs() = lightsail("GetKeyPairs") +GetKeyPairs(args) = lightsail("GetKeyPairs", args) + +""" + GetAutoSnapshots() + +Returns the available automatic snapshots for an instance or disk. For more information, see the Lightsail Dev Guide. + +Required Parameters +{ + "resourceName": "The name of the source instance or disk from which to get automatic snapshot information." +} +""" +GetAutoSnapshots(args) = lightsail("GetAutoSnapshots", args) + +""" + GetRelationalDatabaseSnapshots() + +Returns information about all of your database snapshots in Amazon Lightsail. + +Optional Parameters +{ + "pageToken": "The token to advance to the next page of results from your request. To get a page token, perform an initial GetRelationalDatabaseSnapshots request. If your results are paginated, the response will return a next page token that you can specify as the page token in a subsequent request." +} +""" +GetRelationalDatabaseSnapshots() = lightsail("GetRelationalDatabaseSnapshots") +GetRelationalDatabaseSnapshots(args) = lightsail("GetRelationalDatabaseSnapshots", args) + +""" + DeleteKeyPair() + +Deletes a specific SSH key pair. The delete key pair operation supports tag-based access control via resource tags applied to the resource identified by key pair name. For more information, see the Lightsail Dev Guide. + +Required Parameters +{ + "keyPairName": "The name of the key pair to delete." +} +""" +DeleteKeyPair(args) = lightsail("DeleteKeyPair", args) + +""" + GetRelationalDatabases() + +Returns information about all of your databases in Amazon Lightsail. + +Optional Parameters +{ + "pageToken": "The token to advance to the next page of results from your request. To get a page token, perform an initial GetRelationalDatabases request. If your results are paginated, the response will return a next page token that you can specify as the page token in a subsequent request." +} +""" +GetRelationalDatabases() = lightsail("GetRelationalDatabases") +GetRelationalDatabases(args) = lightsail("GetRelationalDatabases", args) + +""" + AllocateStaticIp() + +Allocates a static IP address. + +Required Parameters +{ + "staticIpName": "The name of the static IP address." +} +""" +AllocateStaticIp(args) = lightsail("AllocateStaticIp", args) + +""" + CreateInstances() + +Creates one or more Amazon Lightsail instances. The create instances operation supports tag-based access control via request tags. For more information, see the Lightsail Dev Guide. + +Required Parameters +{ + "blueprintId": "The ID for a virtual private server image (e.g., app_wordpress_4_4 or app_lamp_7_0). Use the get blueprints operation to return a list of available images (or blueprints). Use active blueprints when creating new instances. Inactive blueprints are listed to support customers with existing instances and are not necessarily available to create new instances. Blueprints are marked inactive when they become outdated due to operating system updates or new application releases. ", + "instanceNames": "The names to use for your new Lightsail instances. Separate multiple values using quotation marks and commas, for example: [\"MyFirstInstance\",\"MySecondInstance\"] ", + "bundleId": "The bundle of specification information for your virtual private server (or instance), including the pricing plan (e.g., micro_1_0).", + "availabilityZone": "The Availability Zone in which to create your instance. Use the following format: us-east-2a (case sensitive). You can get a list of Availability Zones by using the get regions operation. Be sure to add the include Availability Zones parameter to your request." +} + +Optional Parameters +{ + "keyPairName": "The name of your key pair.", + "customImageName": "(Deprecated) The name for your custom image. In releases prior to June 12, 2017, this parameter was ignored by the API. It is now deprecated. ", + "userData": "A launch script you can create that configures a server with additional user data. For example, you might want to run apt-get -y update. Depending on the machine image you choose, the command to get software on your instance varies. Amazon Linux and CentOS use yum, Debian and Ubuntu use apt-get, and FreeBSD uses pkg. For a complete list, see the Dev Guide. ", + "addOns": "An array of objects representing the add-ons to enable for the new instance.", + "tags": "The tag keys and optional values to add to the resource during create. To tag a resource after it has been created, see the tag resource operation." +} +""" +CreateInstances(args) = lightsail("CreateInstances", args) + +""" + PeerVpc() + +Tries to peer the Lightsail VPC with the user's default VPC. +""" +PeerVpc() = lightsail("PeerVpc") +PeerVpc(args) = lightsail("PeerVpc", args) + +""" + GetRelationalDatabase() + +Returns information about a specific database in Amazon Lightsail. + +Required Parameters +{ + "relationalDatabaseName": "The name of the database that you are looking up." +} +""" +GetRelationalDatabase(args) = lightsail("GetRelationalDatabase", args) + +""" + StopInstance() + +Stops a specific Amazon Lightsail instance that is currently running. When you start a stopped instance, Lightsail assigns a new public IP address to the instance. To use the same IP address after stopping and starting an instance, create a static IP address and attach it to the instance. For more information, see the Lightsail Dev Guide. The stop instance operation supports tag-based access control via resource tags applied to the resource identified by instance name. For more information, see the Lightsail Dev Guide. + +Required Parameters +{ + "instanceName": "The name of the instance (a virtual private server) to stop." +} + +Optional Parameters +{ + "force": "When set to True, forces a Lightsail instance that is stuck in a stopping state to stop. Only use the force parameter if your instance is stuck in the stopping state. In any other state, your instance should stop normally without adding this parameter to your API request. " +} +""" +StopInstance(args) = lightsail("StopInstance", args) + +""" + DeleteInstance() + +Deletes an Amazon Lightsail instance. The delete instance operation supports tag-based access control via resource tags applied to the resource identified by instance name. For more information, see the Lightsail Dev Guide. + +Required Parameters +{ + "instanceName": "The name of the instance to delete." +} + +Optional Parameters +{ + "forceDeleteAddOns": "A Boolean value to indicate whether to delete the enabled add-ons for the disk." +} +""" +DeleteInstance(args) = lightsail("DeleteInstance", args) + +""" + DeleteKnownHostKeys() + +Deletes the known host key or certificate used by the Amazon Lightsail browser-based SSH or RDP clients to authenticate an instance. This operation enables the Lightsail browser-based SSH or RDP clients to connect to the instance after a host key mismatch. Perform this operation only if you were expecting the host key or certificate mismatch or if you are familiar with the new host key or certificate on the instance. For more information, see Troubleshooting connection issues when using the Amazon Lightsail browser-based SSH or RDP client. + +Required Parameters +{ + "instanceName": "The name of the instance for which you want to reset the host key or certificate." +} +""" +DeleteKnownHostKeys(args) = lightsail("DeleteKnownHostKeys", args) + +""" + ExportSnapshot() + +Exports an Amazon Lightsail instance or block storage disk snapshot to Amazon Elastic Compute Cloud (Amazon EC2). This operation results in an export snapshot record that can be used with the create cloud formation stack operation to create new Amazon EC2 instances. Exported instance snapshots appear in Amazon EC2 as Amazon Machine Images (AMIs), and the instance system disk appears as an Amazon Elastic Block Store (Amazon EBS) volume. Exported disk snapshots appear in Amazon EC2 as Amazon EBS volumes. Snapshots are exported to the same Amazon Web Services Region in Amazon EC2 as the source Lightsail snapshot. The export snapshot operation supports tag-based access control via resource tags applied to the resource identified by source snapshot name. For more information, see the Lightsail Dev Guide. Use the get instance snapshots or get disk snapshots operations to get a list of snapshots that you can export to Amazon EC2. + +Required Parameters +{ + "sourceSnapshotName": "The name of the instance or disk snapshot to be exported to Amazon EC2." +} +""" +ExportSnapshot(args) = lightsail("ExportSnapshot", args) + +""" + GetActiveNames() + +Returns the names of all active (not deleted) resources. + +Optional Parameters +{ + "pageToken": "The token to advance to the next page of results from your request. To get a page token, perform an initial GetActiveNames request. If your results are paginated, the response will return a next page token that you can specify as the page token in a subsequent request." +} +""" +GetActiveNames() = lightsail("GetActiveNames") +GetActiveNames(args) = lightsail("GetActiveNames", args) + +""" + GetDiskSnapshots() + +Returns information about all block storage disk snapshots in your AWS account and region. + +Optional Parameters +{ + "pageToken": "The token to advance to the next page of results from your request. To get a page token, perform an initial GetDiskSnapshots request. If your results are paginated, the response will return a next page token that you can specify as the page token in a subsequent request." +} +""" +GetDiskSnapshots() = lightsail("GetDiskSnapshots") +GetDiskSnapshots(args) = lightsail("GetDiskSnapshots", args) + +""" + GetRelationalDatabaseParameters() + +Returns all of the runtime parameters offered by the underlying database software, or engine, for a specific database in Amazon Lightsail. In addition to the parameter names and values, this operation returns other information about each parameter. This information includes whether changes require a reboot, whether the parameter is modifiable, the allowed values, and the data types. + +Required Parameters +{ + "relationalDatabaseName": "The name of your database for which to get parameters." +} + +Optional Parameters +{ + "pageToken": "The token to advance to the next page of results from your request. To get a page token, perform an initial GetRelationalDatabaseParameters request. If your results are paginated, the response will return a next page token that you can specify as the page token in a subsequent request." +} +""" +GetRelationalDatabaseParameters(args) = lightsail("GetRelationalDatabaseParameters", args) + +""" + StartRelationalDatabase() + +Starts a specific database from a stopped state in Amazon Lightsail. To restart a database, use the reboot relational database operation. The start relational database operation supports tag-based access control via resource tags applied to the resource identified by relationalDatabaseName. For more information, see the Lightsail Dev Guide. + +Required Parameters +{ + "relationalDatabaseName": "The name of your database to start." +} +""" +StartRelationalDatabase(args) = lightsail("StartRelationalDatabase", args) + +""" + GetCloudFormationStackRecords() + +Returns the CloudFormation stack record created as a result of the create cloud formation stack operation. An AWS CloudFormation stack is used to create a new Amazon EC2 instance from an exported Lightsail snapshot. + +Optional Parameters +{ + "pageToken": "The token to advance to the next page of results from your request. To get a page token, perform an initial GetClouFormationStackRecords request. If your results are paginated, the response will return a next page token that you can specify as the page token in a subsequent request." +} +""" +GetCloudFormationStackRecords() = lightsail("GetCloudFormationStackRecords") +GetCloudFormationStackRecords(args) = lightsail("GetCloudFormationStackRecords", args) + +""" + DeleteDomainEntry() + +Deletes a specific domain entry. The delete domain entry operation supports tag-based access control via resource tags applied to the resource identified by domain name. For more information, see the Lightsail Dev Guide. + +Required Parameters +{ + "domainEntry": "An array of key-value pairs containing information about your domain entries.", + "domainName": "The name of the domain entry to delete." +} +""" +DeleteDomainEntry(args) = lightsail("DeleteDomainEntry", args) + +""" + DeleteAutoSnapshot() + +Deletes an automatic snapshot of an instance or disk. For more information, see the Lightsail Dev Guide. + +Required Parameters +{ + "date": "The date of the automatic snapshot to delete in YYYY-MM-DD format. Use the get auto snapshots operation to get the available automatic snapshots for a resource.", + "resourceName": "The name of the source instance or disk from which to delete the automatic snapshot." +} +""" +DeleteAutoSnapshot(args) = lightsail("DeleteAutoSnapshot", args) + +""" + CreateRelationalDatabase() + +Creates a new database in Amazon Lightsail. The create relational database operation supports tag-based access control via request tags. For more information, see the Lightsail Dev Guide. + +Required Parameters +{ + "masterDatabaseName": "The name of the master database created when the Lightsail database resource is created. Constraints: Must contain from 1 to 64 alphanumeric characters. Cannot be a word reserved by the specified database engine ", + "relationalDatabaseBundleId": "The bundle ID for your new database. A bundle describes the performance specifications for your database. You can get a list of database bundle IDs by using the get relational database bundles operation.", + "relationalDatabaseName": "The name to use for your new database. Constraints: Must contain from 2 to 255 alphanumeric characters, or hyphens. The first and last character must be a letter or number. ", + "relationalDatabaseBlueprintId": "The blueprint ID for your new database. A blueprint describes the major engine version of a database. You can get a list of database blueprints IDs by using the get relational database blueprints operation.", + "masterUsername": "The master user name for your new database. Constraints: Master user name is required. Must contain from 1 to 16 alphanumeric characters. The first character must be a letter. Cannot be a reserved word for the database engine you choose. For more information about reserved words in MySQL 5.6 or 5.7, see the Keywords and Reserved Words articles for MySQL 5.6 or MySQL 5.7 respectively. " +} + +Optional Parameters +{ + "preferredMaintenanceWindow": "The weekly time range during which system maintenance can occur on your new database. The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region, occurring on a random day of the week. Constraints: Must be in the ddd:hh24:mi-ddd:hh24:mi format. Valid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun. Must be at least 30 minutes. Specified in Coordinated Universal Time (UTC). Example: Tue:17:00-Tue:17:30 ", + "preferredBackupWindow": "The daily time range during which automated backups are created for your new database if automated backups are enabled. The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region. For more information about the preferred backup window time blocks for each region, see the Working With Backups guide in the Amazon Relational Database Service (Amazon RDS) documentation. Constraints: Must be in the hh24:mi-hh24:mi format. Example: 16:00-16:30 Specified in Coordinated Universal Time (UTC). Must not conflict with the preferred maintenance window. Must be at least 30 minutes. ", + "tags": "The tag keys and optional values to add to the resource during create. To tag a resource after it has been created, see the tag resource operation.", + "masterUserPassword": "The password for the master user of your new database. The password can include any printable ASCII character except \"/\", \"\"\", or \"@\". Constraints: Must contain 8 to 41 characters.", + "availabilityZone": "The Availability Zone in which to create your new database. Use the us-east-2a case-sensitive format. You can get a list of Availability Zones by using the get regions operation. Be sure to add the include relational database Availability Zones parameter to your request.", + "publiclyAccessible": "Specifies the accessibility options for your new database. A value of true specifies a database that is available to resources outside of your Lightsail account. A value of false specifies a database that is available only to your Lightsail resources in the same region as your database." +} +""" +CreateRelationalDatabase(args) = lightsail("CreateRelationalDatabase", args) + +""" + GetRelationalDatabaseLogStreams() + +Returns a list of available log streams for a specific database in Amazon Lightsail. + +Required Parameters +{ + "relationalDatabaseName": "The name of your database for which to get log streams." +} +""" +GetRelationalDatabaseLogStreams(args) = lightsail("GetRelationalDatabaseLogStreams", args) + +""" + CopySnapshot() + +Copies a manual snapshot of an instance or disk as another manual snapshot, or copies an automatic snapshot of an instance or disk as a manual snapshot. This operation can also be used to copy a manual or automatic snapshot of an instance or a disk from one AWS Region to another in Amazon Lightsail. When copying a manual snapshot, be sure to define the source region, source snapshot name, and target snapshot name parameters. When copying an automatic snapshot, be sure to define the source region, source resource name, target snapshot name, and either the restore date or the use latest restorable auto snapshot parameters. + +Required Parameters +{ + "targetSnapshotName": "The name of the new manual snapshot to be created as a copy.", + "sourceRegion": "The AWS Region where the source manual or automatic snapshot is located." +} + +Optional Parameters +{ + "useLatestRestorableAutoSnapshot": "A Boolean value to indicate whether to use the latest available automatic snapshot of the specified source instance or disk. Constraints: This parameter cannot be defined together with the restore date parameter. The use latest restorable auto snapshot and restore date parameters are mutually exclusive. Define this parameter only when copying an automatic snapshot as a manual snapshot. For more information, see the Lightsail Dev Guide. ", + "sourceSnapshotName": "The name of the source manual snapshot to copy. Constraint: Define this parameter only when copying a manual snapshot as another manual snapshot. ", + "sourceResourceName": "The name of the source instance or disk from which the source automatic snapshot was created. Constraint: Define this parameter only when copying an automatic snapshot as a manual snapshot. For more information, see the Lightsail Dev Guide. ", + "restoreDate": "The date of the source automatic snapshot to copy. Use the get auto snapshots operation to identify the dates of the available automatic snapshots. Constraints: Must be specified in YYYY-MM-DD format. This parameter cannot be defined together with the use latest restorable auto snapshot parameter. The restore date and use latest restorable auto snapshot parameters are mutually exclusive. Define this parameter only when copying an automatic snapshot as a manual snapshot. For more information, see the Lightsail Dev Guide. " +} +""" +CopySnapshot(args) = lightsail("CopySnapshot", args) + +""" + GetLoadBalancerMetricData() + +Returns information about health metrics for your Lightsail load balancer. + +Required Parameters +{ + "startTime": "The start time of the period.", + "statistics": "The statistic for the metric. The following statistics are available: Minimum — The lowest value observed during the specified period. Use this value to determine low volumes of activity for your application. Maximum — The highest value observed during the specified period. Use this value to determine high volumes of activity for your application. Sum — All values submitted for the matching metric added together. You can use this statistic to determine the total volume of a metric. Average — The value of Sum / SampleCount during the specified period. By comparing this statistic with the Minimum and Maximum values, you can determine the full scope of a metric and how close the average use is to the Minimum and Maximum values. This comparison helps you to know when to increase or decrease your resources. SampleCount — The count, or number, of data points used for the statistical calculation. ", + "metricName": "The metric for which you want to return information. Valid load balancer metric names are listed below, along with the most useful statistics to include in your request, and the published unit value. ClientTLSNegotiationErrorCount — The number of TLS connections initiated by the client that did not establish a session with the load balancer due to a TLS error generated by the load balancer. Possible causes include a mismatch of ciphers or protocols. Statistics: The most useful statistic is Sum. Unit: The published unit is Count. HealthyHostCount — The number of target instances that are considered healthy. Statistics: The most useful statistic are Average, Minimum, and Maximum. Unit: The published unit is Count. HTTPCode_Instance_2XX_Count — The number of HTTP 2XX response codes generated by the target instances. This does not include any response codes generated by the load balancer. Statistics: The most useful statistic is Sum. Note that Minimum, Maximum, and Average all return 1. Unit: The published unit is Count. HTTPCode_Instance_3XX_Count — The number of HTTP 3XX response codes generated by the target instances. This does not include any response codes generated by the load balancer. Statistics: The most useful statistic is Sum. Note that Minimum, Maximum, and Average all return 1. Unit: The published unit is Count. HTTPCode_Instance_4XX_Count — The number of HTTP 4XX response codes generated by the target instances. This does not include any response codes generated by the load balancer. Statistics: The most useful statistic is Sum. Note that Minimum, Maximum, and Average all return 1. Unit: The published unit is Count. HTTPCode_Instance_5XX_Count — The number of HTTP 5XX response codes generated by the target instances. This does not include any response codes generated by the load balancer. Statistics: The most useful statistic is Sum. Note that Minimum, Maximum, and Average all return 1. Unit: The published unit is Count. HTTPCode_LB_4XX_Count — The number of HTTP 4XX client error codes that originated from the load balancer. Client errors are generated when requests are malformed or incomplete. These requests were not received by the target instance. This count does not include response codes generated by the target instances. Statistics: The most useful statistic is Sum. Note that Minimum, Maximum, and Average all return 1. Unit: The published unit is Count. HTTPCode_LB_5XX_Count — The number of HTTP 5XX server error codes that originated from the load balancer. This does not include any response codes generated by the target instance. This metric is reported if there are no healthy instances attached to the load balancer, or if the request rate exceeds the capacity of the instances (spillover) or the load balancer. Statistics: The most useful statistic is Sum. Note that Minimum, Maximum, and Average all return 1. Unit: The published unit is Count. InstanceResponseTime — The time elapsed, in seconds, after the request leaves the load balancer until a response from the target instance is received. Statistics: The most useful statistic is Average. Unit: The published unit is Seconds. RejectedConnectionCount — The number of connections that were rejected because the load balancer had reached its maximum number of connections. Statistics: The most useful statistic is Sum. Unit: The published unit is Count. RequestCount — The number of requests processed over IPv4. This count includes only the requests with a response generated by a target instance of the load balancer. Statistics: The most useful statistic is Sum. Note that Minimum, Maximum, and Average all return 1. Unit: The published unit is Count. UnhealthyHostCount — The number of target instances that are considered unhealthy. Statistics: The most useful statistic are Average, Minimum, and Maximum. Unit: The published unit is Count. ", + "period": "The granularity, in seconds, of the returned data points.", + "loadBalancerName": "The name of the load balancer.", + "unit": "The unit for the metric data request. Valid units depend on the metric data being required. For the valid units with each available metric, see the metricName parameter.", + "endTime": "The end time of the period." +} +""" +GetLoadBalancerMetricData(args) = lightsail("GetLoadBalancerMetricData", args) + +""" + OpenInstancePublicPorts() + +Adds public ports to an Amazon Lightsail instance. The open instance public ports operation supports tag-based access control via resource tags applied to the resource identified by instance name. For more information, see the Lightsail Dev Guide. + +Required Parameters +{ + "instanceName": "The name of the instance for which you want to open the public ports.", + "portInfo": "An array of key-value pairs containing information about the port mappings." +} +""" +OpenInstancePublicPorts(args) = lightsail("OpenInstancePublicPorts", args) + +""" + CreateInstanceSnapshot() + +Creates a snapshot of a specific virtual private server, or instance. You can use a snapshot to create a new instance that is based on that snapshot. The create instance snapshot operation supports tag-based access control via request tags. For more information, see the Lightsail Dev Guide. + +Required Parameters +{ + "instanceSnapshotName": "The name for your new snapshot.", + "instanceName": "The Lightsail instance on which to base your snapshot." +} + +Optional Parameters +{ + "tags": "The tag keys and optional values to add to the resource during create. To tag a resource after it has been created, see the tag resource operation." +} +""" +CreateInstanceSnapshot(args) = lightsail("CreateInstanceSnapshot", args) + +""" + CreateDisk() + +Creates a block storage disk that can be attached to an Amazon Lightsail instance in the same Availability Zone (e.g., us-east-2a). The create disk operation supports tag-based access control via request tags. For more information, see the Lightsail Dev Guide. + +Required Parameters +{ + "diskName": "The unique Lightsail disk name (e.g., my-disk).", + "sizeInGb": "The size of the disk in GB (e.g., 32).", + "availabilityZone": "The Availability Zone where you want to create the disk (e.g., us-east-2a). Use the same Availability Zone as the Lightsail instance to which you want to attach the disk. Use the get regions operation to list the Availability Zones where Lightsail is currently available." +} + +Optional Parameters +{ + "addOns": "An array of objects that represent the add-ons to enable for the new disk.", + "tags": "The tag keys and optional values to add to the resource during create. To tag a resource after it has been created, see the tag resource operation." +} +""" +CreateDisk(args) = lightsail("CreateDisk", args) + +""" + GetDomains() + +Returns a list of all domains in the user's account. + +Optional Parameters +{ + "pageToken": "The token to advance to the next page of results from your request. To get a page token, perform an initial GetDomains request. If your results are paginated, the response will return a next page token that you can specify as the page token in a subsequent request." +} +""" +GetDomains() = lightsail("GetDomains") +GetDomains(args) = lightsail("GetDomains", args) + +""" + CreateDiskFromSnapshot() + +Creates a block storage disk from a manual or automatic snapshot of a disk. The resulting disk can be attached to an Amazon Lightsail instance in the same Availability Zone (e.g., us-east-2a). The create disk from snapshot operation supports tag-based access control via request tags and resource tags applied to the resource identified by disk snapshot name. For more information, see the Lightsail Dev Guide. + +Required Parameters +{ + "diskName": "The unique Lightsail disk name (e.g., my-disk).", + "sizeInGb": "The size of the disk in GB (e.g., 32).", + "availabilityZone": "The Availability Zone where you want to create the disk (e.g., us-east-2a). Choose the same Availability Zone as the Lightsail instance where you want to create the disk. Use the GetRegions operation to list the Availability Zones where Lightsail is currently available." +} + +Optional Parameters +{ + "useLatestRestorableAutoSnapshot": "A Boolean value to indicate whether to use the latest available automatic snapshot. Constraints: This parameter cannot be defined together with the restore date parameter. The use latest restorable auto snapshot and restore date parameters are mutually exclusive. Define this parameter only when creating a new disk from an automatic snapshot. For more information, see the Lightsail Dev Guide. ", + "diskSnapshotName": "The name of the disk snapshot (e.g., my-snapshot) from which to create the new storage disk. Constraint: This parameter cannot be defined together with the source disk name parameter. The disk snapshot name and source disk name parameters are mutually exclusive. ", + "restoreDate": "The date of the automatic snapshot to use for the new disk. Use the get auto snapshots operation to identify the dates of the available automatic snapshots. Constraints: Must be specified in YYYY-MM-DD format. This parameter cannot be defined together with the use latest restorable auto snapshot parameter. The restore date and use latest restorable auto snapshot parameters are mutually exclusive. Define this parameter only when creating a new disk from an automatic snapshot. For more information, see the Lightsail Dev Guide. ", + "sourceDiskName": "The name of the source disk from which the source automatic snapshot was created. Constraints: This parameter cannot be defined together with the disk snapshot name parameter. The source disk name and disk snapshot name parameters are mutually exclusive. Define this parameter only when creating a new disk from an automatic snapshot. For more information, see the Lightsail Dev Guide. ", + "addOns": "An array of objects that represent the add-ons to enable for the new disk.", + "tags": "The tag keys and optional values to add to the resource during create. To tag a resource after it has been created, see the tag resource operation." +} +""" +CreateDiskFromSnapshot(args) = lightsail("CreateDiskFromSnapshot", args) + +""" + GetInstanceMetricData() + +Returns the data points for the specified Amazon Lightsail instance metric, given an instance name. + +Required Parameters +{ + "startTime": "The start time of the time period.", + "statistics": "The statistic for the metric. The following statistics are available: Minimum — The lowest value observed during the specified period. Use this value to determine low volumes of activity for your application. Maximum — The highest value observed during the specified period. Use this value to determine high volumes of activity for your application. Sum — All values submitted for the matching metric added together. You can use this statistic to determine the total volume of a metric. Average — The value of Sum / SampleCount during the specified period. By comparing this statistic with the Minimum and Maximum values, you can determine the full scope of a metric and how close the average use is to the Minimum and Maximum values. This comparison helps you to know when to increase or decrease your resources. SampleCount — The count, or number, of data points used for the statistical calculation. ", + "metricName": "The metric for which you want to return information. Valid instance metric names are listed below, along with the most useful statistics to include in your request, and the published unit value. CPUUtilization — The percentage of allocated compute units that are currently in use on the instance. This metric identifies the processing power to run the applications on the instance. Tools in your operating system can show a lower percentage than Lightsail when the instance is not allocated a full processor core. Statistics: The most useful statistics are Maximum and Average. Unit: The published unit is Percent. NetworkIn — The number of bytes received on all network interfaces by the instance. This metric identifies the volume of incoming network traffic to the instance. The number reported is the number of bytes received during the period. Because this metric is reported in 5-minute intervals, divide the reported number by 300 to find Bytes/second. Statistics: The most useful statistic is Sum. Unit: The published unit is Bytes. NetworkOut — The number of bytes sent out on all network interfaces by the instance. This metric identifies the volume of outgoing network traffic from the instance. The number reported is the number of bytes sent during the period. Because this metric is reported in 5-minute intervals, divide the reported number by 300 to find Bytes/second. Statistics: The most useful statistic is Sum. Unit: The published unit is Bytes. StatusCheckFailed — Reports whether the instance passed or failed both the instance status check and the system status check. This metric can be either 0 (passed) or 1 (failed). This metric data is available in 1-minute (60 seconds) granularity. Statistics: The most useful statistic is Sum. Unit: The published unit is Count. StatusCheckFailed_Instance — Reports whether the instance passed or failed the instance status check. This metric can be either 0 (passed) or 1 (failed). This metric data is available in 1-minute (60 seconds) granularity. Statistics: The most useful statistic is Sum. Unit: The published unit is Count. StatusCheckFailed_System — Reports whether the instance passed or failed the system status check. This metric can be either 0 (passed) or 1 (failed). This metric data is available in 1-minute (60 seconds) granularity. Statistics: The most useful statistic is Sum. Unit: The published unit is Count. ", + "period": "The granularity, in seconds, of the returned data points. The StatusCheckFailed, StatusCheckFailed_Instance, and StatusCheckFailed_System instance metric data is available in 1-minute (60 seconds) granularity. All other instance metric data is available in 5-minute (300 seconds) granularity.", + "instanceName": "The name of the instance for which you want to get metrics data.", + "unit": "The unit for the metric data request. Valid units depend on the metric data being required. For the valid units with each available metric, see the metricName parameter.", + "endTime": "The end time of the time period." +} +""" +GetInstanceMetricData(args) = lightsail("GetInstanceMetricData", args) + +""" + DeleteContactMethod() + +Deletes a contact method. A contact method is used to send you notifications about your Amazon Lightsail resources. You can add one email address and one mobile phone number contact method in each AWS Region. However, SMS text messaging is not supported in some AWS Regions, and SMS text messages cannot be sent to some countries/regions. For more information, see Notifications in Amazon Lightsail. + +Required Parameters +{ + "protocol": "The protocol that will be deleted, such as Email or SMS (text messaging). To delete an Email and an SMS contact method if you added both, you must run separate DeleteContactMethod actions to delete each protocol. " +} +""" +DeleteContactMethod(args) = lightsail("DeleteContactMethod", args) + +""" + GetInstanceAccessDetails() + +Returns temporary SSH keys you can use to connect to a specific virtual private server, or instance. The get instance access details operation supports tag-based access control via resource tags applied to the resource identified by instance name. For more information, see the Lightsail Dev Guide. + +Required Parameters +{ + "instanceName": "The name of the instance to access." +} + +Optional Parameters +{ + "protocol": "The protocol to use to connect to your instance. Defaults to ssh." +} +""" +GetInstanceAccessDetails(args) = lightsail("GetInstanceAccessDetails", args) + +""" + GetDomain() + +Returns information about a specific domain recordset. + +Required Parameters +{ + "domainName": "The domain name for which your want to return information about." +} +""" +GetDomain(args) = lightsail("GetDomain", args) + +""" + StopRelationalDatabase() + +Stops a specific database that is currently running in Amazon Lightsail. The stop relational database operation supports tag-based access control via resource tags applied to the resource identified by relationalDatabaseName. For more information, see the Lightsail Dev Guide. + +Required Parameters +{ + "relationalDatabaseName": "The name of your database to stop." +} + +Optional Parameters +{ + "relationalDatabaseSnapshotName": "The name of your new database snapshot to be created before stopping your database." +} +""" +StopRelationalDatabase(args) = lightsail("StopRelationalDatabase", args) + +""" + GetDisks() + +Returns information about all block storage disks in your AWS account and region. + +Optional Parameters +{ + "pageToken": "The token to advance to the next page of results from your request. To get a page token, perform an initial GetDisks request. If your results are paginated, the response will return a next page token that you can specify as the page token in a subsequent request." +} +""" +GetDisks() = lightsail("GetDisks") +GetDisks(args) = lightsail("GetDisks", args) + +""" + PutAlarm() + +Creates or updates an alarm, and associates it with the specified metric. An alarm is used to monitor a single metric for one of your resources. When a metric condition is met, the alarm can notify you by email, SMS text message, and a banner displayed on the Amazon Lightsail console. For more information, see Alarms in Amazon Lightsail. When this action creates an alarm, the alarm state is immediately set to INSUFFICIENT_DATA. The alarm is then evaluated and its state is set appropriately. Any actions associated with the new state are then executed. When you update an existing alarm, its state is left unchanged, but the update completely overwrites the previous configuration of the alarm. The alarm is then evaluated with the updated configuration. + +Required Parameters +{ + "metricName": "The name of the metric to associate with the alarm. You can configure up to two alarms per metric. The following metrics are available for each resource type: Instances: CPUUtilization, NetworkIn, NetworkOut, StatusCheckFailed, StatusCheckFailed_Instance, and StatusCheckFailed_System. Load balancers: ClientTLSNegotiationErrorCount, HealthyHostCount, UnhealthyHostCount, HTTPCode_LB_4XX_Count, HTTPCode_LB_5XX_Count, HTTPCode_Instance_2XX_Count, HTTPCode_Instance_3XX_Count, HTTPCode_Instance_4XX_Count, HTTPCode_Instance_5XX_Count, InstanceResponseTime, RejectedConnectionCount, and RequestCount. Relational databases: CPUUtilization, DatabaseConnections, DiskQueueDepth, FreeStorageSpace, NetworkReceiveThroughput, and NetworkTransmitThroughput. ", + "monitoredResourceName": "The name of the Lightsail resource that will be monitored. Instances, load balancers, and relational databases are the only Lightsail resources that can currently be monitored by alarms.", + "threshold": "The value against which the specified statistic is compared.", + "alarmName": "The name for the alarm. Specify the name of an existing alarm to update, and overwrite the previous configuration of the alarm.", + "evaluationPeriods": "The number of most recent periods over which data is compared to the specified threshold. If you are setting an \"M out of N\" alarm, this value (evaluationPeriods) is the N. If you are setting an alarm that requires that a number of consecutive data points be breaching to trigger the alarm, this value specifies the rolling period of time in which data points are evaluated. Each evaluation period is five minutes long. For example, specify an evaluation period of 24 to evaluate a metric over a rolling period of two hours. You can specify a minimum valuation period of 1 (5 minutes), and a maximum evaluation period of 288 (24 hours).", + "comparisonOperator": "The arithmetic operation to use when comparing the specified statistic to the threshold. The specified statistic value is used as the first operand." +} + +Optional Parameters +{ + "notificationTriggers": "The alarm states that trigger a notification. An alarm has the following possible states: ALARM — The metric is outside of the defined threshold. INSUFFICIENT_DATA — The alarm has just started, the metric is not available, or not enough data is available for the metric to determine the alarm state. OK — The metric is within the defined threshold. When you specify a notification trigger, the ALARM state must be specified. The INSUFFICIENT_DATA and OK states can be specified in addition to the ALARM state. If you specify OK as an alarm trigger, a notification is sent when the alarm switches from an ALARM or INSUFFICIENT_DATA alarm state to an OK state. This can be thought of as an all clear alarm notification. If you specify INSUFFICIENT_DATA as the alarm trigger, a notification is sent when the alarm switches from an OK or ALARM alarm state to an INSUFFICIENT_DATA state. The notification trigger defaults to ALARM if you don't specify this parameter.", + "datapointsToAlarm": "The number of data points that must be not within the specified threshold to trigger the alarm. If you are setting an \"M out of N\" alarm, this value (datapointsToAlarm) is the M.", + "contactProtocols": "The contact protocols to use for the alarm, such as Email, SMS (text messaging), or both. A notification is sent via the specified contact protocol if notifications are enabled for the alarm, and when the alarm is triggered. A notification is not sent if a contact protocol is not specified, if the specified contact protocol is not configured in the AWS Region, or if notifications are not enabled for the alarm using the notificationEnabled paramater. Use the CreateContactMethod action to configure a contact protocol in an AWS Region.", + "notificationEnabled": "Indicates whether the alarm is enabled. Notifications are enabled by default if you don't specify this parameter.", + "treatMissingData": "Sets how this alarm will handle missing data points. An alarm can treat missing data in the following ways: breaching — Assume the missing data is not within the threshold. Missing data counts towards the number of times the metric is not within the threshold. notBreaching — Assume the missing data is within the threshold. Missing data does not count towards the number of times the metric is not within the threshold. ignore — Ignore the missing data. Maintains the current alarm state. missing — Missing data is treated as missing. If treatMissingData is not specified, the default behavior of missing is used." +} +""" +PutAlarm(args) = lightsail("PutAlarm", args) + +""" + AttachLoadBalancerTlsCertificate() + +Attaches a Transport Layer Security (TLS) certificate to your load balancer. TLS is just an updated, more secure version of Secure Socket Layer (SSL). Once you create and validate your certificate, you can attach it to your load balancer. You can also use this API to rotate the certificates on your account. Use the AttachLoadBalancerTlsCertificate action with the non-attached certificate, and it will replace the existing one and become the attached certificate. The AttachLoadBalancerTlsCertificate operation supports tag-based access control via resource tags applied to the resource identified by load balancer name. For more information, see the Lightsail Dev Guide. + +Required Parameters +{ + "loadBalancerName": "The name of the load balancer to which you want to associate the SSL/TLS certificate.", + "certificateName": "The name of your SSL/TLS certificate." +} +""" +AttachLoadBalancerTlsCertificate(args) = lightsail("AttachLoadBalancerTlsCertificate", args) + +""" + RebootRelationalDatabase() + +Restarts a specific database in Amazon Lightsail. The reboot relational database operation supports tag-based access control via resource tags applied to the resource identified by relationalDatabaseName. For more information, see the Lightsail Dev Guide. + +Required Parameters +{ + "relationalDatabaseName": "The name of your database to reboot." +} +""" +RebootRelationalDatabase(args) = lightsail("RebootRelationalDatabase", args) + +""" + CreateDiskSnapshot() + +Creates a snapshot of a block storage disk. You can use snapshots for backups, to make copies of disks, and to save data before shutting down a Lightsail instance. You can take a snapshot of an attached disk that is in use; however, snapshots only capture data that has been written to your disk at the time the snapshot command is issued. This may exclude any data that has been cached by any applications or the operating system. If you can pause any file systems on the disk long enough to take a snapshot, your snapshot should be complete. Nevertheless, if you cannot pause all file writes to the disk, you should unmount the disk from within the Lightsail instance, issue the create disk snapshot command, and then remount the disk to ensure a consistent and complete snapshot. You may remount and use your disk while the snapshot status is pending. You can also use this operation to create a snapshot of an instance's system volume. You might want to do this, for example, to recover data from the system volume of a botched instance or to create a backup of the system volume like you would for a block storage disk. To create a snapshot of a system volume, just define the instance name parameter when issuing the snapshot command, and a snapshot of the defined instance's system volume will be created. After the snapshot is available, you can create a block storage disk from the snapshot and attach it to a running instance to access the data on the disk. The create disk snapshot operation supports tag-based access control via request tags. For more information, see the Lightsail Dev Guide. + +Required Parameters +{ + "diskSnapshotName": "The name of the destination disk snapshot (e.g., my-disk-snapshot) based on the source disk." +} + +Optional Parameters +{ + "diskName": "The unique name of the source disk (e.g., Disk-Virginia-1). This parameter cannot be defined together with the instance name parameter. The disk name and instance name parameters are mutually exclusive. ", + "instanceName": "The unique name of the source instance (e.g., Amazon_Linux-512MB-Virginia-1). When this is defined, a snapshot of the instance's system volume is created. This parameter cannot be defined together with the disk name parameter. The instance name and disk name parameters are mutually exclusive. ", + "tags": "The tag keys and optional values to add to the resource during create. To tag a resource after it has been created, see the tag resource operation." +} +""" +CreateDiskSnapshot(args) = lightsail("CreateDiskSnapshot", args) + +""" + DisableAddOn() + +Disables an add-on for an Amazon Lightsail resource. For more information, see the Lightsail Dev Guide. + +Required Parameters +{ + "addOnType": "The add-on type to disable.", + "resourceName": "The name of the source resource for which to disable the add-on." +} +""" +DisableAddOn(args) = lightsail("DisableAddOn", args) diff --git a/src/services/machine_learning.jl b/src/services/machine_learning.jl new file mode 100644 index 0000000000..b4be313554 --- /dev/null +++ b/src/services/machine_learning.jl @@ -0,0 +1,456 @@ +include("../AWSServices.jl") +using .AWSServices: machine_learning + +""" + Predict() + +Generates a prediction for the observation using the specified ML Model. Note Not all response parameters will be populated. Whether a response parameter is populated depends on the type of model requested. + +Required Parameters +{ + "PredictEndpoint": "", + "MLModelId": "A unique identifier of the MLModel.", + "Record": "" +} +""" +Predict(args) = machine_learning("Predict", args) + +""" + DeleteBatchPrediction() + +Assigns the DELETED status to a BatchPrediction, rendering it unusable. After using the DeleteBatchPrediction operation, you can use the GetBatchPrediction operation to verify that the status of the BatchPrediction changed to DELETED. Caution: The result of the DeleteBatchPrediction operation is irreversible. + +Required Parameters +{ + "BatchPredictionId": "A user-supplied ID that uniquely identifies the BatchPrediction." +} +""" +DeleteBatchPrediction(args) = machine_learning("DeleteBatchPrediction", args) + +""" + UpdateEvaluation() + +Updates the EvaluationName of an Evaluation. You can use the GetEvaluation operation to view the contents of the updated data element. + +Required Parameters +{ + "EvaluationName": "A new user-supplied name or description of the Evaluation that will replace the current content. ", + "EvaluationId": "The ID assigned to the Evaluation during creation." +} +""" +UpdateEvaluation(args) = machine_learning("UpdateEvaluation", args) + +""" + DeleteDataSource() + +Assigns the DELETED status to a DataSource, rendering it unusable. After using the DeleteDataSource operation, you can use the GetDataSource operation to verify that the status of the DataSource changed to DELETED. Caution: The results of the DeleteDataSource operation are irreversible. + +Required Parameters +{ + "DataSourceId": "A user-supplied ID that uniquely identifies the DataSource." +} +""" +DeleteDataSource(args) = machine_learning("DeleteDataSource", args) + +""" + GetMLModel() + +Returns an MLModel that includes detailed metadata, data source information, and the current status of the MLModel. GetMLModel provides results in normal or verbose format. + +Required Parameters +{ + "MLModelId": "The ID assigned to the MLModel at creation." +} + +Optional Parameters +{ + "Verbose": "Specifies whether the GetMLModel operation should return Recipe. If true, Recipe is returned. If false, Recipe is not returned." +} +""" +GetMLModel(args) = machine_learning("GetMLModel", args) + +""" + DeleteRealtimeEndpoint() + +Deletes a real time endpoint of an MLModel. + +Required Parameters +{ + "MLModelId": "The ID assigned to the MLModel during creation." +} +""" +DeleteRealtimeEndpoint(args) = machine_learning("DeleteRealtimeEndpoint", args) + +""" + CreateEvaluation() + +Creates a new Evaluation of an MLModel. An MLModel is evaluated on a set of observations associated to a DataSource. Like a DataSource for an MLModel, the DataSource for an Evaluation contains values for the Target Variable. The Evaluation compares the predicted result for each observation to the actual outcome and provides a summary so that you know how effective the MLModel functions on the test data. Evaluation generates a relevant performance metric, such as BinaryAUC, RegressionRMSE or MulticlassAvgFScore based on the corresponding MLModelType: BINARY, REGRESSION or MULTICLASS. CreateEvaluation is an asynchronous operation. In response to CreateEvaluation, Amazon Machine Learning (Amazon ML) immediately returns and sets the evaluation status to PENDING. After the Evaluation is created and ready for use, Amazon ML sets the status to COMPLETED. You can use the GetEvaluation operation to check progress of the evaluation during the creation operation. + +Required Parameters +{ + "EvaluationDataSourceId": "The ID of the DataSource for the evaluation. The schema of the DataSource must match the schema used to create the MLModel.", + "EvaluationId": "A user-supplied ID that uniquely identifies the Evaluation.", + "MLModelId": "The ID of the MLModel to evaluate. The schema used in creating the MLModel must match the schema of the DataSource used in the Evaluation." +} + +Optional Parameters +{ + "EvaluationName": "A user-supplied name or description of the Evaluation." +} +""" +CreateEvaluation(args) = machine_learning("CreateEvaluation", args) + +""" + CreateRealtimeEndpoint() + +Creates a real-time endpoint for the MLModel. The endpoint contains the URI of the MLModel; that is, the location to send real-time prediction requests for the specified MLModel. + +Required Parameters +{ + "MLModelId": "The ID assigned to the MLModel during creation." +} +""" +CreateRealtimeEndpoint(args) = machine_learning("CreateRealtimeEndpoint", args) + +""" + DeleteMLModel() + +Assigns the DELETED status to an MLModel, rendering it unusable. After using the DeleteMLModel operation, you can use the GetMLModel operation to verify that the status of the MLModel changed to DELETED. Caution: The result of the DeleteMLModel operation is irreversible. + +Required Parameters +{ + "MLModelId": "A user-supplied ID that uniquely identifies the MLModel." +} +""" +DeleteMLModel(args) = machine_learning("DeleteMLModel", args) + +""" + DescribeTags() + +Describes one or more of the tags for your Amazon ML object. + +Required Parameters +{ + "ResourceType": "The type of the ML object.", + "ResourceId": "The ID of the ML object. For example, exampleModelId. " +} +""" +DescribeTags(args) = machine_learning("DescribeTags", args) + +""" + GetDataSource() + +Returns a DataSource that includes metadata and data file information, as well as the current status of the DataSource. GetDataSource provides results in normal or verbose format. The verbose format adds the schema description and the list of files pointed to by the DataSource to the normal format. + +Required Parameters +{ + "DataSourceId": "The ID assigned to the DataSource at creation." +} + +Optional Parameters +{ + "Verbose": "Specifies whether the GetDataSource operation should return DataSourceSchema. If true, DataSourceSchema is returned. If false, DataSourceSchema is not returned." +} +""" +GetDataSource(args) = machine_learning("GetDataSource", args) + +""" + UpdateMLModel() + +Updates the MLModelName and the ScoreThreshold of an MLModel. You can use the GetMLModel operation to view the contents of the updated data element. + +Required Parameters +{ + "MLModelId": "The ID assigned to the MLModel during creation." +} + +Optional Parameters +{ + "ScoreThreshold": "The ScoreThreshold used in binary classification MLModel that marks the boundary between a positive prediction and a negative prediction. Output values greater than or equal to the ScoreThreshold receive a positive result from the MLModel, such as true. Output values less than the ScoreThreshold receive a negative response from the MLModel, such as false.", + "MLModelName": "A user-supplied name or description of the MLModel." +} +""" +UpdateMLModel(args) = machine_learning("UpdateMLModel", args) + +""" + CreateDataSourceFromRDS() + +Creates a DataSource object from an Amazon Relational Database Service (Amazon RDS). A DataSource references data that can be used to perform CreateMLModel, CreateEvaluation, or CreateBatchPrediction operations. CreateDataSourceFromRDS is an asynchronous operation. In response to CreateDataSourceFromRDS, Amazon Machine Learning (Amazon ML) immediately returns and sets the DataSource status to PENDING. After the DataSource is created and ready for use, Amazon ML sets the Status parameter to COMPLETED. DataSource in the COMPLETED or PENDING state can be used only to perform >CreateMLModel>, CreateEvaluation, or CreateBatchPrediction operations. If Amazon ML cannot accept the input source, it sets the Status parameter to FAILED and includes an error message in the Message attribute of the GetDataSource operation response. + +Required Parameters +{ + "RDSData": "The data specification of an Amazon RDS DataSource: DatabaseInformation - DatabaseName - The name of the Amazon RDS database. InstanceIdentifier - A unique identifier for the Amazon RDS database instance. DatabaseCredentials - AWS Identity and Access Management (IAM) credentials that are used to connect to the Amazon RDS database. ResourceRole - A role (DataPipelineDefaultResourceRole) assumed by an EC2 instance to carry out the copy task from Amazon RDS to Amazon Simple Storage Service (Amazon S3). For more information, see Role templates for data pipelines. ServiceRole - A role (DataPipelineDefaultRole) assumed by the AWS Data Pipeline service to monitor the progress of the copy task from Amazon RDS to Amazon S3. For more information, see Role templates for data pipelines. SecurityInfo - The security information to use to access an RDS DB instance. You need to set up appropriate ingress rules for the security entity IDs provided to allow access to the Amazon RDS instance. Specify a [SubnetId, SecurityGroupIds] pair for a VPC-based RDS DB instance. SelectSqlQuery - A query that is used to retrieve the observation data for the Datasource. S3StagingLocation - The Amazon S3 location for staging Amazon RDS data. The data retrieved from Amazon RDS using SelectSqlQuery is stored in this location. DataSchemaUri - The Amazon S3 location of the DataSchema. DataSchema - A JSON string representing the schema. This is not required if DataSchemaUri is specified. DataRearrangement - A JSON string that represents the splitting and rearrangement requirements for the Datasource. Sample - \"{ \"splitting \":{ \"percentBegin \":10, \"percentEnd \":60}}\" ", + "DataSourceId": "A user-supplied ID that uniquely identifies the DataSource. Typically, an Amazon Resource Number (ARN) becomes the ID for a DataSource.", + "RoleARN": "The role that Amazon ML assumes on behalf of the user to create and activate a data pipeline in the user's account and copy data using the SelectSqlQuery query from Amazon RDS to Amazon S3. " +} + +Optional Parameters +{ + "DataSourceName": "A user-supplied name or description of the DataSource.", + "ComputeStatistics": "The compute statistics for a DataSource. The statistics are generated from the observation data referenced by a DataSource. Amazon ML uses the statistics internally during MLModel training. This parameter must be set to true if the DataSource needs to be used for MLModel training. " +} +""" +CreateDataSourceFromRDS(args) = machine_learning("CreateDataSourceFromRDS", args) + +""" + DescribeEvaluations() + +Returns a list of DescribeEvaluations that match the search criteria in the request. + +Optional Parameters +{ + "EQ": "The equal to operator. The Evaluation results will have FilterVariable values that exactly match the value specified with EQ.", + "NE": "The not equal to operator. The Evaluation results will have FilterVariable values not equal to the value specified with NE.", + "Limit": " The maximum number of Evaluation to include in the result.", + "FilterVariable": "Use one of the following variable to filter a list of Evaluation objects: CreatedAt - Sets the search criteria to the Evaluation creation date. Status - Sets the search criteria to the Evaluation status. Name - Sets the search criteria to the contents of Evaluation Name. IAMUser - Sets the search criteria to the user account that invoked an Evaluation. MLModelId - Sets the search criteria to the MLModel that was evaluated. DataSourceId - Sets the search criteria to the DataSource used in Evaluation. DataUri - Sets the search criteria to the data file(s) used in Evaluation. The URL can identify either a file or an Amazon Simple Storage Solution (Amazon S3) bucket or directory. ", + "SortOrder": "A two-value parameter that determines the sequence of the resulting list of Evaluation. asc - Arranges the list in ascending order (A-Z, 0-9). dsc - Arranges the list in descending order (Z-A, 9-0). Results are sorted by FilterVariable.", + "GE": "The greater than or equal to operator. The Evaluation results will have FilterVariable values that are greater than or equal to the value specified with GE. ", + "LE": "The less than or equal to operator. The Evaluation results will have FilterVariable values that are less than or equal to the value specified with LE.", + "LT": "The less than operator. The Evaluation results will have FilterVariable values that are less than the value specified with LT.", + "Prefix": "A string that is found at the beginning of a variable, such as Name or Id. For example, an Evaluation could have the Name 2014-09-09-HolidayGiftMailer. To search for this Evaluation, select Name for the FilterVariable and any of the following strings for the Prefix: 2014-09 2014-09-09 2014-09-09-Holiday ", + "GT": "The greater than operator. The Evaluation results will have FilterVariable values that are greater than the value specified with GT.", + "NextToken": "The ID of the page in the paginated results." +} +""" +DescribeEvaluations() = machine_learning("DescribeEvaluations") +DescribeEvaluations(args) = machine_learning("DescribeEvaluations", args) + +""" + CreateMLModel() + +Creates a new MLModel using the DataSource and the recipe as information sources. An MLModel is nearly immutable. Users can update only the MLModelName and the ScoreThreshold in an MLModel without creating a new MLModel. CreateMLModel is an asynchronous operation. In response to CreateMLModel, Amazon Machine Learning (Amazon ML) immediately returns and sets the MLModel status to PENDING. After the MLModel has been created and ready is for use, Amazon ML sets the status to COMPLETED. You can use the GetMLModel operation to check the progress of the MLModel during the creation operation. CreateMLModel requires a DataSource with computed statistics, which can be created by setting ComputeStatistics to true in CreateDataSourceFromRDS, CreateDataSourceFromS3, or CreateDataSourceFromRedshift operations. + +Required Parameters +{ + "MLModelType": "The category of supervised learning that this MLModel will address. Choose from the following types: Choose REGRESSION if the MLModel will be used to predict a numeric value. Choose BINARY if the MLModel result has two possible values. Choose MULTICLASS if the MLModel result has a limited number of values. For more information, see the Amazon Machine Learning Developer Guide.", + "TrainingDataSourceId": "The DataSource that points to the training data.", + "MLModelId": "A user-supplied ID that uniquely identifies the MLModel." +} + +Optional Parameters +{ + "Recipe": "The data recipe for creating the MLModel. You must specify either the recipe or its URI. If you don't specify a recipe or its URI, Amazon ML creates a default.", + "Parameters": "A list of the training parameters in the MLModel. The list is implemented as a map of key-value pairs. The following is the current set of training parameters: sgd.maxMLModelSizeInBytes - The maximum allowed size of the model. Depending on the input data, the size of the model might affect its performance. The value is an integer that ranges from 100000 to 2147483648. The default value is 33554432. sgd.maxPasses - The number of times that the training process traverses the observations to build the MLModel. The value is an integer that ranges from 1 to 10000. The default value is 10. sgd.shuffleType - Whether Amazon ML shuffles the training data. Shuffling the data improves a model's ability to find the optimal solution for a variety of data types. The valid values are auto and none. The default value is none. We strongly recommend that you shuffle your data. sgd.l1RegularizationAmount - The coefficient regularization L1 norm. It controls overfitting the data by penalizing large coefficients. This tends to drive coefficients to zero, resulting in a sparse feature set. If you use this parameter, start by specifying a small value, such as 1.0E-08. The value is a double that ranges from 0 to MAX_DOUBLE. The default is to not use L1 normalization. This parameter can't be used when L2 is specified. Use this parameter sparingly. sgd.l2RegularizationAmount - The coefficient regularization L2 norm. It controls overfitting the data by penalizing large coefficients. This tends to drive coefficients to small, nonzero values. If you use this parameter, start by specifying a small value, such as 1.0E-08. The value is a double that ranges from 0 to MAX_DOUBLE. The default is to not use L2 normalization. This parameter can't be used when L1 is specified. Use this parameter sparingly. ", + "MLModelName": "A user-supplied name or description of the MLModel.", + "RecipeUri": "The Amazon Simple Storage Service (Amazon S3) location and file name that contains the MLModel recipe. You must specify either the recipe or its URI. If you don't specify a recipe or its URI, Amazon ML creates a default." +} +""" +CreateMLModel(args) = machine_learning("CreateMLModel", args) + +""" + DescribeBatchPredictions() + +Returns a list of BatchPrediction operations that match the search criteria in the request. + +Optional Parameters +{ + "EQ": "The equal to operator. The BatchPrediction results will have FilterVariable values that exactly match the value specified with EQ.", + "NE": "The not equal to operator. The BatchPrediction results will have FilterVariable values not equal to the value specified with NE.", + "Limit": "The number of pages of information to include in the result. The range of acceptable values is 1 through 100. The default value is 100.", + "FilterVariable": "Use one of the following variables to filter a list of BatchPrediction: CreatedAt - Sets the search criteria to the BatchPrediction creation date. Status - Sets the search criteria to the BatchPrediction status. Name - Sets the search criteria to the contents of the BatchPrediction Name. IAMUser - Sets the search criteria to the user account that invoked the BatchPrediction creation. MLModelId - Sets the search criteria to the MLModel used in the BatchPrediction. DataSourceId - Sets the search criteria to the DataSource used in the BatchPrediction. DataURI - Sets the search criteria to the data file(s) used in the BatchPrediction. The URL can identify either a file or an Amazon Simple Storage Solution (Amazon S3) bucket or directory. ", + "SortOrder": "A two-value parameter that determines the sequence of the resulting list of MLModels. asc - Arranges the list in ascending order (A-Z, 0-9). dsc - Arranges the list in descending order (Z-A, 9-0). Results are sorted by FilterVariable.", + "GE": "The greater than or equal to operator. The BatchPrediction results will have FilterVariable values that are greater than or equal to the value specified with GE. ", + "LE": "The less than or equal to operator. The BatchPrediction results will have FilterVariable values that are less than or equal to the value specified with LE.", + "LT": "The less than operator. The BatchPrediction results will have FilterVariable values that are less than the value specified with LT.", + "Prefix": "A string that is found at the beginning of a variable, such as Name or Id. For example, a Batch Prediction operation could have the Name 2014-09-09-HolidayGiftMailer. To search for this BatchPrediction, select Name for the FilterVariable and any of the following strings for the Prefix: 2014-09 2014-09-09 2014-09-09-Holiday ", + "GT": "The greater than operator. The BatchPrediction results will have FilterVariable values that are greater than the value specified with GT.", + "NextToken": "An ID of the page in the paginated results." +} +""" +DescribeBatchPredictions() = machine_learning("DescribeBatchPredictions") +DescribeBatchPredictions(args) = machine_learning("DescribeBatchPredictions", args) + +""" + CreateDataSourceFromS3() + +Creates a DataSource object. A DataSource references data that can be used to perform CreateMLModel, CreateEvaluation, or CreateBatchPrediction operations. CreateDataSourceFromS3 is an asynchronous operation. In response to CreateDataSourceFromS3, Amazon Machine Learning (Amazon ML) immediately returns and sets the DataSource status to PENDING. After the DataSource has been created and is ready for use, Amazon ML sets the Status parameter to COMPLETED. DataSource in the COMPLETED or PENDING state can be used to perform only CreateMLModel, CreateEvaluation or CreateBatchPrediction operations. If Amazon ML can't accept the input source, it sets the Status parameter to FAILED and includes an error message in the Message attribute of the GetDataSource operation response. The observation data used in a DataSource should be ready to use; that is, it should have a consistent structure, and missing data values should be kept to a minimum. The observation data must reside in one or more .csv files in an Amazon Simple Storage Service (Amazon S3) location, along with a schema that describes the data items by name and type. The same schema must be used for all of the data files referenced by the DataSource. After the DataSource has been created, it's ready to use in evaluations and batch predictions. If you plan to use the DataSource to train an MLModel, the DataSource also needs a recipe. A recipe describes how each input variable will be used in training an MLModel. Will the variable be included or excluded from training? Will the variable be manipulated; for example, will it be combined with another variable or will it be split apart into word combinations? The recipe provides answers to these questions. + +Required Parameters +{ + "DataSpec": "The data specification of a DataSource: DataLocationS3 - The Amazon S3 location of the observation data. DataSchemaLocationS3 - The Amazon S3 location of the DataSchema. DataSchema - A JSON string representing the schema. This is not required if DataSchemaUri is specified. DataRearrangement - A JSON string that represents the splitting and rearrangement requirements for the Datasource. Sample - \"{ \"splitting \":{ \"percentBegin \":10, \"percentEnd \":60}}\" ", + "DataSourceId": "A user-supplied identifier that uniquely identifies the DataSource. " +} + +Optional Parameters +{ + "DataSourceName": "A user-supplied name or description of the DataSource. ", + "ComputeStatistics": "The compute statistics for a DataSource. The statistics are generated from the observation data referenced by a DataSource. Amazon ML uses the statistics internally during MLModel training. This parameter must be set to true if the DataSource needs to be used for MLModel training." +} +""" +CreateDataSourceFromS3(args) = machine_learning("CreateDataSourceFromS3", args) + +""" + DescribeMLModels() + +Returns a list of MLModel that match the search criteria in the request. + +Optional Parameters +{ + "EQ": "The equal to operator. The MLModel results will have FilterVariable values that exactly match the value specified with EQ.", + "NE": "The not equal to operator. The MLModel results will have FilterVariable values not equal to the value specified with NE.", + "Limit": "The number of pages of information to include in the result. The range of acceptable values is 1 through 100. The default value is 100.", + "FilterVariable": "Use one of the following variables to filter a list of MLModel: CreatedAt - Sets the search criteria to MLModel creation date. Status - Sets the search criteria to MLModel status. Name - Sets the search criteria to the contents of MLModel Name. IAMUser - Sets the search criteria to the user account that invoked the MLModel creation. TrainingDataSourceId - Sets the search criteria to the DataSource used to train one or more MLModel. RealtimeEndpointStatus - Sets the search criteria to the MLModel real-time endpoint status. MLModelType - Sets the search criteria to MLModel type: binary, regression, or multi-class. Algorithm - Sets the search criteria to the algorithm that the MLModel uses. TrainingDataURI - Sets the search criteria to the data file(s) used in training a MLModel. The URL can identify either a file or an Amazon Simple Storage Service (Amazon S3) bucket or directory. ", + "SortOrder": "A two-value parameter that determines the sequence of the resulting list of MLModel. asc - Arranges the list in ascending order (A-Z, 0-9). dsc - Arranges the list in descending order (Z-A, 9-0). Results are sorted by FilterVariable.", + "GE": "The greater than or equal to operator. The MLModel results will have FilterVariable values that are greater than or equal to the value specified with GE. ", + "LE": "The less than or equal to operator. The MLModel results will have FilterVariable values that are less than or equal to the value specified with LE.", + "LT": "The less than operator. The MLModel results will have FilterVariable values that are less than the value specified with LT.", + "Prefix": "A string that is found at the beginning of a variable, such as Name or Id. For example, an MLModel could have the Name 2014-09-09-HolidayGiftMailer. To search for this MLModel, select Name for the FilterVariable and any of the following strings for the Prefix: 2014-09 2014-09-09 2014-09-09-Holiday ", + "GT": "The greater than operator. The MLModel results will have FilterVariable values that are greater than the value specified with GT.", + "NextToken": "The ID of the page in the paginated results." +} +""" +DescribeMLModels() = machine_learning("DescribeMLModels") +DescribeMLModels(args) = machine_learning("DescribeMLModels", args) + +""" + GetEvaluation() + +Returns an Evaluation that includes metadata as well as the current status of the Evaluation. + +Required Parameters +{ + "EvaluationId": "The ID of the Evaluation to retrieve. The evaluation of each MLModel is recorded and cataloged. The ID provides the means to access the information. " +} +""" +GetEvaluation(args) = machine_learning("GetEvaluation", args) + +""" + DeleteEvaluation() + +Assigns the DELETED status to an Evaluation, rendering it unusable. After invoking the DeleteEvaluation operation, you can use the GetEvaluation operation to verify that the status of the Evaluation changed to DELETED. Caution The results of the DeleteEvaluation operation are irreversible. + +Required Parameters +{ + "EvaluationId": "A user-supplied ID that uniquely identifies the Evaluation to delete." +} +""" +DeleteEvaluation(args) = machine_learning("DeleteEvaluation", args) + +""" + CreateBatchPrediction() + +Generates predictions for a group of observations. The observations to process exist in one or more data files referenced by a DataSource. This operation creates a new BatchPrediction, and uses an MLModel and the data files referenced by the DataSource as information sources. CreateBatchPrediction is an asynchronous operation. In response to CreateBatchPrediction, Amazon Machine Learning (Amazon ML) immediately returns and sets the BatchPrediction status to PENDING. After the BatchPrediction completes, Amazon ML sets the status to COMPLETED. You can poll for status updates by using the GetBatchPrediction operation and checking the Status parameter of the result. After the COMPLETED status appears, the results are available in the location specified by the OutputUri parameter. + +Required Parameters +{ + "BatchPredictionDataSourceId": "The ID of the DataSource that points to the group of observations to predict.", + "BatchPredictionId": "A user-supplied ID that uniquely identifies the BatchPrediction.", + "MLModelId": "The ID of the MLModel that will generate predictions for the group of observations. ", + "OutputUri": "The location of an Amazon Simple Storage Service (Amazon S3) bucket or directory to store the batch prediction results. The following substrings are not allowed in the s3 key portion of the outputURI field: ':', '//', '/./', '/../'. Amazon ML needs permissions to store and retrieve the logs on your behalf. For information about how to set permissions, see the Amazon Machine Learning Developer Guide." +} + +Optional Parameters +{ + "BatchPredictionName": "A user-supplied name or description of the BatchPrediction. BatchPredictionName can only use the UTF-8 character set." +} +""" +CreateBatchPrediction(args) = machine_learning("CreateBatchPrediction", args) + +""" + DeleteTags() + +Deletes the specified tags associated with an ML object. After this operation is complete, you can't recover deleted tags. If you specify a tag that doesn't exist, Amazon ML ignores it. + +Required Parameters +{ + "ResourceType": "The type of the tagged ML object.", + "ResourceId": "The ID of the tagged ML object. For example, exampleModelId.", + "TagKeys": "One or more tags to delete." +} +""" +DeleteTags(args) = machine_learning("DeleteTags", args) + +""" + CreateDataSourceFromRedshift() + +Creates a DataSource from a database hosted on an Amazon Redshift cluster. A DataSource references data that can be used to perform either CreateMLModel, CreateEvaluation, or CreateBatchPrediction operations. CreateDataSourceFromRedshift is an asynchronous operation. In response to CreateDataSourceFromRedshift, Amazon Machine Learning (Amazon ML) immediately returns and sets the DataSource status to PENDING. After the DataSource is created and ready for use, Amazon ML sets the Status parameter to COMPLETED. DataSource in COMPLETED or PENDING states can be used to perform only CreateMLModel, CreateEvaluation, or CreateBatchPrediction operations. If Amazon ML can't accept the input source, it sets the Status parameter to FAILED and includes an error message in the Message attribute of the GetDataSource operation response. The observations should be contained in the database hosted on an Amazon Redshift cluster and should be specified by a SelectSqlQuery query. Amazon ML executes an Unload command in Amazon Redshift to transfer the result set of the SelectSqlQuery query to S3StagingLocation. After the DataSource has been created, it's ready for use in evaluations and batch predictions. If you plan to use the DataSource to train an MLModel, the DataSource also requires a recipe. A recipe describes how each input variable will be used in training an MLModel. Will the variable be included or excluded from training? Will the variable be manipulated; for example, will it be combined with another variable or will it be split apart into word combinations? The recipe provides answers to these questions. You can't change an existing datasource, but you can copy and modify the settings from an existing Amazon Redshift datasource to create a new datasource. To do so, call GetDataSource for an existing datasource and copy the values to a CreateDataSource call. Change the settings that you want to change and make sure that all required fields have the appropriate values. + +Required Parameters +{ + "DataSpec": "The data specification of an Amazon Redshift DataSource: DatabaseInformation - DatabaseName - The name of the Amazon Redshift database. ClusterIdentifier - The unique ID for the Amazon Redshift cluster. DatabaseCredentials - The AWS Identity and Access Management (IAM) credentials that are used to connect to the Amazon Redshift database. SelectSqlQuery - The query that is used to retrieve the observation data for the Datasource. S3StagingLocation - The Amazon Simple Storage Service (Amazon S3) location for staging Amazon Redshift data. The data retrieved from Amazon Redshift using the SelectSqlQuery query is stored in this location. DataSchemaUri - The Amazon S3 location of the DataSchema. DataSchema - A JSON string representing the schema. This is not required if DataSchemaUri is specified. DataRearrangement - A JSON string that represents the splitting and rearrangement requirements for the DataSource. Sample - \"{ \"splitting \":{ \"percentBegin \":10, \"percentEnd \":60}}\" ", + "DataSourceId": "A user-supplied ID that uniquely identifies the DataSource.", + "RoleARN": "A fully specified role Amazon Resource Name (ARN). Amazon ML assumes the role on behalf of the user to create the following: A security group to allow Amazon ML to execute the SelectSqlQuery query on an Amazon Redshift cluster An Amazon S3 bucket policy to grant Amazon ML read/write permissions on the S3StagingLocation " +} + +Optional Parameters +{ + "DataSourceName": "A user-supplied name or description of the DataSource. ", + "ComputeStatistics": "The compute statistics for a DataSource. The statistics are generated from the observation data referenced by a DataSource. Amazon ML uses the statistics internally during MLModel training. This parameter must be set to true if the DataSource needs to be used for MLModel training." +} +""" +CreateDataSourceFromRedshift(args) = machine_learning("CreateDataSourceFromRedshift", args) + +""" + GetBatchPrediction() + +Returns a BatchPrediction that includes detailed metadata, status, and data file information for a Batch Prediction request. + +Required Parameters +{ + "BatchPredictionId": "An ID assigned to the BatchPrediction at creation." +} +""" +GetBatchPrediction(args) = machine_learning("GetBatchPrediction", args) + +""" + AddTags() + +Adds one or more tags to an object, up to a limit of 10. Each tag consists of a key and an optional value. If you add a tag using a key that is already associated with the ML object, AddTags updates the tag's value. + +Required Parameters +{ + "Tags": "The key-value pairs to use to create tags. If you specify a key without specifying a value, Amazon ML creates a tag with the specified key and a value of null.", + "ResourceType": "The type of the ML object to tag. ", + "ResourceId": "The ID of the ML object to tag. For example, exampleModelId." +} +""" +AddTags(args) = machine_learning("AddTags", args) + +""" + UpdateBatchPrediction() + +Updates the BatchPredictionName of a BatchPrediction. You can use the GetBatchPrediction operation to view the contents of the updated data element. + +Required Parameters +{ + "BatchPredictionName": "A new user-supplied name or description of the BatchPrediction.", + "BatchPredictionId": "The ID assigned to the BatchPrediction during creation." +} +""" +UpdateBatchPrediction(args) = machine_learning("UpdateBatchPrediction", args) + +""" + UpdateDataSource() + +Updates the DataSourceName of a DataSource. You can use the GetDataSource operation to view the contents of the updated data element. + +Required Parameters +{ + "DataSourceName": "A new user-supplied name or description of the DataSource that will replace the current description. ", + "DataSourceId": "The ID assigned to the DataSource during creation." +} +""" +UpdateDataSource(args) = machine_learning("UpdateDataSource", args) + +""" + DescribeDataSources() + +Returns a list of DataSource that match the search criteria in the request. + +Optional Parameters +{ + "EQ": "The equal to operator. The DataSource results will have FilterVariable values that exactly match the value specified with EQ.", + "NE": "The not equal to operator. The DataSource results will have FilterVariable values not equal to the value specified with NE.", + "Limit": " The maximum number of DataSource to include in the result.", + "FilterVariable": "Use one of the following variables to filter a list of DataSource: CreatedAt - Sets the search criteria to DataSource creation dates. Status - Sets the search criteria to DataSource statuses. Name - Sets the search criteria to the contents of DataSource Name. DataUri - Sets the search criteria to the URI of data files used to create the DataSource. The URI can identify either a file or an Amazon Simple Storage Service (Amazon S3) bucket or directory. IAMUser - Sets the search criteria to the user account that invoked the DataSource creation. ", + "SortOrder": "A two-value parameter that determines the sequence of the resulting list of DataSource. asc - Arranges the list in ascending order (A-Z, 0-9). dsc - Arranges the list in descending order (Z-A, 9-0). Results are sorted by FilterVariable.", + "GE": "The greater than or equal to operator. The DataSource results will have FilterVariable values that are greater than or equal to the value specified with GE. ", + "LE": "The less than or equal to operator. The DataSource results will have FilterVariable values that are less than or equal to the value specified with LE.", + "LT": "The less than operator. The DataSource results will have FilterVariable values that are less than the value specified with LT.", + "Prefix": "A string that is found at the beginning of a variable, such as Name or Id. For example, a DataSource could have the Name 2014-09-09-HolidayGiftMailer. To search for this DataSource, select Name for the FilterVariable and any of the following strings for the Prefix: 2014-09 2014-09-09 2014-09-09-Holiday ", + "GT": "The greater than operator. The DataSource results will have FilterVariable values that are greater than the value specified with GT.", + "NextToken": "The ID of the page in the paginated results." +} +""" +DescribeDataSources() = machine_learning("DescribeDataSources") +DescribeDataSources(args) = machine_learning("DescribeDataSources", args) diff --git a/src/services/macie.jl b/src/services/macie.jl new file mode 100644 index 0000000000..39a2638010 --- /dev/null +++ b/src/services/macie.jl @@ -0,0 +1,106 @@ +include("../AWSServices.jl") +using .AWSServices: macie + +""" + DisassociateS3Resources() + +Removes specified S3 resources from being monitored by Amazon Macie. If memberAccountId isn't specified, the action removes specified S3 resources from Macie for the current master account. If memberAccountId is specified, the action removes specified S3 resources from Macie for the specified member account. + +Required Parameters +{ + "associatedS3Resources": "The S3 resources (buckets or prefixes) that you want to remove from being monitored and classified by Amazon Macie. " +} + +Optional Parameters +{ + "memberAccountId": "The ID of the Amazon Macie member account whose resources you want to remove from being monitored by Amazon Macie. " +} +""" +DisassociateS3Resources(args) = macie("DisassociateS3Resources", args) + +""" + AssociateMemberAccount() + +Associates a specified AWS account with Amazon Macie as a member account. + +Required Parameters +{ + "memberAccountId": "The ID of the AWS account that you want to associate with Amazon Macie as a member account." +} +""" +AssociateMemberAccount(args) = macie("AssociateMemberAccount", args) + +""" + ListMemberAccounts() + +Lists all Amazon Macie member accounts for the current Amazon Macie master account. + +Optional Parameters +{ + "maxResults": "Use this parameter to indicate the maximum number of items that you want in the response. The default value is 250. ", + "nextToken": "Use this parameter when paginating results. Set the value of this parameter to null on your first call to the ListMemberAccounts action. Subsequent calls to the action fill nextToken in the request with the value of nextToken from the previous response to continue listing data. " +} +""" +ListMemberAccounts() = macie("ListMemberAccounts") +ListMemberAccounts(args) = macie("ListMemberAccounts", args) + +""" + ListS3Resources() + +Lists all the S3 resources associated with Amazon Macie. If memberAccountId isn't specified, the action lists the S3 resources associated with Amazon Macie for the current master account. If memberAccountId is specified, the action lists the S3 resources associated with Amazon Macie for the specified member account. + +Optional Parameters +{ + "maxResults": "Use this parameter to indicate the maximum number of items that you want in the response. The default value is 250. ", + "nextToken": "Use this parameter when paginating results. Set its value to null on your first call to the ListS3Resources action. Subsequent calls to the action fill nextToken in the request with the value of nextToken from the previous response to continue listing data. ", + "memberAccountId": "The Amazon Macie member account ID whose associated S3 resources you want to list. " +} +""" +ListS3Resources() = macie("ListS3Resources") +ListS3Resources(args) = macie("ListS3Resources", args) + +""" + UpdateS3Resources() + +Updates the classification types for the specified S3 resources. If memberAccountId isn't specified, the action updates the classification types of the S3 resources associated with Amazon Macie for the current master account. If memberAccountId is specified, the action updates the classification types of the S3 resources associated with Amazon Macie for the specified member account. + +Required Parameters +{ + "s3ResourcesUpdate": "The S3 resources whose classification types you want to update." +} + +Optional Parameters +{ + "memberAccountId": "The AWS ID of the Amazon Macie member account whose S3 resources' classification types you want to update. " +} +""" +UpdateS3Resources(args) = macie("UpdateS3Resources", args) + +""" + AssociateS3Resources() + +Associates specified S3 resources with Amazon Macie for monitoring and data classification. If memberAccountId isn't specified, the action associates specified S3 resources with Macie for the current master account. If memberAccountId is specified, the action associates specified S3 resources with Macie for the specified member account. + +Required Parameters +{ + "s3Resources": "The S3 resources that you want to associate with Amazon Macie for monitoring and data classification. " +} + +Optional Parameters +{ + "memberAccountId": "The ID of the Amazon Macie member account whose resources you want to associate with Macie. " +} +""" +AssociateS3Resources(args) = macie("AssociateS3Resources", args) + +""" + DisassociateMemberAccount() + +Removes the specified member account from Amazon Macie. + +Required Parameters +{ + "memberAccountId": "The ID of the member account that you want to remove from Amazon Macie." +} +""" +DisassociateMemberAccount(args) = macie("DisassociateMemberAccount", args) diff --git a/src/services/managedblockchain.jl b/src/services/managedblockchain.jl new file mode 100644 index 0000000000..4e6bb47022 --- /dev/null +++ b/src/services/managedblockchain.jl @@ -0,0 +1,327 @@ +include("../AWSServices.jl") +using .AWSServices: managedblockchain + +""" + UpdateMember() + +Updates a member configuration with new parameters. + +Required Parameters +{ + "MemberId": "The unique ID of the member.", + "NetworkId": "The unique ID of the Managed Blockchain network to which the member belongs." +} + +Optional Parameters +{ + "LogPublishingConfiguration": "Configuration properties for publishing to Amazon CloudWatch Logs." +} +""" +UpdateMember(args) = managedblockchain("PATCH", "/networks/{networkId}/members/{memberId}", args) + +""" + GetNetwork() + +Returns detailed information about a network. + +Required Parameters +{ + "NetworkId": "The unique identifier of the network to get information about." +} +""" +GetNetwork(args) = managedblockchain("GET", "/networks/{networkId}", args) + +""" + CreateNetwork() + +Creates a new blockchain network using Amazon Managed Blockchain. + +Required Parameters +{ + "VotingPolicy": " The voting rules used by the network to determine if a proposal is approved. ", + "ClientRequestToken": "A unique, case-sensitive identifier that you provide to ensure the idempotency of the operation. An idempotent operation completes no more than one time. This identifier is required only if you make a service request directly using an HTTP client. It is generated automatically if you use an AWS SDK or the AWS CLI.", + "MemberConfiguration": "Configuration properties for the first member within the network.", + "Framework": "The blockchain framework that the network uses.", + "FrameworkVersion": "The version of the blockchain framework that the network uses.", + "Name": "The name of the network." +} + +Optional Parameters +{ + "FrameworkConfiguration": " Configuration properties of the blockchain framework relevant to the network configuration. ", + "Description": "An optional description for the network." +} +""" +CreateNetwork(args) = managedblockchain("POST", "/networks", args) + +""" + GetNode() + +Returns detailed information about a peer node. + +Required Parameters +{ + "MemberId": "The unique identifier of the member that owns the node.", + "NetworkId": "The unique identifier of the network to which the node belongs.", + "NodeId": "The unique identifier of the node." +} +""" +GetNode(args) = managedblockchain("GET", "/networks/{networkId}/members/{memberId}/nodes/{nodeId}", args) + +""" + ListProposals() + +Returns a listing of proposals for the network. + +Required Parameters +{ + "NetworkId": " The unique identifier of the network. " +} + +Optional Parameters +{ + "MaxResults": " The maximum number of proposals to return. ", + "NextToken": " The pagination token that indicates the next set of results to retrieve. " +} +""" +ListProposals(args) = managedblockchain("GET", "/networks/{networkId}/proposals", args) + +""" + RejectInvitation() + +Rejects an invitation to join a network. This action can be called by a principal in an AWS account that has received an invitation to create a member and join a network. + +Required Parameters +{ + "InvitationId": "The unique identifier of the invitation to reject." +} +""" +RejectInvitation(args) = managedblockchain("DELETE", "/invitations/{invitationId}", args) + +""" + ListInvitations() + +Returns a listing of all invitations made on the specified network. + +Optional Parameters +{ + "MaxResults": "The maximum number of invitations to return.", + "NextToken": "The pagination token that indicates the next set of results to retrieve." +} +""" +ListInvitations() = managedblockchain("GET", "/invitations") +ListInvitations(args) = managedblockchain("GET", "/invitations", args) + +""" + ListNodes() + +Returns information about the nodes within a network. + +Required Parameters +{ + "MemberId": "The unique identifier of the member who owns the nodes to list.", + "NetworkId": "The unique identifier of the network for which to list nodes." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of nodes to list.", + "NextToken": "The pagination token that indicates the next set of results to retrieve.", + "Status": "An optional status specifier. If provided, only nodes currently in this status are listed." +} +""" +ListNodes(args) = managedblockchain("GET", "/networks/{networkId}/members/{memberId}/nodes", args) + +""" + GetMember() + +Returns detailed information about a member. + +Required Parameters +{ + "MemberId": "The unique identifier of the member.", + "NetworkId": "The unique identifier of the network to which the member belongs." +} +""" +GetMember(args) = managedblockchain("GET", "/networks/{networkId}/members/{memberId}", args) + +""" + CreateMember() + +Creates a member within a Managed Blockchain network. + +Required Parameters +{ + "NetworkId": "The unique identifier of the network in which the member is created.", + "ClientRequestToken": "A unique, case-sensitive identifier that you provide to ensure the idempotency of the operation. An idempotent operation completes no more than one time. This identifier is required only if you make a service request directly using an HTTP client. It is generated automatically if you use an AWS SDK or the AWS CLI.", + "MemberConfiguration": "Member configuration parameters.", + "InvitationId": "The unique identifier of the invitation that is sent to the member to join the network." +} +""" +CreateMember(args) = managedblockchain("POST", "/networks/{networkId}/members", args) + +""" + ListProposalVotes() + +Returns the listing of votes for a specified proposal, including the value of each vote and the unique identifier of the member that cast the vote. + +Required Parameters +{ + "NetworkId": " The unique identifier of the network. ", + "ProposalId": " The unique identifier of the proposal. " +} + +Optional Parameters +{ + "MaxResults": " The maximum number of votes to return. ", + "NextToken": " The pagination token that indicates the next set of results to retrieve. " +} +""" +ListProposalVotes(args) = managedblockchain("GET", "/networks/{networkId}/proposals/{proposalId}/votes", args) + +""" + ListMembers() + +Returns a listing of the members in a network and properties of their configurations. + +Required Parameters +{ + "NetworkId": "The unique identifier of the network for which to list members." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of members to return in the request.", + "NextToken": "The pagination token that indicates the next set of results to retrieve.", + "Status": "An optional status specifier. If provided, only members currently in this status are listed.", + "Name": "The optional name of the member to list.", + "IsOwned": "An optional Boolean value. If provided, the request is limited either to members that the current AWS account owns (true) or that other AWS accounts own (false). If omitted, all members are listed." +} +""" +ListMembers(args) = managedblockchain("GET", "/networks/{networkId}/members", args) + +""" + CreateNode() + +Creates a peer node in a member. + +Required Parameters +{ + "MemberId": "The unique identifier of the member that owns this node.", + "NetworkId": "The unique identifier of the network in which this node runs.", + "ClientRequestToken": "A unique, case-sensitive identifier that you provide to ensure the idempotency of the operation. An idempotent operation completes no more than one time. This identifier is required only if you make a service request directly using an HTTP client. It is generated automatically if you use an AWS SDK or the AWS CLI.", + "NodeConfiguration": "The properties of a node configuration." +} +""" +CreateNode(args) = managedblockchain("POST", "/networks/{networkId}/members/{memberId}/nodes", args) + +""" + DeleteNode() + +Deletes a peer node from a member that your AWS account owns. All data on the node is lost and cannot be recovered. + +Required Parameters +{ + "MemberId": "The unique identifier of the member that owns this node.", + "NetworkId": "The unique identifier of the network that the node belongs to.", + "NodeId": "The unique identifier of the node." +} +""" +DeleteNode(args) = managedblockchain("DELETE", "/networks/{networkId}/members/{memberId}/nodes/{nodeId}", args) + +""" + UpdateNode() + +Updates a node configuration with new parameters. + +Required Parameters +{ + "MemberId": "The unique ID of the member that owns the node.", + "NetworkId": "The unique ID of the Managed Blockchain network to which the node belongs.", + "NodeId": "The unique ID of the node." +} + +Optional Parameters +{ + "LogPublishingConfiguration": "Configuration properties for publishing to Amazon CloudWatch Logs." +} +""" +UpdateNode(args) = managedblockchain("PATCH", "/networks/{networkId}/members/{memberId}/nodes/{nodeId}", args) + +""" + GetProposal() + +Returns detailed information about a proposal. + +Required Parameters +{ + "NetworkId": "The unique identifier of the network for which the proposal is made.", + "ProposalId": "The unique identifier of the proposal." +} +""" +GetProposal(args) = managedblockchain("GET", "/networks/{networkId}/proposals/{proposalId}", args) + +""" + ListNetworks() + +Returns information about the networks in which the current AWS account has members. + +Optional Parameters +{ + "MaxResults": "The maximum number of networks to list.", + "NextToken": "The pagination token that indicates the next set of results to retrieve.", + "Status": "An optional status specifier. If provided, only networks currently in this status are listed.", + "Framework": "An optional framework specifier. If provided, only networks of this framework type are listed.", + "Name": "The name of the network." +} +""" +ListNetworks() = managedblockchain("GET", "/networks") +ListNetworks(args) = managedblockchain("GET", "/networks", args) + +""" + CreateProposal() + +Creates a proposal for a change to the network that other members of the network can vote on, for example, a proposal to add a new member to the network. Any member can create a proposal. + +Required Parameters +{ + "MemberId": "The unique identifier of the member that is creating the proposal. This identifier is especially useful for identifying the member making the proposal when multiple members exist in a single AWS account.", + "NetworkId": " The unique identifier of the network for which the proposal is made.", + "Actions": "The type of actions proposed, such as inviting a member or removing a member. The types of Actions in a proposal are mutually exclusive. For example, a proposal with Invitations actions cannot also contain Removals actions.", + "ClientRequestToken": "A unique, case-sensitive identifier that you provide to ensure the idempotency of the operation. An idempotent operation completes no more than one time. This identifier is required only if you make a service request directly using an HTTP client. It is generated automatically if you use an AWS SDK or the AWS CLI." +} + +Optional Parameters +{ + "Description": "A description for the proposal that is visible to voting members, for example, \"Proposal to add Example Corp. as member.\"" +} +""" +CreateProposal(args) = managedblockchain("POST", "/networks/{networkId}/proposals", args) + +""" + DeleteMember() + +Deletes a member. Deleting a member removes the member and all associated resources from the network. DeleteMember can only be called for a specified MemberId if the principal performing the action is associated with the AWS account that owns the member. In all other cases, the DeleteMember action is carried out as the result of an approved proposal to remove a member. If MemberId is the last member in a network specified by the last AWS account, the network is deleted also. + +Required Parameters +{ + "MemberId": "The unique identifier of the member to remove.", + "NetworkId": "The unique identifier of the network from which the member is removed." +} +""" +DeleteMember(args) = managedblockchain("DELETE", "/networks/{networkId}/members/{memberId}", args) + +""" + VoteOnProposal() + +Casts a vote for a specified ProposalId on behalf of a member. The member to vote as, specified by VoterMemberId, must be in the same AWS account as the principal that calls the action. + +Required Parameters +{ + "VoterMemberId": "The unique identifier of the member casting the vote. ", + "NetworkId": " The unique identifier of the network. ", + "Vote": " The value of the vote. ", + "ProposalId": " The unique identifier of the proposal. " +} +""" +VoteOnProposal(args) = managedblockchain("POST", "/networks/{networkId}/proposals/{proposalId}/votes", args) diff --git a/src/services/marketplace_catalog.jl b/src/services/marketplace_catalog.jl new file mode 100644 index 0000000000..5f75464333 --- /dev/null +++ b/src/services/marketplace_catalog.jl @@ -0,0 +1,101 @@ +include("../AWSServices.jl") +using .AWSServices: marketplace_catalog + +""" + ListChangeSets() + +Returns the list of change sets owned by the account being used to make the call. You can filter this list by providing any combination of entityId, ChangeSetName, and status. If you provide more than one filter, the API operation applies a logical AND between the filters. You can describe a change during the 60-day request history retention period for API calls. + +Required Parameters +{ + "Catalog": "The catalog related to the request. Fixed value: AWSMarketplace " +} + +Optional Parameters +{ + "FilterList": "An array of filter objects.", + "Sort": "An object that contains two attributes, sortBy and sortOrder.", + "MaxResults": "The maximum number of results returned by a single call. This value must be provided in the next call to retrieve the next set of results. By default, this value is 20.", + "NextToken": "The token value retrieved from a previous call to access the next page of results." +} +""" +ListChangeSets(args) = marketplace_catalog("POST", "/ListChangeSets", args) + +""" + DescribeChangeSet() + +Provides information about a given change set. + +Required Parameters +{ + "Catalog": "Required. The catalog related to the request. Fixed value: AWSMarketplace ", + "ChangeSetId": "Required. The unique identifier for the StartChangeSet request that you want to describe the details for." +} +""" +DescribeChangeSet(args) = marketplace_catalog("GET", "/DescribeChangeSet", args) + +""" + DescribeEntity() + +Returns the metadata and content of the entity. + +Required Parameters +{ + "EntityId": "Required. The unique ID of the entity to describe.", + "Catalog": "Required. The catalog related to the request. Fixed value: AWSMarketplace " +} +""" +DescribeEntity(args) = marketplace_catalog("GET", "/DescribeEntity", args) + +""" + CancelChangeSet() + +Used to cancel an open change request. Must be sent before the status of the request changes to APPLYING, the final stage of completing your change request. You can describe a change during the 60-day request history retention period for API calls. + +Required Parameters +{ + "Catalog": "Required. The catalog related to the request. Fixed value: AWSMarketplace.", + "ChangeSetId": "Required. The unique identifier of the StartChangeSet request that you want to cancel." +} +""" +CancelChangeSet(args) = marketplace_catalog("PATCH", "/CancelChangeSet", args) + +""" + ListEntities() + +Provides the list of entities of a given type. + +Required Parameters +{ + "EntityType": "The type of entities to retrieve.", + "Catalog": "The catalog related to the request. Fixed value: AWSMarketplace " +} + +Optional Parameters +{ + "FilterList": "An array of filter objects. Each filter object contains two attributes, filterName and filterValues.", + "Sort": "An object that contains two attributes, sortBy and sortOrder.", + "MaxResults": "Specifies the upper limit of the elements on a single page. If a value isn't provided, the default value is 20.", + "NextToken": "The value of the next token, if it exists. Null if there are no more results." +} +""" +ListEntities(args) = marketplace_catalog("POST", "/ListEntities", args) + +""" + StartChangeSet() + +This operation allows you to request changes in your entities. + +Required Parameters +{ + "Catalog": "The catalog related to the request. Fixed value: AWSMarketplace ", + "ChangeSet": "Array of change object." +} + +Optional Parameters +{ + "ClientRequestToken": "A unique token to identify the request to ensure idempotency.", + "ChangeSetName": "Optional case sensitive string of up to 100 ASCII characters. The change set name can be used to filter the list of change sets. " +} +""" +StartChangeSet(args) = marketplace_catalog("POST", "/StartChangeSet", args) diff --git a/src/services/marketplace_commerce_analytics.jl b/src/services/marketplace_commerce_analytics.jl new file mode 100644 index 0000000000..a0e6288c52 --- /dev/null +++ b/src/services/marketplace_commerce_analytics.jl @@ -0,0 +1,46 @@ +include("../AWSServices.jl") +using .AWSServices: marketplace_commerce_analytics + +""" + StartSupportDataExport() + +Given a data set type and a from date, asynchronously publishes the requested customer support data to the specified S3 bucket and notifies the specified SNS topic once the data is available. Returns a unique request identifier that can be used to correlate requests with notifications from the SNS topic. Data sets will be published in comma-separated values (CSV) format with the file name {data_set_type}_YYYY-MM-DD'T'HH-mm-ss'Z'.csv. If a file with the same name already exists (e.g. if the same data set is requested twice), the original file will be overwritten by the new file. Requires a Role with an attached permissions policy providing Allow permissions for the following actions: s3:PutObject, s3:GetBucketLocation, sns:GetTopicAttributes, sns:Publish, iam:GetRolePolicy. + +Required Parameters +{ + "fromDate": "The start date from which to retrieve the data set in UTC. This parameter only affects the customer_support_contacts_data data set type.", + "roleNameArn": "The Amazon Resource Name (ARN) of the Role with an attached permissions policy to interact with the provided AWS services.", + "dataSetType": " Specifies the data set type to be written to the output csv file. The data set types customer_support_contacts_data and test_customer_support_contacts_data both result in a csv file containing the following fields: Product Id, Product Code, Customer Guid, Subscription Guid, Subscription Start Date, Organization, AWS Account Id, Given Name, Surname, Telephone Number, Email, Title, Country Code, ZIP Code, Operation Type, and Operation Time. customer_support_contacts_data Customer support contact data. The data set will contain all changes (Creates, Updates, and Deletes) to customer support contact data from the date specified in the from_date parameter. test_customer_support_contacts_data An example data set containing static test data in the same format as customer_support_contacts_data ", + "destinationS3BucketName": "The name (friendly name, not ARN) of the destination S3 bucket.", + "snsTopicArn": "Amazon Resource Name (ARN) for the SNS Topic that will be notified when the data set has been published or if an error has occurred." +} + +Optional Parameters +{ + "customerDefinedValues": "(Optional) Key-value pairs which will be returned, unmodified, in the Amazon SNS notification message and the data set metadata file.", + "destinationS3Prefix": "(Optional) The desired S3 prefix for the published data set, similar to a directory path in standard file systems. For example, if given the bucket name \"mybucket\" and the prefix \"myprefix/mydatasets\", the output file \"outputfile\" would be published to \"s3://mybucket/myprefix/mydatasets/outputfile\". If the prefix directory structure does not exist, it will be created. If no prefix is provided, the data set will be published to the S3 bucket root." +} +""" +StartSupportDataExport(args) = marketplace_commerce_analytics("StartSupportDataExport", args) + +""" + GenerateDataSet() + +Given a data set type and data set publication date, asynchronously publishes the requested data set to the specified S3 bucket and notifies the specified SNS topic once the data is available. Returns a unique request identifier that can be used to correlate requests with notifications from the SNS topic. Data sets will be published in comma-separated values (CSV) format with the file name {data_set_type}_YYYY-MM-DD.csv. If a file with the same name already exists (e.g. if the same data set is requested twice), the original file will be overwritten by the new file. Requires a Role with an attached permissions policy providing Allow permissions for the following actions: s3:PutObject, s3:GetBucketLocation, sns:GetTopicAttributes, sns:Publish, iam:GetRolePolicy. + +Required Parameters +{ + "snsTopicArn": "Amazon Resource Name (ARN) for the SNS Topic that will be notified when the data set has been published or if an error has occurred.", + "roleNameArn": "The Amazon Resource Name (ARN) of the Role with an attached permissions policy to interact with the provided AWS services.", + "dataSetType": "The desired data set type. customer_subscriber_hourly_monthly_subscriptions From 2017-09-15 to present: Available daily by 24:00 UTC. customer_subscriber_annual_subscriptions From 2017-09-15 to present: Available daily by 24:00 UTC. daily_business_usage_by_instance_type From 2017-09-15 to present: Available daily by 24:00 UTC. daily_business_fees From 2017-09-15 to present: Available daily by 24:00 UTC. daily_business_free_trial_conversions From 2017-09-15 to present: Available daily by 24:00 UTC. daily_business_new_instances From 2017-09-15 to present: Available daily by 24:00 UTC. daily_business_new_product_subscribers From 2017-09-15 to present: Available daily by 24:00 UTC. daily_business_canceled_product_subscribers From 2017-09-15 to present: Available daily by 24:00 UTC. monthly_revenue_billing_and_revenue_data From 2017-09-15 to present: Available monthly on the 15th day of the month by 24:00 UTC. Data includes metered transactions (e.g. hourly) from one month prior. monthly_revenue_annual_subscriptions From 2017-09-15 to present: Available monthly on the 15th day of the month by 24:00 UTC. Data includes up-front software charges (e.g. annual) from one month prior. monthly_revenue_field_demonstration_usage From 2018-03-15 to present: Available monthly on the 15th day of the month by 24:00 UTC. monthly_revenue_flexible_payment_schedule From 2018-11-15 to present: Available monthly on the 15th day of the month by 24:00 UTC. disbursed_amount_by_product From 2017-09-15 to present: Available every 30 days by 24:00 UTC. disbursed_amount_by_instance_hours From 2017-09-15 to present: Available every 30 days by 24:00 UTC. disbursed_amount_by_customer_geo From 2017-09-15 to present: Available every 30 days by 24:00 UTC. disbursed_amount_by_age_of_uncollected_funds From 2017-09-15 to present: Available every 30 days by 24:00 UTC. disbursed_amount_by_age_of_disbursed_funds From 2017-09-15 to present: Available every 30 days by 24:00 UTC. disbursed_amount_by_age_of_past_due_funds From 2018-04-07 to present: Available every 30 days by 24:00 UTC. disbursed_amount_by_uncollected_funds_breakdown From 2019-10-04 to present: Available every 30 days by 24:00 UTC. sales_compensation_billed_revenue From 2017-09-15 to present: Available monthly on the 15th day of the month by 24:00 UTC. Data includes metered transactions (e.g. hourly) from one month prior, and up-front software charges (e.g. annual) from one month prior. us_sales_and_use_tax_records From 2017-09-15 to present: Available monthly on the 15th day of the month by 24:00 UTC. ", + "dataSetPublicationDate": "The date a data set was published. For daily data sets, provide a date with day-level granularity for the desired day. For monthly data sets except those with prefix disbursed_amount, provide a date with month-level granularity for the desired month (the day value will be ignored). For data sets with prefix disbursed_amount, provide a date with day-level granularity for the desired day. For these data sets we will look backwards in time over the range of 31 days until the first data set is found (the latest one).", + "destinationS3BucketName": "The name (friendly name, not ARN) of the destination S3 bucket." +} + +Optional Parameters +{ + "customerDefinedValues": "(Optional) Key-value pairs which will be returned, unmodified, in the Amazon SNS notification message and the data set metadata file. These key-value pairs can be used to correlated responses with tracking information from other systems.", + "destinationS3Prefix": "(Optional) The desired S3 prefix for the published data set, similar to a directory path in standard file systems. For example, if given the bucket name \"mybucket\" and the prefix \"myprefix/mydatasets\", the output file \"outputfile\" would be published to \"s3://mybucket/myprefix/mydatasets/outputfile\". If the prefix directory structure does not exist, it will be created. If no prefix is provided, the data set will be published to the S3 bucket root." +} +""" +GenerateDataSet(args) = marketplace_commerce_analytics("GenerateDataSet", args) diff --git a/src/services/marketplace_entitlement_service.jl b/src/services/marketplace_entitlement_service.jl new file mode 100644 index 0000000000..3b53a335e1 --- /dev/null +++ b/src/services/marketplace_entitlement_service.jl @@ -0,0 +1,21 @@ +include("../AWSServices.jl") +using .AWSServices: marketplace_entitlement_service + +""" + GetEntitlements() + +GetEntitlements retrieves entitlement values for a given product. The results can be filtered based on customer identifier or product dimensions. + +Required Parameters +{ + "ProductCode": "Product code is used to uniquely identify a product in AWS Marketplace. The product code will be provided by AWS Marketplace when the product listing is created." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of items to retrieve from the GetEntitlements operation. For pagination, use the NextToken field in subsequent calls to GetEntitlements.", + "NextToken": "For paginated calls to GetEntitlements, pass the NextToken from the previous GetEntitlementsResult.", + "Filter": "Filter is used to return entitlements for a specific customer or for a specific dimension. Filters are described as keys mapped to a lists of values. Filtered requests are unioned for each value in the value list, and then intersected for each filter key." +} +""" +GetEntitlements(args) = marketplace_entitlement_service("GetEntitlements", args) diff --git a/src/services/marketplace_metering.jl b/src/services/marketplace_metering.jl new file mode 100644 index 0000000000..a163cbe912 --- /dev/null +++ b/src/services/marketplace_metering.jl @@ -0,0 +1,65 @@ +include("../AWSServices.jl") +using .AWSServices: marketplace_metering + +""" + ResolveCustomer() + +ResolveCustomer is called by a SaaS application during the registration process. When a buyer visits your website during the registration process, the buyer submits a registration token through their browser. The registration token is resolved through this API to obtain a CustomerIdentifier and product code. + +Required Parameters +{ + "RegistrationToken": "When a buyer visits your website during the registration process, the buyer submits a registration token through the browser. The registration token is resolved to obtain a CustomerIdentifier and product code." +} +""" +ResolveCustomer(args) = marketplace_metering("ResolveCustomer", args) + +""" + MeterUsage() + +API to emit metering records. For identical requests, the API is idempotent. It simply returns the metering record ID. MeterUsage is authenticated on the buyer's AWS account using credentials from the EC2 instance, ECS task, or EKS pod. + +Required Parameters +{ + "UsageDimension": "It will be one of the fcp dimension name provided during the publishing of the product.", + "ProductCode": "Product code is used to uniquely identify a product in AWS Marketplace. The product code should be the same as the one used during the publishing of a new product.", + "Timestamp": "Timestamp, in UTC, for which the usage is being reported. Your application can meter usage for up to one hour in the past. Make sure the timestamp value is not before the start of the software usage." +} + +Optional Parameters +{ + "UsageQuantity": "Consumption value for the hour. Defaults to 0 if not specified.", + "DryRun": "Checks whether you have the permissions required for the action, but does not make the request. If you have the permissions, the request returns DryRunOperation; otherwise, it returns UnauthorizedException. Defaults to false if not specified." +} +""" +MeterUsage(args) = marketplace_metering("MeterUsage", args) + +""" + RegisterUsage() + +Paid container software products sold through AWS Marketplace must integrate with the AWS Marketplace Metering Service and call the RegisterUsage operation for software entitlement and metering. Free and BYOL products for Amazon ECS or Amazon EKS aren't required to call RegisterUsage, but you may choose to do so if you would like to receive usage data in your seller reports. The sections below explain the behavior of RegisterUsage. RegisterUsage performs two primary functions: metering and entitlement. Entitlement: RegisterUsage allows you to verify that the customer running your paid software is subscribed to your product on AWS Marketplace, enabling you to guard against unauthorized use. Your container image that integrates with RegisterUsage is only required to guard against unauthorized use at container startup, as such a CustomerNotSubscribedException/PlatformNotSupportedException will only be thrown on the initial call to RegisterUsage. Subsequent calls from the same Amazon ECS task instance (e.g. task-id) or Amazon EKS pod will not throw a CustomerNotSubscribedException, even if the customer unsubscribes while the Amazon ECS task or Amazon EKS pod is still running. Metering: RegisterUsage meters software use per ECS task, per hour, or per pod for Amazon EKS with usage prorated to the second. A minimum of 1 minute of usage applies to tasks that are short lived. For example, if a customer has a 10 node Amazon ECS or Amazon EKS cluster and a service configured as a Daemon Set, then Amazon ECS or Amazon EKS will launch a task on all 10 cluster nodes and the customer will be charged: (10 * hourly_rate). Metering for software use is automatically handled by the AWS Marketplace Metering Control Plane -- your software is not required to perform any metering specific actions, other than call RegisterUsage once for metering of software use to commence. The AWS Marketplace Metering Control Plane will also continue to bill customers for running ECS tasks and Amazon EKS pods, regardless of the customers subscription state, removing the need for your software to perform entitlement checks at runtime. + +Required Parameters +{ + "ProductCode": "Product code is used to uniquely identify a product in AWS Marketplace. The product code should be the same as the one used during the publishing of a new product.", + "PublicKeyVersion": "Public Key Version provided by AWS Marketplace" +} + +Optional Parameters +{ + "Nonce": "(Optional) To scope down the registration to a specific running software instance and guard against replay attacks." +} +""" +RegisterUsage(args) = marketplace_metering("RegisterUsage", args) + +""" + BatchMeterUsage() + +BatchMeterUsage is called from a SaaS application listed on the AWS Marketplace to post metering records for a set of customers. For identical requests, the API is idempotent; requests can be retried with the same records or a subset of the input records. Every request to BatchMeterUsage is for one product. If you need to meter usage for multiple products, you must make multiple calls to BatchMeterUsage. BatchMeterUsage can process up to 25 UsageRecords at a time. + +Required Parameters +{ + "UsageRecords": "The set of UsageRecords to submit. BatchMeterUsage accepts up to 25 UsageRecords at a time.", + "ProductCode": "Product code is used to uniquely identify a product in AWS Marketplace. The product code should be the same as the one used during the publishing of a new product." +} +""" +BatchMeterUsage(args) = marketplace_metering("BatchMeterUsage", args) diff --git a/src/services/mediaconnect.jl b/src/services/mediaconnect.jl new file mode 100644 index 0000000000..275bba04d0 --- /dev/null +++ b/src/services/mediaconnect.jl @@ -0,0 +1,306 @@ +include("../AWSServices.jl") +using .AWSServices: mediaconnect + +""" + ListTagsForResource() + +List all tags on an AWS Elemental MediaConnect resource + +Required Parameters +{ + "ResourceArn": "The Amazon Resource Name (ARN) that identifies the AWS Elemental MediaConnect resource for which to list the tags." +} +""" +ListTagsForResource(args) = mediaconnect("GET", "/tags/{resourceArn}", args) + +""" + DescribeFlow() + +Displays the details of a flow. The response includes the flow ARN, name, and Availability Zone, as well as details about the source, outputs, and entitlements. + +Required Parameters +{ + "FlowArn": "The ARN of the flow that you want to describe." +} +""" +DescribeFlow(args) = mediaconnect("GET", "/v1/flows/{flowArn}", args) + +""" + AddFlowOutputs() + +Adds outputs to an existing flow. You can create up to 50 outputs per flow. + +Required Parameters +{ + "FlowArn": "The flow that you want to add outputs to.", + "Outputs": "A list of outputs that you want to add." +} +""" +AddFlowOutputs(args) = mediaconnect("POST", "/v1/flows/{flowArn}/outputs", args) + +""" + UpdateFlowOutput() + +Updates an existing flow output. + +Required Parameters +{ + "OutputArn": "The ARN of the output that you want to update.", + "FlowArn": "The flow that is associated with the output that you want to update." +} + +Optional Parameters +{ + "Encryption": "The type of key used for the encryption. If no keyType is provided, the service will use the default setting (static-key).", + "Description": "A description of the output. This description appears only on the AWS Elemental MediaConnect console and will not be seen by the end user.", + "MaxLatency": "The maximum latency in milliseconds for Zixi-based streams.", + "RemoteId": "The remote ID for the Zixi-pull stream.", + "CidrAllowList": "The range of IP addresses that should be allowed to initiate output requests to this flow. These IP addresses should be in the form of a Classless Inter-Domain Routing (CIDR) block; for example, 10.0.0.0/16.", + "SmoothingLatency": "The smoothing latency in milliseconds for RIST, RTP, and RTP-FEC streams.", + "StreamId": "The stream ID that you want to use for this transport. This parameter applies only to Zixi-based streams.", + "Protocol": "The protocol to use for the output.", + "Port": "The port to use when content is distributed to this output.", + "Destination": "The IP address where you want to send the output." +} +""" +UpdateFlowOutput(args) = mediaconnect("PUT", "/v1/flows/{flowArn}/outputs/{outputArn}", args) + +""" + AddFlowSources() + +Adds Sources to flow + +Required Parameters +{ + "Sources": "A list of sources that you want to add.", + "FlowArn": "The flow that you want to mutate." +} +""" +AddFlowSources(args) = mediaconnect("POST", "/v1/flows/{flowArn}/source", args) + +""" + UpdateFlowEntitlement() + +You can change an entitlement's description, subscribers, and encryption. If you change the subscribers, the service will remove the outputs that are are used by the subscribers that are removed. + +Required Parameters +{ + "EntitlementArn": "The ARN of the entitlement that you want to update.", + "FlowArn": "The flow that is associated with the entitlement that you want to update." +} + +Optional Parameters +{ + "Encryption": "The type of encryption that will be used on the output associated with this entitlement.", + "Description": "A description of the entitlement. This description appears only on the AWS Elemental MediaConnect console and will not be seen by the subscriber or end user.", + "Subscribers": "The AWS account IDs that you want to share your content with. The receiving accounts (subscribers) will be allowed to create their own flow using your content as the source." +} +""" +UpdateFlowEntitlement(args) = mediaconnect("PUT", "/v1/flows/{flowArn}/entitlements/{entitlementArn}", args) + +""" + ListFlows() + +Displays a list of flows that are associated with this account. This request returns a paginated result. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return per API request. For example, you submit a ListFlows request with MaxResults set at 5. Although 20 items match your request, the service returns no more than the first 5 items. (The service also returns a NextToken value that you can use to fetch the next batch of results.) The service might return fewer results than the MaxResults value. If MaxResults is not included in the request, the service defaults to pagination with a maximum of 10 results per page.", + "NextToken": "The token that identifies which batch of results that you want to see. For example, you submit a ListFlows request with MaxResults set at 5. The service returns the first batch of results (up to 5) and a NextToken value. To see the next batch of results, you can submit the ListFlows request a second time and specify the NextToken value." +} +""" +ListFlows() = mediaconnect("GET", "/v1/flows") +ListFlows(args) = mediaconnect("GET", "/v1/flows", args) + +""" + TagResource() + +Associates the specified tags to a resource with the specified resourceArn. If existing tags on a resource are not specified in the request parameters, they are not changed. When a resource is deleted, the tags associated with that resource are deleted as well. + +Required Parameters +{ + "ResourceArn": "The Amazon Resource Name (ARN) that identifies the AWS Elemental MediaConnect resource to which to add tags.", + "Tags": "A map from tag keys to values. Tag keys can have a maximum character length of 128 characters, and tag values can have a maximum length of 256 characters." +} +""" +TagResource(args) = mediaconnect("POST", "/tags/{resourceArn}", args) + +""" + UntagResource() + +Deletes specified tags from a resource. + +Required Parameters +{ + "ResourceArn": "The Amazon Resource Name (ARN) that identifies the AWS Elemental MediaConnect resource from which to delete tags.", + "TagKeys": "The keys of the tags to be removed." +} +""" +UntagResource(args) = mediaconnect("DELETE", "/tags/{resourceArn}", args) + +""" + UpdateFlow() + +Updates flow + +Required Parameters +{ + "FlowArn": "The flow that you want to update." +} + +Optional Parameters +{ + "SourceFailoverConfig": "" +} +""" +UpdateFlow(args) = mediaconnect("PUT", "/v1/flows/{flowArn}", args) + +""" + StopFlow() + +Stops a flow. + +Required Parameters +{ + "FlowArn": "The ARN of the flow that you want to stop." +} +""" +StopFlow(args) = mediaconnect("POST", "/v1/flows/stop/{flowArn}", args) + +""" + UpdateFlowSource() + +Updates the source of a flow. + +Required Parameters +{ + "SourceArn": "The ARN of the source that you want to update.", + "FlowArn": "The flow that is associated with the source that you want to update." +} + +Optional Parameters +{ + "EntitlementArn": "The ARN of the entitlement that allows you to subscribe to this flow. The entitlement is set by the flow originator, and the ARN is generated as part of the originator's flow.", + "Description": "A description for the source. This value is not used or seen outside of the current AWS Elemental MediaConnect account.", + "MaxLatency": "The maximum latency in milliseconds. This parameter applies only to RIST-based and Zixi-based streams.", + "MaxBitrate": "The smoothing max bitrate for RIST, RTP, and RTP-FEC streams.", + "WhitelistCidr": "The range of IP addresses that should be allowed to contribute content to your source. These IP addresses should be in the form of a Classless Inter-Domain Routing (CIDR) block; for example, 10.0.0.0/16.", + "Decryption": "The type of encryption used on the content ingested from this source.", + "IngestPort": "The port that the flow will be listening on for incoming content.", + "Protocol": "The protocol that is used by the source.", + "StreamId": "The stream ID that you want to use for this transport. This parameter applies only to Zixi-based streams." +} +""" +UpdateFlowSource(args) = mediaconnect("PUT", "/v1/flows/{flowArn}/source/{sourceArn}", args) + +""" + DeleteFlow() + +Deletes a flow. Before you can delete a flow, you must stop the flow. + +Required Parameters +{ + "FlowArn": "The ARN of the flow that you want to delete." +} +""" +DeleteFlow(args) = mediaconnect("DELETE", "/v1/flows/{flowArn}", args) + +""" + StartFlow() + +Starts a flow. + +Required Parameters +{ + "FlowArn": "The ARN of the flow that you want to start." +} +""" +StartFlow(args) = mediaconnect("POST", "/v1/flows/start/{flowArn}", args) + +""" + RevokeFlowEntitlement() + +Revokes an entitlement from a flow. Once an entitlement is revoked, the content becomes unavailable to the subscriber and the associated output is removed. + +Required Parameters +{ + "EntitlementArn": "The ARN of the entitlement that you want to revoke.", + "FlowArn": "The flow that you want to revoke an entitlement from." +} +""" +RevokeFlowEntitlement(args) = mediaconnect("DELETE", "/v1/flows/{flowArn}/entitlements/{entitlementArn}", args) + +""" + RemoveFlowSource() + +Removes a source from an existing flow. This request can be made only if there is more than one source on the flow. + +Required Parameters +{ + "SourceArn": "The ARN of the source that you want to remove.", + "FlowArn": "The flow that you want to remove a source from." +} +""" +RemoveFlowSource(args) = mediaconnect("DELETE", "/v1/flows/{flowArn}/source/{sourceArn}", args) + +""" + ListEntitlements() + +Displays a list of all entitlements that have been granted to this account. This request returns 20 results per page. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return per API request. For example, you submit a ListEntitlements request with MaxResults set at 5. Although 20 items match your request, the service returns no more than the first 5 items. (The service also returns a NextToken value that you can use to fetch the next batch of results.) The service might return fewer results than the MaxResults value. If MaxResults is not included in the request, the service defaults to pagination with a maximum of 20 results per page.", + "NextToken": "The token that identifies which batch of results that you want to see. For example, you submit a ListEntitlements request with MaxResults set at 5. The service returns the first batch of results (up to 5) and a NextToken value. To see the next batch of results, you can submit the ListEntitlements request a second time and specify the NextToken value." +} +""" +ListEntitlements() = mediaconnect("GET", "/v1/entitlements") +ListEntitlements(args) = mediaconnect("GET", "/v1/entitlements", args) + +""" + CreateFlow() + +Creates a new flow. The request must include one source. The request optionally can include outputs (up to 50) and entitlements (up to 50). + +Required Parameters +{ + "Name": "The name of the flow." +} + +Optional Parameters +{ + "Source": "", + "SourceFailoverConfig": "", + "AvailabilityZone": "The Availability Zone that you want to create the flow in. These options are limited to the Availability Zones within the current AWS Region.", + "Sources": "", + "Entitlements": "The entitlements that you want to grant on a flow.", + "Outputs": "The outputs that you want to add to this flow." +} +""" +CreateFlow(args) = mediaconnect("POST", "/v1/flows", args) + +""" + RemoveFlowOutput() + +Removes an output from an existing flow. This request can be made only on an output that does not have an entitlement associated with it. If the output has an entitlement, you must revoke the entitlement instead. When an entitlement is revoked from a flow, the service automatically removes the associated output. + +Required Parameters +{ + "OutputArn": "The ARN of the output that you want to remove.", + "FlowArn": "The flow that you want to remove an output from." +} +""" +RemoveFlowOutput(args) = mediaconnect("DELETE", "/v1/flows/{flowArn}/outputs/{outputArn}", args) + +""" + GrantFlowEntitlements() + +Grants entitlements to an existing flow. + +Required Parameters +{ + "FlowArn": "The flow that you want to grant entitlements on.", + "Entitlements": "The list of entitlements that you want to grant." +} +""" +GrantFlowEntitlements(args) = mediaconnect("POST", "/v1/flows/{flowArn}/entitlements", args) diff --git a/src/services/mediaconvert.jl b/src/services/mediaconvert.jl new file mode 100644 index 0000000000..957aef79f8 --- /dev/null +++ b/src/services/mediaconvert.jl @@ -0,0 +1,399 @@ +include("../AWSServices.jl") +using .AWSServices: mediaconvert + +""" + ListTagsForResource() + +Retrieve the tags for a MediaConvert resource. + +Required Parameters +{ + "Arn": "The Amazon Resource Name (ARN) of the resource that you want to list tags for. To get the ARN, send a GET request with the resource name." +} +""" +ListTagsForResource(args) = mediaconvert("GET", "/2017-08-29/tags/{arn}", args) + +""" + CreateJobTemplate() + +Create a new job template. For information about job templates see the User Guide at http://docs.aws.amazon.com/mediaconvert/latest/ug/what-is.html + +Required Parameters +{ + "Name": "The name of the job template you are creating.", + "Settings": "JobTemplateSettings contains all the transcode settings saved in the template that will be applied to jobs created from it." +} + +Optional Parameters +{ + "AccelerationSettings": "Accelerated transcoding can significantly speed up jobs with long, visually complex content. Outputs that use this feature incur pro-tier pricing. For information about feature limitations, see the AWS Elemental MediaConvert User Guide.", + "Description": "Optional. A description of the job template you are creating.", + "StatusUpdateInterval": "Specify how often MediaConvert sends STATUS_UPDATE events to Amazon CloudWatch Events. Set the interval, in seconds, between status updates. MediaConvert sends an update at this interval from the time the service begins processing your job to the time it completes the transcode or encounters an error.", + "Tags": "The tags that you want to add to the resource. You can tag resources with a key-value pair or with only a key.", + "Category": "Optional. A category for the job template you are creating", + "Priority": "Specify the relative priority for this job. In any given queue, the service begins processing the job with the highest value first. When more than one job has the same priority, the service begins processing the job that you submitted first. If you don't specify a priority, the service uses the default value 0.", + "Queue": "Optional. The queue that jobs created from this template are assigned to. If you don't specify this, jobs will go to the default queue." +} +""" +CreateJobTemplate(args) = mediaconvert("POST", "/2017-08-29/jobTemplates", args) + +""" + GetQueue() + +Retrieve the JSON for a specific queue. + +Required Parameters +{ + "Name": "The name of the queue that you want information about." +} +""" +GetQueue(args) = mediaconvert("GET", "/2017-08-29/queues/{name}", args) + +""" + CreateQueue() + +Create a new transcoding queue. For information about queues, see Working With Queues in the User Guide at https://docs.aws.amazon.com/mediaconvert/latest/ug/working-with-queues.html + +Required Parameters +{ + "Name": "The name of the queue that you are creating." +} + +Optional Parameters +{ + "Description": "Optional. A description of the queue that you are creating.", + "Tags": "The tags that you want to add to the resource. You can tag resources with a key-value pair or with only a key.", + "PricingPlan": "Specifies whether the pricing plan for the queue is on-demand or reserved. For on-demand, you pay per minute, billed in increments of .01 minute. For reserved, you pay for the transcoding capacity of the entire queue, regardless of how much or how little you use it. Reserved pricing requires a 12-month commitment. When you use the API to create a queue, the default is on-demand.", + "Status": "Initial state of the queue. If you create a paused queue, then jobs in that queue won't begin.", + "ReservationPlanSettings": "Details about the pricing plan for your reserved queue. Required for reserved queues and not applicable to on-demand queues." +} +""" +CreateQueue(args) = mediaconvert("POST", "/2017-08-29/queues", args) + +""" + DeleteQueue() + +Permanently delete a queue you have created. + +Required Parameters +{ + "Name": "The name of the queue that you want to delete." +} +""" +DeleteQueue(args) = mediaconvert("DELETE", "/2017-08-29/queues/{name}", args) + +""" + UpdateQueue() + +Modify one of your existing queues. + +Required Parameters +{ + "Name": "The name of the queue that you are modifying." +} + +Optional Parameters +{ + "Description": "The new description for the queue, if you are changing it.", + "Status": "Pause or activate a queue by changing its status between ACTIVE and PAUSED. If you pause a queue, jobs in that queue won't begin. Jobs that are running when you pause the queue continue to run until they finish or result in an error.", + "ReservationPlanSettings": "The new details of your pricing plan for your reserved queue. When you set up a new pricing plan to replace an expired one, you enter into another 12-month commitment. When you add capacity to your queue by increasing the number of RTS, you extend the term of your commitment to 12 months from when you add capacity. After you make these commitments, you can't cancel them." +} +""" +UpdateQueue(args) = mediaconvert("PUT", "/2017-08-29/queues/{name}", args) + +""" + ListPresets() + +Retrieve a JSON array of up to twenty of your presets. This will return the presets themselves, not just a list of them. To retrieve the next twenty presets, use the nextToken string returned with the array. + +Optional Parameters +{ + "MaxResults": "Optional. Number of presets, up to twenty, that will be returned at one time", + "NextToken": "Use this string, provided with the response to a previous request, to request the next batch of presets.", + "Order": "When you request lists of resources, you can optionally specify whether they are sorted in ASCENDING or DESCENDING order. Default varies by resource.", + "Category": "Optionally, specify a preset category to limit responses to only presets from that category.", + "ListBy": "Optional. When you request a list of presets, you can choose to list them alphabetically by NAME or chronologically by CREATION_DATE. If you don't specify, the service will list them by name." +} +""" +ListPresets() = mediaconvert("GET", "/2017-08-29/presets") +ListPresets(args) = mediaconvert("GET", "/2017-08-29/presets", args) + +""" + CancelJob() + +Permanently cancel a job. Once you have canceled a job, you can't start it again. + +Required Parameters +{ + "Id": "The Job ID of the job to be cancelled." +} +""" +CancelJob(args) = mediaconvert("DELETE", "/2017-08-29/jobs/{id}", args) + +""" + CreateJob() + +Create a new transcoding job. For information about jobs and job settings, see the User Guide at http://docs.aws.amazon.com/mediaconvert/latest/ug/what-is.html + +Required Parameters +{ + "Role": "Required. The IAM role you use for creating this job. For details about permissions, see the User Guide topic at the User Guide at http://docs.aws.amazon.com/mediaconvert/latest/ug/iam-role.html.", + "Settings": "JobSettings contains all the transcode settings for a job." +} + +Optional Parameters +{ + "AccelerationSettings": "Accelerated transcoding can significantly speed up jobs with long, visually complex content. Outputs that use this feature incur pro-tier pricing. For information about feature limitations, see the AWS Elemental MediaConvert User Guide.", + "BillingTagsSource": "Optional. Choose a tag type that AWS Billing and Cost Management will use to sort your AWS Elemental MediaConvert costs on any billing report that you set up. Any transcoding outputs that don't have an associated tag will appear in your billing report unsorted. If you don't choose a valid value for this field, your job outputs will appear on the billing report unsorted.", + "StatusUpdateInterval": "Specify how often MediaConvert sends STATUS_UPDATE events to Amazon CloudWatch Events. Set the interval, in seconds, between status updates. MediaConvert sends an update at this interval from the time the service begins processing your job to the time it completes the transcode or encounters an error.", + "Tags": "The tags that you want to add to the resource. You can tag resources with a key-value pair or with only a key.", + "UserMetadata": "User-defined metadata that you want to associate with an MediaConvert job. You specify metadata in key/value pairs.", + "SimulateReservedQueue": "Enable this setting when you run a test job to estimate how many reserved transcoding slots (RTS) you need. When this is enabled, MediaConvert runs your job from an on-demand queue with similar performance to what you will see with one RTS in a reserved queue. This setting is disabled by default.", + "ClientRequestToken": "Idempotency token for CreateJob operation.", + "Priority": "Specify the relative priority for this job. In any given queue, the service begins processing the job with the highest value first. When more than one job has the same priority, the service begins processing the job that you submitted first. If you don't specify a priority, the service uses the default value 0.", + "Queue": "Optional. When you create a job, you can specify a queue to send it to. If you don't specify, the job will go to the default queue. For more about queues, see the User Guide topic at http://docs.aws.amazon.com/mediaconvert/latest/ug/what-is.html.", + "JobTemplate": "When you create a job, you can either specify a job template or specify the transcoding settings individually" +} +""" +CreateJob(args) = mediaconvert("POST", "/2017-08-29/jobs", args) + +""" + TagResource() + +Add tags to a MediaConvert queue, preset, or job template. For information about tagging, see the User Guide at https://docs.aws.amazon.com/mediaconvert/latest/ug/tagging-resources.html + +Required Parameters +{ + "Arn": "The Amazon Resource Name (ARN) of the resource that you want to tag. To get the ARN, send a GET request with the resource name.", + "Tags": "The tags that you want to add to the resource. You can tag resources with a key-value pair or with only a key." +} +""" +TagResource(args) = mediaconvert("POST", "/2017-08-29/tags", args) + +""" + UntagResource() + +Remove tags from a MediaConvert queue, preset, or job template. For information about tagging, see the User Guide at https://docs.aws.amazon.com/mediaconvert/latest/ug/tagging-resources.html + +Required Parameters +{ + "Arn": "The Amazon Resource Name (ARN) of the resource that you want to remove tags from. To get the ARN, send a GET request with the resource name." +} + +Optional Parameters +{ + "TagKeys": "The keys of the tags that you want to remove from the resource." +} +""" +UntagResource(args) = mediaconvert("PUT", "/2017-08-29/tags/{arn}", args) + +""" + GetJob() + +Retrieve the JSON for a specific completed transcoding job. + +Required Parameters +{ + "Id": "the job ID of the job." +} +""" +GetJob(args) = mediaconvert("GET", "/2017-08-29/jobs/{id}", args) + +""" + AssociateCertificate() + +Associates an AWS Certificate Manager (ACM) Amazon Resource Name (ARN) with AWS Elemental MediaConvert. + +Required Parameters +{ + "Arn": "The ARN of the ACM certificate that you want to associate with your MediaConvert resource." +} +""" +AssociateCertificate(args) = mediaconvert("POST", "/2017-08-29/certificates", args) + +""" + UpdateJobTemplate() + +Modify one of your existing job templates. + +Required Parameters +{ + "Name": "The name of the job template you are modifying" +} + +Optional Parameters +{ + "AccelerationSettings": "Accelerated transcoding can significantly speed up jobs with long, visually complex content. Outputs that use this feature incur pro-tier pricing. For information about feature limitations, see the AWS Elemental MediaConvert User Guide.", + "Description": "The new description for the job template, if you are changing it.", + "StatusUpdateInterval": "Specify how often MediaConvert sends STATUS_UPDATE events to Amazon CloudWatch Events. Set the interval, in seconds, between status updates. MediaConvert sends an update at this interval from the time the service begins processing your job to the time it completes the transcode or encounters an error.", + "Category": "The new category for the job template, if you are changing it.", + "Priority": "Specify the relative priority for this job. In any given queue, the service begins processing the job with the highest value first. When more than one job has the same priority, the service begins processing the job that you submitted first. If you don't specify a priority, the service uses the default value 0.", + "Queue": "The new queue for the job template, if you are changing it.", + "Settings": "JobTemplateSettings contains all the transcode settings saved in the template that will be applied to jobs created from it." +} +""" +UpdateJobTemplate(args) = mediaconvert("PUT", "/2017-08-29/jobTemplates/{name}", args) + +""" + DeleteJobTemplate() + +Permanently delete a job template you have created. + +Required Parameters +{ + "Name": "The name of the job template to be deleted." +} +""" +DeleteJobTemplate(args) = mediaconvert("DELETE", "/2017-08-29/jobTemplates/{name}", args) + +""" + DeletePreset() + +Permanently delete a preset you have created. + +Required Parameters +{ + "Name": "The name of the preset to be deleted." +} +""" +DeletePreset(args) = mediaconvert("DELETE", "/2017-08-29/presets/{name}", args) + +""" + DescribeEndpoints() + +Send an request with an empty body to the regional API endpoint to get your account API endpoint. + +Optional Parameters +{ + "MaxResults": "Optional. Max number of endpoints, up to twenty, that will be returned at one time.", + "Mode": "Optional field, defaults to DEFAULT. Specify DEFAULT for this operation to return your endpoints if any exist, or to create an endpoint for you and return it if one doesn't already exist. Specify GET_ONLY to return your endpoints if any exist, or an empty list if none exist.", + "NextToken": "Use this string, provided with the response to a previous request, to request the next batch of endpoints." +} +""" +DescribeEndpoints() = mediaconvert("POST", "/2017-08-29/endpoints") +DescribeEndpoints(args) = mediaconvert("POST", "/2017-08-29/endpoints", args) + +""" + ListJobTemplates() + +Retrieve a JSON array of up to twenty of your job templates. This will return the templates themselves, not just a list of them. To retrieve the next twenty templates, use the nextToken string returned with the array + +Optional Parameters +{ + "MaxResults": "Optional. Number of job templates, up to twenty, that will be returned at one time.", + "NextToken": "Use this string, provided with the response to a previous request, to request the next batch of job templates.", + "Order": "When you request lists of resources, you can optionally specify whether they are sorted in ASCENDING or DESCENDING order. Default varies by resource.", + "Category": "Optionally, specify a job template category to limit responses to only job templates from that category.", + "ListBy": "Optional. When you request a list of job templates, you can choose to list them alphabetically by NAME or chronologically by CREATION_DATE. If you don't specify, the service will list them by name." +} +""" +ListJobTemplates() = mediaconvert("GET", "/2017-08-29/jobTemplates") +ListJobTemplates(args) = mediaconvert("GET", "/2017-08-29/jobTemplates", args) + +""" + CreatePreset() + +Create a new preset. For information about job templates see the User Guide at http://docs.aws.amazon.com/mediaconvert/latest/ug/what-is.html + +Required Parameters +{ + "Name": "The name of the preset you are creating.", + "Settings": "Settings for preset" +} + +Optional Parameters +{ + "Description": "Optional. A description of the preset you are creating.", + "Tags": "The tags that you want to add to the resource. You can tag resources with a key-value pair or with only a key.", + "Category": "Optional. A category for the preset you are creating." +} +""" +CreatePreset(args) = mediaconvert("POST", "/2017-08-29/presets", args) + +""" + ListJobs() + +Retrieve a JSON array of up to twenty of your most recently created jobs. This array includes in-process, completed, and errored jobs. This will return the jobs themselves, not just a list of the jobs. To retrieve the twenty next most recent jobs, use the nextToken string returned with the array. + +Optional Parameters +{ + "MaxResults": "Optional. Number of jobs, up to twenty, that will be returned at one time.", + "NextToken": "Use this string, provided with the response to a previous request, to request the next batch of jobs.", + "Order": "When you request lists of resources, you can optionally specify whether they are sorted in ASCENDING or DESCENDING order. Default varies by resource.", + "Status": "A job's status can be SUBMITTED, PROGRESSING, COMPLETE, CANCELED, or ERROR.", + "Queue": "Provide a queue name to get back only jobs from that queue." +} +""" +ListJobs() = mediaconvert("GET", "/2017-08-29/jobs") +ListJobs(args) = mediaconvert("GET", "/2017-08-29/jobs", args) + +""" + DisassociateCertificate() + +Removes an association between the Amazon Resource Name (ARN) of an AWS Certificate Manager (ACM) certificate and an AWS Elemental MediaConvert resource. + +Required Parameters +{ + "Arn": "The ARN of the ACM certificate that you want to disassociate from your MediaConvert resource." +} +""" +DisassociateCertificate(args) = mediaconvert("DELETE", "/2017-08-29/certificates/{arn}", args) + +""" + UpdatePreset() + +Modify one of your existing presets. + +Required Parameters +{ + "Name": "The name of the preset you are modifying." +} + +Optional Parameters +{ + "Description": "The new description for the preset, if you are changing it.", + "Category": "The new category for the preset, if you are changing it.", + "Settings": "Settings for preset" +} +""" +UpdatePreset(args) = mediaconvert("PUT", "/2017-08-29/presets/{name}", args) + +""" + ListQueues() + +Retrieve a JSON array of up to twenty of your queues. This will return the queues themselves, not just a list of them. To retrieve the next twenty queues, use the nextToken string returned with the array. + +Optional Parameters +{ + "MaxResults": "Optional. Number of queues, up to twenty, that will be returned at one time.", + "NextToken": "Use this string, provided with the response to a previous request, to request the next batch of queues.", + "Order": "When you request lists of resources, you can optionally specify whether they are sorted in ASCENDING or DESCENDING order. Default varies by resource.", + "ListBy": "Optional. When you request a list of queues, you can choose to list them alphabetically by NAME or chronologically by CREATION_DATE. If you don't specify, the service will list them by creation date." +} +""" +ListQueues() = mediaconvert("GET", "/2017-08-29/queues") +ListQueues(args) = mediaconvert("GET", "/2017-08-29/queues", args) + +""" + GetJobTemplate() + +Retrieve the JSON for a specific job template. + +Required Parameters +{ + "Name": "The name of the job template." +} +""" +GetJobTemplate(args) = mediaconvert("GET", "/2017-08-29/jobTemplates/{name}", args) + +""" + GetPreset() + +Retrieve the JSON for a specific preset. + +Required Parameters +{ + "Name": "The name of the preset." +} +""" +GetPreset(args) = mediaconvert("GET", "/2017-08-29/presets/{name}", args) diff --git a/src/services/medialive.jl b/src/services/medialive.jl new file mode 100644 index 0000000000..d13e7aa42f --- /dev/null +++ b/src/services/medialive.jl @@ -0,0 +1,667 @@ +include("../AWSServices.jl") +using .AWSServices: medialive + +""" + CreateInput() + +Create an input + +Optional Parameters +{ + "Destinations": "Destination settings for PUSH type inputs.", + "InputSecurityGroups": "A list of security groups referenced by IDs to attach to the input.", + "Tags": "A collection of key-value pairs.", + "Sources": "The source URLs for a PULL-type input. Every PULL type input needs\nexactly two source URLs for redundancy.\nOnly specify sources for PULL type Inputs. Leave Destinations empty.\n", + "MediaConnectFlows": "A list of the MediaConnect Flows that you want to use in this input. You can specify as few as one\nFlow and presently, as many as two. The only requirement is when you have more than one is that each Flow is in a\nseparate Availability Zone as this ensures your EML input is redundant to AZ issues.\n", + "Type": "", + "Vpc": "", + "Name": "Name of the input.", + "RequestId": "Unique identifier of the request to ensure the request is handled\nexactly once in case of retries.\n", + "RoleArn": "The Amazon Resource Name (ARN) of the role this input assumes during and after creation." +} +""" +CreateInput() = medialive("POST", "/prod/inputs") +CreateInput(args) = medialive("POST", "/prod/inputs", args) + +""" + DeleteInputSecurityGroup() + +Deletes an Input Security Group + +Required Parameters +{ + "InputSecurityGroupId": "The Input Security Group to delete" +} +""" +DeleteInputSecurityGroup(args) = medialive("DELETE", "/prod/inputSecurityGroups/{inputSecurityGroupId}", args) + +""" + DescribeInputSecurityGroup() + +Produces a summary of an Input Security Group + +Required Parameters +{ + "InputSecurityGroupId": "The id of the Input Security Group to describe" +} +""" +DescribeInputSecurityGroup(args) = medialive("GET", "/prod/inputSecurityGroups/{inputSecurityGroupId}", args) + +""" + ListInputSecurityGroups() + +Produces a list of Input Security Groups for an account + +Optional Parameters +{ + "MaxResults": "", + "NextToken": "" +} +""" +ListInputSecurityGroups() = medialive("GET", "/prod/inputSecurityGroups") +ListInputSecurityGroups(args) = medialive("GET", "/prod/inputSecurityGroups", args) + +""" + DescribeInput() + +Produces details about an input + +Required Parameters +{ + "InputId": "Unique ID of the input" +} +""" +DescribeInput(args) = medialive("GET", "/prod/inputs/{inputId}", args) + +""" + UpdateInputSecurityGroup() + +Update an Input Security Group's Whilelists. + +Required Parameters +{ + "InputSecurityGroupId": "The id of the Input Security Group to update." +} + +Optional Parameters +{ + "Tags": "A collection of key-value pairs.", + "WhitelistRules": "List of IPv4 CIDR addresses to whitelist" +} +""" +UpdateInputSecurityGroup(args) = medialive("PUT", "/prod/inputSecurityGroups/{inputSecurityGroupId}", args) + +""" + UpdateInput() + +Updates an input. + +Required Parameters +{ + "InputId": "Unique ID of the input." +} + +Optional Parameters +{ + "Destinations": "Destination settings for PUSH type inputs.", + "InputSecurityGroups": "A list of security groups referenced by IDs to attach to the input.", + "Sources": "The source URLs for a PULL-type input. Every PULL type input needs\nexactly two source URLs for redundancy.\nOnly specify sources for PULL type Inputs. Leave Destinations empty.\n", + "MediaConnectFlows": "A list of the MediaConnect Flow ARNs that you want to use as the source of the input. You can specify as few as one\nFlow and presently, as many as two. The only requirement is when you have more than one is that each Flow is in a\nseparate Availability Zone as this ensures your EML input is redundant to AZ issues.\n", + "Name": "Name of the input.", + "RoleArn": "The Amazon Resource Name (ARN) of the role this input assumes during and after creation." +} +""" +UpdateInput(args) = medialive("PUT", "/prod/inputs/{inputId}", args) + +""" + DeleteInput() + +Deletes the input end point + +Required Parameters +{ + "InputId": "Unique ID of the input" +} +""" +DeleteInput(args) = medialive("DELETE", "/prod/inputs/{inputId}", args) + +""" + DeleteSchedule() + +Delete all schedule actions on a channel. + +Required Parameters +{ + "ChannelId": "Id of the channel whose schedule is being deleted." +} +""" +DeleteSchedule(args) = medialive("DELETE", "/prod/channels/{channelId}/schedule", args) + +""" + ListMultiplexes() + +Retrieve a list of the existing multiplexes. + +Optional Parameters +{ + "MaxResults": "The maximum number of items to return.", + "NextToken": "The token to retrieve the next page of results." +} +""" +ListMultiplexes() = medialive("GET", "/prod/multiplexes") +ListMultiplexes(args) = medialive("GET", "/prod/multiplexes", args) + +""" + DeleteMultiplex() + +Delete a multiplex. The multiplex must be idle. + +Required Parameters +{ + "MultiplexId": "The ID of the multiplex." +} +""" +DeleteMultiplex(args) = medialive("DELETE", "/prod/multiplexes/{multiplexId}", args) + +""" + UpdateChannelClass() + +Changes the class of the channel. + +Required Parameters +{ + "ChannelId": "Channel Id of the channel whose class should be updated.", + "ChannelClass": "The channel class that you wish to update this channel to use." +} + +Optional Parameters +{ + "Destinations": "A list of output destinations for this channel." +} +""" +UpdateChannelClass(args) = medialive("PUT", "/prod/channels/{channelId}/channelClass", args) + +""" + UpdateReservation() + +Update reservation. + +Required Parameters +{ + "ReservationId": "Unique reservation ID, e.g. '1234567'" +} + +Optional Parameters +{ + "Name": "Name of the reservation" +} +""" +UpdateReservation(args) = medialive("PUT", "/prod/reservations/{reservationId}", args) + +""" + PurchaseOffering() + +Purchase an offering and create a reservation. + +Required Parameters +{ + "OfferingId": "Offering to purchase, e.g. '87654321'", + "Count": "Number of resources" +} + +Optional Parameters +{ + "Start": "Requested reservation start time (UTC) in ISO-8601 format. The specified time must be between the first day of the current month and one year from now. If no value is given, the default is now.", + "Tags": "A collection of key-value pairs", + "Name": "Name for the new reservation", + "RequestId": "Unique request ID to be specified. This is needed to prevent retries from creating multiple resources." +} +""" +PurchaseOffering(args) = medialive("POST", "/prod/offerings/{offeringId}/purchase", args) + +""" + ListOfferings() + +List offerings available for purchase. + +Optional Parameters +{ + "ResourceType": "Filter by resource type, 'INPUT', 'OUTPUT', 'MULTIPLEX', or 'CHANNEL'", + "Codec": "Filter by codec, 'AVC', 'HEVC', 'MPEG2', or 'AUDIO'", + "ChannelConfiguration": "Filter to offerings that match the configuration of an existing channel, e.g. '2345678' (a channel ID)\n", + "Duration": "Filter by offering duration, e.g. '12'", + "MaxResults": "", + "MaximumFramerate": "Filter by framerate, 'MAX_30_FPS' or 'MAX_60_FPS'", + "Resolution": "Filter by resolution, 'SD', 'HD', 'FHD', or 'UHD'", + "ChannelClass": "Filter by channel class, 'STANDARD' or 'SINGLE_PIPELINE'\n", + "MaximumBitrate": "Filter by bitrate, 'MAX_10_MBPS', 'MAX_20_MBPS', or 'MAX_50_MBPS'\n", + "VideoQuality": "Filter by video quality, 'STANDARD', 'ENHANCED', or 'PREMIUM'\n", + "NextToken": "", + "SpecialFeature": "Filter by special feature, 'ADVANCED_AUDIO' or 'AUDIO_NORMALIZATION'\n" +} +""" +ListOfferings() = medialive("GET", "/prod/offerings") +ListOfferings(args) = medialive("GET", "/prod/offerings", args) + +""" + DeleteTags() + +Removes tags for a resource + +Required Parameters +{ + "ResourceArn": "", + "TagKeys": "An array of tag keys to delete" +} +""" +DeleteTags(args) = medialive("DELETE", "/prod/tags/{resource-arn}", args) + +""" + UpdateMultiplex() + +Updates a multiplex. + +Required Parameters +{ + "MultiplexId": "ID of the multiplex to update." +} + +Optional Parameters +{ + "MultiplexSettings": "The new settings for a multiplex.", + "Name": "Name of the multiplex." +} +""" +UpdateMultiplex(args) = medialive("PUT", "/prod/multiplexes/{multiplexId}", args) + +""" + DescribeOffering() + +Get details for an offering. + +Required Parameters +{ + "OfferingId": "Unique offering ID, e.g. '87654321'" +} +""" +DescribeOffering(args) = medialive("GET", "/prod/offerings/{offeringId}", args) + +""" + StartMultiplex() + +Start (run) the multiplex. Starting the multiplex does not start the channels. You must explicitly start each channel. + +Required Parameters +{ + "MultiplexId": "The ID of the multiplex." +} +""" +StartMultiplex(args) = medialive("POST", "/prod/multiplexes/{multiplexId}/start", args) + +""" + CreateTags() + +Create tags for a resource + +Required Parameters +{ + "ResourceArn": "" +} + +Optional Parameters +{ + "Tags": "" +} +""" +CreateTags(args) = medialive("POST", "/prod/tags/{resource-arn}", args) + +""" + StopMultiplex() + +Stops a running multiplex. If the multiplex isn't running, this action has no effect. + +Required Parameters +{ + "MultiplexId": "The ID of the multiplex." +} +""" +StopMultiplex(args) = medialive("POST", "/prod/multiplexes/{multiplexId}/stop", args) + +""" + CreateInputSecurityGroup() + +Creates a Input Security Group + +Optional Parameters +{ + "Tags": "A collection of key-value pairs.", + "WhitelistRules": "List of IPv4 CIDR addresses to whitelist" +} +""" +CreateInputSecurityGroup() = medialive("POST", "/prod/inputSecurityGroups") +CreateInputSecurityGroup(args) = medialive("POST", "/prod/inputSecurityGroups", args) + +""" + ListTagsForResource() + +Produces list of tags that have been created for a resource + +Required Parameters +{ + "ResourceArn": "" +} +""" +ListTagsForResource(args) = medialive("GET", "/prod/tags/{resource-arn}", args) + +""" + DescribeSchedule() + +Get a channel schedule + +Required Parameters +{ + "ChannelId": "Id of the channel whose schedule is being updated." +} + +Optional Parameters +{ + "MaxResults": "", + "NextToken": "" +} +""" +DescribeSchedule(args) = medialive("GET", "/prod/channels/{channelId}/schedule", args) + +""" + CreateChannel() + +Creates a new channel + +Optional Parameters +{ + "InputAttachments": "List of input attachments for channel.", + "Tags": "A collection of key-value pairs.", + "LogLevel": "The log level to write to CloudWatch Logs.", + "Name": "Name of channel.", + "Reserved": "Deprecated field that's only usable by whitelisted customers.", + "Destinations": "", + "ChannelClass": "The class for this channel. STANDARD for a channel with two pipelines or SINGLE_PIPELINE for a channel with one pipeline.", + "RoleArn": "An optional Amazon Resource Name (ARN) of the role to assume when running the Channel.", + "RequestId": "Unique request ID to be specified. This is needed to prevent retries from\ncreating multiple resources.\n", + "EncoderSettings": "", + "InputSpecification": "Specification of input for this channel (max. bitrate, resolution, codec, etc.)" +} +""" +CreateChannel() = medialive("POST", "/prod/channels") +CreateChannel(args) = medialive("POST", "/prod/channels", args) + +""" + DeleteChannel() + +Starts deletion of channel. The associated outputs are also deleted. + +Required Parameters +{ + "ChannelId": "Unique ID of the channel." +} +""" +DeleteChannel(args) = medialive("DELETE", "/prod/channels/{channelId}", args) + +""" + UpdateMultiplexProgram() + +Update a program in a multiplex. + +Required Parameters +{ + "ProgramName": "The name of the program to update.", + "MultiplexId": "The ID of the multiplex of the program to update." +} + +Optional Parameters +{ + "MultiplexProgramSettings": "The new settings for a multiplex program." +} +""" +UpdateMultiplexProgram(args) = medialive("PUT", "/prod/multiplexes/{multiplexId}/programs/{programName}", args) + +""" + DescribeMultiplex() + +Gets details about a multiplex. + +Required Parameters +{ + "MultiplexId": "The ID of the multiplex." +} +""" +DescribeMultiplex(args) = medialive("GET", "/prod/multiplexes/{multiplexId}", args) + +""" + CreateMultiplex() + +Create a new multiplex. + +Required Parameters +{ + "MultiplexSettings": "Configuration for a multiplex event.", + "AvailabilityZones": "A list of availability zones for the multiplex. You must specify exactly two.", + "RequestId": "Unique request ID. This prevents retries from creating multiple\nresources.\n", + "Name": "Name of multiplex." +} + +Optional Parameters +{ + "Tags": "A collection of key-value pairs." +} +""" +CreateMultiplex(args) = medialive("POST", "/prod/multiplexes", args) + +""" + DeleteMultiplexProgram() + +Delete a program from a multiplex. + +Required Parameters +{ + "ProgramName": "The multiplex program name.", + "MultiplexId": "The ID of the multiplex that the program belongs to." +} +""" +DeleteMultiplexProgram(args) = medialive("DELETE", "/prod/multiplexes/{multiplexId}/programs/{programName}", args) + +""" + DescribeMultiplexProgram() + +Get the details for a program in a multiplex. + +Required Parameters +{ + "ProgramName": "The name of the program.", + "MultiplexId": "The ID of the multiplex that the program belongs to." +} +""" +DescribeMultiplexProgram(args) = medialive("GET", "/prod/multiplexes/{multiplexId}/programs/{programName}", args) + +""" + ListMultiplexPrograms() + +List the programs that currently exist for a specific multiplex. + +Required Parameters +{ + "MultiplexId": "The ID of the multiplex that the programs belong to." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of items to return.", + "NextToken": "The token to retrieve the next page of results." +} +""" +ListMultiplexPrograms(args) = medialive("GET", "/prod/multiplexes/{multiplexId}/programs", args) + +""" + StopChannel() + +Stops a running channel + +Required Parameters +{ + "ChannelId": "A request to stop a running channel" +} +""" +StopChannel(args) = medialive("POST", "/prod/channels/{channelId}/stop", args) + +""" + ListChannels() + +Produces list of channels that have been created + +Optional Parameters +{ + "MaxResults": "", + "NextToken": "" +} +""" +ListChannels() = medialive("GET", "/prod/channels") +ListChannels(args) = medialive("GET", "/prod/channels", args) + +""" + CreateMultiplexProgram() + +Create a new program in the multiplex. + +Required Parameters +{ + "MultiplexProgramSettings": "The settings for this multiplex program.", + "ProgramName": "Name of multiplex program.", + "MultiplexId": "ID of the multiplex where the program is to be created.", + "RequestId": "Unique request ID. This prevents retries from creating multiple\nresources.\n" +} +""" +CreateMultiplexProgram(args) = medialive("POST", "/prod/multiplexes/{multiplexId}/programs", args) + +""" + DescribeReservation() + +Get details for a reservation. + +Required Parameters +{ + "ReservationId": "Unique reservation ID, e.g. '1234567'" +} +""" +DescribeReservation(args) = medialive("GET", "/prod/reservations/{reservationId}", args) + +""" + ListReservations() + +List purchased reservations. + +Optional Parameters +{ + "MaxResults": "", + "VideoQuality": "Filter by video quality, 'STANDARD', 'ENHANCED', or 'PREMIUM'\n", + "Codec": "Filter by codec, 'AVC', 'HEVC', 'MPEG2', or 'AUDIO'", + "NextToken": "", + "MaximumFramerate": "Filter by framerate, 'MAX_30_FPS' or 'MAX_60_FPS'", + "ResourceType": "Filter by resource type, 'INPUT', 'OUTPUT', 'MULTIPLEX', or 'CHANNEL'", + "Resolution": "Filter by resolution, 'SD', 'HD', 'FHD', or 'UHD'", + "SpecialFeature": "Filter by special feature, 'ADVANCED_AUDIO' or 'AUDIO_NORMALIZATION'\n", + "ChannelClass": "Filter by channel class, 'STANDARD' or 'SINGLE_PIPELINE'\n", + "MaximumBitrate": "Filter by bitrate, 'MAX_10_MBPS', 'MAX_20_MBPS', or 'MAX_50_MBPS'\n" +} +""" +ListReservations() = medialive("GET", "/prod/reservations") +ListReservations(args) = medialive("GET", "/prod/reservations", args) + +""" + UpdateChannel() + +Updates a channel. + +Required Parameters +{ + "ChannelId": "channel ID" +} + +Optional Parameters +{ + "Name": "The name of the channel.", + "Destinations": "A list of output destinations for this channel.", + "InputAttachments": "", + "LogLevel": "The log level to write to CloudWatch Logs.", + "EncoderSettings": "The encoder settings for this channel.", + "RoleArn": "An optional Amazon Resource Name (ARN) of the role to assume when running the Channel. If you do not specify this on an update call but the role was previously set that role will be removed.", + "InputSpecification": "Specification of input for this channel (max. bitrate, resolution, codec, etc.)" +} +""" +UpdateChannel(args) = medialive("PUT", "/prod/channels/{channelId}", args) + +""" + BatchUpdateSchedule() + +Update a channel schedule + +Required Parameters +{ + "ChannelId": "Id of the channel whose schedule is being updated." +} + +Optional Parameters +{ + "Deletes": "Schedule actions to delete from the schedule.", + "Creates": "Schedule actions to create in the schedule." +} +""" +BatchUpdateSchedule(args) = medialive("PUT", "/prod/channels/{channelId}/schedule", args) + +""" + DeleteReservation() + +Delete an expired reservation. + +Required Parameters +{ + "ReservationId": "Unique reservation ID, e.g. '1234567'" +} +""" +DeleteReservation(args) = medialive("DELETE", "/prod/reservations/{reservationId}", args) + +""" + ListInputs() + +Produces list of inputs that have been created + +Optional Parameters +{ + "MaxResults": "", + "NextToken": "" +} +""" +ListInputs() = medialive("GET", "/prod/inputs") +ListInputs(args) = medialive("GET", "/prod/inputs", args) + +""" + DescribeChannel() + +Gets details about a channel + +Required Parameters +{ + "ChannelId": "channel ID" +} +""" +DescribeChannel(args) = medialive("GET", "/prod/channels/{channelId}", args) + +""" + StartChannel() + +Starts an existing channel + +Required Parameters +{ + "ChannelId": "A request to start a channel" +} +""" +StartChannel(args) = medialive("POST", "/prod/channels/{channelId}/start", args) diff --git a/src/services/mediapackage.jl b/src/services/mediapackage.jl new file mode 100644 index 0000000000..98a461b13a --- /dev/null +++ b/src/services/mediapackage.jl @@ -0,0 +1,277 @@ +include("../AWSServices.jl") +using .AWSServices: mediapackage + +""" + ListTagsForResource() + + + +Required Parameters +{ + "ResourceArn": "" +} +""" +ListTagsForResource(args) = mediapackage("GET", "/tags/{resource-arn}", args) + +""" + DescribeOriginEndpoint() + +Gets details about an existing OriginEndpoint. + +Required Parameters +{ + "Id": "The ID of the OriginEndpoint." +} +""" +DescribeOriginEndpoint(args) = mediapackage("GET", "/origin_endpoints/{id}", args) + +""" + ListChannels() + +Returns a collection of Channels. + +Optional Parameters +{ + "MaxResults": "Upper bound on number of records to return.", + "NextToken": "A token used to resume pagination from the end of a previous request." +} +""" +ListChannels() = mediapackage("GET", "/channels") +ListChannels(args) = mediapackage("GET", "/channels", args) + +""" + ListHarvestJobs() + +Returns a collection of HarvestJob records. + +Optional Parameters +{ + "MaxResults": "The upper bound on the number of records to return.", + "NextToken": "A token used to resume pagination from the end of a previous request.", + "IncludeChannelId": "When specified, the request will return only HarvestJobs associated with the given Channel ID.", + "IncludeStatus": "When specified, the request will return only HarvestJobs in the given status." +} +""" +ListHarvestJobs() = mediapackage("GET", "/harvest_jobs") +ListHarvestJobs(args) = mediapackage("GET", "/harvest_jobs", args) + +""" + UpdateChannel() + +Updates an existing Channel. + +Required Parameters +{ + "Id": "The ID of the Channel to update." +} + +Optional Parameters +{ + "Description": "A short text description of the Channel." +} +""" +UpdateChannel(args) = mediapackage("PUT", "/channels/{id}", args) + +""" + UpdateOriginEndpoint() + +Updates an existing OriginEndpoint. + +Required Parameters +{ + "Id": "The ID of the OriginEndpoint to update." +} + +Optional Parameters +{ + "ManifestName": "A short string that will be appended to the end of the Endpoint URL.", + "Authorization": "", + "MssPackage": "", + "DashPackage": "", + "Whitelist": "A list of source IP CIDR blocks that will be allowed to access the OriginEndpoint.", + "CmafPackage": "", + "StartoverWindowSeconds": "Maximum duration (in seconds) of content to retain for startover playback.\nIf not specified, startover playback will be disabled for the OriginEndpoint.\n", + "TimeDelaySeconds": "Amount of delay (in seconds) to enforce on the playback of live content.\nIf not specified, there will be no time delay in effect for the OriginEndpoint.\n", + "Description": "A short text description of the OriginEndpoint.", + "HlsPackage": "", + "Origination": "Control whether origination of video is allowed for this OriginEndpoint. If set to ALLOW, the OriginEndpoint\nmay by requested, pursuant to any other form of access control. If set to DENY, the OriginEndpoint may not be\nrequested. This can be helpful for Live to VOD harvesting, or for temporarily disabling origination\n" +} +""" +UpdateOriginEndpoint(args) = mediapackage("PUT", "/origin_endpoints/{id}", args) + +""" + CreateChannel() + +Creates a new Channel. + +Required Parameters +{ + "Id": "The ID of the Channel. The ID must be unique within the region and it\ncannot be changed after a Channel is created.\n" +} + +Optional Parameters +{ + "Description": "A short text description of the Channel.", + "Tags": "" +} +""" +CreateChannel(args) = mediapackage("POST", "/channels", args) + +""" + CreateHarvestJob() + +Creates a new HarvestJob record. + +Required Parameters +{ + "StartTime": "The start of the time-window which will be harvested\n", + "Id": "The ID of the HarvestJob. The ID must be unique within the region\nand it cannot be changed after the HarvestJob is submitted\n", + "EndTime": "The end of the time-window which will be harvested\n", + "OriginEndpointId": "The ID of the OriginEndpoint that the HarvestJob will harvest from.\nThis cannot be changed after the HarvestJob is submitted.\n", + "S3Destination": "" +} +""" +CreateHarvestJob(args) = mediapackage("POST", "/harvest_jobs", args) + +""" + DeleteOriginEndpoint() + +Deletes an existing OriginEndpoint. + +Required Parameters +{ + "Id": "The ID of the OriginEndpoint to delete." +} +""" +DeleteOriginEndpoint(args) = mediapackage("DELETE", "/origin_endpoints/{id}", args) + +""" + DescribeChannel() + +Gets details about a Channel. + +Required Parameters +{ + "Id": "The ID of a Channel." +} +""" +DescribeChannel(args) = mediapackage("GET", "/channels/{id}", args) + +""" + DeleteChannel() + +Deletes an existing Channel. + +Required Parameters +{ + "Id": "The ID of the Channel to delete." +} +""" +DeleteChannel(args) = mediapackage("DELETE", "/channels/{id}", args) + +""" + TagResource() + + + +Required Parameters +{ + "ResourceArn": "", + "Tags": "" +} +""" +TagResource(args) = mediapackage("POST", "/tags/{resource-arn}", args) + +""" + DescribeHarvestJob() + +Gets details about an existing HarvestJob. + +Required Parameters +{ + "Id": "The ID of the HarvestJob." +} +""" +DescribeHarvestJob(args) = mediapackage("GET", "/harvest_jobs/{id}", args) + +""" + UntagResource() + + + +Required Parameters +{ + "ResourceArn": "", + "TagKeys": "The key(s) of tag to be deleted" +} +""" +UntagResource(args) = mediapackage("DELETE", "/tags/{resource-arn}", args) + +""" + CreateOriginEndpoint() + +Creates a new OriginEndpoint record. + +Required Parameters +{ + "Id": "The ID of the OriginEndpoint. The ID must be unique within the region\nand it cannot be changed after the OriginEndpoint is created.\n", + "ChannelId": "The ID of the Channel that the OriginEndpoint will be associated with.\nThis cannot be changed after the OriginEndpoint is created.\n" +} + +Optional Parameters +{ + "ManifestName": "A short string that will be used as the filename of the OriginEndpoint URL (defaults to \"index\").", + "Authorization": "", + "MssPackage": "", + "DashPackage": "", + "Whitelist": "A list of source IP CIDR blocks that will be allowed to access the OriginEndpoint.", + "Tags": "", + "CmafPackage": "", + "StartoverWindowSeconds": "Maximum duration (seconds) of content to retain for startover playback.\nIf not specified, startover playback will be disabled for the OriginEndpoint.\n", + "TimeDelaySeconds": "Amount of delay (seconds) to enforce on the playback of live content.\nIf not specified, there will be no time delay in effect for the OriginEndpoint.\n", + "Description": "A short text description of the OriginEndpoint.", + "HlsPackage": "", + "Origination": "Control whether origination of video is allowed for this OriginEndpoint. If set to ALLOW, the OriginEndpoint\nmay by requested, pursuant to any other form of access control. If set to DENY, the OriginEndpoint may not be\nrequested. This can be helpful for Live to VOD harvesting, or for temporarily disabling origination\n" +} +""" +CreateOriginEndpoint(args) = mediapackage("POST", "/origin_endpoints", args) + +""" + RotateChannelCredentials() + +Changes the Channel's first IngestEndpoint's username and password. WARNING - This API is deprecated. Please use RotateIngestEndpointCredentials instead + +Required Parameters +{ + "Id": "The ID of the channel to update." +} +""" +RotateChannelCredentials(args) = mediapackage("PUT", "/channels/{id}/credentials", args) + +""" + RotateIngestEndpointCredentials() + +Rotate the IngestEndpoint's username and password, as specified by the IngestEndpoint's id. + +Required Parameters +{ + "Id": "The ID of the channel the IngestEndpoint is on.", + "IngestEndpointId": "The id of the IngestEndpoint whose credentials should be rotated" +} +""" +RotateIngestEndpointCredentials(args) = mediapackage("PUT", "/channels/{id}/ingest_endpoints/{ingest_endpoint_id}/credentials", args) + +""" + ListOriginEndpoints() + +Returns a collection of OriginEndpoint records. + +Optional Parameters +{ + "MaxResults": "The upper bound on the number of records to return.", + "NextToken": "A token used to resume pagination from the end of a previous request.", + "ChannelId": "When specified, the request will return only OriginEndpoints associated with the given Channel ID." +} +""" +ListOriginEndpoints() = mediapackage("GET", "/origin_endpoints") +ListOriginEndpoints(args) = mediapackage("GET", "/origin_endpoints", args) diff --git a/src/services/mediapackage_vod.jl b/src/services/mediapackage_vod.jl new file mode 100644 index 0000000000..0885a13ae7 --- /dev/null +++ b/src/services/mediapackage_vod.jl @@ -0,0 +1,171 @@ +include("../AWSServices.jl") +using .AWSServices: mediapackage_vod + +""" + ListPackagingGroups() + +Returns a collection of MediaPackage VOD PackagingGroup resources. + +Optional Parameters +{ + "MaxResults": "Upper bound on number of records to return.", + "NextToken": "A token used to resume pagination from the end of a previous request." +} +""" +ListPackagingGroups() = mediapackage_vod("GET", "/packaging_groups") +ListPackagingGroups(args) = mediapackage_vod("GET", "/packaging_groups", args) + +""" + DescribePackagingGroup() + +Returns a description of a MediaPackage VOD PackagingGroup resource. + +Required Parameters +{ + "Id": "The ID of a MediaPackage VOD PackagingGroup resource." +} +""" +DescribePackagingGroup(args) = mediapackage_vod("GET", "/packaging_groups/{id}", args) + +""" + CreateAsset() + +Creates a new MediaPackage VOD Asset resource. + +Required Parameters +{ + "Id": "The unique identifier for the Asset.", + "SourceArn": "ARN of the source object in S3.", + "PackagingGroupId": "The ID of the PackagingGroup for the Asset.", + "SourceRoleArn": "The IAM role ARN used to access the source S3 bucket." +} + +Optional Parameters +{ + "ResourceId": "The resource ID to include in SPEKE key requests." +} +""" +CreateAsset(args) = mediapackage_vod("POST", "/assets", args) + +""" + CreatePackagingConfiguration() + +Creates a new MediaPackage VOD PackagingConfiguration resource. + +Required Parameters +{ + "Id": "The ID of the PackagingConfiguration.", + "PackagingGroupId": "The ID of a PackagingGroup." +} + +Optional Parameters +{ + "DashPackage": "", + "CmafPackage": "", + "HlsPackage": "", + "MssPackage": "" +} +""" +CreatePackagingConfiguration(args) = mediapackage_vod("POST", "/packaging_configurations", args) + +""" + DeleteAsset() + +Deletes an existing MediaPackage VOD Asset resource. + +Required Parameters +{ + "Id": "The ID of the MediaPackage VOD Asset resource to delete." +} +""" +DeleteAsset(args) = mediapackage_vod("DELETE", "/assets/{id}", args) + +""" + DeletePackagingGroup() + +Deletes a MediaPackage VOD PackagingGroup resource. + +Required Parameters +{ + "Id": "The ID of the MediaPackage VOD PackagingGroup resource to delete." +} +""" +DeletePackagingGroup(args) = mediapackage_vod("DELETE", "/packaging_groups/{id}", args) + +""" + DeletePackagingConfiguration() + +Deletes a MediaPackage VOD PackagingConfiguration resource. + +Required Parameters +{ + "Id": "The ID of the MediaPackage VOD PackagingConfiguration resource to delete." +} +""" +DeletePackagingConfiguration(args) = mediapackage_vod("DELETE", "/packaging_configurations/{id}", args) + +""" + DescribeAsset() + +Returns a description of a MediaPackage VOD Asset resource. + +Required Parameters +{ + "Id": "The ID of an MediaPackage VOD Asset resource." +} +""" +DescribeAsset(args) = mediapackage_vod("GET", "/assets/{id}", args) + +""" + DescribePackagingConfiguration() + +Returns a description of a MediaPackage VOD PackagingConfiguration resource. + +Required Parameters +{ + "Id": "The ID of a MediaPackage VOD PackagingConfiguration resource." +} +""" +DescribePackagingConfiguration(args) = mediapackage_vod("GET", "/packaging_configurations/{id}", args) + +""" + ListAssets() + +Returns a collection of MediaPackage VOD Asset resources. + +Optional Parameters +{ + "MaxResults": "Upper bound on number of records to return.", + "NextToken": "A token used to resume pagination from the end of a previous request.", + "PackagingGroupId": "Returns Assets associated with the specified PackagingGroup." +} +""" +ListAssets() = mediapackage_vod("GET", "/assets") +ListAssets(args) = mediapackage_vod("GET", "/assets", args) + +""" + CreatePackagingGroup() + +Creates a new MediaPackage VOD PackagingGroup resource. + +Required Parameters +{ + "Id": "The ID of the PackagingGroup." +} +""" +CreatePackagingGroup(args) = mediapackage_vod("POST", "/packaging_groups", args) + +""" + ListPackagingConfigurations() + +Returns a collection of MediaPackage VOD PackagingConfiguration resources. + +Optional Parameters +{ + "MaxResults": "Upper bound on number of records to return.", + "NextToken": "A token used to resume pagination from the end of a previous request.", + "PackagingGroupId": "Returns MediaPackage VOD PackagingConfigurations associated with the specified PackagingGroup." +} +""" +ListPackagingConfigurations() = mediapackage_vod("GET", "/packaging_configurations") +ListPackagingConfigurations(args) = mediapackage_vod("GET", "/packaging_configurations", args) diff --git a/src/services/mediastore.jl b/src/services/mediastore.jl new file mode 100644 index 0000000000..afa872291c --- /dev/null +++ b/src/services/mediastore.jl @@ -0,0 +1,231 @@ +include("../AWSServices.jl") +using .AWSServices: mediastore + +""" + ListTagsForResource() + +Returns a list of the tags assigned to the specified container. + +Required Parameters +{ + "Resource": "The Amazon Resource Name (ARN) for the container." +} +""" +ListTagsForResource(args) = mediastore("ListTagsForResource", args) + +""" + ListContainers() + +Lists the properties of all containers in AWS Elemental MediaStore. You can query to receive all the containers in one response. Or you can include the MaxResults parameter to receive a limited number of containers in each response. In this case, the response includes a token. To get the next set of containers, send the command again, this time with the NextToken parameter (with the returned token as its value). The next set of responses appears, with a token if there are still more containers to receive. See also DescribeContainer, which gets the properties of one container. + +Optional Parameters +{ + "MaxResults": "Enter the maximum number of containers in the response. Use from 1 to 255 characters. ", + "NextToken": "Only if you used MaxResults in the first command, enter the token (which was included in the previous response) to obtain the next set of containers. This token is included in a response only if there actually are more containers to list." +} +""" +ListContainers() = mediastore("ListContainers") +ListContainers(args) = mediastore("ListContainers", args) + +""" + DeleteCorsPolicy() + +Deletes the cross-origin resource sharing (CORS) configuration information that is set for the container. To use this operation, you must have permission to perform the MediaStore:DeleteCorsPolicy action. The container owner has this permission by default and can grant this permission to others. + +Required Parameters +{ + "ContainerName": "The name of the container to remove the policy from." +} +""" +DeleteCorsPolicy(args) = mediastore("DeleteCorsPolicy", args) + +""" + StartAccessLogging() + +Starts access logging on the specified container. When you enable access logging on a container, MediaStore delivers access logs for objects stored in that container to Amazon CloudWatch Logs. + +Required Parameters +{ + "ContainerName": "The name of the container that you want to start access logging on." +} +""" +StartAccessLogging(args) = mediastore("StartAccessLogging", args) + +""" + PutCorsPolicy() + +Sets the cross-origin resource sharing (CORS) configuration on a container so that the container can service cross-origin requests. For example, you might want to enable a request whose origin is http://www.example.com to access your AWS Elemental MediaStore container at my.example.container.com by using the browser's XMLHttpRequest capability. To enable CORS on a container, you attach a CORS policy to the container. In the CORS policy, you configure rules that identify origins and the HTTP methods that can be executed on your container. The policy can contain up to 398,000 characters. You can add up to 100 rules to a CORS policy. If more than one rule applies, the service uses the first applicable rule listed. To learn more about CORS, see Cross-Origin Resource Sharing (CORS) in AWS Elemental MediaStore. + +Required Parameters +{ + "ContainerName": "The name of the container that you want to assign the CORS policy to.", + "CorsPolicy": "The CORS policy to apply to the container. " +} +""" +PutCorsPolicy(args) = mediastore("PutCorsPolicy", args) + +""" + CreateContainer() + +Creates a storage container to hold objects. A container is similar to a bucket in the Amazon S3 service. + +Required Parameters +{ + "ContainerName": "The name for the container. The name must be from 1 to 255 characters. Container names must be unique to your AWS account within a specific region. As an example, you could create a container named movies in every region, as long as you don’t have an existing container with that name." +} + +Optional Parameters +{ + "Tags": "An array of key:value pairs that you define. These values can be anything that you want. Typically, the tag key represents a category (such as \"environment\") and the tag value represents a specific value within that category (such as \"test,\" \"development,\" or \"production\"). You can add up to 50 tags to each container. For more information about tagging, including naming and usage conventions, see Tagging Resources in MediaStore." +} +""" +CreateContainer(args) = mediastore("CreateContainer", args) + +""" + GetContainerPolicy() + +Retrieves the access policy for the specified container. For information about the data that is included in an access policy, see the AWS Identity and Access Management User Guide. + +Required Parameters +{ + "ContainerName": "The name of the container. " +} +""" +GetContainerPolicy(args) = mediastore("GetContainerPolicy", args) + +""" + DeleteLifecyclePolicy() + +Removes an object lifecycle policy from a container. It takes up to 20 minutes for the change to take effect. + +Required Parameters +{ + "ContainerName": "The name of the container that holds the object lifecycle policy." +} +""" +DeleteLifecyclePolicy(args) = mediastore("DeleteLifecyclePolicy", args) + +""" + DescribeContainer() + +Retrieves the properties of the requested container. This request is commonly used to retrieve the endpoint of a container. An endpoint is a value assigned by the service when a new container is created. A container's endpoint does not change after it has been assigned. The DescribeContainer request returns a single Container object based on ContainerName. To return all Container objects that are associated with a specified AWS account, use ListContainers. + +Optional Parameters +{ + "ContainerName": "The name of the container to query." +} +""" +DescribeContainer() = mediastore("DescribeContainer") +DescribeContainer(args) = mediastore("DescribeContainer", args) + +""" + GetLifecyclePolicy() + +Retrieves the object lifecycle policy that is assigned to a container. + +Required Parameters +{ + "ContainerName": "The name of the container that the object lifecycle policy is assigned to." +} +""" +GetLifecyclePolicy(args) = mediastore("GetLifecyclePolicy", args) + +""" + DeleteContainer() + +Deletes the specified container. Before you make a DeleteContainer request, delete any objects in the container or in any folders in the container. You can delete only empty containers. + +Required Parameters +{ + "ContainerName": "The name of the container to delete. " +} +""" +DeleteContainer(args) = mediastore("DeleteContainer", args) + +""" + GetCorsPolicy() + +Returns the cross-origin resource sharing (CORS) configuration information that is set for the container. To use this operation, you must have permission to perform the MediaStore:GetCorsPolicy action. By default, the container owner has this permission and can grant it to others. + +Required Parameters +{ + "ContainerName": "The name of the container that the policy is assigned to." +} +""" +GetCorsPolicy(args) = mediastore("GetCorsPolicy", args) + +""" + PutLifecyclePolicy() + +Writes an object lifecycle policy to a container. If the container already has an object lifecycle policy, the service replaces the existing policy with the new policy. It takes up to 20 minutes for the change to take effect. For information about how to construct an object lifecycle policy, see Components of an Object Lifecycle Policy. + +Required Parameters +{ + "ContainerName": "The name of the container that you want to assign the object lifecycle policy to.", + "LifecyclePolicy": "The object lifecycle policy to apply to the container." +} +""" +PutLifecyclePolicy(args) = mediastore("PutLifecyclePolicy", args) + +""" + TagResource() + +Adds tags to the specified AWS Elemental MediaStore container. Tags are key:value pairs that you can associate with AWS resources. For example, the tag key might be "customer" and the tag value might be "companyA." You can specify one or more tags to add to each container. You can add up to 50 tags to each container. For more information about tagging, including naming and usage conventions, see Tagging Resources in MediaStore. + +Required Parameters +{ + "Tags": "An array of key:value pairs that you want to add to the container. You need to specify only the tags that you want to add or update. For example, suppose a container already has two tags (customer:CompanyA and priority:High). You want to change the priority tag and also add a third tag (type:Contract). For TagResource, you specify the following tags: priority:Medium, type:Contract. The result is that your container has three tags: customer:CompanyA, priority:Medium, and type:Contract.", + "Resource": "The Amazon Resource Name (ARN) for the container. " +} +""" +TagResource(args) = mediastore("TagResource", args) + +""" + UntagResource() + +Removes tags from the specified container. You can specify one or more tags to remove. + +Required Parameters +{ + "Resource": "The Amazon Resource Name (ARN) for the container.", + "TagKeys": "A comma-separated list of keys for tags that you want to remove from the container. For example, if your container has two tags (customer:CompanyA and priority:High) and you want to remove one of the tags (priority:High), you specify the key for the tag that you want to remove (priority)." +} +""" +UntagResource(args) = mediastore("UntagResource", args) + +""" + StopAccessLogging() + +Stops access logging on the specified container. When you stop access logging on a container, MediaStore stops sending access logs to Amazon CloudWatch Logs. These access logs are not saved and are not retrievable. + +Required Parameters +{ + "ContainerName": "The name of the container that you want to stop access logging on." +} +""" +StopAccessLogging(args) = mediastore("StopAccessLogging", args) + +""" + PutContainerPolicy() + +Creates an access policy for the specified container to restrict the users and clients that can access it. For information about the data that is included in an access policy, see the AWS Identity and Access Management User Guide. For this release of the REST API, you can create only one policy for a container. If you enter PutContainerPolicy twice, the second command modifies the existing policy. + +Required Parameters +{ + "Policy": "The contents of the policy, which includes the following: One Version tag One Statement tag that contains the standard tags for the policy. ", + "ContainerName": "The name of the container." +} +""" +PutContainerPolicy(args) = mediastore("PutContainerPolicy", args) + +""" + DeleteContainerPolicy() + +Deletes the access policy that is associated with the specified container. + +Required Parameters +{ + "ContainerName": "The name of the container that holds the policy." +} +""" +DeleteContainerPolicy(args) = mediastore("DeleteContainerPolicy", args) diff --git a/src/services/mediastore_data.jl b/src/services/mediastore_data.jl new file mode 100644 index 0000000000..22935cf56e --- /dev/null +++ b/src/services/mediastore_data.jl @@ -0,0 +1,79 @@ +include("../AWSServices.jl") +using .AWSServices: mediastore_data + +""" + DeleteObject() + +Deletes an object at the specified path. + +Required Parameters +{ + "Path": "The path (including the file name) where the object is stored in the container. Format: <folder name>/<folder name>/<file name>" +} +""" +DeleteObject(args) = mediastore_data("DELETE", "/{Path+}", args) + +""" + ListItems() + +Provides a list of metadata entries about folders and objects in the specified folder. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return per API request. For example, you submit a ListItems request with MaxResults set at 500. Although 2,000 items match your request, the service returns no more than the first 500 items. (The service also returns a NextToken value that you can use to fetch the next batch of results.) The service might return fewer results than the MaxResults value. If MaxResults is not included in the request, the service defaults to pagination with a maximum of 1,000 results per page.", + "NextToken": "The token that identifies which batch of results that you want to see. For example, you submit a ListItems request with MaxResults set at 500. The service returns the first batch of results (up to 500) and a NextToken value. To see the next batch of results, you can submit the ListItems request a second time and specify the NextToken value. Tokens expire after 15 minutes.", + "Path": "The path in the container from which to retrieve items. Format: <folder name>/<folder name>/<file name>" +} +""" +ListItems() = mediastore_data("GET", "/") +ListItems(args) = mediastore_data("GET", "/", args) + +""" + PutObject() + +Uploads an object to the specified path. Object sizes are limited to 25 MB for standard upload availability and 10 MB for streaming upload availability. + +Required Parameters +{ + "Path": "The path (including the file name) where the object is stored in the container. Format: <folder name>/<folder name>/<file name> For example, to upload the file mlaw.avi to the folder path premium canada in the container movies, enter the path premium/canada/mlaw.avi. Do not include the container name in this path. If the path includes any folders that don't exist yet, the service creates them. For example, suppose you have an existing premium/usa subfolder. If you specify premium/canada, the service creates a canada subfolder in the premium folder. You then have two subfolders, usa and canada, in the premium folder. There is no correlation between the path to the source and the path (folders) in the container in AWS Elemental MediaStore. For more information about folders and how they exist in a container, see the AWS Elemental MediaStore User Guide. The file name is the name that is assigned to the file that you upload. The file can have the same name inside and outside of AWS Elemental MediaStore, or it can have the same name. The file name can include or omit an extension. ", + "Body": "The bytes to be stored. " +} + +Optional Parameters +{ + "StorageClass": "Indicates the storage class of a Put request. Defaults to high-performance temporal storage class, and objects are persisted into durable storage shortly after being received.", + "ContentType": "The content type of the object.", + "CacheControl": "An optional CacheControl header that allows the caller to control the object's cache behavior. Headers can be passed in as specified in the HTTP at https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9. Headers with a custom user-defined value are also accepted.", + "UploadAvailability": "Indicates the availability of an object while it is still uploading. If the value is set to streaming, the object is available for downloading after some initial buffering but before the object is uploaded completely. If the value is set to standard, the object is available for downloading only when it is uploaded completely. The default value for this header is standard. To use this header, you must also set the HTTP Transfer-Encoding header to chunked." +} +""" +PutObject(args) = mediastore_data("PUT", "/{Path+}", args) + +""" + DescribeObject() + +Gets the headers for an object at the specified path. + +Required Parameters +{ + "Path": "The path (including the file name) where the object is stored in the container. Format: <folder name>/<folder name>/<file name>" +} +""" +DescribeObject(args) = mediastore_data("HEAD", "/{Path+}", args) + +""" + GetObject() + +Downloads the object at the specified path. If the object’s upload availability is set to streaming, AWS Elemental MediaStore downloads the object even if it’s still uploading the object. + +Required Parameters +{ + "Path": "The path (including the file name) where the object is stored in the container. Format: <folder name>/<folder name>/<file name> For example, to upload the file mlaw.avi to the folder path premium canada in the container movies, enter the path premium/canada/mlaw.avi. Do not include the container name in this path. If the path includes any folders that don't exist yet, the service creates them. For example, suppose you have an existing premium/usa subfolder. If you specify premium/canada, the service creates a canada subfolder in the premium folder. You then have two subfolders, usa and canada, in the premium folder. There is no correlation between the path to the source and the path (folders) in the container in AWS Elemental MediaStore. For more information about folders and how they exist in a container, see the AWS Elemental MediaStore User Guide. The file name is the name that is assigned to the file that you upload. The file can have the same name inside and outside of AWS Elemental MediaStore, or it can have the same name. The file name can include or omit an extension. " +} + +Optional Parameters +{ + "Range": "The range bytes of an object to retrieve. For more information about the Range header, see http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35. AWS Elemental MediaStore ignores this header for partially uploaded objects that have streaming upload availability." +} +""" +GetObject(args) = mediastore_data("GET", "/{Path+}", args) diff --git a/src/services/mediatailor.jl b/src/services/mediatailor.jl new file mode 100644 index 0000000000..863f86728a --- /dev/null +++ b/src/services/mediatailor.jl @@ -0,0 +1,100 @@ +include("../AWSServices.jl") +using .AWSServices: mediatailor + +""" + ListTagsForResource() + +Returns a list of the tags assigned to the specified playback configuration resource. + +Required Parameters +{ + "ResourceArn": "The Amazon Resource Name (ARN) for the playback configuration. You can get this from the response to any playback configuration request. " +} +""" +ListTagsForResource(args) = mediatailor("GET", "/tags/{ResourceArn}", args) + +""" + ListPlaybackConfigurations() + +Returns a list of the playback configurations defined in AWS Elemental MediaTailor. You can specify a maximum number of configurations to return at a time. The default maximum is 50. Results are returned in pagefuls. If MediaTailor has more configurations than the specified maximum, it provides parameters in the response that you can use to retrieve the next pageful. + +Optional Parameters +{ + "MaxResults": "Maximum number of records to return. ", + "NextToken": "Pagination token returned by the GET list request when results exceed the maximum allowed. Use the token to fetch the next page of results." +} +""" +ListPlaybackConfigurations() = mediatailor("GET", "/playbackConfigurations") +ListPlaybackConfigurations(args) = mediatailor("GET", "/playbackConfigurations", args) + +""" + DeletePlaybackConfiguration() + +Deletes the playback configuration for the specified name. + +Required Parameters +{ + "Name": "The identifier for the playback configuration." +} +""" +DeletePlaybackConfiguration(args) = mediatailor("DELETE", "/playbackConfiguration/{Name}", args) + +""" + PutPlaybackConfiguration() + +Adds a new playback configuration to AWS Elemental MediaTailor. + +Optional Parameters +{ + "Tags": "The tags to assign to the playback configuration. ", + "AdDecisionServerUrl": "The URL for the ad decision server (ADS). This includes the specification of static parameters and placeholders for dynamic parameters. AWS Elemental MediaTailor substitutes player-specific and session-specific parameters as needed when calling the ADS. Alternately, for testing you can provide a static VAST URL. The maximum length is 25,000 characters.", + "CdnConfiguration": "The configuration for using a content delivery network (CDN), like Amazon CloudFront, for content and ad segment management. ", + "DashConfiguration": "The configuration for DASH content. ", + "SlateAdUrl": "The URL for a high-quality video asset to transcode and use to fill in time that's not used by ads. AWS Elemental MediaTailor shows the slate to fill in gaps in media content. Configuring the slate is optional for non-VPAID configurations. For VPAID, the slate is required because MediaTailor provides it in the slots that are designated for dynamic ad content. The slate must be a high-quality asset that contains both audio and video. ", + "TranscodeProfileName": "The name that is used to associate this playback configuration with a custom transcode profile. This overrides the dynamic transcoding defaults of MediaTailor. Use this only if you have already set up custom profiles with the help of AWS Support.", + "LivePreRollConfiguration": "The configuration for pre-roll ad insertion.", + "VideoContentSourceUrl": "The URL prefix for the master playlist for the stream, minus the asset ID. The maximum length is 512 characters.", + "Name": "The identifier for the playback configuration.", + "PersonalizationThresholdSeconds": "The maximum duration of underfilled ad time (in seconds) allowed in an ad break." +} +""" +PutPlaybackConfiguration() = mediatailor("PUT", "/playbackConfiguration") +PutPlaybackConfiguration(args) = mediatailor("PUT", "/playbackConfiguration", args) + +""" + GetPlaybackConfiguration() + +Returns the playback configuration for the specified name. + +Required Parameters +{ + "Name": "The identifier for the playback configuration." +} +""" +GetPlaybackConfiguration(args) = mediatailor("GET", "/playbackConfiguration/{Name}", args) + +""" + TagResource() + +Adds tags to the specified playback configuration resource. You can specify one or more tags to add. + +Required Parameters +{ + "ResourceArn": "The Amazon Resource Name (ARN) for the playback configuration. You can get this from the response to any playback configuration request. ", + "Tags": "A comma-separated list of tag key:value pairs. For example: \n {\n \"Key1\": \"Value1\",\n \"Key2\": \"Value2\"\n }\n " +} +""" +TagResource(args) = mediatailor("POST", "/tags/{ResourceArn}", args) + +""" + UntagResource() + +Removes tags from the specified playback configuration resource. You can specify one or more tags to remove. + +Required Parameters +{ + "ResourceArn": "The Amazon Resource Name (ARN) for the playback configuration. You can get this from the response to any playback configuration request. ", + "TagKeys": "A comma-separated list of the tag keys to remove from the playback configuration. " +} +""" +UntagResource(args) = mediatailor("DELETE", "/tags/{ResourceArn}", args) diff --git a/src/services/migration_hub.jl b/src/services/migration_hub.jl new file mode 100644 index 0000000000..1482660bbf --- /dev/null +++ b/src/services/migration_hub.jl @@ -0,0 +1,296 @@ +include("../AWSServices.jl") +using .AWSServices: migration_hub + +""" + AssociateDiscoveredResource() + +Associates a discovered resource ID from Application Discovery Service with a migration task. + +Required Parameters +{ + "DiscoveredResource": "Object representing a Resource.", + "MigrationTaskName": "The identifier given to the MigrationTask. Do not store personal data in this field. ", + "ProgressUpdateStream": "The name of the ProgressUpdateStream." +} + +Optional Parameters +{ + "DryRun": "Optional boolean flag to indicate whether any effect should take place. Used to test if the caller has permission to make the call." +} +""" +AssociateDiscoveredResource(args) = migration_hub("AssociateDiscoveredResource", args) + +""" + AssociateCreatedArtifact() + +Associates a created artifact of an AWS cloud resource, the target receiving the migration, with the migration task performed by a migration tool. This API has the following traits: Migration tools can call the AssociateCreatedArtifact operation to indicate which AWS artifact is associated with a migration task. The created artifact name must be provided in ARN (Amazon Resource Name) format which will contain information about type and region; for example: arn:aws:ec2:us-east-1:488216288981:image/ami-6d0ba87b. Examples of the AWS resource behind the created artifact are, AMI's, EC2 instance, or DMS endpoint, etc. + +Required Parameters +{ + "CreatedArtifact": "An ARN of the AWS resource related to the migration (e.g., AMI, EC2 instance, RDS instance, etc.) ", + "MigrationTaskName": "Unique identifier that references the migration task. Do not store personal data in this field. ", + "ProgressUpdateStream": "The name of the ProgressUpdateStream. " +} + +Optional Parameters +{ + "DryRun": "Optional boolean flag to indicate whether any effect should take place. Used to test if the caller has permission to make the call." +} +""" +AssociateCreatedArtifact(args) = migration_hub("AssociateCreatedArtifact", args) + +""" + DisassociateCreatedArtifact() + +Disassociates a created artifact of an AWS resource with a migration task performed by a migration tool that was previously associated. This API has the following traits: A migration user can call the DisassociateCreatedArtifacts operation to disassociate a created AWS Artifact from a migration task. The created artifact name must be provided in ARN (Amazon Resource Name) format which will contain information about type and region; for example: arn:aws:ec2:us-east-1:488216288981:image/ami-6d0ba87b. Examples of the AWS resource behind the created artifact are, AMI's, EC2 instance, or RDS instance, etc. + +Required Parameters +{ + "CreatedArtifactName": "An ARN of the AWS resource related to the migration (e.g., AMI, EC2 instance, RDS instance, etc.)", + "MigrationTaskName": "Unique identifier that references the migration task to be disassociated with the artifact. Do not store personal data in this field. ", + "ProgressUpdateStream": "The name of the ProgressUpdateStream. " +} + +Optional Parameters +{ + "DryRun": "Optional boolean flag to indicate whether any effect should take place. Used to test if the caller has permission to make the call." +} +""" +DisassociateCreatedArtifact(args) = migration_hub("DisassociateCreatedArtifact", args) + +""" + NotifyApplicationState() + +Sets the migration state of an application. For a given application identified by the value passed to ApplicationId, its status is set or updated by passing one of three values to Status: NOT_STARTED | IN_PROGRESS | COMPLETED. + +Required Parameters +{ + "ApplicationId": "The configurationId in Application Discovery Service that uniquely identifies the grouped application.", + "Status": "Status of the application - Not Started, In-Progress, Complete." +} + +Optional Parameters +{ + "DryRun": "Optional boolean flag to indicate whether any effect should take place. Used to test if the caller has permission to make the call.", + "UpdateDateTime": "The timestamp when the application state changed." +} +""" +NotifyApplicationState(args) = migration_hub("NotifyApplicationState", args) + +""" + ListDiscoveredResources() + +Lists discovered resources associated with the given MigrationTask. + +Required Parameters +{ + "MigrationTaskName": "The name of the MigrationTask. Do not store personal data in this field. ", + "ProgressUpdateStream": "The name of the ProgressUpdateStream." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of results returned per page.", + "NextToken": "If a NextToken was returned by a previous call, there are more results available. To retrieve the next page of results, make the call again using the returned token in NextToken." +} +""" +ListDiscoveredResources(args) = migration_hub("ListDiscoveredResources", args) + +""" + CreateProgressUpdateStream() + +Creates a progress update stream which is an AWS resource used for access control as well as a namespace for migration task names that is implicitly linked to your AWS account. It must uniquely identify the migration tool as it is used for all updates made by the tool; however, it does not need to be unique for each AWS account because it is scoped to the AWS account. + +Required Parameters +{ + "ProgressUpdateStreamName": "The name of the ProgressUpdateStream. Do not store personal data in this field. " +} + +Optional Parameters +{ + "DryRun": "Optional boolean flag to indicate whether any effect should take place. Used to test if the caller has permission to make the call." +} +""" +CreateProgressUpdateStream(args) = migration_hub("CreateProgressUpdateStream", args) + +""" + ListApplicationStates() + +Lists all the migration statuses for your applications. If you use the optional ApplicationIds parameter, only the migration statuses for those applications will be returned. + +Optional Parameters +{ + "MaxResults": "Maximum number of results to be returned per page.", + "ApplicationIds": "The configurationIds from the Application Discovery Service that uniquely identifies your applications.", + "NextToken": "If a NextToken was returned by a previous call, there are more results available. To retrieve the next page of results, make the call again using the returned token in NextToken." +} +""" +ListApplicationStates() = migration_hub("ListApplicationStates") +ListApplicationStates(args) = migration_hub("ListApplicationStates", args) + +""" + ListMigrationTasks() + +Lists all, or filtered by resource name, migration tasks associated with the user account making this call. This API has the following traits: Can show a summary list of the most recent migration tasks. Can show a summary list of migration tasks associated with a given discovered resource. Lists migration tasks in a paginated interface. + +Optional Parameters +{ + "MaxResults": "Value to specify how many results are returned per page.", + "NextToken": "If a NextToken was returned by a previous call, there are more results available. To retrieve the next page of results, make the call again using the returned token in NextToken.", + "ResourceName": "Filter migration tasks by discovered resource name." +} +""" +ListMigrationTasks() = migration_hub("ListMigrationTasks") +ListMigrationTasks(args) = migration_hub("ListMigrationTasks", args) + +""" + ImportMigrationTask() + +Registers a new migration task which represents a server, database, etc., being migrated to AWS by a migration tool. This API is a prerequisite to calling the NotifyMigrationTaskState API as the migration tool must first register the migration task with Migration Hub. + +Required Parameters +{ + "MigrationTaskName": "Unique identifier that references the migration task. Do not store personal data in this field. ", + "ProgressUpdateStream": "The name of the ProgressUpdateStream. >" +} + +Optional Parameters +{ + "DryRun": "Optional boolean flag to indicate whether any effect should take place. Used to test if the caller has permission to make the call." +} +""" +ImportMigrationTask(args) = migration_hub("ImportMigrationTask", args) + +""" + ListCreatedArtifacts() + +Lists the created artifacts attached to a given migration task in an update stream. This API has the following traits: Gets the list of the created artifacts while migration is taking place. Shows the artifacts created by the migration tool that was associated by the AssociateCreatedArtifact API. Lists created artifacts in a paginated interface. + +Required Parameters +{ + "MigrationTaskName": "Unique identifier that references the migration task. Do not store personal data in this field. ", + "ProgressUpdateStream": "The name of the ProgressUpdateStream. " +} + +Optional Parameters +{ + "MaxResults": "Maximum number of results to be returned per page.", + "NextToken": "If a NextToken was returned by a previous call, there are more results available. To retrieve the next page of results, make the call again using the returned token in NextToken." +} +""" +ListCreatedArtifacts(args) = migration_hub("ListCreatedArtifacts", args) + +""" + NotifyMigrationTaskState() + +Notifies Migration Hub of the current status, progress, or other detail regarding a migration task. This API has the following traits: Migration tools will call the NotifyMigrationTaskState API to share the latest progress and status. MigrationTaskName is used for addressing updates to the correct target. ProgressUpdateStream is used for access control and to provide a namespace for each migration tool. + +Required Parameters +{ + "Task": "Information about the task's progress and status.", + "NextUpdateSeconds": "Number of seconds after the UpdateDateTime within which the Migration Hub can expect an update. If Migration Hub does not receive an update within the specified interval, then the migration task will be considered stale.", + "MigrationTaskName": "Unique identifier that references the migration task. Do not store personal data in this field. ", + "UpdateDateTime": "The timestamp when the task was gathered.", + "ProgressUpdateStream": "The name of the ProgressUpdateStream. " +} + +Optional Parameters +{ + "DryRun": "Optional boolean flag to indicate whether any effect should take place. Used to test if the caller has permission to make the call." +} +""" +NotifyMigrationTaskState(args) = migration_hub("NotifyMigrationTaskState", args) + +""" + DescribeMigrationTask() + +Retrieves a list of all attributes associated with a specific migration task. + +Required Parameters +{ + "MigrationTaskName": "The identifier given to the MigrationTask. Do not store personal data in this field. ", + "ProgressUpdateStream": "The name of the ProgressUpdateStream. " +} +""" +DescribeMigrationTask(args) = migration_hub("DescribeMigrationTask", args) + +""" + ListProgressUpdateStreams() + +Lists progress update streams associated with the user account making this call. + +Optional Parameters +{ + "MaxResults": "Filter to limit the maximum number of results to list per page.", + "NextToken": "If a NextToken was returned by a previous call, there are more results available. To retrieve the next page of results, make the call again using the returned token in NextToken." +} +""" +ListProgressUpdateStreams() = migration_hub("ListProgressUpdateStreams") +ListProgressUpdateStreams(args) = migration_hub("ListProgressUpdateStreams", args) + +""" + DescribeApplicationState() + +Gets the migration status of an application. + +Required Parameters +{ + "ApplicationId": "The configurationId in Application Discovery Service that uniquely identifies the grouped application." +} +""" +DescribeApplicationState(args) = migration_hub("DescribeApplicationState", args) + +""" + DeleteProgressUpdateStream() + +Deletes a progress update stream, including all of its tasks, which was previously created as an AWS resource used for access control. This API has the following traits: The only parameter needed for DeleteProgressUpdateStream is the stream name (same as a CreateProgressUpdateStream call). The call will return, and a background process will asynchronously delete the stream and all of its resources (tasks, associated resources, resource attributes, created artifacts). If the stream takes time to be deleted, it might still show up on a ListProgressUpdateStreams call. CreateProgressUpdateStream, ImportMigrationTask, NotifyMigrationTaskState, and all Associate[*] APIs related to the tasks belonging to the stream will throw "InvalidInputException" if the stream of the same name is in the process of being deleted. Once the stream and all of its resources are deleted, CreateProgressUpdateStream for a stream of the same name will succeed, and that stream will be an entirely new logical resource (without any resources associated with the old stream). + +Required Parameters +{ + "ProgressUpdateStreamName": "The name of the ProgressUpdateStream. Do not store personal data in this field. " +} + +Optional Parameters +{ + "DryRun": "Optional boolean flag to indicate whether any effect should take place. Used to test if the caller has permission to make the call." +} +""" +DeleteProgressUpdateStream(args) = migration_hub("DeleteProgressUpdateStream", args) + +""" + DisassociateDiscoveredResource() + +Disassociate an Application Discovery Service discovered resource from a migration task. + +Required Parameters +{ + "ConfigurationId": "ConfigurationId of the Application Discovery Service resource to be disassociated.", + "MigrationTaskName": "The identifier given to the MigrationTask. Do not store personal data in this field. ", + "ProgressUpdateStream": "The name of the ProgressUpdateStream." +} + +Optional Parameters +{ + "DryRun": "Optional boolean flag to indicate whether any effect should take place. Used to test if the caller has permission to make the call." +} +""" +DisassociateDiscoveredResource(args) = migration_hub("DisassociateDiscoveredResource", args) + +""" + PutResourceAttributes() + +Provides identifying details of the resource being migrated so that it can be associated in the Application Discovery Service repository. This association occurs asynchronously after PutResourceAttributes returns. Keep in mind that subsequent calls to PutResourceAttributes will override previously stored attributes. For example, if it is first called with a MAC address, but later, it is desired to add an IP address, it will then be required to call it with both the IP and MAC addresses to prevent overriding the MAC address. Note the instructions regarding the special use case of the ResourceAttributeList parameter when specifying any "VM" related value. Because this is an asynchronous call, it will always return 200, whether an association occurs or not. To confirm if an association was found based on the provided details, call ListDiscoveredResources. + +Required Parameters +{ + "ResourceAttributeList": "Information about the resource that is being migrated. This data will be used to map the task to a resource in the Application Discovery Service repository. Takes the object array of ResourceAttribute where the Type field is reserved for the following values: IPV4_ADDRESS | IPV6_ADDRESS | MAC_ADDRESS | FQDN | VM_MANAGER_ID | VM_MANAGED_OBJECT_REFERENCE | VM_NAME | VM_PATH | BIOS_ID | MOTHERBOARD_SERIAL_NUMBER where the identifying value can be a string up to 256 characters. If any \"VM\" related value is set for a ResourceAttribute object, it is required that VM_MANAGER_ID, as a minimum, is always set. If VM_MANAGER_ID is not set, then all \"VM\" fields will be discarded and \"VM\" fields will not be used for matching the migration task to a server in Application Discovery Service repository. See the Example section below for a use case of specifying \"VM\" related values. If a server you are trying to match has multiple IP or MAC addresses, you should provide as many as you know in separate type/value pairs passed to the ResourceAttributeList parameter to maximize the chances of matching. ", + "MigrationTaskName": "Unique identifier that references the migration task. Do not store personal data in this field. ", + "ProgressUpdateStream": "The name of the ProgressUpdateStream. " +} + +Optional Parameters +{ + "DryRun": "Optional boolean flag to indicate whether any effect should take place. Used to test if the caller has permission to make the call." +} +""" +PutResourceAttributes(args) = migration_hub("PutResourceAttributes", args) diff --git a/src/services/migrationhub_config.jl b/src/services/migrationhub_config.jl new file mode 100644 index 0000000000..adb3eb7b72 --- /dev/null +++ b/src/services/migrationhub_config.jl @@ -0,0 +1,45 @@ +include("../AWSServices.jl") +using .AWSServices: migrationhub_config + +""" + CreateHomeRegionControl() + +This API sets up the home region for the calling account only. + +Required Parameters +{ + "HomeRegion": "The name of the home region of the calling account.", + "Target": "The account for which this command sets up a home region control. The Target is always of type ACCOUNT." +} + +Optional Parameters +{ + "DryRun": "Optional Boolean flag to indicate whether any effect should take place. It tests whether the caller has permission to make the call." +} +""" +CreateHomeRegionControl(args) = migrationhub_config("CreateHomeRegionControl", args) + +""" + GetHomeRegion() + +Returns the calling account’s home region, if configured. This API is used by other AWS services to determine the regional endpoint for calling AWS Application Discovery Service and Migration Hub. You must call GetHomeRegion at least once before you call any other AWS Application Discovery Service and AWS Migration Hub APIs, to obtain the account's Migration Hub home region. +""" +GetHomeRegion() = migrationhub_config("GetHomeRegion") +GetHomeRegion(args) = migrationhub_config("GetHomeRegion", args) + +""" + DescribeHomeRegionControls() + +This API permits filtering on the ControlId, HomeRegion, and RegionControlScope fields. + +Optional Parameters +{ + "MaxResults": "The maximum number of filtering results to display per page. ", + "NextToken": "If a NextToken was returned by a previous call, more results are available. To retrieve the next page of results, make the call again using the returned token in NextToken.", + "ControlId": "The ControlID is a unique identifier string of your HomeRegionControl object.", + "HomeRegion": "The name of the home region you'd like to view.", + "Target": "The target parameter specifies the identifier to which the home region is applied, which is always of type ACCOUNT. It applies the home region to the current ACCOUNT." +} +""" +DescribeHomeRegionControls() = migrationhub_config("DescribeHomeRegionControls") +DescribeHomeRegionControls(args) = migrationhub_config("DescribeHomeRegionControls", args) diff --git a/src/services/mobile.jl b/src/services/mobile.jl new file mode 100644 index 0000000000..bc0d0c910c --- /dev/null +++ b/src/services/mobile.jl @@ -0,0 +1,134 @@ +include("../AWSServices.jl") +using .AWSServices: mobile + +""" + ListBundles() + + List all available bundles. + +Optional Parameters +{ + "maxResults": " Maximum number of records to list in a single response. ", + "nextToken": " Pagination token. Set to null to start listing bundles from start. If non-null pagination token is returned in a result, then pass its value in here in another request to list more bundles. " +} +""" +ListBundles() = mobile("GET", "/bundles") +ListBundles(args) = mobile("GET", "/bundles", args) + +""" + CreateProject() + + Creates an AWS Mobile Hub project. + +Optional Parameters +{ + "name": " Name of the project. ", + "snapshotId": " Unique identifier for an exported snapshot of project configuration. This snapshot identifier is included in the share URL when a project is exported. ", + "contents": " ZIP or YAML file which contains configuration settings to be used when creating the project. This may be the contents of the file downloaded from the URL provided in an export project operation. ", + "region": " Default region where project resources should be created. " +} +""" +CreateProject() = mobile("POST", "/projects") +CreateProject(args) = mobile("POST", "/projects", args) + +""" + DescribeBundle() + + Get the bundle details for the requested bundle id. + +Required Parameters +{ + "bundleId": " Unique bundle identifier. " +} +""" +DescribeBundle(args) = mobile("GET", "/bundles/{bundleId}", args) + +""" + DeleteProject() + + Delets a project in AWS Mobile Hub. + +Required Parameters +{ + "projectId": " Unique project identifier. " +} +""" +DeleteProject(args) = mobile("DELETE", "/projects/{projectId}", args) + +""" + ExportBundle() + + Generates customized software development kit (SDK) and or tool packages used to integrate mobile web or mobile app clients with backend AWS resources. + +Required Parameters +{ + "bundleId": " Unique bundle identifier. " +} + +Optional Parameters +{ + "projectId": " Unique project identifier. ", + "platform": " Developer desktop or target application platform. " +} +""" +ExportBundle(args) = mobile("POST", "/bundles/{bundleId}", args) + +""" + UpdateProject() + + Update an existing project. + +Required Parameters +{ + "projectId": " Unique project identifier. " +} + +Optional Parameters +{ + "contents": " ZIP or YAML file which contains project configuration to be updated. This should be the contents of the file downloaded from the URL provided in an export project operation. " +} +""" +UpdateProject(args) = mobile("POST", "/update", args) + +""" + ListProjects() + + Lists projects in AWS Mobile Hub. + +Optional Parameters +{ + "maxResults": " Maximum number of records to list in a single response. ", + "nextToken": " Pagination token. Set to null to start listing projects from start. If non-null pagination token is returned in a result, then pass its value in here in another request to list more projects. " +} +""" +ListProjects() = mobile("GET", "/projects") +ListProjects(args) = mobile("GET", "/projects", args) + +""" + ExportProject() + + Exports project configuration to a snapshot which can be downloaded and shared. Note that mobile app push credentials are encrypted in exported projects, so they can only be shared successfully within the same AWS account. + +Required Parameters +{ + "projectId": " Unique project identifier. " +} +""" +ExportProject(args) = mobile("POST", "/exports/{projectId}", args) + +""" + DescribeProject() + + Gets details about a project in AWS Mobile Hub. + +Required Parameters +{ + "projectId": " Unique project identifier. " +} + +Optional Parameters +{ + "syncFromResources": " If set to true, causes AWS Mobile Hub to synchronize information from other services, e.g., update state of AWS CloudFormation stacks in the AWS Mobile Hub project. " +} +""" +DescribeProject(args) = mobile("GET", "/project", args) diff --git a/src/services/mobile_analytics.jl b/src/services/mobile_analytics.jl new file mode 100644 index 0000000000..0341ed20ea --- /dev/null +++ b/src/services/mobile_analytics.jl @@ -0,0 +1,20 @@ +include("../AWSServices.jl") +using .AWSServices: mobile_analytics + +""" + PutEvents() + +The PutEvents operation records one or more events. You can have up to 1,500 unique custom events per app, any combination of up to 40 attributes and metrics per custom event, and any number of attribute or metric values. + +Required Parameters +{ + "events": "An array of Event JSON objects", + "clientContext": "The client context including the client ID, app title, app version and package name." +} + +Optional Parameters +{ + "clientContextEncoding": "The encoding used for the client context." +} +""" +PutEvents(args) = mobile_analytics("POST", "/2014-06-05/events", args) diff --git a/src/services/mq.jl b/src/services/mq.jl new file mode 100644 index 0000000000..c47aaa1cc5 --- /dev/null +++ b/src/services/mq.jl @@ -0,0 +1,352 @@ +include("../AWSServices.jl") +using .AWSServices: mq + +""" + UpdateBroker() + +Adds a pending configuration change to a broker. + +Required Parameters +{ + "BrokerId": "The name of the broker. This value must be unique in your AWS account, 1-50 characters long, must contain only letters, numbers, dashes, and underscores, and must not contain whitespaces, brackets, wildcard characters, or special characters." +} + +Optional Parameters +{ + "Configuration": "A list of information about the configuration.", + "EngineVersion": "The version of the broker engine. For a list of supported engine versions, see https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/broker-engine.html", + "HostInstanceType": "The host instance type of the broker to upgrade to. For a list of supported instance types, see https://docs.aws.amazon.com/amazon-mq/latest/developer-guide//broker.html#broker-instance-types", + "SecurityGroups": "The list of security groups (1 minimum, 5 maximum) that authorizes connections to brokers.", + "Logs": "Enables Amazon CloudWatch logging for brokers.", + "AutoMinorVersionUpgrade": "Enables automatic upgrades to new minor versions for brokers, as Apache releases the versions. The automatic upgrades occur during the maintenance window of the broker or after a manual broker reboot." +} +""" +UpdateBroker(args) = mq("PUT", "/v1/brokers/{broker-id}", args) + +""" + CreateUser() + +Creates an ActiveMQ user. + +Required Parameters +{ + "BrokerId": "The unique ID that Amazon MQ generates for the broker.", + "Username": "The username of the ActiveMQ user. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters long." +} + +Optional Parameters +{ + "Password": "Required. The password of the user. This value must be at least 12 characters long, must contain at least 4 unique characters, and must not contain commas.", + "ConsoleAccess": "Enables access to the the ActiveMQ Web Console for the ActiveMQ user.", + "Groups": "The list of groups (20 maximum) to which the ActiveMQ user belongs. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters long." +} +""" +CreateUser(args) = mq("POST", "/v1/brokers/{broker-id}/users/{username}", args) + +""" + DescribeBrokerEngineTypes() + +Describe available engine types and versions. + +Optional Parameters +{ + "MaxResults": "The maximum number of engine types that Amazon MQ can return per page (20 by default). This value must be an integer from 5 to 100.", + "NextToken": "The token that specifies the next page of results Amazon MQ should return. To request the first page, leave nextToken empty.", + "EngineType": "Filter response by engine type." +} +""" +DescribeBrokerEngineTypes() = mq("GET", "/v1/broker-engine-types") +DescribeBrokerEngineTypes(args) = mq("GET", "/v1/broker-engine-types", args) + +""" + DescribeConfigurationRevision() + +Returns the specified configuration revision for the specified configuration. + +Required Parameters +{ + "ConfigurationId": "The unique ID that Amazon MQ generates for the configuration.", + "ConfigurationRevision": "The revision of the configuration." +} +""" +DescribeConfigurationRevision(args) = mq("GET", "/v1/configurations/{configuration-id}/revisions/{configuration-revision}", args) + +""" + DescribeBroker() + +Returns information about the specified broker. + +Required Parameters +{ + "BrokerId": "The name of the broker. This value must be unique in your AWS account, 1-50 characters long, must contain only letters, numbers, dashes, and underscores, and must not contain whitespaces, brackets, wildcard characters, or special characters." +} +""" +DescribeBroker(args) = mq("GET", "/v1/brokers/{broker-id}", args) + +""" + ListBrokers() + +Returns a list of all brokers. + +Optional Parameters +{ + "MaxResults": "The maximum number of brokers that Amazon MQ can return per page (20 by default). This value must be an integer from 5 to 100.", + "NextToken": "The token that specifies the next page of results Amazon MQ should return. To request the first page, leave nextToken empty." +} +""" +ListBrokers() = mq("GET", "/v1/brokers") +ListBrokers(args) = mq("GET", "/v1/brokers", args) + +""" + UpdateUser() + +Updates the information for an ActiveMQ user. + +Required Parameters +{ + "BrokerId": "The unique ID that Amazon MQ generates for the broker.", + "Username": "Required. The username of the ActiveMQ user. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters long." +} + +Optional Parameters +{ + "Password": "The password of the user. This value must be at least 12 characters long, must contain at least 4 unique characters, and must not contain commas.", + "ConsoleAccess": "Enables access to the the ActiveMQ Web Console for the ActiveMQ user.", + "Groups": "The list of groups (20 maximum) to which the ActiveMQ user belongs. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters long." +} +""" +UpdateUser(args) = mq("PUT", "/v1/brokers/{broker-id}/users/{username}", args) + +""" + ListConfigurations() + +Returns a list of all configurations. + +Optional Parameters +{ + "MaxResults": "The maximum number of configurations that Amazon MQ can return per page (20 by default). This value must be an integer from 5 to 100.", + "NextToken": "The token that specifies the next page of results Amazon MQ should return. To request the first page, leave nextToken empty." +} +""" +ListConfigurations() = mq("GET", "/v1/configurations") +ListConfigurations(args) = mq("GET", "/v1/configurations", args) + +""" + DeleteUser() + +Deletes an ActiveMQ user. + +Required Parameters +{ + "BrokerId": "The unique ID that Amazon MQ generates for the broker.", + "Username": "The username of the ActiveMQ user. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters long." +} +""" +DeleteUser(args) = mq("DELETE", "/v1/brokers/{broker-id}/users/{username}", args) + +""" + CreateConfiguration() + +Creates a new configuration for the specified configuration name. Amazon MQ uses the default configuration (the engine type and version). + +Optional Parameters +{ + "Tags": "Create tags when creating the configuration.", + "EngineVersion": "Required. The version of the broker engine. For a list of supported engine versions, see https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/broker-engine.html", + "EngineType": "Required. The type of broker engine. Note: Currently, Amazon MQ supports only ACTIVEMQ.", + "Name": "Required. The name of the configuration. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 1-150 characters long." +} +""" +CreateConfiguration() = mq("POST", "/v1/configurations") +CreateConfiguration(args) = mq("POST", "/v1/configurations", args) + +""" + DescribeBrokerInstanceOptions() + +Describe available broker instance options. + +Optional Parameters +{ + "MaxResults": "The maximum number of instance options that Amazon MQ can return per page (20 by default). This value must be an integer from 5 to 100.", + "NextToken": "The token that specifies the next page of results Amazon MQ should return. To request the first page, leave nextToken empty.", + "HostInstanceType": "Filter response by host instance type.", + "StorageType": "Filter response by storage type.", + "EngineType": "Filter response by engine type." +} +""" +DescribeBrokerInstanceOptions() = mq("GET", "/v1/broker-instance-options") +DescribeBrokerInstanceOptions(args) = mq("GET", "/v1/broker-instance-options", args) + +""" + ListUsers() + +Returns a list of all ActiveMQ users. + +Required Parameters +{ + "BrokerId": "The unique ID that Amazon MQ generates for the broker." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of ActiveMQ users that can be returned per page (20 by default). This value must be an integer from 5 to 100.", + "NextToken": "The token that specifies the next page of results Amazon MQ should return. To request the first page, leave nextToken empty." +} +""" +ListUsers(args) = mq("GET", "/v1/brokers/{broker-id}/users", args) + +""" + UpdateConfiguration() + +Updates the specified configuration. + +Required Parameters +{ + "ConfigurationId": "The unique ID that Amazon MQ generates for the configuration." +} + +Optional Parameters +{ + "Description": "The description of the configuration.", + "Data": "Required. The base64-encoded XML configuration." +} +""" +UpdateConfiguration(args) = mq("PUT", "/v1/configurations/{configuration-id}", args) + +""" + DeleteBroker() + +Deletes a broker. Note: This API is asynchronous. + +Required Parameters +{ + "BrokerId": "The name of the broker. This value must be unique in your AWS account, 1-50 characters long, must contain only letters, numbers, dashes, and underscores, and must not contain whitespaces, brackets, wildcard characters, or special characters." +} +""" +DeleteBroker(args) = mq("DELETE", "/v1/brokers/{broker-id}", args) + +""" + CreateBroker() + +Creates a broker. Note: This API is asynchronous. + +Optional Parameters +{ + "PubliclyAccessible": "Required. Enables connections from applications outside of the VPC that hosts the broker's subnets.", + "MaintenanceWindowStartTime": "The parameters that determine the WeeklyStartTime.", + "Users": "Required. The list of ActiveMQ users (persons or applications) who can access queues and topics. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters long.", + "AutoMinorVersionUpgrade": "Required. Enables automatic upgrades to new minor versions for brokers, as Apache releases the versions. The automatic upgrades occur during the maintenance window of the broker or after a manual broker reboot.", + "EncryptionOptions": "Encryption options for the broker.", + "Tags": "Create tags when creating the broker.", + "DeploymentMode": "Required. The deployment mode of the broker.", + "SecurityGroups": "The list of security groups (1 minimum, 5 maximum) that authorizes connections to brokers.", + "CreatorRequestId": "The unique ID that the requester receives for the created broker. Amazon MQ passes your ID with the API action. Note: We recommend using a Universally Unique Identifier (UUID) for the creatorRequestId. You may omit the creatorRequestId if your application doesn't require idempotency.", + "Configuration": "A list of information about the configuration.", + "SubnetIds": "The list of groups (2 maximum) that define which subnets and IP ranges the broker can use from different Availability Zones. A SINGLE_INSTANCE deployment requires one subnet (for example, the default subnet). An ACTIVE_STANDBY_MULTI_AZ deployment requires two subnets.", + "EngineVersion": "Required. The version of the broker engine. For a list of supported engine versions, see https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/broker-engine.html", + "EngineType": "Required. The type of broker engine. Note: Currently, Amazon MQ supports only ACTIVEMQ.", + "BrokerName": "Required. The name of the broker. This value must be unique in your AWS account, 1-50 characters long, must contain only letters, numbers, dashes, and underscores, and must not contain whitespaces, brackets, wildcard characters, or special characters.", + "HostInstanceType": "Required. The broker's instance type.", + "StorageType": "The broker's storage type.", + "Logs": "Enables Amazon CloudWatch logging for brokers." +} +""" +CreateBroker() = mq("POST", "/v1/brokers") +CreateBroker(args) = mq("POST", "/v1/brokers", args) + +""" + ListTags() + +Lists tags for a resource. + +Required Parameters +{ + "ResourceArn": "The Amazon Resource Name (ARN) of the resource tag." +} +""" +ListTags(args) = mq("GET", "/v1/tags/{resource-arn}", args) + +""" + DeleteTags() + +Removes a tag from a resource. + +Required Parameters +{ + "ResourceArn": "The Amazon Resource Name (ARN) of the resource tag.", + "TagKeys": "An array of tag keys to delete" +} +""" +DeleteTags(args) = mq("DELETE", "/v1/tags/{resource-arn}", args) + +""" + CreateTags() + +Add a tag to a resource. + +Required Parameters +{ + "ResourceArn": "The Amazon Resource Name (ARN) of the resource tag." +} + +Optional Parameters +{ + "Tags": "The key-value pair for the resource tag." +} +""" +CreateTags(args) = mq("POST", "/v1/tags/{resource-arn}", args) + +""" + DescribeConfiguration() + +Returns information about the specified configuration. + +Required Parameters +{ + "ConfigurationId": "The unique ID that Amazon MQ generates for the configuration." +} +""" +DescribeConfiguration(args) = mq("GET", "/v1/configurations/{configuration-id}", args) + +""" + ListConfigurationRevisions() + +Returns a list of all revisions for the specified configuration. + +Required Parameters +{ + "ConfigurationId": "The unique ID that Amazon MQ generates for the configuration." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of configurations that Amazon MQ can return per page (20 by default). This value must be an integer from 5 to 100.", + "NextToken": "The token that specifies the next page of results Amazon MQ should return. To request the first page, leave nextToken empty." +} +""" +ListConfigurationRevisions(args) = mq("GET", "/v1/configurations/{configuration-id}/revisions", args) + +""" + DescribeUser() + +Returns information about an ActiveMQ user. + +Required Parameters +{ + "BrokerId": "The unique ID that Amazon MQ generates for the broker.", + "Username": "The username of the ActiveMQ user. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters long." +} +""" +DescribeUser(args) = mq("GET", "/v1/brokers/{broker-id}/users/{username}", args) + +""" + RebootBroker() + +Reboots a broker. Note: This API is asynchronous. + +Required Parameters +{ + "BrokerId": "The unique ID that Amazon MQ generates for the broker." +} +""" +RebootBroker(args) = mq("POST", "/v1/brokers/{broker-id}/reboot", args) diff --git a/src/services/mturk.jl b/src/services/mturk.jl new file mode 100644 index 0000000000..81539f5394 --- /dev/null +++ b/src/services/mturk.jl @@ -0,0 +1,653 @@ +include("../AWSServices.jl") +using .AWSServices: mturk + +""" + ListReviewPolicyResultsForHIT() + + The ListReviewPolicyResultsForHIT operation retrieves the computed results and the actions taken in the course of executing your Review Policies for a given HIT. For information about how to specify Review Policies when you call CreateHIT, see Review Policies. The ListReviewPolicyResultsForHIT operation can return results for both Assignment-level and HIT-level review results. + +Required Parameters +{ + "HITId": "The unique identifier of the HIT to retrieve review results for." +} + +Optional Parameters +{ + "MaxResults": "Limit the number of results returned.", + "NextToken": "Pagination token", + "PolicyLevels": " The Policy Level(s) to retrieve review results for - HIT or Assignment. If omitted, the default behavior is to retrieve all data for both policy levels. For a list of all the described policies, see Review Policies. ", + "RetrieveResults": " Specify if the operation should retrieve a list of the results computed by the Review Policies. ", + "RetrieveActions": " Specify if the operation should retrieve a list of the actions taken executing the Review Policies and their outcomes. " +} +""" +ListReviewPolicyResultsForHIT(args) = mturk("ListReviewPolicyResultsForHIT", args) + +""" + DisassociateQualificationFromWorker() + + The DisassociateQualificationFromWorker revokes a previously granted Qualification from a user. You can provide a text message explaining why the Qualification was revoked. The user who had the Qualification can see this message. + +Required Parameters +{ + "QualificationTypeId": "The ID of the Qualification type of the Qualification to be revoked.", + "WorkerId": "The ID of the Worker who possesses the Qualification to be revoked." +} + +Optional Parameters +{ + "Reason": "A text message that explains why the Qualification was revoked. The user who had the Qualification sees this message." +} +""" +DisassociateQualificationFromWorker(args) = mturk("DisassociateQualificationFromWorker", args) + +""" + GetQualificationScore() + + The GetQualificationScore operation returns the value of a Worker's Qualification for a given Qualification type. To get a Worker's Qualification, you must know the Worker's ID. The Worker's ID is included in the assignment data returned by the ListAssignmentsForHIT operation. Only the owner of a Qualification type can query the value of a Worker's Qualification of that type. + +Required Parameters +{ + "QualificationTypeId": "The ID of the QualificationType.", + "WorkerId": "The ID of the Worker whose Qualification is being updated." +} +""" +GetQualificationScore(args) = mturk("GetQualificationScore", args) + +""" + ListReviewableHITs() + + The ListReviewableHITs operation retrieves the HITs with Status equal to Reviewable or Status equal to Reviewing that belong to the Requester calling the operation. + +Optional Parameters +{ + "MaxResults": " Limit the number of results returned. ", + "NextToken": "Pagination Token", + "Status": " Can be either Reviewable or Reviewing. Reviewable is the default value. ", + "HITTypeId": " The ID of the HIT type of the HITs to consider for the query. If not specified, all HITs for the Reviewer are considered " +} +""" +ListReviewableHITs() = mturk("ListReviewableHITs") +ListReviewableHITs(args) = mturk("ListReviewableHITs", args) + +""" + ListWorkersWithQualificationType() + + The ListWorkersWithQualificationType operation returns all of the Workers that have been associated with a given Qualification type. + +Required Parameters +{ + "QualificationTypeId": "The ID of the Qualification type of the Qualifications to return." +} + +Optional Parameters +{ + "MaxResults": " Limit the number of results returned. ", + "NextToken": "Pagination Token", + "Status": " The status of the Qualifications to return. Can be Granted | Revoked. " +} +""" +ListWorkersWithQualificationType(args) = mturk("ListWorkersWithQualificationType", args) + +""" + CreateHITType() + + The CreateHITType operation creates a new HIT type. This operation allows you to define a standard set of HIT properties to use when creating HITs. If you register a HIT type with values that match an existing HIT type, the HIT type ID of the existing type will be returned. + +Required Parameters +{ + "Description": " A general description of the HIT. A description includes detailed information about the kind of task the HIT contains. On the Amazon Mechanical Turk web site, the HIT description appears in the expanded view of search results, and in the HIT and assignment screens. A good description gives the user enough information to evaluate the HIT before accepting it. ", + "AssignmentDurationInSeconds": " The amount of time, in seconds, that a Worker has to complete the HIT after accepting it. If a Worker does not complete the assignment within the specified duration, the assignment is considered abandoned. If the HIT is still active (that is, its lifetime has not elapsed), the assignment becomes available for other users to find and accept. ", + "Reward": " The amount of money the Requester will pay a Worker for successfully completing the HIT. ", + "Title": " The title of the HIT. A title should be short and descriptive about the kind of task the HIT contains. On the Amazon Mechanical Turk web site, the HIT title appears in search results, and everywhere the HIT is mentioned. " +} + +Optional Parameters +{ + "QualificationRequirements": " Conditions that a Worker's Qualifications must meet in order to accept the HIT. A HIT can have between zero and ten Qualification requirements. All requirements must be met in order for a Worker to accept the HIT. Additionally, other actions can be restricted using the ActionsGuarded field on each QualificationRequirement structure. ", + "AutoApprovalDelayInSeconds": " The number of seconds after an assignment for the HIT has been submitted, after which the assignment is considered Approved automatically unless the Requester explicitly rejects it. ", + "Keywords": " One or more words or phrases that describe the HIT, separated by commas. These words are used in searches to find HITs. " +} +""" +CreateHITType(args) = mturk("CreateHITType", args) + +""" + CreateWorkerBlock() + +The CreateWorkerBlock operation allows you to prevent a Worker from working on your HITs. For example, you can block a Worker who is producing poor quality work. You can block up to 100,000 Workers. + +Required Parameters +{ + "Reason": "A message explaining the reason for blocking the Worker. This parameter enables you to keep track of your Workers. The Worker does not see this message.", + "WorkerId": "The ID of the Worker to block." +} +""" +CreateWorkerBlock(args) = mturk("CreateWorkerBlock", args) + +""" + DeleteQualificationType() + + The DeleteQualificationType deletes a Qualification type and deletes any HIT types that are associated with the Qualification type. This operation does not revoke Qualifications already assigned to Workers because the Qualifications might be needed for active HITs. If there are any pending requests for the Qualification type, Amazon Mechanical Turk rejects those requests. After you delete a Qualification type, you can no longer use it to create HITs or HIT types. DeleteQualificationType must wait for all the HITs that use the deleted Qualification type to be deleted before completing. It may take up to 48 hours before DeleteQualificationType completes and the unique name of the Qualification type is available for reuse with CreateQualificationType. + +Required Parameters +{ + "QualificationTypeId": "The ID of the QualificationType to dispose." +} +""" +DeleteQualificationType(args) = mturk("DeleteQualificationType", args) + +""" + GetAssignment() + + The GetAssignment operation retrieves the details of the specified Assignment. + +Required Parameters +{ + "AssignmentId": "The ID of the Assignment to be retrieved." +} +""" +GetAssignment(args) = mturk("GetAssignment", args) + +""" + ListAssignmentsForHIT() + + The ListAssignmentsForHIT operation retrieves completed assignments for a HIT. You can use this operation to retrieve the results for a HIT. You can get assignments for a HIT at any time, even if the HIT is not yet Reviewable. If a HIT requested multiple assignments, and has received some results but has not yet become Reviewable, you can still retrieve the partial results with this operation. Use the AssignmentStatus parameter to control which set of assignments for a HIT are returned. The ListAssignmentsForHIT operation can return submitted assignments awaiting approval, or it can return assignments that have already been approved or rejected. You can set AssignmentStatus=Approved,Rejected to get assignments that have already been approved and rejected together in one result set. Only the Requester who created the HIT can retrieve the assignments for that HIT. Results are sorted and divided into numbered pages and the operation returns a single page of results. You can use the parameters of the operation to control sorting and pagination. + +Required Parameters +{ + "HITId": "The ID of the HIT." +} + +Optional Parameters +{ + "MaxResults": "", + "NextToken": "Pagination token", + "AssignmentStatuses": "The status of the assignments to return: Submitted | Approved | Rejected" +} +""" +ListAssignmentsForHIT(args) = mturk("ListAssignmentsForHIT", args) + +""" + ListQualificationRequests() + + The ListQualificationRequests operation retrieves requests for Qualifications of a particular Qualification type. The owner of the Qualification type calls this operation to poll for pending requests, and accepts them using the AcceptQualification operation. + +Optional Parameters +{ + "MaxResults": " The maximum number of results to return in a single call. ", + "NextToken": "", + "QualificationTypeId": "The ID of the QualificationType." +} +""" +ListQualificationRequests() = mturk("ListQualificationRequests") +ListQualificationRequests(args) = mturk("ListQualificationRequests", args) + +""" + GetHIT() + + The GetHIT operation retrieves the details of the specified HIT. + +Required Parameters +{ + "HITId": "The ID of the HIT to be retrieved." +} +""" +GetHIT(args) = mturk("GetHIT", args) + +""" + ListQualificationTypes() + + The ListQualificationTypes operation returns a list of Qualification types, filtered by an optional search term. + +Required Parameters +{ + "MustBeRequestable": "Specifies that only Qualification types that a user can request through the Amazon Mechanical Turk web site, such as by taking a Qualification test, are returned as results of the search. Some Qualification types, such as those assigned automatically by the system, cannot be requested directly by users. If false, all Qualification types, including those managed by the system, are considered. Valid values are True | False. " +} + +Optional Parameters +{ + "Query": " A text query against all of the searchable attributes of Qualification types. ", + "MaxResults": " The maximum number of results to return in a single call. ", + "NextToken": "", + "MustBeOwnedByCaller": " Specifies that only Qualification types that the Requester created are returned. If false, the operation returns all Qualification types. " +} +""" +ListQualificationTypes(args) = mturk("ListQualificationTypes", args) + +""" + RejectAssignment() + + The RejectAssignment operation rejects the results of a completed assignment. You can include an optional feedback message with the rejection, which the Worker can see in the Status section of the web site. When you include a feedback message with the rejection, it helps the Worker understand why the assignment was rejected, and can improve the quality of the results the Worker submits in the future. Only the Requester who created the HIT can reject an assignment for the HIT. + +Required Parameters +{ + "RequesterFeedback": " A message for the Worker, which the Worker can see in the Status section of the web site. ", + "AssignmentId": " The ID of the assignment. The assignment must correspond to a HIT created by the Requester. " +} +""" +RejectAssignment(args) = mturk("RejectAssignment", args) + +""" + AcceptQualificationRequest() + + The AcceptQualificationRequest operation approves a Worker's request for a Qualification. Only the owner of the Qualification type can grant a Qualification request for that type. A successful request for the AcceptQualificationRequest operation returns with no errors and an empty body. + +Required Parameters +{ + "QualificationRequestId": "The ID of the Qualification request, as returned by the GetQualificationRequests operation." +} + +Optional Parameters +{ + "IntegerValue": " The value of the Qualification. You can omit this value if you are using the presence or absence of the Qualification as the basis for a HIT requirement. " +} +""" +AcceptQualificationRequest(args) = mturk("AcceptQualificationRequest", args) + +""" + CreateAdditionalAssignmentsForHIT() + + The CreateAdditionalAssignmentsForHIT operation increases the maximum number of assignments of an existing HIT. To extend the maximum number of assignments, specify the number of additional assignments. HITs created with fewer than 10 assignments cannot be extended to have 10 or more assignments. Attempting to add assignments in a way that brings the total number of assignments for a HIT from fewer than 10 assignments to 10 or more assignments will result in an AWS.MechanicalTurk.InvalidMaximumAssignmentsIncrease exception. HITs that were created before July 22, 2015 cannot be extended. Attempting to extend HITs that were created before July 22, 2015 will result in an AWS.MechanicalTurk.HITTooOldForExtension exception. + +Required Parameters +{ + "NumberOfAdditionalAssignments": "The number of additional assignments to request for this HIT.", + "HITId": "The ID of the HIT to extend." +} + +Optional Parameters +{ + "UniqueRequestToken": " A unique identifier for this request, which allows you to retry the call on error without extending the HIT multiple times. This is useful in cases such as network timeouts where it is unclear whether or not the call succeeded on the server. If the extend HIT already exists in the system from a previous call using the same UniqueRequestToken, subsequent calls will return an error with a message containing the request ID. " +} +""" +CreateAdditionalAssignmentsForHIT(args) = mturk("CreateAdditionalAssignmentsForHIT", args) + +""" + DeleteHIT() + + The DeleteHIT operation is used to delete HIT that is no longer needed. Only the Requester who created the HIT can delete it. You can only dispose of HITs that are in the Reviewable state, with all of their submitted assignments already either approved or rejected. If you call the DeleteHIT operation on a HIT that is not in the Reviewable state (for example, that has not expired, or still has active assignments), or on a HIT that is Reviewable but without all of its submitted assignments already approved or rejected, the service will return an error. HITs are automatically disposed of after 120 days. After you dispose of a HIT, you can no longer approve the HIT's rejected assignments. Disposed HITs are not returned in results for the ListHITs operation. Disposing HITs can improve the performance of operations such as ListReviewableHITs and ListHITs. + +Required Parameters +{ + "HITId": "The ID of the HIT to be deleted." +} +""" +DeleteHIT(args) = mturk("DeleteHIT", args) + +""" + SendBonus() + + The SendBonus operation issues a payment of money from your account to a Worker. This payment happens separately from the reward you pay to the Worker when you approve the Worker's assignment. The SendBonus operation requires the Worker's ID and the assignment ID as parameters to initiate payment of the bonus. You must include a message that explains the reason for the bonus payment, as the Worker may not be expecting the payment. Amazon Mechanical Turk collects a fee for bonus payments, similar to the HIT listing fee. This operation fails if your account does not have enough funds to pay for both the bonus and the fees. + +Required Parameters +{ + "Reason": "A message that explains the reason for the bonus payment. The Worker receiving the bonus can see this message.", + "BonusAmount": " The Bonus amount is a US Dollar amount specified using a string (for example, \"5\" represents 5.00 USD and \"101.42\" represents 101.42 USD). Do not include currency symbols or currency codes. ", + "AssignmentId": "The ID of the assignment for which this bonus is paid.", + "WorkerId": "The ID of the Worker being paid the bonus." +} + +Optional Parameters +{ + "UniqueRequestToken": "A unique identifier for this request, which allows you to retry the call on error without granting multiple bonuses. This is useful in cases such as network timeouts where it is unclear whether or not the call succeeded on the server. If the bonus already exists in the system from a previous call using the same UniqueRequestToken, subsequent calls will return an error with a message containing the request ID." +} +""" +SendBonus(args) = mturk("SendBonus", args) + +""" + SendTestEventNotification() + + The SendTestEventNotification operation causes Amazon Mechanical Turk to send a notification message as if a HIT event occurred, according to the provided notification specification. This allows you to test notifications without setting up notifications for a real HIT type and trying to trigger them using the website. When you call this operation, the service attempts to send the test notification immediately. + +Required Parameters +{ + "Notification": " The notification specification to test. This value is identical to the value you would provide to the UpdateNotificationSettings operation when you establish the notification specification for a HIT type. ", + "TestEventType": " The event to simulate to test the notification specification. This event is included in the test message even if the notification specification does not include the event type. The notification specification does not filter out the test event. " +} +""" +SendTestEventNotification(args) = mturk("SendTestEventNotification", args) + +""" + DeleteWorkerBlock() + +The DeleteWorkerBlock operation allows you to reinstate a blocked Worker to work on your HITs. This operation reverses the effects of the CreateWorkerBlock operation. You need the Worker ID to use this operation. If the Worker ID is missing or invalid, this operation fails and returns the message “WorkerId is invalid.” If the specified Worker is not blocked, this operation returns successfully. + +Required Parameters +{ + "WorkerId": "The ID of the Worker to unblock." +} + +Optional Parameters +{ + "Reason": "A message that explains the reason for unblocking the Worker. The Worker does not see this message." +} +""" +DeleteWorkerBlock(args) = mturk("DeleteWorkerBlock", args) + +""" + UpdateNotificationSettings() + + The UpdateNotificationSettings operation creates, updates, disables or re-enables notifications for a HIT type. If you call the UpdateNotificationSettings operation for a HIT type that already has a notification specification, the operation replaces the old specification with a new one. You can call the UpdateNotificationSettings operation to enable or disable notifications for the HIT type, without having to modify the notification specification itself by providing updates to the Active status without specifying a new notification specification. To change the Active status of a HIT type's notifications, the HIT type must already have a notification specification, or one must be provided in the same call to UpdateNotificationSettings. + +Required Parameters +{ + "HITTypeId": " The ID of the HIT type whose notification specification is being updated. " +} + +Optional Parameters +{ + "Active": " Specifies whether notifications are sent for HITs of this HIT type, according to the notification specification. You must specify either the Notification parameter or the Active parameter for the call to UpdateNotificationSettings to succeed. ", + "Notification": " The notification specification for the HIT type. " +} +""" +UpdateNotificationSettings(args) = mturk("UpdateNotificationSettings", args) + +""" + GetFileUploadURL() + + The GetFileUploadURL operation generates and returns a temporary URL. You use the temporary URL to retrieve a file uploaded by a Worker as an answer to a FileUploadAnswer question for a HIT. The temporary URL is generated the instant the GetFileUploadURL operation is called, and is valid for 60 seconds. You can get a temporary file upload URL any time until the HIT is disposed. After the HIT is disposed, any uploaded files are deleted, and cannot be retrieved. Pending Deprecation on December 12, 2017. The Answer Specification structure will no longer support the FileUploadAnswer element to be used for the QuestionForm data structure. Instead, we recommend that Requesters who want to create HITs asking Workers to upload files to use Amazon S3. + +Required Parameters +{ + "QuestionIdentifier": "The identifier of the question with a FileUploadAnswer, as specified in the QuestionForm of the HIT.", + "AssignmentId": "The ID of the assignment that contains the question with a FileUploadAnswer." +} +""" +GetFileUploadURL(args) = mturk("GetFileUploadURL", args) + +""" + GetAccountBalance() + +The GetAccountBalance operation retrieves the amount of money in your Amazon Mechanical Turk account. +""" +GetAccountBalance() = mturk("GetAccountBalance") +GetAccountBalance(args) = mturk("GetAccountBalance", args) + +""" + GetQualificationType() + + The GetQualificationTypeoperation retrieves information about a Qualification type using its ID. + +Required Parameters +{ + "QualificationTypeId": "The ID of the QualificationType." +} +""" +GetQualificationType(args) = mturk("GetQualificationType", args) + +""" + ListHITsForQualificationType() + + The ListHITsForQualificationType operation returns the HITs that use the given Qualification type for a Qualification requirement. The operation returns HITs of any status, except for HITs that have been deleted with the DeleteHIT operation or that have been auto-deleted. + +Required Parameters +{ + "QualificationTypeId": " The ID of the Qualification type to use when querying HITs. " +} + +Optional Parameters +{ + "MaxResults": " Limit the number of results returned. ", + "NextToken": "Pagination Token" +} +""" +ListHITsForQualificationType(args) = mturk("ListHITsForQualificationType", args) + +""" + UpdateHITReviewStatus() + + The UpdateHITReviewStatus operation updates the status of a HIT. If the status is Reviewable, this operation can update the status to Reviewing, or it can revert a Reviewing HIT back to the Reviewable status. + +Required Parameters +{ + "HITId": " The ID of the HIT to update. " +} + +Optional Parameters +{ + "Revert": " Specifies how to update the HIT status. Default is False. Setting this to false will only transition a HIT from Reviewable to Reviewing Setting this to true will only transition a HIT from Reviewing to Reviewable " +} +""" +UpdateHITReviewStatus(args) = mturk("UpdateHITReviewStatus", args) + +""" + CreateHITWithHITType() + + The CreateHITWithHITType operation creates a new Human Intelligence Task (HIT) using an existing HITTypeID generated by the CreateHITType operation. This is an alternative way to create HITs from the CreateHIT operation. This is the recommended best practice for Requesters who are creating large numbers of HITs. CreateHITWithHITType also supports several ways to provide question data: by providing a value for the Question parameter that fully specifies the contents of the HIT, or by providing a HitLayoutId and associated HitLayoutParameters. If a HIT is created with 10 or more maximum assignments, there is an additional fee. For more information, see Amazon Mechanical Turk Pricing. + +Required Parameters +{ + "LifetimeInSeconds": " An amount of time, in seconds, after which the HIT is no longer available for users to accept. After the lifetime of the HIT elapses, the HIT no longer appears in HIT searches, even if not all of the assignments for the HIT have been accepted. ", + "HITTypeId": "The HIT type ID you want to create this HIT with." +} + +Optional Parameters +{ + "RequesterAnnotation": " An arbitrary data field. The RequesterAnnotation parameter lets your application attach arbitrary data to the HIT for tracking purposes. For example, this parameter could be an identifier internal to the Requester's application that corresponds with the HIT. The RequesterAnnotation parameter for a HIT is only visible to the Requester who created the HIT. It is not shown to the Worker, or any other Requester. The RequesterAnnotation parameter may be different for each HIT you submit. It does not affect how your HITs are grouped. ", + "UniqueRequestToken": " A unique identifier for this request which allows you to retry the call on error without creating duplicate HITs. This is useful in cases such as network timeouts where it is unclear whether or not the call succeeded on the server. If the HIT already exists in the system from a previous call using the same UniqueRequestToken, subsequent calls will return a AWS.MechanicalTurk.HitAlreadyExists error with a message containing the HITId. Note: It is your responsibility to ensure uniqueness of the token. The unique token expires after 24 hours. Subsequent calls using the same UniqueRequestToken made after the 24 hour limit could create duplicate HITs. ", + "AssignmentReviewPolicy": " The Assignment-level Review Policy applies to the assignments under the HIT. You can specify for Mechanical Turk to take various actions based on the policy. ", + "HITReviewPolicy": " The HIT-level Review Policy applies to the HIT. You can specify for Mechanical Turk to take various actions based on the policy. ", + "MaxAssignments": " The number of times the HIT can be accepted and completed before the HIT becomes unavailable. ", + "Question": " The data the person completing the HIT uses to produce the results. Constraints: Must be a QuestionForm data structure, an ExternalQuestion data structure, or an HTMLQuestion data structure. The XML question data must not be larger than 64 kilobytes (65,535 bytes) in size, including whitespace. Either a Question parameter or a HITLayoutId parameter must be provided.", + "HITLayoutParameters": " If the HITLayoutId is provided, any placeholder values must be filled in with values using the HITLayoutParameter structure. For more information, see HITLayout. ", + "HITLayoutId": " The HITLayoutId allows you to use a pre-existing HIT design with placeholder values and create an additional HIT by providing those values as HITLayoutParameters. Constraints: Either a Question parameter or a HITLayoutId parameter must be provided. " +} +""" +CreateHITWithHITType(args) = mturk("CreateHITWithHITType", args) + +""" + UpdateHITTypeOfHIT() + + The UpdateHITTypeOfHIT operation allows you to change the HITType properties of a HIT. This operation disassociates the HIT from its old HITType properties and associates it with the new HITType properties. The HIT takes on the properties of the new HITType in place of the old ones. + +Required Parameters +{ + "HITTypeId": "The ID of the new HIT type.", + "HITId": "The HIT to update." +} +""" +UpdateHITTypeOfHIT(args) = mturk("UpdateHITTypeOfHIT", args) + +""" + ListBonusPayments() + + The ListBonusPayments operation retrieves the amounts of bonuses you have paid to Workers for a given HIT or assignment. + +Optional Parameters +{ + "MaxResults": "", + "NextToken": "Pagination token", + "AssignmentId": "The ID of the assignment associated with the bonus payments to retrieve. If specified, only bonus payments for the given assignment are returned. Either the HITId parameter or the AssignmentId parameter must be specified", + "HITId": "The ID of the HIT associated with the bonus payments to retrieve. If not specified, all bonus payments for all assignments for the given HIT are returned. Either the HITId parameter or the AssignmentId parameter must be specified" +} +""" +ListBonusPayments() = mturk("ListBonusPayments") +ListBonusPayments(args) = mturk("ListBonusPayments", args) + +""" + CreateQualificationType() + + The CreateQualificationType operation creates a new Qualification type, which is represented by a QualificationType data structure. + +Required Parameters +{ + "Description": "A long description for the Qualification type. On the Amazon Mechanical Turk website, the long description is displayed when a Worker examines a Qualification type.", + "Name": " The name you give to the Qualification type. The type name is used to represent the Qualification to Workers, and to find the type using a Qualification type search. It must be unique across all of your Qualification types.", + "QualificationTypeStatus": "The initial status of the Qualification type. Constraints: Valid values are: Active | Inactive" +} + +Optional Parameters +{ + "RetryDelayInSeconds": "The number of seconds that a Worker must wait after requesting a Qualification of the Qualification type before the worker can retry the Qualification request. Constraints: None. If not specified, retries are disabled and Workers can request a Qualification of this type only once, even if the Worker has not been granted the Qualification. It is not possible to disable retries for a Qualification type after it has been created with retries enabled. If you want to disable retries, you must delete existing retry-enabled Qualification type and then create a new Qualification type with retries disabled.", + "TestDurationInSeconds": "The number of seconds the Worker has to complete the Qualification test, starting from the time the Worker requests the Qualification.", + "Test": " The questions for the Qualification test a Worker must answer correctly to obtain a Qualification of this type. If this parameter is specified, TestDurationInSeconds must also be specified. Constraints: Must not be longer than 65535 bytes. Must be a QuestionForm data structure. This parameter cannot be specified if AutoGranted is true. Constraints: None. If not specified, the Worker may request the Qualification without answering any questions.", + "AnswerKey": "The answers to the Qualification test specified in the Test parameter, in the form of an AnswerKey data structure. Constraints: Must not be longer than 65535 bytes. Constraints: None. If not specified, you must process Qualification requests manually.", + "AutoGrantedValue": "The Qualification value to use for automatically granted Qualifications. This parameter is used only if the AutoGranted parameter is true.", + "Keywords": "One or more words or phrases that describe the Qualification type, separated by commas. The keywords of a type make the type easier to find during a search.", + "AutoGranted": "Specifies whether requests for the Qualification type are granted immediately, without prompting the Worker with a Qualification test. Constraints: If the Test parameter is specified, this parameter cannot be true." +} +""" +CreateQualificationType(args) = mturk("CreateQualificationType", args) + +""" + CreateHIT() + +The CreateHIT operation creates a new Human Intelligence Task (HIT). The new HIT is made available for Workers to find and accept on the Amazon Mechanical Turk website. This operation allows you to specify a new HIT by passing in values for the properties of the HIT, such as its title, reward amount and number of assignments. When you pass these values to CreateHIT, a new HIT is created for you, with a new HITTypeID. The HITTypeID can be used to create additional HITs in the future without needing to specify common parameters such as the title, description and reward amount each time. An alternative way to create HITs is to first generate a HITTypeID using the CreateHITType operation and then call the CreateHITWithHITType operation. This is the recommended best practice for Requesters who are creating large numbers of HITs. CreateHIT also supports several ways to provide question data: by providing a value for the Question parameter that fully specifies the contents of the HIT, or by providing a HitLayoutId and associated HitLayoutParameters. If a HIT is created with 10 or more maximum assignments, there is an additional fee. For more information, see Amazon Mechanical Turk Pricing. + +Required Parameters +{ + "Description": " A general description of the HIT. A description includes detailed information about the kind of task the HIT contains. On the Amazon Mechanical Turk web site, the HIT description appears in the expanded view of search results, and in the HIT and assignment screens. A good description gives the user enough information to evaluate the HIT before accepting it. ", + "LifetimeInSeconds": " An amount of time, in seconds, after which the HIT is no longer available for users to accept. After the lifetime of the HIT elapses, the HIT no longer appears in HIT searches, even if not all of the assignments for the HIT have been accepted. ", + "AssignmentDurationInSeconds": " The amount of time, in seconds, that a Worker has to complete the HIT after accepting it. If a Worker does not complete the assignment within the specified duration, the assignment is considered abandoned. If the HIT is still active (that is, its lifetime has not elapsed), the assignment becomes available for other users to find and accept. ", + "Reward": " The amount of money the Requester will pay a Worker for successfully completing the HIT. ", + "Title": " The title of the HIT. A title should be short and descriptive about the kind of task the HIT contains. On the Amazon Mechanical Turk web site, the HIT title appears in search results, and everywhere the HIT is mentioned. " +} + +Optional Parameters +{ + "Question": " The data the person completing the HIT uses to produce the results. Constraints: Must be a QuestionForm data structure, an ExternalQuestion data structure, or an HTMLQuestion data structure. The XML question data must not be larger than 64 kilobytes (65,535 bytes) in size, including whitespace. Either a Question parameter or a HITLayoutId parameter must be provided.", + "Keywords": " One or more words or phrases that describe the HIT, separated by commas. These words are used in searches to find HITs. ", + "AssignmentReviewPolicy": " The Assignment-level Review Policy applies to the assignments under the HIT. You can specify for Mechanical Turk to take various actions based on the policy. ", + "HITReviewPolicy": " The HIT-level Review Policy applies to the HIT. You can specify for Mechanical Turk to take various actions based on the policy. ", + "RequesterAnnotation": " An arbitrary data field. The RequesterAnnotation parameter lets your application attach arbitrary data to the HIT for tracking purposes. For example, this parameter could be an identifier internal to the Requester's application that corresponds with the HIT. The RequesterAnnotation parameter for a HIT is only visible to the Requester who created the HIT. It is not shown to the Worker, or any other Requester. The RequesterAnnotation parameter may be different for each HIT you submit. It does not affect how your HITs are grouped. ", + "HITLayoutParameters": " If the HITLayoutId is provided, any placeholder values must be filled in with values using the HITLayoutParameter structure. For more information, see HITLayout. ", + "MaxAssignments": " The number of times the HIT can be accepted and completed before the HIT becomes unavailable. ", + "AutoApprovalDelayInSeconds": " The number of seconds after an assignment for the HIT has been submitted, after which the assignment is considered Approved automatically unless the Requester explicitly rejects it. ", + "QualificationRequirements": " Conditions that a Worker's Qualifications must meet in order to accept the HIT. A HIT can have between zero and ten Qualification requirements. All requirements must be met in order for a Worker to accept the HIT. Additionally, other actions can be restricted using the ActionsGuarded field on each QualificationRequirement structure. ", + "UniqueRequestToken": " A unique identifier for this request which allows you to retry the call on error without creating duplicate HITs. This is useful in cases such as network timeouts where it is unclear whether or not the call succeeded on the server. If the HIT already exists in the system from a previous call using the same UniqueRequestToken, subsequent calls will return a AWS.MechanicalTurk.HitAlreadyExists error with a message containing the HITId. Note: It is your responsibility to ensure uniqueness of the token. The unique token expires after 24 hours. Subsequent calls using the same UniqueRequestToken made after the 24 hour limit could create duplicate HITs. ", + "HITLayoutId": " The HITLayoutId allows you to use a pre-existing HIT design with placeholder values and create an additional HIT by providing those values as HITLayoutParameters. Constraints: Either a Question parameter or a HITLayoutId parameter must be provided. " +} +""" +CreateHIT(args) = mturk("CreateHIT", args) + +""" + UpdateQualificationType() + + The UpdateQualificationType operation modifies the attributes of an existing Qualification type, which is represented by a QualificationType data structure. Only the owner of a Qualification type can modify its attributes. Most attributes of a Qualification type can be changed after the type has been created. However, the Name and Keywords fields cannot be modified. The RetryDelayInSeconds parameter can be modified or added to change the delay or to enable retries, but RetryDelayInSeconds cannot be used to disable retries. You can use this operation to update the test for a Qualification type. The test is updated based on the values specified for the Test, TestDurationInSeconds and AnswerKey parameters. All three parameters specify the updated test. If you are updating the test for a type, you must specify the Test and TestDurationInSeconds parameters. The AnswerKey parameter is optional; omitting it specifies that the updated test does not have an answer key. If you omit the Test parameter, the test for the Qualification type is unchanged. There is no way to remove a test from a Qualification type that has one. If the type already has a test, you cannot update it to be AutoGranted. If the Qualification type does not have a test and one is provided by an update, the type will henceforth have a test. If you want to update the test duration or answer key for an existing test without changing the questions, you must specify a Test parameter with the original questions, along with the updated values. If you provide an updated Test but no AnswerKey, the new test will not have an answer key. Requests for such Qualifications must be granted manually. You can also update the AutoGranted and AutoGrantedValue attributes of the Qualification type. + +Required Parameters +{ + "QualificationTypeId": "The ID of the Qualification type to update." +} + +Optional Parameters +{ + "Description": "The new description of the Qualification type.", + "TestDurationInSeconds": "The number of seconds the Worker has to complete the Qualification test, starting from the time the Worker requests the Qualification.", + "RetryDelayInSeconds": "The amount of time, in seconds, that Workers must wait after requesting a Qualification of the specified Qualification type before they can retry the Qualification request. It is not possible to disable retries for a Qualification type after it has been created with retries enabled. If you want to disable retries, you must dispose of the existing retry-enabled Qualification type using DisposeQualificationType and then create a new Qualification type with retries disabled using CreateQualificationType.", + "Test": "The questions for the Qualification test a Worker must answer correctly to obtain a Qualification of this type. If this parameter is specified, TestDurationInSeconds must also be specified. Constraints: Must not be longer than 65535 bytes. Must be a QuestionForm data structure. This parameter cannot be specified if AutoGranted is true. Constraints: None. If not specified, the Worker may request the Qualification without answering any questions.", + "AnswerKey": "The answers to the Qualification test specified in the Test parameter, in the form of an AnswerKey data structure.", + "AutoGrantedValue": "The Qualification value to use for automatically granted Qualifications. This parameter is used only if the AutoGranted parameter is true.", + "AutoGranted": "Specifies whether requests for the Qualification type are granted immediately, without prompting the Worker with a Qualification test. Constraints: If the Test parameter is specified, this parameter cannot be true.", + "QualificationTypeStatus": "The new status of the Qualification type - Active | Inactive" +} +""" +UpdateQualificationType(args) = mturk("UpdateQualificationType", args) + +""" + ListWorkerBlocks() + +The ListWorkersBlocks operation retrieves a list of Workers who are blocked from working on your HITs. + +Optional Parameters +{ + "MaxResults": "", + "NextToken": "Pagination token" +} +""" +ListWorkerBlocks() = mturk("ListWorkerBlocks") +ListWorkerBlocks(args) = mturk("ListWorkerBlocks", args) + +""" + AssociateQualificationWithWorker() + + The AssociateQualificationWithWorker operation gives a Worker a Qualification. AssociateQualificationWithWorker does not require that the Worker submit a Qualification request. It gives the Qualification directly to the Worker. You can only assign a Qualification of a Qualification type that you created (using the CreateQualificationType operation). Note: AssociateQualificationWithWorker does not affect any pending Qualification requests for the Qualification by the Worker. If you assign a Qualification to a Worker, then later grant a Qualification request made by the Worker, the granting of the request may modify the Qualification score. To resolve a pending Qualification request without affecting the Qualification the Worker already has, reject the request with the RejectQualificationRequest operation. + +Required Parameters +{ + "QualificationTypeId": "The ID of the Qualification type to use for the assigned Qualification.", + "WorkerId": " The ID of the Worker to whom the Qualification is being assigned. Worker IDs are included with submitted HIT assignments and Qualification requests. " +} + +Optional Parameters +{ + "IntegerValue": "The value of the Qualification to assign.", + "SendNotification": " Specifies whether to send a notification email message to the Worker saying that the qualification was assigned to the Worker. Note: this is true by default. " +} +""" +AssociateQualificationWithWorker(args) = mturk("AssociateQualificationWithWorker", args) + +""" + NotifyWorkers() + + The NotifyWorkers operation sends an email to one or more Workers that you specify with the Worker ID. You can specify up to 100 Worker IDs to send the same message with a single call to the NotifyWorkers operation. The NotifyWorkers operation will send a notification email to a Worker only if you have previously approved or rejected work from the Worker. + +Required Parameters +{ + "Subject": "The subject line of the email message to send. Can include up to 200 characters.", + "MessageText": "The text of the email message to send. Can include up to 4,096 characters", + "WorkerIds": "A list of Worker IDs you wish to notify. You can notify upto 100 Workers at a time." +} +""" +NotifyWorkers(args) = mturk("NotifyWorkers", args) + +""" + RejectQualificationRequest() + + The RejectQualificationRequest operation rejects a user's request for a Qualification. You can provide a text message explaining why the request was rejected. The Worker who made the request can see this message. + +Required Parameters +{ + "QualificationRequestId": " The ID of the Qualification request, as returned by the ListQualificationRequests operation. " +} + +Optional Parameters +{ + "Reason": "A text message explaining why the request was rejected, to be shown to the Worker who made the request." +} +""" +RejectQualificationRequest(args) = mturk("RejectQualificationRequest", args) + +""" + UpdateExpirationForHIT() + + The UpdateExpirationForHIT operation allows you update the expiration time of a HIT. If you update it to a time in the past, the HIT will be immediately expired. + +Required Parameters +{ + "ExpireAt": " The date and time at which you want the HIT to expire ", + "HITId": " The HIT to update. " +} +""" +UpdateExpirationForHIT(args) = mturk("UpdateExpirationForHIT", args) + +""" + ListHITs() + + The ListHITs operation returns all of a Requester's HITs. The operation returns HITs of any status, except for HITs that have been deleted of with the DeleteHIT operation or that have been auto-deleted. + +Optional Parameters +{ + "MaxResults": "", + "NextToken": "Pagination token" +} +""" +ListHITs() = mturk("ListHITs") +ListHITs(args) = mturk("ListHITs", args) + +""" + ApproveAssignment() + + The ApproveAssignment operation approves the results of a completed assignment. Approving an assignment initiates two payments from the Requester's Amazon.com account The Worker who submitted the results is paid the reward specified in the HIT. Amazon Mechanical Turk fees are debited. If the Requester's account does not have adequate funds for these payments, the call to ApproveAssignment returns an exception, and the approval is not processed. You can include an optional feedback message with the approval, which the Worker can see in the Status section of the web site. You can also call this operation for assignments that were previous rejected and approve them by explicitly overriding the previous rejection. This only works on rejected assignments that were submitted within the previous 30 days and only if the assignment's related HIT has not been deleted. + +Required Parameters +{ + "AssignmentId": " The ID of the assignment. The assignment must correspond to a HIT created by the Requester. " +} + +Optional Parameters +{ + "RequesterFeedback": " A message for the Worker, which the Worker can see in the Status section of the web site. ", + "OverrideRejection": " A flag indicating that an assignment should be approved even if it was previously rejected. Defaults to False. " +} +""" +ApproveAssignment(args) = mturk("ApproveAssignment", args) diff --git a/src/services/neptune.jl b/src/services/neptune.jl new file mode 100644 index 0000000000..f7ad93afb0 --- /dev/null +++ b/src/services/neptune.jl @@ -0,0 +1,1102 @@ +include("../AWSServices.jl") +using .AWSServices: neptune + +""" + DescribeDBEngineVersions() + +Returns a list of the available DB engines. + +Optional Parameters +{ + "MaxRecords": " The maximum number of records to include in the response. If more than the MaxRecords value is available, a pagination token called a marker is included in the response so that the following results can be retrieved. Default: 100 Constraints: Minimum 20, maximum 100.", + "Marker": " An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.", + "ListSupportedTimezones": "If this parameter is specified and the requested engine supports the TimeZone parameter for CreateDBInstance, the response includes a list of supported time zones for each engine version.", + "EngineVersion": "The database engine version to return. Example: 5.1.49 ", + "Engine": "The database engine to return.", + "Filters": "Not currently supported.", + "ListSupportedCharacterSets": "If this parameter is specified and the requested engine supports the CharacterSetName parameter for CreateDBInstance, the response includes a list of supported character sets for each engine version.", + "DefaultOnly": "Indicates that only the default version of the specified engine or engine and major version combination is returned.", + "DBParameterGroupFamily": "The name of a specific DB parameter group family to return details for. Constraints: If supplied, must match an existing DBParameterGroupFamily. " +} +""" +DescribeDBEngineVersions() = neptune("DescribeDBEngineVersions") +DescribeDBEngineVersions(args) = neptune("DescribeDBEngineVersions", args) + +""" + DescribeDBInstances() + +Returns information about provisioned instances, and supports pagination. This operation can also return information for Amazon RDS instances and Amazon DocDB instances. + +Optional Parameters +{ + "DBInstanceIdentifier": "The user-supplied instance identifier. If this parameter is specified, information from only the specific DB instance is returned. This parameter isn't case-sensitive. Constraints: If supplied, must match the identifier of an existing DBInstance. ", + "MaxRecords": " The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved. Default: 100 Constraints: Minimum 20, maximum 100.", + "Marker": " An optional pagination token provided by a previous DescribeDBInstances request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.", + "Filters": "A filter that specifies one or more DB instances to describe. Supported filters: db-cluster-id - Accepts DB cluster identifiers and DB cluster Amazon Resource Names (ARNs). The results list will only include information about the DB instances associated with the DB clusters identified by these ARNs. engine - Accepts an engine name (such as neptune), and restricts the results list to DB instances created by that engine. For example, to invoke this API from the AWS CLI and filter so that only Neptune DB instances are returned, you could use the following command:" +} +""" +DescribeDBInstances() = neptune("DescribeDBInstances") +DescribeDBInstances(args) = neptune("DescribeDBInstances", args) + +""" + DescribeValidDBInstanceModifications() + +You can call DescribeValidDBInstanceModifications to learn what modifications you can make to your DB instance. You can use this information when you call ModifyDBInstance. + +Required Parameters +{ + "DBInstanceIdentifier": "The customer identifier or the ARN of your DB instance." +} +""" +DescribeValidDBInstanceModifications(args) = neptune("DescribeValidDBInstanceModifications", args) + +""" + FailoverDBCluster() + +Forces a failover for a DB cluster. A failover for a DB cluster promotes one of the Read Replicas (read-only instances) in the DB cluster to be the primary instance (the cluster writer). Amazon Neptune will automatically fail over to a Read Replica, if one exists, when the primary instance fails. You can force a failover when you want to simulate a failure of a primary instance for testing. Because each instance in a DB cluster has its own endpoint address, you will need to clean up and re-establish any existing connections that use those endpoint addresses when the failover is complete. + +Optional Parameters +{ + "DBClusterIdentifier": "A DB cluster identifier to force a failover for. This parameter is not case-sensitive. Constraints: Must match the identifier of an existing DBCluster. ", + "TargetDBInstanceIdentifier": "The name of the instance to promote to the primary instance. You must specify the instance identifier for an Read Replica in the DB cluster. For example, mydbcluster-replica1." +} +""" +FailoverDBCluster() = neptune("FailoverDBCluster") +FailoverDBCluster(args) = neptune("FailoverDBCluster", args) + +""" + StopDBCluster() + +Stops an Amazon Neptune DB cluster. When you stop a DB cluster, Neptune retains the DB cluster's metadata, including its endpoints and DB parameter groups. Neptune also retains the transaction logs so you can do a point-in-time restore if necessary. + +Required Parameters +{ + "DBClusterIdentifier": "The DB cluster identifier of the Neptune DB cluster to be stopped. This parameter is stored as a lowercase string." +} +""" +StopDBCluster(args) = neptune("StopDBCluster", args) + +""" + AddRoleToDBCluster() + +Associates an Identity and Access Management (IAM) role from an Neptune DB cluster. + +Required Parameters +{ + "DBClusterIdentifier": "The name of the DB cluster to associate the IAM role with.", + "RoleArn": "The Amazon Resource Name (ARN) of the IAM role to associate with the Neptune DB cluster, for example arn:aws:iam::123456789012:role/NeptuneAccessRole." +} +""" +AddRoleToDBCluster(args) = neptune("AddRoleToDBCluster", args) + +""" + RemoveRoleFromDBCluster() + +Disassociates an Identity and Access Management (IAM) role from a DB cluster. + +Required Parameters +{ + "DBClusterIdentifier": "The name of the DB cluster to disassociate the IAM role from.", + "RoleArn": "The Amazon Resource Name (ARN) of the IAM role to disassociate from the DB cluster, for example arn:aws:iam::123456789012:role/NeptuneAccessRole." +} +""" +RemoveRoleFromDBCluster(args) = neptune("RemoveRoleFromDBCluster", args) + +""" + DescribeEventCategories() + +Displays a list of categories for all event source types, or, if specified, for a specified source type. + +Optional Parameters +{ + "SourceType": "The type of source that is generating the events. Valid values: db-instance | db-parameter-group | db-security-group | db-snapshot", + "Filters": "This parameter is not currently supported." +} +""" +DescribeEventCategories() = neptune("DescribeEventCategories") +DescribeEventCategories(args) = neptune("DescribeEventCategories", args) + +""" + DeleteDBClusterSnapshot() + +Deletes a DB cluster snapshot. If the snapshot is being copied, the copy operation is terminated. The DB cluster snapshot must be in the available state to be deleted. + +Required Parameters +{ + "DBClusterSnapshotIdentifier": "The identifier of the DB cluster snapshot to delete. Constraints: Must be the name of an existing DB cluster snapshot in the available state." +} +""" +DeleteDBClusterSnapshot(args) = neptune("DeleteDBClusterSnapshot", args) + +""" + RestoreDBClusterFromSnapshot() + +Creates a new DB cluster from a DB snapshot or DB cluster snapshot. If a DB snapshot is specified, the target DB cluster is created from the source DB snapshot with a default configuration and default security group. If a DB cluster snapshot is specified, the target DB cluster is created from the source DB cluster restore point with the same configuration as the original source DB cluster, except that the new DB cluster is created with the default security group. + +Required Parameters +{ + "DBClusterIdentifier": "The name of the DB cluster to create from the DB snapshot or DB cluster snapshot. This parameter isn't case-sensitive. Constraints: Must contain from 1 to 63 letters, numbers, or hyphens First character must be a letter Cannot end with a hyphen or contain two consecutive hyphens Example: my-snapshot-id ", + "Engine": "The database engine to use for the new DB cluster. Default: The same as source Constraint: Must be compatible with the engine of the source", + "SnapshotIdentifier": "The identifier for the DB snapshot or DB cluster snapshot to restore from. You can use either the name or the Amazon Resource Name (ARN) to specify a DB cluster snapshot. However, you can use only the ARN to specify a DB snapshot. Constraints: Must match the identifier of an existing Snapshot. " +} + +Optional Parameters +{ + "DatabaseName": "Not supported.", + "OptionGroupName": " (Not supported by Neptune) ", + "AvailabilityZones": "Provides the list of EC2 Availability Zones that instances in the restored DB cluster can be created in.", + "DBSubnetGroupName": "The name of the DB subnet group to use for the new DB cluster. Constraints: If supplied, must match the name of an existing DBSubnetGroup. Example: mySubnetgroup ", + "Tags": "The tags to be assigned to the restored DB cluster.", + "EnableIAMDatabaseAuthentication": "True to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts, and otherwise false. Default: false ", + "EngineVersion": "The version of the database engine to use for the new DB cluster.", + "DBClusterParameterGroupName": "The name of the DB cluster parameter group to associate with the new DB cluster. Constraints: If supplied, must match the name of an existing DBClusterParameterGroup. ", + "Port": "The port number on which the new DB cluster accepts connections. Constraints: Value must be 1150-65535 Default: The same port as the original DB cluster.", + "EnableCloudwatchLogsExports": "The list of logs that the restored DB cluster is to export to Amazon CloudWatch Logs.", + "DeletionProtection": "A value that indicates whether the DB cluster has deletion protection enabled. The database can't be deleted when deletion protection is enabled. By default, deletion protection is disabled. ", + "VpcSecurityGroupIds": "A list of VPC security groups that the new DB cluster will belong to.", + "KmsKeyId": "The AWS KMS key identifier to use when restoring an encrypted DB cluster from a DB snapshot or DB cluster snapshot. The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are restoring a DB cluster with the same AWS account that owns the KMS encryption key used to encrypt the new DB cluster, then you can use the KMS key alias instead of the ARN for the KMS encryption key. If you do not specify a value for the KmsKeyId parameter, then the following will occur: If the DB snapshot or DB cluster snapshot in SnapshotIdentifier is encrypted, then the restored DB cluster is encrypted using the KMS key that was used to encrypt the DB snapshot or DB cluster snapshot. If the DB snapshot or DB cluster snapshot in SnapshotIdentifier is not encrypted, then the restored DB cluster is not encrypted. " +} +""" +RestoreDBClusterFromSnapshot(args) = neptune("RestoreDBClusterFromSnapshot", args) + +""" + DeleteDBCluster() + +The DeleteDBCluster action deletes a previously provisioned DB cluster. When you delete a DB cluster, all automated backups for that DB cluster are deleted and can't be recovered. Manual DB cluster snapshots of the specified DB cluster are not deleted. Note that the DB Cluster cannot be deleted if deletion protection is enabled. To delete it, you must first set its DeletionProtection field to False. + +Required Parameters +{ + "DBClusterIdentifier": "The DB cluster identifier for the DB cluster to be deleted. This parameter isn't case-sensitive. Constraints: Must match an existing DBClusterIdentifier. " +} + +Optional Parameters +{ + "SkipFinalSnapshot": " Determines whether a final DB cluster snapshot is created before the DB cluster is deleted. If true is specified, no DB cluster snapshot is created. If false is specified, a DB cluster snapshot is created before the DB cluster is deleted. You must specify a FinalDBSnapshotIdentifier parameter if SkipFinalSnapshot is false. Default: false ", + "FinalDBSnapshotIdentifier": " The DB cluster snapshot identifier of the new DB cluster snapshot created when SkipFinalSnapshot is set to false. Specifying this parameter and also setting the SkipFinalShapshot parameter to true results in an error. Constraints: Must be 1 to 255 letters, numbers, or hyphens. First character must be a letter Cannot end with a hyphen or contain two consecutive hyphens " +} +""" +DeleteDBCluster(args) = neptune("DeleteDBCluster", args) + +""" + CopyDBClusterParameterGroup() + +Copies the specified DB cluster parameter group. + +Required Parameters +{ + "SourceDBClusterParameterGroupIdentifier": "The identifier or Amazon Resource Name (ARN) for the source DB cluster parameter group. For information about creating an ARN, see Constructing an Amazon Resource Name (ARN). Constraints: Must specify a valid DB cluster parameter group. If the source DB cluster parameter group is in the same AWS Region as the copy, specify a valid DB parameter group identifier, for example my-db-cluster-param-group, or a valid ARN. If the source DB parameter group is in a different AWS Region than the copy, specify a valid DB cluster parameter group ARN, for example arn:aws:rds:us-east-1:123456789012:cluster-pg:custom-cluster-group1. ", + "TargetDBClusterParameterGroupDescription": "A description for the copied DB cluster parameter group.", + "TargetDBClusterParameterGroupIdentifier": "The identifier for the copied DB cluster parameter group. Constraints: Cannot be null, empty, or blank Must contain from 1 to 255 letters, numbers, or hyphens First character must be a letter Cannot end with a hyphen or contain two consecutive hyphens Example: my-cluster-param-group1 " +} + +Optional Parameters +{ + "Tags": "The tags to be assigned to the copied DB cluster parameter group." +} +""" +CopyDBClusterParameterGroup(args) = neptune("CopyDBClusterParameterGroup", args) + +""" + DeleteEventSubscription() + +Deletes an event notification subscription. + +Required Parameters +{ + "SubscriptionName": "The name of the event notification subscription you want to delete." +} +""" +DeleteEventSubscription(args) = neptune("DeleteEventSubscription", args) + +""" + ResetDBParameterGroup() + +Modifies the parameters of a DB parameter group to the engine/system default value. To reset specific parameters, provide a list of the following: ParameterName and ApplyMethod. To reset the entire DB parameter group, specify the DBParameterGroup name and ResetAllParameters parameters. When resetting the entire group, dynamic parameters are updated immediately and static parameters are set to pending-reboot to take effect on the next DB instance restart or RebootDBInstance request. + +Required Parameters +{ + "DBParameterGroupName": "The name of the DB parameter group. Constraints: Must match the name of an existing DBParameterGroup. " +} + +Optional Parameters +{ + "Parameters": "To reset the entire DB parameter group, specify the DBParameterGroup name and ResetAllParameters parameters. To reset specific parameters, provide a list of the following: ParameterName and ApplyMethod. A maximum of 20 parameters can be modified in a single request. Valid Values (for Apply method): pending-reboot ", + "ResetAllParameters": "Specifies whether (true) or not (false) to reset all parameters in the DB parameter group to default values. Default: true " +} +""" +ResetDBParameterGroup(args) = neptune("ResetDBParameterGroup", args) + +""" + ModifyEventSubscription() + +Modifies an existing event notification subscription. Note that you can't modify the source identifiers using this call; to change source identifiers for a subscription, use the AddSourceIdentifierToSubscription and RemoveSourceIdentifierFromSubscription calls. You can see a list of the event categories for a given SourceType by using the DescribeEventCategories action. + +Required Parameters +{ + "SubscriptionName": "The name of the event notification subscription." +} + +Optional Parameters +{ + "SourceType": "The type of source that is generating the events. For example, if you want to be notified of events generated by a DB instance, you would set this parameter to db-instance. if this value is not specified, all events are returned. Valid values: db-instance | db-parameter-group | db-security-group | db-snapshot", + "SnsTopicArn": "The Amazon Resource Name (ARN) of the SNS topic created for event notification. The ARN is created by Amazon SNS when you create a topic and subscribe to it.", + "EventCategories": " A list of event categories for a SourceType that you want to subscribe to. You can see a list of the categories for a given SourceType by using the DescribeEventCategories action.", + "Enabled": " A Boolean value; set to true to activate the subscription." +} +""" +ModifyEventSubscription(args) = neptune("ModifyEventSubscription", args) + +""" + DeleteDBClusterParameterGroup() + +Deletes a specified DB cluster parameter group. The DB cluster parameter group to be deleted can't be associated with any DB clusters. + +Required Parameters +{ + "DBClusterParameterGroupName": "The name of the DB cluster parameter group. Constraints: Must be the name of an existing DB cluster parameter group. You can't delete a default DB cluster parameter group. Cannot be associated with any DB clusters. " +} +""" +DeleteDBClusterParameterGroup(args) = neptune("DeleteDBClusterParameterGroup", args) + +""" + DescribeOrderableDBInstanceOptions() + +Returns a list of orderable DB instance options for the specified engine. + +Required Parameters +{ + "Engine": "The name of the engine to retrieve DB instance options for." +} + +Optional Parameters +{ + "MaxRecords": " The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved. Default: 100 Constraints: Minimum 20, maximum 100.", + "Marker": " An optional pagination token provided by a previous DescribeOrderableDBInstanceOptions request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords .", + "EngineVersion": "The engine version filter value. Specify this parameter to show only the available offerings matching the specified engine version.", + "LicenseModel": "The license model filter value. Specify this parameter to show only the available offerings matching the specified license model.", + "Vpc": "The VPC filter value. Specify this parameter to show only the available VPC or non-VPC offerings.", + "DBInstanceClass": "The DB instance class filter value. Specify this parameter to show only the available offerings matching the specified DB instance class.", + "Filters": "This parameter is not currently supported." +} +""" +DescribeOrderableDBInstanceOptions(args) = neptune("DescribeOrderableDBInstanceOptions", args) + +""" + DescribeDBClusterParameters() + +Returns the detailed parameter list for a particular DB cluster parameter group. + +Required Parameters +{ + "DBClusterParameterGroupName": "The name of a specific DB cluster parameter group to return parameter details for. Constraints: If supplied, must match the name of an existing DBClusterParameterGroup. " +} + +Optional Parameters +{ + "MaxRecords": " The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved. Default: 100 Constraints: Minimum 20, maximum 100.", + "Marker": " An optional pagination token provided by a previous DescribeDBClusterParameters request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords. ", + "Source": " A value that indicates to return only parameters for a specific source. Parameter sources can be engine, service, or customer.", + "Filters": "This parameter is not currently supported." +} +""" +DescribeDBClusterParameters(args) = neptune("DescribeDBClusterParameters", args) + +""" + DescribeDBParameterGroups() + +Returns a list of DBParameterGroup descriptions. If a DBParameterGroupName is specified, the list will contain only the description of the specified DB parameter group. + +Optional Parameters +{ + "MaxRecords": "The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved. Default: 100 Constraints: Minimum 20, maximum 100.", + "Marker": "An optional pagination token provided by a previous DescribeDBParameterGroups request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.", + "DBParameterGroupName": "The name of a specific DB parameter group to return details for. Constraints: If supplied, must match the name of an existing DBClusterParameterGroup. ", + "Filters": "This parameter is not currently supported." +} +""" +DescribeDBParameterGroups() = neptune("DescribeDBParameterGroups") +DescribeDBParameterGroups(args) = neptune("DescribeDBParameterGroups", args) + +""" + ModifyDBParameterGroup() + +Modifies the parameters of a DB parameter group. To modify more than one parameter, submit a list of the following: ParameterName, ParameterValue, and ApplyMethod. A maximum of 20 parameters can be modified in a single request. Changes to dynamic parameters are applied immediately. Changes to static parameters require a reboot without failover to the DB instance associated with the parameter group before the change can take effect. After you modify a DB parameter group, you should wait at least 5 minutes before creating your first DB instance that uses that DB parameter group as the default parameter group. This allows Amazon Neptune to fully complete the modify action before the parameter group is used as the default for a new DB instance. This is especially important for parameters that are critical when creating the default database for a DB instance, such as the character set for the default database defined by the character_set_database parameter. You can use the Parameter Groups option of the Amazon Neptune console or the DescribeDBParameters command to verify that your DB parameter group has been created or modified. + +Required Parameters +{ + "Parameters": "An array of parameter names, values, and the apply method for the parameter update. At least one parameter name, value, and apply method must be supplied; subsequent arguments are optional. A maximum of 20 parameters can be modified in a single request. Valid Values (for the application method): immediate | pending-reboot You can use the immediate value with dynamic parameters only. You can use the pending-reboot value for both dynamic and static parameters, and changes are applied when you reboot the DB instance without failover. ", + "DBParameterGroupName": "The name of the DB parameter group. Constraints: If supplied, must match the name of an existing DBParameterGroup. " +} +""" +ModifyDBParameterGroup(args) = neptune("ModifyDBParameterGroup", args) + +""" + CreateEventSubscription() + +Creates an event notification subscription. This action requires a topic ARN (Amazon Resource Name) created by either the Neptune console, the SNS console, or the SNS API. To obtain an ARN with SNS, you must create a topic in Amazon SNS and subscribe to the topic. The ARN is displayed in the SNS console. You can specify the type of source (SourceType) you want to be notified of, provide a list of Neptune sources (SourceIds) that triggers the events, and provide a list of event categories (EventCategories) for events you want to be notified of. For example, you can specify SourceType = db-instance, SourceIds = mydbinstance1, mydbinstance2 and EventCategories = Availability, Backup. If you specify both the SourceType and SourceIds, such as SourceType = db-instance and SourceIdentifier = myDBInstance1, you are notified of all the db-instance events for the specified source. If you specify a SourceType but do not specify a SourceIdentifier, you receive notice of the events for that source type for all your Neptune sources. If you do not specify either the SourceType nor the SourceIdentifier, you are notified of events generated from all Neptune sources belonging to your customer account. + +Required Parameters +{ + "SubscriptionName": "The name of the subscription. Constraints: The name must be less than 255 characters.", + "SnsTopicArn": "The Amazon Resource Name (ARN) of the SNS topic created for event notification. The ARN is created by Amazon SNS when you create a topic and subscribe to it." +} + +Optional Parameters +{ + "SourceIds": "The list of identifiers of the event sources for which events are returned. If not specified, then all sources are included in the response. An identifier must begin with a letter and must contain only ASCII letters, digits, and hyphens; it can't end with a hyphen or contain two consecutive hyphens. Constraints: If SourceIds are supplied, SourceType must also be provided. If the source type is a DB instance, then a DBInstanceIdentifier must be supplied. If the source type is a DB security group, a DBSecurityGroupName must be supplied. If the source type is a DB parameter group, a DBParameterGroupName must be supplied. If the source type is a DB snapshot, a DBSnapshotIdentifier must be supplied. ", + "Tags": "The tags to be applied to the new event subscription.", + "SourceType": "The type of source that is generating the events. For example, if you want to be notified of events generated by a DB instance, you would set this parameter to db-instance. if this value is not specified, all events are returned. Valid values: db-instance | db-cluster | db-parameter-group | db-security-group | db-snapshot | db-cluster-snapshot ", + "EventCategories": " A list of event categories for a SourceType that you want to subscribe to. You can see a list of the categories for a given SourceType by using the DescribeEventCategories action.", + "Enabled": " A Boolean value; set to true to activate the subscription, set to false to create the subscription but not active it." +} +""" +CreateEventSubscription(args) = neptune("CreateEventSubscription", args) + +""" + CreateDBCluster() + +Creates a new Amazon Neptune DB cluster. You can use the ReplicationSourceIdentifier parameter to create the DB cluster as a Read Replica of another DB cluster or Amazon Neptune DB instance. Note that when you create a new cluster using CreateDBCluster directly, deletion protection is disabled by default (when you create a new production cluster in the console, deletion protection is enabled by default). You can only delete a DB cluster if its DeletionProtection field is set to false. + +Required Parameters +{ + "DBClusterIdentifier": "The DB cluster identifier. This parameter is stored as a lowercase string. Constraints: Must contain from 1 to 63 letters, numbers, or hyphens. First character must be a letter. Cannot end with a hyphen or contain two consecutive hyphens. Example: my-cluster1 ", + "Engine": "The name of the database engine to be used for this DB cluster. Valid Values: neptune " +} + +Optional Parameters +{ + "DatabaseName": "The name for your database of up to 64 alpha-numeric characters. If you do not provide a name, Amazon Neptune will not create a database in the DB cluster you are creating.", + "ReplicationSourceIdentifier": "The Amazon Resource Name (ARN) of the source DB instance or DB cluster if this DB cluster is created as a Read Replica.", + "OptionGroupName": " (Not supported by Neptune) ", + "CharacterSetName": " (Not supported by Neptune) ", + "PreferredMaintenanceWindow": "The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC). Format: ddd:hh24:mi-ddd:hh24:mi The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region, occurring on a random day of the week. To see the time blocks available, see Adjusting the Preferred Maintenance Window in the Amazon Neptune User Guide. Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun. Constraints: Minimum 30-minute window.", + "AvailabilityZones": "A list of EC2 Availability Zones that instances in the DB cluster can be created in.", + "BackupRetentionPeriod": "The number of days for which automated backups are retained. You must specify a minimum value of 1. Default: 1 Constraints: Must be a value from 1 to 35 ", + "DBSubnetGroupName": "A DB subnet group to associate with this DB cluster. Constraints: Must match the name of an existing DBSubnetGroup. Must not be default. Example: mySubnetgroup ", + "Tags": "The tags to assign to the new DB cluster.", + "StorageEncrypted": "Specifies whether the DB cluster is encrypted.", + "EnableIAMDatabaseAuthentication": "True to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts, and otherwise false. Default: false ", + "MasterUsername": "The name of the master user for the DB cluster. Constraints: Must be 1 to 16 letters or numbers. First character must be a letter. Cannot be a reserved word for the chosen database engine. ", + "PreferredBackupWindow": "The daily time range during which automated backups are created if automated backups are enabled using the BackupRetentionPeriod parameter. The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region. To see the time blocks available, see Adjusting the Preferred Maintenance Window in the Amazon Neptune User Guide. Constraints: Must be in the format hh24:mi-hh24:mi. Must be in Universal Coordinated Time (UTC). Must not conflict with the preferred maintenance window. Must be at least 30 minutes. ", + "PreSignedUrl": "This parameter is not currently supported.", + "EngineVersion": "The version number of the database engine to use. Currently, setting this parameter has no effect. Example: 1.0.1 ", + "DBClusterParameterGroupName": " The name of the DB cluster parameter group to associate with this DB cluster. If this argument is omitted, the default is used. Constraints: If supplied, must match the name of an existing DBClusterParameterGroup. ", + "MasterUserPassword": "The password for the master database user. This password can contain any printable ASCII character except \"/\", \"\"\", or \"@\". Constraints: Must contain from 8 to 41 characters.", + "Port": "The port number on which the instances in the DB cluster accept connections. Default: 8182 ", + "EnableCloudwatchLogsExports": "The list of log types that need to be enabled for exporting to CloudWatch Logs.", + "DeletionProtection": "A value that indicates whether the DB cluster has deletion protection enabled. The database can't be deleted when deletion protection is enabled. By default, deletion protection is enabled.", + "VpcSecurityGroupIds": "A list of EC2 VPC security groups to associate with this DB cluster.", + "KmsKeyId": "The AWS KMS key identifier for an encrypted DB cluster. The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are creating a DB cluster with the same AWS account that owns the KMS encryption key used to encrypt the new DB cluster, then you can use the KMS key alias instead of the ARN for the KMS encryption key. If an encryption key is not specified in KmsKeyId: If ReplicationSourceIdentifier identifies an encrypted source, then Amazon Neptune will use the encryption key used to encrypt the source. Otherwise, Amazon Neptune will use your default encryption key. If the StorageEncrypted parameter is true and ReplicationSourceIdentifier is not specified, then Amazon Neptune will use your default encryption key. AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS Region. If you create a Read Replica of an encrypted DB cluster in another AWS Region, you must set KmsKeyId to a KMS key ID that is valid in the destination AWS Region. This key is used to encrypt the Read Replica in that AWS Region." +} +""" +CreateDBCluster(args) = neptune("CreateDBCluster", args) + +""" + CreateDBSubnetGroup() + +Creates a new DB subnet group. DB subnet groups must contain at least one subnet in at least two AZs in the AWS Region. + +Required Parameters +{ + "DBSubnetGroupName": "The name for the DB subnet group. This value is stored as a lowercase string. Constraints: Must contain no more than 255 letters, numbers, periods, underscores, spaces, or hyphens. Must not be default. Example: mySubnetgroup ", + "SubnetIds": "The EC2 Subnet IDs for the DB subnet group.", + "DBSubnetGroupDescription": "The description for the DB subnet group." +} + +Optional Parameters +{ + "Tags": "The tags to be assigned to the new DB subnet group." +} +""" +CreateDBSubnetGroup(args) = neptune("CreateDBSubnetGroup", args) + +""" + RemoveSourceIdentifierFromSubscription() + +Removes a source identifier from an existing event notification subscription. + +Required Parameters +{ + "SubscriptionName": "The name of the event notification subscription you want to remove a source identifier from.", + "SourceIdentifier": " The source identifier to be removed from the subscription, such as the DB instance identifier for a DB instance or the name of a security group." +} +""" +RemoveSourceIdentifierFromSubscription(args) = neptune("RemoveSourceIdentifierFromSubscription", args) + +""" + CopyDBParameterGroup() + +Copies the specified DB parameter group. + +Required Parameters +{ + "TargetDBParameterGroupDescription": "A description for the copied DB parameter group.", + "SourceDBParameterGroupIdentifier": "The identifier or ARN for the source DB parameter group. For information about creating an ARN, see Constructing an Amazon Resource Name (ARN). Constraints: Must specify a valid DB parameter group. Must specify a valid DB parameter group identifier, for example my-db-param-group, or a valid ARN. ", + "TargetDBParameterGroupIdentifier": "The identifier for the copied DB parameter group. Constraints: Cannot be null, empty, or blank. Must contain from 1 to 255 letters, numbers, or hyphens. First character must be a letter. Cannot end with a hyphen or contain two consecutive hyphens. Example: my-db-parameter-group " +} + +Optional Parameters +{ + "Tags": "The tags to be assigned to the copied DB parameter group." +} +""" +CopyDBParameterGroup(args) = neptune("CopyDBParameterGroup", args) + +""" + DeleteDBInstance() + +The DeleteDBInstance action deletes a previously provisioned DB instance. When you delete a DB instance, all automated backups for that instance are deleted and can't be recovered. Manual DB snapshots of the DB instance to be deleted by DeleteDBInstance are not deleted. If you request a final DB snapshot the status of the Amazon Neptune DB instance is deleting until the DB snapshot is created. The API action DescribeDBInstance is used to monitor the status of this operation. The action can't be canceled or reverted once submitted. Note that when a DB instance is in a failure state and has a status of failed, incompatible-restore, or incompatible-network, you can only delete it when the SkipFinalSnapshot parameter is set to true. You can't delete a DB instance if it is the only instance in the DB cluster, or if it has deletion protection enabled. + +Required Parameters +{ + "DBInstanceIdentifier": "The DB instance identifier for the DB instance to be deleted. This parameter isn't case-sensitive. Constraints: Must match the name of an existing DB instance. " +} + +Optional Parameters +{ + "SkipFinalSnapshot": " Determines whether a final DB snapshot is created before the DB instance is deleted. If true is specified, no DBSnapshot is created. If false is specified, a DB snapshot is created before the DB instance is deleted. Note that when a DB instance is in a failure state and has a status of 'failed', 'incompatible-restore', or 'incompatible-network', it can only be deleted when the SkipFinalSnapshot parameter is set to \"true\". Specify true when deleting a Read Replica. The FinalDBSnapshotIdentifier parameter must be specified if SkipFinalSnapshot is false. Default: false ", + "FinalDBSnapshotIdentifier": " The DBSnapshotIdentifier of the new DBSnapshot created when SkipFinalSnapshot is set to false. Specifying this parameter and also setting the SkipFinalShapshot parameter to true results in an error. Constraints: Must be 1 to 255 letters or numbers. First character must be a letter Cannot end with a hyphen or contain two consecutive hyphens Cannot be specified when deleting a Read Replica. " +} +""" +DeleteDBInstance(args) = neptune("DeleteDBInstance", args) + +""" + ModifyDBCluster() + +Modify a setting for a DB cluster. You can change one or more database configuration parameters by specifying these parameters and the new values in the request. + +Required Parameters +{ + "DBClusterIdentifier": "The DB cluster identifier for the cluster being modified. This parameter is not case-sensitive. Constraints: Must match the identifier of an existing DBCluster. " +} + +Optional Parameters +{ + "OptionGroupName": " (Not supported by Neptune) ", + "PreferredMaintenanceWindow": "The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC). Format: ddd:hh24:mi-ddd:hh24:mi The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region, occurring on a random day of the week. Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun. Constraints: Minimum 30-minute window.", + "BackupRetentionPeriod": "The number of days for which automated backups are retained. You must specify a minimum value of 1. Default: 1 Constraints: Must be a value from 1 to 35 ", + "EnableIAMDatabaseAuthentication": "True to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts, and otherwise false. Default: false ", + "PreferredBackupWindow": "The daily time range during which automated backups are created if automated backups are enabled, using the BackupRetentionPeriod parameter. The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region. Constraints: Must be in the format hh24:mi-hh24:mi. Must be in Universal Coordinated Time (UTC). Must not conflict with the preferred maintenance window. Must be at least 30 minutes. ", + "EngineVersion": "The version number of the database engine. Currently, setting this parameter has no effect. To upgrade your database engine to the most recent release, use the ApplyPendingMaintenanceAction API. For a list of valid engine versions, see CreateDBInstance, or call DescribeDBEngineVersions.", + "DBClusterParameterGroupName": "The name of the DB cluster parameter group to use for the DB cluster.", + "MasterUserPassword": "The new password for the master database user. This password can contain any printable ASCII character except \"/\", \"\"\", or \"@\". Constraints: Must contain from 8 to 41 characters.", + "Port": "The port number on which the DB cluster accepts connections. Constraints: Value must be 1150-65535 Default: The same port as the original DB cluster.", + "NewDBClusterIdentifier": "The new DB cluster identifier for the DB cluster when renaming a DB cluster. This value is stored as a lowercase string. Constraints: Must contain from 1 to 63 letters, numbers, or hyphens The first character must be a letter Cannot end with a hyphen or contain two consecutive hyphens Example: my-cluster2 ", + "CloudwatchLogsExportConfiguration": "The configuration setting for the log types to be enabled for export to CloudWatch Logs for a specific DB cluster.", + "ApplyImmediately": "A value that specifies whether the modifications in this request and any pending modifications are asynchronously applied as soon as possible, regardless of the PreferredMaintenanceWindow setting for the DB cluster. If this parameter is set to false, changes to the DB cluster are applied during the next maintenance window. The ApplyImmediately parameter only affects the NewDBClusterIdentifier and MasterUserPassword values. If you set the ApplyImmediately parameter value to false, then changes to the NewDBClusterIdentifier and MasterUserPassword values are applied during the next maintenance window. All other changes are applied immediately, regardless of the value of the ApplyImmediately parameter. Default: false ", + "VpcSecurityGroupIds": "A list of VPC security groups that the DB cluster will belong to.", + "DeletionProtection": "A value that indicates whether the DB cluster has deletion protection enabled. The database can't be deleted when deletion protection is enabled. By default, deletion protection is disabled." +} +""" +ModifyDBCluster(args) = neptune("ModifyDBCluster", args) + +""" + ModifyDBClusterParameterGroup() + + Modifies the parameters of a DB cluster parameter group. To modify more than one parameter, submit a list of the following: ParameterName, ParameterValue, and ApplyMethod. A maximum of 20 parameters can be modified in a single request. Changes to dynamic parameters are applied immediately. Changes to static parameters require a reboot without failover to the DB cluster associated with the parameter group before the change can take effect. After you create a DB cluster parameter group, you should wait at least 5 minutes before creating your first DB cluster that uses that DB cluster parameter group as the default parameter group. This allows Amazon Neptune to fully complete the create action before the parameter group is used as the default for a new DB cluster. This is especially important for parameters that are critical when creating the default database for a DB cluster, such as the character set for the default database defined by the character_set_database parameter. You can use the Parameter Groups option of the Amazon Neptune console or the DescribeDBClusterParameters command to verify that your DB cluster parameter group has been created or modified. + +Required Parameters +{ + "Parameters": "A list of parameters in the DB cluster parameter group to modify.", + "DBClusterParameterGroupName": "The name of the DB cluster parameter group to modify." +} +""" +ModifyDBClusterParameterGroup(args) = neptune("ModifyDBClusterParameterGroup", args) + +""" + RestoreDBClusterToPointInTime() + +Restores a DB cluster to an arbitrary point in time. Users can restore to any point in time before LatestRestorableTime for up to BackupRetentionPeriod days. The target DB cluster is created from the source DB cluster with the same configuration as the original DB cluster, except that the new DB cluster is created with the default DB security group. This action only restores the DB cluster, not the DB instances for that DB cluster. You must invoke the CreateDBInstance action to create DB instances for the restored DB cluster, specifying the identifier of the restored DB cluster in DBClusterIdentifier. You can create DB instances only after the RestoreDBClusterToPointInTime action has completed and the DB cluster is available. + +Required Parameters +{ + "DBClusterIdentifier": "The name of the new DB cluster to be created. Constraints: Must contain from 1 to 63 letters, numbers, or hyphens First character must be a letter Cannot end with a hyphen or contain two consecutive hyphens ", + "SourceDBClusterIdentifier": "The identifier of the source DB cluster from which to restore. Constraints: Must match the identifier of an existing DBCluster. " +} + +Optional Parameters +{ + "UseLatestRestorableTime": "A value that is set to true to restore the DB cluster to the latest restorable backup time, and false otherwise. Default: false Constraints: Cannot be specified if RestoreToTime parameter is provided.", + "OptionGroupName": " (Not supported by Neptune) ", + "DBSubnetGroupName": "The DB subnet group name to use for the new DB cluster. Constraints: If supplied, must match the name of an existing DBSubnetGroup. Example: mySubnetgroup ", + "Tags": "The tags to be applied to the restored DB cluster.", + "EnableIAMDatabaseAuthentication": "True to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts, and otherwise false. Default: false ", + "DBClusterParameterGroupName": "The name of the DB cluster parameter group to associate with the new DB cluster. Constraints: If supplied, must match the name of an existing DBClusterParameterGroup. ", + "Port": "The port number on which the new DB cluster accepts connections. Constraints: Value must be 1150-65535 Default: The same port as the original DB cluster.", + "EnableCloudwatchLogsExports": "The list of logs that the restored DB cluster is to export to CloudWatch Logs.", + "DeletionProtection": "A value that indicates whether the DB cluster has deletion protection enabled. The database can't be deleted when deletion protection is enabled. By default, deletion protection is disabled. ", + "VpcSecurityGroupIds": "A list of VPC security groups that the new DB cluster belongs to.", + "KmsKeyId": "The AWS KMS key identifier to use when restoring an encrypted DB cluster from an encrypted DB cluster. The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are restoring a DB cluster with the same AWS account that owns the KMS encryption key used to encrypt the new DB cluster, then you can use the KMS key alias instead of the ARN for the KMS encryption key. You can restore to a new DB cluster and encrypt the new DB cluster with a KMS key that is different than the KMS key used to encrypt the source DB cluster. The new DB cluster is encrypted with the KMS key identified by the KmsKeyId parameter. If you do not specify a value for the KmsKeyId parameter, then the following will occur: If the DB cluster is encrypted, then the restored DB cluster is encrypted using the KMS key that was used to encrypt the source DB cluster. If the DB cluster is not encrypted, then the restored DB cluster is not encrypted. If DBClusterIdentifier refers to a DB cluster that is not encrypted, then the restore request is rejected.", + "RestoreType": "The type of restore to be performed. You can specify one of the following values: full-copy - The new DB cluster is restored as a full copy of the source DB cluster. copy-on-write - The new DB cluster is restored as a clone of the source DB cluster. If you don't specify a RestoreType value, then the new DB cluster is restored as a full copy of the source DB cluster.", + "RestoreToTime": "The date and time to restore the DB cluster to. Valid Values: Value must be a time in Universal Coordinated Time (UTC) format Constraints: Must be before the latest restorable time for the DB instance Must be specified if UseLatestRestorableTime parameter is not provided Cannot be specified if UseLatestRestorableTime parameter is true Cannot be specified if RestoreType parameter is copy-on-write Example: 2015-03-07T23:45:00Z " +} +""" +RestoreDBClusterToPointInTime(args) = neptune("RestoreDBClusterToPointInTime", args) + +""" + ListTagsForResource() + +Lists all tags on an Amazon Neptune resource. + +Required Parameters +{ + "ResourceName": "The Amazon Neptune resource with tags to be listed. This value is an Amazon Resource Name (ARN). For information about creating an ARN, see Constructing an Amazon Resource Name (ARN)." +} + +Optional Parameters +{ + "Filters": "This parameter is not currently supported." +} +""" +ListTagsForResource(args) = neptune("ListTagsForResource", args) + +""" + PromoteReadReplicaDBCluster() + +Not supported. + +Required Parameters +{ + "DBClusterIdentifier": "Not supported." +} +""" +PromoteReadReplicaDBCluster(args) = neptune("PromoteReadReplicaDBCluster", args) + +""" + DescribeDBParameters() + +Returns the detailed parameter list for a particular DB parameter group. + +Required Parameters +{ + "DBParameterGroupName": "The name of a specific DB parameter group to return details for. Constraints: If supplied, must match the name of an existing DBParameterGroup. " +} + +Optional Parameters +{ + "MaxRecords": "The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved. Default: 100 Constraints: Minimum 20, maximum 100.", + "Marker": "An optional pagination token provided by a previous DescribeDBParameters request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.", + "Source": "The parameter types to return. Default: All parameter types returned Valid Values: user | system | engine-default ", + "Filters": "This parameter is not currently supported." +} +""" +DescribeDBParameters(args) = neptune("DescribeDBParameters", args) + +""" + DescribeDBClusterSnapshotAttributes() + +Returns a list of DB cluster snapshot attribute names and values for a manual DB cluster snapshot. When sharing snapshots with other AWS accounts, DescribeDBClusterSnapshotAttributes returns the restore attribute and a list of IDs for the AWS accounts that are authorized to copy or restore the manual DB cluster snapshot. If all is included in the list of values for the restore attribute, then the manual DB cluster snapshot is public and can be copied or restored by all AWS accounts. To add or remove access for an AWS account to copy or restore a manual DB cluster snapshot, or to make the manual DB cluster snapshot public or private, use the ModifyDBClusterSnapshotAttribute API action. + +Required Parameters +{ + "DBClusterSnapshotIdentifier": "The identifier for the DB cluster snapshot to describe the attributes for." +} +""" +DescribeDBClusterSnapshotAttributes(args) = neptune("DescribeDBClusterSnapshotAttributes", args) + +""" + ModifyDBClusterSnapshotAttribute() + +Adds an attribute and values to, or removes an attribute and values from, a manual DB cluster snapshot. To share a manual DB cluster snapshot with other AWS accounts, specify restore as the AttributeName and use the ValuesToAdd parameter to add a list of IDs of the AWS accounts that are authorized to restore the manual DB cluster snapshot. Use the value all to make the manual DB cluster snapshot public, which means that it can be copied or restored by all AWS accounts. Do not add the all value for any manual DB cluster snapshots that contain private information that you don't want available to all AWS accounts. If a manual DB cluster snapshot is encrypted, it can be shared, but only by specifying a list of authorized AWS account IDs for the ValuesToAdd parameter. You can't use all as a value for that parameter in this case. To view which AWS accounts have access to copy or restore a manual DB cluster snapshot, or whether a manual DB cluster snapshot public or private, use the DescribeDBClusterSnapshotAttributes API action. + +Required Parameters +{ + "AttributeName": "The name of the DB cluster snapshot attribute to modify. To manage authorization for other AWS accounts to copy or restore a manual DB cluster snapshot, set this value to restore.", + "DBClusterSnapshotIdentifier": "The identifier for the DB cluster snapshot to modify the attributes for." +} + +Optional Parameters +{ + "ValuesToAdd": "A list of DB cluster snapshot attributes to add to the attribute specified by AttributeName. To authorize other AWS accounts to copy or restore a manual DB cluster snapshot, set this list to include one or more AWS account IDs, or all to make the manual DB cluster snapshot restorable by any AWS account. Do not add the all value for any manual DB cluster snapshots that contain private information that you don't want available to all AWS accounts.", + "ValuesToRemove": "A list of DB cluster snapshot attributes to remove from the attribute specified by AttributeName. To remove authorization for other AWS accounts to copy or restore a manual DB cluster snapshot, set this list to include one or more AWS account identifiers, or all to remove authorization for any AWS account to copy or restore the DB cluster snapshot. If you specify all, an AWS account whose account ID is explicitly added to the restore attribute can still copy or restore a manual DB cluster snapshot." +} +""" +ModifyDBClusterSnapshotAttribute(args) = neptune("ModifyDBClusterSnapshotAttribute", args) + +""" + AddTagsToResource() + +Adds metadata tags to an Amazon Neptune resource. These tags can also be used with cost allocation reporting to track cost associated with Amazon Neptune resources, or used in a Condition statement in an IAM policy for Amazon Neptune. + +Required Parameters +{ + "Tags": "The tags to be assigned to the Amazon Neptune resource.", + "ResourceName": "The Amazon Neptune resource that the tags are added to. This value is an Amazon Resource Name (ARN). For information about creating an ARN, see Constructing an Amazon Resource Name (ARN)." +} +""" +AddTagsToResource(args) = neptune("AddTagsToResource", args) + +""" + RemoveTagsFromResource() + +Removes metadata tags from an Amazon Neptune resource. + +Required Parameters +{ + "ResourceName": "The Amazon Neptune resource that the tags are removed from. This value is an Amazon Resource Name (ARN). For information about creating an ARN, see Constructing an Amazon Resource Name (ARN).", + "TagKeys": "The tag key (name) of the tag to be removed." +} +""" +RemoveTagsFromResource(args) = neptune("RemoveTagsFromResource", args) + +""" + CreateDBClusterSnapshot() + +Creates a snapshot of a DB cluster. + +Required Parameters +{ + "DBClusterSnapshotIdentifier": "The identifier of the DB cluster snapshot. This parameter is stored as a lowercase string. Constraints: Must contain from 1 to 63 letters, numbers, or hyphens. First character must be a letter. Cannot end with a hyphen or contain two consecutive hyphens. Example: my-cluster1-snapshot1 ", + "DBClusterIdentifier": "The identifier of the DB cluster to create a snapshot for. This parameter is not case-sensitive. Constraints: Must match the identifier of an existing DBCluster. Example: my-cluster1 " +} + +Optional Parameters +{ + "Tags": "The tags to be assigned to the DB cluster snapshot." +} +""" +CreateDBClusterSnapshot(args) = neptune("CreateDBClusterSnapshot", args) + +""" + RebootDBInstance() + +You might need to reboot your DB instance, usually for maintenance reasons. For example, if you make certain modifications, or if you change the DB parameter group associated with the DB instance, you must reboot the instance for the changes to take effect. Rebooting a DB instance restarts the database engine service. Rebooting a DB instance results in a momentary outage, during which the DB instance status is set to rebooting. + +Required Parameters +{ + "DBInstanceIdentifier": "The DB instance identifier. This parameter is stored as a lowercase string. Constraints: Must match the identifier of an existing DBInstance. " +} + +Optional Parameters +{ + "ForceFailover": " When true, the reboot is conducted through a MultiAZ failover. Constraint: You can't specify true if the instance is not configured for MultiAZ." +} +""" +RebootDBInstance(args) = neptune("RebootDBInstance", args) + +""" + CopyDBClusterSnapshot() + +Copies a snapshot of a DB cluster. To copy a DB cluster snapshot from a shared manual DB cluster snapshot, SourceDBClusterSnapshotIdentifier must be the Amazon Resource Name (ARN) of the shared DB cluster snapshot. + +Required Parameters +{ + "TargetDBClusterSnapshotIdentifier": "The identifier of the new DB cluster snapshot to create from the source DB cluster snapshot. This parameter is not case-sensitive. Constraints: Must contain from 1 to 63 letters, numbers, or hyphens. First character must be a letter. Cannot end with a hyphen or contain two consecutive hyphens. Example: my-cluster-snapshot2 ", + "SourceDBClusterSnapshotIdentifier": "The identifier of the DB cluster snapshot to copy. This parameter is not case-sensitive. You can't copy from one AWS Region to another. Constraints: Must specify a valid system snapshot in the \"available\" state. Specify a valid DB snapshot identifier. Example: my-cluster-snapshot1 " +} + +Optional Parameters +{ + "Tags": "The tags to assign to the new DB cluster snapshot copy.", + "PreSignedUrl": "Not currently supported.", + "CopyTags": "True to copy all tags from the source DB cluster snapshot to the target DB cluster snapshot, and otherwise false. The default is false.", + "KmsKeyId": "The AWS AWS KMS key ID for an encrypted DB cluster snapshot. The KMS key ID is the Amazon Resource Name (ARN), KMS key identifier, or the KMS key alias for the KMS encryption key. If you copy an encrypted DB cluster snapshot from your AWS account, you can specify a value for KmsKeyId to encrypt the copy with a new KMS encryption key. If you don't specify a value for KmsKeyId, then the copy of the DB cluster snapshot is encrypted with the same KMS key as the source DB cluster snapshot. If you copy an encrypted DB cluster snapshot that is shared from another AWS account, then you must specify a value for KmsKeyId. KMS encryption keys are specific to the AWS Region that they are created in, and you can't use encryption keys from one AWS Region in another AWS Region. You cannot encrypt an unencrypted DB cluster snapshot when you copy it. If you try to copy an unencrypted DB cluster snapshot and specify a value for the KmsKeyId parameter, an error is returned." +} +""" +CopyDBClusterSnapshot(args) = neptune("CopyDBClusterSnapshot", args) + +""" + DescribeDBSubnetGroups() + +Returns a list of DBSubnetGroup descriptions. If a DBSubnetGroupName is specified, the list will contain only the descriptions of the specified DBSubnetGroup. For an overview of CIDR ranges, go to the Wikipedia Tutorial. + +Optional Parameters +{ + "MaxRecords": " The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved. Default: 100 Constraints: Minimum 20, maximum 100.", + "DBSubnetGroupName": "The name of the DB subnet group to return details for.", + "Marker": " An optional pagination token provided by a previous DescribeDBSubnetGroups request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.", + "Filters": "This parameter is not currently supported." +} +""" +DescribeDBSubnetGroups() = neptune("DescribeDBSubnetGroups") +DescribeDBSubnetGroups(args) = neptune("DescribeDBSubnetGroups", args) + +""" + CreateDBInstance() + +Creates a new DB instance. + +Required Parameters +{ + "DBInstanceIdentifier": "The DB instance identifier. This parameter is stored as a lowercase string. Constraints: Must contain from 1 to 63 letters, numbers, or hyphens. First character must be a letter. Cannot end with a hyphen or contain two consecutive hyphens. Example: mydbinstance ", + "Engine": "The name of the database engine to be used for this instance. Valid Values: neptune ", + "DBInstanceClass": "The compute and memory capacity of the DB instance, for example, db.m4.large. Not all DB instance classes are available in all AWS Regions." +} + +Optional Parameters +{ + "Timezone": "The time zone of the DB instance.", + "PubliclyAccessible": "This flag should no longer be used.", + "PerformanceInsightsKMSKeyId": " (Not supported by Neptune) ", + "OptionGroupName": " (Not supported by Neptune) ", + "PreferredMaintenanceWindow": "The time range each week during which system maintenance can occur, in Universal Coordinated Time (UTC). Format: ddd:hh24:mi-ddd:hh24:mi The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region, occurring on a random day of the week. Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun. Constraints: Minimum 30-minute window.", + "CharacterSetName": " (Not supported by Neptune) ", + "AutoMinorVersionUpgrade": "Indicates that minor engine upgrades are applied automatically to the DB instance during the maintenance window. Default: true ", + "BackupRetentionPeriod": "The number of days for which automated backups are retained. Not applicable. The retention period for automated backups is managed by the DB cluster. For more information, see CreateDBCluster. Default: 1 Constraints: Must be a value from 0 to 35 Cannot be set to 0 if the DB instance is a source to Read Replicas ", + "MonitoringInterval": "The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance. To disable collecting Enhanced Monitoring metrics, specify 0. The default is 0. If MonitoringRoleArn is specified, then you must also set MonitoringInterval to a value other than 0. Valid Values: 0, 1, 5, 10, 15, 30, 60 ", + "AllocatedStorage": "The amount of storage (in gibibytes) to allocate for the DB instance. Type: Integer Not applicable. Neptune cluster volumes automatically grow as the amount of data in your database increases, though you are only charged for the space that you use in a Neptune cluster volume.", + "PromotionTier": "A value that specifies the order in which an Read Replica is promoted to the primary instance after a failure of the existing primary instance. Default: 1 Valid Values: 0 - 15", + "DBSubnetGroupName": "A DB subnet group to associate with this DB instance. If there is no DB subnet group, then it is a non-VPC DB instance.", + "StorageEncrypted": "Specifies whether the DB instance is encrypted. Not applicable. The encryption for DB instances is managed by the DB cluster. For more information, see CreateDBCluster. Default: false", + "TdeCredentialArn": "The ARN from the key store with which to associate the instance for TDE encryption.", + "DBSecurityGroups": "A list of DB security groups to associate with this DB instance. Default: The default DB security group for the database engine.", + "CopyTagsToSnapshot": "True to copy all tags from the DB instance to snapshots of the DB instance, and otherwise false. The default is false.", + "Tags": "The tags to assign to the new instance.", + "Domain": "Specify the Active Directory Domain to create the instance in.", + "EnableIAMDatabaseAuthentication": "True to enable AWS Identity and Access Management (IAM) authentication for Neptune. Default: false ", + "DBParameterGroupName": "The name of the DB parameter group to associate with this DB instance. If this argument is omitted, the default DBParameterGroup for the specified engine is used. Constraints: Must be 1 to 255 letters, numbers, or hyphens. First character must be a letter Cannot end with a hyphen or contain two consecutive hyphens ", + "DomainIAMRoleName": "Specify the name of the IAM role to be used when making API calls to the Directory Service.", + "MasterUsername": "The name for the master user. Not used.", + "PreferredBackupWindow": " The daily time range during which automated backups are created. Not applicable. The daily time range for creating automated backups is managed by the DB cluster. For more information, see CreateDBCluster.", + "TdeCredentialPassword": "The password for the given ARN from the key store in order to access the device.", + "EngineVersion": "The version number of the database engine to use. Currently, setting this parameter has no effect.", + "LicenseModel": "License model information for this DB instance. Valid values: license-included | bring-your-own-license | general-public-license ", + "Iops": "The amount of Provisioned IOPS (input/output operations per second) to be initially allocated for the DB instance.", + "MasterUserPassword": "The password for the master user. The password can include any printable ASCII character except \"/\", \"\"\", or \"@\". Not used.", + "Port": "The port number on which the database accepts connections. Not applicable. The port is managed by the DB cluster. For more information, see CreateDBCluster. Default: 8182 Type: Integer", + "MonitoringRoleArn": "The ARN for the IAM role that permits Neptune to send enhanced monitoring metrics to Amazon CloudWatch Logs. For example, arn:aws:iam:123456789012:role/emaccess. If MonitoringInterval is set to a value other than 0, then you must supply a MonitoringRoleArn value.", + "EnableCloudwatchLogsExports": "The list of log types that need to be enabled for exporting to CloudWatch Logs.", + "AvailabilityZone": " The EC2 Availability Zone that the DB instance is created in Default: A random, system-chosen Availability Zone in the endpoint's AWS Region. Example: us-east-1d Constraint: The AvailabilityZone parameter can't be specified if the MultiAZ parameter is set to true. The specified Availability Zone must be in the same AWS Region as the current endpoint.", + "DeletionProtection": "A value that indicates whether the DB instance has deletion protection enabled. The database can't be deleted when deletion protection is enabled. By default, deletion protection is disabled. See Deleting a DB Instance. DB instances in a DB cluster can be deleted even when deletion protection is enabled in their parent DB cluster.", + "VpcSecurityGroupIds": "A list of EC2 VPC security groups to associate with this DB instance. Not applicable. The associated list of EC2 VPC security groups is managed by the DB cluster. For more information, see CreateDBCluster. Default: The default EC2 VPC security group for the DB subnet group's VPC.", + "StorageType": "Specifies the storage type to be associated with the DB instance. Not applicable. Storage is managed by the DB Cluster.", + "EnablePerformanceInsights": " (Not supported by Neptune) ", + "DBClusterIdentifier": "The identifier of the DB cluster that the instance will belong to. For information on creating a DB cluster, see CreateDBCluster. Type: String", + "KmsKeyId": "The AWS KMS key identifier for an encrypted DB instance. The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are creating a DB instance with the same AWS account that owns the KMS encryption key used to encrypt the new DB instance, then you can use the KMS key alias instead of the ARN for the KM encryption key. Not applicable. The KMS key identifier is managed by the DB cluster. For more information, see CreateDBCluster. If the StorageEncrypted parameter is true, and you do not specify a value for the KmsKeyId parameter, then Amazon Neptune will use your default encryption key. AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS Region.", + "DBName": "Not supported.", + "MultiAZ": "Specifies if the DB instance is a Multi-AZ deployment. You can't set the AvailabilityZone parameter if the MultiAZ parameter is set to true." +} +""" +CreateDBInstance(args) = neptune("CreateDBInstance", args) + +""" + ApplyPendingMaintenanceAction() + +Applies a pending maintenance action to a resource (for example, to a DB instance). + +Required Parameters +{ + "ApplyAction": "The pending maintenance action to apply to this resource. Valid values: system-update, db-upgrade ", + "OptInType": "A value that specifies the type of opt-in request, or undoes an opt-in request. An opt-in request of type immediate can't be undone. Valid values: immediate - Apply the maintenance action immediately. next-maintenance - Apply the maintenance action during the next maintenance window for the resource. undo-opt-in - Cancel any existing next-maintenance opt-in requests. ", + "ResourceIdentifier": "The Amazon Resource Name (ARN) of the resource that the pending maintenance action applies to. For information about creating an ARN, see Constructing an Amazon Resource Name (ARN)." +} +""" +ApplyPendingMaintenanceAction(args) = neptune("ApplyPendingMaintenanceAction", args) + +""" + ModifyDBSubnetGroup() + +Modifies an existing DB subnet group. DB subnet groups must contain at least one subnet in at least two AZs in the AWS Region. + +Required Parameters +{ + "DBSubnetGroupName": "The name for the DB subnet group. This value is stored as a lowercase string. You can't modify the default subnet group. Constraints: Must match the name of an existing DBSubnetGroup. Must not be default. Example: mySubnetgroup ", + "SubnetIds": "The EC2 subnet IDs for the DB subnet group." +} + +Optional Parameters +{ + "DBSubnetGroupDescription": "The description for the DB subnet group." +} +""" +ModifyDBSubnetGroup(args) = neptune("ModifyDBSubnetGroup", args) + +""" + DeleteDBSubnetGroup() + +Deletes a DB subnet group. The specified database subnet group must not be associated with any DB instances. + +Required Parameters +{ + "DBSubnetGroupName": "The name of the database subnet group to delete. You can't delete the default subnet group. Constraints: Constraints: Must match the name of an existing DBSubnetGroup. Must not be default. Example: mySubnetgroup " +} +""" +DeleteDBSubnetGroup(args) = neptune("DeleteDBSubnetGroup", args) + +""" + DescribeEvents() + +Returns events related to DB instances, DB security groups, DB snapshots, and DB parameter groups for the past 14 days. Events specific to a particular DB instance, DB security group, database snapshot, or DB parameter group can be obtained by providing the name as a parameter. By default, the past hour of events are returned. + +Optional Parameters +{ + "StartTime": " The beginning of the time interval to retrieve events for, specified in ISO 8601 format. For more information about ISO 8601, go to the ISO8601 Wikipedia page. Example: 2009-07-08T18:00Z", + "MaxRecords": " The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved. Default: 100 Constraints: Minimum 20, maximum 100.", + "Marker": " An optional pagination token provided by a previous DescribeEvents request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.", + "SourceIdentifier": "The identifier of the event source for which events are returned. If not specified, then all sources are included in the response. Constraints: If SourceIdentifier is supplied, SourceType must also be provided. If the source type is DBInstance, then a DBInstanceIdentifier must be supplied. If the source type is DBSecurityGroup, a DBSecurityGroupName must be supplied. If the source type is DBParameterGroup, a DBParameterGroupName must be supplied. If the source type is DBSnapshot, a DBSnapshotIdentifier must be supplied. Cannot end with a hyphen or contain two consecutive hyphens. ", + "EndTime": " The end of the time interval for which to retrieve events, specified in ISO 8601 format. For more information about ISO 8601, go to the ISO8601 Wikipedia page. Example: 2009-07-08T18:00Z", + "SourceType": "The event source to retrieve events for. If no value is specified, all events are returned.", + "Duration": "The number of minutes to retrieve events for. Default: 60", + "Filters": "This parameter is not currently supported.", + "EventCategories": "A list of event categories that trigger notifications for a event notification subscription." +} +""" +DescribeEvents() = neptune("DescribeEvents") +DescribeEvents(args) = neptune("DescribeEvents", args) + +""" + DescribeEngineDefaultParameters() + +Returns the default engine and system parameter information for the specified database engine. + +Required Parameters +{ + "DBParameterGroupFamily": "The name of the DB parameter group family." +} + +Optional Parameters +{ + "MaxRecords": " The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved. Default: 100 Constraints: Minimum 20, maximum 100.", + "Marker": " An optional pagination token provided by a previous DescribeEngineDefaultParameters request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.", + "Filters": "Not currently supported." +} +""" +DescribeEngineDefaultParameters(args) = neptune("DescribeEngineDefaultParameters", args) + +""" + CreateDBParameterGroup() + +Creates a new DB parameter group. A DB parameter group is initially created with the default parameters for the database engine used by the DB instance. To provide custom values for any of the parameters, you must modify the group after creating it using ModifyDBParameterGroup. Once you've created a DB parameter group, you need to associate it with your DB instance using ModifyDBInstance. When you associate a new DB parameter group with a running DB instance, you need to reboot the DB instance without failover for the new DB parameter group and associated settings to take effect. After you create a DB parameter group, you should wait at least 5 minutes before creating your first DB instance that uses that DB parameter group as the default parameter group. This allows Amazon Neptune to fully complete the create action before the parameter group is used as the default for a new DB instance. This is especially important for parameters that are critical when creating the default database for a DB instance, such as the character set for the default database defined by the character_set_database parameter. You can use the Parameter Groups option of the Amazon Neptune console or the DescribeDBParameters command to verify that your DB parameter group has been created or modified. + +Required Parameters +{ + "Description": "The description for the DB parameter group.", + "DBParameterGroupName": "The name of the DB parameter group. Constraints: Must be 1 to 255 letters, numbers, or hyphens. First character must be a letter Cannot end with a hyphen or contain two consecutive hyphens This value is stored as a lowercase string. ", + "DBParameterGroupFamily": "The DB parameter group family name. A DB parameter group can be associated with one and only one DB parameter group family, and can be applied only to a DB instance running a database engine and engine version compatible with that DB parameter group family." +} + +Optional Parameters +{ + "Tags": "The tags to be assigned to the new DB parameter group." +} +""" +CreateDBParameterGroup(args) = neptune("CreateDBParameterGroup", args) + +""" + DescribeEventSubscriptions() + +Lists all the subscription descriptions for a customer account. The description for a subscription includes SubscriptionName, SNSTopicARN, CustomerID, SourceType, SourceID, CreationTime, and Status. If you specify a SubscriptionName, lists the description for that subscription. + +Optional Parameters +{ + "MaxRecords": " The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved. Default: 100 Constraints: Minimum 20, maximum 100.", + "Marker": " An optional pagination token provided by a previous DescribeOrderableDBInstanceOptions request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords .", + "SubscriptionName": "The name of the event notification subscription you want to describe.", + "Filters": "This parameter is not currently supported." +} +""" +DescribeEventSubscriptions() = neptune("DescribeEventSubscriptions") +DescribeEventSubscriptions(args) = neptune("DescribeEventSubscriptions", args) + +""" + ModifyDBInstance() + +Modifies settings for a DB instance. You can change one or more database configuration parameters by specifying these parameters and the new values in the request. To learn what modifications you can make to your DB instance, call DescribeValidDBInstanceModifications before you call ModifyDBInstance. + +Required Parameters +{ + "DBInstanceIdentifier": "The DB instance identifier. This value is stored as a lowercase string. Constraints: Must match the identifier of an existing DBInstance. " +} + +Optional Parameters +{ + "AllowMajorVersionUpgrade": "Indicates that major version upgrades are allowed. Changing this parameter doesn't result in an outage and the change is asynchronously applied as soon as possible.", + "PubliclyAccessible": "This flag should no longer be used.", + "DBPortNumber": "The port number on which the database accepts connections. The value of the DBPortNumber parameter must not match any of the port values specified for options in the option group for the DB instance. Your database will restart when you change the DBPortNumber value regardless of the value of the ApplyImmediately parameter. Default: 8182 ", + "PerformanceInsightsKMSKeyId": " (Not supported by Neptune) ", + "OptionGroupName": " (Not supported by Neptune) ", + "PreferredMaintenanceWindow": "The weekly time range (in UTC) during which system maintenance can occur, which might result in an outage. Changing this parameter doesn't result in an outage, except in the following situation, and the change is asynchronously applied as soon as possible. If there are pending actions that cause a reboot, and the maintenance window is changed to include the current time, then changing this parameter will cause a reboot of the DB instance. If moving this window to the current time, there must be at least 30 minutes between the current time and end of the window to ensure pending changes are applied. Default: Uses existing setting Format: ddd:hh24:mi-ddd:hh24:mi Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun Constraints: Must be at least 30 minutes", + "AutoMinorVersionUpgrade": " Indicates that minor version upgrades are applied automatically to the DB instance during the maintenance window. Changing this parameter doesn't result in an outage except in the following case and the change is asynchronously applied as soon as possible. An outage will result if this parameter is set to true during the maintenance window, and a newer minor version is available, and Neptune has enabled auto patching for that engine version.", + "BackupRetentionPeriod": "Not applicable. The retention period for automated backups is managed by the DB cluster. For more information, see ModifyDBCluster. Default: Uses existing setting", + "MonitoringInterval": "The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance. To disable collecting Enhanced Monitoring metrics, specify 0. The default is 0. If MonitoringRoleArn is specified, then you must also set MonitoringInterval to a value other than 0. Valid Values: 0, 1, 5, 10, 15, 30, 60 ", + "AllocatedStorage": "The new amount of storage (in gibibytes) to allocate for the DB instance. Not applicable. Storage is managed by the DB Cluster.", + "PromotionTier": "A value that specifies the order in which a Read Replica is promoted to the primary instance after a failure of the existing primary instance. Default: 1 Valid Values: 0 - 15", + "DBSubnetGroupName": "The new DB subnet group for the DB instance. You can use this parameter to move your DB instance to a different VPC. Changing the subnet group causes an outage during the change. The change is applied during the next maintenance window, unless you specify true for the ApplyImmediately parameter. Constraints: If supplied, must match the name of an existing DBSubnetGroup. Example: mySubnetGroup ", + "TdeCredentialArn": "The ARN from the key store with which to associate the instance for TDE encryption.", + "DBSecurityGroups": "A list of DB security groups to authorize on this DB instance. Changing this setting doesn't result in an outage and the change is asynchronously applied as soon as possible. Constraints: If supplied, must match existing DBSecurityGroups. ", + "CACertificateIdentifier": "Indicates the certificate that needs to be associated with the instance.", + "CopyTagsToSnapshot": "True to copy all tags from the DB instance to snapshots of the DB instance, and otherwise false. The default is false.", + "EnableIAMDatabaseAuthentication": "True to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts, and otherwise false. You can enable IAM database authentication for the following database engines Not applicable. Mapping AWS IAM accounts to database accounts is managed by the DB cluster. For more information, see ModifyDBCluster. Default: false ", + "Domain": "Not supported.", + "DBParameterGroupName": "The name of the DB parameter group to apply to the DB instance. Changing this setting doesn't result in an outage. The parameter group name itself is changed immediately, but the actual parameter changes are not applied until you reboot the instance without failover. The db instance will NOT be rebooted automatically and the parameter changes will NOT be applied during the next maintenance window. Default: Uses existing setting Constraints: The DB parameter group must be in the same DB parameter group family as this DB instance.", + "DomainIAMRoleName": "Not supported", + "PreferredBackupWindow": " The daily time range during which automated backups are created if automated backups are enabled. Not applicable. The daily time range for creating automated backups is managed by the DB cluster. For more information, see ModifyDBCluster. Constraints: Must be in the format hh24:mi-hh24:mi Must be in Universal Time Coordinated (UTC) Must not conflict with the preferred maintenance window Must be at least 30 minutes ", + "NewDBInstanceIdentifier": " The new DB instance identifier for the DB instance when renaming a DB instance. When you change the DB instance identifier, an instance reboot will occur immediately if you set Apply Immediately to true, or will occur during the next maintenance window if Apply Immediately to false. This value is stored as a lowercase string. Constraints: Must contain from 1 to 63 letters, numbers, or hyphens. The first character must be a letter. Cannot end with a hyphen or contain two consecutive hyphens. Example: mydbinstance ", + "TdeCredentialPassword": "The password for the given ARN from the key store in order to access the device.", + "EngineVersion": "The version number of the database engine to upgrade to. Currently, setting this parameter has no effect. To upgrade your database engine to the most recent release, use the ApplyPendingMaintenanceAction API.", + "LicenseModel": "Not supported.", + "MasterUserPassword": "Not applicable.", + "DBInstanceClass": "The new compute and memory capacity of the DB instance, for example, db.m4.large. Not all DB instance classes are available in all AWS Regions. If you modify the DB instance class, an outage occurs during the change. The change is applied during the next maintenance window, unless ApplyImmediately is specified as true for this request. Default: Uses existing setting", + "Iops": "The new Provisioned IOPS (I/O operations per second) value for the instance. Changing this setting doesn't result in an outage and the change is applied during the next maintenance window unless the ApplyImmediately parameter is set to true for this request. Default: Uses existing setting", + "MonitoringRoleArn": "The ARN for the IAM role that permits Neptune to send enhanced monitoring metrics to Amazon CloudWatch Logs. For example, arn:aws:iam:123456789012:role/emaccess. If MonitoringInterval is set to a value other than 0, then you must supply a MonitoringRoleArn value.", + "DeletionProtection": "A value that indicates whether the DB instance has deletion protection enabled. The database can't be deleted when deletion protection is enabled. By default, deletion protection is disabled. See Deleting a DB Instance.", + "CloudwatchLogsExportConfiguration": "The configuration setting for the log types to be enabled for export to CloudWatch Logs for a specific DB instance or DB cluster.", + "ApplyImmediately": "Specifies whether the modifications in this request and any pending modifications are asynchronously applied as soon as possible, regardless of the PreferredMaintenanceWindow setting for the DB instance. If this parameter is set to false, changes to the DB instance are applied during the next maintenance window. Some parameter changes can cause an outage and are applied on the next call to RebootDBInstance, or the next failure reboot. Default: false ", + "VpcSecurityGroupIds": "A list of EC2 VPC security groups to authorize on this DB instance. This change is asynchronously applied as soon as possible. Not applicable. The associated list of EC2 VPC security groups is managed by the DB cluster. For more information, see ModifyDBCluster. Constraints: If supplied, must match existing VpcSecurityGroupIds. ", + "StorageType": "Not supported.", + "EnablePerformanceInsights": " (Not supported by Neptune) ", + "MultiAZ": "Specifies if the DB instance is a Multi-AZ deployment. Changing this parameter doesn't result in an outage and the change is applied during the next maintenance window unless the ApplyImmediately parameter is set to true for this request." +} +""" +ModifyDBInstance(args) = neptune("ModifyDBInstance", args) + +""" + StartDBCluster() + +Starts an Amazon Neptune DB cluster that was stopped using the AWS console, the AWS CLI stop-db-cluster command, or the StopDBCluster API. + +Required Parameters +{ + "DBClusterIdentifier": "The DB cluster identifier of the Neptune DB cluster to be started. This parameter is stored as a lowercase string." +} +""" +StartDBCluster(args) = neptune("StartDBCluster", args) + +""" + DescribeEngineDefaultClusterParameters() + +Returns the default engine and system parameter information for the cluster database engine. + +Required Parameters +{ + "DBParameterGroupFamily": "The name of the DB cluster parameter group family to return engine parameter information for." +} + +Optional Parameters +{ + "MaxRecords": " The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved. Default: 100 Constraints: Minimum 20, maximum 100.", + "Marker": " An optional pagination token provided by a previous DescribeEngineDefaultClusterParameters request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.", + "Filters": "This parameter is not currently supported." +} +""" +DescribeEngineDefaultClusterParameters(args) = neptune("DescribeEngineDefaultClusterParameters", args) + +""" + ResetDBClusterParameterGroup() + + Modifies the parameters of a DB cluster parameter group to the default value. To reset specific parameters submit a list of the following: ParameterName and ApplyMethod. To reset the entire DB cluster parameter group, specify the DBClusterParameterGroupName and ResetAllParameters parameters. When resetting the entire group, dynamic parameters are updated immediately and static parameters are set to pending-reboot to take effect on the next DB instance restart or RebootDBInstance request. You must call RebootDBInstance for every DB instance in your DB cluster that you want the updated static parameter to apply to. + +Required Parameters +{ + "DBClusterParameterGroupName": "The name of the DB cluster parameter group to reset." +} + +Optional Parameters +{ + "Parameters": "A list of parameter names in the DB cluster parameter group to reset to the default values. You can't use this parameter if the ResetAllParameters parameter is set to true.", + "ResetAllParameters": "A value that is set to true to reset all parameters in the DB cluster parameter group to their default values, and false otherwise. You can't use this parameter if there is a list of parameter names specified for the Parameters parameter." +} +""" +ResetDBClusterParameterGroup(args) = neptune("ResetDBClusterParameterGroup", args) + +""" + CreateDBClusterParameterGroup() + +Creates a new DB cluster parameter group. Parameters in a DB cluster parameter group apply to all of the instances in a DB cluster. A DB cluster parameter group is initially created with the default parameters for the database engine used by instances in the DB cluster. To provide custom values for any of the parameters, you must modify the group after creating it using ModifyDBClusterParameterGroup. Once you've created a DB cluster parameter group, you need to associate it with your DB cluster using ModifyDBCluster. When you associate a new DB cluster parameter group with a running DB cluster, you need to reboot the DB instances in the DB cluster without failover for the new DB cluster parameter group and associated settings to take effect. After you create a DB cluster parameter group, you should wait at least 5 minutes before creating your first DB cluster that uses that DB cluster parameter group as the default parameter group. This allows Amazon Neptune to fully complete the create action before the DB cluster parameter group is used as the default for a new DB cluster. This is especially important for parameters that are critical when creating the default database for a DB cluster, such as the character set for the default database defined by the character_set_database parameter. You can use the Parameter Groups option of the Amazon Neptune console or the DescribeDBClusterParameters command to verify that your DB cluster parameter group has been created or modified. + +Required Parameters +{ + "Description": "The description for the DB cluster parameter group.", + "DBClusterParameterGroupName": "The name of the DB cluster parameter group. Constraints: Must match the name of an existing DBClusterParameterGroup. This value is stored as a lowercase string. ", + "DBParameterGroupFamily": "The DB cluster parameter group family name. A DB cluster parameter group can be associated with one and only one DB cluster parameter group family, and can be applied only to a DB cluster running a database engine and engine version compatible with that DB cluster parameter group family." +} + +Optional Parameters +{ + "Tags": "The tags to be assigned to the new DB cluster parameter group." +} +""" +CreateDBClusterParameterGroup(args) = neptune("CreateDBClusterParameterGroup", args) + +""" + AddSourceIdentifierToSubscription() + +Adds a source identifier to an existing event notification subscription. + +Required Parameters +{ + "SubscriptionName": "The name of the event notification subscription you want to add a source identifier to.", + "SourceIdentifier": "The identifier of the event source to be added. Constraints: If the source type is a DB instance, then a DBInstanceIdentifier must be supplied. If the source type is a DB security group, a DBSecurityGroupName must be supplied. If the source type is a DB parameter group, a DBParameterGroupName must be supplied. If the source type is a DB snapshot, a DBSnapshotIdentifier must be supplied. " +} +""" +AddSourceIdentifierToSubscription(args) = neptune("AddSourceIdentifierToSubscription", args) + +""" + DeleteDBParameterGroup() + +Deletes a specified DBParameterGroup. The DBParameterGroup to be deleted can't be associated with any DB instances. + +Required Parameters +{ + "DBParameterGroupName": "The name of the DB parameter group. Constraints: Must be the name of an existing DB parameter group You can't delete a default DB parameter group Cannot be associated with any DB instances " +} +""" +DeleteDBParameterGroup(args) = neptune("DeleteDBParameterGroup", args) + +""" + DescribeDBClusters() + +Returns information about provisioned DB clusters, and supports pagination. This operation can also return information for Amazon RDS clusters and Amazon DocDB clusters. + +Optional Parameters +{ + "MaxRecords": "The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved. Default: 100 Constraints: Minimum 20, maximum 100.", + "Marker": "An optional pagination token provided by a previous DescribeDBClusters request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.", + "DBClusterIdentifier": "The user-supplied DB cluster identifier. If this parameter is specified, information from only the specific DB cluster is returned. This parameter isn't case-sensitive. Constraints: If supplied, must match an existing DBClusterIdentifier. ", + "Filters": "A filter that specifies one or more DB clusters to describe. Supported filters: db-cluster-id - Accepts DB cluster identifiers and DB cluster Amazon Resource Names (ARNs). The results list will only include information about the DB clusters identified by these ARNs. engine - Accepts an engine name (such as neptune), and restricts the results list to DB clusters created by that engine. For example, to invoke this API from the AWS CLI and filter so that only Neptune DB clusters are returned, you could use the following command:" +} +""" +DescribeDBClusters() = neptune("DescribeDBClusters") +DescribeDBClusters(args) = neptune("DescribeDBClusters", args) + +""" + DescribeDBClusterSnapshots() + +Returns information about DB cluster snapshots. This API action supports pagination. + +Optional Parameters +{ + "MaxRecords": "The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved. Default: 100 Constraints: Minimum 20, maximum 100.", + "Marker": "An optional pagination token provided by a previous DescribeDBClusterSnapshots request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords. ", + "IncludeShared": "True to include shared manual DB cluster snapshots from other AWS accounts that this AWS account has been given permission to copy or restore, and otherwise false. The default is false. You can give an AWS account permission to restore a manual DB cluster snapshot from another AWS account by the ModifyDBClusterSnapshotAttribute API action.", + "DBClusterSnapshotIdentifier": "A specific DB cluster snapshot identifier to describe. This parameter can't be used in conjunction with the DBClusterIdentifier parameter. This value is stored as a lowercase string. Constraints: If supplied, must match the identifier of an existing DBClusterSnapshot. If this identifier is for an automated snapshot, the SnapshotType parameter must also be specified. ", + "DBClusterIdentifier": "The ID of the DB cluster to retrieve the list of DB cluster snapshots for. This parameter can't be used in conjunction with the DBClusterSnapshotIdentifier parameter. This parameter is not case-sensitive. Constraints: If supplied, must match the identifier of an existing DBCluster. ", + "SnapshotType": "The type of DB cluster snapshots to be returned. You can specify one of the following values: automated - Return all DB cluster snapshots that have been automatically taken by Amazon Neptune for my AWS account. manual - Return all DB cluster snapshots that have been taken by my AWS account. shared - Return all manual DB cluster snapshots that have been shared to my AWS account. public - Return all DB cluster snapshots that have been marked as public. If you don't specify a SnapshotType value, then both automated and manual DB cluster snapshots are returned. You can include shared DB cluster snapshots with these results by setting the IncludeShared parameter to true. You can include public DB cluster snapshots with these results by setting the IncludePublic parameter to true. The IncludeShared and IncludePublic parameters don't apply for SnapshotType values of manual or automated. The IncludePublic parameter doesn't apply when SnapshotType is set to shared. The IncludeShared parameter doesn't apply when SnapshotType is set to public.", + "Filters": "This parameter is not currently supported.", + "IncludePublic": "True to include manual DB cluster snapshots that are public and can be copied or restored by any AWS account, and otherwise false. The default is false. The default is false. You can share a manual DB cluster snapshot as public by using the ModifyDBClusterSnapshotAttribute API action." +} +""" +DescribeDBClusterSnapshots() = neptune("DescribeDBClusterSnapshots") +DescribeDBClusterSnapshots(args) = neptune("DescribeDBClusterSnapshots", args) + +""" + DescribeDBClusterParameterGroups() + + Returns a list of DBClusterParameterGroup descriptions. If a DBClusterParameterGroupName parameter is specified, the list will contain only the description of the specified DB cluster parameter group. + +Optional Parameters +{ + "MaxRecords": " The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved. Default: 100 Constraints: Minimum 20, maximum 100.", + "Marker": " An optional pagination token provided by a previous DescribeDBClusterParameterGroups request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.", + "DBClusterParameterGroupName": "The name of a specific DB cluster parameter group to return details for. Constraints: If supplied, must match the name of an existing DBClusterParameterGroup. ", + "Filters": "This parameter is not currently supported." +} +""" +DescribeDBClusterParameterGroups() = neptune("DescribeDBClusterParameterGroups") +DescribeDBClusterParameterGroups(args) = neptune("DescribeDBClusterParameterGroups", args) + +""" + DescribePendingMaintenanceActions() + +Returns a list of resources (for example, DB instances) that have at least one pending maintenance action. + +Optional Parameters +{ + "Marker": " An optional pagination token provided by a previous DescribePendingMaintenanceActions request. If this parameter is specified, the response includes only records beyond the marker, up to a number of records specified by MaxRecords.", + "MaxRecords": " The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved. Default: 100 Constraints: Minimum 20, maximum 100.", + "Filters": "A filter that specifies one or more resources to return pending maintenance actions for. Supported filters: db-cluster-id - Accepts DB cluster identifiers and DB cluster Amazon Resource Names (ARNs). The results list will only include pending maintenance actions for the DB clusters identified by these ARNs. db-instance-id - Accepts DB instance identifiers and DB instance ARNs. The results list will only include pending maintenance actions for the DB instances identified by these ARNs. ", + "ResourceIdentifier": "The ARN of a resource to return pending maintenance actions for." +} +""" +DescribePendingMaintenanceActions() = neptune("DescribePendingMaintenanceActions") +DescribePendingMaintenanceActions(args) = neptune("DescribePendingMaintenanceActions", args) diff --git a/src/services/networkmanager.jl b/src/services/networkmanager.jl new file mode 100644 index 0000000000..45ed0248be --- /dev/null +++ b/src/services/networkmanager.jl @@ -0,0 +1,471 @@ +include("../AWSServices.jl") +using .AWSServices: networkmanager + +""" + GetDevices() + +Gets information about one or more of your devices in a global network. + +Required Parameters +{ + "GlobalNetworkId": "The ID of the global network." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return.", + "NextToken": "The token for the next page of results.", + "SiteId": "The ID of the site.", + "DeviceIds": "One or more device IDs. The maximum is 10." +} +""" +GetDevices(args) = networkmanager("GET", "/global-networks/{globalNetworkId}/devices", args) + +""" + ListTagsForResource() + +Lists the tags for a specified resource. + +Required Parameters +{ + "ResourceArn": "The Amazon Resource Name (ARN) of the resource." +} +""" +ListTagsForResource(args) = networkmanager("GET", "/tags/{resourceArn}", args) + +""" + DeleteGlobalNetwork() + +Deletes an existing global network. You must first delete all global network objects (devices, links, and sites) and deregister all transit gateways. + +Required Parameters +{ + "GlobalNetworkId": "The ID of the global network." +} +""" +DeleteGlobalNetwork(args) = networkmanager("DELETE", "/global-networks/{globalNetworkId}", args) + +""" + DeleteLink() + +Deletes an existing link. You must first disassociate the link from any devices and customer gateways. + +Required Parameters +{ + "GlobalNetworkId": "The ID of the global network.", + "LinkId": "The ID of the link." +} +""" +DeleteLink(args) = networkmanager("DELETE", "/global-networks/{globalNetworkId}/links/{linkId}", args) + +""" + AssociateLink() + +Associates a link to a device. A device can be associated to multiple links and a link can be associated to multiple devices. The device and link must be in the same global network and the same site. + +Required Parameters +{ + "GlobalNetworkId": "The ID of the global network.", + "DeviceId": "The ID of the device.", + "LinkId": "The ID of the link." +} +""" +AssociateLink(args) = networkmanager("POST", "/global-networks/{globalNetworkId}/link-associations", args) + +""" + CreateDevice() + +Creates a new device in a global network. If you specify both a site ID and a location, the location of the site is used for visualization in the Network Manager console. + +Required Parameters +{ + "GlobalNetworkId": "The ID of the global network." +} + +Optional Parameters +{ + "Description": "A description of the device. Length Constraints: Maximum length of 256 characters.", + "Tags": "The tags to apply to the resource during creation.", + "Type": "The type of the device.", + "Location": "The location of the device.", + "Model": "The model of the device. Length Constraints: Maximum length of 128 characters.", + "Vendor": "The vendor of the device. Length Constraints: Maximum length of 128 characters.", + "SiteId": "The ID of the site.", + "SerialNumber": "The serial number of the device. Length Constraints: Maximum length of 128 characters." +} +""" +CreateDevice(args) = networkmanager("POST", "/global-networks/{globalNetworkId}/devices", args) + +""" + DeregisterTransitGateway() + +Deregisters a transit gateway from your global network. This action does not delete your transit gateway, or modify any of its attachments. This action removes any customer gateway associations. + +Required Parameters +{ + "TransitGatewayArn": "The Amazon Resource Name (ARN) of the transit gateway.", + "GlobalNetworkId": "The ID of the global network." +} +""" +DeregisterTransitGateway(args) = networkmanager("DELETE", "/global-networks/{globalNetworkId}/transit-gateway-registrations/{transitGatewayArn}", args) + +""" + CreateLink() + +Creates a new link for a specified site. + +Required Parameters +{ + "Bandwidth": " The upload speed and download speed in Mbps. ", + "GlobalNetworkId": "The ID of the global network.", + "SiteId": "The ID of the site." +} + +Optional Parameters +{ + "Description": "A description of the link. Length Constraints: Maximum length of 256 characters.", + "Provider": "The provider of the link. Constraints: Cannot include the following characters: | ^ Length Constraints: Maximum length of 128 characters.", + "Tags": "The tags to apply to the resource during creation.", + "Type": "The type of the link. Constraints: Cannot include the following characters: | ^ Length Constraints: Maximum length of 128 characters." +} +""" +CreateLink(args) = networkmanager("POST", "/global-networks/{globalNetworkId}/links", args) + +""" + CreateGlobalNetwork() + +Creates a new, empty global network. + +Optional Parameters +{ + "Description": "A description of the global network. Length Constraints: Maximum length of 256 characters.", + "Tags": "The tags to apply to the resource during creation." +} +""" +CreateGlobalNetwork() = networkmanager("POST", "/global-networks") +CreateGlobalNetwork(args) = networkmanager("POST", "/global-networks", args) + +""" + GetTransitGatewayRegistrations() + +Gets information about the transit gateway registrations in a specified global network. + +Required Parameters +{ + "GlobalNetworkId": "The ID of the global network." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return.", + "TransitGatewayArns": "The Amazon Resource Names (ARNs) of one or more transit gateways. The maximum is 10.", + "NextToken": "The token for the next page of results." +} +""" +GetTransitGatewayRegistrations(args) = networkmanager("GET", "/global-networks/{globalNetworkId}/transit-gateway-registrations", args) + +""" + GetLinkAssociations() + +Gets the link associations for a device or a link. Either the device ID or the link ID must be specified. + +Required Parameters +{ + "GlobalNetworkId": "The ID of the global network." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return.", + "NextToken": "The token for the next page of results.", + "DeviceId": "The ID of the device.", + "LinkId": "The ID of the link." +} +""" +GetLinkAssociations(args) = networkmanager("GET", "/global-networks/{globalNetworkId}/link-associations", args) + +""" + DisassociateLink() + +Disassociates an existing device from a link. You must first disassociate any customer gateways that are associated with the link. + +Required Parameters +{ + "GlobalNetworkId": "The ID of the global network.", + "DeviceId": "The ID of the device.", + "LinkId": "The ID of the link." +} +""" +DisassociateLink(args) = networkmanager("DELETE", "/global-networks/{globalNetworkId}/link-associations", args) + +""" + GetCustomerGatewayAssociations() + +Gets the association information for customer gateways that are associated with devices and links in your global network. + +Required Parameters +{ + "GlobalNetworkId": "The ID of the global network." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return.", + "NextToken": "The token for the next page of results.", + "CustomerGatewayArns": "One or more customer gateway Amazon Resource Names (ARNs). For more information, see Resources Defined by Amazon EC2. The maximum is 10." +} +""" +GetCustomerGatewayAssociations(args) = networkmanager("GET", "/global-networks/{globalNetworkId}/customer-gateway-associations", args) + +""" + TagResource() + +Tags a specified resource. + +Required Parameters +{ + "ResourceArn": "The Amazon Resource Name (ARN) of the resource.", + "Tags": "The tags to apply to the specified resource." +} +""" +TagResource(args) = networkmanager("POST", "/tags/{resourceArn}", args) + +""" + CreateSite() + +Creates a new site in a global network. + +Required Parameters +{ + "GlobalNetworkId": "The ID of the global network." +} + +Optional Parameters +{ + "Description": "A description of your site. Length Constraints: Maximum length of 256 characters.", + "Tags": "The tags to apply to the resource during creation.", + "Location": "The site location. This information is used for visualization in the Network Manager console. If you specify the address, the latitude and longitude are automatically calculated. Address: The physical address of the site. Latitude: The latitude of the site. Longitude: The longitude of the site. " +} +""" +CreateSite(args) = networkmanager("POST", "/global-networks/{globalNetworkId}/sites", args) + +""" + UntagResource() + +Removes tags from a specified resource. + +Required Parameters +{ + "ResourceArn": "The Amazon Resource Name (ARN) of the resource.", + "TagKeys": "The tag keys to remove from the specified resource." +} +""" +UntagResource(args) = networkmanager("DELETE", "/tags/{resourceArn}", args) + +""" + UpdateLink() + +Updates the details for an existing link. To remove information for any of the parameters, specify an empty string. + +Required Parameters +{ + "GlobalNetworkId": "The ID of the global network.", + "LinkId": "The ID of the link." +} + +Optional Parameters +{ + "Bandwidth": "The upload and download speed in Mbps. ", + "Description": "A description of the link. Length Constraints: Maximum length of 256 characters.", + "Provider": "The provider of the link. Length Constraints: Maximum length of 128 characters.", + "Type": "The type of the link. Length Constraints: Maximum length of 128 characters." +} +""" +UpdateLink(args) = networkmanager("PATCH", "/global-networks/{globalNetworkId}/links/{linkId}", args) + +""" + UpdateSite() + +Updates the information for an existing site. To remove information for any of the parameters, specify an empty string. + +Required Parameters +{ + "GlobalNetworkId": "The ID of the global network.", + "SiteId": "The ID of your site." +} + +Optional Parameters +{ + "Description": "A description of your site. Length Constraints: Maximum length of 256 characters.", + "Location": "The site location: Address: The physical address of the site. Latitude: The latitude of the site. Longitude: The longitude of the site. " +} +""" +UpdateSite(args) = networkmanager("PATCH", "/global-networks/{globalNetworkId}/sites/{siteId}", args) + +""" + DescribeGlobalNetworks() + +Describes one or more global networks. By default, all global networks are described. To describe the objects in your global network, you must use the appropriate Get* action. For example, to list the transit gateways in your global network, use GetTransitGatewayRegistrations. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return.", + "NextToken": "The token for the next page of results.", + "GlobalNetworkIds": "The IDs of one or more global networks. The maximum is 10." +} +""" +DescribeGlobalNetworks() = networkmanager("GET", "/global-networks") +DescribeGlobalNetworks(args) = networkmanager("GET", "/global-networks", args) + +""" + AssociateCustomerGateway() + +Associates a customer gateway with a device and optionally, with a link. If you specify a link, it must be associated with the specified device. You can only associate customer gateways that are connected to a VPN attachment on a transit gateway. The transit gateway must be registered in your global network. When you register a transit gateway, customer gateways that are connected to the transit gateway are automatically included in the global network. To list customer gateways that are connected to a transit gateway, use the DescribeVpnConnections EC2 API and filter by transit-gateway-id. You cannot associate a customer gateway with more than one device and link. + +Required Parameters +{ + "GlobalNetworkId": "The ID of the global network.", + "CustomerGatewayArn": "The Amazon Resource Name (ARN) of the customer gateway. For more information, see Resources Defined by Amazon EC2.", + "DeviceId": "The ID of the device." +} + +Optional Parameters +{ + "LinkId": "The ID of the link." +} +""" +AssociateCustomerGateway(args) = networkmanager("POST", "/global-networks/{globalNetworkId}/customer-gateway-associations", args) + +""" + UpdateGlobalNetwork() + +Updates an existing global network. To remove information for any of the parameters, specify an empty string. + +Required Parameters +{ + "GlobalNetworkId": "The ID of your global network." +} + +Optional Parameters +{ + "Description": "A description of the global network. Length Constraints: Maximum length of 256 characters." +} +""" +UpdateGlobalNetwork(args) = networkmanager("PATCH", "/global-networks/{globalNetworkId}", args) + +""" + GetLinks() + +Gets information about one or more links in a specified global network. If you specify the site ID, you cannot specify the type or provider in the same request. You can specify the type and provider in the same request. + +Required Parameters +{ + "GlobalNetworkId": "The ID of the global network." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return.", + "Provider": "The link provider.", + "NextToken": "The token for the next page of results.", + "Type": "The link type.", + "LinkIds": "One or more link IDs. The maximum is 10.", + "SiteId": "The ID of the site." +} +""" +GetLinks(args) = networkmanager("GET", "/global-networks/{globalNetworkId}/links", args) + +""" + DisassociateCustomerGateway() + +Disassociates a customer gateway from a device and a link. + +Required Parameters +{ + "GlobalNetworkId": "The ID of the global network.", + "CustomerGatewayArn": "The Amazon Resource Name (ARN) of the customer gateway. For more information, see Resources Defined by Amazon EC2." +} +""" +DisassociateCustomerGateway(args) = networkmanager("DELETE", "/global-networks/{globalNetworkId}/customer-gateway-associations/{customerGatewayArn}", args) + +""" + DeleteDevice() + +Deletes an existing device. You must first disassociate the device from any links and customer gateways. + +Required Parameters +{ + "GlobalNetworkId": "The ID of the global network.", + "DeviceId": "The ID of the device." +} +""" +DeleteDevice(args) = networkmanager("DELETE", "/global-networks/{globalNetworkId}/devices/{deviceId}", args) + +""" + DeleteSite() + +Deletes an existing site. The site cannot be associated with any device or link. + +Required Parameters +{ + "GlobalNetworkId": "The ID of the global network.", + "SiteId": "The ID of the site." +} +""" +DeleteSite(args) = networkmanager("DELETE", "/global-networks/{globalNetworkId}/sites/{siteId}", args) + +""" + RegisterTransitGateway() + +Registers a transit gateway in your global network. The transit gateway can be in any AWS Region, but it must be owned by the same AWS account that owns the global network. You cannot register a transit gateway in more than one global network. + +Required Parameters +{ + "TransitGatewayArn": "The Amazon Resource Name (ARN) of the transit gateway. For more information, see Resources Defined by Amazon EC2.", + "GlobalNetworkId": "The ID of the global network." +} +""" +RegisterTransitGateway(args) = networkmanager("POST", "/global-networks/{globalNetworkId}/transit-gateway-registrations", args) + +""" + UpdateDevice() + +Updates the details for an existing device. To remove information for any of the parameters, specify an empty string. + +Required Parameters +{ + "GlobalNetworkId": "The ID of the global network.", + "DeviceId": "The ID of the device." +} + +Optional Parameters +{ + "Description": "A description of the device. Length Constraints: Maximum length of 256 characters.", + "Type": "The type of the device.", + "Location": "", + "Model": "The model of the device. Length Constraints: Maximum length of 128 characters.", + "Vendor": "The vendor of the device. Length Constraints: Maximum length of 128 characters.", + "SiteId": "The ID of the site.", + "SerialNumber": "The serial number of the device. Length Constraints: Maximum length of 128 characters." +} +""" +UpdateDevice(args) = networkmanager("PATCH", "/global-networks/{globalNetworkId}/devices/{deviceId}", args) + +""" + GetSites() + +Gets information about one or more of your sites in a global network. + +Required Parameters +{ + "GlobalNetworkId": "The ID of the global network." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return.", + "NextToken": "The token for the next page of results.", + "SiteIds": "One or more site IDs. The maximum is 10." +} +""" +GetSites(args) = networkmanager("GET", "/global-networks/{globalNetworkId}/sites", args) diff --git a/src/services/opsworks.jl b/src/services/opsworks.jl new file mode 100644 index 0000000000..918b7df00d --- /dev/null +++ b/src/services/opsworks.jl @@ -0,0 +1,1218 @@ +include("../AWSServices.jl") +using .AWSServices: opsworks + +""" + DescribeElasticIps() + +Describes Elastic IP addresses. This call accepts only one resource-identifying parameter. Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information about user permissions, see Managing User Permissions. + +Optional Parameters +{ + "StackId": "A stack ID. If you include this parameter, DescribeElasticIps returns a description of the Elastic IP addresses that are registered with the specified stack.", + "InstanceId": "The instance ID. If you include this parameter, DescribeElasticIps returns a description of the Elastic IP addresses associated with the specified instance.", + "Ips": "An array of Elastic IP addresses to be described. If you include this parameter, DescribeElasticIps returns a description of the specified Elastic IP addresses. Otherwise, it returns a description of every Elastic IP address." +} +""" +DescribeElasticIps() = opsworks("DescribeElasticIps") +DescribeElasticIps(args) = opsworks("DescribeElasticIps", args) + +""" + StopStack() + +Stops a specified stack. Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions. + +Required Parameters +{ + "StackId": "The stack ID." +} +""" +StopStack(args) = opsworks("StopStack", args) + +""" + DeleteApp() + +Deletes a specified app. Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions. + +Required Parameters +{ + "AppId": "The app ID." +} +""" +DeleteApp(args) = opsworks("DeleteApp", args) + +""" + DescribeVolumes() + +Describes an instance's Amazon EBS volumes. This call accepts only one resource-identifying parameter. Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information about user permissions, see Managing User Permissions. + +Optional Parameters +{ + "StackId": "A stack ID. The action describes the stack's registered Amazon EBS volumes.", + "VolumeIds": "Am array of volume IDs. If you use this parameter, DescribeVolumes returns descriptions of the specified volumes. Otherwise, it returns a description of every volume.", + "InstanceId": "The instance ID. If you use this parameter, DescribeVolumes returns descriptions of the volumes associated with the specified instance.", + "RaidArrayId": "The RAID array ID. If you use this parameter, DescribeVolumes returns descriptions of the volumes associated with the specified RAID array." +} +""" +DescribeVolumes() = opsworks("DescribeVolumes") +DescribeVolumes(args) = opsworks("DescribeVolumes", args) + +""" + CreateUserProfile() + +Creates a new user profile. Required Permissions: To use this action, an IAM user must have an attached policy that explicitly grants permissions. For more information about user permissions, see Managing User Permissions. + +Required Parameters +{ + "IamUserArn": "The user's IAM ARN; this can also be a federated user's ARN." +} + +Optional Parameters +{ + "AllowSelfManagement": "Whether users can specify their own SSH public key through the My Settings page. For more information, see Setting an IAM User's Public SSH Key.", + "SshPublicKey": "The user's public SSH key.", + "SshUsername": "The user's SSH user name. The allowable characters are [a-z], [A-Z], [0-9], '-', and '_'. If the specified name includes other punctuation marks, AWS OpsWorks Stacks removes them. For example, my.name will be changed to myname. If you do not specify an SSH user name, AWS OpsWorks Stacks generates one from the IAM user name. " +} +""" +CreateUserProfile(args) = opsworks("CreateUserProfile", args) + +""" + DescribeLayers() + +Requests a description of one or more layers in a specified stack. This call accepts only one resource-identifying parameter. Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information about user permissions, see Managing User Permissions. + +Optional Parameters +{ + "StackId": "The stack ID.", + "LayerIds": "An array of layer IDs that specify the layers to be described. If you omit this parameter, DescribeLayers returns a description of every layer in the specified stack." +} +""" +DescribeLayers() = opsworks("DescribeLayers") +DescribeLayers(args) = opsworks("DescribeLayers", args) + +""" + RegisterInstance() + +Registers instances that were created outside of AWS OpsWorks Stacks with a specified stack. We do not recommend using this action to register instances. The complete registration operation includes two tasks: installing the AWS OpsWorks Stacks agent on the instance, and registering the instance with the stack. RegisterInstance handles only the second step. You should instead use the AWS CLI register command, which performs the entire registration operation. For more information, see Registering an Instance with an AWS OpsWorks Stacks Stack. Registered instances have the same requirements as instances that are created by using the CreateInstance API. For example, registered instances must be running a supported Linux-based operating system, and they must have a supported instance type. For more information about requirements for instances that you want to register, see Preparing the Instance. Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions. + +Required Parameters +{ + "StackId": "The ID of the stack that the instance is to be registered with." +} + +Optional Parameters +{ + "InstanceIdentity": "An InstanceIdentity object that contains the instance's identity.", + "Hostname": "The instance's hostname.", + "RsaPublicKey": "The instances public RSA key. This key is used to encrypt communication between the instance and the service.", + "PrivateIp": "The instance's private IP address.", + "RsaPublicKeyFingerprint": "The instances public RSA key fingerprint.", + "PublicIp": "The instance's public IP address." +} +""" +RegisterInstance(args) = opsworks("RegisterInstance", args) + +""" + DescribePermissions() + +Describes the permissions for a specified stack. Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions. + +Optional Parameters +{ + "StackId": "The stack ID.", + "IamUserArn": "The user's IAM ARN. This can also be a federated user's ARN. For more information about IAM ARNs, see Using Identifiers." +} +""" +DescribePermissions() = opsworks("DescribePermissions") +DescribePermissions(args) = opsworks("DescribePermissions", args) + +""" + StartInstance() + +Starts a specified instance. For more information, see Starting, Stopping, and Rebooting Instances. Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions. + +Required Parameters +{ + "InstanceId": "The instance ID." +} +""" +StartInstance(args) = opsworks("StartInstance", args) + +""" + TagResource() + +Apply cost-allocation tags to a specified stack or layer in AWS OpsWorks Stacks. For more information about how tagging works, see Tags in the AWS OpsWorks User Guide. + +Required Parameters +{ + "ResourceArn": "The stack or layer's Amazon Resource Number (ARN).", + "Tags": "A map that contains tag keys and tag values that are attached to a stack or layer. The key cannot be empty. The key can be a maximum of 127 characters, and can contain only Unicode letters, numbers, or separators, or the following special characters: + - = . _ : / The value can be a maximum 255 characters, and contain only Unicode letters, numbers, or separators, or the following special characters: + - = . _ : / Leading and trailing white spaces are trimmed from both the key and value. A maximum of 40 tags is allowed for any resource. " +} +""" +TagResource(args) = opsworks("TagResource", args) + +""" + UnassignInstance() + +Unassigns a registered instance from all layers that are using the instance. The instance remains in the stack as an unassigned instance, and can be assigned to another layer as needed. You cannot use this action with instances that were created with AWS OpsWorks Stacks. Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack or an attached policy that explicitly grants permissions. For more information about user permissions, see Managing User Permissions. + +Required Parameters +{ + "InstanceId": "The instance ID." +} +""" +UnassignInstance(args) = opsworks("UnassignInstance", args) + +""" + DescribeStacks() + +Requests a description of one or more stacks. Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information about user permissions, see Managing User Permissions. + +Optional Parameters +{ + "StackIds": "An array of stack IDs that specify the stacks to be described. If you omit this parameter, DescribeStacks returns a description of every stack." +} +""" +DescribeStacks() = opsworks("DescribeStacks") +DescribeStacks(args) = opsworks("DescribeStacks", args) + +""" + CloneStack() + +Creates a clone of a specified stack. For more information, see Clone a Stack. By default, all parameters are set to the values used by the parent stack. Required Permissions: To use this action, an IAM user must have an attached policy that explicitly grants permissions. For more information about user permissions, see Managing User Permissions. + +Required Parameters +{ + "SourceStackId": "The source stack ID.", + "ServiceRoleArn": "The stack AWS Identity and Access Management (IAM) role, which allows AWS OpsWorks Stacks to work with AWS resources on your behalf. You must set this parameter to the Amazon Resource Name (ARN) for an existing IAM role. If you create a stack by using the AWS OpsWorks Stacks console, it creates the role for you. You can obtain an existing stack's IAM ARN programmatically by calling DescribePermissions. For more information about IAM ARNs, see Using Identifiers. You must set this parameter to a valid service role ARN or the action will fail; there is no default value. You can specify the source stack's service role ARN, if you prefer, but you must do so explicitly. " +} + +Optional Parameters +{ + "DefaultRootDeviceType": "The default root device type. This value is used by default for all instances in the cloned stack, but you can override it when you create an instance. For more information, see Storage for the Root Device.", + "CloneAppIds": "A list of source stack app IDs to be included in the cloned stack.", + "ChefConfiguration": "A ChefConfiguration object that specifies whether to enable Berkshelf and the Berkshelf version on Chef 11.10 stacks. For more information, see Create a New Stack.", + "AgentVersion": "The default AWS OpsWorks Stacks agent version. You have the following options: Auto-update - Set this parameter to LATEST. AWS OpsWorks Stacks automatically installs new agent versions on the stack's instances as soon as they are available. Fixed version - Set this parameter to your preferred agent version. To update the agent version, you must edit the stack configuration and specify a new version. AWS OpsWorks Stacks then automatically installs that version on the stack's instances. The default setting is LATEST. To specify an agent version, you must use the complete version number, not the abbreviated number shown on the console. For a list of available agent version numbers, call DescribeAgentVersions. AgentVersion cannot be set to Chef 12.2. You can also specify an agent version when you create or update an instance, which overrides the stack's default setting. ", + "CustomJson": "A string that contains user-defined, custom JSON. It is used to override the corresponding default stack configuration JSON values. The string should be in the following format: \"{ \"key1 \": \"value1 \", \"key2 \": \"value2 \",...}\" For more information about custom JSON, see Use Custom JSON to Modify the Stack Configuration Attributes ", + "DefaultInstanceProfileArn": "The Amazon Resource Name (ARN) of an IAM profile that is the default profile for all of the stack's EC2 instances. For more information about IAM ARNs, see Using Identifiers.", + "DefaultAvailabilityZone": "The cloned stack's default Availability Zone, which must be in the specified region. For more information, see Regions and Endpoints. If you also specify a value for DefaultSubnetId, the subnet must be in the same zone. For more information, see the VpcId parameter description. ", + "DefaultOs": "The stack's operating system, which must be set to one of the following. A supported Linux operating system: An Amazon Linux version, such as Amazon Linux 2018.03, Amazon Linux 2017.09, Amazon Linux 2017.03, Amazon Linux 2016.09, Amazon Linux 2016.03, Amazon Linux 2015.09, or Amazon Linux 2015.03. A supported Ubuntu operating system, such as Ubuntu 16.04 LTS, Ubuntu 14.04 LTS, or Ubuntu 12.04 LTS. CentOS Linux 7 Red Hat Enterprise Linux 7 Microsoft Windows Server 2012 R2 Base, Microsoft Windows Server 2012 R2 with SQL Server Express, Microsoft Windows Server 2012 R2 with SQL Server Standard, or Microsoft Windows Server 2012 R2 with SQL Server Web. A custom AMI: Custom. You specify the custom AMI you want to use when you create instances. For more information about how to use custom AMIs with OpsWorks, see Using Custom AMIs. The default option is the parent stack's operating system. For more information about supported operating systems, see AWS OpsWorks Stacks Operating Systems. You can specify a different Linux operating system for the cloned stack, but you cannot change from Linux to Windows or Windows to Linux. ", + "VpcId": "The ID of the VPC that the cloned stack is to be launched into. It must be in the specified region. All instances are launched into this VPC, and you cannot change the ID later. If your account supports EC2 Classic, the default value is no VPC. If your account does not support EC2 Classic, the default value is the default VPC for the specified region. If the VPC ID corresponds to a default VPC and you have specified either the DefaultAvailabilityZone or the DefaultSubnetId parameter only, AWS OpsWorks Stacks infers the value of the other parameter. If you specify neither parameter, AWS OpsWorks Stacks sets these parameters to the first valid Availability Zone for the specified region and the corresponding default VPC subnet ID, respectively. If you specify a nondefault VPC ID, note the following: It must belong to a VPC in your account that is in the specified region. You must specify a value for DefaultSubnetId. For more information about how to use AWS OpsWorks Stacks with a VPC, see Running a Stack in a VPC. For more information about default VPC and EC2 Classic, see Supported Platforms. ", + "HostnameTheme": "The stack's host name theme, with spaces are replaced by underscores. The theme is used to generate host names for the stack's instances. By default, HostnameTheme is set to Layer_Dependent, which creates host names by appending integers to the layer's short name. The other themes are: Baked_Goods Clouds Europe_Cities Fruits Greek_Deities_and_Titans Legendary_creatures_from_Japan Planets_and_Moons Roman_Deities Scottish_Islands US_Cities Wild_Cats To obtain a generated host name, call GetHostNameSuggestion, which returns a host name based on the current theme.", + "Name": "The cloned stack name.", + "UseOpsworksSecurityGroups": "Whether to associate the AWS OpsWorks Stacks built-in security groups with the stack's layers. AWS OpsWorks Stacks provides a standard set of built-in security groups, one for each layer, which are associated with layers by default. With UseOpsworksSecurityGroups you can instead provide your own custom security groups. UseOpsworksSecurityGroups has the following settings: True - AWS OpsWorks Stacks automatically associates the appropriate built-in security group with each layer (default setting). You can associate additional security groups with a layer after you create it but you cannot delete the built-in security group. False - AWS OpsWorks Stacks does not associate built-in security groups with layers. You must create appropriate Amazon Elastic Compute Cloud (Amazon EC2) security groups and associate a security group with each layer that you create. However, you can still manually associate a built-in security group with a layer on creation; custom security groups are required only for those layers that need custom settings. For more information, see Create a New Stack.", + "CustomCookbooksSource": "Contains the information required to retrieve an app or cookbook from a repository. For more information, see Adding Apps or Cookbooks and Recipes.", + "ConfigurationManager": "The configuration manager. When you clone a stack we recommend that you use the configuration manager to specify the Chef version: 12, 11.10, or 11.4 for Linux stacks, or 12.2 for Windows stacks. The default value for Linux stacks is currently 12.", + "Attributes": "A list of stack attributes and values as key/value pairs to be added to the cloned stack.", + "DefaultSubnetId": "The stack's default VPC subnet ID. This parameter is required if you specify a value for the VpcId parameter. All instances are launched into this subnet unless you specify otherwise when you create the instance. If you also specify a value for DefaultAvailabilityZone, the subnet must be in that zone. For information on default values and when this parameter is required, see the VpcId parameter description. ", + "Region": "The cloned stack AWS region, such as \"ap-northeast-2\". For more information about AWS regions, see Regions and Endpoints.", + "DefaultSshKeyName": "A default Amazon EC2 key pair name. The default value is none. If you specify a key pair name, AWS OpsWorks installs the public key on the instance and you can use the private key with an SSH client to log in to the instance. For more information, see Using SSH to Communicate with an Instance and Managing SSH Access. You can override this setting by specifying a different key pair, or no key pair, when you create an instance. ", + "UseCustomCookbooks": "Whether to use custom cookbooks.", + "ClonePermissions": "Whether to clone the source stack's permissions." +} +""" +CloneStack(args) = opsworks("CloneStack", args) + +""" + RegisterRdsDbInstance() + +Registers an Amazon RDS instance with a stack. Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions. + +Required Parameters +{ + "StackId": "The stack ID.", + "DbUser": "The database's master user name.", + "RdsDbInstanceArn": "The Amazon RDS instance's ARN.", + "DbPassword": "The database password." +} +""" +RegisterRdsDbInstance(args) = opsworks("RegisterRdsDbInstance", args) + +""" + SetTimeBasedAutoScaling() + +Specify the time-based auto scaling configuration for a specified instance. For more information, see Managing Load with Time-based and Load-based Instances. Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions. + +Required Parameters +{ + "InstanceId": "The instance ID." +} + +Optional Parameters +{ + "AutoScalingSchedule": "An AutoScalingSchedule with the instance schedule." +} +""" +SetTimeBasedAutoScaling(args) = opsworks("SetTimeBasedAutoScaling", args) + +""" + RegisterElasticIp() + +Registers an Elastic IP address with a specified stack. An address can be registered with only one stack at a time. If the address is already registered, you must first deregister it by calling DeregisterElasticIp. For more information, see Resource Management. Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions. + +Required Parameters +{ + "StackId": "The stack ID.", + "ElasticIp": "The Elastic IP address." +} +""" +RegisterElasticIp(args) = opsworks("RegisterElasticIp", args) + +""" + UpdateElasticIp() + +Updates a registered Elastic IP address's name. For more information, see Resource Management. Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions. + +Required Parameters +{ + "ElasticIp": "The IP address for which you want to update the name." +} + +Optional Parameters +{ + "Name": "The new name." +} +""" +UpdateElasticIp(args) = opsworks("UpdateElasticIp", args) + +""" + DescribeElasticLoadBalancers() + +Describes a stack's Elastic Load Balancing instances. This call accepts only one resource-identifying parameter. Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information about user permissions, see Managing User Permissions. + +Optional Parameters +{ + "StackId": "A stack ID. The action describes the stack's Elastic Load Balancing instances.", + "LayerIds": "A list of layer IDs. The action describes the Elastic Load Balancing instances for the specified layers." +} +""" +DescribeElasticLoadBalancers() = opsworks("DescribeElasticLoadBalancers") +DescribeElasticLoadBalancers(args) = opsworks("DescribeElasticLoadBalancers", args) + +""" + DeleteStack() + +Deletes a specified stack. You must first delete all instances, layers, and apps or deregister registered instances. For more information, see Shut Down a Stack. Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions. + +Required Parameters +{ + "StackId": "The stack ID." +} +""" +DeleteStack(args) = opsworks("DeleteStack", args) + +""" + CreateInstance() + +Creates an instance in a specified stack. For more information, see Adding an Instance to a Layer. Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions. + +Required Parameters +{ + "StackId": "The stack ID.", + "InstanceType": "The instance type, such as t2.micro. For a list of supported instance types, open the stack in the console, choose Instances, and choose + Instance. The Size list contains the currently supported types. For more information, see Instance Families and Types. The parameter values that you use to specify the various types are in the API Name column of the Available Instance Types table.", + "LayerIds": "An array that contains the instance's layer IDs." +} + +Optional Parameters +{ + "BlockDeviceMappings": "An array of BlockDeviceMapping objects that specify the instance's block devices. For more information, see Block Device Mapping. Note that block device mappings are not supported for custom AMIs.", + "InstallUpdatesOnBoot": "Whether to install operating system and package updates when the instance boots. The default value is true. To control when updates are installed, set this value to false. You must then update your instances manually by using CreateDeployment to run the update_dependencies stack command or by manually running yum (Amazon Linux) or apt-get (Ubuntu) on the instances. We strongly recommend using the default value of true to ensure that your instances have the latest security updates. ", + "Tenancy": "The instance's tenancy option. The default option is no tenancy, or if the instance is running in a VPC, inherit tenancy settings from the VPC. The following are valid values for this parameter: dedicated, default, or host. Because there are costs associated with changes in tenancy options, we recommend that you research tenancy options before choosing them for your instances. For more information about dedicated hosts, see Dedicated Hosts Overview and Amazon EC2 Dedicated Hosts. For more information about dedicated instances, see Dedicated Instances and Amazon EC2 Dedicated Instances.", + "Architecture": "The instance architecture. The default option is x86_64. Instance types do not necessarily support both architectures. For a list of the architectures that are supported by the different instance types, see Instance Families and Types.", + "AgentVersion": "The default AWS OpsWorks Stacks agent version. You have the following options: INHERIT - Use the stack's default agent version setting. version_number - Use the specified agent version. This value overrides the stack's default setting. To update the agent version, edit the instance configuration and specify a new version. AWS OpsWorks Stacks then automatically installs that version on the instance. The default setting is INHERIT. To specify an agent version, you must use the complete version number, not the abbreviated number shown on the console. For a list of available agent version numbers, call DescribeAgentVersions. AgentVersion cannot be set to Chef 12.2.", + "Os": "The instance's operating system, which must be set to one of the following. A supported Linux operating system: An Amazon Linux version, such as Amazon Linux 2018.03, Amazon Linux 2017.09, Amazon Linux 2017.03, Amazon Linux 2016.09, Amazon Linux 2016.03, Amazon Linux 2015.09, or Amazon Linux 2015.03. A supported Ubuntu operating system, such as Ubuntu 16.04 LTS, Ubuntu 14.04 LTS, or Ubuntu 12.04 LTS. CentOS Linux 7 Red Hat Enterprise Linux 7 A supported Windows operating system, such as Microsoft Windows Server 2012 R2 Base, Microsoft Windows Server 2012 R2 with SQL Server Express, Microsoft Windows Server 2012 R2 with SQL Server Standard, or Microsoft Windows Server 2012 R2 with SQL Server Web. A custom AMI: Custom. For more information about the supported operating systems, see AWS OpsWorks Stacks Operating Systems. The default option is the current Amazon Linux version. If you set this parameter to Custom, you must use the CreateInstance action's AmiId parameter to specify the custom AMI that you want to use. Block device mappings are not supported if the value is Custom. For more information about supported operating systems, see Operating SystemsFor more information about how to use custom AMIs with AWS OpsWorks Stacks, see Using Custom AMIs.", + "SshKeyName": "The instance's Amazon EC2 key-pair name.", + "AutoScalingType": "For load-based or time-based instances, the type. Windows stacks can use only time-based instances.", + "SubnetId": "The ID of the instance's subnet. If the stack is running in a VPC, you can use this parameter to override the stack's default subnet ID value and direct AWS OpsWorks Stacks to launch the instance in a different subnet.", + "Hostname": "The instance host name.", + "AvailabilityZone": "The instance Availability Zone. For more information, see Regions and Endpoints.", + "AmiId": "A custom AMI ID to be used to create the instance. The AMI should be based on one of the supported operating systems. For more information, see Using Custom AMIs. If you specify a custom AMI, you must set Os to Custom. ", + "VirtualizationType": "The instance's virtualization type, paravirtual or hvm.", + "EbsOptimized": "Whether to create an Amazon EBS-optimized instance.", + "RootDeviceType": "The instance root device type. For more information, see Storage for the Root Device." +} +""" +CreateInstance(args) = opsworks("CreateInstance", args) + +""" + AssignInstance() + +Assign a registered instance to a layer. You can assign registered on-premises instances to any layer type. You can assign registered Amazon EC2 instances only to custom layers. You cannot use this action with instances that were created with AWS OpsWorks Stacks. Required Permissions: To use this action, an AWS Identity and Access Management (IAM) user must have a Manage permissions level for the stack or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions. + +Required Parameters +{ + "InstanceId": "The instance ID.", + "LayerIds": "The layer ID, which must correspond to a custom layer. You cannot assign a registered instance to a built-in layer." +} +""" +AssignInstance(args) = opsworks("AssignInstance", args) + +""" + CreateDeployment() + +Runs deployment or stack commands. For more information, see Deploying Apps and Run Stack Commands. Required Permissions: To use this action, an IAM user must have a Deploy or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions. + +Required Parameters +{ + "Command": "A DeploymentCommand object that specifies the deployment command and any associated arguments.", + "StackId": "The stack ID." +} + +Optional Parameters +{ + "InstanceIds": "The instance IDs for the deployment targets.", + "Comment": "A user-defined comment.", + "AppId": "The app ID. This parameter is required for app deployments, but not for other deployment commands.", + "LayerIds": "The layer IDs for the deployment targets.", + "CustomJson": "A string that contains user-defined, custom JSON. You can use this parameter to override some corresponding default stack configuration JSON values. The string should be in the following format: \"{ \"key1 \": \"value1 \", \"key2 \": \"value2 \",...}\" For more information about custom JSON, see Use Custom JSON to Modify the Stack Configuration Attributes and Overriding Attributes With Custom JSON." +} +""" +CreateDeployment(args) = opsworks("CreateDeployment", args) + +""" + DescribeCommands() + +Describes the results of specified commands. This call accepts only one resource-identifying parameter. Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information about user permissions, see Managing User Permissions. + +Optional Parameters +{ + "InstanceId": "The instance ID. If you include this parameter, DescribeCommands returns a description of the commands associated with the specified instance.", + "DeploymentId": "The deployment ID. If you include this parameter, DescribeCommands returns a description of the commands associated with the specified deployment.", + "CommandIds": "An array of command IDs. If you include this parameter, DescribeCommands returns a description of the specified commands. Otherwise, it returns a description of every command." +} +""" +DescribeCommands() = opsworks("DescribeCommands") +DescribeCommands(args) = opsworks("DescribeCommands", args) + +""" + DeleteUserProfile() + +Deletes a user profile. Required Permissions: To use this action, an IAM user must have an attached policy that explicitly grants permissions. For more information about user permissions, see Managing User Permissions. + +Required Parameters +{ + "IamUserArn": "The user's IAM ARN. This can also be a federated user's ARN." +} +""" +DeleteUserProfile(args) = opsworks("DeleteUserProfile", args) + +""" + DescribeRdsDbInstances() + +Describes Amazon RDS instances. Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information about user permissions, see Managing User Permissions. This call accepts only one resource-identifying parameter. + +Required Parameters +{ + "StackId": "The ID of the stack with which the instances are registered. The operation returns descriptions of all registered Amazon RDS instances." +} + +Optional Parameters +{ + "RdsDbInstanceArns": "An array containing the ARNs of the instances to be described." +} +""" +DescribeRdsDbInstances(args) = opsworks("DescribeRdsDbInstances", args) + +""" + RebootInstance() + +Reboots a specified instance. For more information, see Starting, Stopping, and Rebooting Instances. Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions. + +Required Parameters +{ + "InstanceId": "The instance ID." +} +""" +RebootInstance(args) = opsworks("RebootInstance", args) + +""" + UnassignVolume() + +Unassigns an assigned Amazon EBS volume. The volume remains registered with the stack. For more information, see Resource Management. Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions. + +Required Parameters +{ + "VolumeId": "The volume ID." +} +""" +UnassignVolume(args) = opsworks("UnassignVolume", args) + +""" + DescribeEcsClusters() + +Describes Amazon ECS clusters that are registered with a stack. If you specify only a stack ID, you can use the MaxResults and NextToken parameters to paginate the response. However, AWS OpsWorks Stacks currently supports only one cluster per layer, so the result set has a maximum of one element. Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack or an attached policy that explicitly grants permission. For more information about user permissions, see Managing User Permissions. This call accepts only one resource-identifying parameter. + +Optional Parameters +{ + "MaxResults": "To receive a paginated response, use this parameter to specify the maximum number of results to be returned with a single call. If the number of available results exceeds this maximum, the response includes a NextToken value that you can assign to the NextToken request parameter to get the next set of results.", + "StackId": "A stack ID. DescribeEcsClusters returns a description of the cluster that is registered with the stack.", + "NextToken": "If the previous paginated request did not return all of the remaining results, the response object'sNextToken parameter value is set to a token. To retrieve the next set of results, call DescribeEcsClusters again and assign that token to the request object's NextToken parameter. If there are no remaining results, the previous response object's NextToken parameter is set to null.", + "EcsClusterArns": "A list of ARNs, one for each cluster to be described." +} +""" +DescribeEcsClusters() = opsworks("DescribeEcsClusters") +DescribeEcsClusters(args) = opsworks("DescribeEcsClusters", args) + +""" + UntagResource() + +Removes tags from a specified stack or layer. + +Required Parameters +{ + "ResourceArn": "The stack or layer's Amazon Resource Number (ARN).", + "TagKeys": "A list of the keys of tags to be removed from a stack or layer." +} +""" +UntagResource(args) = opsworks("UntagResource", args) + +""" + DeregisterVolume() + +Deregisters an Amazon EBS volume. The volume can then be registered by another stack. For more information, see Resource Management. Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions. + +Required Parameters +{ + "VolumeId": "The AWS OpsWorks Stacks volume ID, which is the GUID that AWS OpsWorks Stacks assigned to the instance when you registered the volume with the stack, not the Amazon EC2 volume ID." +} +""" +DeregisterVolume(args) = opsworks("DeregisterVolume", args) + +""" + DeregisterElasticIp() + +Deregisters a specified Elastic IP address. The address can then be registered by another stack. For more information, see Resource Management. Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions. + +Required Parameters +{ + "ElasticIp": "The Elastic IP address." +} +""" +DeregisterElasticIp(args) = opsworks("DeregisterElasticIp", args) + +""" + DescribeUserProfiles() + +Describe specified users. Required Permissions: To use this action, an IAM user must have an attached policy that explicitly grants permissions. For more information about user permissions, see Managing User Permissions. + +Optional Parameters +{ + "IamUserArns": "An array of IAM or federated user ARNs that identify the users to be described." +} +""" +DescribeUserProfiles() = opsworks("DescribeUserProfiles") +DescribeUserProfiles(args) = opsworks("DescribeUserProfiles", args) + +""" + DescribeStackProvisioningParameters() + +Requests a description of a stack's provisioning parameters. Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack or an attached policy that explicitly grants permissions. For more information about user permissions, see Managing User Permissions. + +Required Parameters +{ + "StackId": "The stack ID." +} +""" +DescribeStackProvisioningParameters(args) = opsworks("DescribeStackProvisioningParameters", args) + +""" + DescribeMyUserProfile() + +Describes a user's SSH information. Required Permissions: To use this action, an IAM user must have self-management enabled or an attached policy that explicitly grants permissions. For more information about user permissions, see Managing User Permissions. +""" +DescribeMyUserProfile() = opsworks("DescribeMyUserProfile") +DescribeMyUserProfile(args) = opsworks("DescribeMyUserProfile", args) + +""" + RegisterEcsCluster() + +Registers a specified Amazon ECS cluster with a stack. You can register only one cluster with a stack. A cluster can be registered with only one stack. For more information, see Resource Management. Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions. + +Required Parameters +{ + "StackId": "The stack ID.", + "EcsClusterArn": "The cluster's ARN." +} +""" +RegisterEcsCluster(args) = opsworks("RegisterEcsCluster", args) + +""" + DescribeTimeBasedAutoScaling() + +Describes time-based auto scaling configurations for specified instances. You must specify at least one of the parameters. Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information about user permissions, see Managing User Permissions. + +Required Parameters +{ + "InstanceIds": "An array of instance IDs." +} +""" +DescribeTimeBasedAutoScaling(args) = opsworks("DescribeTimeBasedAutoScaling", args) + +""" + DetachElasticLoadBalancer() + +Detaches a specified Elastic Load Balancing instance from its layer. Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions. + +Required Parameters +{ + "LayerId": "The ID of the layer that the Elastic Load Balancing instance is attached to.", + "ElasticLoadBalancerName": "The Elastic Load Balancing instance's name." +} +""" +DetachElasticLoadBalancer(args) = opsworks("DetachElasticLoadBalancer", args) + +""" + AttachElasticLoadBalancer() + +Attaches an Elastic Load Balancing load balancer to a specified layer. AWS OpsWorks Stacks does not support Application Load Balancer. You can only use Classic Load Balancer with AWS OpsWorks Stacks. For more information, see Elastic Load Balancing. You must create the Elastic Load Balancing instance separately, by using the Elastic Load Balancing console, API, or CLI. For more information, see Elastic Load Balancing Developer Guide. Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions. + +Required Parameters +{ + "LayerId": "The ID of the layer to which the Elastic Load Balancing instance is to be attached.", + "ElasticLoadBalancerName": "The Elastic Load Balancing instance's name." +} +""" +AttachElasticLoadBalancer(args) = opsworks("AttachElasticLoadBalancer", args) + +""" + UpdateMyUserProfile() + +Updates a user's SSH public key. Required Permissions: To use this action, an IAM user must have self-management enabled or an attached policy that explicitly grants permissions. For more information about user permissions, see Managing User Permissions. + +Optional Parameters +{ + "SshPublicKey": "The user's SSH public key." +} +""" +UpdateMyUserProfile() = opsworks("UpdateMyUserProfile") +UpdateMyUserProfile(args) = opsworks("UpdateMyUserProfile", args) + +""" + UpdateInstance() + +Updates a specified instance. Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions. + +Required Parameters +{ + "InstanceId": "The instance ID." +} + +Optional Parameters +{ + "InstallUpdatesOnBoot": "Whether to install operating system and package updates when the instance boots. The default value is true. To control when updates are installed, set this value to false. You must then update your instances manually by using CreateDeployment to run the update_dependencies stack command or by manually running yum (Amazon Linux) or apt-get (Ubuntu) on the instances. We strongly recommend using the default value of true, to ensure that your instances have the latest security updates. ", + "Architecture": "The instance architecture. Instance types do not necessarily support both architectures. For a list of the architectures that are supported by the different instance types, see Instance Families and Types.", + "AgentVersion": "The default AWS OpsWorks Stacks agent version. You have the following options: INHERIT - Use the stack's default agent version setting. version_number - Use the specified agent version. This value overrides the stack's default setting. To update the agent version, you must edit the instance configuration and specify a new version. AWS OpsWorks Stacks then automatically installs that version on the instance. The default setting is INHERIT. To specify an agent version, you must use the complete version number, not the abbreviated number shown on the console. For a list of available agent version numbers, call DescribeAgentVersions. AgentVersion cannot be set to Chef 12.2.", + "LayerIds": "The instance's layer IDs.", + "InstanceType": "The instance type, such as t2.micro. For a list of supported instance types, open the stack in the console, choose Instances, and choose + Instance. The Size list contains the currently supported types. For more information, see Instance Families and Types. The parameter values that you use to specify the various types are in the API Name column of the Available Instance Types table.", + "Os": "The instance's operating system, which must be set to one of the following. You cannot update an instance that is using a custom AMI. A supported Linux operating system: An Amazon Linux version, such as Amazon Linux 2018.03, Amazon Linux 2017.09, Amazon Linux 2017.03, Amazon Linux 2016.09, Amazon Linux 2016.03, Amazon Linux 2015.09, or Amazon Linux 2015.03. A supported Ubuntu operating system, such as Ubuntu 16.04 LTS, Ubuntu 14.04 LTS, or Ubuntu 12.04 LTS. CentOS Linux 7 Red Hat Enterprise Linux 7 A supported Windows operating system, such as Microsoft Windows Server 2012 R2 Base, Microsoft Windows Server 2012 R2 with SQL Server Express, Microsoft Windows Server 2012 R2 with SQL Server Standard, or Microsoft Windows Server 2012 R2 with SQL Server Web. For more information about supported operating systems, see AWS OpsWorks Stacks Operating Systems. The default option is the current Amazon Linux version. If you set this parameter to Custom, you must use the AmiId parameter to specify the custom AMI that you want to use. For more information about supported operating systems, see Operating Systems. For more information about how to use custom AMIs with OpsWorks, see Using Custom AMIs. You can specify a different Linux operating system for the updated stack, but you cannot change from Linux to Windows or Windows to Linux. ", + "SshKeyName": "The instance's Amazon EC2 key name.", + "AutoScalingType": "For load-based or time-based instances, the type. Windows stacks can use only time-based instances.", + "Hostname": "The instance host name.", + "AmiId": "The ID of the AMI that was used to create the instance. The value of this parameter must be the same AMI ID that the instance is already using. You cannot apply a new AMI to an instance by running UpdateInstance. UpdateInstance does not work on instances that are using custom AMIs. ", + "EbsOptimized": "This property cannot be updated." +} +""" +UpdateInstance(args) = opsworks("UpdateInstance", args) + +""" + DeleteLayer() + +Deletes a specified layer. You must first stop and then delete all associated instances or unassign registered instances. For more information, see How to Delete a Layer. Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions. + +Required Parameters +{ + "LayerId": "The layer ID." +} +""" +DeleteLayer(args) = opsworks("DeleteLayer", args) + +""" + DescribeInstances() + +Requests a description of a set of instances. This call accepts only one resource-identifying parameter. Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information about user permissions, see Managing User Permissions. + +Optional Parameters +{ + "InstanceIds": "An array of instance IDs to be described. If you use this parameter, DescribeInstances returns a description of the specified instances. Otherwise, it returns a description of every instance.", + "LayerId": "A layer ID. If you use this parameter, DescribeInstances returns descriptions of the instances associated with the specified layer.", + "StackId": "A stack ID. If you use this parameter, DescribeInstances returns descriptions of the instances associated with the specified stack." +} +""" +DescribeInstances() = opsworks("DescribeInstances") +DescribeInstances(args) = opsworks("DescribeInstances", args) + +""" + DescribeServiceErrors() + +Describes AWS OpsWorks Stacks service errors. Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information about user permissions, see Managing User Permissions. This call accepts only one resource-identifying parameter. + +Optional Parameters +{ + "StackId": "The stack ID. If you use this parameter, DescribeServiceErrors returns descriptions of the errors associated with the specified stack.", + "InstanceId": "The instance ID. If you use this parameter, DescribeServiceErrors returns descriptions of the errors associated with the specified instance.", + "ServiceErrorIds": "An array of service error IDs. If you use this parameter, DescribeServiceErrors returns descriptions of the specified errors. Otherwise, it returns a description of every error." +} +""" +DescribeServiceErrors() = opsworks("DescribeServiceErrors") +DescribeServiceErrors(args) = opsworks("DescribeServiceErrors", args) + +""" + UpdateApp() + +Updates a specified app. Required Permissions: To use this action, an IAM user must have a Deploy or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions. + +Required Parameters +{ + "AppId": "The app ID." +} + +Optional Parameters +{ + "Environment": "An array of EnvironmentVariable objects that specify environment variables to be associated with the app. After you deploy the app, these variables are defined on the associated app server instances.For more information, see Environment Variables. There is no specific limit on the number of environment variables. However, the size of the associated data structure - which includes the variables' names, values, and protected flag values - cannot exceed 20 KB. This limit should accommodate most if not all use cases. Exceeding it will cause an exception with the message, \"Environment: is too large (maximum is 20 KB).\" If you have specified one or more environment variables, you cannot modify the stack's Chef version. ", + "DataSources": "The app's data sources.", + "EnableSsl": "Whether SSL is enabled for the app.", + "Description": "A description of the app.", + "AppSource": "A Source object that specifies the app repository.", + "Attributes": "One or more user-defined key/value pairs to be added to the stack attributes.", + "Type": "The app type.", + "Domains": "The app's virtual host settings, with multiple domains separated by commas. For example: 'www.example.com, example.com' ", + "Name": "The app name.", + "SslConfiguration": "An SslConfiguration object with the SSL configuration." +} +""" +UpdateApp(args) = opsworks("UpdateApp", args) + +""" + UpdateLayer() + +Updates a specified layer. Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions. + +Required Parameters +{ + "LayerId": "The layer ID." +} + +Optional Parameters +{ + "InstallUpdatesOnBoot": "Whether to install operating system and package updates when the instance boots. The default value is true. To control when updates are installed, set this value to false. You must then update your instances manually by using CreateDeployment to run the update_dependencies stack command or manually running yum (Amazon Linux) or apt-get (Ubuntu) on the instances. We strongly recommend using the default value of true, to ensure that your instances have the latest security updates. ", + "Shortname": "For custom layers only, use this parameter to specify the layer's short name, which is used internally by AWS OpsWorks Stacks and by Chef. The short name is also used as the name for the directory where your app files are installed. It can have a maximum of 200 characters and must be in the following format: / A[a-z0-9 - _ .]+ Z/. The built-in layers' short names are defined by AWS OpsWorks Stacks. For more information, see the Layer Reference ", + "CustomJson": "A JSON-formatted string containing custom stack configuration and deployment attributes to be installed on the layer's instances. For more information, see Using Custom JSON. ", + "CustomRecipes": "A LayerCustomRecipes object that specifies the layer's custom recipes.", + "VolumeConfigurations": "A VolumeConfigurations object that describes the layer's Amazon EBS volumes.", + "AutoAssignElasticIps": "Whether to automatically assign an Elastic IP address to the layer's instances. For more information, see How to Edit a Layer.", + "UseEbsOptimizedInstances": "Whether to use Amazon EBS-optimized instances.", + "Name": "The layer name, which is used by the console.", + "EnableAutoHealing": "Whether to disable auto healing for the layer.", + "CustomSecurityGroupIds": "An array containing the layer's custom security group IDs.", + "CustomInstanceProfileArn": "The ARN of an IAM profile to be used for all of the layer's EC2 instances. For more information about IAM ARNs, see Using Identifiers.", + "Attributes": "One or more user-defined key/value pairs to be added to the stack attributes.", + "AutoAssignPublicIps": "For stacks that are running in a VPC, whether to automatically assign a public IP address to the layer's instances. For more information, see How to Edit a Layer.", + "LifecycleEventConfiguration": "", + "CloudWatchLogsConfiguration": "Specifies CloudWatch Logs configuration options for the layer. For more information, see CloudWatchLogsLogStream.", + "Packages": "An array of Package objects that describe the layer's packages." +} +""" +UpdateLayer(args) = opsworks("UpdateLayer", args) + +""" + RegisterVolume() + +Registers an Amazon EBS volume with a specified stack. A volume can be registered with only one stack at a time. If the volume is already registered, you must first deregister it by calling DeregisterVolume. For more information, see Resource Management. Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions. + +Required Parameters +{ + "StackId": "The stack ID." +} + +Optional Parameters +{ + "Ec2VolumeId": "The Amazon EBS volume ID." +} +""" +RegisterVolume(args) = opsworks("RegisterVolume", args) + +""" + UpdateUserProfile() + +Updates a specified user profile. Required Permissions: To use this action, an IAM user must have an attached policy that explicitly grants permissions. For more information about user permissions, see Managing User Permissions. + +Required Parameters +{ + "IamUserArn": "The user IAM ARN. This can also be a federated user's ARN." +} + +Optional Parameters +{ + "AllowSelfManagement": "Whether users can specify their own SSH public key through the My Settings page. For more information, see Managing User Permissions.", + "SshPublicKey": "The user's new SSH public key.", + "SshUsername": "The user's SSH user name. The allowable characters are [a-z], [A-Z], [0-9], '-', and '_'. If the specified name includes other punctuation marks, AWS OpsWorks Stacks removes them. For example, my.name will be changed to myname. If you do not specify an SSH user name, AWS OpsWorks Stacks generates one from the IAM user name. " +} +""" +UpdateUserProfile(args) = opsworks("UpdateUserProfile", args) + +""" + DeregisterInstance() + +Deregister a registered Amazon EC2 or on-premises instance. This action removes the instance from the stack and returns it to your control. This action cannot be used with instances that were created with AWS OpsWorks Stacks. Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions. + +Required Parameters +{ + "InstanceId": "The instance ID." +} +""" +DeregisterInstance(args) = opsworks("DeregisterInstance", args) + +""" + CreateLayer() + +Creates a layer. For more information, see How to Create a Layer. You should use CreateLayer for noncustom layer types such as PHP App Server only if the stack does not have an existing layer of that type. A stack can have at most one instance of each noncustom layer; if you attempt to create a second instance, CreateLayer fails. A stack can have an arbitrary number of custom layers, so you can call CreateLayer as many times as you like for that layer type. Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions. + +Required Parameters +{ + "StackId": "The layer stack ID.", + "Type": "The layer type. A stack cannot have more than one built-in layer of the same type. It can have any number of custom layers. Built-in layers are not available in Chef 12 stacks.", + "Shortname": "For custom layers only, use this parameter to specify the layer's short name, which is used internally by AWS OpsWorks Stacks and by Chef recipes. The short name is also used as the name for the directory where your app files are installed. It can have a maximum of 200 characters, which are limited to the alphanumeric characters, '-', '_', and '.'. The built-in layers' short names are defined by AWS OpsWorks Stacks. For more information, see the Layer Reference.", + "Name": "The layer name, which is used by the console." +} + +Optional Parameters +{ + "InstallUpdatesOnBoot": "Whether to install operating system and package updates when the instance boots. The default value is true. To control when updates are installed, set this value to false. You must then update your instances manually by using CreateDeployment to run the update_dependencies stack command or by manually running yum (Amazon Linux) or apt-get (Ubuntu) on the instances. To ensure that your instances have the latest security updates, we strongly recommend using the default value of true. ", + "CustomJson": "A JSON-formatted string containing custom stack configuration and deployment attributes to be installed on the layer's instances. For more information, see Using Custom JSON. This feature is supported as of version 1.7.42 of the AWS CLI. ", + "CustomRecipes": "A LayerCustomRecipes object that specifies the layer custom recipes.", + "VolumeConfigurations": "A VolumeConfigurations object that describes the layer's Amazon EBS volumes.", + "AutoAssignElasticIps": "Whether to automatically assign an Elastic IP address to the layer's instances. For more information, see How to Edit a Layer.", + "UseEbsOptimizedInstances": "Whether to use Amazon EBS-optimized instances.", + "EnableAutoHealing": "Whether to disable auto healing for the layer.", + "CustomSecurityGroupIds": "An array containing the layer custom security group IDs.", + "CustomInstanceProfileArn": "The ARN of an IAM profile to be used for the layer's EC2 instances. For more information about IAM ARNs, see Using Identifiers.", + "Attributes": "One or more user-defined key-value pairs to be added to the stack attributes. To create a cluster layer, set the EcsClusterArn attribute to the cluster's ARN.", + "AutoAssignPublicIps": "For stacks that are running in a VPC, whether to automatically assign a public IP address to the layer's instances. For more information, see How to Edit a Layer.", + "LifecycleEventConfiguration": "A LifeCycleEventConfiguration object that you can use to configure the Shutdown event to specify an execution timeout and enable or disable Elastic Load Balancer connection draining.", + "CloudWatchLogsConfiguration": "Specifies CloudWatch Logs configuration options for the layer. For more information, see CloudWatchLogsLogStream.", + "Packages": "An array of Package objects that describes the layer packages." +} +""" +CreateLayer(args) = opsworks("CreateLayer", args) + +""" + DescribeDeployments() + +Requests a description of a specified set of deployments. This call accepts only one resource-identifying parameter. Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information about user permissions, see Managing User Permissions. + +Optional Parameters +{ + "DeploymentIds": "An array of deployment IDs to be described. If you include this parameter, the command returns a description of the specified deployments. Otherwise, it returns a description of every deployment.", + "StackId": "The stack ID. If you include this parameter, the command returns a description of the commands associated with the specified stack.", + "AppId": "The app ID. If you include this parameter, the command returns a description of the commands associated with the specified app." +} +""" +DescribeDeployments() = opsworks("DescribeDeployments") +DescribeDeployments(args) = opsworks("DescribeDeployments", args) + +""" + UpdateVolume() + +Updates an Amazon EBS volume's name or mount point. For more information, see Resource Management. Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions. + +Required Parameters +{ + "VolumeId": "The volume ID." +} + +Optional Parameters +{ + "MountPoint": "The new mount point.", + "Name": "The new name." +} +""" +UpdateVolume(args) = opsworks("UpdateVolume", args) + +""" + DescribeLoadBasedAutoScaling() + +Describes load-based auto scaling configurations for specified layers. You must specify at least one of the parameters. Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information about user permissions, see Managing User Permissions. + +Required Parameters +{ + "LayerIds": "An array of layer IDs." +} +""" +DescribeLoadBasedAutoScaling(args) = opsworks("DescribeLoadBasedAutoScaling", args) + +""" + StartStack() + +Starts a stack's instances. Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions. + +Required Parameters +{ + "StackId": "The stack ID." +} +""" +StartStack(args) = opsworks("StartStack", args) + +""" + SetPermission() + +Specifies a user's permissions. For more information, see Security and Permissions. Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions. + +Required Parameters +{ + "StackId": "The stack ID.", + "IamUserArn": "The user's IAM ARN. This can also be a federated user's ARN." +} + +Optional Parameters +{ + "AllowSudo": "The user is allowed to use sudo to elevate privileges.", + "Level": "The user's permission level, which must be set to one of the following strings. You cannot set your own permissions level. deny show deploy manage iam_only For more information about the permissions associated with these levels, see Managing User Permissions.", + "AllowSsh": "The user is allowed to use SSH to communicate with the instance." +} +""" +SetPermission(args) = opsworks("SetPermission", args) + +""" + DeregisterRdsDbInstance() + +Deregisters an Amazon RDS instance. Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions. + +Required Parameters +{ + "RdsDbInstanceArn": "The Amazon RDS instance's ARN." +} +""" +DeregisterRdsDbInstance(args) = opsworks("DeregisterRdsDbInstance", args) + +""" + DeregisterEcsCluster() + +Deregisters a specified Amazon ECS cluster from a stack. For more information, see Resource Management. Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack or an attached policy that explicitly grants permissions. For more information on user permissions, see https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html. + +Required Parameters +{ + "EcsClusterArn": "The cluster's Amazon Resource Number (ARN)." +} +""" +DeregisterEcsCluster(args) = opsworks("DeregisterEcsCluster", args) + +""" + StopInstance() + +Stops a specified instance. When you stop a standard instance, the data disappears and must be reinstalled when you restart the instance. You can stop an Amazon EBS-backed instance without losing data. For more information, see Starting, Stopping, and Rebooting Instances. Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions. + +Required Parameters +{ + "InstanceId": "The instance ID." +} + +Optional Parameters +{ + "Force": "Specifies whether to force an instance to stop. If the instance's root device type is ebs, or EBS-backed, adding the Force parameter to the StopInstances API call disassociates the AWS OpsWorks Stacks instance from EC2, and forces deletion of only the OpsWorks Stacks instance. You must also delete the formerly-associated instance in EC2 after troubleshooting and replacing the AWS OpsWorks Stacks instance with a new one." +} +""" +StopInstance(args) = opsworks("StopInstance", args) + +""" + DeleteInstance() + +Deletes a specified instance, which terminates the associated Amazon EC2 instance. You must stop an instance before you can delete it. For more information, see Deleting Instances. Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions. + +Required Parameters +{ + "InstanceId": "The instance ID." +} + +Optional Parameters +{ + "DeleteVolumes": "Whether to delete the instance's Amazon EBS volumes.", + "DeleteElasticIp": "Whether to delete the instance Elastic IP address." +} +""" +DeleteInstance(args) = opsworks("DeleteInstance", args) + +""" + AssociateElasticIp() + +Associates one of the stack's registered Elastic IP addresses with a specified instance. The address must first be registered with the stack by calling RegisterElasticIp. For more information, see Resource Management. Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions. + +Required Parameters +{ + "ElasticIp": "The Elastic IP address." +} + +Optional Parameters +{ + "InstanceId": "The instance ID." +} +""" +AssociateElasticIp(args) = opsworks("AssociateElasticIp", args) + +""" + DescribeApps() + +Requests a description of a specified set of apps. This call accepts only one resource-identifying parameter. Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information about user permissions, see Managing User Permissions. + +Optional Parameters +{ + "StackId": "The app stack ID. If you use this parameter, DescribeApps returns a description of the apps in the specified stack.", + "AppIds": "An array of app IDs for the apps to be described. If you use this parameter, DescribeApps returns a description of the specified apps. Otherwise, it returns a description of every app." +} +""" +DescribeApps() = opsworks("DescribeApps") +DescribeApps(args) = opsworks("DescribeApps", args) + +""" + DescribeOperatingSystems() + +Describes the operating systems that are supported by AWS OpsWorks Stacks. +""" +DescribeOperatingSystems() = opsworks("DescribeOperatingSystems") +DescribeOperatingSystems(args) = opsworks("DescribeOperatingSystems", args) + +""" + GrantAccess() + + This action can be used only with Windows stacks. Grants RDP access to a Windows instance for a specified time period. + +Required Parameters +{ + "InstanceId": "The instance's AWS OpsWorks Stacks ID." +} + +Optional Parameters +{ + "ValidForInMinutes": "The length of time (in minutes) that the grant is valid. When the grant expires at the end of this period, the user will no longer be able to use the credentials to log in. If the user is logged in at the time, he or she automatically will be logged out." +} +""" +GrantAccess(args) = opsworks("GrantAccess", args) + +""" + CreateStack() + +Creates a new stack. For more information, see Create a New Stack. Required Permissions: To use this action, an IAM user must have an attached policy that explicitly grants permissions. For more information about user permissions, see Managing User Permissions. + +Required Parameters +{ + "ServiceRoleArn": "The stack's AWS Identity and Access Management (IAM) role, which allows AWS OpsWorks Stacks to work with AWS resources on your behalf. You must set this parameter to the Amazon Resource Name (ARN) for an existing IAM role. For more information about IAM ARNs, see Using Identifiers.", + "DefaultInstanceProfileArn": "The Amazon Resource Name (ARN) of an IAM profile that is the default profile for all of the stack's EC2 instances. For more information about IAM ARNs, see Using Identifiers.", + "Name": "The stack name.", + "Region": "The stack's AWS region, such as ap-south-1. For more information about Amazon regions, see Regions and Endpoints. In the AWS CLI, this API maps to the --stack-region parameter. If the --stack-region parameter and the AWS CLI common parameter --region are set to the same value, the stack uses a regional endpoint. If the --stack-region parameter is not set, but the AWS CLI --region parameter is, this also results in a stack with a regional endpoint. However, if the --region parameter is set to us-east-1, and the --stack-region parameter is set to one of the following, then the stack uses a legacy or classic region: us-west-1, us-west-2, sa-east-1, eu-central-1, eu-west-1, ap-northeast-1, ap-southeast-1, ap-southeast-2. In this case, the actual API endpoint of the stack is in us-east-1. Only the preceding regions are supported as classic regions in the us-east-1 API endpoint. Because it is a best practice to choose the regional endpoint that is closest to where you manage AWS, we recommend that you use regional endpoints for new stacks. The AWS CLI common --region parameter always specifies a regional API endpoint; it cannot be used to specify a classic AWS OpsWorks Stacks region. " +} + +Optional Parameters +{ + "DefaultRootDeviceType": "The default root device type. This value is the default for all instances in the stack, but you can override it when you create an instance. The default option is instance-store. For more information, see Storage for the Root Device.", + "ChefConfiguration": "A ChefConfiguration object that specifies whether to enable Berkshelf and the Berkshelf version on Chef 11.10 stacks. For more information, see Create a New Stack.", + "AgentVersion": "The default AWS OpsWorks Stacks agent version. You have the following options: Auto-update - Set this parameter to LATEST. AWS OpsWorks Stacks automatically installs new agent versions on the stack's instances as soon as they are available. Fixed version - Set this parameter to your preferred agent version. To update the agent version, you must edit the stack configuration and specify a new version. AWS OpsWorks Stacks then automatically installs that version on the stack's instances. The default setting is the most recent release of the agent. To specify an agent version, you must use the complete version number, not the abbreviated number shown on the console. For a list of available agent version numbers, call DescribeAgentVersions. AgentVersion cannot be set to Chef 12.2. You can also specify an agent version when you create or update an instance, which overrides the stack's default setting. ", + "CustomJson": "A string that contains user-defined, custom JSON. It can be used to override the corresponding default stack configuration attribute values or to pass data to recipes. The string should be in the following format: \"{ \"key1 \": \"value1 \", \"key2 \": \"value2 \",...}\" For more information about custom JSON, see Use Custom JSON to Modify the Stack Configuration Attributes.", + "DefaultAvailabilityZone": "The stack's default Availability Zone, which must be in the specified region. For more information, see Regions and Endpoints. If you also specify a value for DefaultSubnetId, the subnet must be in the same zone. For more information, see the VpcId parameter description. ", + "DefaultOs": "The stack's default operating system, which is installed on every instance unless you specify a different operating system when you create the instance. You can specify one of the following. A supported Linux operating system: An Amazon Linux version, such as Amazon Linux 2018.03, Amazon Linux 2017.09, Amazon Linux 2017.03, Amazon Linux 2016.09, Amazon Linux 2016.03, Amazon Linux 2015.09, or Amazon Linux 2015.03. A supported Ubuntu operating system, such as Ubuntu 16.04 LTS, Ubuntu 14.04 LTS, or Ubuntu 12.04 LTS. CentOS Linux 7 Red Hat Enterprise Linux 7 A supported Windows operating system, such as Microsoft Windows Server 2012 R2 Base, Microsoft Windows Server 2012 R2 with SQL Server Express, Microsoft Windows Server 2012 R2 with SQL Server Standard, or Microsoft Windows Server 2012 R2 with SQL Server Web. A custom AMI: Custom. You specify the custom AMI you want to use when you create instances. For more information, see Using Custom AMIs. The default option is the current Amazon Linux version. For more information about supported operating systems, see AWS OpsWorks Stacks Operating Systems.", + "VpcId": "The ID of the VPC that the stack is to be launched into. The VPC must be in the stack's region. All instances are launched into this VPC. You cannot change the ID later. If your account supports EC2-Classic, the default value is no VPC. If your account does not support EC2-Classic, the default value is the default VPC for the specified region. If the VPC ID corresponds to a default VPC and you have specified either the DefaultAvailabilityZone or the DefaultSubnetId parameter only, AWS OpsWorks Stacks infers the value of the other parameter. If you specify neither parameter, AWS OpsWorks Stacks sets these parameters to the first valid Availability Zone for the specified region and the corresponding default VPC subnet ID, respectively. If you specify a nondefault VPC ID, note the following: It must belong to a VPC in your account that is in the specified region. You must specify a value for DefaultSubnetId. For more information about how to use AWS OpsWorks Stacks with a VPC, see Running a Stack in a VPC. For more information about default VPC and EC2-Classic, see Supported Platforms. ", + "HostnameTheme": "The stack's host name theme, with spaces replaced by underscores. The theme is used to generate host names for the stack's instances. By default, HostnameTheme is set to Layer_Dependent, which creates host names by appending integers to the layer's short name. The other themes are: Baked_Goods Clouds Europe_Cities Fruits Greek_Deities_and_Titans Legendary_creatures_from_Japan Planets_and_Moons Roman_Deities Scottish_Islands US_Cities Wild_Cats To obtain a generated host name, call GetHostNameSuggestion, which returns a host name based on the current theme.", + "UseOpsworksSecurityGroups": "Whether to associate the AWS OpsWorks Stacks built-in security groups with the stack's layers. AWS OpsWorks Stacks provides a standard set of built-in security groups, one for each layer, which are associated with layers by default. With UseOpsworksSecurityGroups you can instead provide your own custom security groups. UseOpsworksSecurityGroups has the following settings: True - AWS OpsWorks Stacks automatically associates the appropriate built-in security group with each layer (default setting). You can associate additional security groups with a layer after you create it, but you cannot delete the built-in security group. False - AWS OpsWorks Stacks does not associate built-in security groups with layers. You must create appropriate EC2 security groups and associate a security group with each layer that you create. However, you can still manually associate a built-in security group with a layer on creation; custom security groups are required only for those layers that need custom settings. For more information, see Create a New Stack.", + "CustomCookbooksSource": "Contains the information required to retrieve an app or cookbook from a repository. For more information, see Adding Apps or Cookbooks and Recipes.", + "ConfigurationManager": "The configuration manager. When you create a stack we recommend that you use the configuration manager to specify the Chef version: 12, 11.10, or 11.4 for Linux stacks, or 12.2 for Windows stacks. The default value for Linux stacks is currently 12.", + "Attributes": "One or more user-defined key-value pairs to be added to the stack attributes.", + "DefaultSubnetId": "The stack's default VPC subnet ID. This parameter is required if you specify a value for the VpcId parameter. All instances are launched into this subnet unless you specify otherwise when you create the instance. If you also specify a value for DefaultAvailabilityZone, the subnet must be in that zone. For information on default values and when this parameter is required, see the VpcId parameter description. ", + "DefaultSshKeyName": "A default Amazon EC2 key pair name. The default value is none. If you specify a key pair name, AWS OpsWorks installs the public key on the instance and you can use the private key with an SSH client to log in to the instance. For more information, see Using SSH to Communicate with an Instance and Managing SSH Access. You can override this setting by specifying a different key pair, or no key pair, when you create an instance. ", + "UseCustomCookbooks": "Whether the stack uses custom cookbooks." +} +""" +CreateStack(args) = opsworks("CreateStack", args) + +""" + UpdateRdsDbInstance() + +Updates an Amazon RDS instance. Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions. + +Required Parameters +{ + "RdsDbInstanceArn": "The Amazon RDS instance's ARN." +} + +Optional Parameters +{ + "DbUser": "The master user name.", + "DbPassword": "The database password." +} +""" +UpdateRdsDbInstance(args) = opsworks("UpdateRdsDbInstance", args) + +""" + UpdateStack() + +Updates a specified stack. Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions. + +Required Parameters +{ + "StackId": "The stack ID." +} + +Optional Parameters +{ + "DefaultRootDeviceType": "The default root device type. This value is used by default for all instances in the stack, but you can override it when you create an instance. For more information, see Storage for the Root Device.", + "ChefConfiguration": "A ChefConfiguration object that specifies whether to enable Berkshelf and the Berkshelf version on Chef 11.10 stacks. For more information, see Create a New Stack.", + "AgentVersion": "The default AWS OpsWorks Stacks agent version. You have the following options: Auto-update - Set this parameter to LATEST. AWS OpsWorks Stacks automatically installs new agent versions on the stack's instances as soon as they are available. Fixed version - Set this parameter to your preferred agent version. To update the agent version, you must edit the stack configuration and specify a new version. AWS OpsWorks Stacks then automatically installs that version on the stack's instances. The default setting is LATEST. To specify an agent version, you must use the complete version number, not the abbreviated number shown on the console. For a list of available agent version numbers, call DescribeAgentVersions. AgentVersion cannot be set to Chef 12.2. You can also specify an agent version when you create or update an instance, which overrides the stack's default setting. ", + "CustomJson": "A string that contains user-defined, custom JSON. It can be used to override the corresponding default stack configuration JSON values or to pass data to recipes. The string should be in the following format: \"{ \"key1 \": \"value1 \", \"key2 \": \"value2 \",...}\" For more information about custom JSON, see Use Custom JSON to Modify the Stack Configuration Attributes.", + "DefaultInstanceProfileArn": "The ARN of an IAM profile that is the default profile for all of the stack's EC2 instances. For more information about IAM ARNs, see Using Identifiers.", + "DefaultAvailabilityZone": "The stack's default Availability Zone, which must be in the stack's region. For more information, see Regions and Endpoints. If you also specify a value for DefaultSubnetId, the subnet must be in the same zone. For more information, see CreateStack. ", + "DefaultOs": "The stack's operating system, which must be set to one of the following: A supported Linux operating system: An Amazon Linux version, such as Amazon Linux 2018.03, Amazon Linux 2017.09, Amazon Linux 2017.03, Amazon Linux 2016.09, Amazon Linux 2016.03, Amazon Linux 2015.09, or Amazon Linux 2015.03. A supported Ubuntu operating system, such as Ubuntu 16.04 LTS, Ubuntu 14.04 LTS, or Ubuntu 12.04 LTS. CentOS Linux 7 Red Hat Enterprise Linux 7 A supported Windows operating system, such as Microsoft Windows Server 2012 R2 Base, Microsoft Windows Server 2012 R2 with SQL Server Express, Microsoft Windows Server 2012 R2 with SQL Server Standard, or Microsoft Windows Server 2012 R2 with SQL Server Web. A custom AMI: Custom. You specify the custom AMI you want to use when you create instances. For more information about how to use custom AMIs with OpsWorks, see Using Custom AMIs. The default option is the stack's current operating system. For more information about supported operating systems, see AWS OpsWorks Stacks Operating Systems.", + "HostnameTheme": "The stack's new host name theme, with spaces replaced by underscores. The theme is used to generate host names for the stack's instances. By default, HostnameTheme is set to Layer_Dependent, which creates host names by appending integers to the layer's short name. The other themes are: Baked_Goods Clouds Europe_Cities Fruits Greek_Deities_and_Titans Legendary_creatures_from_Japan Planets_and_Moons Roman_Deities Scottish_Islands US_Cities Wild_Cats To obtain a generated host name, call GetHostNameSuggestion, which returns a host name based on the current theme.", + "ServiceRoleArn": "Do not use this parameter. You cannot update a stack's service role.", + "Name": "The stack's new name.", + "UseOpsworksSecurityGroups": "Whether to associate the AWS OpsWorks Stacks built-in security groups with the stack's layers. AWS OpsWorks Stacks provides a standard set of built-in security groups, one for each layer, which are associated with layers by default. UseOpsworksSecurityGroups allows you to provide your own custom security groups instead of using the built-in groups. UseOpsworksSecurityGroups has the following settings: True - AWS OpsWorks Stacks automatically associates the appropriate built-in security group with each layer (default setting). You can associate additional security groups with a layer after you create it, but you cannot delete the built-in security group. False - AWS OpsWorks Stacks does not associate built-in security groups with layers. You must create appropriate EC2 security groups and associate a security group with each layer that you create. However, you can still manually associate a built-in security group with a layer on. Custom security groups are required only for those layers that need custom settings. For more information, see Create a New Stack.", + "CustomCookbooksSource": "Contains the information required to retrieve an app or cookbook from a repository. For more information, see Adding Apps or Cookbooks and Recipes.", + "ConfigurationManager": "The configuration manager. When you update a stack, we recommend that you use the configuration manager to specify the Chef version: 12, 11.10, or 11.4 for Linux stacks, or 12.2 for Windows stacks. The default value for Linux stacks is currently 12.", + "Attributes": "One or more user-defined key-value pairs to be added to the stack attributes.", + "DefaultSubnetId": "The stack's default VPC subnet ID. This parameter is required if you specify a value for the VpcId parameter. All instances are launched into this subnet unless you specify otherwise when you create the instance. If you also specify a value for DefaultAvailabilityZone, the subnet must be in that zone. For information on default values and when this parameter is required, see the VpcId parameter description. ", + "DefaultSshKeyName": "A default Amazon EC2 key-pair name. The default value is none. If you specify a key-pair name, AWS OpsWorks Stacks installs the public key on the instance and you can use the private key with an SSH client to log in to the instance. For more information, see Using SSH to Communicate with an Instance and Managing SSH Access. You can override this setting by specifying a different key pair, or no key pair, when you create an instance. ", + "UseCustomCookbooks": "Whether the stack uses custom cookbooks." +} +""" +UpdateStack(args) = opsworks("UpdateStack", args) + +""" + GetHostnameSuggestion() + +Gets a generated host name for the specified layer, based on the current host name theme. Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions. + +Required Parameters +{ + "LayerId": "The layer ID." +} +""" +GetHostnameSuggestion(args) = opsworks("GetHostnameSuggestion", args) + +""" + AssignVolume() + +Assigns one of the stack's registered Amazon EBS volumes to a specified instance. The volume must first be registered with the stack by calling RegisterVolume. After you register the volume, you must call UpdateVolume to specify a mount point before calling AssignVolume. For more information, see Resource Management. Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions. + +Required Parameters +{ + "VolumeId": "The volume ID." +} + +Optional Parameters +{ + "InstanceId": "The instance ID." +} +""" +AssignVolume(args) = opsworks("AssignVolume", args) + +""" + DisassociateElasticIp() + +Disassociates an Elastic IP address from its instance. The address remains registered with the stack. For more information, see Resource Management. Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions. + +Required Parameters +{ + "ElasticIp": "The Elastic IP address." +} +""" +DisassociateElasticIp(args) = opsworks("DisassociateElasticIp", args) + +""" + CreateApp() + +Creates an app for a specified stack. For more information, see Creating Apps. Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions. + +Required Parameters +{ + "StackId": "The stack ID.", + "Type": "The app type. Each supported type is associated with a particular layer. For example, PHP applications are associated with a PHP layer. AWS OpsWorks Stacks deploys an application to those instances that are members of the corresponding layer. If your app isn't one of the standard types, or you prefer to implement your own Deploy recipes, specify other.", + "Name": "The app name." +} + +Optional Parameters +{ + "Environment": "An array of EnvironmentVariable objects that specify environment variables to be associated with the app. After you deploy the app, these variables are defined on the associated app server instance. For more information, see Environment Variables. There is no specific limit on the number of environment variables. However, the size of the associated data structure - which includes the variables' names, values, and protected flag values - cannot exceed 20 KB. This limit should accommodate most if not all use cases. Exceeding it will cause an exception with the message, \"Environment: is too large (maximum is 20KB).\" If you have specified one or more environment variables, you cannot modify the stack's Chef version. ", + "DataSources": "The app's data source.", + "EnableSsl": "Whether to enable SSL for the app.", + "Description": "A description of the app.", + "AppSource": "A Source object that specifies the app repository.", + "Attributes": "One or more user-defined key/value pairs to be added to the stack attributes.", + "Shortname": "The app's short name.", + "Domains": "The app virtual host settings, with multiple domains separated by commas. For example: 'www.example.com, example.com' ", + "SslConfiguration": "An SslConfiguration object with the SSL configuration." +} +""" +CreateApp(args) = opsworks("CreateApp", args) + +""" + ListTags() + +Returns a list of tags that are applied to the specified stack or layer. + +Required Parameters +{ + "ResourceArn": "The stack or layer's Amazon Resource Number (ARN)." +} + +Optional Parameters +{ + "MaxResults": "Do not use. A validation exception occurs if you add a MaxResults parameter to a ListTagsRequest call. ", + "NextToken": "Do not use. A validation exception occurs if you add a NextToken parameter to a ListTagsRequest call. " +} +""" +ListTags(args) = opsworks("ListTags", args) + +""" + DescribeRaidArrays() + +Describe an instance's RAID arrays. This call accepts only one resource-identifying parameter. Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information about user permissions, see Managing User Permissions. + +Optional Parameters +{ + "StackId": "The stack ID.", + "InstanceId": "The instance ID. If you use this parameter, DescribeRaidArrays returns descriptions of the RAID arrays associated with the specified instance. ", + "RaidArrayIds": "An array of RAID array IDs. If you use this parameter, DescribeRaidArrays returns descriptions of the specified arrays. Otherwise, it returns a description of every array." +} +""" +DescribeRaidArrays() = opsworks("DescribeRaidArrays") +DescribeRaidArrays(args) = opsworks("DescribeRaidArrays", args) + +""" + DescribeStackSummary() + +Describes the number of layers and apps in a specified stack, and the number of instances in each state, such as running_setup or online. Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information about user permissions, see Managing User Permissions. + +Required Parameters +{ + "StackId": "The stack ID." +} +""" +DescribeStackSummary(args) = opsworks("DescribeStackSummary", args) + +""" + DescribeAgentVersions() + +Describes the available AWS OpsWorks Stacks agent versions. You must specify a stack ID or a configuration manager. DescribeAgentVersions returns a list of available agent versions for the specified stack or configuration manager. + +Optional Parameters +{ + "ConfigurationManager": "The configuration manager.", + "StackId": "The stack ID." +} +""" +DescribeAgentVersions() = opsworks("DescribeAgentVersions") +DescribeAgentVersions(args) = opsworks("DescribeAgentVersions", args) + +""" + SetLoadBasedAutoScaling() + +Specify the load-based auto scaling configuration for a specified layer. For more information, see Managing Load with Time-based and Load-based Instances. To use load-based auto scaling, you must create a set of load-based auto scaling instances. Load-based auto scaling operates only on the instances from that set, so you must ensure that you have created enough instances to handle the maximum anticipated load. Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions. + +Required Parameters +{ + "LayerId": "The layer ID." +} + +Optional Parameters +{ + "Enable": "Enables load-based auto scaling for the layer.", + "DownScaling": "An AutoScalingThresholds object with the downscaling threshold configuration. If the load falls below these thresholds for a specified amount of time, AWS OpsWorks Stacks stops a specified number of instances.", + "UpScaling": "An AutoScalingThresholds object with the upscaling threshold configuration. If the load exceeds these thresholds for a specified amount of time, AWS OpsWorks Stacks starts a specified number of instances." +} +""" +SetLoadBasedAutoScaling(args) = opsworks("SetLoadBasedAutoScaling", args) diff --git a/src/services/opsworkscm.jl b/src/services/opsworkscm.jl new file mode 100644 index 0000000000..a9cabc2dd3 --- /dev/null +++ b/src/services/opsworkscm.jl @@ -0,0 +1,318 @@ +include("../AWSServices.jl") +using .AWSServices: opsworkscm + +""" + ListTagsForResource() + +Returns a list of tags that are applied to the specified AWS OpsWorks for Chef Automate or AWS OpsWorks for Puppet Enterprise servers or backups. + +Required Parameters +{ + "ResourceArn": "The Amazon Resource Number (ARN) of an AWS OpsWorks for Chef Automate or AWS OpsWorks for Puppet Enterprise server for which you want to show applied tags. For example, arn:aws:opsworks-cm:us-west-2:123456789012:server/test-owcm-server/EXAMPLE-66b0-4196-8274-d1a2bEXAMPLE." +} + +Optional Parameters +{ + "MaxResults": "To receive a paginated response, use this parameter to specify the maximum number of results to be returned with a single call. If the number of available results exceeds this maximum, the response includes a NextToken value that you can assign to the NextToken request parameter to get the next set of results.", + "NextToken": "NextToken is a string that is returned in some command responses. It indicates that not all entries have been returned, and that you must run at least one more request to get remaining items. To get remaining results, call ListTagsForResource again, and assign the token from the previous results as the value of the nextToken parameter. If there are no more results, the response object's nextToken parameter value is null. Setting a nextToken value that was not returned in your previous results causes an InvalidNextTokenException to occur." +} +""" +ListTagsForResource(args) = opsworkscm("ListTagsForResource", args) + +""" + DescribeServers() + + Lists all configuration management servers that are identified with your account. Only the stored results from Amazon DynamoDB are returned. AWS OpsWorks CM does not query other services. This operation is synchronous. A ResourceNotFoundException is thrown when the server does not exist. A ValidationException is raised when parameters of the request are not valid. + +Optional Parameters +{ + "MaxResults": "This is not currently implemented for DescribeServers requests. ", + "NextToken": "This is not currently implemented for DescribeServers requests. ", + "ServerName": "Describes the server with the specified ServerName." +} +""" +DescribeServers() = opsworkscm("DescribeServers") +DescribeServers(args) = opsworkscm("DescribeServers", args) + +""" + CreateServer() + + Creates and immedately starts a new server. The server is ready to use when it is in the HEALTHY state. By default, you can create a maximum of 10 servers. This operation is asynchronous. A LimitExceededException is thrown when you have created the maximum number of servers (10). A ResourceAlreadyExistsException is thrown when a server with the same name already exists in the account. A ResourceNotFoundException is thrown when you specify a backup ID that is not valid or is for a backup that does not exist. A ValidationException is thrown when parameters of the request are not valid. If you do not specify a security group by adding the SecurityGroupIds parameter, AWS OpsWorks creates a new security group. Chef Automate: The default security group opens the Chef server to the world on TCP port 443. If a KeyName is present, AWS OpsWorks enables SSH access. SSH is also open to the world on TCP port 22. Puppet Enterprise: The default security group opens TCP ports 22, 443, 4433, 8140, 8142, 8143, and 8170. If a KeyName is present, AWS OpsWorks enables SSH access. SSH is also open to the world on TCP port 22. By default, your server is accessible from any IP address. We recommend that you update your security group rules to allow access from known IP addresses and address ranges only. To edit security group rules, open Security Groups in the navigation pane of the EC2 management console. To specify your own domain for a server, and provide your own self-signed or CA-signed certificate and private key, specify values for CustomDomain, CustomCertificate, and CustomPrivateKey. + +Required Parameters +{ + "InstanceType": " The Amazon EC2 instance type to use. For example, m5.large. ", + "ServerName": " The name of the server. The server name must be unique within your AWS account, within each region. Server names must start with a letter; then letters, numbers, or hyphens (-) are allowed, up to a maximum of 40 characters. ", + "InstanceProfileArn": " The ARN of the instance profile that your Amazon EC2 instances use. Although the AWS OpsWorks console typically creates the instance profile for you, if you are using API commands instead, run the service-role-creation.yaml AWS CloudFormation template, located at https://s3.amazonaws.com/opsworks-cm-us-east-1-prod-default-assets/misc/opsworks-cm-roles.yaml. This template creates a CloudFormation stack that includes the instance profile you need. ", + "ServiceRoleArn": " The service role that the AWS OpsWorks CM service backend uses to work with your account. Although the AWS OpsWorks management console typically creates the service role for you, if you are using the AWS CLI or API commands, run the service-role-creation.yaml AWS CloudFormation template, located at https://s3.amazonaws.com/opsworks-cm-us-east-1-prod-default-assets/misc/opsworks-cm-roles.yaml. This template creates a CloudFormation stack that includes the service role and instance profile that you need. " +} + +Optional Parameters +{ + "CustomPrivateKey": "Supported on servers running Chef Automate 2. A private key in PEM format for connecting to the server by using HTTPS. The private key must not be encrypted; it cannot be protected by a password or passphrase. If you specify a custom private key, you must also specify values for CustomDomain and CustomCertificate.", + "PreferredMaintenanceWindow": " The start time for a one-hour period each week during which AWS OpsWorks CM performs maintenance on the instance. Valid values must be specified in the following format: DDD:HH:MM. The specified time is in coordinated universal time (UTC). The default value is a random one-hour period on Tuesday, Wednesday, or Friday. See TimeWindowDefinition for more information. Example: Mon:08:00, which represents a start time of every Monday at 08:00 UTC. (8:00 a.m.) ", + "KeyPair": " The Amazon EC2 key pair to set for the instance. This parameter is optional; if desired, you may specify this parameter to connect to your instances by using SSH. ", + "Tags": "A map that contains tag keys and tag values to attach to an AWS OpsWorks for Chef Automate or AWS OpsWorks for Puppet Enterprise server. The key cannot be empty. The key can be a maximum of 127 characters, and can contain only Unicode letters, numbers, or separators, or the following special characters: + - = . _ : / The value can be a maximum 255 characters, and contain only Unicode letters, numbers, or separators, or the following special characters: + - = . _ : / Leading and trailing white spaces are trimmed from both the key and value. A maximum of 50 user-applied tags is allowed for any AWS OpsWorks-CM server. ", + "AssociatePublicIpAddress": " Associate a public IP address with a server that you are launching. Valid values are true or false. The default value is true. ", + "Engine": " The configuration management engine to use. Valid values include ChefAutomate and Puppet. ", + "DisableAutomatedBackup": " Enable or disable scheduled backups. Valid values are true or false. The default value is true. ", + "PreferredBackupWindow": " The start time for a one-hour period during which AWS OpsWorks CM backs up application-level data on your server if automated backups are enabled. Valid values must be specified in one of the following formats: HH:MM for daily backups DDD:HH:MM for weekly backups The specified time is in coordinated universal time (UTC). The default value is a random, daily start time. Example: 08:00, which represents a daily start time of 08:00 UTC. Example: Mon:08:00, which represents a start time of every Monday at 08:00 UTC. (8:00 a.m.)", + "SecurityGroupIds": " A list of security group IDs to attach to the Amazon EC2 instance. If you add this parameter, the specified security groups must be within the VPC that is specified by SubnetIds. If you do not specify this parameter, AWS OpsWorks CM creates one new security group that uses TCP ports 22 and 443, open to 0.0.0.0/0 (everyone). ", + "SubnetIds": " The IDs of subnets in which to launch the server EC2 instance. Amazon EC2-Classic customers: This field is required. All servers must run within a VPC. The VPC must have \"Auto Assign Public IP\" enabled. EC2-VPC customers: This field is optional. If you do not specify subnet IDs, your EC2 instances are created in a default subnet that is selected by Amazon EC2. If you specify subnet IDs, the VPC must have \"Auto Assign Public IP\" enabled. For more information about supported Amazon EC2 platforms, see Supported Platforms.", + "EngineVersion": " The major release version of the engine that you want to use. For a Chef server, the valid value for EngineVersion is currently 12. For a Puppet server, the valid value is 2017. ", + "BackupId": " If you specify this field, AWS OpsWorks CM creates the server by using the backup represented by BackupId. ", + "CustomCertificate": "Supported on servers running Chef Automate 2. A PEM-formatted HTTPS certificate. The value can be be a single, self-signed certificate, or a certificate chain. If you specify a custom certificate, you must also specify values for CustomDomain and CustomPrivateKey. The following are requirements for the CustomCertificate value: You can provide either a self-signed, custom certificate, or the full certificate chain. The certificate must be a valid X509 certificate, or a certificate chain in PEM format. The certificate must be valid at the time of upload. A certificate can't be used before its validity period begins (the certificate's NotBefore date), or after it expires (the certificate's NotAfter date). The certificate’s common name or subject alternative names (SANs), if present, must match the value of CustomDomain. The certificate must match the value of CustomPrivateKey. ", + "CustomDomain": "Supported on servers running Chef Automate 2. An optional public endpoint of a server, such as https://aws.my-company.com. To access the server, create a CNAME DNS record in your preferred DNS service that points the custom domain to the endpoint that is generated when the server is created (the value of the CreateServer Endpoint attribute). You cannot access the server by using the generated Endpoint value if the server is using a custom domain. If you specify a custom domain, you must also specify values for CustomCertificate and CustomPrivateKey.", + "BackupRetentionCount": " The number of automated backups that you want to keep. Whenever a new backup is created, AWS OpsWorks CM deletes the oldest backups if this number is exceeded. The default value is 1. ", + "EngineAttributes": "Optional engine attributes on a specified server. Attributes accepted in a Chef createServer request: CHEF_AUTOMATE_PIVOTAL_KEY: A base64-encoded RSA public key. The corresponding private key is required to access the Chef API. When no CHEF_AUTOMATE_PIVOTAL_KEY is set, a private key is generated and returned in the response. CHEF_AUTOMATE_ADMIN_PASSWORD: The password for the administrative user in the Chef Automate web-based dashboard. The password length is a minimum of eight characters, and a maximum of 32. The password can contain letters, numbers, and special characters (!/@# %^&+=_). The password must contain at least one lower case letter, one upper case letter, one number, and one special character. When no CHEF_AUTOMATE_ADMIN_PASSWORD is set, one is generated and returned in the response. Attributes accepted in a Puppet createServer request: PUPPET_ADMIN_PASSWORD: To work with the Puppet Enterprise console, a password must use ASCII characters. PUPPET_R10K_REMOTE: The r10k remote is the URL of your control repository (for example, ssh://git@your.git-repo.com:user/control-repo.git). Specifying an r10k remote opens TCP port 8170. PUPPET_R10K_PRIVATE_KEY: If you are using a private Git repository, add PUPPET_R10K_PRIVATE_KEY to specify a PEM-encoded private SSH key. ", + "EngineModel": " The engine model of the server. Valid values in this release include Monolithic for Puppet and Single for Chef. " +} +""" +CreateServer(args) = opsworkscm("CreateServer", args) + +""" + DescribeEvents() + + Describes events for a specified server. Results are ordered by time, with newest events first. This operation is synchronous. A ResourceNotFoundException is thrown when the server does not exist. A ValidationException is raised when parameters of the request are not valid. + +Required Parameters +{ + "ServerName": "The name of the server for which you want to view events." +} + +Optional Parameters +{ + "MaxResults": "To receive a paginated response, use this parameter to specify the maximum number of results to be returned with a single call. If the number of available results exceeds this maximum, the response includes a NextToken value that you can assign to the NextToken request parameter to get the next set of results. ", + "NextToken": "NextToken is a string that is returned in some command responses. It indicates that not all entries have been returned, and that you must run at least one more request to get remaining items. To get remaining results, call DescribeEvents again, and assign the token from the previous results as the value of the nextToken parameter. If there are no more results, the response object's nextToken parameter value is null. Setting a nextToken value that was not returned in your previous results causes an InvalidNextTokenException to occur. " +} +""" +DescribeEvents(args) = opsworkscm("DescribeEvents", args) + +""" + UpdateServer() + + Updates settings for a server. This operation is synchronous. + +Required Parameters +{ + "ServerName": "The name of the server to update. " +} + +Optional Parameters +{ + "PreferredBackupWindow": "", + "BackupRetentionCount": "Sets the number of automated backups that you want to keep. ", + "PreferredMaintenanceWindow": "", + "DisableAutomatedBackup": "Setting DisableAutomatedBackup to true disables automated or scheduled backups. Automated backups are enabled by default. " +} +""" +UpdateServer(args) = opsworkscm("UpdateServer", args) + +""" + DescribeAccountAttributes() + + Describes your OpsWorks-CM account attributes. This operation is synchronous. +""" +DescribeAccountAttributes() = opsworkscm("DescribeAccountAttributes") +DescribeAccountAttributes(args) = opsworkscm("DescribeAccountAttributes", args) + +""" + DescribeBackups() + + Describes backups. The results are ordered by time, with newest backups first. If you do not specify a BackupId or ServerName, the command returns all backups. This operation is synchronous. A ResourceNotFoundException is thrown when the backup does not exist. A ValidationException is raised when parameters of the request are not valid. + +Optional Parameters +{ + "MaxResults": "This is not currently implemented for DescribeBackups requests.", + "NextToken": "This is not currently implemented for DescribeBackups requests.", + "BackupId": "Describes a single backup. ", + "ServerName": "Returns backups for the server with the specified ServerName. " +} +""" +DescribeBackups() = opsworkscm("DescribeBackups") +DescribeBackups(args) = opsworkscm("DescribeBackups", args) + +""" + RestoreServer() + + Restores a backup to a server that is in a CONNECTION_LOST, HEALTHY, RUNNING, UNHEALTHY, or TERMINATED state. When you run RestoreServer, the server's EC2 instance is deleted, and a new EC2 instance is configured. RestoreServer maintains the existing server endpoint, so configuration management of the server's client devices (nodes) should continue to work. Restoring from a backup is performed by creating a new EC2 instance. If restoration is successful, and the server is in a HEALTHY state, AWS OpsWorks CM switches traffic over to the new instance. After restoration is finished, the old EC2 instance is maintained in a Running or Stopped state, but is eventually terminated. This operation is asynchronous. An InvalidStateException is thrown when the server is not in a valid state. A ResourceNotFoundException is thrown when the server does not exist. A ValidationException is raised when parameters of the request are not valid. + +Required Parameters +{ + "BackupId": " The ID of the backup that you want to use to restore a server. ", + "ServerName": " The name of the server that you want to restore. " +} + +Optional Parameters +{ + "InstanceType": " The type of instance to restore. Valid values must be specified in the following format: ^([cm][34]|t2).* For example, m5.large. Valid values are m5.large, r5.xlarge, and r5.2xlarge. If you do not specify this parameter, RestoreServer uses the instance type from the specified backup. ", + "KeyPair": " The name of the key pair to set on the new EC2 instance. This can be helpful if the administrator no longer has the SSH key. " +} +""" +RestoreServer(args) = opsworkscm("RestoreServer", args) + +""" + CreateBackup() + + Creates an application-level backup of a server. While the server is in the BACKING_UP state, the server cannot be changed, and no additional backup can be created. Backups can be created for servers in RUNNING, HEALTHY, and UNHEALTHY states. By default, you can create a maximum of 50 manual backups. This operation is asynchronous. A LimitExceededException is thrown when the maximum number of manual backups is reached. An InvalidStateException is thrown when the server is not in any of the following states: RUNNING, HEALTHY, or UNHEALTHY. A ResourceNotFoundException is thrown when the server is not found. A ValidationException is thrown when parameters of the request are not valid. + +Required Parameters +{ + "ServerName": "The name of the server that you want to back up. " +} + +Optional Parameters +{ + "Description": " A user-defined description of the backup. ", + "Tags": "A map that contains tag keys and tag values to attach to an AWS OpsWorks-CM server backup. The key cannot be empty. The key can be a maximum of 127 characters, and can contain only Unicode letters, numbers, or separators, or the following special characters: + - = . _ : / The value can be a maximum 255 characters, and contain only Unicode letters, numbers, or separators, or the following special characters: + - = . _ : / Leading and trailing white spaces are trimmed from both the key and value. A maximum of 50 user-applied tags is allowed for tag-supported AWS OpsWorks-CM resources. " +} +""" +CreateBackup(args) = opsworkscm("CreateBackup", args) + +""" + TagResource() + +Applies tags to an AWS OpsWorks for Chef Automate or AWS OpsWorks for Puppet Enterprise server, or to server backups. + +Required Parameters +{ + "ResourceArn": "The Amazon Resource Number (ARN) of a resource to which you want to apply tags. For example, arn:aws:opsworks-cm:us-west-2:123456789012:server/test-owcm-server/EXAMPLE-66b0-4196-8274-d1a2bEXAMPLE.", + "Tags": "A map that contains tag keys and tag values to attach to AWS OpsWorks-CM servers or backups. The key cannot be empty. The key can be a maximum of 127 characters, and can contain only Unicode letters, numbers, or separators, or the following special characters: + - = . _ : / The value can be a maximum 255 characters, and contain only Unicode letters, numbers, or separators, or the following special characters: + - = . _ : / Leading and trailing white spaces are trimmed from both the key and value. A maximum of 50 user-applied tags is allowed for any AWS OpsWorks-CM server or backup. " +} +""" +TagResource(args) = opsworkscm("TagResource", args) + +""" + StartMaintenance() + + Manually starts server maintenance. This command can be useful if an earlier maintenance attempt failed, and the underlying cause of maintenance failure has been resolved. The server is in an UNDER_MAINTENANCE state while maintenance is in progress. Maintenance can only be started on servers in HEALTHY and UNHEALTHY states. Otherwise, an InvalidStateException is thrown. A ResourceNotFoundException is thrown when the server does not exist. A ValidationException is raised when parameters of the request are not valid. + +Required Parameters +{ + "ServerName": "The name of the server on which to run maintenance. " +} + +Optional Parameters +{ + "EngineAttributes": "Engine attributes that are specific to the server on which you want to run maintenance. Attributes accepted in a StartMaintenance request for Chef CHEF_MAJOR_UPGRADE: If a Chef Automate server is eligible for upgrade to Chef Automate 2, add this engine attribute to a StartMaintenance request and set the value to true to upgrade the server to Chef Automate 2. For more information, see Upgrade an AWS OpsWorks for Chef Automate Server to Chef Automate 2. " +} +""" +StartMaintenance(args) = opsworkscm("StartMaintenance", args) + +""" + UntagResource() + +Removes specified tags from an AWS OpsWorks-CM server or backup. + +Required Parameters +{ + "ResourceArn": "The Amazon Resource Number (ARN) of a resource from which you want to remove tags. For example, arn:aws:opsworks-cm:us-west-2:123456789012:server/test-owcm-server/EXAMPLE-66b0-4196-8274-d1a2bEXAMPLE.", + "TagKeys": "The keys of tags that you want to remove." +} +""" +UntagResource(args) = opsworkscm("UntagResource", args) + +""" + DescribeNodeAssociationStatus() + + Returns the current status of an existing association or disassociation request. A ResourceNotFoundException is thrown when no recent association or disassociation request with the specified token is found, or when the server does not exist. A ValidationException is raised when parameters of the request are not valid. + +Required Parameters +{ + "NodeAssociationStatusToken": "The token returned in either the AssociateNodeResponse or the DisassociateNodeResponse. ", + "ServerName": "The name of the server from which to disassociate the node. " +} +""" +DescribeNodeAssociationStatus(args) = opsworkscm("DescribeNodeAssociationStatus", args) + +""" + UpdateServerEngineAttributes() + + Updates engine-specific attributes on a specified server. The server enters the MODIFYING state when this operation is in progress. Only one update can occur at a time. You can use this command to reset a Chef server's public key (CHEF_PIVOTAL_KEY) or a Puppet server's admin password (PUPPET_ADMIN_PASSWORD). This operation is asynchronous. This operation can only be called for servers in HEALTHY or UNHEALTHY states. Otherwise, an InvalidStateException is raised. A ResourceNotFoundException is thrown when the server does not exist. A ValidationException is raised when parameters of the request are not valid. + +Required Parameters +{ + "AttributeName": "The name of the engine attribute to update. ", + "ServerName": "The name of the server to update. " +} + +Optional Parameters +{ + "AttributeValue": "The value to set for the attribute. " +} +""" +UpdateServerEngineAttributes(args) = opsworkscm("UpdateServerEngineAttributes", args) + +""" + AssociateNode() + + Associates a new node with the server. For more information about how to disassociate a node, see DisassociateNode. On a Chef server: This command is an alternative to knife bootstrap. Example (Chef): aws opsworks-cm associate-node --server-name MyServer --node-name MyManagedNode --engine-attributes "Name=CHEF_ORGANIZATION,Value=default" "Name=CHEF_NODE_PUBLIC_KEY,Value=public-key-pem" On a Puppet server, this command is an alternative to the puppet cert sign command that signs a Puppet node CSR. Example (Chef): aws opsworks-cm associate-node --server-name MyServer --node-name MyManagedNode --engine-attributes "Name=PUPPET_NODE_CSR,Value=csr-pem" A node can can only be associated with servers that are in a HEALTHY state. Otherwise, an InvalidStateException is thrown. A ResourceNotFoundException is thrown when the server does not exist. A ValidationException is raised when parameters of the request are not valid. The AssociateNode API call can be integrated into Auto Scaling configurations, AWS Cloudformation templates, or the user data of a server's instance. + +Required Parameters +{ + "EngineAttributes": "Engine attributes used for associating the node. Attributes accepted in a AssociateNode request for Chef CHEF_ORGANIZATION: The Chef organization with which the node is associated. By default only one organization named default can exist. CHEF_NODE_PUBLIC_KEY: A PEM-formatted public key. This key is required for the chef-client agent to access the Chef API. Attributes accepted in a AssociateNode request for Puppet PUPPET_NODE_CSR: A PEM-formatted certificate-signing request (CSR) that is created by the node. ", + "ServerName": "The name of the server with which to associate the node. ", + "NodeName": "The name of the node. " +} +""" +AssociateNode(args) = opsworkscm("AssociateNode", args) + +""" + DeleteBackup() + + Deletes a backup. You can delete both manual and automated backups. This operation is asynchronous. An InvalidStateException is thrown when a backup deletion is already in progress. A ResourceNotFoundException is thrown when the backup does not exist. A ValidationException is thrown when parameters of the request are not valid. + +Required Parameters +{ + "BackupId": "The ID of the backup to delete. Run the DescribeBackups command to get a list of backup IDs. Backup IDs are in the format ServerName-yyyyMMddHHmmssSSS. " +} +""" +DeleteBackup(args) = opsworkscm("DeleteBackup", args) + +""" + DeleteServer() + + Deletes the server and the underlying AWS CloudFormation stacks (including the server's EC2 instance). When you run this command, the server state is updated to DELETING. After the server is deleted, it is no longer returned by DescribeServer requests. If the AWS CloudFormation stack cannot be deleted, the server cannot be deleted. This operation is asynchronous. An InvalidStateException is thrown when a server deletion is already in progress. A ResourceNotFoundException is thrown when the server does not exist. A ValidationException is raised when parameters of the request are not valid. + +Required Parameters +{ + "ServerName": "The ID of the server to delete." +} +""" +DeleteServer(args) = opsworkscm("DeleteServer", args) + +""" + DisassociateNode() + + Disassociates a node from an AWS OpsWorks CM server, and removes the node from the server's managed nodes. After a node is disassociated, the node key pair is no longer valid for accessing the configuration manager's API. For more information about how to associate a node, see AssociateNode. A node can can only be disassociated from a server that is in a HEALTHY state. Otherwise, an InvalidStateException is thrown. A ResourceNotFoundException is thrown when the server does not exist. A ValidationException is raised when parameters of the request are not valid. + +Required Parameters +{ + "ServerName": "The name of the server from which to disassociate the node. ", + "NodeName": "The name of the client node. " +} + +Optional Parameters +{ + "EngineAttributes": "Engine attributes that are used for disassociating the node. No attributes are required for Puppet. Attributes required in a DisassociateNode request for Chef CHEF_ORGANIZATION: The Chef organization with which the node was associated. By default only one organization named default can exist. " +} +""" +DisassociateNode(args) = opsworkscm("DisassociateNode", args) + +""" + ExportServerEngineAttribute() + + Exports a specified server engine attribute as a base64-encoded string. For example, you can export user data that you can use in EC2 to associate nodes with a server. This operation is synchronous. A ValidationException is raised when parameters of the request are not valid. A ResourceNotFoundException is thrown when the server does not exist. An InvalidStateException is thrown when the server is in any of the following states: CREATING, TERMINATED, FAILED or DELETING. + +Required Parameters +{ + "ExportAttributeName": "The name of the export attribute. Currently, the supported export attribute is Userdata. This exports a user data script that includes parameters and values provided in the InputAttributes list.", + "ServerName": "The name of the server from which you are exporting the attribute." +} + +Optional Parameters +{ + "InputAttributes": "The list of engine attributes. The list type is EngineAttribute. An EngineAttribute list item is a pair that includes an attribute name and its value. For the Userdata ExportAttributeName, the following are supported engine attribute names. RunList In Chef, a list of roles or recipes that are run in the specified order. In Puppet, this parameter is ignored. OrganizationName In Chef, an organization name. AWS OpsWorks for Chef Automate always creates the organization default. In Puppet, this parameter is ignored. NodeEnvironment In Chef, a node environment (for example, development, staging, or one-box). In Puppet, this parameter is ignored. NodeClientVersion In Chef, the version of the Chef engine (three numbers separated by dots, such as 13.8.5). If this attribute is empty, OpsWorks for Chef Automate uses the most current version. In Puppet, this parameter is ignored. " +} +""" +ExportServerEngineAttribute(args) = opsworkscm("ExportServerEngineAttribute", args) diff --git a/src/services/organizations.jl b/src/services/organizations.jl new file mode 100644 index 0000000000..58f7aae131 --- /dev/null +++ b/src/services/organizations.jl @@ -0,0 +1,722 @@ +include("../AWSServices.jl") +using .AWSServices: organizations + +""" + DisableAWSServiceAccess() + +Disables the integration of an AWS service (the service that is specified by ServicePrincipal) with AWS Organizations. When you disable integration, the specified service no longer can create a service-linked role in new accounts in your organization. This means the service can't perform operations on your behalf on any new accounts in your organization. The service can still perform operations in older accounts until the service completes its clean-up from AWS Organizations. We recommend that you disable integration between AWS Organizations and the specified AWS service by using the console or commands that are provided by the specified service. Doing so ensures that the other service is aware that it can clean up any resources that are required only for the integration. How the service cleans up its resources in the organization's accounts depends on that service. For more information, see the documentation for the other AWS service. After you perform the DisableAWSServiceAccess operation, the specified service can no longer perform operations in your organization's accounts unless the operations are explicitly permitted by the IAM policies that are attached to your roles. For more information about integrating other services with AWS Organizations, including the list of services that work with Organizations, see Integrating AWS Organizations with Other AWS Services in the AWS Organizations User Guide. This operation can be called only from the organization's master account. + +Required Parameters +{ + "ServicePrincipal": "The service principal name of the AWS service for which you want to disable integration with your organization. This is typically in the form of a URL, such as service-abbreviation.amazonaws.com." +} +""" +DisableAWSServiceAccess(args) = organizations("DisableAWSServiceAccess", args) + +""" + CancelHandshake() + +Cancels a handshake. Canceling a handshake sets the handshake state to CANCELED. This operation can be called only from the account that originated the handshake. The recipient of the handshake can't cancel it, but can use DeclineHandshake instead. After a handshake is canceled, the recipient can no longer respond to that handshake. After you cancel a handshake, it continues to appear in the results of relevant APIs for only 30 days. After that, it's deleted. + +Required Parameters +{ + "HandshakeId": "The unique identifier (ID) of the handshake that you want to cancel. You can get the ID from the ListHandshakesForOrganization operation. The regex pattern for handshake ID string requires \"h-\" followed by from 8 to 32 lowercase letters or digits." +} +""" +CancelHandshake(args) = organizations("CancelHandshake", args) + +""" + DescribeHandshake() + +Retrieves information about a previously requested handshake. The handshake ID comes from the response to the original InviteAccountToOrganization operation that generated the handshake. You can access handshakes that are ACCEPTED, DECLINED, or CANCELED for only 30 days after they change to that state. They're then deleted and no longer accessible. This operation can be called from any account in the organization. + +Required Parameters +{ + "HandshakeId": "The unique identifier (ID) of the handshake that you want information about. You can get the ID from the original call to InviteAccountToOrganization, or from a call to ListHandshakesForAccount or ListHandshakesForOrganization. The regex pattern for handshake ID string requires \"h-\" followed by from 8 to 32 lowercase letters or digits." +} +""" +DescribeHandshake(args) = organizations("DescribeHandshake", args) + +""" + DescribeEffectivePolicy() + +Returns the contents of the effective tag policy for the account. The effective tag policy is the aggregation of any tag policies the account inherits, plus any policy directly that is attached to the account. This action returns information on tag policies only. For more information on policy inheritance, see How Policy Inheritance Works in the AWS Organizations User Guide. This operation can be called only from the organization's master account or by a member account that is a delegated administrator for an AWS service. + +Required Parameters +{ + "PolicyType": "The type of policy that you want information about." +} + +Optional Parameters +{ + "TargetId": "When you're signed in as the master account, specify the ID of the account that you want details about. Specifying an organization root or OU as the target is not supported. " +} +""" +DescribeEffectivePolicy(args) = organizations("DescribeEffectivePolicy", args) + +""" + TagResource() + +Adds one or more tags to the specified resource. Currently, you can tag and untag accounts in AWS Organizations. This operation can be called only from the organization's master account. + +Required Parameters +{ + "Tags": "The tag to add to the specified resource. Specifying the tag key is required. You can set the value of a tag to an empty string, but you can't set the value of a tag to null.", + "ResourceId": "The ID of the resource to add a tag to." +} +""" +TagResource(args) = organizations("TagResource", args) + +""" + DescribeOrganization() + +Retrieves information about the organization that the user's account belongs to. This operation can be called from any account in the organization. Even if a policy type is shown as available in the organization, you can disable it separately at the root level with DisablePolicyType. Use ListRoots to see the status of policy types for a specified root. +""" +DescribeOrganization() = organizations("DescribeOrganization") +DescribeOrganization(args) = organizations("DescribeOrganization", args) + +""" + ListPoliciesForTarget() + +Lists the policies that are directly attached to the specified target root, organizational unit (OU), or account. You must specify the policy type that you want included in the returned list. Always check the NextToken response parameter for a null value when calling a List* operation. These operations can occasionally return an empty set of results even when there are more results available. The NextToken response parameter value is null only when there are no more results to display. This operation can be called only from the organization's master account or by a member account that is a delegated administrator for an AWS service. + +Required Parameters +{ + "Filter": "The type of policy that you want to include in the returned list.", + "TargetId": "The unique identifier (ID) of the root, organizational unit, or account whose policies you want to list. The regex pattern for a target ID string requires one of the following: Root - A string that begins with \"r-\" followed by from 4 to 32 lowercase letters or digits. Account - A string that consists of exactly 12 digits. Organizational unit (OU) - A string that begins with \"ou-\" followed by from 4 to 32 lowercase letters or digits (the ID of the root that the OU is in). This string is followed by a second \"-\" dash and from 8 to 32 additional lowercase letters or digits. " +} + +Optional Parameters +{ + "MaxResults": "The total number of results that you want included on each page of the response. If you do not include this parameter, it defaults to a value that is specific to the operation. If additional items exist beyond the maximum you specify, the NextToken response element is present and has a value (is not null). Include that value as the NextToken request parameter in the next call to the operation to get the next part of the results. Note that Organizations might return fewer results than the maximum even when there are more results available. You should check NextToken after every operation to ensure that you receive all of the results.", + "NextToken": "The parameter for receiving additional results if you receive a NextToken response in a previous request. A NextToken response indicates that more output is available. Set this parameter to the value of the previous call's NextToken response to indicate where the output should continue from." +} +""" +ListPoliciesForTarget(args) = organizations("ListPoliciesForTarget", args) + +""" + DetachPolicy() + +Detaches a policy from a target root, organizational unit (OU), or account. If the policy being detached is a service control policy (SCP), the changes to permissions for IAM users and roles in affected accounts are immediate. Note: Every root, OU, and account must have at least one SCP attached. If you want to replace the default FullAWSAccess policy with one that limits the permissions that can be delegated, you must attach the replacement policy before you can remove the default one. This is the authorization strategy of an "allow list". If you instead attach a second SCP and leave the FullAWSAccess SCP still attached, and specify "Effect": "Deny" in the second SCP to override the "Effect": "Allow" in the FullAWSAccess policy (or any other attached SCP), you're using the authorization strategy of a "deny list". This operation can be called only from the organization's master account. + +Required Parameters +{ + "PolicyId": "The unique identifier (ID) of the policy you want to detach. You can get the ID from the ListPolicies or ListPoliciesForTarget operations. The regex pattern for a policy ID string requires \"p-\" followed by from 8 to 128 lowercase or uppercase letters, digits, or the underscore character (_).", + "TargetId": "The unique identifier (ID) of the root, OU, or account that you want to detach the policy from. You can get the ID from the ListRoots, ListOrganizationalUnitsForParent, or ListAccounts operations. The regex pattern for a target ID string requires one of the following: Root - A string that begins with \"r-\" followed by from 4 to 32 lowercase letters or digits. Account - A string that consists of exactly 12 digits. Organizational unit (OU) - A string that begins with \"ou-\" followed by from 4 to 32 lowercase letters or digits (the ID of the root that the OU is in). This string is followed by a second \"-\" dash and from 8 to 32 additional lowercase letters or digits. " +} +""" +DetachPolicy(args) = organizations("DetachPolicy", args) + +""" + ListTargetsForPolicy() + +Lists all the roots, organizational units (OUs), and accounts that the specified policy is attached to. Always check the NextToken response parameter for a null value when calling a List* operation. These operations can occasionally return an empty set of results even when there are more results available. The NextToken response parameter value is null only when there are no more results to display. This operation can be called only from the organization's master account or by a member account that is a delegated administrator for an AWS service. + +Required Parameters +{ + "PolicyId": "The unique identifier (ID) of the policy whose attachments you want to know. The regex pattern for a policy ID string requires \"p-\" followed by from 8 to 128 lowercase or uppercase letters, digits, or the underscore character (_)." +} + +Optional Parameters +{ + "MaxResults": "The total number of results that you want included on each page of the response. If you do not include this parameter, it defaults to a value that is specific to the operation. If additional items exist beyond the maximum you specify, the NextToken response element is present and has a value (is not null). Include that value as the NextToken request parameter in the next call to the operation to get the next part of the results. Note that Organizations might return fewer results than the maximum even when there are more results available. You should check NextToken after every operation to ensure that you receive all of the results.", + "NextToken": "The parameter for receiving additional results if you receive a NextToken response in a previous request. A NextToken response indicates that more output is available. Set this parameter to the value of the previous call's NextToken response to indicate where the output should continue from." +} +""" +ListTargetsForPolicy(args) = organizations("ListTargetsForPolicy", args) + +""" + DescribeOrganizationalUnit() + +Retrieves information about an organizational unit (OU). This operation can be called only from the organization's master account or by a member account that is a delegated administrator for an AWS service. + +Required Parameters +{ + "OrganizationalUnitId": "The unique identifier (ID) of the organizational unit that you want details about. You can get the ID from the ListOrganizationalUnitsForParent operation. The regex pattern for an organizational unit ID string requires \"ou-\" followed by from 4 to 32 lowercase letters or digits (the ID of the root that contains the OU). This string is followed by a second \"-\" dash and from 8 to 32 additional lowercase letters or digits." +} +""" +DescribeOrganizationalUnit(args) = organizations("DescribeOrganizationalUnit", args) + +""" + EnableAllFeatures() + +Enables all features in an organization. This enables the use of organization policies that can restrict the services and actions that can be called in each account. Until you enable all features, you have access only to consolidated billing, and you can't use any of the advanced account administration features that AWS Organizations supports. For more information, see Enabling All Features in Your Organization in the AWS Organizations User Guide. This operation is required only for organizations that were created explicitly with only the consolidated billing features enabled. Calling this operation sends a handshake to every invited account in the organization. The feature set change can be finalized and the additional features enabled only after all administrators in the invited accounts approve the change by accepting the handshake. After you enable all features, you can separately enable or disable individual policy types in a root using EnablePolicyType and DisablePolicyType. To see the status of policy types in a root, use ListRoots. After all invited member accounts accept the handshake, you finalize the feature set change by accepting the handshake that contains "Action": "ENABLE_ALL_FEATURES". This completes the change. After you enable all features in your organization, the master account in the organization can apply policies on all member accounts. These policies can restrict what users and even administrators in those accounts can do. The master account can apply policies that prevent accounts from leaving the organization. Ensure that your account administrators are aware of this. This operation can be called only from the organization's master account. +""" +EnableAllFeatures() = organizations("EnableAllFeatures") +EnableAllFeatures(args) = organizations("EnableAllFeatures", args) + +""" + ListOrganizationalUnitsForParent() + +Lists the organizational units (OUs) in a parent organizational unit or root. Always check the NextToken response parameter for a null value when calling a List* operation. These operations can occasionally return an empty set of results even when there are more results available. The NextToken response parameter value is null only when there are no more results to display. This operation can be called only from the organization's master account or by a member account that is a delegated administrator for an AWS service. + +Required Parameters +{ + "ParentId": "The unique identifier (ID) of the root or OU whose child OUs you want to list. The regex pattern for a parent ID string requires one of the following: Root - A string that begins with \"r-\" followed by from 4 to 32 lowercase letters or digits. Organizational unit (OU) - A string that begins with \"ou-\" followed by from 4 to 32 lowercase letters or digits (the ID of the root that the OU is in). This string is followed by a second \"-\" dash and from 8 to 32 additional lowercase letters or digits. " +} + +Optional Parameters +{ + "MaxResults": "The total number of results that you want included on each page of the response. If you do not include this parameter, it defaults to a value that is specific to the operation. If additional items exist beyond the maximum you specify, the NextToken response element is present and has a value (is not null). Include that value as the NextToken request parameter in the next call to the operation to get the next part of the results. Note that Organizations might return fewer results than the maximum even when there are more results available. You should check NextToken after every operation to ensure that you receive all of the results.", + "NextToken": "The parameter for receiving additional results if you receive a NextToken response in a previous request. A NextToken response indicates that more output is available. Set this parameter to the value of the previous call's NextToken response to indicate where the output should continue from." +} +""" +ListOrganizationalUnitsForParent(args) = organizations("ListOrganizationalUnitsForParent", args) + +""" + ListChildren() + +Lists all of the organizational units (OUs) or accounts that are contained in the specified parent OU or root. This operation, along with ListParents enables you to traverse the tree structure that makes up this root. Always check the NextToken response parameter for a null value when calling a List* operation. These operations can occasionally return an empty set of results even when there are more results available. The NextToken response parameter value is null only when there are no more results to display. This operation can be called only from the organization's master account or by a member account that is a delegated administrator for an AWS service. + +Required Parameters +{ + "ParentId": "The unique identifier (ID) for the parent root or OU whose children you want to list. The regex pattern for a parent ID string requires one of the following: Root - A string that begins with \"r-\" followed by from 4 to 32 lowercase letters or digits. Organizational unit (OU) - A string that begins with \"ou-\" followed by from 4 to 32 lowercase letters or digits (the ID of the root that the OU is in). This string is followed by a second \"-\" dash and from 8 to 32 additional lowercase letters or digits. ", + "ChildType": "Filters the output to include only the specified child type." +} + +Optional Parameters +{ + "MaxResults": "The total number of results that you want included on each page of the response. If you do not include this parameter, it defaults to a value that is specific to the operation. If additional items exist beyond the maximum you specify, the NextToken response element is present and has a value (is not null). Include that value as the NextToken request parameter in the next call to the operation to get the next part of the results. Note that Organizations might return fewer results than the maximum even when there are more results available. You should check NextToken after every operation to ensure that you receive all of the results.", + "NextToken": "The parameter for receiving additional results if you receive a NextToken response in a previous request. A NextToken response indicates that more output is available. Set this parameter to the value of the previous call's NextToken response to indicate where the output should continue from." +} +""" +ListChildren(args) = organizations("ListChildren", args) + +""" + ListCreateAccountStatus() + +Lists the account creation requests that match the specified status that is currently being tracked for the organization. Always check the NextToken response parameter for a null value when calling a List* operation. These operations can occasionally return an empty set of results even when there are more results available. The NextToken response parameter value is null only when there are no more results to display. This operation can be called only from the organization's master account or by a member account that is a delegated administrator for an AWS service. + +Optional Parameters +{ + "MaxResults": "The total number of results that you want included on each page of the response. If you do not include this parameter, it defaults to a value that is specific to the operation. If additional items exist beyond the maximum you specify, the NextToken response element is present and has a value (is not null). Include that value as the NextToken request parameter in the next call to the operation to get the next part of the results. Note that Organizations might return fewer results than the maximum even when there are more results available. You should check NextToken after every operation to ensure that you receive all of the results.", + "NextToken": "The parameter for receiving additional results if you receive a NextToken response in a previous request. A NextToken response indicates that more output is available. Set this parameter to the value of the previous call's NextToken response to indicate where the output should continue from.", + "States": "A list of one or more states that you want included in the response. If this parameter isn't present, all requests are included in the response." +} +""" +ListCreateAccountStatus() = organizations("ListCreateAccountStatus") +ListCreateAccountStatus(args) = organizations("ListCreateAccountStatus", args) + +""" + ListDelegatedServicesForAccount() + +List the AWS services for which the specified account is a delegated administrator. This operation can be called only from the organization's master account or by a member account that is a delegated administrator for an AWS service. + +Required Parameters +{ + "AccountId": "The account ID number of a delegated administrator account in the organization." +} + +Optional Parameters +{ + "MaxResults": "The total number of results that you want included on each page of the response. If you do not include this parameter, it defaults to a value that is specific to the operation. If additional items exist beyond the maximum you specify, the NextToken response element is present and has a value (is not null). Include that value as the NextToken request parameter in the next call to the operation to get the next part of the results. Note that Organizations might return fewer results than the maximum even when there are more results available. You should check NextToken after every operation to ensure that you receive all of the results.", + "NextToken": "The parameter for receiving additional results if you receive a NextToken response in a previous request. A NextToken response indicates that more output is available. Set this parameter to the value of the previous call's NextToken response to indicate where the output should continue from." +} +""" +ListDelegatedServicesForAccount(args) = organizations("ListDelegatedServicesForAccount", args) + +""" + DeletePolicy() + +Deletes the specified policy from your organization. Before you perform this operation, you must first detach the policy from all organizational units (OUs), roots, and accounts. This operation can be called only from the organization's master account. + +Required Parameters +{ + "PolicyId": "The unique identifier (ID) of the policy that you want to delete. You can get the ID from the ListPolicies or ListPoliciesForTarget operations. The regex pattern for a policy ID string requires \"p-\" followed by from 8 to 128 lowercase or uppercase letters, digits, or the underscore character (_)." +} +""" +DeletePolicy(args) = organizations("DeletePolicy", args) + +""" + CreateOrganization() + +Creates an AWS organization. The account whose user is calling the CreateOrganization operation automatically becomes the master account of the new organization. This operation must be called using credentials from the account that is to become the new organization's master account. The principal must also have the relevant IAM permissions. By default (or if you set the FeatureSet parameter to ALL), the new organization is created with all features enabled and service control policies automatically enabled in the root. If you instead choose to create the organization supporting only the consolidated billing features by setting the FeatureSet parameter to CONSOLIDATED_BILLING", no policy types are enabled by default, and you can't use organization policies + +Optional Parameters +{ + "FeatureSet": "Specifies the feature set supported by the new organization. Each feature set supports different levels of functionality. CONSOLIDATED_BILLING: All member accounts have their bills consolidated to and paid by the master account. For more information, see Consolidated billing in the AWS Organizations User Guide. The consolidated billing feature subset isn't available for organizations in the AWS GovCloud (US) Region. ALL: In addition to all the features supported by the consolidated billing feature set, the master account can also apply any policy type to any member account in the organization. For more information, see All features in the AWS Organizations User Guide. " +} +""" +CreateOrganization() = organizations("CreateOrganization") +CreateOrganization(args) = organizations("CreateOrganization", args) + +""" + ListParents() + +Lists the root or organizational units (OUs) that serve as the immediate parent of the specified child OU or account. This operation, along with ListChildren enables you to traverse the tree structure that makes up this root. Always check the NextToken response parameter for a null value when calling a List* operation. These operations can occasionally return an empty set of results even when there are more results available. The NextToken response parameter value is null only when there are no more results to display. This operation can be called only from the organization's master account or by a member account that is a delegated administrator for an AWS service. In the current release, a child can have only a single parent. + +Required Parameters +{ + "ChildId": "The unique identifier (ID) of the OU or account whose parent containers you want to list. Don't specify a root. The regex pattern for a child ID string requires one of the following: Account - A string that consists of exactly 12 digits. Organizational unit (OU) - A string that begins with \"ou-\" followed by from 4 to 32 lowercase letters or digits (the ID of the root that contains the OU). This string is followed by a second \"-\" dash and from 8 to 32 additional lowercase letters or digits. " +} + +Optional Parameters +{ + "MaxResults": "The total number of results that you want included on each page of the response. If you do not include this parameter, it defaults to a value that is specific to the operation. If additional items exist beyond the maximum you specify, the NextToken response element is present and has a value (is not null). Include that value as the NextToken request parameter in the next call to the operation to get the next part of the results. Note that Organizations might return fewer results than the maximum even when there are more results available. You should check NextToken after every operation to ensure that you receive all of the results.", + "NextToken": "The parameter for receiving additional results if you receive a NextToken response in a previous request. A NextToken response indicates that more output is available. Set this parameter to the value of the previous call's NextToken response to indicate where the output should continue from." +} +""" +ListParents(args) = organizations("ListParents", args) + +""" + ListAWSServiceAccessForOrganization() + +Returns a list of the AWS services that you enabled to integrate with your organization. After a service on this list creates the resources that it requires for the integration, it can perform operations on your organization and its accounts. For more information about integrating other services with AWS Organizations, including the list of services that currently work with Organizations, see Integrating AWS Organizations with Other AWS Services in the AWS Organizations User Guide. This operation can be called only from the organization's master account or by a member account that is a delegated administrator for an AWS service. + +Optional Parameters +{ + "MaxResults": "The total number of results that you want included on each page of the response. If you do not include this parameter, it defaults to a value that is specific to the operation. If additional items exist beyond the maximum you specify, the NextToken response element is present and has a value (is not null). Include that value as the NextToken request parameter in the next call to the operation to get the next part of the results. Note that Organizations might return fewer results than the maximum even when there are more results available. You should check NextToken after every operation to ensure that you receive all of the results.", + "NextToken": "The parameter for receiving additional results if you receive a NextToken response in a previous request. A NextToken response indicates that more output is available. Set this parameter to the value of the previous call's NextToken response to indicate where the output should continue from." +} +""" +ListAWSServiceAccessForOrganization() = organizations("ListAWSServiceAccessForOrganization") +ListAWSServiceAccessForOrganization(args) = organizations("ListAWSServiceAccessForOrganization", args) + +""" + ListAccounts() + +Lists all the accounts in the organization. To request only the accounts in a specified root or organizational unit (OU), use the ListAccountsForParent operation instead. Always check the NextToken response parameter for a null value when calling a List* operation. These operations can occasionally return an empty set of results even when there are more results available. The NextToken response parameter value is null only when there are no more results to display. This operation can be called only from the organization's master account or by a member account that is a delegated administrator for an AWS service. + +Optional Parameters +{ + "MaxResults": "The total number of results that you want included on each page of the response. If you do not include this parameter, it defaults to a value that is specific to the operation. If additional items exist beyond the maximum you specify, the NextToken response element is present and has a value (is not null). Include that value as the NextToken request parameter in the next call to the operation to get the next part of the results. Note that Organizations might return fewer results than the maximum even when there are more results available. You should check NextToken after every operation to ensure that you receive all of the results.", + "NextToken": "The parameter for receiving additional results if you receive a NextToken response in a previous request. A NextToken response indicates that more output is available. Set this parameter to the value of the previous call's NextToken response to indicate where the output should continue from." +} +""" +ListAccounts() = organizations("ListAccounts") +ListAccounts(args) = organizations("ListAccounts", args) + +""" + UntagResource() + +Removes a tag from the specified resource. Currently, you can tag and untag accounts in AWS Organizations. This operation can be called only from the organization's master account. + +Required Parameters +{ + "ResourceId": "The ID of the resource to remove the tag from.", + "TagKeys": "The tag to remove from the specified resource." +} +""" +UntagResource(args) = organizations("UntagResource", args) + +""" + DisablePolicyType() + +Disables an organizational control policy type in a root. A policy of a certain type can be attached to entities in a root only if that type is enabled in the root. After you perform this operation, you no longer can attach policies of the specified type to that root or to any organizational unit (OU) or account in that root. You can undo this by using the EnablePolicyType operation. This is an asynchronous request that AWS performs in the background. If you disable a policy for a root, it still appears enabled for the organization if all features are enabled for the organization. AWS recommends that you first use ListRoots to see the status of policy types for a specified root, and then use this operation. This operation can be called only from the organization's master account. To view the status of available policy types in the organization, use DescribeOrganization. + +Required Parameters +{ + "PolicyType": "The policy type that you want to disable in this root.", + "RootId": "The unique identifier (ID) of the root in which you want to disable a policy type. You can get the ID from the ListRoots operation. The regex pattern for a root ID string requires \"r-\" followed by from 4 to 32 lowercase letters or digits." +} +""" +DisablePolicyType(args) = organizations("DisablePolicyType", args) + +""" + ListDelegatedAdministrators() + +Lists the AWS accounts that are designated as delegated administrators in this organization. This operation can be called only from the organization's master account or by a member account that is a delegated administrator for an AWS service. + +Optional Parameters +{ + "MaxResults": "The total number of results that you want included on each page of the response. If you do not include this parameter, it defaults to a value that is specific to the operation. If additional items exist beyond the maximum you specify, the NextToken response element is present and has a value (is not null). Include that value as the NextToken request parameter in the next call to the operation to get the next part of the results. Note that Organizations might return fewer results than the maximum even when there are more results available. You should check NextToken after every operation to ensure that you receive all of the results.", + "ServicePrincipal": "Specifies a service principal name. If specified, then the operation lists the delegated administrators only for the specified service. If you don't specify a service principal, the operation lists all delegated administrators for all services in your organization.", + "NextToken": "The parameter for receiving additional results if you receive a NextToken response in a previous request. A NextToken response indicates that more output is available. Set this parameter to the value of the previous call's NextToken response to indicate where the output should continue from." +} +""" +ListDelegatedAdministrators() = organizations("ListDelegatedAdministrators") +ListDelegatedAdministrators(args) = organizations("ListDelegatedAdministrators", args) + +""" + DeregisterDelegatedAdministrator() + +Removes the specified member AWS account as a delegated administrator for the specified AWS service. You can run this action only for AWS services that support this feature. For a current list of services that support it, see AWS Services That Support Using Delegated Administrators in the AWS Organizations User Guide. This operation can be called only from the organization's master account. + +Required Parameters +{ + "ServicePrincipal": "The service principal name of an AWS service for which the account is a delegated administrator. Delegated administrator privileges are revoked for only the specified AWS service from the member account. If the specified service is the only service for which the member account is a delegated administrator, the operation also revokes Organizations read action permissions.", + "AccountId": "The account ID number of the member account in the organization that you want to deregister as a delegated administrator." +} +""" +DeregisterDelegatedAdministrator(args) = organizations("DeregisterDelegatedAdministrator", args) + +""" + RemoveAccountFromOrganization() + +Removes the specified account from the organization. The removed account becomes a standalone account that isn't a member of any organization. It's no longer subject to any policies and is responsible for its own bill payments. The organization's master account is no longer charged for any expenses accrued by the member account after it's removed from the organization. This operation can be called only from the organization's master account. Member accounts can remove themselves with LeaveOrganization instead. You can remove an account from your organization only if the account is configured with the information required to operate as a standalone account. When you create an account in an organization using the AWS Organizations console, API, or CLI commands, the information required of standalone accounts is not automatically collected. For an account that you want to make standalone, you must accept the end user license agreement (EULA), choose a support plan, provide and verify the required contact information, and provide a current payment method. AWS uses the payment method to charge for any billable (not free tier) AWS activity that occurs while the account isn't attached to an organization. To remove an account that doesn't yet have this information, you must sign in as the member account and follow the steps at To leave an organization when all required account information has not yet been provided in the AWS Organizations User Guide. + +Required Parameters +{ + "AccountId": "The unique identifier (ID) of the member account that you want to remove from the organization. The regex pattern for an account ID string requires exactly 12 digits." +} +""" +RemoveAccountFromOrganization(args) = organizations("RemoveAccountFromOrganization", args) + +""" + UpdateOrganizationalUnit() + +Renames the specified organizational unit (OU). The ID and ARN don't change. The child OUs and accounts remain in place, and any attached policies of the OU remain attached. This operation can be called only from the organization's master account. + +Required Parameters +{ + "OrganizationalUnitId": "The unique identifier (ID) of the OU that you want to rename. You can get the ID from the ListOrganizationalUnitsForParent operation. The regex pattern for an organizational unit ID string requires \"ou-\" followed by from 4 to 32 lowercase letters or digits (the ID of the root that contains the OU). This string is followed by a second \"-\" dash and from 8 to 32 additional lowercase letters or digits." +} + +Optional Parameters +{ + "Name": "The new name that you want to assign to the OU. The regex pattern that is used to validate this parameter is a string of any of the characters in the ASCII character range." +} +""" +UpdateOrganizationalUnit(args) = organizations("UpdateOrganizationalUnit", args) + +""" + ListTagsForResource() + +Lists tags for the specified resource. Currently, you can list tags on an account in AWS Organizations. This operation can be called only from the organization's master account or by a member account that is a delegated administrator for an AWS service. + +Required Parameters +{ + "ResourceId": "The ID of the resource that you want to retrieve tags for. " +} + +Optional Parameters +{ + "NextToken": "The parameter for receiving additional results if you receive a NextToken response in a previous request. A NextToken response indicates that more output is available. Set this parameter to the value of the previous call's NextToken response to indicate where the output should continue from." +} +""" +ListTagsForResource(args) = organizations("ListTagsForResource", args) + +""" + MoveAccount() + +Moves an account from its current source parent root or organizational unit (OU) to the specified destination parent root or OU. This operation can be called only from the organization's master account. + +Required Parameters +{ + "AccountId": "The unique identifier (ID) of the account that you want to move. The regex pattern for an account ID string requires exactly 12 digits.", + "SourceParentId": "The unique identifier (ID) of the root or organizational unit that you want to move the account from. The regex pattern for a parent ID string requires one of the following: Root - A string that begins with \"r-\" followed by from 4 to 32 lowercase letters or digits. Organizational unit (OU) - A string that begins with \"ou-\" followed by from 4 to 32 lowercase letters or digits (the ID of the root that the OU is in). This string is followed by a second \"-\" dash and from 8 to 32 additional lowercase letters or digits. ", + "DestinationParentId": "The unique identifier (ID) of the root or organizational unit that you want to move the account to. The regex pattern for a parent ID string requires one of the following: Root - A string that begins with \"r-\" followed by from 4 to 32 lowercase letters or digits. Organizational unit (OU) - A string that begins with \"ou-\" followed by from 4 to 32 lowercase letters or digits (the ID of the root that the OU is in). This string is followed by a second \"-\" dash and from 8 to 32 additional lowercase letters or digits. " +} +""" +MoveAccount(args) = organizations("MoveAccount", args) + +""" + DeleteOrganizationalUnit() + +Deletes an organizational unit (OU) from a root or another OU. You must first remove all accounts and child OUs from the OU that you want to delete. This operation can be called only from the organization's master account. + +Required Parameters +{ + "OrganizationalUnitId": "The unique identifier (ID) of the organizational unit that you want to delete. You can get the ID from the ListOrganizationalUnitsForParent operation. The regex pattern for an organizational unit ID string requires \"ou-\" followed by from 4 to 32 lowercase letters or digits (the ID of the root that contains the OU). This string is followed by a second \"-\" dash and from 8 to 32 additional lowercase letters or digits." +} +""" +DeleteOrganizationalUnit(args) = organizations("DeleteOrganizationalUnit", args) + +""" + DeleteOrganization() + +Deletes the organization. You can delete an organization only by using credentials from the master account. The organization must be empty of member accounts. +""" +DeleteOrganization() = organizations("DeleteOrganization") +DeleteOrganization(args) = organizations("DeleteOrganization", args) + +""" + AttachPolicy() + +Attaches a policy to a root, an organizational unit (OU), or an individual account. How the policy affects accounts depends on the type of policy: Service control policy (SCP) - An SCP specifies what permissions can be delegated to users in affected member accounts. The scope of influence for a policy depends on what you attach the policy to: If you attach an SCP to a root, it affects all accounts in the organization. If you attach an SCP to an OU, it affects all accounts in that OU and in any child OUs. If you attach the policy directly to an account, it affects only that account. SCPs are JSON policies that specify the maximum permissions for an organization or organizational unit (OU). You can attach one SCP to a higher level root or OU, and a different SCP to a child OU or to an account. The child policy can further restrict only the permissions that pass through the parent filter and are available to the child. An SCP that is attached to a child can't grant a permission that the parent hasn't already granted. For example, imagine that the parent SCP allows permissions A, B, C, D, and E. The child SCP allows C, D, E, F, and G. The result is that the accounts affected by the child SCP are allowed to use only C, D, and E. They can't use A or B because the child OU filtered them out. They also can't use F and G because the parent OU filtered them out. They can't be granted back by the child SCP; child SCPs can only filter the permissions they receive from the parent SCP. AWS Organizations attaches a default SCP named "FullAWSAccess to every root, OU, and account. This default SCP allows all services and actions, enabling any new child OU or account to inherit the permissions of the parent root or OU. If you detach the default policy, you must replace it with a policy that specifies the permissions that you want to allow in that OU or account. For more information about how AWS Organizations policies permissions work, see Using Service Control Policies in the AWS Organizations User Guide. This operation can be called only from the organization's master account. + +Required Parameters +{ + "PolicyId": "The unique identifier (ID) of the policy that you want to attach to the target. You can get the ID for the policy by calling the ListPolicies operation. The regex pattern for a policy ID string requires \"p-\" followed by from 8 to 128 lowercase or uppercase letters, digits, or the underscore character (_).", + "TargetId": "The unique identifier (ID) of the root, OU, or account that you want to attach the policy to. You can get the ID by calling the ListRoots, ListOrganizationalUnitsForParent, or ListAccounts operations. The regex pattern for a target ID string requires one of the following: Root - A string that begins with \"r-\" followed by from 4 to 32 lowercase letters or digits. Account - A string that consists of exactly 12 digits. Organizational unit (OU) - A string that begins with \"ou-\" followed by from 4 to 32 lowercase letters or digits (the ID of the root that the OU is in). This string is followed by a second \"-\" dash and from 8 to 32 additional lowercase letters or digits. " +} +""" +AttachPolicy(args) = organizations("AttachPolicy", args) + +""" + CreateOrganizationalUnit() + +Creates an organizational unit (OU) within a root or parent OU. An OU is a container for accounts that enables you to organize your accounts to apply policies according to your business requirements. The number of levels deep that you can nest OUs is dependent upon the policy types enabled for that root. For service control policies, the limit is five. For more information about OUs, see Managing Organizational Units in the AWS Organizations User Guide. This operation can be called only from the organization's master account. + +Required Parameters +{ + "ParentId": "The unique identifier (ID) of the parent root or OU that you want to create the new OU in. The regex pattern for a parent ID string requires one of the following: Root - A string that begins with \"r-\" followed by from 4 to 32 lowercase letters or digits. Organizational unit (OU) - A string that begins with \"ou-\" followed by from 4 to 32 lowercase letters or digits (the ID of the root that the OU is in). This string is followed by a second \"-\" dash and from 8 to 32 additional lowercase letters or digits. ", + "Name": "The friendly name to assign to the new OU." +} +""" +CreateOrganizationalUnit(args) = organizations("CreateOrganizationalUnit", args) + +""" + ListRoots() + +Lists the roots that are defined in the current organization. Always check the NextToken response parameter for a null value when calling a List* operation. These operations can occasionally return an empty set of results even when there are more results available. The NextToken response parameter value is null only when there are no more results to display. This operation can be called only from the organization's master account or by a member account that is a delegated administrator for an AWS service. Policy types can be enabled and disabled in roots. This is distinct from whether they're available in the organization. When you enable all features, you make policy types available for use in that organization. Individual policy types can then be enabled and disabled in a root. To see the availability of a policy type in an organization, use DescribeOrganization. + +Optional Parameters +{ + "MaxResults": "The total number of results that you want included on each page of the response. If you do not include this parameter, it defaults to a value that is specific to the operation. If additional items exist beyond the maximum you specify, the NextToken response element is present and has a value (is not null). Include that value as the NextToken request parameter in the next call to the operation to get the next part of the results. Note that Organizations might return fewer results than the maximum even when there are more results available. You should check NextToken after every operation to ensure that you receive all of the results.", + "NextToken": "The parameter for receiving additional results if you receive a NextToken response in a previous request. A NextToken response indicates that more output is available. Set this parameter to the value of the previous call's NextToken response to indicate where the output should continue from." +} +""" +ListRoots() = organizations("ListRoots") +ListRoots(args) = organizations("ListRoots", args) + +""" + InviteAccountToOrganization() + +Sends an invitation to another account to join your organization as a member account. AWS Organizations sends email on your behalf to the email address that is associated with the other account's owner. The invitation is implemented as a Handshake whose details are in the response. You can invite AWS accounts only from the same seller as the master account. For example, if your organization's master account was created by Amazon Internet Services Pvt. Ltd (AISPL), an AWS seller in India, you can invite only other AISPL accounts to your organization. You can't combine accounts from AISPL and AWS or from any other AWS seller. For more information, see Consolidated Billing in India. If you receive an exception that indicates that you exceeded your account limits for the organization or that the operation failed because your organization is still initializing, wait one hour and then try again. If the error persists after an hour, contact AWS Support. This operation can be called only from the organization's master account. + +Required Parameters +{ + "Target": "The identifier (ID) of the AWS account that you want to invite to join your organization. This is a JSON object that contains the following elements: { \"Type\": \"ACCOUNT\", \"Id\": \"< account id number >\" } If you use the AWS CLI, you can submit this as a single string, similar to the following example: --target Id=123456789012,Type=ACCOUNT If you specify \"Type\": \"ACCOUNT\", you must provide the AWS account ID number as the Id. If you specify \"Type\": \"EMAIL\", you must specify the email address that is associated with the account. --target Id=diego@example.com,Type=EMAIL " +} + +Optional Parameters +{ + "Notes": "Additional information that you want to include in the generated email to the recipient account owner." +} +""" +InviteAccountToOrganization(args) = organizations("InviteAccountToOrganization", args) + +""" + LeaveOrganization() + +Removes a member account from its parent organization. This version of the operation is performed by the account that wants to leave. To remove a member account as a user in the master account, use RemoveAccountFromOrganization instead. This operation can be called only from a member account in the organization. The master account in an organization with all features enabled can set service control policies (SCPs) that can restrict what administrators of member accounts can do. This includes preventing them from successfully calling LeaveOrganization and leaving the organization. You can leave an organization as a member account only if the account is configured with the information required to operate as a standalone account. When you create an account in an organization using the AWS Organizations console, API, or CLI commands, the information required of standalone accounts is not automatically collected. For each account that you want to make standalone, you must do the following steps: Accept the end user license agreement (EULA) Choose a support plan Provide and verify the required contact information Provide a current payment method AWS uses the payment method to charge for any billable (not free tier) AWS activity that occurs while the account isn't attached to an organization. Follow the steps at To leave an organization when all required account information has not yet been provided in the AWS Organizations User Guide. You can leave an organization only after you enable IAM user access to billing in your account. For more information, see Activating Access to the Billing and Cost Management Console in the AWS Billing and Cost Management User Guide. +""" +LeaveOrganization() = organizations("LeaveOrganization") +LeaveOrganization(args) = organizations("LeaveOrganization", args) + +""" + ListAccountsForParent() + +Lists the accounts in an organization that are contained by the specified target root or organizational unit (OU). If you specify the root, you get a list of all the accounts that aren't in any OU. If you specify an OU, you get a list of all the accounts in only that OU and not in any child OUs. To get a list of all accounts in the organization, use the ListAccounts operation. Always check the NextToken response parameter for a null value when calling a List* operation. These operations can occasionally return an empty set of results even when there are more results available. The NextToken response parameter value is null only when there are no more results to display. This operation can be called only from the organization's master account or by a member account that is a delegated administrator for an AWS service. + +Required Parameters +{ + "ParentId": "The unique identifier (ID) for the parent root or organization unit (OU) whose accounts you want to list." +} + +Optional Parameters +{ + "MaxResults": "The total number of results that you want included on each page of the response. If you do not include this parameter, it defaults to a value that is specific to the operation. If additional items exist beyond the maximum you specify, the NextToken response element is present and has a value (is not null). Include that value as the NextToken request parameter in the next call to the operation to get the next part of the results. Note that Organizations might return fewer results than the maximum even when there are more results available. You should check NextToken after every operation to ensure that you receive all of the results.", + "NextToken": "The parameter for receiving additional results if you receive a NextToken response in a previous request. A NextToken response indicates that more output is available. Set this parameter to the value of the previous call's NextToken response to indicate where the output should continue from." +} +""" +ListAccountsForParent(args) = organizations("ListAccountsForParent", args) + +""" + EnablePolicyType() + +Enables a policy type in a root. After you enable a policy type in a root, you can attach policies of that type to the root, any organizational unit (OU), or account in that root. You can undo this by using the DisablePolicyType operation. This is an asynchronous request that AWS performs in the background. AWS recommends that you first use ListRoots to see the status of policy types for a specified root, and then use this operation. This operation can be called only from the organization's master account. You can enable a policy type in a root only if that policy type is available in the organization. To view the status of available policy types in the organization, use DescribeOrganization. + +Required Parameters +{ + "PolicyType": "The policy type that you want to enable.", + "RootId": "The unique identifier (ID) of the root in which you want to enable a policy type. You can get the ID from the ListRoots operation. The regex pattern for a root ID string requires \"r-\" followed by from 4 to 32 lowercase letters or digits." +} +""" +EnablePolicyType(args) = organizations("EnablePolicyType", args) + +""" + UpdatePolicy() + +Updates an existing policy with a new name, description, or content. If you don't supply any parameter, that value remains unchanged. You can't change a policy's type. This operation can be called only from the organization's master account. + +Required Parameters +{ + "PolicyId": "The unique identifier (ID) of the policy that you want to update. The regex pattern for a policy ID string requires \"p-\" followed by from 8 to 128 lowercase or uppercase letters, digits, or the underscore character (_)." +} + +Optional Parameters +{ + "Description": "If provided, the new description for the policy.", + "Content": "If provided, the new content for the policy. The text must be correctly formatted JSON that complies with the syntax for the policy's type. For more information, see Service Control Policy Syntax in the AWS Organizations User Guide. ", + "Name": "If provided, the new name for the policy. The regex pattern that is used to validate this parameter is a string of any of the characters in the ASCII character range." +} +""" +UpdatePolicy(args) = organizations("UpdatePolicy", args) + +""" + ListPolicies() + +Retrieves the list of all policies in an organization of a specified type. Always check the NextToken response parameter for a null value when calling a List* operation. These operations can occasionally return an empty set of results even when there are more results available. The NextToken response parameter value is null only when there are no more results to display. This operation can be called only from the organization's master account or by a member account that is a delegated administrator for an AWS service. + +Required Parameters +{ + "Filter": "Specifies the type of policy that you want to include in the response." +} + +Optional Parameters +{ + "MaxResults": "The total number of results that you want included on each page of the response. If you do not include this parameter, it defaults to a value that is specific to the operation. If additional items exist beyond the maximum you specify, the NextToken response element is present and has a value (is not null). Include that value as the NextToken request parameter in the next call to the operation to get the next part of the results. Note that Organizations might return fewer results than the maximum even when there are more results available. You should check NextToken after every operation to ensure that you receive all of the results.", + "NextToken": "The parameter for receiving additional results if you receive a NextToken response in a previous request. A NextToken response indicates that more output is available. Set this parameter to the value of the previous call's NextToken response to indicate where the output should continue from." +} +""" +ListPolicies(args) = organizations("ListPolicies", args) + +""" + AcceptHandshake() + +Sends a response to the originator of a handshake agreeing to the action proposed by the handshake request. This operation can be called only by the following principals when they also have the relevant IAM permissions: Invitation to join or Approve all features request handshakes: only a principal from the member account. The user who calls the API for an invitation to join must have the organizations:AcceptHandshake permission. If you enabled all features in the organization, the user must also have the iam:CreateServiceLinkedRole permission so that AWS Organizations can create the required service-linked role named AWSServiceRoleForOrganizations. For more information, see AWS Organizations and Service-Linked Roles in the AWS Organizations User Guide. Enable all features final confirmation handshake: only a principal from the master account. For more information about invitations, see Inviting an AWS Account to Join Your Organization in the AWS Organizations User Guide. For more information about requests to enable all features in the organization, see Enabling All Features in Your Organization in the AWS Organizations User Guide. After you accept a handshake, it continues to appear in the results of relevant APIs for only 30 days. After that, it's deleted. + +Required Parameters +{ + "HandshakeId": "The unique identifier (ID) of the handshake that you want to accept. The regex pattern for handshake ID string requires \"h-\" followed by from 8 to 32 lowercase letters or digits." +} +""" +AcceptHandshake(args) = organizations("AcceptHandshake", args) + +""" + CreatePolicy() + +Creates a policy of a specified type that you can attach to a root, an organizational unit (OU), or an individual AWS account. For more information about policies and their use, see Managing Organization Policies. This operation can be called only from the organization's master account. + +Required Parameters +{ + "Description": "An optional description to assign to the policy.", + "Content": "The policy content to add to the new policy. For example, if you create a service control policy (SCP), this string must be JSON text that specifies the permissions that admins in attached accounts can delegate to their users, groups, and roles. For more information about the SCP syntax, see Service Control Policy Syntax in the AWS Organizations User Guide. ", + "Type": "The type of policy to create. In the current release, the only type of policy that you can create is a service control policy (SCP). ", + "Name": "The friendly name to assign to the policy. The regex pattern that is used to validate this parameter is a string of any of the characters in the ASCII character range." +} +""" +CreatePolicy(args) = organizations("CreatePolicy", args) + +""" + DescribeCreateAccountStatus() + +Retrieves the current status of an asynchronous request to create an account. This operation can be called only from the organization's master account or by a member account that is a delegated administrator for an AWS service. + +Required Parameters +{ + "CreateAccountRequestId": "Specifies the operationId that uniquely identifies the request. You can get the ID from the response to an earlier CreateAccount request, or from the ListCreateAccountStatus operation. The regex pattern for a create account request ID string requires \"car-\" followed by from 8 to 32 lowercase letters or digits." +} +""" +DescribeCreateAccountStatus(args) = organizations("DescribeCreateAccountStatus", args) + +""" + CreateAccount() + +Creates an AWS account that is automatically a member of the organization whose credentials made the request. This is an asynchronous request that AWS performs in the background. Because CreateAccount operates asynchronously, it can return a successful completion message even though account initialization might still be in progress. You might need to wait a few minutes before you can successfully access the account. To check the status of the request, do one of the following: Use the OperationId response element from this operation to provide as a parameter to the DescribeCreateAccountStatus operation. Check the AWS CloudTrail log for the CreateAccountResult event. For information on using AWS CloudTrail with AWS Organizations, see Monitoring the Activity in Your Organization in the AWS Organizations User Guide. The user who calls the API to create an account must have the organizations:CreateAccount permission. If you enabled all features in the organization, AWS Organizations creates the required service-linked role named AWSServiceRoleForOrganizations. For more information, see AWS Organizations and Service-Linked Roles in the AWS Organizations User Guide. AWS Organizations preconfigures the new member account with a role (named OrganizationAccountAccessRole by default) that grants users in the master account administrator permissions in the new member account. Principals in the master account can assume the role. AWS Organizations clones the company name and address information for the new account from the organization's master account. This operation can be called only from the organization's master account. For more information about creating accounts, see Creating an AWS Account in Your Organization in the AWS Organizations User Guide. When you create an account in an organization using the AWS Organizations console, API, or CLI commands, the information required for the account to operate as a standalone account, such as a payment method and signing the end user license agreement (EULA) is not automatically collected. If you must remove an account from your organization later, you can do so only after you provide the missing information. Follow the steps at To leave an organization as a member account in the AWS Organizations User Guide. If you get an exception that indicates that you exceeded your account limits for the organization, contact AWS Support. If you get an exception that indicates that the operation failed because your organization is still initializing, wait one hour and then try again. If the error persists, contact AWS Support. Using CreateAccount to create multiple temporary accounts isn't recommended. You can only close an account from the Billing and Cost Management Console, and you must be signed in as the root user. For information on the requirements and process for closing an account, see Closing an AWS Account in the AWS Organizations User Guide. When you create a member account with this operation, you can choose whether to create the account with the IAM User and Role Access to Billing Information switch enabled. If you enable it, IAM users and roles that have appropriate permissions can view billing information for the account. If you disable it, only the account root user can access billing information. For information about how to disable this switch for an account, see Granting Access to Your Billing Information and Tools. + +Required Parameters +{ + "Email": "The email address of the owner to assign to the new member account. This email address must not already be associated with another AWS account. You must use a valid email address to complete account creation. You can't access the root user of the account or remove an account that was created with an invalid email address.", + "AccountName": "The friendly name of the member account." +} + +Optional Parameters +{ + "IamUserAccessToBilling": "If set to ALLOW, the new account enables IAM users to access account billing information if they have the required permissions. If set to DENY, only the root user of the new account can access account billing information. For more information, see Activating Access to the Billing and Cost Management Console in the AWS Billing and Cost Management User Guide. If you don't specify this parameter, the value defaults to ALLOW, and IAM users and roles with the required permissions can access billing information for the new account.", + "RoleName": "(Optional) The name of an IAM role that AWS Organizations automatically preconfigures in the new member account. This role trusts the master account, allowing users in the master account to assume the role, as permitted by the master account administrator. The role has administrator permissions in the new member account. If you don't specify this parameter, the role name defaults to OrganizationAccountAccessRole. For more information about how to use this role to access the member account, see the following links: Accessing and Administering the Member Accounts in Your Organization in the AWS Organizations User Guide Steps 2 and 3 in Tutorial: Delegate Access Across AWS Accounts Using IAM Roles in the IAM User Guide The regex pattern that is used to validate this parameter. The pattern can include uppercase letters, lowercase letters, digits with no spaces, and any of the following characters: =,.@-" +} +""" +CreateAccount(args) = organizations("CreateAccount", args) + +""" + DeclineHandshake() + +Declines a handshake request. This sets the handshake state to DECLINED and effectively deactivates the request. This operation can be called only from the account that received the handshake. The originator of the handshake can use CancelHandshake instead. The originator can't reactivate a declined request, but can reinitiate the process with a new handshake request. After you decline a handshake, it continues to appear in the results of relevant APIs for only 30 days. After that, it's deleted. + +Required Parameters +{ + "HandshakeId": "The unique identifier (ID) of the handshake that you want to decline. You can get the ID from the ListHandshakesForAccount operation. The regex pattern for handshake ID string requires \"h-\" followed by from 8 to 32 lowercase letters or digits." +} +""" +DeclineHandshake(args) = organizations("DeclineHandshake", args) + +""" + DescribePolicy() + +Retrieves information about a policy. This operation can be called only from the organization's master account or by a member account that is a delegated administrator for an AWS service. + +Required Parameters +{ + "PolicyId": "The unique identifier (ID) of the policy that you want details about. You can get the ID from the ListPolicies or ListPoliciesForTarget operations. The regex pattern for a policy ID string requires \"p-\" followed by from 8 to 128 lowercase or uppercase letters, digits, or the underscore character (_)." +} +""" +DescribePolicy(args) = organizations("DescribePolicy", args) + +""" + DescribeAccount() + +Retrieves AWS Organizations-related information about the specified account. This operation can be called only from the organization's master account or by a member account that is a delegated administrator for an AWS service. + +Required Parameters +{ + "AccountId": "The unique identifier (ID) of the AWS account that you want information about. You can get the ID from the ListAccounts or ListAccountsForParent operations. The regex pattern for an account ID string requires exactly 12 digits." +} +""" +DescribeAccount(args) = organizations("DescribeAccount", args) + +""" + RegisterDelegatedAdministrator() + +Enables the specified member account to administer the Organizations features of the specified AWS service. It grants read-only access to AWS Organizations service data. The account still requires IAM permissions to access and administer the AWS service. You can run this action only for AWS services that support this feature. For a current list of services that support it, see AWS Services That Support Using Delegated Administrators in the AWS Organizations User Guide. This operation can be called only from the organization's master account. + +Required Parameters +{ + "ServicePrincipal": "The service principal of the AWS service for which you want to make the member account a delegated administrator.", + "AccountId": "The account ID number of the member account in the organization to register as a delegated administrator." +} +""" +RegisterDelegatedAdministrator(args) = organizations("RegisterDelegatedAdministrator", args) + +""" + CreateGovCloudAccount() + +This action is available if all of the following are true: You're authorized to create accounts in the AWS GovCloud (US) Region. For more information on the AWS GovCloud (US) Region, see the AWS GovCloud User Guide. You already have an account in the AWS GovCloud (US) Region that is associated with your master account in the commercial Region. You call this action from the master account of your organization in the commercial Region. You have the organizations:CreateGovCloudAccount permission. AWS Organizations creates the required service-linked role named AWSServiceRoleForOrganizations. For more information, see AWS Organizations and Service-Linked Roles in the AWS Organizations User Guide. AWS automatically enables AWS CloudTrail for AWS GovCloud (US) accounts, but you should also do the following: Verify that AWS CloudTrail is enabled to store logs. Create an S3 bucket for AWS CloudTrail log storage. For more information, see Verifying AWS CloudTrail Is Enabled in the AWS GovCloud User Guide. You call this action from the master account of your organization in the commercial Region to create a standalone AWS account in the AWS GovCloud (US) Region. After the account is created, the master account of an organization in the AWS GovCloud (US) Region can invite it to that organization. For more information on inviting standalone accounts in the AWS GovCloud (US) to join an organization, see AWS Organizations in the AWS GovCloud User Guide. Calling CreateGovCloudAccount is an asynchronous request that AWS performs in the background. Because CreateGovCloudAccount operates asynchronously, it can return a successful completion message even though account initialization might still be in progress. You might need to wait a few minutes before you can successfully access the account. To check the status of the request, do one of the following: Use the OperationId response element from this operation to provide as a parameter to the DescribeCreateAccountStatus operation. Check the AWS CloudTrail log for the CreateAccountResult event. For information on using AWS CloudTrail with Organizations, see Monitoring the Activity in Your Organization in the AWS Organizations User Guide. When you call the CreateGovCloudAccount action, you create two accounts: a standalone account in the AWS GovCloud (US) Region and an associated account in the commercial Region for billing and support purposes. The account in the commercial Region is automatically a member of the organization whose credentials made the request. Both accounts are associated with the same email address. A role is created in the new account in the commercial Region that allows the master account in the organization in the commercial Region to assume it. An AWS GovCloud (US) account is then created and associated with the commercial account that you just created. A role is created in the new AWS GovCloud (US) account that can be assumed by the AWS GovCloud (US) account that is associated with the master account of the commercial organization. For more information and to view a diagram that explains how account access works, see AWS Organizations in the AWS GovCloud User Guide. For more information about creating accounts, see Creating an AWS Account in Your Organization in the AWS Organizations User Guide. When you create an account in an organization using the AWS Organizations console, API, or CLI commands, the information required for the account to operate as a standalone account, such as a payment method and signing the end user license agreement (EULA) is not automatically collected. If you must remove an account from your organization later, you can do so only after you provide the missing information. Follow the steps at To leave an organization as a member account in the AWS Organizations User Guide. If you get an exception that indicates that you exceeded your account limits for the organization, contact AWS Support. If you get an exception that indicates that the operation failed because your organization is still initializing, wait one hour and then try again. If the error persists, contact AWS Support. Using CreateGovCloudAccount to create multiple temporary accounts isn't recommended. You can only close an account from the AWS Billing and Cost Management console, and you must be signed in as the root user. For information on the requirements and process for closing an account, see Closing an AWS Account in the AWS Organizations User Guide. When you create a member account with this operation, you can choose whether to create the account with the IAM User and Role Access to Billing Information switch enabled. If you enable it, IAM users and roles that have appropriate permissions can view billing information for the account. If you disable it, only the account root user can access billing information. For information about how to disable this switch for an account, see Granting Access to Your Billing Information and Tools. + +Required Parameters +{ + "Email": "The email address of the owner to assign to the new member account in the commercial Region. This email address must not already be associated with another AWS account. You must use a valid email address to complete account creation. You can't access the root user of the account or remove an account that was created with an invalid email address. Like all request parameters for CreateGovCloudAccount, the request for the email address for the AWS GovCloud (US) account originates from the commercial Region, not from the AWS GovCloud (US) Region.", + "AccountName": "The friendly name of the member account." +} + +Optional Parameters +{ + "IamUserAccessToBilling": "If set to ALLOW, the new linked account in the commercial Region enables IAM users to access account billing information if they have the required permissions. If set to DENY, only the root user of the new account can access account billing information. For more information, see Activating Access to the Billing and Cost Management Console in the AWS Billing and Cost Management User Guide. If you don't specify this parameter, the value defaults to ALLOW, and IAM users and roles with the required permissions can access billing information for the new account.", + "RoleName": "(Optional) The name of an IAM role that AWS Organizations automatically preconfigures in the new member accounts in both the AWS GovCloud (US) Region and in the commercial Region. This role trusts the master account, allowing users in the master account to assume the role, as permitted by the master account administrator. The role has administrator permissions in the new member account. If you don't specify this parameter, the role name defaults to OrganizationAccountAccessRole. For more information about how to use this role to access the member account, see Accessing and Administering the Member Accounts in Your Organization in the AWS Organizations User Guide and steps 2 and 3 in Tutorial: Delegate Access Across AWS Accounts Using IAM Roles in the IAM User Guide. The regex pattern that is used to validate this parameter. The pattern can include uppercase letters, lowercase letters, digits with no spaces, and any of the following characters: =,.@-" +} +""" +CreateGovCloudAccount(args) = organizations("CreateGovCloudAccount", args) + +""" + EnableAWSServiceAccess() + +Enables the integration of an AWS service (the service that is specified by ServicePrincipal) with AWS Organizations. When you enable integration, you allow the specified service to create a service-linked role in all the accounts in your organization. This allows the service to perform operations on your behalf in your organization and its accounts. We recommend that you enable integration between AWS Organizations and the specified AWS service by using the console or commands that are provided by the specified service. Doing so ensures that the service is aware that it can create the resources that are required for the integration. How the service creates those resources in the organization's accounts depends on that service. For more information, see the documentation for the other AWS service. For more information about enabling services to integrate with AWS Organizations, see Integrating AWS Organizations with Other AWS Services in the AWS Organizations User Guide. This operation can be called only from the organization's master account and only if the organization has enabled all features. + +Required Parameters +{ + "ServicePrincipal": "The service principal name of the AWS service for which you want to enable integration with your organization. This is typically in the form of a URL, such as service-abbreviation.amazonaws.com." +} +""" +EnableAWSServiceAccess(args) = organizations("EnableAWSServiceAccess", args) + +""" + ListHandshakesForOrganization() + +Lists the handshakes that are associated with the organization that the requesting user is part of. The ListHandshakesForOrganization operation returns a list of handshake structures. Each structure contains details and status about a handshake. Handshakes that are ACCEPTED, DECLINED, or CANCELED appear in the results of this API for only 30 days after changing to that state. After that, they're deleted and no longer accessible. Always check the NextToken response parameter for a null value when calling a List* operation. These operations can occasionally return an empty set of results even when there are more results available. The NextToken response parameter value is null only when there are no more results to display. This operation can be called only from the organization's master account or by a member account that is a delegated administrator for an AWS service. + +Optional Parameters +{ + "MaxResults": "The total number of results that you want included on each page of the response. If you do not include this parameter, it defaults to a value that is specific to the operation. If additional items exist beyond the maximum you specify, the NextToken response element is present and has a value (is not null). Include that value as the NextToken request parameter in the next call to the operation to get the next part of the results. Note that Organizations might return fewer results than the maximum even when there are more results available. You should check NextToken after every operation to ensure that you receive all of the results.", + "NextToken": "The parameter for receiving additional results if you receive a NextToken response in a previous request. A NextToken response indicates that more output is available. Set this parameter to the value of the previous call's NextToken response to indicate where the output should continue from.", + "Filter": "A filter of the handshakes that you want included in the response. The default is all types. Use the ActionType element to limit the output to only a specified type, such as INVITE, ENABLE-ALL-FEATURES, or APPROVE-ALL-FEATURES. Alternatively, for the ENABLE-ALL-FEATURES handshake that generates a separate child handshake for each member account, you can specify the ParentHandshakeId to see only the handshakes that were generated by that parent request." +} +""" +ListHandshakesForOrganization() = organizations("ListHandshakesForOrganization") +ListHandshakesForOrganization(args) = organizations("ListHandshakesForOrganization", args) + +""" + ListHandshakesForAccount() + +Lists the current handshakes that are associated with the account of the requesting user. Handshakes that are ACCEPTED, DECLINED, or CANCELED appear in the results of this API for only 30 days after changing to that state. After that, they're deleted and no longer accessible. Always check the NextToken response parameter for a null value when calling a List* operation. These operations can occasionally return an empty set of results even when there are more results available. The NextToken response parameter value is null only when there are no more results to display. This operation can be called only from the organization's master account or by a member account that is a delegated administrator for an AWS service. + +Optional Parameters +{ + "MaxResults": "The total number of results that you want included on each page of the response. If you do not include this parameter, it defaults to a value that is specific to the operation. If additional items exist beyond the maximum you specify, the NextToken response element is present and has a value (is not null). Include that value as the NextToken request parameter in the next call to the operation to get the next part of the results. Note that Organizations might return fewer results than the maximum even when there are more results available. You should check NextToken after every operation to ensure that you receive all of the results.", + "NextToken": "The parameter for receiving additional results if you receive a NextToken response in a previous request. A NextToken response indicates that more output is available. Set this parameter to the value of the previous call's NextToken response to indicate where the output should continue from.", + "Filter": "Filters the handshakes that you want included in the response. The default is all types. Use the ActionType element to limit the output to only a specified type, such as INVITE, ENABLE_ALL_FEATURES, or APPROVE_ALL_FEATURES. Alternatively, for the ENABLE_ALL_FEATURES handshake that generates a separate child handshake for each member account, you can specify ParentHandshakeId to see only the handshakes that were generated by that parent request." +} +""" +ListHandshakesForAccount() = organizations("ListHandshakesForAccount") +ListHandshakesForAccount(args) = organizations("ListHandshakesForAccount", args) diff --git a/src/services/outposts.jl b/src/services/outposts.jl new file mode 100644 index 0000000000..6611bd3e0b --- /dev/null +++ b/src/services/outposts.jl @@ -0,0 +1,104 @@ +include("../AWSServices.jl") +using .AWSServices: outposts + +""" + DeleteOutpost() + +Deletes the Outpost. + +Required Parameters +{ + "OutpostId": "" +} +""" +DeleteOutpost(args) = outposts("DELETE", "/outposts/{OutpostId}", args) + +""" + GetOutpost() + +Gets information about the specified Outpost. + +Required Parameters +{ + "OutpostId": "" +} +""" +GetOutpost(args) = outposts("GET", "/outposts/{OutpostId}", args) + +""" + CreateOutpost() + +Creates an Outpost. + +Required Parameters +{ + "SiteId": "" +} + +Optional Parameters +{ + "Description": "", + "AvailabilityZone": "", + "AvailabilityZoneId": "", + "Name": "" +} +""" +CreateOutpost(args) = outposts("POST", "/outposts", args) + +""" + DeleteSite() + +Deletes the site. + +Required Parameters +{ + "SiteId": "" +} +""" +DeleteSite(args) = outposts("DELETE", "/sites/{SiteId}", args) + +""" + ListSites() + +Lists the sites for the specified AWS account. + +Optional Parameters +{ + "MaxResults": "", + "NextToken": "" +} +""" +ListSites() = outposts("GET", "/sites") +ListSites(args) = outposts("GET", "/sites", args) + +""" + GetOutpostInstanceTypes() + +Lists the instance types for the specified Outpost. + +Required Parameters +{ + "OutpostId": "" +} + +Optional Parameters +{ + "MaxResults": "", + "NextToken": "" +} +""" +GetOutpostInstanceTypes(args) = outposts("GET", "/outposts/{OutpostId}/instanceTypes", args) + +""" + ListOutposts() + +List the Outposts for your AWS account. + +Optional Parameters +{ + "MaxResults": "", + "NextToken": "" +} +""" +ListOutposts() = outposts("GET", "/outposts") +ListOutposts(args) = outposts("GET", "/outposts", args) diff --git a/src/services/personalize.jl b/src/services/personalize.jl new file mode 100644 index 0000000000..d708e81a22 --- /dev/null +++ b/src/services/personalize.jl @@ -0,0 +1,544 @@ +include("../AWSServices.jl") +using .AWSServices: personalize + +""" + CreateDatasetImportJob() + +Creates a job that imports training data from your data source (an Amazon S3 bucket) to an Amazon Personalize dataset. To allow Amazon Personalize to import the training data, you must specify an AWS Identity and Access Management (IAM) role that has permission to read from the data source. The dataset import job replaces any previous data in the dataset. Status A dataset import job can be in one of the following states: CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED To get the status of the import job, call DescribeDatasetImportJob, providing the Amazon Resource Name (ARN) of the dataset import job. The dataset import is complete when the status shows as ACTIVE. If the status shows as CREATE FAILED, the response includes a failureReason key, which describes why the job failed. Importing takes time. You must wait until the status shows as ACTIVE before training a model using the dataset. Related APIs ListDatasetImportJobs DescribeDatasetImportJob + +Required Parameters +{ + "roleArn": "The ARN of the IAM role that has permissions to read from the Amazon S3 data source.", + "jobName": "The name for the dataset import job.", + "dataSource": "The Amazon S3 bucket that contains the training data to import.", + "datasetArn": "The ARN of the dataset that receives the imported data." +} +""" +CreateDatasetImportJob(args) = personalize("CreateDatasetImportJob", args) + +""" + DescribeDataset() + +Describes the given dataset. For more information on datasets, see CreateDataset. + +Required Parameters +{ + "datasetArn": "The Amazon Resource Name (ARN) of the dataset to describe." +} +""" +DescribeDataset(args) = personalize("DescribeDataset", args) + +""" + DeleteSchema() + +Deletes a schema. Before deleting a schema, you must delete all datasets referencing the schema. For more information on schemas, see CreateSchema. + +Required Parameters +{ + "schemaArn": "The Amazon Resource Name (ARN) of the schema to delete." +} +""" +DeleteSchema(args) = personalize("DeleteSchema", args) + +""" + CreateCampaign() + +Creates a campaign by deploying a solution version. When a client calls the GetRecommendations and GetPersonalizedRanking APIs, a campaign is specified in the request. Minimum Provisioned TPS and Auto-Scaling A transaction is a single GetRecommendations or GetPersonalizedRanking call. Transactions per second (TPS) is the throughput and unit of billing for Amazon Personalize. The minimum provisioned TPS (minProvisionedTPS) specifies the baseline throughput provisioned by Amazon Personalize, and thus, the minimum billing charge. If your TPS increases beyond minProvisionedTPS, Amazon Personalize auto-scales the provisioned capacity up and down, but never below minProvisionedTPS, to maintain a 70% utilization. There's a short time delay while the capacity is increased that might cause loss of transactions. It's recommended to start with a low minProvisionedTPS, track your usage using Amazon CloudWatch metrics, and then increase the minProvisionedTPS as necessary. Status A campaign can be in one of the following states: CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED DELETE PENDING > DELETE IN_PROGRESS To get the campaign status, call DescribeCampaign. Wait until the status of the campaign is ACTIVE before asking the campaign for recommendations. Related APIs ListCampaigns DescribeCampaign UpdateCampaign DeleteCampaign + +Required Parameters +{ + "name": "A name for the new campaign. The campaign name must be unique within your account.", + "solutionVersionArn": "The Amazon Resource Name (ARN) of the solution version to deploy.", + "minProvisionedTPS": "Specifies the requested minimum provisioned transactions (recommendations) per second that Amazon Personalize will support." +} +""" +CreateCampaign(args) = personalize("CreateCampaign", args) + +""" + CreateSolutionVersion() + +Trains or retrains an active solution. A solution is created using the CreateSolution operation and must be in the ACTIVE state before calling CreateSolutionVersion. A new version of the solution is created every time you call this operation. Status A solution version can be in one of the following states: CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED To get the status of the version, call DescribeSolutionVersion. Wait until the status shows as ACTIVE before calling CreateCampaign. If the status shows as CREATE FAILED, the response includes a failureReason key, which describes why the job failed. Related APIs ListSolutionVersions DescribeSolutionVersion ListSolutions CreateSolution DescribeSolution DeleteSolution + +Required Parameters +{ + "solutionArn": "The Amazon Resource Name (ARN) of the solution containing the training configuration information." +} + +Optional Parameters +{ + "trainingMode": "The scope of training to be performed when creating the solution version. The FULL option trains the solution version based on the entirety of the input solution's training data, while the UPDATE option processes only the data that has changed in comparison to the input solution. Choose UPDATE when you want to incrementally update your solution version instead of creating an entirely new one. The UPDATE option can only be used when you already have an active solution version created from the input solution using the FULL option and the input solution was trained with the native-recipe-hrnn-coldstart recipe. " +} +""" +CreateSolutionVersion(args) = personalize("CreateSolutionVersion", args) + +""" + DescribeSolutionVersion() + +Describes a specific version of a solution. For more information on solutions, see CreateSolution. + +Required Parameters +{ + "solutionVersionArn": "The Amazon Resource Name (ARN) of the solution version." +} +""" +DescribeSolutionVersion(args) = personalize("DescribeSolutionVersion", args) + +""" + ListDatasetImportJobs() + +Returns a list of dataset import jobs that use the given dataset. When a dataset is not specified, all the dataset import jobs associated with the account are listed. The response provides the properties for each dataset import job, including the Amazon Resource Name (ARN). For more information on dataset import jobs, see CreateDatasetImportJob. For more information on datasets, see CreateDataset. + +Optional Parameters +{ + "maxResults": "The maximum number of dataset import jobs to return.", + "datasetArn": "The Amazon Resource Name (ARN) of the dataset to list the dataset import jobs for.", + "nextToken": "A token returned from the previous call to ListDatasetImportJobs for getting the next set of dataset import jobs (if they exist)." +} +""" +ListDatasetImportJobs() = personalize("ListDatasetImportJobs") +ListDatasetImportJobs(args) = personalize("ListDatasetImportJobs", args) + +""" + CreateDatasetGroup() + +Creates an empty dataset group. A dataset group contains related datasets that supply data for training a model. A dataset group can contain at most three datasets, one for each type of dataset: Interactions Items Users To train a model (create a solution), a dataset group that contains an Interactions dataset is required. Call CreateDataset to add a dataset to the group. A dataset group can be in one of the following states: CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED DELETE PENDING To get the status of the dataset group, call DescribeDatasetGroup. If the status shows as CREATE FAILED, the response includes a failureReason key, which describes why the creation failed. You must wait until the status of the dataset group is ACTIVE before adding a dataset to the group. You can specify an AWS Key Management Service (KMS) key to encrypt the datasets in the group. If you specify a KMS key, you must also include an AWS Identity and Access Management (IAM) role that has permission to access the key. APIs that require a dataset group ARN in the request CreateDataset CreateEventTracker CreateSolution Related APIs ListDatasetGroups DescribeDatasetGroup DeleteDatasetGroup + +Required Parameters +{ + "name": "The name for the new dataset group." +} + +Optional Parameters +{ + "roleArn": "The ARN of the IAM role that has permissions to access the KMS key. Supplying an IAM role is only valid when also specifying a KMS key.", + "kmsKeyArn": "The Amazon Resource Name (ARN) of a KMS key used to encrypt the datasets." +} +""" +CreateDatasetGroup(args) = personalize("CreateDatasetGroup", args) + +""" + UpdateCampaign() + +Updates a campaign by either deploying a new solution or changing the value of the campaign's minProvisionedTPS parameter. To update a campaign, the campaign status must be ACTIVE or CREATE FAILED. Check the campaign status using the DescribeCampaign API. You must wait until the status of the updated campaign is ACTIVE before asking the campaign for recommendations. For more information on campaigns, see CreateCampaign. + +Required Parameters +{ + "campaignArn": "The Amazon Resource Name (ARN) of the campaign." +} + +Optional Parameters +{ + "solutionVersionArn": "The ARN of a new solution version to deploy.", + "minProvisionedTPS": "Specifies the requested minimum provisioned transactions (recommendations) per second that Amazon Personalize will support." +} +""" +UpdateCampaign(args) = personalize("UpdateCampaign", args) + +""" + ListSolutions() + +Returns a list of solutions that use the given dataset group. When a dataset group is not specified, all the solutions associated with the account are listed. The response provides the properties for each solution, including the Amazon Resource Name (ARN). For more information on solutions, see CreateSolution. + +Optional Parameters +{ + "datasetGroupArn": "The Amazon Resource Name (ARN) of the dataset group.", + "maxResults": "The maximum number of solutions to return.", + "nextToken": "A token returned from the previous call to ListSolutions for getting the next set of solutions (if they exist)." +} +""" +ListSolutions() = personalize("ListSolutions") +ListSolutions(args) = personalize("ListSolutions", args) + +""" + DescribeAlgorithm() + +Describes the given algorithm. + +Required Parameters +{ + "algorithmArn": "The Amazon Resource Name (ARN) of the algorithm to describe." +} +""" +DescribeAlgorithm(args) = personalize("DescribeAlgorithm", args) + +""" + DescribeFeatureTransformation() + +Describes the given feature transformation. + +Required Parameters +{ + "featureTransformationArn": "The Amazon Resource Name (ARN) of the feature transformation to describe." +} +""" +DescribeFeatureTransformation(args) = personalize("DescribeFeatureTransformation", args) + +""" + ListDatasets() + +Returns the list of datasets contained in the given dataset group. The response provides the properties for each dataset, including the Amazon Resource Name (ARN). For more information on datasets, see CreateDataset. + +Optional Parameters +{ + "datasetGroupArn": "The Amazon Resource Name (ARN) of the dataset group that contains the datasets to list.", + "maxResults": "The maximum number of datasets to return.", + "nextToken": "A token returned from the previous call to ListDatasetImportJobs for getting the next set of dataset import jobs (if they exist)." +} +""" +ListDatasets() = personalize("ListDatasets") +ListDatasets(args) = personalize("ListDatasets", args) + +""" + DeleteDatasetGroup() + +Deletes a dataset group. Before you delete a dataset group, you must delete the following: All associated event trackers. All associated solutions. All datasets in the dataset group. + +Required Parameters +{ + "datasetGroupArn": "The ARN of the dataset group to delete." +} +""" +DeleteDatasetGroup(args) = personalize("DeleteDatasetGroup", args) + +""" + DeleteEventTracker() + +Deletes the event tracker. Does not delete the event-interactions dataset from the associated dataset group. For more information on event trackers, see CreateEventTracker. + +Required Parameters +{ + "eventTrackerArn": "The Amazon Resource Name (ARN) of the event tracker to delete." +} +""" +DeleteEventTracker(args) = personalize("DeleteEventTracker", args) + +""" + CreateSolution() + +Creates the configuration for training a model. A trained model is known as a solution. After the configuration is created, you train the model (create a solution) by calling the CreateSolutionVersion operation. Every time you call CreateSolutionVersion, a new version of the solution is created. After creating a solution version, you check its accuracy by calling GetSolutionMetrics. When you are satisfied with the version, you deploy it using CreateCampaign. The campaign provides recommendations to a client through the GetRecommendations API. To train a model, Amazon Personalize requires training data and a recipe. The training data comes from the dataset group that you provide in the request. A recipe specifies the training algorithm and a feature transformation. You can specify one of the predefined recipes provided by Amazon Personalize. Alternatively, you can specify performAutoML and Amazon Personalize will analyze your data and select the optimum USER_PERSONALIZATION recipe for you. Status A solution can be in one of the following states: CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED DELETE PENDING > DELETE IN_PROGRESS To get the status of the solution, call DescribeSolution. Wait until the status shows as ACTIVE before calling CreateSolutionVersion. Related APIs ListSolutions CreateSolutionVersion DescribeSolution DeleteSolution ListSolutionVersions DescribeSolutionVersion + +Required Parameters +{ + "name": "The name for the solution.", + "datasetGroupArn": "The Amazon Resource Name (ARN) of the dataset group that provides the training data." +} + +Optional Parameters +{ + "performAutoML": "Whether to perform automated machine learning (AutoML). The default is false. For this case, you must specify recipeArn. When set to true, Amazon Personalize analyzes your training data and selects the optimal USER_PERSONALIZATION recipe and hyperparameters. In this case, you must omit recipeArn. Amazon Personalize determines the optimal recipe by running tests with different values for the hyperparameters. AutoML lengthens the training process as compared to selecting a specific recipe.", + "eventType": "When your have multiple event types (using an EVENT_TYPE schema field), this parameter specifies which event type (for example, 'click' or 'like') is used for training the model.", + "performHPO": "Whether to perform hyperparameter optimization (HPO) on the specified or selected recipe. The default is false. When performing AutoML, this parameter is always true and you should not set it to false.", + "recipeArn": "The ARN of the recipe to use for model training. Only specified when performAutoML is false.", + "solutionConfig": "The configuration to use with the solution. When performAutoML is set to true, Amazon Personalize only evaluates the autoMLConfig section of the solution configuration." +} +""" +CreateSolution(args) = personalize("CreateSolution", args) + +""" + DescribeSchema() + +Describes a schema. For more information on schemas, see CreateSchema. + +Required Parameters +{ + "schemaArn": "The Amazon Resource Name (ARN) of the schema to retrieve." +} +""" +DescribeSchema(args) = personalize("DescribeSchema", args) + +""" + DeleteDataset() + +Deletes a dataset. You can't delete a dataset if an associated DatasetImportJob or SolutionVersion is in the CREATE PENDING or IN PROGRESS state. For more information on datasets, see CreateDataset. + +Required Parameters +{ + "datasetArn": "The Amazon Resource Name (ARN) of the dataset to delete." +} +""" +DeleteDataset(args) = personalize("DeleteDataset", args) + +""" + GetSolutionMetrics() + +Gets the metrics for the specified solution version. + +Required Parameters +{ + "solutionVersionArn": "The Amazon Resource Name (ARN) of the solution version for which to get metrics." +} +""" +GetSolutionMetrics(args) = personalize("GetSolutionMetrics", args) + +""" + DescribeSolution() + +Describes a solution. For more information on solutions, see CreateSolution. + +Required Parameters +{ + "solutionArn": "The Amazon Resource Name (ARN) of the solution to describe." +} +""" +DescribeSolution(args) = personalize("DescribeSolution", args) + +""" + ListSolutionVersions() + +Returns a list of solution versions for the given solution. When a solution is not specified, all the solution versions associated with the account are listed. The response provides the properties for each solution version, including the Amazon Resource Name (ARN). For more information on solutions, see CreateSolution. + +Optional Parameters +{ + "solutionArn": "The Amazon Resource Name (ARN) of the solution.", + "maxResults": "The maximum number of solution versions to return.", + "nextToken": "A token returned from the previous call to ListSolutionVersions for getting the next set of solution versions (if they exist)." +} +""" +ListSolutionVersions() = personalize("ListSolutionVersions") +ListSolutionVersions(args) = personalize("ListSolutionVersions", args) + +""" + DescribeCampaign() + +Describes the given campaign, including its status. A campaign can be in one of the following states: CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED DELETE PENDING > DELETE IN_PROGRESS When the status is CREATE FAILED, the response includes the failureReason key, which describes why. For more information on campaigns, see CreateCampaign. + +Required Parameters +{ + "campaignArn": "The Amazon Resource Name (ARN) of the campaign." +} +""" +DescribeCampaign(args) = personalize("DescribeCampaign", args) + +""" + CreateEventTracker() + +Creates an event tracker that you use when sending event data to the specified dataset group using the PutEvents API. When Amazon Personalize creates an event tracker, it also creates an event-interactions dataset in the dataset group associated with the event tracker. The event-interactions dataset stores the event data from the PutEvents call. The contents of this dataset are not available to the user. Only one event tracker can be associated with a dataset group. You will get an error if you call CreateEventTracker using the same dataset group as an existing event tracker. When you send event data you include your tracking ID. The tracking ID identifies the customer and authorizes the customer to send the data. The event tracker can be in one of the following states: CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED DELETE PENDING > DELETE IN_PROGRESS To get the status of the event tracker, call DescribeEventTracker. The event tracker must be in the ACTIVE state before using the tracking ID. Related APIs ListEventTrackers DescribeEventTracker DeleteEventTracker + +Required Parameters +{ + "name": "The name for the event tracker.", + "datasetGroupArn": "The Amazon Resource Name (ARN) of the dataset group that receives the event data." +} +""" +CreateEventTracker(args) = personalize("CreateEventTracker", args) + +""" + DeleteCampaign() + +Removes a campaign by deleting the solution deployment. The solution that the campaign is based on is not deleted and can be redeployed when needed. A deleted campaign can no longer be specified in a GetRecommendations request. For more information on campaigns, see CreateCampaign. + +Required Parameters +{ + "campaignArn": "The Amazon Resource Name (ARN) of the campaign to delete." +} +""" +DeleteCampaign(args) = personalize("DeleteCampaign", args) + +""" + DescribeEventTracker() + +Describes an event tracker. The response includes the trackingId and status of the event tracker. For more information on event trackers, see CreateEventTracker. + +Required Parameters +{ + "eventTrackerArn": "The Amazon Resource Name (ARN) of the event tracker to describe." +} +""" +DescribeEventTracker(args) = personalize("DescribeEventTracker", args) + +""" + DescribeDatasetImportJob() + +Describes the dataset import job created by CreateDatasetImportJob, including the import job status. + +Required Parameters +{ + "datasetImportJobArn": "The Amazon Resource Name (ARN) of the dataset import job to describe." +} +""" +DescribeDatasetImportJob(args) = personalize("DescribeDatasetImportJob", args) + +""" + ListBatchInferenceJobs() + +Gets a list of the batch inference jobs that have been performed off of a solution version. + +Optional Parameters +{ + "solutionVersionArn": "The Amazon Resource Name (ARN) of the solution version from which the batch inference jobs were created.", + "maxResults": "The maximum number of batch inference job results to return in each page. The default value is 100.", + "nextToken": "The token to request the next page of results." +} +""" +ListBatchInferenceJobs() = personalize("ListBatchInferenceJobs") +ListBatchInferenceJobs(args) = personalize("ListBatchInferenceJobs", args) + +""" + CreateBatchInferenceJob() + +Creates a batch inference job. The operation can handle up to 50 million records and the input file must be in JSON format. For more information, see recommendations-batch. + +Required Parameters +{ + "roleArn": "The ARN of the Amazon Identity and Access Management role that has permissions to read and write to your input and out Amazon S3 buckets respectively.", + "jobName": "The name of the batch inference job to create.", + "jobOutput": "The path to the Amazon S3 bucket where the job's output will be stored.", + "solutionVersionArn": "The Amazon Resource Name (ARN) of the solution version that will be used to generate the batch inference recommendations.", + "jobInput": "The Amazon S3 path that leads to the input file to base your recommendations on. The input material must be in JSON format." +} + +Optional Parameters +{ + "numResults": "The number of recommendations to retreive." +} +""" +CreateBatchInferenceJob(args) = personalize("CreateBatchInferenceJob", args) + +""" + DescribeBatchInferenceJob() + +Gets the properties of a batch inference job including name, Amazon Resource Name (ARN), status, input and output configurations, and the ARN of the solution version used to generate the recommendations. + +Required Parameters +{ + "batchInferenceJobArn": "The ARN of the batch inference job to describe." +} +""" +DescribeBatchInferenceJob(args) = personalize("DescribeBatchInferenceJob", args) + +""" + DescribeDatasetGroup() + +Describes the given dataset group. For more information on dataset groups, see CreateDatasetGroup. + +Required Parameters +{ + "datasetGroupArn": "The Amazon Resource Name (ARN) of the dataset group to describe." +} +""" +DescribeDatasetGroup(args) = personalize("DescribeDatasetGroup", args) + +""" + CreateSchema() + +Creates an Amazon Personalize schema from the specified schema string. The schema you create must be in Avro JSON format. Amazon Personalize recognizes three schema variants. Each schema is associated with a dataset type and has a set of required field and keywords. You specify a schema when you call CreateDataset. Related APIs ListSchemas DescribeSchema DeleteSchema + +Required Parameters +{ + "name": "The name for the schema.", + "schema": "A schema in Avro JSON format." +} +""" +CreateSchema(args) = personalize("CreateSchema", args) + +""" + DeleteSolution() + +Deletes all versions of a solution and the Solution object itself. Before deleting a solution, you must delete all campaigns based on the solution. To determine what campaigns are using the solution, call ListCampaigns and supply the Amazon Resource Name (ARN) of the solution. You can't delete a solution if an associated SolutionVersion is in the CREATE PENDING or IN PROGRESS state. For more information on solutions, see CreateSolution. + +Required Parameters +{ + "solutionArn": "The ARN of the solution to delete." +} +""" +DeleteSolution(args) = personalize("DeleteSolution", args) + +""" + ListCampaigns() + +Returns a list of campaigns that use the given solution. When a solution is not specified, all the campaigns associated with the account are listed. The response provides the properties for each campaign, including the Amazon Resource Name (ARN). For more information on campaigns, see CreateCampaign. + +Optional Parameters +{ + "solutionArn": "The Amazon Resource Name (ARN) of the solution to list the campaigns for. When a solution is not specified, all the campaigns associated with the account are listed.", + "maxResults": "The maximum number of campaigns to return.", + "nextToken": "A token returned from the previous call to ListCampaigns for getting the next set of campaigns (if they exist)." +} +""" +ListCampaigns() = personalize("ListCampaigns") +ListCampaigns(args) = personalize("ListCampaigns", args) + +""" + ListDatasetGroups() + +Returns a list of dataset groups. The response provides the properties for each dataset group, including the Amazon Resource Name (ARN). For more information on dataset groups, see CreateDatasetGroup. + +Optional Parameters +{ + "maxResults": "The maximum number of dataset groups to return.", + "nextToken": "A token returned from the previous call to ListDatasetGroups for getting the next set of dataset groups (if they exist)." +} +""" +ListDatasetGroups() = personalize("ListDatasetGroups") +ListDatasetGroups(args) = personalize("ListDatasetGroups", args) + +""" + ListEventTrackers() + +Returns the list of event trackers associated with the account. The response provides the properties for each event tracker, including the Amazon Resource Name (ARN) and tracking ID. For more information on event trackers, see CreateEventTracker. + +Optional Parameters +{ + "datasetGroupArn": "The ARN of a dataset group used to filter the response.", + "maxResults": "The maximum number of event trackers to return.", + "nextToken": "A token returned from the previous call to ListEventTrackers for getting the next set of event trackers (if they exist)." +} +""" +ListEventTrackers() = personalize("ListEventTrackers") +ListEventTrackers(args) = personalize("ListEventTrackers", args) + +""" + ListRecipes() + +Returns a list of available recipes. The response provides the properties for each recipe, including the recipe's Amazon Resource Name (ARN). + +Optional Parameters +{ + "recipeProvider": "The default is SERVICE.", + "maxResults": "The maximum number of recipes to return.", + "nextToken": "A token returned from the previous call to ListRecipes for getting the next set of recipes (if they exist)." +} +""" +ListRecipes() = personalize("ListRecipes") +ListRecipes(args) = personalize("ListRecipes", args) + +""" + CreateDataset() + +Creates an empty dataset and adds it to the specified dataset group. Use CreateDatasetImportJob to import your training data to a dataset. There are three types of datasets: Interactions Items Users Each dataset type has an associated schema with required field types. Only the Interactions dataset is required in order to train a model (also referred to as creating a solution). A dataset can be in one of the following states: CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED DELETE PENDING > DELETE IN_PROGRESS To get the status of the dataset, call DescribeDataset. Related APIs CreateDatasetGroup ListDatasets DescribeDataset DeleteDataset + +Required Parameters +{ + "name": "The name for the dataset.", + "datasetGroupArn": "The Amazon Resource Name (ARN) of the dataset group to add the dataset to.", + "datasetType": "The type of dataset. One of the following (case insensitive) values: Interactions Items Users ", + "schemaArn": "The ARN of the schema to associate with the dataset. The schema defines the dataset fields." +} +""" +CreateDataset(args) = personalize("CreateDataset", args) + +""" + ListSchemas() + +Returns the list of schemas associated with the account. The response provides the properties for each schema, including the Amazon Resource Name (ARN). For more information on schemas, see CreateSchema. + +Optional Parameters +{ + "maxResults": "The maximum number of schemas to return.", + "nextToken": "A token returned from the previous call to ListSchemas for getting the next set of schemas (if they exist)." +} +""" +ListSchemas() = personalize("ListSchemas") +ListSchemas(args) = personalize("ListSchemas", args) + +""" + DescribeRecipe() + +Describes a recipe. A recipe contains three items: An algorithm that trains a model. Hyperparameters that govern the training. Feature transformation information for modifying the input data before training. Amazon Personalize provides a set of predefined recipes. You specify a recipe when you create a solution with the CreateSolution API. CreateSolution trains a model by using the algorithm in the specified recipe and a training dataset. The solution, when deployed as a campaign, can provide recommendations using the GetRecommendations API. + +Required Parameters +{ + "recipeArn": "The Amazon Resource Name (ARN) of the recipe to describe." +} +""" +DescribeRecipe(args) = personalize("DescribeRecipe", args) diff --git a/src/services/personalize_events.jl b/src/services/personalize_events.jl new file mode 100644 index 0000000000..135e9c7e7e --- /dev/null +++ b/src/services/personalize_events.jl @@ -0,0 +1,21 @@ +include("../AWSServices.jl") +using .AWSServices: personalize_events + +""" + PutEvents() + +Records user interaction event data. + +Required Parameters +{ + "eventList": "A list of event data from the session.", + "sessionId": "The session ID associated with the user's visit.", + "trackingId": "The tracking ID for the event. The ID is generated by a call to the CreateEventTracker API." +} + +Optional Parameters +{ + "userId": "The user associated with the event." +} +""" +PutEvents(args) = personalize_events("POST", "/events", args) diff --git a/src/services/personalize_runtime.jl b/src/services/personalize_runtime.jl new file mode 100644 index 0000000000..df1f31c07c --- /dev/null +++ b/src/services/personalize_runtime.jl @@ -0,0 +1,41 @@ +include("../AWSServices.jl") +using .AWSServices: personalize_runtime + +""" + GetRecommendations() + +Returns a list of recommended items. The required input depends on the recipe type used to create the solution backing the campaign, as follows: RELATED_ITEMS - itemId required, userId not used USER_PERSONALIZATION - itemId optional, userId required Campaigns that are backed by a solution created using a recipe of type PERSONALIZED_RANKING use the API. + +Required Parameters +{ + "campaignArn": "The Amazon Resource Name (ARN) of the campaign to use for getting recommendations." +} + +Optional Parameters +{ + "itemId": "The item ID to provide recommendations for. Required for RELATED_ITEMS recipe type.", + "userId": "The user ID to provide recommendations for. Required for USER_PERSONALIZATION recipe type.", + "numResults": "The number of results to return. The default is 25. The maximum is 500.", + "context": "The contextual metadata to use when getting recommendations. Contextual metadata includes any interaction information that might be relevant when getting a user's recommendations, such as the user's current location or device type. For more information, see Contextual Metadata." +} +""" +GetRecommendations(args) = personalize_runtime("POST", "/recommendations", args) + +""" + GetPersonalizedRanking() + +Re-ranks a list of recommended items for the given user. The first item in the list is deemed the most likely item to be of interest to the user. The solution backing the campaign must have been created using a recipe of type PERSONALIZED_RANKING. + +Required Parameters +{ + "userId": "The user for which you want the campaign to provide a personalized ranking.", + "campaignArn": "The Amazon Resource Name (ARN) of the campaign to use for generating the personalized ranking.", + "inputList": "A list of items (itemId's) to rank. If an item was not included in the training dataset, the item is appended to the end of the reranked list. The maximum is 500." +} + +Optional Parameters +{ + "context": "The contextual metadata to use when getting recommendations. Contextual metadata includes any interaction information that might be relevant when getting a user's recommendations, such as the user's current location or device type. For more information, see Contextual Metadata." +} +""" +GetPersonalizedRanking(args) = personalize_runtime("POST", "/personalize-ranking", args) diff --git a/src/services/pi.jl b/src/services/pi.jl new file mode 100644 index 0000000000..7ab822d20c --- /dev/null +++ b/src/services/pi.jl @@ -0,0 +1,51 @@ +include("../AWSServices.jl") +using .AWSServices: pi + +""" + DescribeDimensionKeys() + +For a specific time period, retrieve the top N dimension keys for a metric. + +Required Parameters +{ + "ServiceType": "The AWS service for which Performance Insights will return metrics. The only valid value for ServiceType is: RDS ", + "Identifier": "An immutable, AWS Region-unique identifier for a data source. Performance Insights gathers metrics from this data source. To use an Amazon RDS instance as a data source, you specify its DbiResourceId value - for example: db-FAIHNTYBKTGAUSUZQYPDS2GW4A ", + "StartTime": "The date and time specifying the beginning of the requested time series data. You can't specify a StartTime that's earlier than 7 days ago. The value specified is inclusive - data points equal to or greater than StartTime will be returned. The value for StartTime must be earlier than the value for EndTime.", + "Metric": "The name of a Performance Insights metric to be measured. Valid values for Metric are: db.load.avg - a scaled representation of the number of active sessions for the database engine. db.sampledload.avg - the raw number of active sessions for the database engine. ", + "EndTime": "The date and time specifying the end of the requested time series data. The value specified is exclusive - data points less than (but not equal to) EndTime will be returned. The value for EndTime must be later than the value for StartTime.", + "GroupBy": "A specification for how to aggregate the data points from a query result. You must specify a valid dimension group. Performance Insights will return all of the dimensions within that group, unless you provide the names of specific dimensions within that group. You can also request that Performance Insights return a limited number of values for a dimension." +} + +Optional Parameters +{ + "PeriodInSeconds": "The granularity, in seconds, of the data points returned from Performance Insights. A period can be as short as one second, or as long as one day (86400 seconds). Valid values are: 1 (one second) 60 (one minute) 300 (five minutes) 3600 (one hour) 86400 (twenty-four hours) If you don't specify PeriodInSeconds, then Performance Insights will choose a value for you, with a goal of returning roughly 100-200 data points in the response.", + "MaxResults": "The maximum number of items to return in the response. If more items exist than the specified MaxRecords value, a pagination token is included in the response so that the remaining results can be retrieved. ", + "PartitionBy": "For each dimension specified in GroupBy, specify a secondary dimension to further subdivide the partition keys in the response.", + "NextToken": "An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the token, up to the value specified by MaxRecords.", + "Filter": "One or more filters to apply in the request. Restrictions: Any number of filters by the same dimension, as specified in the GroupBy or Partition parameters. A single filter for any other dimension in this dimension group. " +} +""" +DescribeDimensionKeys(args) = pi("DescribeDimensionKeys", args) + +""" + GetResourceMetrics() + +Retrieve Performance Insights metrics for a set of data sources, over a time period. You can provide specific dimension groups and dimensions, and provide aggregation and filtering criteria for each group. + +Required Parameters +{ + "ServiceType": "The AWS service for which Performance Insights will return metrics. The only valid value for ServiceType is: RDS ", + "Identifier": "An immutable, AWS Region-unique identifier for a data source. Performance Insights gathers metrics from this data source. To use an Amazon RDS instance as a data source, you specify its DbiResourceId value - for example: db-FAIHNTYBKTGAUSUZQYPDS2GW4A ", + "StartTime": "The date and time specifying the beginning of the requested time series data. You can't specify a StartTime that's earlier than 7 days ago. The value specified is inclusive - data points equal to or greater than StartTime will be returned. The value for StartTime must be earlier than the value for EndTime.", + "EndTime": "The date and time specifiying the end of the requested time series data. The value specified is exclusive - data points less than (but not equal to) EndTime will be returned. The value for EndTime must be later than the value for StartTime.", + "MetricQueries": "An array of one or more queries to perform. Each query must specify a Performance Insights metric, and can optionally specify aggregation and filtering criteria." +} + +Optional Parameters +{ + "PeriodInSeconds": "The granularity, in seconds, of the data points returned from Performance Insights. A period can be as short as one second, or as long as one day (86400 seconds). Valid values are: 1 (one second) 60 (one minute) 300 (five minutes) 3600 (one hour) 86400 (twenty-four hours) If you don't specify PeriodInSeconds, then Performance Insights will choose a value for you, with a goal of returning roughly 100-200 data points in the response.", + "MaxResults": "The maximum number of items to return in the response. If more items exist than the specified MaxRecords value, a pagination token is included in the response so that the remaining results can be retrieved. ", + "NextToken": "An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the token, up to the value specified by MaxRecords." +} +""" +GetResourceMetrics(args) = pi("GetResourceMetrics", args) diff --git a/src/services/pinpoint.jl b/src/services/pinpoint.jl new file mode 100644 index 0000000000..8a4e2cd2ea --- /dev/null +++ b/src/services/pinpoint.jl @@ -0,0 +1,1596 @@ +include("../AWSServices.jl") +using .AWSServices: pinpoint + +""" + GetGcmChannel() + +Retrieves information about the status and settings of the GCM channel for an application. + +Required Parameters +{ + "ApplicationId": "The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console." +} +""" +GetGcmChannel(args) = pinpoint("GET", "/v1/apps/{application-id}/channels/gcm", args) + +""" + UpdateEmailTemplate() + +Updates an existing message template for messages that are sent through the email channel. + +Required Parameters +{ + "EmailTemplateRequest": "", + "TemplateName": "The name of the message template. A template name must start with an alphanumeric character and can contain a maximum of 128 characters. The characters can be alphanumeric characters, underscores (_), or hyphens (-). Template names are case sensitive." +} + +Optional Parameters +{ + "CreateNewVersion": "Specifies whether to save the updates as a new version of the message template. Valid values are: true, save the updates as a new version; and, false, save the updates to (overwrite) the latest existing version of the template. If you don't specify a value for this parameter, Amazon Pinpoint saves the updates to (overwrites) the latest existing version of the template. If you specify a value of true for this parameter, don't specify a value for the version parameter. Otherwise, an error will occur.", + "Version": "The unique identifier for the version of the message template to update, retrieve information about, or delete. To retrieve identifiers and other information for all the versions of a template, use the Template Versions resource. If specified, this value must match the identifier for an existing template version. If specified for an update operation, this value must match the identifier for the latest existing version of the template. This restriction helps ensure that race conditions don't occur. If you don't specify a value for this parameter, Amazon Pinpoint does the following: For a get operation, retrieves information about the active version of the template. For an update operation, saves the updates to (overwrites) the latest existing version of the template, if the create-new-version parameter isn't used or is set to false. For a delete operation, deletes the template, including all versions of the template." +} +""" +UpdateEmailTemplate(args) = pinpoint("PUT", "/v1/templates/{template-name}/email", args) + +""" + UpdateCampaign() + +Updates the configuration and other settings for a campaign. + +Required Parameters +{ + "ApplicationId": "The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.", + "CampaignId": "The unique identifier for the campaign.", + "WriteCampaignRequest": "" +} +""" +UpdateCampaign(args) = pinpoint("PUT", "/v1/apps/{application-id}/campaigns/{campaign-id}", args) + +""" + DeleteEmailChannel() + +Disables the email channel for an application and deletes any existing settings for the channel. + +Required Parameters +{ + "ApplicationId": "The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console." +} +""" +DeleteEmailChannel(args) = pinpoint("DELETE", "/v1/apps/{application-id}/channels/email", args) + +""" + RemoveAttributes() + +Removes one or more attributes, of the same attribute type, from all the endpoints that are associated with an application. + +Required Parameters +{ + "ApplicationId": "The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.", + "UpdateAttributesRequest": "", + "AttributeType": " The type of attribute or attributes to remove. Valid values are: endpoint-custom-attributes - Custom attributes that describe endpoints, such as the date when an associated user opted in or out of receiving communications from you through a specific type of channel. endpoint-metric-attributes - Custom metrics that your app reports to Amazon Pinpoint for endpoints, such as the number of app sessions or the number of items left in a cart. endpoint-user-attributes - Custom attributes that describe users, such as first name, last name, and age." +} +""" +RemoveAttributes(args) = pinpoint("PUT", "/v1/apps/{application-id}/attributes/{attribute-type}", args) + +""" + DeleteApp() + +Deletes an application. + +Required Parameters +{ + "ApplicationId": "The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console." +} +""" +DeleteApp(args) = pinpoint("DELETE", "/v1/apps/{application-id}", args) + +""" + GetEmailTemplate() + +Retrieves the content and settings of a message template for messages that are sent through the email channel. + +Required Parameters +{ + "TemplateName": "The name of the message template. A template name must start with an alphanumeric character and can contain a maximum of 128 characters. The characters can be alphanumeric characters, underscores (_), or hyphens (-). Template names are case sensitive." +} + +Optional Parameters +{ + "Version": "The unique identifier for the version of the message template to update, retrieve information about, or delete. To retrieve identifiers and other information for all the versions of a template, use the Template Versions resource. If specified, this value must match the identifier for an existing template version. If specified for an update operation, this value must match the identifier for the latest existing version of the template. This restriction helps ensure that race conditions don't occur. If you don't specify a value for this parameter, Amazon Pinpoint does the following: For a get operation, retrieves information about the active version of the template. For an update operation, saves the updates to (overwrites) the latest existing version of the template, if the create-new-version parameter isn't used or is set to false. For a delete operation, deletes the template, including all versions of the template." +} +""" +GetEmailTemplate(args) = pinpoint("GET", "/v1/templates/{template-name}/email", args) + +""" + GetCampaignActivities() + +Retrieves information about all the activities for a campaign. + +Required Parameters +{ + "ApplicationId": "The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.", + "CampaignId": "The unique identifier for the campaign." +} + +Optional Parameters +{ + "PageSize": "The maximum number of items to include in each page of a paginated response. This parameter is currently not supported for application, campaign, and journey metrics.", + "Token": "The NextToken string that specifies which page of results to return in a paginated response." +} +""" +GetCampaignActivities(args) = pinpoint("GET", "/v1/apps/{application-id}/campaigns/{campaign-id}/activities", args) + +""" + GetSegmentExportJobs() + +Retrieves information about the status and settings of the export jobs for a segment. + +Required Parameters +{ + "ApplicationId": "The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.", + "SegmentId": "The unique identifier for the segment." +} + +Optional Parameters +{ + "PageSize": "The maximum number of items to include in each page of a paginated response. This parameter is currently not supported for application, campaign, and journey metrics.", + "Token": "The NextToken string that specifies which page of results to return in a paginated response." +} +""" +GetSegmentExportJobs(args) = pinpoint("GET", "/v1/apps/{application-id}/segments/{segment-id}/jobs/export", args) + +""" + GetSegments() + +Retrieves information about the configuration, dimension, and other settings for all the segments that are associated with an application. + +Required Parameters +{ + "ApplicationId": "The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console." +} + +Optional Parameters +{ + "PageSize": "The maximum number of items to include in each page of a paginated response. This parameter is currently not supported for application, campaign, and journey metrics.", + "Token": "The NextToken string that specifies which page of results to return in a paginated response." +} +""" +GetSegments(args) = pinpoint("GET", "/v1/apps/{application-id}/segments", args) + +""" + GetApnsChannel() + +Retrieves information about the status and settings of the APNs channel for an application. + +Required Parameters +{ + "ApplicationId": "The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console." +} +""" +GetApnsChannel(args) = pinpoint("GET", "/v1/apps/{application-id}/channels/apns", args) + +""" + TagResource() + +Adds one or more tags (keys and values) to an application, campaign, message template, or segment. + +Required Parameters +{ + "ResourceArn": "The Amazon Resource Name (ARN) of the resource.", + "TagsModel": "" +} +""" +TagResource(args) = pinpoint("POST", "/v1/tags/{resource-arn}", args) + +""" + UpdateSegment() + +Creates a new segment for an application or updates the configuration, dimension, and other settings for an existing segment that's associated with an application. + +Required Parameters +{ + "ApplicationId": "The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.", + "SegmentId": "The unique identifier for the segment.", + "WriteSegmentRequest": "" +} +""" +UpdateSegment(args) = pinpoint("PUT", "/v1/apps/{application-id}/segments/{segment-id}", args) + +""" + DeleteAdmChannel() + +Disables the ADM channel for an application and deletes any existing settings for the channel. + +Required Parameters +{ + "ApplicationId": "The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console." +} +""" +DeleteAdmChannel(args) = pinpoint("DELETE", "/v1/apps/{application-id}/channels/adm", args) + +""" + DeleteSmsTemplate() + +Deletes a message template for messages that were sent through the SMS channel. + +Required Parameters +{ + "TemplateName": "The name of the message template. A template name must start with an alphanumeric character and can contain a maximum of 128 characters. The characters can be alphanumeric characters, underscores (_), or hyphens (-). Template names are case sensitive." +} + +Optional Parameters +{ + "Version": "The unique identifier for the version of the message template to update, retrieve information about, or delete. To retrieve identifiers and other information for all the versions of a template, use the Template Versions resource. If specified, this value must match the identifier for an existing template version. If specified for an update operation, this value must match the identifier for the latest existing version of the template. This restriction helps ensure that race conditions don't occur. If you don't specify a value for this parameter, Amazon Pinpoint does the following: For a get operation, retrieves information about the active version of the template. For an update operation, saves the updates to (overwrites) the latest existing version of the template, if the create-new-version parameter isn't used or is set to false. For a delete operation, deletes the template, including all versions of the template." +} +""" +DeleteSmsTemplate(args) = pinpoint("DELETE", "/v1/templates/{template-name}/sms", args) + +""" + GetCampaignVersion() + +Retrieves information about the status, configuration, and other settings for a specific version of a campaign. + +Required Parameters +{ + "ApplicationId": "The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.", + "CampaignId": "The unique identifier for the campaign.", + "Version": "The unique version number (Version property) for the campaign version." +} +""" +GetCampaignVersion(args) = pinpoint("GET", "/v1/apps/{application-id}/campaigns/{campaign-id}/versions/{version}", args) + +""" + CreateImportJob() + +Creates an import job for an application. + +Required Parameters +{ + "ApplicationId": "The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.", + "ImportJobRequest": "" +} +""" +CreateImportJob(args) = pinpoint("POST", "/v1/apps/{application-id}/jobs/import", args) + +""" + GetSmsChannel() + +Retrieves information about the status and settings of the SMS channel for an application. + +Required Parameters +{ + "ApplicationId": "The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console." +} +""" +GetSmsChannel(args) = pinpoint("GET", "/v1/apps/{application-id}/channels/sms", args) + +""" + GetEventStream() + +Retrieves information about the event stream settings for an application. + +Required Parameters +{ + "ApplicationId": "The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console." +} +""" +GetEventStream(args) = pinpoint("GET", "/v1/apps/{application-id}/eventstream", args) + +""" + GetSegmentVersion() + +Retrieves information about the configuration, dimension, and other settings for a specific version of a segment that's associated with an application. + +Required Parameters +{ + "ApplicationId": "The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.", + "SegmentId": "The unique identifier for the segment.", + "Version": "The unique version number (Version property) for the campaign version." +} +""" +GetSegmentVersion(args) = pinpoint("GET", "/v1/apps/{application-id}/segments/{segment-id}/versions/{version}", args) + +""" + DeleteEmailTemplate() + +Deletes a message template for messages that were sent through the email channel. + +Required Parameters +{ + "TemplateName": "The name of the message template. A template name must start with an alphanumeric character and can contain a maximum of 128 characters. The characters can be alphanumeric characters, underscores (_), or hyphens (-). Template names are case sensitive." +} + +Optional Parameters +{ + "Version": "The unique identifier for the version of the message template to update, retrieve information about, or delete. To retrieve identifiers and other information for all the versions of a template, use the Template Versions resource. If specified, this value must match the identifier for an existing template version. If specified for an update operation, this value must match the identifier for the latest existing version of the template. This restriction helps ensure that race conditions don't occur. If you don't specify a value for this parameter, Amazon Pinpoint does the following: For a get operation, retrieves information about the active version of the template. For an update operation, saves the updates to (overwrites) the latest existing version of the template, if the create-new-version parameter isn't used or is set to false. For a delete operation, deletes the template, including all versions of the template." +} +""" +DeleteEmailTemplate(args) = pinpoint("DELETE", "/v1/templates/{template-name}/email", args) + +""" + GetJourney() + +Retrieves information about the status, configuration, and other settings for a journey. + +Required Parameters +{ + "ApplicationId": "The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.", + "JourneyId": "The unique identifier for the journey." +} +""" +GetJourney(args) = pinpoint("GET", "/v1/apps/{application-id}/journeys/{journey-id}", args) + +""" + GetApp() + +Retrieves information about an application. + +Required Parameters +{ + "ApplicationId": "The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console." +} +""" +GetApp(args) = pinpoint("GET", "/v1/apps/{application-id}", args) + +""" + GetCampaign() + +Retrieves information about the status, configuration, and other settings for a campaign. + +Required Parameters +{ + "ApplicationId": "The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.", + "CampaignId": "The unique identifier for the campaign." +} +""" +GetCampaign(args) = pinpoint("GET", "/v1/apps/{application-id}/campaigns/{campaign-id}", args) + +""" + UpdateApnsSandboxChannel() + +Enables the APNs sandbox channel for an application or updates the status and settings of the APNs sandbox channel for an application. + +Required Parameters +{ + "ApplicationId": "The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.", + "APNSSandboxChannelRequest": "" +} +""" +UpdateApnsSandboxChannel(args) = pinpoint("PUT", "/v1/apps/{application-id}/channels/apns_sandbox", args) + +""" + GetChannels() + +Retrieves information about the history and status of each channel for an application. + +Required Parameters +{ + "ApplicationId": "The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console." +} +""" +GetChannels(args) = pinpoint("GET", "/v1/apps/{application-id}/channels", args) + +""" + GetEndpoint() + +Retrieves information about the settings and attributes of a specific endpoint for an application. + +Required Parameters +{ + "ApplicationId": "The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.", + "EndpointId": "The unique identifier for the endpoint." +} +""" +GetEndpoint(args) = pinpoint("GET", "/v1/apps/{application-id}/endpoints/{endpoint-id}", args) + +""" + DeleteVoiceTemplate() + +Deletes a message template for messages that were sent through the voice channel. + +Required Parameters +{ + "TemplateName": "The name of the message template. A template name must start with an alphanumeric character and can contain a maximum of 128 characters. The characters can be alphanumeric characters, underscores (_), or hyphens (-). Template names are case sensitive." +} + +Optional Parameters +{ + "Version": "The unique identifier for the version of the message template to update, retrieve information about, or delete. To retrieve identifiers and other information for all the versions of a template, use the Template Versions resource. If specified, this value must match the identifier for an existing template version. If specified for an update operation, this value must match the identifier for the latest existing version of the template. This restriction helps ensure that race conditions don't occur. If you don't specify a value for this parameter, Amazon Pinpoint does the following: For a get operation, retrieves information about the active version of the template. For an update operation, saves the updates to (overwrites) the latest existing version of the template, if the create-new-version parameter isn't used or is set to false. For a delete operation, deletes the template, including all versions of the template." +} +""" +DeleteVoiceTemplate(args) = pinpoint("DELETE", "/v1/templates/{template-name}/voice", args) + +""" + CreateJourney() + +Creates a journey for an application. + +Required Parameters +{ + "ApplicationId": "The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.", + "WriteJourneyRequest": "" +} +""" +CreateJourney(args) = pinpoint("POST", "/v1/apps/{application-id}/journeys", args) + +""" + ListTemplateVersions() + +Retrieves information about all the versions of a specific message template. + +Required Parameters +{ + "TemplateType": "The type of channel that the message template is designed for. Valid values are: EMAIL, PUSH, SMS, and VOICE.", + "TemplateName": "The name of the message template. A template name must start with an alphanumeric character and can contain a maximum of 128 characters. The characters can be alphanumeric characters, underscores (_), or hyphens (-). Template names are case sensitive." +} + +Optional Parameters +{ + "NextToken": "The string that specifies which page of results to return in a paginated response. This parameter is currently not supported for application, campaign, and journey metrics.", + "PageSize": "The maximum number of items to include in each page of a paginated response. This parameter is currently not supported for application, campaign, and journey metrics." +} +""" +ListTemplateVersions(args) = pinpoint("GET", "/v1/templates/{template-name}/{template-type}/versions", args) + +""" + GetSegment() + +Retrieves information about the configuration, dimension, and other settings for a specific segment that's associated with an application. + +Required Parameters +{ + "ApplicationId": "The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.", + "SegmentId": "The unique identifier for the segment." +} +""" +GetSegment(args) = pinpoint("GET", "/v1/apps/{application-id}/segments/{segment-id}", args) + +""" + CreateCampaign() + +Creates a new campaign for an application or updates the settings of an existing campaign for an application. + +Required Parameters +{ + "ApplicationId": "The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.", + "WriteCampaignRequest": "" +} +""" +CreateCampaign(args) = pinpoint("POST", "/v1/apps/{application-id}/campaigns", args) + +""" + CreateSmsTemplate() + +Creates a message template for messages that are sent through the SMS channel. + +Required Parameters +{ + "SMSTemplateRequest": "", + "TemplateName": "The name of the message template. A template name must start with an alphanumeric character and can contain a maximum of 128 characters. The characters can be alphanumeric characters, underscores (_), or hyphens (-). Template names are case sensitive." +} +""" +CreateSmsTemplate(args) = pinpoint("POST", "/v1/templates/{template-name}/sms", args) + +""" + UpdateVoiceTemplate() + +Updates an existing message template for messages that are sent through the voice channel. + +Required Parameters +{ + "VoiceTemplateRequest": "", + "TemplateName": "The name of the message template. A template name must start with an alphanumeric character and can contain a maximum of 128 characters. The characters can be alphanumeric characters, underscores (_), or hyphens (-). Template names are case sensitive." +} + +Optional Parameters +{ + "CreateNewVersion": "Specifies whether to save the updates as a new version of the message template. Valid values are: true, save the updates as a new version; and, false, save the updates to (overwrite) the latest existing version of the template. If you don't specify a value for this parameter, Amazon Pinpoint saves the updates to (overwrites) the latest existing version of the template. If you specify a value of true for this parameter, don't specify a value for the version parameter. Otherwise, an error will occur.", + "Version": "The unique identifier for the version of the message template to update, retrieve information about, or delete. To retrieve identifiers and other information for all the versions of a template, use the Template Versions resource. If specified, this value must match the identifier for an existing template version. If specified for an update operation, this value must match the identifier for the latest existing version of the template. This restriction helps ensure that race conditions don't occur. If you don't specify a value for this parameter, Amazon Pinpoint does the following: For a get operation, retrieves information about the active version of the template. For an update operation, saves the updates to (overwrites) the latest existing version of the template, if the create-new-version parameter isn't used or is set to false. For a delete operation, deletes the template, including all versions of the template." +} +""" +UpdateVoiceTemplate(args) = pinpoint("PUT", "/v1/templates/{template-name}/voice", args) + +""" + UpdateEndpointsBatch() + + Creates a new batch of endpoints for an application or updates the settings and attributes of a batch of existing endpoints for an application. You can also use this operation to define custom attributes (Attributes, Metrics, and UserAttributes properties) for a batch of endpoints. + +Required Parameters +{ + "ApplicationId": "The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.", + "EndpointBatchRequest": "" +} +""" +UpdateEndpointsBatch(args) = pinpoint("PUT", "/v1/apps/{application-id}/endpoints", args) + +""" + GetJourneyExecutionMetrics() + +Retrieves (queries) pre-aggregated data for a standard execution metric that applies to a journey. + +Required Parameters +{ + "ApplicationId": "The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.", + "JourneyId": "The unique identifier for the journey." +} + +Optional Parameters +{ + "NextToken": "The string that specifies which page of results to return in a paginated response. This parameter is currently not supported for application, campaign, and journey metrics.", + "PageSize": "The maximum number of items to include in each page of a paginated response. This parameter is currently not supported for application, campaign, and journey metrics." +} +""" +GetJourneyExecutionMetrics(args) = pinpoint("GET", "/v1/apps/{application-id}/journeys/{journey-id}/execution-metrics", args) + +""" + UpdateTemplateActiveVersion() + +Changes the status of a specific version of a message template to active. + +Required Parameters +{ + "TemplateActiveVersionRequest": "", + "TemplateType": "The type of channel that the message template is designed for. Valid values are: EMAIL, PUSH, SMS, and VOICE.", + "TemplateName": "The name of the message template. A template name must start with an alphanumeric character and can contain a maximum of 128 characters. The characters can be alphanumeric characters, underscores (_), or hyphens (-). Template names are case sensitive." +} +""" +UpdateTemplateActiveVersion(args) = pinpoint("PUT", "/v1/templates/{template-name}/{template-type}/active-version", args) + +""" + UpdateEndpoint() + +Creates a new endpoint for an application or updates the settings and attributes of an existing endpoint for an application. You can also use this operation to define custom attributes (Attributes, Metrics, and UserAttributes properties) for an endpoint. + +Required Parameters +{ + "ApplicationId": "The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.", + "EndpointRequest": "", + "EndpointId": "The unique identifier for the endpoint." +} +""" +UpdateEndpoint(args) = pinpoint("PUT", "/v1/apps/{application-id}/endpoints/{endpoint-id}", args) + +""" + UpdateAdmChannel() + +Enables the ADM channel for an application or updates the status and settings of the ADM channel for an application. + +Required Parameters +{ + "ApplicationId": "The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.", + "ADMChannelRequest": "" +} +""" +UpdateAdmChannel(args) = pinpoint("PUT", "/v1/apps/{application-id}/channels/adm", args) + +""" + CreateExportJob() + +Creates an export job for an application. + +Required Parameters +{ + "ApplicationId": "The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.", + "ExportJobRequest": "" +} +""" +CreateExportJob(args) = pinpoint("POST", "/v1/apps/{application-id}/jobs/export", args) + +""" + GetApplicationSettings() + +Retrieves information about the settings for an application. + +Required Parameters +{ + "ApplicationId": "The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console." +} +""" +GetApplicationSettings(args) = pinpoint("GET", "/v1/apps/{application-id}/settings", args) + +""" + UpdateSmsChannel() + +Enables the SMS channel for an application or updates the status and settings of the SMS channel for an application. + +Required Parameters +{ + "ApplicationId": "The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.", + "SMSChannelRequest": "" +} +""" +UpdateSmsChannel(args) = pinpoint("PUT", "/v1/apps/{application-id}/channels/sms", args) + +""" + UntagResource() + +Removes one or more tags (keys and values) from an application, campaign, message template, or segment. + +Required Parameters +{ + "ResourceArn": "The Amazon Resource Name (ARN) of the resource.", + "TagKeys": "The key of the tag to remove from the resource. To remove multiple tags, append the tagKeys parameter and argument for each additional tag to remove, separated by an ampersand (&)." +} +""" +UntagResource(args) = pinpoint("DELETE", "/v1/tags/{resource-arn}", args) + +""" + DeleteApnsChannel() + +Disables the APNs channel for an application and deletes any existing settings for the channel. + +Required Parameters +{ + "ApplicationId": "The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console." +} +""" +DeleteApnsChannel(args) = pinpoint("DELETE", "/v1/apps/{application-id}/channels/apns", args) + +""" + UpdateEmailChannel() + +Enables the email channel for an application or updates the status and settings of the email channel for an application. + +Required Parameters +{ + "ApplicationId": "The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.", + "EmailChannelRequest": "" +} +""" +UpdateEmailChannel(args) = pinpoint("PUT", "/v1/apps/{application-id}/channels/email", args) + +""" + DeleteApnsVoipChannel() + +Disables the APNs VoIP channel for an application and deletes any existing settings for the channel. + +Required Parameters +{ + "ApplicationId": "The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console." +} +""" +DeleteApnsVoipChannel(args) = pinpoint("DELETE", "/v1/apps/{application-id}/channels/apns_voip", args) + +""" + GetUserEndpoints() + +Retrieves information about all the endpoints that are associated with a specific user ID. + +Required Parameters +{ + "ApplicationId": "The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.", + "UserId": "The unique identifier for the user." +} +""" +GetUserEndpoints(args) = pinpoint("GET", "/v1/apps/{application-id}/users/{user-id}", args) + +""" + UpdateBaiduChannel() + +Enables the Baidu channel for an application or updates the status and settings of the Baidu channel for an application. + +Required Parameters +{ + "ApplicationId": "The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.", + "BaiduChannelRequest": "" +} +""" +UpdateBaiduChannel(args) = pinpoint("PUT", "/v1/apps/{application-id}/channels/baidu", args) + +""" + DeleteCampaign() + +Deletes a campaign from an application. + +Required Parameters +{ + "ApplicationId": "The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.", + "CampaignId": "The unique identifier for the campaign." +} +""" +DeleteCampaign(args) = pinpoint("DELETE", "/v1/apps/{application-id}/campaigns/{campaign-id}", args) + +""" + UpdateSmsTemplate() + +Updates an existing message template for messages that are sent through the SMS channel. + +Required Parameters +{ + "SMSTemplateRequest": "", + "TemplateName": "The name of the message template. A template name must start with an alphanumeric character and can contain a maximum of 128 characters. The characters can be alphanumeric characters, underscores (_), or hyphens (-). Template names are case sensitive." +} + +Optional Parameters +{ + "CreateNewVersion": "Specifies whether to save the updates as a new version of the message template. Valid values are: true, save the updates as a new version; and, false, save the updates to (overwrite) the latest existing version of the template. If you don't specify a value for this parameter, Amazon Pinpoint saves the updates to (overwrites) the latest existing version of the template. If you specify a value of true for this parameter, don't specify a value for the version parameter. Otherwise, an error will occur.", + "Version": "The unique identifier for the version of the message template to update, retrieve information about, or delete. To retrieve identifiers and other information for all the versions of a template, use the Template Versions resource. If specified, this value must match the identifier for an existing template version. If specified for an update operation, this value must match the identifier for the latest existing version of the template. This restriction helps ensure that race conditions don't occur. If you don't specify a value for this parameter, Amazon Pinpoint does the following: For a get operation, retrieves information about the active version of the template. For an update operation, saves the updates to (overwrites) the latest existing version of the template, if the create-new-version parameter isn't used or is set to false. For a delete operation, deletes the template, including all versions of the template." +} +""" +UpdateSmsTemplate(args) = pinpoint("PUT", "/v1/templates/{template-name}/sms", args) + +""" + DeleteBaiduChannel() + +Disables the Baidu channel for an application and deletes any existing settings for the channel. + +Required Parameters +{ + "ApplicationId": "The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console." +} +""" +DeleteBaiduChannel(args) = pinpoint("DELETE", "/v1/apps/{application-id}/channels/baidu", args) + +""" + DeleteApnsVoipSandboxChannel() + +Disables the APNs VoIP sandbox channel for an application and deletes any existing settings for the channel. + +Required Parameters +{ + "ApplicationId": "The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console." +} +""" +DeleteApnsVoipSandboxChannel(args) = pinpoint("DELETE", "/v1/apps/{application-id}/channels/apns_voip_sandbox", args) + +""" + DeleteEventStream() + +Deletes the event stream for an application. + +Required Parameters +{ + "ApplicationId": "The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console." +} +""" +DeleteEventStream(args) = pinpoint("DELETE", "/v1/apps/{application-id}/eventstream", args) + +""" + GetRecommenderConfiguration() + +Retrieves information about an Amazon Pinpoint configuration for a recommender model. + +Required Parameters +{ + "RecommenderId": "The unique identifier for the recommender model configuration. This identifier is displayed as the Recommender ID on the Amazon Pinpoint console." +} +""" +GetRecommenderConfiguration(args) = pinpoint("GET", "/v1/recommenders/{recommender-id}", args) + +""" + CreateSegment() + +Creates a new segment for an application or updates the configuration, dimension, and other settings for an existing segment that's associated with an application. + +Required Parameters +{ + "ApplicationId": "The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.", + "WriteSegmentRequest": "" +} +""" +CreateSegment(args) = pinpoint("POST", "/v1/apps/{application-id}/segments", args) + +""" + GetApnsVoipSandboxChannel() + +Retrieves information about the status and settings of the APNs VoIP sandbox channel for an application. + +Required Parameters +{ + "ApplicationId": "The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console." +} +""" +GetApnsVoipSandboxChannel(args) = pinpoint("GET", "/v1/apps/{application-id}/channels/apns_voip_sandbox", args) + +""" + GetImportJob() + +Retrieves information about the status and settings of a specific import job for an application. + +Required Parameters +{ + "ApplicationId": "The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.", + "JobId": "The unique identifier for the job." +} +""" +GetImportJob(args) = pinpoint("GET", "/v1/apps/{application-id}/jobs/import/{job-id}", args) + +""" + GetExportJob() + +Retrieves information about the status and settings of a specific export job for an application. + +Required Parameters +{ + "ApplicationId": "The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.", + "JobId": "The unique identifier for the job." +} +""" +GetExportJob(args) = pinpoint("GET", "/v1/apps/{application-id}/jobs/export/{job-id}", args) + +""" + ListTagsForResource() + +Retrieves all the tags (keys and values) that are associated with an application, campaign, message template, or segment. + +Required Parameters +{ + "ResourceArn": "The Amazon Resource Name (ARN) of the resource." +} +""" +ListTagsForResource(args) = pinpoint("GET", "/v1/tags/{resource-arn}", args) + +""" + SendMessages() + +Creates and sends a direct message. + +Required Parameters +{ + "ApplicationId": "The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.", + "MessageRequest": "" +} +""" +SendMessages(args) = pinpoint("POST", "/v1/apps/{application-id}/messages", args) + +""" + UpdateApnsChannel() + +Enables the APNs channel for an application or updates the status and settings of the APNs channel for an application. + +Required Parameters +{ + "ApplicationId": "The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.", + "APNSChannelRequest": "" +} +""" +UpdateApnsChannel(args) = pinpoint("PUT", "/v1/apps/{application-id}/channels/apns", args) + +""" + GetSegmentImportJobs() + +Retrieves information about the status and settings of the import jobs for a segment. + +Required Parameters +{ + "ApplicationId": "The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.", + "SegmentId": "The unique identifier for the segment." +} + +Optional Parameters +{ + "PageSize": "The maximum number of items to include in each page of a paginated response. This parameter is currently not supported for application, campaign, and journey metrics.", + "Token": "The NextToken string that specifies which page of results to return in a paginated response." +} +""" +GetSegmentImportJobs(args) = pinpoint("GET", "/v1/apps/{application-id}/segments/{segment-id}/jobs/import", args) + +""" + GetSmsTemplate() + +Retrieves the content and settings of a message template for messages that are sent through the SMS channel. + +Required Parameters +{ + "TemplateName": "The name of the message template. A template name must start with an alphanumeric character and can contain a maximum of 128 characters. The characters can be alphanumeric characters, underscores (_), or hyphens (-). Template names are case sensitive." +} + +Optional Parameters +{ + "Version": "The unique identifier for the version of the message template to update, retrieve information about, or delete. To retrieve identifiers and other information for all the versions of a template, use the Template Versions resource. If specified, this value must match the identifier for an existing template version. If specified for an update operation, this value must match the identifier for the latest existing version of the template. This restriction helps ensure that race conditions don't occur. If you don't specify a value for this parameter, Amazon Pinpoint does the following: For a get operation, retrieves information about the active version of the template. For an update operation, saves the updates to (overwrites) the latest existing version of the template, if the create-new-version parameter isn't used or is set to false. For a delete operation, deletes the template, including all versions of the template." +} +""" +GetSmsTemplate(args) = pinpoint("GET", "/v1/templates/{template-name}/sms", args) + +""" + DeleteGcmChannel() + +Disables the GCM channel for an application and deletes any existing settings for the channel. + +Required Parameters +{ + "ApplicationId": "The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console." +} +""" +DeleteGcmChannel(args) = pinpoint("DELETE", "/v1/apps/{application-id}/channels/gcm", args) + +""" + DeleteJourney() + +Deletes a journey from an application. + +Required Parameters +{ + "ApplicationId": "The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.", + "JourneyId": "The unique identifier for the journey." +} +""" +DeleteJourney(args) = pinpoint("DELETE", "/v1/apps/{application-id}/journeys/{journey-id}", args) + +""" + PutEvents() + +Creates a new event to record for endpoints, or creates or updates endpoint data that existing events are associated with. + +Required Parameters +{ + "ApplicationId": "The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.", + "EventsRequest": "" +} +""" +PutEvents(args) = pinpoint("POST", "/v1/apps/{application-id}/events", args) + +""" + UpdateApplicationSettings() + +Updates the settings for an application. + +Required Parameters +{ + "ApplicationId": "The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.", + "WriteApplicationSettingsRequest": "" +} +""" +UpdateApplicationSettings(args) = pinpoint("PUT", "/v1/apps/{application-id}/settings", args) + +""" + UpdateJourneyState() + +Cancels (stops) an active journey. + +Required Parameters +{ + "ApplicationId": "The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.", + "JourneyStateRequest": "", + "JourneyId": "The unique identifier for the journey." +} +""" +UpdateJourneyState(args) = pinpoint("PUT", "/v1/apps/{application-id}/journeys/{journey-id}/state", args) + +""" + GetApps() + +Retrieves information about all the applications that are associated with your Amazon Pinpoint account. + +Optional Parameters +{ + "PageSize": "The maximum number of items to include in each page of a paginated response. This parameter is currently not supported for application, campaign, and journey metrics.", + "Token": "The NextToken string that specifies which page of results to return in a paginated response." +} +""" +GetApps() = pinpoint("GET", "/v1/apps") +GetApps(args) = pinpoint("GET", "/v1/apps", args) + +""" + CreateRecommenderConfiguration() + +Creates an Amazon Pinpoint configuration for a recommender model. + +Required Parameters +{ + "CreateRecommenderConfiguration": "" +} +""" +CreateRecommenderConfiguration(args) = pinpoint("POST", "/v1/recommenders", args) + +""" + UpdateApnsVoipChannel() + +Enables the APNs VoIP channel for an application or updates the status and settings of the APNs VoIP channel for an application. + +Required Parameters +{ + "ApplicationId": "The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.", + "APNSVoipChannelRequest": "" +} +""" +UpdateApnsVoipChannel(args) = pinpoint("PUT", "/v1/apps/{application-id}/channels/apns_voip", args) + +""" + DeleteVoiceChannel() + +Disables the voice channel for an application and deletes any existing settings for the channel. + +Required Parameters +{ + "ApplicationId": "The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console." +} +""" +DeleteVoiceChannel(args) = pinpoint("DELETE", "/v1/apps/{application-id}/channels/voice", args) + +""" + UpdatePushTemplate() + +Updates an existing message template for messages that are sent through a push notification channel. + +Required Parameters +{ + "PushNotificationTemplateRequest": "", + "TemplateName": "The name of the message template. A template name must start with an alphanumeric character and can contain a maximum of 128 characters. The characters can be alphanumeric characters, underscores (_), or hyphens (-). Template names are case sensitive." +} + +Optional Parameters +{ + "CreateNewVersion": "Specifies whether to save the updates as a new version of the message template. Valid values are: true, save the updates as a new version; and, false, save the updates to (overwrite) the latest existing version of the template. If you don't specify a value for this parameter, Amazon Pinpoint saves the updates to (overwrites) the latest existing version of the template. If you specify a value of true for this parameter, don't specify a value for the version parameter. Otherwise, an error will occur.", + "Version": "The unique identifier for the version of the message template to update, retrieve information about, or delete. To retrieve identifiers and other information for all the versions of a template, use the Template Versions resource. If specified, this value must match the identifier for an existing template version. If specified for an update operation, this value must match the identifier for the latest existing version of the template. This restriction helps ensure that race conditions don't occur. If you don't specify a value for this parameter, Amazon Pinpoint does the following: For a get operation, retrieves information about the active version of the template. For an update operation, saves the updates to (overwrites) the latest existing version of the template, if the create-new-version parameter isn't used or is set to false. For a delete operation, deletes the template, including all versions of the template." +} +""" +UpdatePushTemplate(args) = pinpoint("PUT", "/v1/templates/{template-name}/push", args) + +""" + DeleteEndpoint() + +Deletes an endpoint from an application. + +Required Parameters +{ + "ApplicationId": "The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.", + "EndpointId": "The unique identifier for the endpoint." +} +""" +DeleteEndpoint(args) = pinpoint("DELETE", "/v1/apps/{application-id}/endpoints/{endpoint-id}", args) + +""" + PutEventStream() + +Creates a new event stream for an application or updates the settings of an existing event stream for an application. + +Required Parameters +{ + "ApplicationId": "The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.", + "WriteEventStream": "" +} +""" +PutEventStream(args) = pinpoint("POST", "/v1/apps/{application-id}/eventstream", args) + +""" + SendUsersMessages() + +Creates and sends a message to a list of users. + +Required Parameters +{ + "ApplicationId": "The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.", + "SendUsersMessageRequest": "" +} +""" +SendUsersMessages(args) = pinpoint("POST", "/v1/apps/{application-id}/users-messages", args) + +""" + UpdateGcmChannel() + +Enables the GCM channel for an application or updates the status and settings of the GCM channel for an application. + +Required Parameters +{ + "ApplicationId": "The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.", + "GCMChannelRequest": "" +} +""" +UpdateGcmChannel(args) = pinpoint("PUT", "/v1/apps/{application-id}/channels/gcm", args) + +""" + ListTemplates() + +Retrieves information about all the message templates that are associated with your Amazon Pinpoint account. + +Optional Parameters +{ + "NextToken": "The string that specifies which page of results to return in a paginated response. This parameter is currently not supported for application, campaign, and journey metrics.", + "TemplateType": "The type of message template to include in the results. Valid values are: EMAIL, PUSH, SMS, and VOICE. To include all types of templates in the results, don't include this parameter in your request.", + "PageSize": "The maximum number of items to include in each page of a paginated response. This parameter is currently not supported for application, campaign, and journey metrics.", + "Prefix": "The substring to match in the names of the message templates to include in the results. If you specify this value, Amazon Pinpoint returns only those templates whose names begin with the value that you specify." +} +""" +ListTemplates() = pinpoint("GET", "/v1/templates") +ListTemplates(args) = pinpoint("GET", "/v1/templates", args) + +""" + GetImportJobs() + +Retrieves information about the status and settings of all the import jobs for an application. + +Required Parameters +{ + "ApplicationId": "The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console." +} + +Optional Parameters +{ + "PageSize": "The maximum number of items to include in each page of a paginated response. This parameter is currently not supported for application, campaign, and journey metrics.", + "Token": "The NextToken string that specifies which page of results to return in a paginated response." +} +""" +GetImportJobs(args) = pinpoint("GET", "/v1/apps/{application-id}/jobs/import", args) + +""" + GetBaiduChannel() + +Retrieves information about the status and settings of the Baidu channel for an application. + +Required Parameters +{ + "ApplicationId": "The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console." +} +""" +GetBaiduChannel(args) = pinpoint("GET", "/v1/apps/{application-id}/channels/baidu", args) + +""" + GetEmailChannel() + +Retrieves information about the status and settings of the email channel for an application. + +Required Parameters +{ + "ApplicationId": "The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console." +} +""" +GetEmailChannel(args) = pinpoint("GET", "/v1/apps/{application-id}/channels/email", args) + +""" + ListJourneys() + +Retrieves information about the status, configuration, and other settings for all the journeys that are associated with an application. + +Required Parameters +{ + "ApplicationId": "The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console." +} + +Optional Parameters +{ + "PageSize": "The maximum number of items to include in each page of a paginated response. This parameter is currently not supported for application, campaign, and journey metrics.", + "Token": "The NextToken string that specifies which page of results to return in a paginated response." +} +""" +ListJourneys(args) = pinpoint("GET", "/v1/apps/{application-id}/journeys", args) + +""" + DeleteSegment() + +Deletes a segment from an application. + +Required Parameters +{ + "ApplicationId": "The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.", + "SegmentId": "The unique identifier for the segment." +} +""" +DeleteSegment(args) = pinpoint("DELETE", "/v1/apps/{application-id}/segments/{segment-id}", args) + +""" + DeleteUserEndpoints() + +Deletes all the endpoints that are associated with a specific user ID. + +Required Parameters +{ + "ApplicationId": "The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.", + "UserId": "The unique identifier for the user." +} +""" +DeleteUserEndpoints(args) = pinpoint("DELETE", "/v1/apps/{application-id}/users/{user-id}", args) + +""" + GetVoiceChannel() + +Retrieves information about the status and settings of the voice channel for an application. + +Required Parameters +{ + "ApplicationId": "The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console." +} +""" +GetVoiceChannel(args) = pinpoint("GET", "/v1/apps/{application-id}/channels/voice", args) + +""" + CreateVoiceTemplate() + +Creates a message template for messages that are sent through the voice channel. + +Required Parameters +{ + "VoiceTemplateRequest": "", + "TemplateName": "The name of the message template. A template name must start with an alphanumeric character and can contain a maximum of 128 characters. The characters can be alphanumeric characters, underscores (_), or hyphens (-). Template names are case sensitive." +} +""" +CreateVoiceTemplate(args) = pinpoint("POST", "/v1/templates/{template-name}/voice", args) + +""" + GetSegmentVersions() + +Retrieves information about the configuration, dimension, and other settings for all the versions of a specific segment that's associated with an application. + +Required Parameters +{ + "ApplicationId": "The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.", + "SegmentId": "The unique identifier for the segment." +} + +Optional Parameters +{ + "PageSize": "The maximum number of items to include in each page of a paginated response. This parameter is currently not supported for application, campaign, and journey metrics.", + "Token": "The NextToken string that specifies which page of results to return in a paginated response." +} +""" +GetSegmentVersions(args) = pinpoint("GET", "/v1/apps/{application-id}/segments/{segment-id}/versions", args) + +""" + GetApnsVoipChannel() + +Retrieves information about the status and settings of the APNs VoIP channel for an application. + +Required Parameters +{ + "ApplicationId": "The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console." +} +""" +GetApnsVoipChannel(args) = pinpoint("GET", "/v1/apps/{application-id}/channels/apns_voip", args) + +""" + GetApnsSandboxChannel() + +Retrieves information about the status and settings of the APNs sandbox channel for an application. + +Required Parameters +{ + "ApplicationId": "The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console." +} +""" +GetApnsSandboxChannel(args) = pinpoint("GET", "/v1/apps/{application-id}/channels/apns_sandbox", args) + +""" + DeleteSmsChannel() + +Disables the SMS channel for an application and deletes any existing settings for the channel. + +Required Parameters +{ + "ApplicationId": "The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console." +} +""" +DeleteSmsChannel(args) = pinpoint("DELETE", "/v1/apps/{application-id}/channels/sms", args) + +""" + GetCampaignDateRangeKpi() + +Retrieves (queries) pre-aggregated data for a standard metric that applies to a campaign. + +Required Parameters +{ + "ApplicationId": "The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.", + "CampaignId": "The unique identifier for the campaign.", + "KpiName": "The name of the metric, also referred to as a key performance indicator (KPI), to retrieve data for. This value describes the associated metric and consists of two or more terms, which are comprised of lowercase alphanumeric characters, separated by a hyphen. Examples are email-open-rate and successful-delivery-rate. For a list of valid values, see the Amazon Pinpoint Developer Guide." +} + +Optional Parameters +{ + "StartTime": "The first date and time to retrieve data for, as part of an inclusive date range that filters the query results. This value should be in extended ISO 8601 format and use Coordinated Universal Time (UTC), for example: 2019-07-19T20:00:00Z for 8:00 PM UTC July 19, 2019. This value should also be fewer than 90 days from the current day.", + "NextToken": "The string that specifies which page of results to return in a paginated response. This parameter is currently not supported for application, campaign, and journey metrics.", + "EndTime": "The last date and time to retrieve data for, as part of an inclusive date range that filters the query results. This value should be in extended ISO 8601 format and use Coordinated Universal Time (UTC), for example: 2019-07-26T20:00:00Z for 8:00 PM UTC July 26, 2019.", + "PageSize": "The maximum number of items to include in each page of a paginated response. This parameter is currently not supported for application, campaign, and journey metrics." +} +""" +GetCampaignDateRangeKpi(args) = pinpoint("GET", "/v1/apps/{application-id}/campaigns/{campaign-id}/kpis/daterange/{kpi-name}", args) + +""" + GetExportJobs() + +Retrieves information about the status and settings of all the export jobs for an application. + +Required Parameters +{ + "ApplicationId": "The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console." +} + +Optional Parameters +{ + "PageSize": "The maximum number of items to include in each page of a paginated response. This parameter is currently not supported for application, campaign, and journey metrics.", + "Token": "The NextToken string that specifies which page of results to return in a paginated response." +} +""" +GetExportJobs(args) = pinpoint("GET", "/v1/apps/{application-id}/jobs/export", args) + +""" + DeleteRecommenderConfiguration() + +Deletes an Amazon Pinpoint configuration for a recommender model. + +Required Parameters +{ + "RecommenderId": "The unique identifier for the recommender model configuration. This identifier is displayed as the Recommender ID on the Amazon Pinpoint console." +} +""" +DeleteRecommenderConfiguration(args) = pinpoint("DELETE", "/v1/recommenders/{recommender-id}", args) + +""" + PhoneNumberValidate() + +Retrieves information about a phone number. + +Required Parameters +{ + "NumberValidateRequest": "" +} +""" +PhoneNumberValidate(args) = pinpoint("POST", "/v1/phone/number/validate", args) + +""" + GetPushTemplate() + +Retrieves the content and settings of a message template for messages that are sent through a push notification channel. + +Required Parameters +{ + "TemplateName": "The name of the message template. A template name must start with an alphanumeric character and can contain a maximum of 128 characters. The characters can be alphanumeric characters, underscores (_), or hyphens (-). Template names are case sensitive." +} + +Optional Parameters +{ + "Version": "The unique identifier for the version of the message template to update, retrieve information about, or delete. To retrieve identifiers and other information for all the versions of a template, use the Template Versions resource. If specified, this value must match the identifier for an existing template version. If specified for an update operation, this value must match the identifier for the latest existing version of the template. This restriction helps ensure that race conditions don't occur. If you don't specify a value for this parameter, Amazon Pinpoint does the following: For a get operation, retrieves information about the active version of the template. For an update operation, saves the updates to (overwrites) the latest existing version of the template, if the create-new-version parameter isn't used or is set to false. For a delete operation, deletes the template, including all versions of the template." +} +""" +GetPushTemplate(args) = pinpoint("GET", "/v1/templates/{template-name}/push", args) + +""" + CreatePushTemplate() + +Creates a message template for messages that are sent through a push notification channel. + +Required Parameters +{ + "PushNotificationTemplateRequest": "", + "TemplateName": "The name of the message template. A template name must start with an alphanumeric character and can contain a maximum of 128 characters. The characters can be alphanumeric characters, underscores (_), or hyphens (-). Template names are case sensitive." +} +""" +CreatePushTemplate(args) = pinpoint("POST", "/v1/templates/{template-name}/push", args) + +""" + DeletePushTemplate() + +Deletes a message template for messages that were sent through a push notification channel. + +Required Parameters +{ + "TemplateName": "The name of the message template. A template name must start with an alphanumeric character and can contain a maximum of 128 characters. The characters can be alphanumeric characters, underscores (_), or hyphens (-). Template names are case sensitive." +} + +Optional Parameters +{ + "Version": "The unique identifier for the version of the message template to update, retrieve information about, or delete. To retrieve identifiers and other information for all the versions of a template, use the Template Versions resource. If specified, this value must match the identifier for an existing template version. If specified for an update operation, this value must match the identifier for the latest existing version of the template. This restriction helps ensure that race conditions don't occur. If you don't specify a value for this parameter, Amazon Pinpoint does the following: For a get operation, retrieves information about the active version of the template. For an update operation, saves the updates to (overwrites) the latest existing version of the template, if the create-new-version parameter isn't used or is set to false. For a delete operation, deletes the template, including all versions of the template." +} +""" +DeletePushTemplate(args) = pinpoint("DELETE", "/v1/templates/{template-name}/push", args) + +""" + GetCampaignVersions() + +Retrieves information about the status, configuration, and other settings for all versions of a campaign. + +Required Parameters +{ + "ApplicationId": "The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.", + "CampaignId": "The unique identifier for the campaign." +} + +Optional Parameters +{ + "PageSize": "The maximum number of items to include in each page of a paginated response. This parameter is currently not supported for application, campaign, and journey metrics.", + "Token": "The NextToken string that specifies which page of results to return in a paginated response." +} +""" +GetCampaignVersions(args) = pinpoint("GET", "/v1/apps/{application-id}/campaigns/{campaign-id}/versions", args) + +""" + CreateApp() + + Creates an application. + +Required Parameters +{ + "CreateApplicationRequest": "" +} +""" +CreateApp(args) = pinpoint("POST", "/v1/apps", args) + +""" + GetRecommenderConfigurations() + +Retrieves information about all the recommender model configurations that are associated with your Amazon Pinpoint account. + +Optional Parameters +{ + "PageSize": "The maximum number of items to include in each page of a paginated response. This parameter is currently not supported for application, campaign, and journey metrics.", + "Token": "The NextToken string that specifies which page of results to return in a paginated response." +} +""" +GetRecommenderConfigurations() = pinpoint("GET", "/v1/recommenders") +GetRecommenderConfigurations(args) = pinpoint("GET", "/v1/recommenders", args) + +""" + CreateEmailTemplate() + +Creates a message template for messages that are sent through the email channel. + +Required Parameters +{ + "EmailTemplateRequest": "", + "TemplateName": "The name of the message template. A template name must start with an alphanumeric character and can contain a maximum of 128 characters. The characters can be alphanumeric characters, underscores (_), or hyphens (-). Template names are case sensitive." +} +""" +CreateEmailTemplate(args) = pinpoint("POST", "/v1/templates/{template-name}/email", args) + +""" + GetApplicationDateRangeKpi() + +Retrieves (queries) pre-aggregated data for a standard metric that applies to an application. + +Required Parameters +{ + "ApplicationId": "The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.", + "KpiName": "The name of the metric, also referred to as a key performance indicator (KPI), to retrieve data for. This value describes the associated metric and consists of two or more terms, which are comprised of lowercase alphanumeric characters, separated by a hyphen. Examples are email-open-rate and successful-delivery-rate. For a list of valid values, see the Amazon Pinpoint Developer Guide." +} + +Optional Parameters +{ + "StartTime": "The first date and time to retrieve data for, as part of an inclusive date range that filters the query results. This value should be in extended ISO 8601 format and use Coordinated Universal Time (UTC), for example: 2019-07-19T20:00:00Z for 8:00 PM UTC July 19, 2019. This value should also be fewer than 90 days from the current day.", + "NextToken": "The string that specifies which page of results to return in a paginated response. This parameter is currently not supported for application, campaign, and journey metrics.", + "EndTime": "The last date and time to retrieve data for, as part of an inclusive date range that filters the query results. This value should be in extended ISO 8601 format and use Coordinated Universal Time (UTC), for example: 2019-07-26T20:00:00Z for 8:00 PM UTC July 26, 2019.", + "PageSize": "The maximum number of items to include in each page of a paginated response. This parameter is currently not supported for application, campaign, and journey metrics." +} +""" +GetApplicationDateRangeKpi(args) = pinpoint("GET", "/v1/apps/{application-id}/kpis/daterange/{kpi-name}", args) + +""" + GetAdmChannel() + +Retrieves information about the status and settings of the ADM channel for an application. + +Required Parameters +{ + "ApplicationId": "The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console." +} +""" +GetAdmChannel(args) = pinpoint("GET", "/v1/apps/{application-id}/channels/adm", args) + +""" + UpdateJourney() + +Updates the configuration and other settings for a journey. + +Required Parameters +{ + "ApplicationId": "The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.", + "JourneyId": "The unique identifier for the journey.", + "WriteJourneyRequest": "" +} +""" +UpdateJourney(args) = pinpoint("PUT", "/v1/apps/{application-id}/journeys/{journey-id}", args) + +""" + UpdateApnsVoipSandboxChannel() + +Enables the APNs VoIP sandbox channel for an application or updates the status and settings of the APNs VoIP sandbox channel for an application. + +Required Parameters +{ + "ApplicationId": "The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.", + "APNSVoipSandboxChannelRequest": "" +} +""" +UpdateApnsVoipSandboxChannel(args) = pinpoint("PUT", "/v1/apps/{application-id}/channels/apns_voip_sandbox", args) + +""" + GetJourneyDateRangeKpi() + +Retrieves (queries) pre-aggregated data for a standard engagement metric that applies to a journey. + +Required Parameters +{ + "ApplicationId": "The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.", + "JourneyId": "The unique identifier for the journey.", + "KpiName": "The name of the metric, also referred to as a key performance indicator (KPI), to retrieve data for. This value describes the associated metric and consists of two or more terms, which are comprised of lowercase alphanumeric characters, separated by a hyphen. Examples are email-open-rate and successful-delivery-rate. For a list of valid values, see the Amazon Pinpoint Developer Guide." +} + +Optional Parameters +{ + "StartTime": "The first date and time to retrieve data for, as part of an inclusive date range that filters the query results. This value should be in extended ISO 8601 format and use Coordinated Universal Time (UTC), for example: 2019-07-19T20:00:00Z for 8:00 PM UTC July 19, 2019. This value should also be fewer than 90 days from the current day.", + "NextToken": "The string that specifies which page of results to return in a paginated response. This parameter is currently not supported for application, campaign, and journey metrics.", + "EndTime": "The last date and time to retrieve data for, as part of an inclusive date range that filters the query results. This value should be in extended ISO 8601 format and use Coordinated Universal Time (UTC), for example: 2019-07-26T20:00:00Z for 8:00 PM UTC July 26, 2019.", + "PageSize": "The maximum number of items to include in each page of a paginated response. This parameter is currently not supported for application, campaign, and journey metrics." +} +""" +GetJourneyDateRangeKpi(args) = pinpoint("GET", "/v1/apps/{application-id}/journeys/{journey-id}/kpis/daterange/{kpi-name}", args) + +""" + UpdateRecommenderConfiguration() + +Updates an Amazon Pinpoint configuration for a recommender model. + +Required Parameters +{ + "UpdateRecommenderConfiguration": "", + "RecommenderId": "The unique identifier for the recommender model configuration. This identifier is displayed as the Recommender ID on the Amazon Pinpoint console." +} +""" +UpdateRecommenderConfiguration(args) = pinpoint("PUT", "/v1/recommenders/{recommender-id}", args) + +""" + DeleteApnsSandboxChannel() + +Disables the APNs sandbox channel for an application and deletes any existing settings for the channel. + +Required Parameters +{ + "ApplicationId": "The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console." +} +""" +DeleteApnsSandboxChannel(args) = pinpoint("DELETE", "/v1/apps/{application-id}/channels/apns_sandbox", args) + +""" + GetJourneyExecutionActivityMetrics() + +Retrieves (queries) pre-aggregated data for a standard execution metric that applies to a journey activity. + +Required Parameters +{ + "ApplicationId": "The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.", + "JourneyId": "The unique identifier for the journey.", + "JourneyActivityId": "The unique identifier for the journey activity." +} + +Optional Parameters +{ + "NextToken": "The string that specifies which page of results to return in a paginated response. This parameter is currently not supported for application, campaign, and journey metrics.", + "PageSize": "The maximum number of items to include in each page of a paginated response. This parameter is currently not supported for application, campaign, and journey metrics." +} +""" +GetJourneyExecutionActivityMetrics(args) = pinpoint("GET", "/v1/apps/{application-id}/journeys/{journey-id}/activities/{journey-activity-id}/execution-metrics", args) + +""" + GetCampaigns() + +Retrieves information about the status, configuration, and other settings for all the campaigns that are associated with an application. + +Required Parameters +{ + "ApplicationId": "The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console." +} + +Optional Parameters +{ + "PageSize": "The maximum number of items to include in each page of a paginated response. This parameter is currently not supported for application, campaign, and journey metrics.", + "Token": "The NextToken string that specifies which page of results to return in a paginated response." +} +""" +GetCampaigns(args) = pinpoint("GET", "/v1/apps/{application-id}/campaigns", args) + +""" + GetVoiceTemplate() + +Retrieves the content and settings of a message template for messages that are sent through the voice channel. + +Required Parameters +{ + "TemplateName": "The name of the message template. A template name must start with an alphanumeric character and can contain a maximum of 128 characters. The characters can be alphanumeric characters, underscores (_), or hyphens (-). Template names are case sensitive." +} + +Optional Parameters +{ + "Version": "The unique identifier for the version of the message template to update, retrieve information about, or delete. To retrieve identifiers and other information for all the versions of a template, use the Template Versions resource. If specified, this value must match the identifier for an existing template version. If specified for an update operation, this value must match the identifier for the latest existing version of the template. This restriction helps ensure that race conditions don't occur. If you don't specify a value for this parameter, Amazon Pinpoint does the following: For a get operation, retrieves information about the active version of the template. For an update operation, saves the updates to (overwrites) the latest existing version of the template, if the create-new-version parameter isn't used or is set to false. For a delete operation, deletes the template, including all versions of the template." +} +""" +GetVoiceTemplate(args) = pinpoint("GET", "/v1/templates/{template-name}/voice", args) + +""" + UpdateVoiceChannel() + +Enables the voice channel for an application or updates the status and settings of the voice channel for an application. + +Required Parameters +{ + "ApplicationId": "The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.", + "VoiceChannelRequest": "" +} +""" +UpdateVoiceChannel(args) = pinpoint("PUT", "/v1/apps/{application-id}/channels/voice", args) diff --git a/src/services/pinpoint_email.jl b/src/services/pinpoint_email.jl new file mode 100644 index 0000000000..ef5763772b --- /dev/null +++ b/src/services/pinpoint_email.jl @@ -0,0 +1,608 @@ +include("../AWSServices.jl") +using .AWSServices: pinpoint_email + +""" + GetDeliverabilityDashboardOptions() + +Retrieve information about the status of the Deliverability dashboard for your Amazon Pinpoint account. When the Deliverability dashboard is enabled, you gain access to reputation, deliverability, and other metrics for the domains that you use to send email using Amazon Pinpoint. You also gain the ability to perform predictive inbox placement tests. When you use the Deliverability dashboard, you pay a monthly subscription charge, in addition to any other fees that you accrue by using Amazon Pinpoint. For more information about the features and cost of a Deliverability dashboard subscription, see Amazon Pinpoint Pricing. +""" +GetDeliverabilityDashboardOptions() = pinpoint_email("GET", "/v1/email/deliverability-dashboard") +GetDeliverabilityDashboardOptions(args) = pinpoint_email("GET", "/v1/email/deliverability-dashboard", args) + +""" + ListTagsForResource() + +Retrieve a list of the tags (keys and values) that are associated with a specified resource. A tag is a label that you optionally define and associate with a resource in Amazon Pinpoint. Each tag consists of a required tag key and an optional associated tag value. A tag key is a general label that acts as a category for more specific tag values. A tag value acts as a descriptor within a tag key. + +Required Parameters +{ + "ResourceArn": "The Amazon Resource Name (ARN) of the resource that you want to retrieve tag information for." +} +""" +ListTagsForResource(args) = pinpoint_email("GET", "/v1/email/tags", args) + +""" + PutDedicatedIpWarmupAttributes() + + + +Required Parameters +{ + "Ip": "The dedicated IP address that you want to update the warm-up attributes for.", + "WarmupPercentage": "The warm-up percentage that you want to associate with the dedicated IP address." +} +""" +PutDedicatedIpWarmupAttributes(args) = pinpoint_email("PUT", "/v1/email/dedicated-ips/{IP}/warmup", args) + +""" + CreateEmailIdentity() + +Verifies an email identity for use with Amazon Pinpoint. In Amazon Pinpoint, an identity is an email address or domain that you use when you send email. Before you can use an identity to send email with Amazon Pinpoint, you first have to verify it. By verifying an address, you demonstrate that you're the owner of the address, and that you've given Amazon Pinpoint permission to send email from the address. When you verify an email address, Amazon Pinpoint sends an email to the address. Your email address is verified as soon as you follow the link in the verification email. When you verify a domain, this operation provides a set of DKIM tokens, which you can convert into CNAME tokens. You add these CNAME tokens to the DNS configuration for your domain. Your domain is verified when Amazon Pinpoint detects these records in the DNS configuration for your domain. It usually takes around 72 hours to complete the domain verification process. + +Required Parameters +{ + "EmailIdentity": "The email address or domain that you want to verify." +} + +Optional Parameters +{ + "Tags": "An array of objects that define the tags (keys and values) that you want to associate with the email identity." +} +""" +CreateEmailIdentity(args) = pinpoint_email("POST", "/v1/email/identities", args) + +""" + DeleteConfigurationSet() + +Delete an existing configuration set. In Amazon Pinpoint, configuration sets are groups of rules that you can apply to the emails you send. You apply a configuration set to an email by including a reference to the configuration set in the headers of the email. When you apply a configuration set to an email, all of the rules in that configuration set are applied to the email. + +Required Parameters +{ + "ConfigurationSetName": "The name of the configuration set that you want to delete." +} +""" +DeleteConfigurationSet(args) = pinpoint_email("DELETE", "/v1/email/configuration-sets/{ConfigurationSetName}", args) + +""" + PutDeliverabilityDashboardOption() + +Enable or disable the Deliverability dashboard for your Amazon Pinpoint account. When you enable the Deliverability dashboard, you gain access to reputation, deliverability, and other metrics for the domains that you use to send email using Amazon Pinpoint. You also gain the ability to perform predictive inbox placement tests. When you use the Deliverability dashboard, you pay a monthly subscription charge, in addition to any other fees that you accrue by using Amazon Pinpoint. For more information about the features and cost of a Deliverability dashboard subscription, see Amazon Pinpoint Pricing. + +Required Parameters +{ + "DashboardEnabled": "Specifies whether to enable the Deliverability dashboard for your Amazon Pinpoint account. To enable the dashboard, set this value to true." +} + +Optional Parameters +{ + "SubscribedDomains": "An array of objects, one for each verified domain that you use to send email and enabled the Deliverability dashboard for." +} +""" +PutDeliverabilityDashboardOption(args) = pinpoint_email("PUT", "/v1/email/deliverability-dashboard", args) + +""" + SendEmail() + +Sends an email message. You can use the Amazon Pinpoint Email API to send two types of messages: Simple – A standard email message. When you create this type of message, you specify the sender, the recipient, and the message body, and Amazon Pinpoint assembles the message for you. Raw – A raw, MIME-formatted email message. When you send this type of email, you have to specify all of the message headers, as well as the message body. You can use this message type to send messages that contain attachments. The message that you specify has to be a valid MIME message. + +Required Parameters +{ + "Content": "An object that contains the body of the message. You can send either a Simple message or a Raw message.", + "Destination": "An object that contains the recipients of the email message." +} + +Optional Parameters +{ + "ConfigurationSetName": "The name of the configuration set that you want to use when sending the email.", + "FeedbackForwardingEmailAddress": "The address that Amazon Pinpoint should send bounce and complaint notifications to.", + "EmailTags": "A list of tags, in the form of name/value pairs, to apply to an email that you send using the SendEmail operation. Tags correspond to characteristics of the email that you define, so that you can publish email sending events. ", + "FromEmailAddress": "The email address that you want to use as the \"From\" address for the email. The address that you specify has to be verified. ", + "ReplyToAddresses": "The \"Reply-to\" email addresses for the message. When the recipient replies to the message, each Reply-to address receives the reply." +} +""" +SendEmail(args) = pinpoint_email("POST", "/v1/email/outbound-emails", args) + +""" + PutEmailIdentityFeedbackAttributes() + +Used to enable or disable feedback forwarding for an identity. This setting determines what happens when an identity is used to send an email that results in a bounce or complaint event. When you enable feedback forwarding, Amazon Pinpoint sends you email notifications when bounce or complaint events occur. Amazon Pinpoint sends this notification to the address that you specified in the Return-Path header of the original email. When you disable feedback forwarding, Amazon Pinpoint sends notifications through other mechanisms, such as by notifying an Amazon SNS topic. You're required to have a method of tracking bounces and complaints. If you haven't set up another mechanism for receiving bounce or complaint notifications, Amazon Pinpoint sends an email notification when these events occur (even if this setting is disabled). + +Required Parameters +{ + "EmailIdentity": "The email identity that you want to configure bounce and complaint feedback forwarding for." +} + +Optional Parameters +{ + "EmailForwardingEnabled": "Sets the feedback forwarding configuration for the identity. If the value is true, Amazon Pinpoint sends you email notifications when bounce or complaint events occur. Amazon Pinpoint sends this notification to the address that you specified in the Return-Path header of the original email. When you set this value to false, Amazon Pinpoint sends notifications through other mechanisms, such as by notifying an Amazon SNS topic or another event destination. You're required to have a method of tracking bounces and complaints. If you haven't set up another mechanism for receiving bounce or complaint notifications, Amazon Pinpoint sends an email notification when these events occur (even if this setting is disabled)." +} +""" +PutEmailIdentityFeedbackAttributes(args) = pinpoint_email("PUT", "/v1/email/identities/{EmailIdentity}/feedback", args) + +""" + GetConfigurationSet() + +Get information about an existing configuration set, including the dedicated IP pool that it's associated with, whether or not it's enabled for sending email, and more. In Amazon Pinpoint, configuration sets are groups of rules that you can apply to the emails you send. You apply a configuration set to an email by including a reference to the configuration set in the headers of the email. When you apply a configuration set to an email, all of the rules in that configuration set are applied to the email. + +Required Parameters +{ + "ConfigurationSetName": "The name of the configuration set that you want to obtain more information about." +} +""" +GetConfigurationSet(args) = pinpoint_email("GET", "/v1/email/configuration-sets/{ConfigurationSetName}", args) + +""" + CreateDedicatedIpPool() + +Create a new pool of dedicated IP addresses. A pool can include one or more dedicated IP addresses that are associated with your Amazon Pinpoint account. You can associate a pool with a configuration set. When you send an email that uses that configuration set, Amazon Pinpoint sends it using only the IP addresses in the associated pool. + +Required Parameters +{ + "PoolName": "The name of the dedicated IP pool." +} + +Optional Parameters +{ + "Tags": "An object that defines the tags (keys and values) that you want to associate with the pool." +} +""" +CreateDedicatedIpPool(args) = pinpoint_email("POST", "/v1/email/dedicated-ip-pools", args) + +""" + CreateConfigurationSetEventDestination() + +Create an event destination. In Amazon Pinpoint, events include message sends, deliveries, opens, clicks, bounces, and complaints. Event destinations are places that you can send information about these events to. For example, you can send event data to Amazon SNS to receive notifications when you receive bounces or complaints, or you can use Amazon Kinesis Data Firehose to stream data to Amazon S3 for long-term storage. A single configuration set can include more than one event destination. + +Required Parameters +{ + "ConfigurationSetName": "The name of the configuration set that you want to add an event destination to.", + "EventDestination": "An object that defines the event destination.", + "EventDestinationName": "A name that identifies the event destination within the configuration set." +} +""" +CreateConfigurationSetEventDestination(args) = pinpoint_email("POST", "/v1/email/configuration-sets/{ConfigurationSetName}/event-destinations", args) + +""" + CreateDeliverabilityTestReport() + +Create a new predictive inbox placement test. Predictive inbox placement tests can help you predict how your messages will be handled by various email providers around the world. When you perform a predictive inbox placement test, you provide a sample message that contains the content that you plan to send to your customers. Amazon Pinpoint then sends that message to special email addresses spread across several major email providers. After about 24 hours, the test is complete, and you can use the GetDeliverabilityTestReport operation to view the results of the test. + +Required Parameters +{ + "Content": "The HTML body of the message that you sent when you performed the predictive inbox placement test.", + "FromEmailAddress": "The email address that the predictive inbox placement test email was sent from." +} + +Optional Parameters +{ + "ReportName": "A unique name that helps you to identify the predictive inbox placement test when you retrieve the results.", + "Tags": "An array of objects that define the tags (keys and values) that you want to associate with the predictive inbox placement test." +} +""" +CreateDeliverabilityTestReport(args) = pinpoint_email("POST", "/v1/email/deliverability-dashboard/test", args) + +""" + PutDedicatedIpInPool() + +Move a dedicated IP address to an existing dedicated IP pool. The dedicated IP address that you specify must already exist, and must be associated with your Amazon Pinpoint account. The dedicated IP pool you specify must already exist. You can create a new pool by using the CreateDedicatedIpPool operation. + +Required Parameters +{ + "DestinationPoolName": "The name of the IP pool that you want to add the dedicated IP address to. You have to specify an IP pool that already exists.", + "Ip": "The IP address that you want to move to the dedicated IP pool. The value you specify has to be a dedicated IP address that's associated with your Amazon Pinpoint account." +} +""" +PutDedicatedIpInPool(args) = pinpoint_email("PUT", "/v1/email/dedicated-ips/{IP}/pool", args) + +""" + CreateConfigurationSet() + +Create a configuration set. Configuration sets are groups of rules that you can apply to the emails you send using Amazon Pinpoint. You apply a configuration set to an email by including a reference to the configuration set in the headers of the email. When you apply a configuration set to an email, all of the rules in that configuration set are applied to the email. + +Required Parameters +{ + "ConfigurationSetName": "The name of the configuration set." +} + +Optional Parameters +{ + "ReputationOptions": "An object that defines whether or not Amazon Pinpoint collects reputation metrics for the emails that you send that use the configuration set.", + "Tags": "An array of objects that define the tags (keys and values) that you want to associate with the configuration set.", + "SendingOptions": "An object that defines whether or not Amazon Pinpoint can send email that you send using the configuration set.", + "TrackingOptions": "An object that defines the open and click tracking options for emails that you send using the configuration set.", + "DeliveryOptions": "An object that defines the dedicated IP pool that is used to send emails that you send using the configuration set." +} +""" +CreateConfigurationSet(args) = pinpoint_email("POST", "/v1/email/configuration-sets", args) + +""" + PutEmailIdentityMailFromAttributes() + +Used to enable or disable the custom Mail-From domain configuration for an email identity. + +Required Parameters +{ + "EmailIdentity": "The verified email identity that you want to set up the custom MAIL FROM domain for." +} + +Optional Parameters +{ + "BehaviorOnMxFailure": "The action that you want Amazon Pinpoint to take if it can't read the required MX record when you send an email. When you set this value to UseDefaultValue, Amazon Pinpoint uses amazonses.com as the MAIL FROM domain. When you set this value to RejectMessage, Amazon Pinpoint returns a MailFromDomainNotVerified error, and doesn't attempt to deliver the email. These behaviors are taken when the custom MAIL FROM domain configuration is in the Pending, Failed, and TemporaryFailure states.", + "MailFromDomain": " The custom MAIL FROM domain that you want the verified identity to use. The MAIL FROM domain must meet the following criteria: It has to be a subdomain of the verified identity. It can't be used to receive email. It can't be used in a \"From\" address if the MAIL FROM domain is a destination for feedback forwarding emails. " +} +""" +PutEmailIdentityMailFromAttributes(args) = pinpoint_email("PUT", "/v1/email/identities/{EmailIdentity}/mail-from", args) + +""" + ListEmailIdentities() + +Returns a list of all of the email identities that are associated with your Amazon Pinpoint account. An identity can be either an email address or a domain. This operation returns identities that are verified as well as those that aren't. + +Optional Parameters +{ + "NextToken": "A token returned from a previous call to ListEmailIdentities to indicate the position in the list of identities.", + "PageSize": "The number of results to show in a single call to ListEmailIdentities. If the number of results is larger than the number you specified in this parameter, then the response includes a NextToken element, which you can use to obtain additional results. The value you specify has to be at least 0, and can be no more than 1000." +} +""" +ListEmailIdentities() = pinpoint_email("GET", "/v1/email/identities") +ListEmailIdentities(args) = pinpoint_email("GET", "/v1/email/identities", args) + +""" + PutConfigurationSetDeliveryOptions() + +Associate a configuration set with a dedicated IP pool. You can use dedicated IP pools to create groups of dedicated IP addresses for sending specific types of email. + +Required Parameters +{ + "ConfigurationSetName": "The name of the configuration set that you want to associate with a dedicated IP pool." +} + +Optional Parameters +{ + "TlsPolicy": "Specifies whether messages that use the configuration set are required to use Transport Layer Security (TLS). If the value is Require, messages are only delivered if a TLS connection can be established. If the value is Optional, messages can be delivered in plain text if a TLS connection can't be established.", + "SendingPoolName": "The name of the dedicated IP pool that you want to associate with the configuration set." +} +""" +PutConfigurationSetDeliveryOptions(args) = pinpoint_email("PUT", "/v1/email/configuration-sets/{ConfigurationSetName}/delivery-options", args) + +""" + PutConfigurationSetTrackingOptions() + +Specify a custom domain to use for open and click tracking elements in email that you send using Amazon Pinpoint. + +Required Parameters +{ + "ConfigurationSetName": "The name of the configuration set that you want to add a custom tracking domain to." +} + +Optional Parameters +{ + "CustomRedirectDomain": "The domain that you want to use to track open and click events." +} +""" +PutConfigurationSetTrackingOptions(args) = pinpoint_email("PUT", "/v1/email/configuration-sets/{ConfigurationSetName}/tracking-options", args) + +""" + PutConfigurationSetReputationOptions() + +Enable or disable collection of reputation metrics for emails that you send using a particular configuration set in a specific AWS Region. + +Required Parameters +{ + "ConfigurationSetName": "The name of the configuration set that you want to enable or disable reputation metric tracking for." +} + +Optional Parameters +{ + "ReputationMetricsEnabled": "If true, tracking of reputation metrics is enabled for the configuration set. If false, tracking of reputation metrics is disabled for the configuration set." +} +""" +PutConfigurationSetReputationOptions(args) = pinpoint_email("PUT", "/v1/email/configuration-sets/{ConfigurationSetName}/reputation-options", args) + +""" + DeleteDedicatedIpPool() + +Delete a dedicated IP pool. + +Required Parameters +{ + "PoolName": "The name of the dedicated IP pool that you want to delete." +} +""" +DeleteDedicatedIpPool(args) = pinpoint_email("DELETE", "/v1/email/dedicated-ip-pools/{PoolName}", args) + +""" + GetBlacklistReports() + +Retrieve a list of the blacklists that your dedicated IP addresses appear on. + +Required Parameters +{ + "BlacklistItemNames": "A list of IP addresses that you want to retrieve blacklist information about. You can only specify the dedicated IP addresses that you use to send email using Amazon Pinpoint or Amazon SES." +} +""" +GetBlacklistReports(args) = pinpoint_email("GET", "/v1/email/deliverability-dashboard/blacklist-report", args) + +""" + GetDeliverabilityTestReport() + +Retrieve the results of a predictive inbox placement test. + +Required Parameters +{ + "ReportId": "A unique string that identifies the predictive inbox placement test." +} +""" +GetDeliverabilityTestReport(args) = pinpoint_email("GET", "/v1/email/deliverability-dashboard/test-reports/{ReportId}", args) + +""" + ListDomainDeliverabilityCampaigns() + +Retrieve deliverability data for all the campaigns that used a specific domain to send email during a specified time range. This data is available for a domain only if you enabled the Deliverability dashboard (PutDeliverabilityDashboardOption operation) for the domain. + +Required Parameters +{ + "EndDate": "The last day, in Unix time format, that you want to obtain deliverability data for. This value has to be less than or equal to 30 days after the value of the StartDate parameter.", + "StartDate": "The first day, in Unix time format, that you want to obtain deliverability data for.", + "SubscribedDomain": "The domain to obtain deliverability data for." +} + +Optional Parameters +{ + "NextToken": "A token that’s returned from a previous call to the ListDomainDeliverabilityCampaigns operation. This token indicates the position of a campaign in the list of campaigns.", + "PageSize": "The maximum number of results to include in response to a single call to the ListDomainDeliverabilityCampaigns operation. If the number of results is larger than the number that you specify in this parameter, the response includes a NextToken element, which you can use to obtain additional results." +} +""" +ListDomainDeliverabilityCampaigns(args) = pinpoint_email("GET", "/v1/email/deliverability-dashboard/domains/{SubscribedDomain}/campaigns", args) + +""" + PutConfigurationSetSendingOptions() + +Enable or disable email sending for messages that use a particular configuration set in a specific AWS Region. + +Required Parameters +{ + "ConfigurationSetName": "The name of the configuration set that you want to enable or disable email sending for." +} + +Optional Parameters +{ + "SendingEnabled": "If true, email sending is enabled for the configuration set. If false, email sending is disabled for the configuration set." +} +""" +PutConfigurationSetSendingOptions(args) = pinpoint_email("PUT", "/v1/email/configuration-sets/{ConfigurationSetName}/sending", args) + +""" + GetAccount() + +Obtain information about the email-sending status and capabilities of your Amazon Pinpoint account in the current AWS Region. +""" +GetAccount() = pinpoint_email("GET", "/v1/email/account") +GetAccount(args) = pinpoint_email("GET", "/v1/email/account", args) + +""" + TagResource() + +Add one or more tags (keys and values) to a specified resource. A tag is a label that you optionally define and associate with a resource in Amazon Pinpoint. Tags can help you categorize and manage resources in different ways, such as by purpose, owner, environment, or other criteria. A resource can have as many as 50 tags. Each tag consists of a required tag key and an associated tag value, both of which you define. A tag key is a general label that acts as a category for more specific tag values. A tag value acts as a descriptor within a tag key. + +Required Parameters +{ + "ResourceArn": "The Amazon Resource Name (ARN) of the resource that you want to add one or more tags to.", + "Tags": "A list of the tags that you want to add to the resource. A tag consists of a required tag key (Key) and an associated tag value (Value). The maximum length of a tag key is 128 characters. The maximum length of a tag value is 256 characters." +} +""" +TagResource(args) = pinpoint_email("POST", "/v1/email/tags", args) + +""" + GetEmailIdentity() + +Provides information about a specific identity associated with your Amazon Pinpoint account, including the identity's verification status, its DKIM authentication status, and its custom Mail-From settings. + +Required Parameters +{ + "EmailIdentity": "The email identity that you want to retrieve details for." +} +""" +GetEmailIdentity(args) = pinpoint_email("GET", "/v1/email/identities/{EmailIdentity}", args) + +""" + UntagResource() + +Remove one or more tags (keys and values) from a specified resource. + +Required Parameters +{ + "ResourceArn": "The Amazon Resource Name (ARN) of the resource that you want to remove one or more tags from.", + "TagKeys": "The tags (tag keys) that you want to remove from the resource. When you specify a tag key, the action removes both that key and its associated tag value. To remove more than one tag from the resource, append the TagKeys parameter and argument for each additional tag to remove, separated by an ampersand. For example: /v1/email/tags?ResourceArn=ResourceArn&TagKeys=Key1&TagKeys=Key2 " +} +""" +UntagResource(args) = pinpoint_email("DELETE", "/v1/email/tags", args) + +""" + GetDomainDeliverabilityCampaign() + +Retrieve all the deliverability data for a specific campaign. This data is available for a campaign only if the campaign sent email by using a domain that the Deliverability dashboard is enabled for (PutDeliverabilityDashboardOption operation). + +Required Parameters +{ + "CampaignId": "The unique identifier for the campaign. Amazon Pinpoint automatically generates and assigns this identifier to a campaign. This value is not the same as the campaign identifier that Amazon Pinpoint assigns to campaigns that you create and manage by using the Amazon Pinpoint API or the Amazon Pinpoint console." +} +""" +GetDomainDeliverabilityCampaign(args) = pinpoint_email("GET", "/v1/email/deliverability-dashboard/campaigns/{CampaignId}", args) + +""" + ListConfigurationSets() + +List all of the configuration sets associated with your Amazon Pinpoint account in the current region. In Amazon Pinpoint, configuration sets are groups of rules that you can apply to the emails you send. You apply a configuration set to an email by including a reference to the configuration set in the headers of the email. When you apply a configuration set to an email, all of the rules in that configuration set are applied to the email. + +Optional Parameters +{ + "NextToken": "A token returned from a previous call to ListConfigurationSets to indicate the position in the list of configuration sets.", + "PageSize": "The number of results to show in a single call to ListConfigurationSets. If the number of results is larger than the number you specified in this parameter, then the response includes a NextToken element, which you can use to obtain additional results." +} +""" +ListConfigurationSets() = pinpoint_email("GET", "/v1/email/configuration-sets") +ListConfigurationSets(args) = pinpoint_email("GET", "/v1/email/configuration-sets", args) + +""" + ListDedicatedIpPools() + +List all of the dedicated IP pools that exist in your Amazon Pinpoint account in the current AWS Region. + +Optional Parameters +{ + "NextToken": "A token returned from a previous call to ListDedicatedIpPools to indicate the position in the list of dedicated IP pools.", + "PageSize": "The number of results to show in a single call to ListDedicatedIpPools. If the number of results is larger than the number you specified in this parameter, then the response includes a NextToken element, which you can use to obtain additional results." +} +""" +ListDedicatedIpPools() = pinpoint_email("GET", "/v1/email/dedicated-ip-pools") +ListDedicatedIpPools(args) = pinpoint_email("GET", "/v1/email/dedicated-ip-pools", args) + +""" + UpdateConfigurationSetEventDestination() + +Update the configuration of an event destination for a configuration set. In Amazon Pinpoint, events include message sends, deliveries, opens, clicks, bounces, and complaints. Event destinations are places that you can send information about these events to. For example, you can send event data to Amazon SNS to receive notifications when you receive bounces or complaints, or you can use Amazon Kinesis Data Firehose to stream data to Amazon S3 for long-term storage. + +Required Parameters +{ + "ConfigurationSetName": "The name of the configuration set that contains the event destination that you want to modify.", + "EventDestination": "An object that defines the event destination.", + "EventDestinationName": "The name of the event destination that you want to modify." +} +""" +UpdateConfigurationSetEventDestination(args) = pinpoint_email("PUT", "/v1/email/configuration-sets/{ConfigurationSetName}/event-destinations/{EventDestinationName}", args) + +""" + GetDomainStatisticsReport() + +Retrieve inbox placement and engagement rates for the domains that you use to send email. + +Required Parameters +{ + "EndDate": "The last day (in Unix time) that you want to obtain domain deliverability metrics for. The EndDate that you specify has to be less than or equal to 30 days after the StartDate.", + "StartDate": "The first day (in Unix time) that you want to obtain domain deliverability metrics for.", + "Domain": "The domain that you want to obtain deliverability metrics for." +} +""" +GetDomainStatisticsReport(args) = pinpoint_email("GET", "/v1/email/deliverability-dashboard/statistics-report/{Domain}", args) + +""" + ListDeliverabilityTestReports() + +Show a list of the predictive inbox placement tests that you've performed, regardless of their statuses. For predictive inbox placement tests that are complete, you can use the GetDeliverabilityTestReport operation to view the results. + +Optional Parameters +{ + "NextToken": "A token returned from a previous call to ListDeliverabilityTestReports to indicate the position in the list of predictive inbox placement tests.", + "PageSize": "The number of results to show in a single call to ListDeliverabilityTestReports. If the number of results is larger than the number you specified in this parameter, then the response includes a NextToken element, which you can use to obtain additional results. The value you specify has to be at least 0, and can be no more than 1000." +} +""" +ListDeliverabilityTestReports() = pinpoint_email("GET", "/v1/email/deliverability-dashboard/test-reports") +ListDeliverabilityTestReports(args) = pinpoint_email("GET", "/v1/email/deliverability-dashboard/test-reports", args) + +""" + GetConfigurationSetEventDestinations() + +Retrieve a list of event destinations that are associated with a configuration set. In Amazon Pinpoint, events include message sends, deliveries, opens, clicks, bounces, and complaints. Event destinations are places that you can send information about these events to. For example, you can send event data to Amazon SNS to receive notifications when you receive bounces or complaints, or you can use Amazon Kinesis Data Firehose to stream data to Amazon S3 for long-term storage. + +Required Parameters +{ + "ConfigurationSetName": "The name of the configuration set that contains the event destination." +} +""" +GetConfigurationSetEventDestinations(args) = pinpoint_email("GET", "/v1/email/configuration-sets/{ConfigurationSetName}/event-destinations", args) + +""" + GetDedicatedIp() + +Get information about a dedicated IP address, including the name of the dedicated IP pool that it's associated with, as well information about the automatic warm-up process for the address. + +Required Parameters +{ + "Ip": "The IP address that you want to obtain more information about. The value you specify has to be a dedicated IP address that's assocaited with your Amazon Pinpoint account." +} +""" +GetDedicatedIp(args) = pinpoint_email("GET", "/v1/email/dedicated-ips/{IP}", args) + +""" + PutEmailIdentityDkimAttributes() + +Used to enable or disable DKIM authentication for an email identity. + +Required Parameters +{ + "EmailIdentity": "The email identity that you want to change the DKIM settings for." +} + +Optional Parameters +{ + "SigningEnabled": "Sets the DKIM signing configuration for the identity. When you set this value true, then the messages that Amazon Pinpoint sends from the identity are DKIM-signed. When you set this value to false, then the messages that Amazon Pinpoint sends from the identity aren't DKIM-signed." +} +""" +PutEmailIdentityDkimAttributes(args) = pinpoint_email("PUT", "/v1/email/identities/{EmailIdentity}/dkim", args) + +""" + DeleteEmailIdentity() + +Deletes an email identity that you previously verified for use with Amazon Pinpoint. An identity can be either an email address or a domain name. + +Required Parameters +{ + "EmailIdentity": "The identity (that is, the email address or domain) that you want to delete from your Amazon Pinpoint account." +} +""" +DeleteEmailIdentity(args) = pinpoint_email("DELETE", "/v1/email/identities/{EmailIdentity}", args) + +""" + PutAccountSendingAttributes() + +Enable or disable the ability of your account to send email. + +Optional Parameters +{ + "SendingEnabled": "Enables or disables your account's ability to send email. Set to true to enable email sending, or set to false to disable email sending. If AWS paused your account's ability to send email, you can't use this operation to resume your account's ability to send email. " +} +""" +PutAccountSendingAttributes() = pinpoint_email("PUT", "/v1/email/account/sending") +PutAccountSendingAttributes(args) = pinpoint_email("PUT", "/v1/email/account/sending", args) + +""" + PutAccountDedicatedIpWarmupAttributes() + +Enable or disable the automatic warm-up feature for dedicated IP addresses. + +Optional Parameters +{ + "AutoWarmupEnabled": "Enables or disables the automatic warm-up feature for dedicated IP addresses that are associated with your Amazon Pinpoint account in the current AWS Region. Set to true to enable the automatic warm-up feature, or set to false to disable it." +} +""" +PutAccountDedicatedIpWarmupAttributes() = pinpoint_email("PUT", "/v1/email/account/dedicated-ips/warmup") +PutAccountDedicatedIpWarmupAttributes(args) = pinpoint_email("PUT", "/v1/email/account/dedicated-ips/warmup", args) + +""" + DeleteConfigurationSetEventDestination() + +Delete an event destination. In Amazon Pinpoint, events include message sends, deliveries, opens, clicks, bounces, and complaints. Event destinations are places that you can send information about these events to. For example, you can send event data to Amazon SNS to receive notifications when you receive bounces or complaints, or you can use Amazon Kinesis Data Firehose to stream data to Amazon S3 for long-term storage. + +Required Parameters +{ + "ConfigurationSetName": "The name of the configuration set that contains the event destination that you want to delete.", + "EventDestinationName": "The name of the event destination that you want to delete." +} +""" +DeleteConfigurationSetEventDestination(args) = pinpoint_email("DELETE", "/v1/email/configuration-sets/{ConfigurationSetName}/event-destinations/{EventDestinationName}", args) + +""" + GetDedicatedIps() + +List the dedicated IP addresses that are associated with your Amazon Pinpoint account. + +Optional Parameters +{ + "NextToken": "A token returned from a previous call to GetDedicatedIps to indicate the position of the dedicated IP pool in the list of IP pools.", + "PageSize": "The number of results to show in a single call to GetDedicatedIpsRequest. If the number of results is larger than the number you specified in this parameter, then the response includes a NextToken element, which you can use to obtain additional results.", + "PoolName": "The name of the IP pool that the dedicated IP address is associated with." +} +""" +GetDedicatedIps() = pinpoint_email("GET", "/v1/email/dedicated-ips") +GetDedicatedIps(args) = pinpoint_email("GET", "/v1/email/dedicated-ips", args) diff --git a/src/services/pinpoint_sms_voice.jl b/src/services/pinpoint_sms_voice.jl new file mode 100644 index 0000000000..56eccbf4e8 --- /dev/null +++ b/src/services/pinpoint_sms_voice.jl @@ -0,0 +1,119 @@ +include("../AWSServices.jl") +using .AWSServices: pinpoint_sms_voice + +""" + CreateConfigurationSetEventDestination() + +Create a new event destination in a configuration set. + +Required Parameters +{ + "ConfigurationSetName": "ConfigurationSetName" +} + +Optional Parameters +{ + "EventDestination": "", + "EventDestinationName": "A name that identifies the event destination." +} +""" +CreateConfigurationSetEventDestination(args) = pinpoint_sms_voice("POST", "/v1/sms-voice/configuration-sets/{ConfigurationSetName}/event-destinations", args) + +""" + GetConfigurationSetEventDestinations() + +Obtain information about an event destination, including the types of events it reports, the Amazon Resource Name (ARN) of the destination, and the name of the event destination. + +Required Parameters +{ + "ConfigurationSetName": "ConfigurationSetName" +} +""" +GetConfigurationSetEventDestinations(args) = pinpoint_sms_voice("GET", "/v1/sms-voice/configuration-sets/{ConfigurationSetName}/event-destinations", args) + +""" + CreateConfigurationSet() + +Create a new configuration set. After you create the configuration set, you can add one or more event destinations to it. + +Optional Parameters +{ + "ConfigurationSetName": "The name that you want to give the configuration set." +} +""" +CreateConfigurationSet() = pinpoint_sms_voice("POST", "/v1/sms-voice/configuration-sets") +CreateConfigurationSet(args) = pinpoint_sms_voice("POST", "/v1/sms-voice/configuration-sets", args) + +""" + DeleteConfigurationSet() + +Deletes an existing configuration set. + +Required Parameters +{ + "ConfigurationSetName": "ConfigurationSetName" +} +""" +DeleteConfigurationSet(args) = pinpoint_sms_voice("DELETE", "/v1/sms-voice/configuration-sets/{ConfigurationSetName}", args) + +""" + ListConfigurationSets() + +List all of the configuration sets associated with your Amazon Pinpoint account in the current region. + +Optional Parameters +{ + "NextToken": "A token returned from a previous call to the API that indicates the position in the list of results.", + "PageSize": "Used to specify the number of items that should be returned in the response." +} +""" +ListConfigurationSets() = pinpoint_sms_voice("GET", "/v1/sms-voice/configuration-sets") +ListConfigurationSets(args) = pinpoint_sms_voice("GET", "/v1/sms-voice/configuration-sets", args) + +""" + SendVoiceMessage() + +Create a new voice message and send it to a recipient's phone number. + +Optional Parameters +{ + "ConfigurationSetName": "The name of the configuration set that you want to use to send the message.", + "Content": "", + "DestinationPhoneNumber": "The phone number that you want to send the voice message to.", + "OriginationPhoneNumber": "The phone number that Amazon Pinpoint should use to send the voice message. This isn't necessarily the phone number that appears on recipients' devices when they receive the message, because you can specify a CallerId parameter in the request.", + "CallerId": "The phone number that appears on recipients' devices when they receive the message." +} +""" +SendVoiceMessage() = pinpoint_sms_voice("POST", "/v1/sms-voice/voice/message") +SendVoiceMessage(args) = pinpoint_sms_voice("POST", "/v1/sms-voice/voice/message", args) + +""" + DeleteConfigurationSetEventDestination() + +Deletes an event destination in a configuration set. + +Required Parameters +{ + "ConfigurationSetName": "ConfigurationSetName", + "EventDestinationName": "EventDestinationName" +} +""" +DeleteConfigurationSetEventDestination(args) = pinpoint_sms_voice("DELETE", "/v1/sms-voice/configuration-sets/{ConfigurationSetName}/event-destinations/{EventDestinationName}", args) + +""" + UpdateConfigurationSetEventDestination() + +Update an event destination in a configuration set. An event destination is a location that you publish information about your voice calls to. For example, you can log an event to an Amazon CloudWatch destination when a call fails. + +Required Parameters +{ + "ConfigurationSetName": "ConfigurationSetName", + "EventDestinationName": "EventDestinationName" +} + +Optional Parameters +{ + "EventDestination": "" +} +""" +UpdateConfigurationSetEventDestination(args) = pinpoint_sms_voice("PUT", "/v1/sms-voice/configuration-sets/{ConfigurationSetName}/event-destinations/{EventDestinationName}", args) diff --git a/src/services/polly.jl b/src/services/polly.jl new file mode 100644 index 0000000000..eb6e15a1b8 --- /dev/null +++ b/src/services/polly.jl @@ -0,0 +1,146 @@ +include("../AWSServices.jl") +using .AWSServices: polly + +""" + GetSpeechSynthesisTask() + +Retrieves a specific SpeechSynthesisTask object based on its TaskID. This object contains information about the given speech synthesis task, including the status of the task, and a link to the S3 bucket containing the output of the task. + +Required Parameters +{ + "TaskId": "The Amazon Polly generated identifier for a speech synthesis task." +} +""" +GetSpeechSynthesisTask(args) = polly("GET", "/v1/synthesisTasks/{TaskId}", args) + +""" + SynthesizeSpeech() + +Synthesizes UTF-8 input, plain text or SSML, to a stream of bytes. SSML input must be valid, well-formed SSML. Some alphabets might not be available with all the voices (for example, Cyrillic might not be read at all by English voices) unless phoneme mapping is used. For more information, see How it Works. + +Required Parameters +{ + "VoiceId": " Voice ID to use for the synthesis. You can get a list of available voice IDs by calling the DescribeVoices operation. ", + "OutputFormat": " The format in which the returned output will be encoded. For audio stream, this will be mp3, ogg_vorbis, or pcm. For speech marks, this will be json. When pcm is used, the content returned is audio/pcm in a signed 16-bit, 1 channel (mono), little-endian format. ", + "Text": " Input text to synthesize. If you specify ssml as the TextType, follow the SSML format for the input text. " +} + +Optional Parameters +{ + "SampleRate": "The audio frequency specified in Hz. The valid values for mp3 and ogg_vorbis are \"8000\", \"16000\", \"22050\", and \"24000\". The default value for standard voices is \"22050\". The default value for neural voices is \"24000\". Valid values for pcm are \"8000\" and \"16000\" The default value is \"16000\". ", + "Engine": "Specifies the engine (standard or neural) for Amazon Polly to use when processing input text for speech synthesis. Using a voice that is not supported for the engine selected will result in an error.", + "LexiconNames": "List of one or more pronunciation lexicon names you want the service to apply during synthesis. Lexicons are applied only if the language of the lexicon is the same as the language of the voice. For information about storing lexicons, see PutLexicon.", + "SpeechMarkTypes": "The type of speech marks returned for the input text.", + "TextType": " Specifies whether the input text is plain text or SSML. The default value is plain text. For more information, see Using SSML.", + "LanguageCode": "Optional language code for the Synthesize Speech request. This is only necessary if using a bilingual voice, such as Aditi, which can be used for either Indian English (en-IN) or Hindi (hi-IN). If a bilingual voice is used and no language code is specified, Amazon Polly will use the default language of the bilingual voice. The default language for any voice is the one returned by the DescribeVoices operation for the LanguageCode parameter. For example, if no language code is specified, Aditi will use Indian English rather than Hindi." +} +""" +SynthesizeSpeech(args) = polly("POST", "/v1/speech", args) + +""" + DeleteLexicon() + +Deletes the specified pronunciation lexicon stored in an AWS Region. A lexicon which has been deleted is not available for speech synthesis, nor is it possible to retrieve it using either the GetLexicon or ListLexicon APIs. For more information, see Managing Lexicons. + +Required Parameters +{ + "Name": "The name of the lexicon to delete. Must be an existing lexicon in the region." +} +""" +DeleteLexicon(args) = polly("DELETE", "/v1/lexicons/{LexiconName}", args) + +""" + DescribeVoices() + +Returns the list of voices that are available for use when requesting speech synthesis. Each voice speaks a specified language, is either male or female, and is identified by an ID, which is the ASCII version of the voice name. When synthesizing speech ( SynthesizeSpeech ), you provide the voice ID for the voice you want from the list of voices returned by DescribeVoices. For example, you want your news reader application to read news in a specific language, but giving a user the option to choose the voice. Using the DescribeVoices operation you can provide the user with a list of available voices to select from. You can optionally specify a language code to filter the available voices. For example, if you specify en-US, the operation returns a list of all available US English voices. This operation requires permissions to perform the polly:DescribeVoices action. + +Optional Parameters +{ + "NextToken": "An opaque pagination token returned from the previous DescribeVoices operation. If present, this indicates where to continue the listing.", + "Engine": "Specifies the engine (standard or neural) used by Amazon Polly when processing input text for speech synthesis. ", + "IncludeAdditionalLanguageCodes": "Boolean value indicating whether to return any bilingual voices that use the specified language as an additional language. For instance, if you request all languages that use US English (es-US), and there is an Italian voice that speaks both Italian (it-IT) and US English, that voice will be included if you specify yes but not if you specify no.", + "LanguageCode": " The language identification tag (ISO 639 code for the language name-ISO 3166 country code) for filtering the list of voices returned. If you don't specify this optional parameter, all available voices are returned. " +} +""" +DescribeVoices() = polly("GET", "/v1/voices") +DescribeVoices(args) = polly("GET", "/v1/voices", args) + +""" + ListSpeechSynthesisTasks() + +Returns a list of SpeechSynthesisTask objects ordered by their creation date. This operation can filter the tasks by their status, for example, allowing users to list only tasks that are completed. + +Optional Parameters +{ + "MaxResults": "Maximum number of speech synthesis tasks returned in a List operation.", + "NextToken": "The pagination token to use in the next request to continue the listing of speech synthesis tasks. ", + "Status": "Status of the speech synthesis tasks returned in a List operation" +} +""" +ListSpeechSynthesisTasks() = polly("GET", "/v1/synthesisTasks") +ListSpeechSynthesisTasks(args) = polly("GET", "/v1/synthesisTasks", args) + +""" + StartSpeechSynthesisTask() + +Allows the creation of an asynchronous synthesis task, by starting a new SpeechSynthesisTask. This operation requires all the standard information needed for speech synthesis, plus the name of an Amazon S3 bucket for the service to store the output of the synthesis task and two optional parameters (OutputS3KeyPrefix and SnsTopicArn). Once the synthesis task is created, this operation will return a SpeechSynthesisTask object, which will include an identifier of this task as well as the current status. + +Required Parameters +{ + "Text": "The input text to synthesize. If you specify ssml as the TextType, follow the SSML format for the input text. ", + "VoiceId": "Voice ID to use for the synthesis. ", + "OutputFormat": "The format in which the returned output will be encoded. For audio stream, this will be mp3, ogg_vorbis, or pcm. For speech marks, this will be json. ", + "OutputS3BucketName": "Amazon S3 bucket name to which the output file will be saved." +} + +Optional Parameters +{ + "SampleRate": "The audio frequency specified in Hz. The valid values for mp3 and ogg_vorbis are \"8000\", \"16000\", \"22050\", and \"24000\". The default value for standard voices is \"22050\". The default value for neural voices is \"24000\". Valid values for pcm are \"8000\" and \"16000\" The default value is \"16000\". ", + "OutputS3KeyPrefix": "The Amazon S3 key prefix for the output speech file.", + "Engine": "Specifies the engine (standard or neural) for Amazon Polly to use when processing input text for speech synthesis. Using a voice that is not supported for the engine selected will result in an error.", + "LexiconNames": "List of one or more pronunciation lexicon names you want the service to apply during synthesis. Lexicons are applied only if the language of the lexicon is the same as the language of the voice. ", + "TextType": "Specifies whether the input text is plain text or SSML. The default value is plain text. ", + "SnsTopicArn": "ARN for the SNS topic optionally used for providing status notification for a speech synthesis task.", + "SpeechMarkTypes": "The type of speech marks returned for the input text.", + "LanguageCode": "Optional language code for the Speech Synthesis request. This is only necessary if using a bilingual voice, such as Aditi, which can be used for either Indian English (en-IN) or Hindi (hi-IN). If a bilingual voice is used and no language code is specified, Amazon Polly will use the default language of the bilingual voice. The default language for any voice is the one returned by the DescribeVoices operation for the LanguageCode parameter. For example, if no language code is specified, Aditi will use Indian English rather than Hindi." +} +""" +StartSpeechSynthesisTask(args) = polly("POST", "/v1/synthesisTasks", args) + +""" + PutLexicon() + +Stores a pronunciation lexicon in an AWS Region. If a lexicon with the same name already exists in the region, it is overwritten by the new lexicon. Lexicon operations have eventual consistency, therefore, it might take some time before the lexicon is available to the SynthesizeSpeech operation. For more information, see Managing Lexicons. + +Required Parameters +{ + "Content": "Content of the PLS lexicon as string data.", + "Name": "Name of the lexicon. The name must follow the regular express format [0-9A-Za-z]{1,20}. That is, the name is a case-sensitive alphanumeric string up to 20 characters long. " +} +""" +PutLexicon(args) = polly("PUT", "/v1/lexicons/{LexiconName}", args) + +""" + GetLexicon() + +Returns the content of the specified pronunciation lexicon stored in an AWS Region. For more information, see Managing Lexicons. + +Required Parameters +{ + "Name": "Name of the lexicon." +} +""" +GetLexicon(args) = polly("GET", "/v1/lexicons/{LexiconName}", args) + +""" + ListLexicons() + +Returns a list of pronunciation lexicons stored in an AWS Region. For more information, see Managing Lexicons. + +Optional Parameters +{ + "NextToken": "An opaque pagination token returned from previous ListLexicons operation. If present, indicates where to continue the list of lexicons." +} +""" +ListLexicons() = polly("GET", "/v1/lexicons") +ListLexicons(args) = polly("GET", "/v1/lexicons", args) diff --git a/src/services/pricing.jl b/src/services/pricing.jl new file mode 100644 index 0000000000..c568704c44 --- /dev/null +++ b/src/services/pricing.jl @@ -0,0 +1,54 @@ +include("../AWSServices.jl") +using .AWSServices: pricing + +""" + GetProducts() + +Returns a list of all products that match the filter criteria. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return in the response.", + "NextToken": "The pagination token that indicates the next set of results that you want to retrieve.", + "Filters": "The list of filters that limit the returned products. only products that match all filters are returned.", + "FormatVersion": "The format version that you want the response to be in. Valid values are: aws_v1 ", + "ServiceCode": "The code for the service whose products you want to retrieve. " +} +""" +GetProducts() = pricing("GetProducts") +GetProducts(args) = pricing("GetProducts", args) + +""" + GetAttributeValues() + +Returns a list of attribute values. Attibutes are similar to the details in a Price List API offer file. For a list of available attributes, see Offer File Definitions in the AWS Billing and Cost Management User Guide. + +Required Parameters +{ + "AttributeName": "The name of the attribute that you want to retrieve the values for, such as volumeType.", + "ServiceCode": "The service code for the service whose attributes you want to retrieve. For example, if you want the retrieve an EC2 attribute, use AmazonEC2." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return in response.", + "NextToken": "The pagination token that indicates the next set of results that you want to retrieve." +} +""" +GetAttributeValues(args) = pricing("GetAttributeValues", args) + +""" + DescribeServices() + +Returns the metadata for one service or a list of the metadata for all services. Use this without a service code to get the service codes for all services. Use it with a service code, such as AmazonEC2, to get information specific to that service, such as the attribute names available for that service. For example, some of the attribute names available for EC2 are volumeType, maxIopsVolume, operation, locationType, and instanceCapacity10xlarge. + +Optional Parameters +{ + "MaxResults": "The maximum number of results that you want returned in the response.", + "NextToken": "The pagination token that indicates the next set of results that you want to retrieve.", + "FormatVersion": "The format version that you want the response to be in. Valid values are: aws_v1 ", + "ServiceCode": "The code for the service whose information you want to retrieve, such as AmazonEC2. You can use the ServiceCode to filter the results in a GetProducts call. To retrieve a list of all services, leave this blank." +} +""" +DescribeServices() = pricing("DescribeServices") +DescribeServices(args) = pricing("DescribeServices", args) diff --git a/src/services/qldb.jl b/src/services/qldb.jl new file mode 100644 index 0000000000..97887de4d6 --- /dev/null +++ b/src/services/qldb.jl @@ -0,0 +1,224 @@ +include("../AWSServices.jl") +using .AWSServices: qldb + +""" + ListTagsForResource() + +Returns all tags for a specified Amazon QLDB resource. + +Required Parameters +{ + "ResourceArn": "The Amazon Resource Name (ARN) for which you want to list the tags. For example: arn:aws:qldb:us-east-1:123456789012:ledger/exampleLedger " +} +""" +ListTagsForResource(args) = qldb("GET", "/tags/{resourceArn}", args) + +""" + DescribeJournalS3Export() + +Returns information about a journal export job, including the ledger name, export ID, when it was created, current status, and its start and end time export parameters. If the export job with the given ExportId doesn't exist, then throws ResourceNotFoundException. If the ledger with the given Name doesn't exist, then throws ResourceNotFoundException. + +Required Parameters +{ + "ExportId": "The unique ID of the journal export job that you want to describe.", + "Name": "The name of the ledger." +} +""" +DescribeJournalS3Export(args) = qldb("GET", "/ledgers/{name}/journal-s3-exports/{exportId}", args) + +""" + DescribeLedger() + +Returns information about a ledger, including its state and when it was created. + +Required Parameters +{ + "Name": "The name of the ledger that you want to describe." +} +""" +DescribeLedger(args) = qldb("GET", "/ledgers/{name}", args) + +""" + ListJournalS3ExportsForLedger() + +Returns an array of journal export job descriptions for a specified ledger. This action returns a maximum of MaxResults items, and is paginated so that you can retrieve all the items by calling ListJournalS3ExportsForLedger multiple times. + +Required Parameters +{ + "Name": "The name of the ledger." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return in a single ListJournalS3ExportsForLedger request. (The actual number of results returned might be fewer.)", + "NextToken": "A pagination token, indicating that you want to retrieve the next page of results. If you received a value for NextToken in the response from a previous ListJournalS3ExportsForLedger call, then you should use that value as input here." +} +""" +ListJournalS3ExportsForLedger(args) = qldb("GET", "/ledgers/{name}/journal-s3-exports", args) + +""" + UpdateLedger() + +Updates properties on a ledger. + +Required Parameters +{ + "Name": "The name of the ledger." +} + +Optional Parameters +{ + "DeletionProtection": "The flag that prevents a ledger from being deleted by any user. If not provided on ledger creation, this feature is enabled (true) by default. If deletion protection is enabled, you must first disable it before you can delete the ledger using the QLDB API or the AWS Command Line Interface (AWS CLI). You can disable it by calling the UpdateLedger operation to set the flag to false. The QLDB console disables deletion protection for you when you use it to delete a ledger." +} +""" +UpdateLedger(args) = qldb("PATCH", "/ledgers/{name}", args) + +""" + CreateLedger() + +Creates a new ledger in your AWS account. + +Required Parameters +{ + "PermissionsMode": "The permissions mode to assign to the ledger that you want to create.", + "Name": "The name of the ledger that you want to create. The name must be unique among all of your ledgers in the current AWS Region." +} + +Optional Parameters +{ + "Tags": "The key-value pairs to add as tags to the ledger that you want to create. Tag keys are case sensitive. Tag values are case sensitive and can be null.", + "DeletionProtection": "The flag that prevents a ledger from being deleted by any user. If not provided on ledger creation, this feature is enabled (true) by default. If deletion protection is enabled, you must first disable it before you can delete the ledger using the QLDB API or the AWS Command Line Interface (AWS CLI). You can disable it by calling the UpdateLedger operation to set the flag to false. The QLDB console disables deletion protection for you when you use it to delete a ledger." +} +""" +CreateLedger(args) = qldb("POST", "/ledgers", args) + +""" + GetRevision() + +Returns a revision data object for a specified document ID and block address. Also returns a proof of the specified revision for verification if DigestTipAddress is provided. + +Required Parameters +{ + "BlockAddress": "The block location of the document revision to be verified. An address is an Amazon Ion structure that has two fields: strandId and sequenceNo. For example: {strandId:\"BlFTjlSXze9BIh1KOszcE3\",sequenceNo:14} ", + "DocumentId": "The unique ID of the document to be verified.", + "Name": "The name of the ledger." +} + +Optional Parameters +{ + "DigestTipAddress": "The latest block location covered by the digest for which to request a proof. An address is an Amazon Ion structure that has two fields: strandId and sequenceNo. For example: {strandId:\"BlFTjlSXze9BIh1KOszcE3\",sequenceNo:49} " +} +""" +GetRevision(args) = qldb("POST", "/ledgers/{name}/revision", args) + +""" + GetDigest() + +Returns the digest of a ledger at the latest committed block in the journal. The response includes a 256-bit hash value and a block address. + +Required Parameters +{ + "Name": "The name of the ledger." +} +""" +GetDigest(args) = qldb("POST", "/ledgers/{name}/digest", args) + +""" + DeleteLedger() + +Deletes a ledger and all of its contents. This action is irreversible. If deletion protection is enabled, you must first disable it before you can delete the ledger using the QLDB API or the AWS Command Line Interface (AWS CLI). You can disable it by calling the UpdateLedger operation to set the flag to false. The QLDB console disables deletion protection for you when you use it to delete a ledger. + +Required Parameters +{ + "Name": "The name of the ledger that you want to delete." +} +""" +DeleteLedger(args) = qldb("DELETE", "/ledgers/{name}", args) + +""" + ExportJournalToS3() + +Exports journal contents within a date and time range from a ledger into a specified Amazon Simple Storage Service (Amazon S3) bucket. The data is written as files in Amazon Ion format. If the ledger with the given Name doesn't exist, then throws ResourceNotFoundException. If the ledger with the given Name is in CREATING status, then throws ResourcePreconditionNotMetException. You can initiate up to two concurrent journal export requests for each ledger. Beyond this limit, journal export requests throw LimitExceededException. + +Required Parameters +{ + "S3ExportConfiguration": "The configuration settings of the Amazon S3 bucket destination for your export request.", + "InclusiveStartTime": "The inclusive start date and time for the range of journal contents that you want to export. The InclusiveStartTime must be in ISO 8601 date and time format and in Universal Coordinated Time (UTC). For example: 2019-06-13T21:36:34Z The InclusiveStartTime must be before ExclusiveEndTime. If you provide an InclusiveStartTime that is before the ledger's CreationDateTime, Amazon QLDB defaults it to the ledger's CreationDateTime.", + "Name": "The name of the ledger.", + "RoleArn": "The Amazon Resource Name (ARN) of the IAM role that grants QLDB permissions for a journal export job to do the following: Write objects into your Amazon Simple Storage Service (Amazon S3) bucket. (Optional) Use your customer master key (CMK) in AWS Key Management Service (AWS KMS) for server-side encryption of your exported data. ", + "ExclusiveEndTime": "The exclusive end date and time for the range of journal contents that you want to export. The ExclusiveEndTime must be in ISO 8601 date and time format and in Universal Coordinated Time (UTC). For example: 2019-06-13T21:36:34Z The ExclusiveEndTime must be less than or equal to the current UTC date and time." +} +""" +ExportJournalToS3(args) = qldb("POST", "/ledgers/{name}/journal-s3-exports", args) + +""" + TagResource() + +Adds one or more tags to a specified Amazon QLDB resource. A resource can have up to 50 tags. If you try to create more than 50 tags for a resource, your request fails and returns an error. + +Required Parameters +{ + "ResourceArn": "The Amazon Resource Name (ARN) to which you want to add the tags. For example: arn:aws:qldb:us-east-1:123456789012:ledger/exampleLedger ", + "Tags": "The key-value pairs to add as tags to the specified QLDB resource. Tag keys are case sensitive. If you specify a key that already exists for the resource, your request fails and returns an error. Tag values are case sensitive and can be null." +} +""" +TagResource(args) = qldb("POST", "/tags/{resourceArn}", args) + +""" + UntagResource() + +Removes one or more tags from a specified Amazon QLDB resource. You can specify up to 50 tag keys to remove. + +Required Parameters +{ + "ResourceArn": "The Amazon Resource Name (ARN) from which you want to remove the tags. For example: arn:aws:qldb:us-east-1:123456789012:ledger/exampleLedger ", + "TagKeys": "The list of tag keys that you want to remove." +} +""" +UntagResource(args) = qldb("DELETE", "/tags/{resourceArn}", args) + +""" + GetBlock() + +Returns a journal block object at a specified address in a ledger. Also returns a proof of the specified block for verification if DigestTipAddress is provided. If the specified ledger doesn't exist or is in DELETING status, then throws ResourceNotFoundException. If the specified ledger is in CREATING status, then throws ResourcePreconditionNotMetException. If no block exists with the specified address, then throws InvalidParameterException. + +Required Parameters +{ + "BlockAddress": "The location of the block that you want to request. An address is an Amazon Ion structure that has two fields: strandId and sequenceNo. For example: {strandId:\"BlFTjlSXze9BIh1KOszcE3\",sequenceNo:14} ", + "Name": "The name of the ledger." +} + +Optional Parameters +{ + "DigestTipAddress": "The latest block location covered by the digest for which to request a proof. An address is an Amazon Ion structure that has two fields: strandId and sequenceNo. For example: {strandId:\"BlFTjlSXze9BIh1KOszcE3\",sequenceNo:49} " +} +""" +GetBlock(args) = qldb("POST", "/ledgers/{name}/block", args) + +""" + ListJournalS3Exports() + +Returns an array of journal export job descriptions for all ledgers that are associated with the current AWS account and Region. This action returns a maximum of MaxResults items, and is paginated so that you can retrieve all the items by calling ListJournalS3Exports multiple times. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return in a single ListJournalS3Exports request. (The actual number of results returned might be fewer.)", + "NextToken": "A pagination token, indicating that you want to retrieve the next page of results. If you received a value for NextToken in the response from a previous ListJournalS3Exports call, then you should use that value as input here." +} +""" +ListJournalS3Exports() = qldb("GET", "/journal-s3-exports") +ListJournalS3Exports(args) = qldb("GET", "/journal-s3-exports", args) + +""" + ListLedgers() + +Returns an array of ledger summaries that are associated with the current AWS account and Region. This action returns a maximum of 100 items and is paginated so that you can retrieve all the items by calling ListLedgers multiple times. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return in a single ListLedgers request. (The actual number of results returned might be fewer.)", + "NextToken": "A pagination token, indicating that you want to retrieve the next page of results. If you received a value for NextToken in the response from a previous ListLedgers call, then you should use that value as input here." +} +""" +ListLedgers() = qldb("GET", "/ledgers") +ListLedgers(args) = qldb("GET", "/ledgers", args) diff --git a/src/services/qldb_session.jl b/src/services/qldb_session.jl new file mode 100644 index 0000000000..1f9ad3cf8f --- /dev/null +++ b/src/services/qldb_session.jl @@ -0,0 +1,22 @@ +include("../AWSServices.jl") +using .AWSServices: qldb_session + +""" + SendCommand() + +Sends a command to an Amazon QLDB ledger. + +Optional Parameters +{ + "SessionToken": "Specifies the session token for the current command. A session token is constant throughout the life of the session. To obtain a session token, run the StartSession command. This SessionToken is required for every subsequent command that is issued during the current session.", + "AbortTransaction": "Command to abort the current transaction.", + "FetchPage": "Command to fetch a page.", + "CommitTransaction": "Command to commit the specified transaction.", + "StartSession": "Command to start a new session. A session token is obtained as part of the response.", + "StartTransaction": "Command to start a new transaction.", + "EndSession": "Command to end the current session.", + "ExecuteStatement": "Command to execute a statement in the specified transaction." +} +""" +SendCommand() = qldb_session("SendCommand") +SendCommand(args) = qldb_session("SendCommand", args) diff --git a/src/services/quicksight.jl b/src/services/quicksight.jl new file mode 100644 index 0000000000..dff9f31414 --- /dev/null +++ b/src/services/quicksight.jl @@ -0,0 +1,1145 @@ +include("../AWSServices.jl") +using .AWSServices: quicksight + +""" + ListGroupMemberships() + +Lists member users in a group. + +Required Parameters +{ + "AwsAccountId": "The ID for the AWS account that the group is in. Currently, you use the ID for the AWS account that contains your Amazon QuickSight account.", + "GroupName": "The name of the group that you want to see a membership list of.", + "Namespace": "The namespace. Currently, you should set this to default." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return from this request.", + "NextToken": "A pagination token that can be used in a subsequent request." +} +""" +ListGroupMemberships(args) = quicksight("GET", "/accounts/{AwsAccountId}/namespaces/{Namespace}/groups/{GroupName}/members", args) + +""" + DeleteGroup() + +Removes a user group from Amazon QuickSight. + +Required Parameters +{ + "AwsAccountId": "The ID for the AWS account that the group is in. Currently, you use the ID for the AWS account that contains your Amazon QuickSight account.", + "GroupName": "The name of the group that you want to delete.", + "Namespace": "The namespace. Currently, you should set this to default." +} +""" +DeleteGroup(args) = quicksight("DELETE", "/accounts/{AwsAccountId}/namespaces/{Namespace}/groups/{GroupName}", args) + +""" + CreateTemplate() + +Creates a template from an existing QuickSight analysis or template. You can use the resulting template to create a dashboard. A template is an entity in QuickSight that encapsulates the metadata required to create an analysis and that you can use to create s dashboard. A template adds a layer of abstraction by using placeholders to replace the dataset associated with the analysis. You can use templates to create dashboards by replacing dataset placeholders with datasets that follow the same schema that was used to create the source analysis and template. + +Required Parameters +{ + "SourceEntity": "The Amazon Resource Name (ARN) of the source entity from which this template is being created. Currently, you can create a template from an analysis or another template. If the ARN is for an analysis, include its dataset references. ", + "TemplateId": "An ID for the template that you want to create. This template is unique per AWS Region in each AWS account.", + "AwsAccountId": "The ID for the AWS account that the group is in. Currently, you use the ID for the AWS account that contains your Amazon QuickSight account." +} + +Optional Parameters +{ + "Permissions": "A list of resource permissions to be set on the template. ", + "Tags": "Contains a map of the key-value pairs for the resource tag or tags assigned to the resource.", + "Name": "A display name for the template.", + "VersionDescription": "A description of the current template version being created. This API operation creates the first version of the template. Every time UpdateTemplate is called, a new version is created. Each version of the template maintains a description of the version in the VersionDescription field." +} +""" +CreateTemplate(args) = quicksight("POST", "/accounts/{AwsAccountId}/templates/{TemplateId}", args) + +""" + DescribeDashboard() + +Provides a summary for a dashboard. + +Required Parameters +{ + "DashboardId": "The ID for the dashboard.", + "AwsAccountId": "The ID of the AWS account that contains the dashboard that you're describing." +} + +Optional Parameters +{ + "VersionNumber": "The version number for the dashboard. If a version number isn't passed, the latest published dashboard version is described. ", + "AliasName": "The alias name." +} +""" +DescribeDashboard(args) = quicksight("GET", "/accounts/{AwsAccountId}/dashboards/{DashboardId}", args) + +""" + DescribeDataSet() + +Describes a dataset. + +Required Parameters +{ + "DataSetId": "The ID for the dataset that you want to create. This ID is unique per AWS Region for each AWS account.", + "AwsAccountId": "The AWS account ID." +} +""" +DescribeDataSet(args) = quicksight("GET", "/accounts/{AwsAccountId}/data-sets/{DataSetId}", args) + +""" + UpdateTemplateAlias() + +Updates the template alias of a template. + +Required Parameters +{ + "TemplateId": "The ID for the template.", + "AwsAccountId": "The ID of the AWS account that contains the template alias that you're updating.", + "AliasName": "The alias of the template that you want to update. If you name a specific alias, you update the version that the alias points to. You can specify the latest version of the template by providing the keyword LATEST in the AliasName parameter. The keyword PUBLISHED doesn't apply to templates.", + "TemplateVersionNumber": "The version number of the template." +} +""" +UpdateTemplateAlias(args) = quicksight("PUT", "/accounts/{AwsAccountId}/templates/{TemplateId}/aliases/{AliasName}", args) + +""" + TagResource() + +Assigns one or more tags (key-value pairs) to the specified QuickSight resource. Tags can help you organize and categorize your resources. You can also use them to scope user permissions, by granting a user permission to access or change only resources with certain tag values. You can use the TagResource operation with a resource that already has tags. If you specify a new tag key for the resource, this tag is appended to the list of tags associated with the resource. If you specify a tag key that is already associated with the resource, the new tag value that you specify replaces the previous value for that tag. You can associate as many as 50 tags with a resource. QuickSight supports tagging on data set, data source, dashboard, and template. Tagging for QuickSight works in a similar way to tagging for other AWS services, except for the following: You can't use tags to track AWS costs for QuickSight. This restriction is because QuickSight costs are based on users and SPICE capacity, which aren't taggable resources. QuickSight doesn't currently support the Tag Editor for AWS Resource Groups. + +Required Parameters +{ + "ResourceArn": "The Amazon Resource Name (ARN) of the resource that you want to tag.", + "Tags": "Contains a map of the key-value pairs for the resource tag or tags assigned to the resource." +} +""" +TagResource(args) = quicksight("POST", "/resources/{ResourceArn}/tags", args) + +""" + CreateIAMPolicyAssignment() + +Creates an assignment with one specified IAM policy, identified by its Amazon Resource Name (ARN). This policy will be assigned to specified groups or users of Amazon QuickSight. The users and groups need to be in the same namespace. + +Required Parameters +{ + "AssignmentStatus": "The status of the assignment. Possible values are as follows: ENABLED - Anything specified in this assignment is used when creating the data source. DISABLED - This assignment isn't used when creating the data source. DRAFT - This assignment is an unfinished draft and isn't used when creating the data source. ", + "AssignmentName": "The name of the assignment. It must be unique within an AWS account.", + "AwsAccountId": "The ID of the AWS account where you want to assign an IAM policy to QuickSight users or groups.", + "Namespace": "The namespace that contains the assignment." +} + +Optional Parameters +{ + "PolicyArn": "The ARN for the IAM policy to apply to the QuickSight users and groups specified in this assignment.", + "Identities": "The QuickSight users, groups, or both that you want to assign the policy to." +} +""" +CreateIAMPolicyAssignment(args) = quicksight("POST", "/accounts/{AwsAccountId}/namespaces/{Namespace}/iam-policy-assignments/", args) + +""" + CreateIngestion() + +Creates and starts a new SPICE ingestion on a dataset Any ingestions operating on tagged datasets inherit the same tags automatically for use in access control. For an example, see How do I create an IAM policy to control access to Amazon EC2 resources using tags? in the AWS Knowledge Center. Tags are visible on the tagged dataset, but not on the ingestion resource. + +Required Parameters +{ + "DataSetId": "The ID of the dataset used in the ingestion.", + "IngestionId": "An ID for the ingestion.", + "AwsAccountId": "The AWS account ID." +} +""" +CreateIngestion(args) = quicksight("PUT", "/accounts/{AwsAccountId}/data-sets/{DataSetId}/ingestions/{IngestionId}", args) + +""" + CreateDashboard() + +Creates a dashboard from a template. To first create a template, see the CreateTemplate API operation. A dashboard is an entity in QuickSight that identifies QuickSight reports, created from analyses. You can share QuickSight dashboards. With the right permissions, you can create scheduled email reports from them. The CreateDashboard, DescribeDashboard, and ListDashboardsByUser API operations act on the dashboard entity. If you have the correct permissions, you can create a dashboard from a template that exists in a different AWS account. + +Required Parameters +{ + "DashboardId": "The ID for the dashboard, also added to the IAM policy.", + "SourceEntity": "The source entity from which the dashboard is created. The source entity accepts the Amazon Resource Name (ARN) of the source template or analysis and also references the replacement datasets for the placeholders set when creating the template. The replacement datasets need to follow the same schema as the datasets for which placeholders were created when creating the template. If you are creating a dashboard from a source entity in a different AWS account, use the ARN of the source template.", + "AwsAccountId": "The ID of the AWS account where you want to create the dashboard.", + "Name": "The display name of the dashboard." +} + +Optional Parameters +{ + "Permissions": "A structure that contains the permissions of the dashboard. You can use this structure for granting permissions with principal and action information.", + "Tags": "Contains a map of the key-value pairs for the resource tag or tags assigned to the dashboard.", + "DashboardPublishOptions": "Options for publishing the dashboard when you create it: AvailabilityStatus for AdHocFilteringOption - This status can be either ENABLED or DISABLED. When this is set to DISABLED, QuickSight disables the left filter pane on the published dashboard, which can be used for ad hoc (one-time) filtering. This option is ENABLED by default. AvailabilityStatus for ExportToCSVOption - This status can be either ENABLED or DISABLED. The visual option to export data to .csv format isn't enabled when this is set to DISABLED. This option is ENABLED by default. VisibilityState for SheetControlsOption - This visibility state can be either COLLAPSED or EXPANDED. The sheet controls pane is collapsed by default when set to true. This option is COLLAPSED by default. ", + "Parameters": "A structure that contains the parameters of the dashboard. These are parameter overrides for a dashboard. A dashboard can have any type of parameters, and some parameters might accept multiple values. You can use the dashboard permissions structure described following to override two string parameters that accept multiple values. ", + "VersionDescription": "A description for the first version of the dashboard being created." +} +""" +CreateDashboard(args) = quicksight("POST", "/accounts/{AwsAccountId}/dashboards/{DashboardId}", args) + +""" + GetDashboardEmbedUrl() + +Generates a server-side embeddable URL and authorization code. For this process to work properly, first configure the dashboards and user permissions. For more information, see Embedding Amazon QuickSight Dashboards in the Amazon QuickSight User Guide or Embedding Amazon QuickSight Dashboards in the Amazon QuickSight API Reference. Currently, you can use GetDashboardEmbedURL only from the server, not from the user’s browser. + +Required Parameters +{ + "DashboardId": "The ID for the dashboard, also added to the IAM policy.", + "IdentityType": "The authentication method that the user uses to sign in.", + "AwsAccountId": "The ID for the AWS account that contains the dashboard that you're embedding." +} + +Optional Parameters +{ + "ResetDisabled": "Remove the reset button on the embedded dashboard. The default is FALSE, which enables the reset button.", + "SessionLifetimeInMinutes": "How many minutes the session is valid. The session lifetime must be 15-600 minutes.", + "UndoRedoDisabled": "Remove the undo/redo button on the embedded dashboard. The default is FALSE, which enables the undo/redo button.", + "UserArn": "The Amazon QuickSight user's Amazon Resource Name (ARN), for use with QUICKSIGHT identity type. You can use this for any Amazon QuickSight users in your account (readers, authors, or admins) authenticated as one of the following: Active Directory (AD) users or group members Invited nonfederated users IAM users and IAM role-based sessions authenticated through Federated Single Sign-On using SAML, OpenID Connect, or IAM federation. " +} +""" +GetDashboardEmbedUrl(args) = quicksight("GET", "/accounts/{AwsAccountId}/dashboards/{DashboardId}/embed-url", args) + +""" + UpdateIAMPolicyAssignment() + +Updates an existing IAM policy assignment. This operation updates only the optional parameter or parameters that are specified in the request. + +Required Parameters +{ + "AssignmentName": "The name of the assignment. This name must be unique within an AWS account.", + "AwsAccountId": "The ID of the AWS account that contains the IAM policy assignment.", + "Namespace": "The namespace of the assignment." +} + +Optional Parameters +{ + "PolicyArn": "The ARN for the IAM policy to apply to the QuickSight users and groups specified in this assignment.", + "AssignmentStatus": "The status of the assignment. Possible values are as follows: ENABLED - Anything specified in this assignment is used when creating the data source. DISABLED - This assignment isn't used when creating the data source. DRAFT - This assignment is an unfinished draft and isn't used when creating the data source. ", + "Identities": "The QuickSight users, groups, or both that you want to assign the policy to." +} +""" +UpdateIAMPolicyAssignment(args) = quicksight("PUT", "/accounts/{AwsAccountId}/namespaces/{Namespace}/iam-policy-assignments/{AssignmentName}", args) + +""" + UpdateDataSource() + +Updates a data source. + +Required Parameters +{ + "DataSourceId": "The ID of the data source. This ID is unique per AWS Region for each AWS account. ", + "AwsAccountId": "The AWS account ID.", + "Name": "A display name for the data source." +} + +Optional Parameters +{ + "Credentials": "The credentials that QuickSight that uses to connect to your underlying source. Currently, only credentials based on user name and password are supported.", + "SslProperties": "Secure Socket Layer (SSL) properties that apply when QuickSight connects to your underlying source.", + "VpcConnectionProperties": "Use this parameter only when you want QuickSight to use a VPC connection when connecting to your underlying source.", + "DataSourceParameters": "The parameters that QuickSight uses to connect to your underlying source." +} +""" +UpdateDataSource(args) = quicksight("PUT", "/accounts/{AwsAccountId}/data-sources/{DataSourceId}", args) + +""" + ListTemplateVersions() + +Lists all the versions of the templates in the current Amazon QuickSight account. + +Required Parameters +{ + "TemplateId": "The ID for the template.", + "AwsAccountId": "The ID of the AWS account that contains the templates that you're listing." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of results to be returned per request.", + "NextToken": "The token for the next set of results, or null if there are no more results." +} +""" +ListTemplateVersions(args) = quicksight("GET", "/accounts/{AwsAccountId}/templates/{TemplateId}/versions", args) + +""" + CreateGroupMembership() + +Adds an Amazon QuickSight user to an Amazon QuickSight group. + +Required Parameters +{ + "MemberName": "The name of the user that you want to add to the group membership.", + "AwsAccountId": "The ID for the AWS account that the group is in. Currently, you use the ID for the AWS account that contains your Amazon QuickSight account.", + "GroupName": "The name of the group that you want to add the user to.", + "Namespace": "The namespace. Currently, you should set this to default." +} +""" +CreateGroupMembership(args) = quicksight("PUT", "/accounts/{AwsAccountId}/namespaces/{Namespace}/groups/{GroupName}/members/{MemberName}", args) + +""" + DescribeTemplate() + +Describes a template's metadata. + +Required Parameters +{ + "TemplateId": "The ID for the template.", + "AwsAccountId": "The ID of the AWS account that contains the template that you're describing." +} + +Optional Parameters +{ + "VersionNumber": "(Optional) The number for the version to describe. If a VersionNumber parameter value isn't provided, the latest version of the template is described.", + "AliasName": "The alias of the template that you want to describe. If you name a specific alias, you describe the version that the alias points to. You can specify the latest version of the template by providing the keyword LATEST in the AliasName parameter. The keyword PUBLISHED doesn't apply to templates." +} +""" +DescribeTemplate(args) = quicksight("GET", "/accounts/{AwsAccountId}/templates/{TemplateId}", args) + +""" + DeleteTemplateAlias() + +Deletes the item that the specified template alias points to. If you provide a specific alias, you delete the version of the template that the alias points to. + +Required Parameters +{ + "TemplateId": "The ID for the template that the specified alias is for.", + "AwsAccountId": "The ID of the AWS account that contains the item to delete.", + "AliasName": "The name for the template alias. If you name a specific alias, you delete the version that the alias points to. You can specify the latest version of the template by providing the keyword LATEST in the AliasName parameter. " +} +""" +DeleteTemplateAlias(args) = quicksight("DELETE", "/accounts/{AwsAccountId}/templates/{TemplateId}/aliases/{AliasName}", args) + +""" + DeleteDataSource() + +Deletes the data source permanently. This action breaks all the datasets that reference the deleted data source. + +Required Parameters +{ + "DataSourceId": "The ID of the data source. This ID is unique per AWS Region for each AWS account.", + "AwsAccountId": "The AWS account ID." +} +""" +DeleteDataSource(args) = quicksight("DELETE", "/accounts/{AwsAccountId}/data-sources/{DataSourceId}", args) + +""" + RegisterUser() + +Creates an Amazon QuickSight user, whose identity is associated with the AWS Identity and Access Management (IAM) identity or role specified in the request. + +Required Parameters +{ + "IdentityType": "Amazon QuickSight supports several ways of managing the identity of users. This parameter accepts two values: IAM: A user whose identity maps to an existing IAM user or role. QUICKSIGHT: A user whose identity is owned and managed internally by Amazon QuickSight. ", + "Email": "The email address of the user that you want to register.", + "UserRole": "The Amazon QuickSight role for the user. The user role can be one of the following: READER: A user who has read-only access to dashboards. AUTHOR: A user who can create data sources, datasets, analyses, and dashboards. ADMIN: A user who is an author, who can also manage Amazon QuickSight settings. RESTRICTED_READER: This role isn't currently available for use. RESTRICTED_AUTHOR: This role isn't currently available for use. ", + "AwsAccountId": "The ID for the AWS account that the user is in. Currently, you use the ID for the AWS account that contains your Amazon QuickSight account.", + "Namespace": "The namespace. Currently, you should set this to default." +} + +Optional Parameters +{ + "UserName": "The Amazon QuickSight user name that you want to create for the user you are registering.", + "SessionName": "You need to use this parameter only when you register one or more users using an assumed IAM role. You don't need to provide the session name for other scenarios, for example when you are registering an IAM user or an Amazon QuickSight user. You can register multiple users using the same IAM role if each user has a different session name. For more information on assuming IAM roles, see assume-role in the AWS CLI Reference. ", + "IamArn": "The ARN of the IAM user or role that you are registering with Amazon QuickSight. " +} +""" +RegisterUser(args) = quicksight("POST", "/accounts/{AwsAccountId}/namespaces/{Namespace}/users", args) + +""" + UpdateDataSetPermissions() + +Updates the permissions on a dataset. The permissions resource is arn:aws:quicksight:region:aws-account-id:dataset/data-set-id. + +Required Parameters +{ + "DataSetId": "The ID for the dataset whose permissions you want to update. This ID is unique per AWS Region for each AWS account.", + "AwsAccountId": "The AWS account ID." +} + +Optional Parameters +{ + "RevokePermissions": "The resource permissions that you want to revoke from the dataset.", + "GrantPermissions": "The resource permissions that you want to grant to the dataset." +} +""" +UpdateDataSetPermissions(args) = quicksight("POST", "/accounts/{AwsAccountId}/data-sets/{DataSetId}/permissions", args) + +""" + UpdateDataSourcePermissions() + +Updates the permissions to a data source. + +Required Parameters +{ + "DataSourceId": "The ID of the data source. This ID is unique per AWS Region for each AWS account. ", + "AwsAccountId": "The AWS account ID." +} + +Optional Parameters +{ + "RevokePermissions": "A list of resource permissions that you want to revoke on the data source.", + "GrantPermissions": "A list of resource permissions that you want to grant on the data source." +} +""" +UpdateDataSourcePermissions(args) = quicksight("POST", "/accounts/{AwsAccountId}/data-sources/{DataSourceId}/permissions", args) + +""" + UpdateTemplate() + +Updates a template from an existing Amazon QuickSight analysis or another template. + +Required Parameters +{ + "SourceEntity": "The source QuickSight entity from which this template is being updated. You can currently update templates from an Analysis or another template.", + "TemplateId": "The ID for the template.", + "AwsAccountId": "The ID of the AWS account that contains the template that you're updating." +} + +Optional Parameters +{ + "Name": "The name for the template.", + "VersionDescription": "A description of the current template version that is being updated. Every time you call UpdateTemplate, you create a new version of the template. Each version of the template maintains a description of the version in the VersionDescription field." +} +""" +UpdateTemplate(args) = quicksight("PUT", "/accounts/{AwsAccountId}/templates/{TemplateId}", args) + +""" + DeleteUser() + +Deletes the Amazon QuickSight user that is associated with the identity of the AWS Identity and Access Management (IAM) user or role that's making the call. The IAM user isn't deleted as a result of this call. + +Required Parameters +{ + "UserName": "The name of the user that you want to delete.", + "AwsAccountId": "The ID for the AWS account that the user is in. Currently, you use the ID for the AWS account that contains your Amazon QuickSight account.", + "Namespace": "The namespace. Currently, you should set this to default." +} +""" +DeleteUser(args) = quicksight("DELETE", "/accounts/{AwsAccountId}/namespaces/{Namespace}/users/{UserName}", args) + +""" + UntagResource() + +Removes a tag or tags from a resource. + +Required Parameters +{ + "ResourceArn": "The Amazon Resource Name (ARN) of the resource that you want to untag.", + "TagKeys": "The keys of the key-value pairs for the resource tag or tags assigned to the resource." +} +""" +UntagResource(args) = quicksight("DELETE", "/resources/{ResourceArn}/tags", args) + +""" + CreateDataSet() + +Creates a dataset. + +Required Parameters +{ + "DataSetId": "An ID for the dataset that you want to create. This ID is unique per AWS Region for each AWS account.", + "PhysicalTableMap": "Declares the physical tables that are available in the underlying data sources.", + "AwsAccountId": "The AWS account ID.", + "ImportMode": "Indicates whether you want to import the data into SPICE.", + "Name": "The display name for the dataset." +} + +Optional Parameters +{ + "Permissions": "A list of resource permissions on the dataset.", + "RowLevelPermissionDataSet": "The row-level security configuration for the data that you want to create.", + "Tags": "Contains a map of the key-value pairs for the resource tag or tags assigned to the dataset.", + "LogicalTableMap": "Configures the combination and transformation of the data from the physical tables.", + "ColumnGroups": "Groupings of columns that work together in certain QuickSight features. Currently, only geospatial hierarchy is supported." +} +""" +CreateDataSet(args) = quicksight("POST", "/accounts/{AwsAccountId}/data-sets", args) + +""" + ListDataSources() + +Lists data sources in current AWS Region that belong to this AWS account. + +Required Parameters +{ + "AwsAccountId": "The AWS account ID." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of results to be returned per request.", + "NextToken": "The token for the next set of results, or null if there are no more results." +} +""" +ListDataSources(args) = quicksight("GET", "/accounts/{AwsAccountId}/data-sources", args) + +""" + DescribeIngestion() + +Describes a SPICE ingestion. + +Required Parameters +{ + "DataSetId": "The ID of the dataset used in the ingestion.", + "IngestionId": "An ID for the ingestion.", + "AwsAccountId": "The AWS account ID." +} +""" +DescribeIngestion(args) = quicksight("GET", "/accounts/{AwsAccountId}/data-sets/{DataSetId}/ingestions/{IngestionId}", args) + +""" + UpdateDashboard() + +Updates a dashboard in an AWS account. + +Required Parameters +{ + "DashboardId": "The ID for the dashboard.", + "SourceEntity": "The template or analysis from which the dashboard is created. The SouceTemplate entity accepts the Amazon Resource Name (ARN) of the template and also references to replacement datasets for the placeholders set when creating the template. The replacement datasets need to follow the same schema as the datasets for which placeholders were created when creating the template.", + "AwsAccountId": "The ID of the AWS account that contains the dashboard that you're updating.", + "Name": "The display name of the dashboard." +} + +Optional Parameters +{ + "DashboardPublishOptions": "Options for publishing the dashboard when you create it: AvailabilityStatus for AdHocFilteringOption - This status can be either ENABLED or DISABLED. When this is set to DISABLED, QuickSight disables the left filter pane on the published dashboard, which can be used for ad hoc (one-time) filtering. This option is ENABLED by default. AvailabilityStatus for ExportToCSVOption - This status can be either ENABLED or DISABLED. The visual option to export data to .csv format isn't enabled when this is set to DISABLED. This option is ENABLED by default. VisibilityState for SheetControlsOption - This visibility state can be either COLLAPSED or EXPANDED. The sheet controls pane is collapsed by default when set to true. This option is COLLAPSED by default. ", + "Parameters": "A structure that contains the parameters of the dashboard.", + "VersionDescription": "A description for the first version of the dashboard being created." +} +""" +UpdateDashboard(args) = quicksight("PUT", "/accounts/{AwsAccountId}/dashboards/{DashboardId}", args) + +""" + CreateGroup() + +Creates an Amazon QuickSight group. The permissions resource is arn:aws:quicksight:us-east-1:<relevant-aws-account-id>:group/default/<group-name> . The response is a group object. + +Required Parameters +{ + "AwsAccountId": "The ID for the AWS account that the group is in. Currently, you use the ID for the AWS account that contains your Amazon QuickSight account.", + "GroupName": "A name for the group that you want to create.", + "Namespace": "The namespace. Currently, you should set this to default." +} + +Optional Parameters +{ + "Description": "A description for the group that you want to create." +} +""" +CreateGroup(args) = quicksight("POST", "/accounts/{AwsAccountId}/namespaces/{Namespace}/groups", args) + +""" + CreateDataSource() + +Creates a data source. + +Required Parameters +{ + "DataSourceId": "An ID for the data source. This ID is unique per AWS Region for each AWS account. ", + "Type": "The type of the data source. Currently, the supported types for this operation are: ATHENA, AURORA, AURORA_POSTGRESQL, MARIADB, MYSQL, POSTGRESQL, PRESTO, REDSHIFT, S3, SNOWFLAKE, SPARK, SQLSERVER, TERADATA. Use ListDataSources to return a list of all data sources.", + "AwsAccountId": "The AWS account ID.", + "Name": "A display name for the data source." +} + +Optional Parameters +{ + "Permissions": "A list of resource permissions on the data source.", + "Tags": "Contains a map of the key-value pairs for the resource tag or tags assigned to the data source.", + "Credentials": "The credentials QuickSight that uses to connect to your underlying source. Currently, only credentials based on user name and password are supported.", + "SslProperties": "Secure Socket Layer (SSL) properties that apply when QuickSight connects to your underlying source.", + "VpcConnectionProperties": "Use this parameter only when you want QuickSight to use a VPC connection when connecting to your underlying source.", + "DataSourceParameters": "The parameters that QuickSight uses to connect to your underlying source." +} +""" +CreateDataSource(args) = quicksight("POST", "/accounts/{AwsAccountId}/data-sources", args) + +""" + DescribeTemplatePermissions() + +Describes read and write permissions on a template. + +Required Parameters +{ + "TemplateId": "The ID for the template.", + "AwsAccountId": "The ID of the AWS account that contains the template that you're describing." +} +""" +DescribeTemplatePermissions(args) = quicksight("GET", "/accounts/{AwsAccountId}/templates/{TemplateId}/permissions", args) + +""" + ListDataSets() + +Lists all of the datasets belonging to the current AWS account in an AWS Region. The permissions resource is arn:aws:quicksight:region:aws-account-id:dataset/*. + +Required Parameters +{ + "AwsAccountId": "The AWS account ID." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of results to be returned per request.", + "NextToken": "The token for the next set of results, or null if there are no more results." +} +""" +ListDataSets(args) = quicksight("GET", "/accounts/{AwsAccountId}/data-sets", args) + +""" + ListUserGroups() + +Lists the Amazon QuickSight groups that an Amazon QuickSight user is a member of. + +Required Parameters +{ + "UserName": "The Amazon QuickSight user name that you want to list group memberships for.", + "AwsAccountId": "The AWS account ID that the user is in. Currently, you use the ID for the AWS account that contains your Amazon QuickSight account.", + "Namespace": "The namespace. Currently, you should set this to default." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return from this request.", + "NextToken": "A pagination token that can be used in a subsequent request." +} +""" +ListUserGroups(args) = quicksight("GET", "/accounts/{AwsAccountId}/namespaces/{Namespace}/users/{UserName}/groups", args) + +""" + ListTemplateAliases() + +Lists all the aliases of a template. + +Required Parameters +{ + "TemplateId": "The ID for the template.", + "AwsAccountId": "The ID of the AWS account that contains the template aliases that you're listing." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of results to be returned per request.", + "NextToken": "The token for the next set of results, or null if there are no more results." +} +""" +ListTemplateAliases(args) = quicksight("GET", "/accounts/{AwsAccountId}/templates/{TemplateId}/aliases", args) + +""" + DeleteDashboard() + +Deletes a dashboard. + +Required Parameters +{ + "DashboardId": "The ID for the dashboard.", + "AwsAccountId": "The ID of the AWS account that contains the dashboard that you're deleting." +} + +Optional Parameters +{ + "VersionNumber": "The version number of the dashboard. If the version number property is provided, only the specified version of the dashboard is deleted." +} +""" +DeleteDashboard(args) = quicksight("DELETE", "/accounts/{AwsAccountId}/dashboards/{DashboardId}", args) + +""" + ListTagsForResource() + +Lists the tags assigned to a resource. + +Required Parameters +{ + "ResourceArn": "The Amazon Resource Name (ARN) of the resource that you want a list of tags for." +} +""" +ListTagsForResource(args) = quicksight("GET", "/resources/{ResourceArn}/tags", args) + +""" + UpdateUser() + +Updates an Amazon QuickSight user. + +Required Parameters +{ + "UserName": "The Amazon QuickSight user name that you want to update.", + "Email": "The email address of the user that you want to update.", + "AwsAccountId": "The ID for the AWS account that the user is in. Currently, you use the ID for the AWS account that contains your Amazon QuickSight account.", + "Namespace": "The namespace. Currently, you should set this to default.", + "Role": "The Amazon QuickSight role of the user. The user role can be one of the following: READER: A user who has read-only access to dashboards. AUTHOR: A user who can create data sources, datasets, analyses, and dashboards. ADMIN: A user who is an author, who can also manage Amazon QuickSight settings. " +} +""" +UpdateUser(args) = quicksight("PUT", "/accounts/{AwsAccountId}/namespaces/{Namespace}/users/{UserName}", args) + +""" + UpdateDashboardPublishedVersion() + +Updates the published version of a dashboard. + +Required Parameters +{ + "DashboardId": "The ID for the dashboard.", + "VersionNumber": "The version number of the dashboard.", + "AwsAccountId": "The ID of the AWS account that contains the dashboard that you're updating." +} +""" +UpdateDashboardPublishedVersion(args) = quicksight("PUT", "/accounts/{AwsAccountId}/dashboards/{DashboardId}/versions/{VersionNumber}", args) + +""" + ListIngestions() + +Lists the history of SPICE ingestions for a dataset. + +Required Parameters +{ + "DataSetId": "The ID of the dataset used in the ingestion.", + "AwsAccountId": "The AWS account ID." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of results to be returned per request.", + "NextToken": "The token for the next set of results, or null if there are no more results." +} +""" +ListIngestions(args) = quicksight("GET", "/accounts/{AwsAccountId}/data-sets/{DataSetId}/ingestions", args) + +""" + DeleteUserByPrincipalId() + +Deletes a user identified by its principal ID. + +Required Parameters +{ + "PrincipalId": "The principal ID of the user.", + "AwsAccountId": "The ID for the AWS account that the user is in. Currently, you use the ID for the AWS account that contains your Amazon QuickSight account.", + "Namespace": "The namespace. Currently, you should set this to default." +} +""" +DeleteUserByPrincipalId(args) = quicksight("DELETE", "/accounts/{AwsAccountId}/namespaces/{Namespace}/user-principals/{PrincipalId}", args) + +""" + DeleteTemplate() + +Deletes a template. + +Required Parameters +{ + "TemplateId": "An ID for the template you want to delete.", + "AwsAccountId": "The ID of the AWS account that contains the template that you're deleting." +} + +Optional Parameters +{ + "VersionNumber": "Specifies the version of the template that you want to delete. If you don't provide a version number, DeleteTemplate deletes all versions of the template. " +} +""" +DeleteTemplate(args) = quicksight("DELETE", "/accounts/{AwsAccountId}/templates/{TemplateId}", args) + +""" + ListIAMPolicyAssignmentsForUser() + +Lists all the IAM policy assignments, including the Amazon Resource Names (ARNs) for the IAM policies assigned to the specified user and group or groups that the user belongs to. + +Required Parameters +{ + "UserName": "The name of the user.", + "AwsAccountId": "The ID of the AWS account that contains the assignments.", + "Namespace": "The namespace of the assignment." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of results to be returned per request.", + "NextToken": "The token for the next set of results, or null if there are no more results." +} +""" +ListIAMPolicyAssignmentsForUser(args) = quicksight("GET", "/accounts/{AwsAccountId}/namespaces/{Namespace}/users/{UserName}/iam-policy-assignments", args) + +""" + DeleteGroupMembership() + +Removes a user from a group so that the user is no longer a member of the group. + +Required Parameters +{ + "MemberName": "The name of the user that you want to delete from the group membership.", + "AwsAccountId": "The ID for the AWS account that the group is in. Currently, you use the ID for the AWS account that contains your Amazon QuickSight account.", + "GroupName": "The name of the group that you want to delete the user from.", + "Namespace": "The namespace. Currently, you should set this to default." +} +""" +DeleteGroupMembership(args) = quicksight("DELETE", "/accounts/{AwsAccountId}/namespaces/{Namespace}/groups/{GroupName}/members/{MemberName}", args) + +""" + DescribeDashboardPermissions() + +Describes read and write permissions for a dashboard. + +Required Parameters +{ + "DashboardId": "The ID for the dashboard, also added to the IAM policy.", + "AwsAccountId": "The ID of the AWS account that contains the dashboard that you're describing permissions for." +} +""" +DescribeDashboardPermissions(args) = quicksight("GET", "/accounts/{AwsAccountId}/dashboards/{DashboardId}/permissions", args) + +""" + ListUsers() + +Returns a list of all of the Amazon QuickSight users belonging to this account. + +Required Parameters +{ + "AwsAccountId": "The ID for the AWS account that the user is in. Currently, you use the ID for the AWS account that contains your Amazon QuickSight account.", + "Namespace": "The namespace. Currently, you should set this to default." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return from this request.", + "NextToken": "A pagination token that can be used in a subsequent request." +} +""" +ListUsers(args) = quicksight("GET", "/accounts/{AwsAccountId}/namespaces/{Namespace}/users", args) + +""" + DeleteDataSet() + +Deletes a dataset. + +Required Parameters +{ + "DataSetId": "The ID for the dataset that you want to create. This ID is unique per AWS Region for each AWS account.", + "AwsAccountId": "The AWS account ID." +} +""" +DeleteDataSet(args) = quicksight("DELETE", "/accounts/{AwsAccountId}/data-sets/{DataSetId}", args) + +""" + DeleteIAMPolicyAssignment() + +Deletes an existing IAM policy assignment. + +Required Parameters +{ + "AssignmentName": "The name of the assignment. ", + "AwsAccountId": "The AWS account ID where you want to delete the IAM policy assignment.", + "Namespace": "The namespace that contains the assignment." +} +""" +DeleteIAMPolicyAssignment(args) = quicksight("DELETE", "/accounts/{AwsAccountId}/namespace/{Namespace}/iam-policy-assignments/{AssignmentName}", args) + +""" + ListGroups() + +Lists all user groups in Amazon QuickSight. + +Required Parameters +{ + "AwsAccountId": "The ID for the AWS account that the group is in. Currently, you use the ID for the AWS account that contains your Amazon QuickSight account.", + "Namespace": "The namespace. Currently, you should set this to default." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return.", + "NextToken": "A pagination token that can be used in a subsequent request." +} +""" +ListGroups(args) = quicksight("GET", "/accounts/{AwsAccountId}/namespaces/{Namespace}/groups", args) + +""" + ListTemplates() + +Lists all the templates in the current Amazon QuickSight account. + +Required Parameters +{ + "AwsAccountId": "The ID of the AWS account that contains the templates that you're listing." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of results to be returned per request.", + "NextToken": "The token for the next set of results, or null if there are no more results." +} +""" +ListTemplates(args) = quicksight("GET", "/accounts/{AwsAccountId}/templates", args) + +""" + DescribeUser() + +Returns information about a user, given the user name. + +Required Parameters +{ + "UserName": "The name of the user that you want to describe.", + "AwsAccountId": "The ID for the AWS account that the user is in. Currently, you use the ID for the AWS account that contains your Amazon QuickSight account.", + "Namespace": "The namespace. Currently, you should set this to default." +} +""" +DescribeUser(args) = quicksight("GET", "/accounts/{AwsAccountId}/namespaces/{Namespace}/users/{UserName}", args) + +""" + SearchDashboards() + +Searchs for dashboards that belong to a user. + +Required Parameters +{ + "AwsAccountId": "The ID of the AWS account that contains the user whose dashboards you're searching for. ", + "Filters": "The filters to apply to the search. Currently, you can search only by user name. For example, \"Filters\": [ { \"Name\": \"QUICKSIGHT_USER\", \"Operator\": \"StringEquals\", \"Value\": \"arn:aws:quicksight:us-east-1:1:user/default/UserName1\" } ] " +} + +Optional Parameters +{ + "MaxResults": "The maximum number of results to be returned per request.", + "NextToken": "The token for the next set of results, or null if there are no more results." +} +""" +SearchDashboards(args) = quicksight("POST", "/accounts/{AwsAccountId}/search/dashboards", args) + +""" + UpdateDataSet() + +Updates a dataset. + +Required Parameters +{ + "DataSetId": "The ID for the dataset that you want to update. This ID is unique per AWS Region for each AWS account.", + "PhysicalTableMap": "Declares the physical tables that are available in the underlying data sources.", + "AwsAccountId": "The AWS account ID.", + "ImportMode": "Indicates whether you want to import the data into SPICE.", + "Name": "The display name for the dataset." +} + +Optional Parameters +{ + "RowLevelPermissionDataSet": "The row-level security configuration for the data you want to create.", + "LogicalTableMap": "Configures the combination and transformation of the data from the physical tables.", + "ColumnGroups": "Groupings of columns that work together in certain QuickSight features. Currently, only geospatial hierarchy is supported." +} +""" +UpdateDataSet(args) = quicksight("PUT", "/accounts/{AwsAccountId}/data-sets/{DataSetId}", args) + +""" + DescribeIAMPolicyAssignment() + +Describes an existing IAM policy assignment, as specified by the assignment name. + +Required Parameters +{ + "AssignmentName": "The name of the assignment. ", + "AwsAccountId": "The ID of the AWS account that contains the assignment that you want to describe.", + "Namespace": "The namespace that contains the assignment." +} +""" +DescribeIAMPolicyAssignment(args) = quicksight("GET", "/accounts/{AwsAccountId}/namespaces/{Namespace}/iam-policy-assignments/{AssignmentName}", args) + +""" + UpdateDashboardPermissions() + +Updates read and write permissions on a dashboard. + +Required Parameters +{ + "DashboardId": "The ID for the dashboard.", + "AwsAccountId": "The ID of the AWS account that contains the dashboard whose permissions you're updating." +} + +Optional Parameters +{ + "RevokePermissions": "The permissions that you want to revoke from this resource.", + "GrantPermissions": "The permissions that you want to grant on this resource." +} +""" +UpdateDashboardPermissions(args) = quicksight("PUT", "/accounts/{AwsAccountId}/dashboards/{DashboardId}/permissions", args) + +""" + CreateTemplateAlias() + +Creates a template alias for a template. + +Required Parameters +{ + "TemplateId": "An ID for the template.", + "AwsAccountId": "The ID of the AWS account that contains the template that you creating an alias for.", + "AliasName": "The name that you want to give to the template alias that you're creating. Don't start the alias name with the character. Alias names that start with are reserved by QuickSight. ", + "TemplateVersionNumber": "The version number of the template." +} +""" +CreateTemplateAlias(args) = quicksight("POST", "/accounts/{AwsAccountId}/templates/{TemplateId}/aliases/{AliasName}", args) + +""" + DescribeDataSourcePermissions() + +Describes the resource permissions for a data source. + +Required Parameters +{ + "DataSourceId": "The ID of the data source. This ID is unique per AWS Region for each AWS account.", + "AwsAccountId": "The AWS account ID." +} +""" +DescribeDataSourcePermissions(args) = quicksight("GET", "/accounts/{AwsAccountId}/data-sources/{DataSourceId}/permissions", args) + +""" + ListIAMPolicyAssignments() + +Lists IAM policy assignments in the current Amazon QuickSight account. + +Required Parameters +{ + "AwsAccountId": "The ID of the AWS account that contains these IAM policy assignments.", + "Namespace": "The namespace for the assignments." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of results to be returned per request.", + "AssignmentStatus": "The status of the assignments.", + "NextToken": "The token for the next set of results, or null if there are no more results." +} +""" +ListIAMPolicyAssignments(args) = quicksight("GET", "/accounts/{AwsAccountId}/namespaces/{Namespace}/iam-policy-assignments", args) + +""" + DescribeDataSetPermissions() + +Describes the permissions on a dataset. The permissions resource is arn:aws:quicksight:region:aws-account-id:dataset/data-set-id. + +Required Parameters +{ + "DataSetId": "The ID for the dataset that you want to create. This ID is unique per AWS Region for each AWS account.", + "AwsAccountId": "The AWS account ID." +} +""" +DescribeDataSetPermissions(args) = quicksight("GET", "/accounts/{AwsAccountId}/data-sets/{DataSetId}/permissions", args) + +""" + DescribeTemplateAlias() + +Describes the template alias for a template. + +Required Parameters +{ + "TemplateId": "The ID for the template.", + "AwsAccountId": "The ID of the AWS account that contains the template alias that you're describing.", + "AliasName": "The name of the template alias that you want to describe. If you name a specific alias, you describe the version that the alias points to. You can specify the latest version of the template by providing the keyword LATEST in the AliasName parameter. The keyword PUBLISHED doesn't apply to templates." +} +""" +DescribeTemplateAlias(args) = quicksight("GET", "/accounts/{AwsAccountId}/templates/{TemplateId}/aliases/{AliasName}", args) + +""" + DescribeDataSource() + +Describes a data source. + +Required Parameters +{ + "DataSourceId": "The ID of the data source. This ID is unique per AWS Region for each AWS account.", + "AwsAccountId": "The AWS account ID." +} +""" +DescribeDataSource(args) = quicksight("GET", "/accounts/{AwsAccountId}/data-sources/{DataSourceId}", args) + +""" + ListDashboardVersions() + +Lists all the versions of the dashboards in the QuickSight subscription. + +Required Parameters +{ + "DashboardId": "The ID for the dashboard.", + "AwsAccountId": "The ID of the AWS account that contains the dashboard that you're listing versions for." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of results to be returned per request.", + "NextToken": "The token for the next set of results, or null if there are no more results." +} +""" +ListDashboardVersions(args) = quicksight("GET", "/accounts/{AwsAccountId}/dashboards/{DashboardId}/versions", args) + +""" + DescribeGroup() + +Returns an Amazon QuickSight group's description and Amazon Resource Name (ARN). + +Required Parameters +{ + "AwsAccountId": "The ID for the AWS account that the group is in. Currently, you use the ID for the AWS account that contains your Amazon QuickSight account.", + "GroupName": "The name of the group that you want to describe.", + "Namespace": "The namespace. Currently, you should set this to default." +} +""" +DescribeGroup(args) = quicksight("GET", "/accounts/{AwsAccountId}/namespaces/{Namespace}/groups/{GroupName}", args) + +""" + ListDashboards() + +Lists dashboards in an AWS account. + +Required Parameters +{ + "AwsAccountId": "The ID of the AWS account that contains the dashboards that you're listing." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of results to be returned per request.", + "NextToken": "The token for the next set of results, or null if there are no more results." +} +""" +ListDashboards(args) = quicksight("GET", "/accounts/{AwsAccountId}/dashboards", args) + +""" + CancelIngestion() + +Cancels an ongoing ingestion of data into SPICE. + +Required Parameters +{ + "DataSetId": "The ID of the dataset used in the ingestion.", + "IngestionId": "An ID for the ingestion.", + "AwsAccountId": "The AWS account ID." +} +""" +CancelIngestion(args) = quicksight("DELETE", "/accounts/{AwsAccountId}/data-sets/{DataSetId}/ingestions/{IngestionId}", args) + +""" + UpdateTemplatePermissions() + +Updates the resource permissions for a template. + +Required Parameters +{ + "TemplateId": "The ID for the template.", + "AwsAccountId": "The ID of the AWS account that contains the template." +} + +Optional Parameters +{ + "RevokePermissions": "A list of resource permissions to be revoked from the template. ", + "GrantPermissions": "A list of resource permissions to be granted on the template. " +} +""" +UpdateTemplatePermissions(args) = quicksight("PUT", "/accounts/{AwsAccountId}/templates/{TemplateId}/permissions", args) + +""" + UpdateGroup() + +Changes a group description. + +Required Parameters +{ + "AwsAccountId": "The ID for the AWS account that the group is in. Currently, you use the ID for the AWS account that contains your Amazon QuickSight account.", + "GroupName": "The name of the group that you want to update.", + "Namespace": "The namespace. Currently, you should set this to default." +} + +Optional Parameters +{ + "Description": "The description for the group that you want to update." +} +""" +UpdateGroup(args) = quicksight("PUT", "/accounts/{AwsAccountId}/namespaces/{Namespace}/groups/{GroupName}", args) diff --git a/src/services/ram.jl b/src/services/ram.jl new file mode 100644 index 0000000000..3b4d02579d --- /dev/null +++ b/src/services/ram.jl @@ -0,0 +1,406 @@ +include("../AWSServices.jl") +using .AWSServices: ram + +""" + GetResourceShareAssociations() + +Gets the resources or principals for the resource shares that you own. + +Required Parameters +{ + "associationType": "The association type. Specify PRINCIPAL to list the principals that are associated with the specified resource share. Specify RESOURCE to list the resources that are associated with the specified resource share." +} + +Optional Parameters +{ + "associationStatus": "The association status.", + "resourceShareArns": "The Amazon Resource Names (ARN) of the resource shares.", + "resourceArn": "The Amazon Resource Name (ARN) of the resource. You cannot specify this parameter if the association type is PRINCIPAL.", + "maxResults": "The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.", + "nextToken": "The token for the next page of results.", + "principal": "The principal. You cannot specify this parameter if the association type is RESOURCE." +} +""" +GetResourceShareAssociations(args) = ram("POST", "/getresourceshareassociations", args) + +""" + EnableSharingWithAwsOrganization() + +Enables resource sharing within your AWS Organization. The caller must be the master account for the AWS Organization. +""" +EnableSharingWithAwsOrganization() = ram("POST", "/enablesharingwithawsorganization") +EnableSharingWithAwsOrganization(args) = ram("POST", "/enablesharingwithawsorganization", args) + +""" + GetPermission() + +Gets the contents of an AWS RAM permission in JSON format. + +Required Parameters +{ + "permissionArn": "The ARN of the permission." +} + +Optional Parameters +{ + "permissionVersion": "The identifier for the version of the permission." +} +""" +GetPermission(args) = ram("POST", "/getpermission", args) + +""" + ListPrincipals() + +Lists the principals that you have shared resources with or that have shared resources with you. + +Required Parameters +{ + "resourceOwner": "The type of owner." +} + +Optional Parameters +{ + "resourceArn": "The Amazon Resource Name (ARN) of the resource.", + "resourceShareArns": "The Amazon Resource Names (ARN) of the resource shares.", + "principals": "The principals.", + "resourceType": "The resource type. Valid values: ec2:CapacityReservation | ec2:Subnet | ec2:TrafficMirrorTarget | ec2:TransitGateway | license-manager:LicenseConfiguration | rds:Cluster | route53resolver:ResolverRule I resource-groups:Group ", + "maxResults": "The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.", + "nextToken": "The token for the next page of results." +} +""" +ListPrincipals(args) = ram("POST", "/listprincipals", args) + +""" + GetResourceShareInvitations() + +Gets the invitations for resource sharing that you've received. + +Optional Parameters +{ + "resourceShareArns": "The Amazon Resource Names (ARN) of the resource shares.", + "maxResults": "The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.", + "resourceShareInvitationArns": "The Amazon Resource Names (ARN) of the invitations.", + "nextToken": "The token for the next page of results." +} +""" +GetResourceShareInvitations() = ram("POST", "/getresourceshareinvitations") +GetResourceShareInvitations(args) = ram("POST", "/getresourceshareinvitations", args) + +""" + UpdateResourceShare() + +Updates the specified resource share that you own. + +Required Parameters +{ + "resourceShareArn": "The Amazon Resource Name (ARN) of the resource share." +} + +Optional Parameters +{ + "name": "The name of the resource share.", + "allowExternalPrincipals": "Indicates whether principals outside your AWS organization can be associated with a resource share.", + "clientToken": "A unique, case-sensitive identifier that you provide to ensure the idempotency of the request." +} +""" +UpdateResourceShare(args) = ram("POST", "/updateresourceshare", args) + +""" + ListPermissions() + +Lists the AWS RAM permissions. + +Optional Parameters +{ + "resourceType": "Specifies the resource type for which to list permissions. For example, to list only permissions that apply to EC2 subnets, specify ec2:Subnet.", + "maxResults": "The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.", + "nextToken": "The token for the next page of results." +} +""" +ListPermissions() = ram("POST", "/listpermissions") +ListPermissions(args) = ram("POST", "/listpermissions", args) + +""" + PromoteResourceShareCreatedFromPolicy() + +Resource shares that were created by attaching a policy to a resource are visible only to the resource share owner, and the resource share cannot be modified in AWS RAM. Use this API action to promote the resource share. When you promote the resource share, it becomes: Visible to all principals that it is shared with. Modifiable in AWS RAM. + +Required Parameters +{ + "resourceShareArn": "The ARN of the resource share to promote." +} +""" +PromoteResourceShareCreatedFromPolicy(args) = ram("POST", "/promoteresourcesharecreatedfrompolicy", args) + +""" + ListResourceSharePermissions() + +Lists the AWS RAM permissions that are associated with a resource share. + +Required Parameters +{ + "resourceShareArn": "The Amazon Resource Name (ARN) of the resource share." +} + +Optional Parameters +{ + "maxResults": "The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.", + "nextToken": "The token for the next page of results." +} +""" +ListResourceSharePermissions(args) = ram("POST", "/listresourcesharepermissions", args) + +""" + GetResourcePolicies() + +Gets the policies for the specified resources that you own and have shared. + +Required Parameters +{ + "resourceArns": "The Amazon Resource Names (ARN) of the resources." +} + +Optional Parameters +{ + "maxResults": "The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.", + "nextToken": "The token for the next page of results.", + "principal": "The principal." +} +""" +GetResourcePolicies(args) = ram("POST", "/getresourcepolicies", args) + +""" + ListPendingInvitationResources() + +Lists the resources in a resource share that is shared with you but that the invitation is still pending for. + +Required Parameters +{ + "resourceShareInvitationArn": "The Amazon Resource Name (ARN) of the invitation." +} + +Optional Parameters +{ + "maxResults": "The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.", + "nextToken": "The token for the next page of results." +} +""" +ListPendingInvitationResources(args) = ram("POST", "/listpendinginvitationresources", args) + +""" + DisassociateResourceSharePermission() + +Disassociates an AWS RAM permission from a resource share. + +Required Parameters +{ + "permissionArn": "The ARN of the permission to disassociate from the resource share.", + "resourceShareArn": "The Amazon Resource Name (ARN) of the resource share." +} + +Optional Parameters +{ + "clientToken": "A unique, case-sensitive identifier that you provide to ensure the idempotency of the request." +} +""" +DisassociateResourceSharePermission(args) = ram("POST", "/disassociateresourcesharepermission", args) + +""" + CreateResourceShare() + +Creates a resource share. + +Required Parameters +{ + "name": "The name of the resource share." +} + +Optional Parameters +{ + "allowExternalPrincipals": "Indicates whether principals outside your AWS organization can be associated with a resource share.", + "principals": "The principals to associate with the resource share. The possible values are IDs of AWS accounts, the ARN of an OU or organization from AWS Organizations.", + "clientToken": "A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.", + "resourceArns": "The Amazon Resource Names (ARN) of the resources to associate with the resource share.", + "tags": "One or more tags.", + "permissionArns": "The ARNs of the permissions to associate with the resource share. If you do not specify an ARN for the permission, AWS RAM automatically attaches the default version of the permission for each resource type." +} +""" +CreateResourceShare(args) = ram("POST", "/createresourceshare", args) + +""" + DisassociateResourceShare() + +Disassociates the specified principals or resources from the specified resource share. + +Required Parameters +{ + "resourceShareArn": "The Amazon Resource Name (ARN) of the resource share." +} + +Optional Parameters +{ + "principals": "The principals.", + "clientToken": "A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.", + "resourceArns": "The Amazon Resource Names (ARNs) of the resources." +} +""" +DisassociateResourceShare(args) = ram("POST", "/disassociateresourceshare", args) + +""" + DeleteResourceShare() + +Deletes the specified resource share. + +Required Parameters +{ + "resourceShareArn": "The Amazon Resource Name (ARN) of the resource share." +} + +Optional Parameters +{ + "clientToken": "A unique, case-sensitive identifier that you provide to ensure the idempotency of the request." +} +""" +DeleteResourceShare(args) = ram("DELETE", "/deleteresourceshare", args) + +""" + TagResource() + +Adds the specified tags to the specified resource share that you own. + +Required Parameters +{ + "resourceShareArn": "The Amazon Resource Name (ARN) of the resource share.", + "tags": "One or more tags." +} +""" +TagResource(args) = ram("POST", "/tagresource", args) + +""" + UntagResource() + +Removes the specified tags from the specified resource share that you own. + +Required Parameters +{ + "resourceShareArn": "The Amazon Resource Name (ARN) of the resource share.", + "tagKeys": "The tag keys of the tags to remove." +} +""" +UntagResource(args) = ram("POST", "/untagresource", args) + +""" + AssociateResourceShare() + +Associates the specified resource share with the specified principals and resources. + +Required Parameters +{ + "resourceShareArn": "The Amazon Resource Name (ARN) of the resource share." +} + +Optional Parameters +{ + "principals": "The principals.", + "clientToken": "A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.", + "resourceArns": "The Amazon Resource Names (ARN) of the resources." +} +""" +AssociateResourceShare(args) = ram("POST", "/associateresourceshare", args) + +""" + GetResourceShares() + +Gets the resource shares that you own or the resource shares that are shared with you. + +Required Parameters +{ + "resourceOwner": "The type of owner." +} + +Optional Parameters +{ + "resourceShareStatus": "The status of the resource share.", + "name": "The name of the resource share.", + "tagFilters": "One or more tag filters.", + "resourceShareArns": "The Amazon Resource Names (ARN) of the resource shares.", + "maxResults": "The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.", + "nextToken": "The token for the next page of results." +} +""" +GetResourceShares(args) = ram("POST", "/getresourceshares", args) + +""" + AssociateResourceSharePermission() + +Associates a permission with a resource share. + +Required Parameters +{ + "permissionArn": "The ARN of the AWS RAM permission to associate with the resource share.", + "resourceShareArn": "The Amazon Resource Name (ARN) of the resource share." +} + +Optional Parameters +{ + "replace": "Indicates whether the permission should replace the permissions that are currently associated with the resource share. Use true to replace the current permissions. Use false to add the permission to the current permission.", + "clientToken": "A unique, case-sensitive identifier that you provide to ensure the idempotency of the request." +} +""" +AssociateResourceSharePermission(args) = ram("POST", "/associateresourcesharepermission", args) + +""" + AcceptResourceShareInvitation() + +Accepts an invitation to a resource share from another AWS account. + +Required Parameters +{ + "resourceShareInvitationArn": "The Amazon Resource Name (ARN) of the invitation." +} + +Optional Parameters +{ + "clientToken": "A unique, case-sensitive identifier that you provide to ensure the idempotency of the request." +} +""" +AcceptResourceShareInvitation(args) = ram("POST", "/acceptresourceshareinvitation", args) + +""" + RejectResourceShareInvitation() + +Rejects an invitation to a resource share from another AWS account. + +Required Parameters +{ + "resourceShareInvitationArn": "The Amazon Resource Name (ARN) of the invitation." +} + +Optional Parameters +{ + "clientToken": "A unique, case-sensitive identifier that you provide to ensure the idempotency of the request." +} +""" +RejectResourceShareInvitation(args) = ram("POST", "/rejectresourceshareinvitation", args) + +""" + ListResources() + +Lists the resources that you added to a resource shares or the resources that are shared with you. + +Required Parameters +{ + "resourceOwner": "The type of owner." +} + +Optional Parameters +{ + "resourceShareArns": "The Amazon Resource Names (ARN) of the resource shares.", + "resourceType": "The resource type. Valid values: ec2:CapacityReservation | ec2:Subnet | ec2:TrafficMirrorTarget | ec2:TransitGateway | license-manager:LicenseConfiguration | rds:Cluster | route53resolver:ResolverRule | resource-groups:Group ", + "resourceArns": "The Amazon Resource Names (ARN) of the resources.", + "maxResults": "The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.", + "nextToken": "The token for the next page of results.", + "principal": "The principal." +} +""" +ListResources(args) = ram("POST", "/listresources", args) diff --git a/src/services/rds.jl b/src/services/rds.jl new file mode 100644 index 0000000000..37e72d20fc --- /dev/null +++ b/src/services/rds.jl @@ -0,0 +1,2526 @@ +include("../AWSServices.jl") +using .AWSServices: rds + +""" + RestoreDBInstanceFromS3() + +Amazon Relational Database Service (Amazon RDS) supports importing MySQL databases by using backup files. You can create a backup of your on-premises database, store it on Amazon Simple Storage Service (Amazon S3), and then restore the backup file onto a new Amazon RDS DB instance running MySQL. For more information, see Importing Data into an Amazon RDS MySQL DB Instance in the Amazon RDS User Guide. + +Required Parameters +{ + "DBInstanceIdentifier": "The DB instance identifier. This parameter is stored as a lowercase string. Constraints: Must contain from 1 to 63 letters, numbers, or hyphens. First character must be a letter. Can't end with a hyphen or contain two consecutive hyphens. Example: mydbinstance ", + "SourceEngine": "The name of the engine of your source database. Valid Values: mysql ", + "S3BucketName": "The name of your Amazon S3 bucket that contains your database backup file. ", + "Engine": "The name of the database engine to be used for this instance. Valid Values: mysql ", + "SourceEngineVersion": "The engine version of your source database. Valid Values: 5.6 ", + "S3IngestionRoleArn": "An AWS Identity and Access Management (IAM) role to allow Amazon RDS to access your Amazon S3 bucket. ", + "DBInstanceClass": "The compute and memory capacity of the DB instance, for example, db.m4.large. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes, and availability for your engine, see DB Instance Class in the Amazon RDS User Guide. Importing from Amazon S3 isn't supported on the db.t2.micro DB instance class. " +} + +Optional Parameters +{ + "PubliclyAccessible": "A value that indicates whether the DB instance is publicly accessible. When the DB instance is publicly accessible, it is an Internet-facing instance with a publicly resolvable DNS name, which resolves to a public IP address. When the DB instance isn't publicly accessible, it is an internal instance with a DNS name that resolves to a private IP address. For more information, see CreateDBInstance.", + "PerformanceInsightsKMSKeyId": "The AWS KMS key identifier for encryption of Performance Insights data. The KMS key ID is the Amazon Resource Name (ARN), the KMS key identifier, or the KMS key alias for the KMS encryption key. If you do not specify a value for PerformanceInsightsKMSKeyId, then Amazon RDS uses your default encryption key. AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS Region.", + "UseDefaultProcessorFeatures": "A value that indicates whether the DB instance class of the DB instance uses its default processor features.", + "OptionGroupName": "The name of the option group to associate with this DB instance. If this argument is omitted, the default option group for the specified engine is used. ", + "PreferredMaintenanceWindow": "The time range each week during which system maintenance can occur, in Universal Coordinated Time (UTC). For more information, see Amazon RDS Maintenance Window in the Amazon RDS User Guide. Constraints: Must be in the format ddd:hh24:mi-ddd:hh24:mi. Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun. Must be in Universal Coordinated Time (UTC). Must not conflict with the preferred backup window. Must be at least 30 minutes. ", + "AutoMinorVersionUpgrade": "A value that indicates whether minor engine upgrades are applied automatically to the DB instance during the maintenance window. By default, minor engine upgrades are not applied automatically. ", + "BackupRetentionPeriod": "The number of days for which automated backups are retained. Setting this parameter to a positive number enables backups. For more information, see CreateDBInstance. ", + "MonitoringInterval": "The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance. To disable collecting Enhanced Monitoring metrics, specify 0. If MonitoringRoleArn is specified, then you must also set MonitoringInterval to a value other than 0. Valid Values: 0, 1, 5, 10, 15, 30, 60 Default: 0 ", + "AllocatedStorage": "The amount of storage (in gigabytes) to allocate initially for the DB instance. Follow the allocation rules specified in CreateDBInstance. Be sure to allocate enough memory for your new DB instance so that the restore operation can succeed. You can also allocate additional memory for future growth. ", + "DBSubnetGroupName": "A DB subnet group to associate with this DB instance.", + "StorageEncrypted": "A value that indicates whether the new DB instance is encrypted or not. ", + "DBSecurityGroups": "A list of DB security groups to associate with this DB instance. Default: The default DB security group for the database engine.", + "Tags": "A list of tags to associate with this DB instance. For more information, see Tagging Amazon RDS Resources in the Amazon RDS User Guide. ", + "CopyTagsToSnapshot": "A value that indicates whether to copy all tags from the DB instance to snapshots of the DB instance. By default, tags are not copied. ", + "EnableIAMDatabaseAuthentication": "A value that indicates whether to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts. By default, mapping is disabled. For information about the supported DB engines, see CreateDBInstance. For more information about IAM database authentication, see IAM Database Authentication for MySQL and PostgreSQL in the Amazon RDS User Guide. ", + "DBParameterGroupName": "The name of the DB parameter group to associate with this DB instance. If you do not specify a value for DBParameterGroupName, then the default DBParameterGroup for the specified DB engine is used.", + "MasterUsername": "The name for the master user. Constraints: Must be 1 to 16 letters or numbers. First character must be a letter. Can't be a reserved word for the chosen database engine. ", + "PreferredBackupWindow": "The time range each day during which automated backups are created if automated backups are enabled. For more information, see The Backup Window in the Amazon RDS User Guide. Constraints: Must be in the format hh24:mi-hh24:mi. Must be in Universal Coordinated Time (UTC). Must not conflict with the preferred maintenance window. Must be at least 30 minutes. ", + "PerformanceInsightsRetentionPeriod": "The amount of time, in days, to retain Performance Insights data. Valid values are 7 or 731 (2 years). ", + "EngineVersion": "The version number of the database engine to use. Choose the latest minor version of your database engine. For information about engine versions, see CreateDBInstance, or call DescribeDBEngineVersions. ", + "ProcessorFeatures": "The number of CPU cores and the number of threads per core for the DB instance class of the DB instance.", + "LicenseModel": "The license model for this DB instance. Use general-public-license. ", + "Iops": "The amount of Provisioned IOPS (input/output operations per second) to allocate initially for the DB instance. For information about valid Iops values, see Amazon RDS Provisioned IOPS Storage to Improve Performance in the Amazon RDS User Guide. ", + "S3Prefix": "The prefix of your Amazon S3 bucket. ", + "MasterUserPassword": "The password for the master user. The password can include any printable ASCII character except \"/\", \"\"\", or \"@\". Constraints: Must contain from 8 to 41 characters.", + "Port": "The port number on which the database accepts connections. Type: Integer Valid Values: 1150-65535 Default: 3306 ", + "MonitoringRoleArn": "The ARN for the IAM role that permits RDS to send enhanced monitoring metrics to Amazon CloudWatch Logs. For example, arn:aws:iam:123456789012:role/emaccess. For information on creating a monitoring role, see Setting Up and Enabling Enhanced Monitoring in the Amazon RDS User Guide. If MonitoringInterval is set to a value other than 0, then you must supply a MonitoringRoleArn value. ", + "EnableCloudwatchLogsExports": "The list of logs that the restored DB instance is to export to CloudWatch Logs. The values in the list depend on the DB engine being used. For more information, see Publishing Database Logs to Amazon CloudWatch Logs in the Amazon RDS User Guide.", + "AvailabilityZone": "The Availability Zone that the DB instance is created in. For information about AWS Regions and Availability Zones, see Regions and Availability Zones in the Amazon RDS User Guide. Default: A random, system-chosen Availability Zone in the endpoint's AWS Region. Example: us-east-1d Constraint: The AvailabilityZone parameter can't be specified if the DB instance is a Multi-AZ deployment. The specified Availability Zone must be in the same AWS Region as the current endpoint. ", + "DeletionProtection": "A value that indicates whether the DB instance has deletion protection enabled. The database can't be deleted when deletion protection is enabled. By default, deletion protection is disabled. For more information, see Deleting a DB Instance. ", + "VpcSecurityGroupIds": "A list of VPC security groups to associate with this DB instance. ", + "StorageType": "Specifies the storage type to be associated with the DB instance. Valid values: standard | gp2 | io1 If you specify io1, you must also include a value for the Iops parameter. Default: io1 if the Iops parameter is specified; otherwise gp2 ", + "EnablePerformanceInsights": "A value that indicates whether to enable Performance Insights for the DB instance. For more information, see Using Amazon Performance Insights in the Amazon Relational Database Service User Guide. ", + "KmsKeyId": "The AWS KMS key identifier for an encrypted DB instance. The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are creating a DB instance with the same AWS account that owns the KMS encryption key used to encrypt the new DB instance, then you can use the KMS key alias instead of the ARN for the KM encryption key. If the StorageEncrypted parameter is enabled, and you do not specify a value for the KmsKeyId parameter, then Amazon RDS will use your default encryption key. AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS Region. ", + "DBName": "The name of the database to create when the DB instance is created. Follow the naming rules specified in CreateDBInstance. ", + "MultiAZ": "A value that indicates whether the DB instance is a Multi-AZ deployment. If the DB instance is a Multi-AZ deployment, you can't set the AvailabilityZone parameter. " +} +""" +RestoreDBInstanceFromS3(args) = rds("RestoreDBInstanceFromS3", args) + +""" + ModifyDBClusterEndpoint() + +Modifies the properties of an endpoint in an Amazon Aurora DB cluster. This action only applies to Aurora DB clusters. + +Required Parameters +{ + "DBClusterEndpointIdentifier": "The identifier of the endpoint to modify. This parameter is stored as a lowercase string." +} + +Optional Parameters +{ + "StaticMembers": "List of DB instance identifiers that are part of the custom endpoint group.", + "EndpointType": "The type of the endpoint. One of: READER, WRITER, ANY.", + "ExcludedMembers": "List of DB instance identifiers that aren't part of the custom endpoint group. All other eligible instances are reachable through the custom endpoint. Only relevant if the list of static members is empty." +} +""" +ModifyDBClusterEndpoint(args) = rds("ModifyDBClusterEndpoint", args) + +""" + DescribeOptionGroupOptions() + +Describes all available options. + +Required Parameters +{ + "EngineName": "A required parameter. Options available for the given engine name are described." +} + +Optional Parameters +{ + "MaxRecords": " The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that you can retrieve the remaining results. Default: 100 Constraints: Minimum 20, maximum 100.", + "Marker": "An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.", + "MajorEngineVersion": "If specified, filters the results to include only options for the specified major engine version.", + "Filters": "This parameter isn't currently supported." +} +""" +DescribeOptionGroupOptions(args) = rds("DescribeOptionGroupOptions", args) + +""" + DescribeDBEngineVersions() + +Returns a list of the available DB engines. + +Optional Parameters +{ + "DBParameterGroupFamily": "The name of a specific DB parameter group family to return details for. Constraints: If supplied, must match an existing DBParameterGroupFamily. ", + "MaxRecords": " The maximum number of records to include in the response. If more than the MaxRecords value is available, a pagination token called a marker is included in the response so you can retrieve the remaining results. Default: 100 Constraints: Minimum 20, maximum 100.", + "Marker": " An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords. ", + "ListSupportedTimezones": "A value that indicates whether to list the supported time zones for each engine version. If this parameter is enabled and the requested engine supports the TimeZone parameter for CreateDBInstance, the response includes a list of supported time zones for each engine version. ", + "EngineVersion": "The database engine version to return. Example: 5.1.49 ", + "Engine": "The database engine to return.", + "Filters": "This parameter isn't currently supported.", + "IncludeAll": "A value that indicates whether to include engine versions that aren't available in the list. The default is to list only available engine versions.", + "ListSupportedCharacterSets": "A value that indicates whether to list the supported character sets for each engine version. If this parameter is enabled and the requested engine supports the CharacterSetName parameter for CreateDBInstance, the response includes a list of supported character sets for each engine version. ", + "DefaultOnly": "A value that indicates whether only the default version of the specified engine or engine and major version combination is returned." +} +""" +DescribeDBEngineVersions() = rds("DescribeDBEngineVersions") +DescribeDBEngineVersions(args) = rds("DescribeDBEngineVersions", args) + +""" + CreateCustomAvailabilityZone() + +Creates a custom Availability Zone (AZ). A custom AZ is an on-premises AZ that is integrated with a VMware vSphere cluster. For more information about RDS on VMware, see the RDS on VMware User Guide. + +Required Parameters +{ + "CustomAvailabilityZoneName": "The name of the custom Availability Zone (AZ)." +} + +Optional Parameters +{ + "ExistingVpnId": "The ID of an existing virtual private network (VPN) between the Amazon RDS website and the VMware vSphere cluster.", + "VpnTunnelOriginatorIP": "The IP address of network traffic from your on-premises data center. A custom AZ receives the network traffic. Specify this parameter only if ExistingVpnId isn't specified.", + "NewVpnTunnelName": "The name of a new VPN tunnel between the Amazon RDS website and the VMware vSphere cluster. Specify this parameter only if ExistingVpnId isn't specified." +} +""" +CreateCustomAvailabilityZone(args) = rds("CreateCustomAvailabilityZone", args) + +""" + DescribeDBInstances() + +Returns information about provisioned RDS instances. This API supports pagination. This operation can also return information for Amazon Neptune DB instances and Amazon DocumentDB instances. + +Optional Parameters +{ + "DBInstanceIdentifier": "The user-supplied instance identifier. If this parameter is specified, information from only the specific DB instance is returned. This parameter isn't case-sensitive. Constraints: If supplied, must match the identifier of an existing DBInstance. ", + "MaxRecords": " The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that you can retrieve the remaining results. Default: 100 Constraints: Minimum 20, maximum 100.", + "Marker": " An optional pagination token provided by a previous DescribeDBInstances request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords. ", + "Filters": "A filter that specifies one or more DB instances to describe. Supported filters: db-cluster-id - Accepts DB cluster identifiers and DB cluster Amazon Resource Names (ARNs). The results list will only include information about the DB instances associated with the DB clusters identified by these ARNs. db-instance-id - Accepts DB instance identifiers and DB instance Amazon Resource Names (ARNs). The results list will only include information about the DB instances identified by these ARNs. dbi-resource-id - Accepts DB instance resource identifiers. The results list will only include information about the DB instances identified by these DB instance resource identifiers. domain - Accepts Active Directory directory IDs. The results list will only include information about the DB instances associated with these domains. engine - Accepts engine names. The results list will only include information about the DB instances for these engines. " +} +""" +DescribeDBInstances() = rds("DescribeDBInstances") +DescribeDBInstances(args) = rds("DescribeDBInstances", args) + +""" + DescribeDBProxies() + + This is prerelease documentation for the RDS Database Proxy feature in preview release. It is subject to change. Returns information about DB proxies. + +Optional Parameters +{ + "Marker": " An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords. ", + "MaxRecords": "The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved. Default: 100 Constraints: Minimum 20, maximum 100.", + "DBProxyName": "The name of the DB proxy.", + "Filters": "This parameter is not currently supported." +} +""" +DescribeDBProxies() = rds("DescribeDBProxies") +DescribeDBProxies(args) = rds("DescribeDBProxies", args) + +""" + DescribeValidDBInstanceModifications() + +You can call DescribeValidDBInstanceModifications to learn what modifications you can make to your DB instance. You can use this information when you call ModifyDBInstance. + +Required Parameters +{ + "DBInstanceIdentifier": "The customer identifier or the ARN of your DB instance. " +} +""" +DescribeValidDBInstanceModifications(args) = rds("DescribeValidDBInstanceModifications", args) + +""" + DeleteGlobalCluster() + + Deletes a global database cluster. The primary and secondary clusters must already be detached or destroyed first. This action only applies to Aurora DB clusters. + +Required Parameters +{ + "GlobalClusterIdentifier": " The cluster identifier of the global database cluster being deleted. " +} +""" +DeleteGlobalCluster(args) = rds("DeleteGlobalCluster", args) + +""" + FailoverDBCluster() + +Forces a failover for a DB cluster. A failover for a DB cluster promotes one of the Aurora Replicas (read-only instances) in the DB cluster to be the primary instance (the cluster writer). Amazon Aurora will automatically fail over to an Aurora Replica, if one exists, when the primary instance fails. You can force a failover when you want to simulate a failure of a primary instance for testing. Because each instance in a DB cluster has its own endpoint address, you will need to clean up and re-establish any existing connections that use those endpoint addresses when the failover is complete. For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide. This action only applies to Aurora DB clusters. + +Required Parameters +{ + "DBClusterIdentifier": "A DB cluster identifier to force a failover for. This parameter isn't case-sensitive. Constraints: Must match the identifier of an existing DBCluster. " +} + +Optional Parameters +{ + "TargetDBInstanceIdentifier": "The name of the instance to promote to the primary instance. You must specify the instance identifier for an Aurora Replica in the DB cluster. For example, mydbcluster-replica1." +} +""" +FailoverDBCluster(args) = rds("FailoverDBCluster", args) + +""" + StopDBCluster() + + Stops an Amazon Aurora DB cluster. When you stop a DB cluster, Aurora retains the DB cluster's metadata, including its endpoints and DB parameter groups. Aurora also retains the transaction logs so you can do a point-in-time restore if necessary. For more information, see Stopping and Starting an Aurora Cluster in the Amazon Aurora User Guide. This action only applies to Aurora DB clusters. + +Required Parameters +{ + "DBClusterIdentifier": "The DB cluster identifier of the Amazon Aurora DB cluster to be stopped. This parameter is stored as a lowercase string." +} +""" +StopDBCluster(args) = rds("StopDBCluster", args) + +""" + CreateDBSnapshot() + +Creates a DBSnapshot. The source DBInstance must be in "available" state. + +Required Parameters +{ + "DBInstanceIdentifier": "The identifier of the DB instance that you want to create the snapshot of. Constraints: Must match the identifier of an existing DBInstance. ", + "DBSnapshotIdentifier": "The identifier for the DB snapshot. Constraints: Can't be null, empty, or blank Must contain from 1 to 255 letters, numbers, or hyphens First character must be a letter Can't end with a hyphen or contain two consecutive hyphens Example: my-snapshot-id " +} + +Optional Parameters +{ + "Tags": "" +} +""" +CreateDBSnapshot(args) = rds("CreateDBSnapshot", args) + +""" + CreateOptionGroup() + +Creates a new option group. You can create up to 20 option groups. + +Required Parameters +{ + "EngineName": "Specifies the name of the engine that this option group should be associated with.", + "OptionGroupName": "Specifies the name of the option group to be created. Constraints: Must be 1 to 255 letters, numbers, or hyphens First character must be a letter Can't end with a hyphen or contain two consecutive hyphens Example: myoptiongroup ", + "MajorEngineVersion": "Specifies the major version of the engine that this option group should be associated with.", + "OptionGroupDescription": "The description of the option group." +} + +Optional Parameters +{ + "Tags": "Tags to assign to the option group." +} +""" +CreateOptionGroup(args) = rds("CreateOptionGroup", args) + +""" + AddRoleToDBCluster() + +Associates an Identity and Access Management (IAM) role from an Amazon Aurora DB cluster. For more information, see Authorizing Amazon Aurora MySQL to Access Other AWS Services on Your Behalf in the Amazon Aurora User Guide. This action only applies to Aurora DB clusters. + +Required Parameters +{ + "DBClusterIdentifier": "The name of the DB cluster to associate the IAM role with.", + "RoleArn": "The Amazon Resource Name (ARN) of the IAM role to associate with the Aurora DB cluster, for example arn:aws:iam::123456789012:role/AuroraAccessRole." +} + +Optional Parameters +{ + "FeatureName": "The name of the feature for the DB cluster that the IAM role is to be associated with. For the list of supported feature names, see DBEngineVersion." +} +""" +AddRoleToDBCluster(args) = rds("AddRoleToDBCluster", args) + +""" + ModifyDBSnapshotAttribute() + +Adds an attribute and values to, or removes an attribute and values from, a manual DB snapshot. To share a manual DB snapshot with other AWS accounts, specify restore as the AttributeName and use the ValuesToAdd parameter to add a list of IDs of the AWS accounts that are authorized to restore the manual DB snapshot. Uses the value all to make the manual DB snapshot public, which means it can be copied or restored by all AWS accounts. Do not add the all value for any manual DB snapshots that contain private information that you don't want available to all AWS accounts. If the manual DB snapshot is encrypted, it can be shared, but only by specifying a list of authorized AWS account IDs for the ValuesToAdd parameter. You can't use all as a value for that parameter in this case. To view which AWS accounts have access to copy or restore a manual DB snapshot, or whether a manual DB snapshot public or private, use the DescribeDBSnapshotAttributes API action. + +Required Parameters +{ + "AttributeName": "The name of the DB snapshot attribute to modify. To manage authorization for other AWS accounts to copy or restore a manual DB snapshot, set this value to restore.", + "DBSnapshotIdentifier": "The identifier for the DB snapshot to modify the attributes for." +} + +Optional Parameters +{ + "ValuesToAdd": "A list of DB snapshot attributes to add to the attribute specified by AttributeName. To authorize other AWS accounts to copy or restore a manual snapshot, set this list to include one or more AWS account IDs, or all to make the manual DB snapshot restorable by any AWS account. Do not add the all value for any manual DB snapshots that contain private information that you don't want available to all AWS accounts.", + "ValuesToRemove": "A list of DB snapshot attributes to remove from the attribute specified by AttributeName. To remove authorization for other AWS accounts to copy or restore a manual snapshot, set this list to include one or more AWS account identifiers, or all to remove authorization for any AWS account to copy or restore the DB snapshot. If you specify all, an AWS account whose account ID is explicitly added to the restore attribute can still copy or restore the manual DB snapshot." +} +""" +ModifyDBSnapshotAttribute(args) = rds("ModifyDBSnapshotAttribute", args) + +""" + RestoreDBInstanceToPointInTime() + +Restores a DB instance to an arbitrary point in time. You can restore to any point in time before the time identified by the LatestRestorableTime property. You can restore to a point up to the number of days specified by the BackupRetentionPeriod property. The target database is created with most of the original configuration, but in a system-selected Availability Zone, with the default security group, the default subnet group, and the default DB parameter group. By default, the new DB instance is created as a single-AZ deployment except when the instance is a SQL Server instance that has an option group that is associated with mirroring; in this case, the instance becomes a mirrored deployment and not a single-AZ deployment. This command doesn't apply to Aurora MySQL and Aurora PostgreSQL. For Aurora, use RestoreDBClusterToPointInTime. + +Required Parameters +{ + "TargetDBInstanceIdentifier": "The name of the new DB instance to be created. Constraints: Must contain from 1 to 63 letters, numbers, or hyphens First character must be a letter Can't end with a hyphen or contain two consecutive hyphens " +} + +Optional Parameters +{ + "UseLatestRestorableTime": " A value that indicates whether the DB instance is restored from the latest backup time. By default, the DB instance isn't restored from the latest backup time. Constraints: Can't be specified if the RestoreTime parameter is provided.", + "PubliclyAccessible": "A value that indicates whether the DB instance is publicly accessible. When the DB instance is publicly accessible, it is an Internet-facing instance with a publicly resolvable DNS name, which resolves to a public IP address. When the DB instance isn't publicly accessible, it is an internal instance with a DNS name that resolves to a private IP address. For more information, see CreateDBInstance.", + "UseDefaultProcessorFeatures": "A value that indicates whether the DB instance class of the DB instance uses its default processor features.", + "OptionGroupName": "The name of the option group to be used for the restored DB instance. Permanent options, such as the TDE option for Oracle Advanced Security TDE, can't be removed from an option group, and that option group can't be removed from a DB instance once it is associated with a DB instance", + "AutoMinorVersionUpgrade": "A value that indicates whether minor version upgrades are applied automatically to the DB instance during the maintenance window.", + "SourceDBInstanceIdentifier": "The identifier of the source DB instance from which to restore. Constraints: Must match the identifier of an existing DB instance. ", + "DBSubnetGroupName": "The DB subnet group name to use for the new instance. Constraints: If supplied, must match the name of an existing DBSubnetGroup. Example: mySubnetgroup ", + "Tags": "", + "TdeCredentialArn": "The ARN from the key store with which to associate the instance for TDE encryption.", + "CopyTagsToSnapshot": "A value that indicates whether to copy all tags from the restored DB instance to snapshots of the DB instance. By default, tags are not copied.", + "EnableIAMDatabaseAuthentication": "A value that indicates whether to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts. By default, mapping is disabled. For information about the supported DB engines, see CreateDBInstance. For more information about IAM database authentication, see IAM Database Authentication for MySQL and PostgreSQL in the Amazon RDS User Guide. ", + "Engine": "The database engine to use for the new instance. Default: The same as source Constraint: Must be compatible with the engine of the source Valid Values: mariadb mysql oracle-ee oracle-se2 oracle-se1 oracle-se postgres sqlserver-ee sqlserver-se sqlserver-ex sqlserver-web ", + "Domain": "Specify the Active Directory directory ID to restore the DB instance in. The domain must be created prior to this operation. Currently, only Microsoft SQL Server and Oracle DB instances can be created in an Active Directory Domain. For Microsoft SQL Server DB instances, Amazon RDS can use Windows Authentication to authenticate users that connect to the DB instance. For more information, see Using Windows Authentication with an Amazon RDS DB Instance Running Microsoft SQL Server in the Amazon RDS User Guide. For Oracle DB instances, Amazon RDS can use Kerberos Authentication to authenticate users that connect to the DB instance. For more information, see Using Kerberos Authentication with Amazon RDS for Oracle in the Amazon RDS User Guide.", + "DBParameterGroupName": "The name of the DB parameter group to associate with this DB instance. If you do not specify a value for DBParameterGroupName, then the default DBParameterGroup for the specified DB engine is used. Constraints: If supplied, must match the name of an existing DBParameterGroup. Must be 1 to 255 letters, numbers, or hyphens. First character must be a letter. Can't end with a hyphen or contain two consecutive hyphens. ", + "SourceDbiResourceId": "The resource ID of the source DB instance from which to restore.", + "DomainIAMRoleName": "Specify the name of the IAM role to be used when making API calls to the Directory Service.", + "TdeCredentialPassword": "The password for the given ARN from the key store in order to access the device.", + "ProcessorFeatures": "The number of CPU cores and the number of threads per core for the DB instance class of the DB instance.", + "LicenseModel": "License model information for the restored DB instance. Default: Same as source. Valid values: license-included | bring-your-own-license | general-public-license ", + "RestoreTime": "The date and time to restore from. Valid Values: Value must be a time in Universal Coordinated Time (UTC) format Constraints: Must be before the latest restorable time for the DB instance Can't be specified if the UseLatestRestorableTime parameter is enabled Example: 2009-09-07T23:45:00Z ", + "DBInstanceClass": "The compute and memory capacity of the Amazon RDS DB instance, for example, db.m4.large. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes, and availability for your engine, see DB Instance Class in the Amazon RDS User Guide. Default: The same DBInstanceClass as the original DB instance.", + "Port": "The port number on which the database accepts connections. Constraints: Value must be 1150-65535 Default: The same port as the original DB instance.", + "Iops": "The amount of Provisioned IOPS (input/output operations per second) to be initially allocated for the DB instance. Constraints: Must be an integer greater than 1000. SQL Server Setting the IOPS value for the SQL Server database engine isn't supported.", + "EnableCloudwatchLogsExports": "The list of logs that the restored DB instance is to export to CloudWatch Logs. The values in the list depend on the DB engine being used. For more information, see Publishing Database Logs to Amazon CloudWatch Logs in the Amazon RDS User Guide.", + "AvailabilityZone": "The Availability Zone (AZ) where the DB instance will be created. Default: A random, system-chosen Availability Zone. Constraint: You can't specify the AvailabilityZone parameter if the DB instance is a Multi-AZ deployment. Example: us-east-1a ", + "DeletionProtection": "A value that indicates whether the DB instance has deletion protection enabled. The database can't be deleted when deletion protection is enabled. By default, deletion protection is disabled. For more information, see Deleting a DB Instance. ", + "DBName": "The database name for the restored DB instance. This parameter isn't used for the MySQL or MariaDB engines. ", + "StorageType": "Specifies the storage type to be associated with the DB instance. Valid values: standard | gp2 | io1 If you specify io1, you must also include a value for the Iops parameter. Default: io1 if the Iops parameter is specified, otherwise gp2 ", + "VpcSecurityGroupIds": " A list of EC2 VPC security groups to associate with this DB instance. Default: The default EC2 VPC security group for the DB subnet group's VPC. ", + "MultiAZ": "A value that indicates whether the DB instance is a Multi-AZ deployment. Constraint: You can't specify the AvailabilityZone parameter if the DB instance is a Multi-AZ deployment." +} +""" +RestoreDBInstanceToPointInTime(args) = rds("RestoreDBInstanceToPointInTime", args) + +""" + StopActivityStream() + +Stops a database activity stream that was started using the AWS console, the start-activity-stream AWS CLI command, or the StartActivityStream action. For more information, see Database Activity Streams in the Amazon Aurora User Guide. + +Required Parameters +{ + "ResourceArn": "The Amazon Resource Name (ARN) of the DB cluster for the database activity stream. For example, arn:aws:rds:us-east-1:12345667890:cluster:das-cluster. " +} + +Optional Parameters +{ + "ApplyImmediately": "Specifies whether or not the database activity stream is to stop as soon as possible, regardless of the maintenance window for the database." +} +""" +StopActivityStream(args) = rds("StopActivityStream", args) + +""" + DescribeInstallationMedia() + +Describes the available installation media for a DB engine that requires an on-premises customer provided license, such as Microsoft SQL Server. + +Optional Parameters +{ + "MaxRecords": "An optional pagination token provided by a previous DescribeInstallationMedia request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.", + "Marker": "An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.", + "InstallationMediaId": "The installation medium ID.", + "Filters": "A filter that specifies one or more installation media to describe. Supported filters include the following: custom-availability-zone-id - Accepts custom Availability Zone (AZ) identifiers. The results list includes information about only the custom AZs identified by these identifiers. engine - Accepts database engines. The results list includes information about only the database engines identified by these identifiers. For more information about the valid engines for installation media, see ImportInstallationMedia. " +} +""" +DescribeInstallationMedia() = rds("DescribeInstallationMedia") +DescribeInstallationMedia(args) = rds("DescribeInstallationMedia", args) + +""" + RemoveRoleFromDBCluster() + +Disassociates an AWS Identity and Access Management (IAM) role from an Amazon Aurora DB cluster. For more information, see Authorizing Amazon Aurora MySQL to Access Other AWS Services on Your Behalf in the Amazon Aurora User Guide. This action only applies to Aurora DB clusters. + +Required Parameters +{ + "DBClusterIdentifier": "The name of the DB cluster to disassociate the IAM role from.", + "RoleArn": "The Amazon Resource Name (ARN) of the IAM role to disassociate from the Aurora DB cluster, for example arn:aws:iam::123456789012:role/AuroraAccessRole." +} + +Optional Parameters +{ + "FeatureName": "The name of the feature for the DB cluster that the IAM role is to be disassociated from. For the list of supported feature names, see DBEngineVersion." +} +""" +RemoveRoleFromDBCluster(args) = rds("RemoveRoleFromDBCluster", args) + +""" + BacktrackDBCluster() + +Backtracks a DB cluster to a specific time, without creating a new DB cluster. For more information on backtracking, see Backtracking an Aurora DB Cluster in the Amazon Aurora User Guide. This action only applies to Aurora DB clusters. + +Required Parameters +{ + "DBClusterIdentifier": "The DB cluster identifier of the DB cluster to be backtracked. This parameter is stored as a lowercase string. Constraints: Must contain from 1 to 63 alphanumeric characters or hyphens. First character must be a letter. Can't end with a hyphen or contain two consecutive hyphens. Example: my-cluster1 ", + "BacktrackTo": "The timestamp of the time to backtrack the DB cluster to, specified in ISO 8601 format. For more information about ISO 8601, see the ISO8601 Wikipedia page. If the specified time isn't a consistent time for the DB cluster, Aurora automatically chooses the nearest possible consistent time for the DB cluster. Constraints: Must contain a valid ISO 8601 timestamp. Can't contain a timestamp set in the future. Example: 2017-07-08T18:00Z " +} + +Optional Parameters +{ + "Force": "A value that indicates whether to force the DB cluster to backtrack when binary logging is enabled. Otherwise, an error occurs when binary logging is enabled.", + "UseEarliestTimeOnPointInTimeUnavailable": "A value that indicates whether to backtrack the DB cluster to the earliest possible backtrack time when BacktrackTo is set to a timestamp earlier than the earliest backtrack time. When this parameter is disabled and BacktrackTo is set to a timestamp earlier than the earliest backtrack time, an error occurs." +} +""" +BacktrackDBCluster(args) = rds("BacktrackDBCluster", args) + +""" + PromoteReadReplica() + +Promotes a Read Replica DB instance to a standalone DB instance. Backup duration is a function of the amount of changes to the database since the previous backup. If you plan to promote a Read Replica to a standalone instance, we recommend that you enable backups and complete at least one backup prior to promotion. In addition, a Read Replica cannot be promoted to a standalone instance when it is in the backing-up status. If you have enabled backups on your Read Replica, configure the automated backup window so that daily backups do not interfere with Read Replica promotion. This command doesn't apply to Aurora MySQL and Aurora PostgreSQL. + +Required Parameters +{ + "DBInstanceIdentifier": "The DB instance identifier. This value is stored as a lowercase string. Constraints: Must match the identifier of an existing Read Replica DB instance. Example: mydbinstance " +} + +Optional Parameters +{ + "PreferredBackupWindow": " The daily time range during which automated backups are created if automated backups are enabled, using the BackupRetentionPeriod parameter. The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region. To see the time blocks available, see Adjusting the Preferred Maintenance Window in the Amazon RDS User Guide. Constraints: Must be in the format hh24:mi-hh24:mi. Must be in Universal Coordinated Time (UTC). Must not conflict with the preferred maintenance window. Must be at least 30 minutes. ", + "BackupRetentionPeriod": "The number of days for which automated backups are retained. Setting this parameter to a positive number enables backups. Setting this parameter to 0 disables automated backups. Default: 1 Constraints: Must be a value from 0 to 35. Can't be set to 0 if the DB instance is a source to Read Replicas. " +} +""" +PromoteReadReplica(args) = rds("PromoteReadReplica", args) + +""" + DescribeEventCategories() + +Displays a list of categories for all event source types, or, if specified, for a specified source type. You can see a list of the event categories and source types in the Events topic in the Amazon RDS User Guide. + +Optional Parameters +{ + "SourceType": "The type of source that is generating the events. Valid values: db-instance | db-parameter-group | db-security-group | db-snapshot", + "Filters": "This parameter isn't currently supported." +} +""" +DescribeEventCategories() = rds("DescribeEventCategories") +DescribeEventCategories(args) = rds("DescribeEventCategories", args) + +""" + ModifyDBSnapshot() + +Updates a manual DB snapshot, which can be encrypted or not encrypted, with a new engine version. Amazon RDS supports upgrading DB snapshots for MySQL, Oracle, and PostgreSQL. + +Required Parameters +{ + "DBSnapshotIdentifier": "The identifier of the DB snapshot to modify." +} + +Optional Parameters +{ + "EngineVersion": "The engine version to upgrade the DB snapshot to. The following are the database engines and engine versions that are available when you upgrade a DB snapshot. MySQL 5.5.46 (supported for 5.1 DB snapshots) Oracle 12.1.0.2.v8 (supported for 12.1.0.1 DB snapshots) 11.2.0.4.v12 (supported for 11.2.0.2 DB snapshots) 11.2.0.4.v11 (supported for 11.2.0.3 DB snapshots) PostgreSQL For the list of engine versions that are available for upgrading a DB snapshot, see Upgrading the PostgreSQL DB Engine for Amazon RDS. ", + "OptionGroupName": "The option group to identify with the upgraded DB snapshot. You can specify this parameter when you upgrade an Oracle DB snapshot. The same option group considerations apply when upgrading a DB snapshot as when upgrading a DB instance. For more information, see Option Group Considerations in the Amazon RDS User Guide. " +} +""" +ModifyDBSnapshot(args) = rds("ModifyDBSnapshot", args) + +""" + DeleteDBClusterEndpoint() + +Deletes a custom endpoint and removes it from an Amazon Aurora DB cluster. This action only applies to Aurora DB clusters. + +Required Parameters +{ + "DBClusterEndpointIdentifier": "The identifier associated with the custom endpoint. This parameter is stored as a lowercase string." +} +""" +DeleteDBClusterEndpoint(args) = rds("DeleteDBClusterEndpoint", args) + +""" + CreateDBClusterEndpoint() + +Creates a new custom endpoint and associates it with an Amazon Aurora DB cluster. This action only applies to Aurora DB clusters. + +Required Parameters +{ + "EndpointType": "The type of the endpoint. One of: READER, WRITER, ANY.", + "DBClusterIdentifier": "The DB cluster identifier of the DB cluster associated with the endpoint. This parameter is stored as a lowercase string.", + "DBClusterEndpointIdentifier": "The identifier to use for the new endpoint. This parameter is stored as a lowercase string." +} + +Optional Parameters +{ + "StaticMembers": "List of DB instance identifiers that are part of the custom endpoint group.", + "Tags": "The tags to be assigned to the Amazon RDS resource.", + "ExcludedMembers": "List of DB instance identifiers that aren't part of the custom endpoint group. All other eligible instances are reachable through the custom endpoint. Only relevant if the list of static members is empty." +} +""" +CreateDBClusterEndpoint(args) = rds("CreateDBClusterEndpoint", args) + +""" + DeleteDBClusterSnapshot() + +Deletes a DB cluster snapshot. If the snapshot is being copied, the copy operation is terminated. The DB cluster snapshot must be in the available state to be deleted. For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide. This action only applies to Aurora DB clusters. + +Required Parameters +{ + "DBClusterSnapshotIdentifier": "The identifier of the DB cluster snapshot to delete. Constraints: Must be the name of an existing DB cluster snapshot in the available state." +} +""" +DeleteDBClusterSnapshot(args) = rds("DeleteDBClusterSnapshot", args) + +""" + DeleteOptionGroup() + +Deletes an existing option group. + +Required Parameters +{ + "OptionGroupName": "The name of the option group to be deleted. You can't delete default option groups. " +} +""" +DeleteOptionGroup(args) = rds("DeleteOptionGroup", args) + +""" + RestoreDBClusterFromSnapshot() + +Creates a new DB cluster from a DB snapshot or DB cluster snapshot. If a DB snapshot is specified, the target DB cluster is created from the source DB snapshot with a default configuration and default security group. If a DB cluster snapshot is specified, the target DB cluster is created from the source DB cluster restore point with the same configuration as the original source DB cluster. If you don't specify a security group, the new DB cluster is associated with the default security group. For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide. This action only applies to Aurora DB clusters. + +Required Parameters +{ + "DBClusterIdentifier": "The name of the DB cluster to create from the DB snapshot or DB cluster snapshot. This parameter isn't case-sensitive. Constraints: Must contain from 1 to 63 letters, numbers, or hyphens First character must be a letter Can't end with a hyphen or contain two consecutive hyphens Example: my-snapshot-id ", + "Engine": "The database engine to use for the new DB cluster. Default: The same as source Constraint: Must be compatible with the engine of the source", + "SnapshotIdentifier": "The identifier for the DB snapshot or DB cluster snapshot to restore from. You can use either the name or the Amazon Resource Name (ARN) to specify a DB cluster snapshot. However, you can use only the ARN to specify a DB snapshot. Constraints: Must match the identifier of an existing Snapshot. " +} + +Optional Parameters +{ + "DatabaseName": "The database name for the restored DB cluster.", + "OptionGroupName": "The name of the option group to use for the restored DB cluster.", + "AvailabilityZones": "Provides the list of Availability Zones (AZs) where instances in the restored DB cluster can be created.", + "DBSubnetGroupName": "The name of the DB subnet group to use for the new DB cluster. Constraints: If supplied, must match the name of an existing DB subnet group. Example: mySubnetgroup ", + "Tags": "The tags to be assigned to the restored DB cluster.", + "BacktrackWindow": "The target backtrack window, in seconds. To disable backtracking, set this value to 0. Default: 0 Constraints: If specified, this value must be set to a number from 0 to 259,200 (72 hours). ", + "EnableIAMDatabaseAuthentication": "A value that indicates whether to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts. By default, mapping is disabled. For more information, see IAM Database Authentication in the Amazon Aurora User Guide. ", + "CopyTagsToSnapshot": "A value that indicates whether to copy all tags from the restored DB cluster to snapshots of the restored DB cluster. The default is not to copy them.", + "Domain": "Specify the Active Directory directory ID to restore the DB cluster in. The domain must be created prior to this operation. ", + "DomainIAMRoleName": "Specify the name of the IAM role to be used when making API calls to the Directory Service.", + "EngineVersion": "The version of the database engine to use for the new DB cluster. To list all of the available engine versions for aurora (for MySQL 5.6-compatible Aurora), use the following command: aws rds describe-db-engine-versions --engine aurora --query \"DBEngineVersions[].EngineVersion\" To list all of the available engine versions for aurora-mysql (for MySQL 5.7-compatible Aurora), use the following command: aws rds describe-db-engine-versions --engine aurora-mysql --query \"DBEngineVersions[].EngineVersion\" To list all of the available engine versions for aurora-postgresql, use the following command: aws rds describe-db-engine-versions --engine aurora-postgresql --query \"DBEngineVersions[].EngineVersion\" If you aren't using the default engine version, then you must specify the engine version. Aurora MySQL Example: 5.6.10a, 5.6.mysql_aurora.1.19.2, 5.7.12, 5.7.mysql_aurora.2.04.5 Aurora PostgreSQL Example: 9.6.3, 10.7 ", + "ScalingConfiguration": "For DB clusters in serverless DB engine mode, the scaling properties of the DB cluster.", + "EngineMode": "The DB engine mode of the DB cluster, either provisioned, serverless, parallelquery, global, or multimaster.", + "DBClusterParameterGroupName": "The name of the DB cluster parameter group to associate with this DB cluster. If this argument is omitted, the default DB cluster parameter group for the specified engine is used. Constraints: If supplied, must match the name of an existing default DB cluster parameter group. Must be 1 to 255 letters, numbers, or hyphens. First character must be a letter. Can't end with a hyphen or contain two consecutive hyphens. ", + "Port": "The port number on which the new DB cluster accepts connections. Constraints: This value must be 1150-65535 Default: The same port as the original DB cluster.", + "EnableCloudwatchLogsExports": "The list of logs that the restored DB cluster is to export to Amazon CloudWatch Logs. The values in the list depend on the DB engine being used. For more information, see Publishing Database Logs to Amazon CloudWatch Logs in the Amazon Aurora User Guide.", + "DeletionProtection": "A value that indicates whether the DB cluster has deletion protection enabled. The database can't be deleted when deletion protection is enabled. By default, deletion protection is disabled. ", + "VpcSecurityGroupIds": "A list of VPC security groups that the new DB cluster will belong to.", + "KmsKeyId": "The AWS KMS key identifier to use when restoring an encrypted DB cluster from a DB snapshot or DB cluster snapshot. The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are restoring a DB cluster with the same AWS account that owns the KMS encryption key used to encrypt the new DB cluster, then you can use the KMS key alias instead of the ARN for the KMS encryption key. If you don't specify a value for the KmsKeyId parameter, then the following occurs: If the DB snapshot or DB cluster snapshot in SnapshotIdentifier is encrypted, then the restored DB cluster is encrypted using the KMS key that was used to encrypt the DB snapshot or DB cluster snapshot. If the DB snapshot or DB cluster snapshot in SnapshotIdentifier isn't encrypted, then the restored DB cluster isn't encrypted. " +} +""" +RestoreDBClusterFromSnapshot(args) = rds("RestoreDBClusterFromSnapshot", args) + +""" + DeleteDBCluster() + +The DeleteDBCluster action deletes a previously provisioned DB cluster. When you delete a DB cluster, all automated backups for that DB cluster are deleted and can't be recovered. Manual DB cluster snapshots of the specified DB cluster are not deleted. For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide. This action only applies to Aurora DB clusters. + +Required Parameters +{ + "DBClusterIdentifier": "The DB cluster identifier for the DB cluster to be deleted. This parameter isn't case-sensitive. Constraints: Must match an existing DBClusterIdentifier. " +} + +Optional Parameters +{ + "SkipFinalSnapshot": "A value that indicates whether to skip the creation of a final DB cluster snapshot before the DB cluster is deleted. If skip is specified, no DB cluster snapshot is created. If skip isn't specified, a DB cluster snapshot is created before the DB cluster is deleted. By default, skip isn't specified, and the DB cluster snapshot is created. By default, this parameter is disabled. You must specify a FinalDBSnapshotIdentifier parameter if SkipFinalSnapshot is disabled. ", + "FinalDBSnapshotIdentifier": " The DB cluster snapshot identifier of the new DB cluster snapshot created when SkipFinalSnapshot is disabled. Specifying this parameter and also skipping the creation of a final DB cluster snapshot with the SkipFinalShapshot parameter results in an error. Constraints: Must be 1 to 255 letters, numbers, or hyphens. First character must be a letter Can't end with a hyphen or contain two consecutive hyphens " +} +""" +DeleteDBCluster(args) = rds("DeleteDBCluster", args) + +""" + RestoreDBInstanceFromDBSnapshot() + +Creates a new DB instance from a DB snapshot. The target database is created from the source database restore point with the most of original configuration with the default security group and the default DB parameter group. By default, the new DB instance is created as a single-AZ deployment except when the instance is a SQL Server instance that has an option group that is associated with mirroring; in this case, the instance becomes a mirrored AZ deployment and not a single-AZ deployment. If your intent is to replace your original DB instance with the new, restored DB instance, then rename your original DB instance before you call the RestoreDBInstanceFromDBSnapshot action. RDS doesn't allow two DB instances with the same name. Once you have renamed your original DB instance with a different identifier, then you can pass the original name of the DB instance as the DBInstanceIdentifier in the call to the RestoreDBInstanceFromDBSnapshot action. The result is that you will replace the original DB instance with the DB instance created from the snapshot. If you are restoring from a shared manual DB snapshot, the DBSnapshotIdentifier must be the ARN of the shared DB snapshot. This command doesn't apply to Aurora MySQL and Aurora PostgreSQL. For Aurora, use RestoreDBClusterFromSnapshot. + +Required Parameters +{ + "DBInstanceIdentifier": "Name of the DB instance to create from the DB snapshot. This parameter isn't case-sensitive. Constraints: Must contain from 1 to 63 numbers, letters, or hyphens First character must be a letter Can't end with a hyphen or contain two consecutive hyphens Example: my-snapshot-id ", + "DBSnapshotIdentifier": "The identifier for the DB snapshot to restore from. Constraints: Must match the identifier of an existing DBSnapshot. If you are restoring from a shared manual DB snapshot, the DBSnapshotIdentifier must be the ARN of the shared DB snapshot. " +} + +Optional Parameters +{ + "PubliclyAccessible": "A value that indicates whether the DB instance is publicly accessible. When the DB instance is publicly accessible, it is an Internet-facing instance with a publicly resolvable DNS name, which resolves to a public IP address. When the DB instance isn't publicly accessible, it is an internal instance with a DNS name that resolves to a private IP address. For more information, see CreateDBInstance.", + "UseDefaultProcessorFeatures": "A value that indicates whether the DB instance class of the DB instance uses its default processor features.", + "OptionGroupName": "The name of the option group to be used for the restored DB instance. Permanent options, such as the TDE option for Oracle Advanced Security TDE, can't be removed from an option group, and that option group can't be removed from a DB instance once it is associated with a DB instance", + "AutoMinorVersionUpgrade": "A value that indicates whether minor version upgrades are applied automatically to the DB instance during the maintenance window.", + "DBSubnetGroupName": "The DB subnet group name to use for the new instance. Constraints: If supplied, must match the name of an existing DBSubnetGroup. Example: mySubnetgroup ", + "Tags": "", + "TdeCredentialArn": "The ARN from the key store with which to associate the instance for TDE encryption.", + "CopyTagsToSnapshot": "A value that indicates whether to copy all tags from the restored DB instance to snapshots of the DB instance. By default, tags are not copied.", + "EnableIAMDatabaseAuthentication": "A value that indicates whether to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts. By default, mapping is disabled. For information about the supported DB engines, see CreateDBInstance. For more information about IAM database authentication, see IAM Database Authentication for MySQL and PostgreSQL in the Amazon RDS User Guide. ", + "Engine": "The database engine to use for the new instance. Default: The same as source Constraint: Must be compatible with the engine of the source. For example, you can restore a MariaDB 10.1 DB instance from a MySQL 5.6 snapshot. Valid Values: mariadb mysql oracle-ee oracle-se2 oracle-se1 oracle-se postgres sqlserver-ee sqlserver-se sqlserver-ex sqlserver-web ", + "Domain": "Specify the Active Directory directory ID to restore the DB instance in. The domain must be created prior to this operation. Currently, only Microsoft SQL Server and Oracle DB instances can be created in an Active Directory Domain. For Microsoft SQL Server DB instances, Amazon RDS can use Windows Authentication to authenticate users that connect to the DB instance. For more information, see Using Windows Authentication with an Amazon RDS DB Instance Running Microsoft SQL Server in the Amazon RDS User Guide. For Oracle DB instances, Amazon RDS can use Kerberos Authentication to authenticate users that connect to the DB instance. For more information, see Using Kerberos Authentication with Amazon RDS for Oracle in the Amazon RDS User Guide.", + "DBParameterGroupName": "The name of the DB parameter group to associate with this DB instance. If you do not specify a value for DBParameterGroupName, then the default DBParameterGroup for the specified DB engine is used. Constraints: If supplied, must match the name of an existing DBParameterGroup. Must be 1 to 255 letters, numbers, or hyphens. First character must be a letter. Can't end with a hyphen or contain two consecutive hyphens. ", + "DomainIAMRoleName": "Specify the name of the IAM role to be used when making API calls to the Directory Service.", + "TdeCredentialPassword": "The password for the given ARN from the key store in order to access the device.", + "ProcessorFeatures": "The number of CPU cores and the number of threads per core for the DB instance class of the DB instance.", + "LicenseModel": "License model information for the restored DB instance. Default: Same as source. Valid values: license-included | bring-your-own-license | general-public-license ", + "Iops": "Specifies the amount of provisioned IOPS for the DB instance, expressed in I/O operations per second. If this parameter isn't specified, the IOPS value is taken from the backup. If this parameter is set to 0, the new instance is converted to a non-PIOPS instance. The conversion takes additional time, though your DB instance is available for connections before the conversion starts. The provisioned IOPS value must follow the requirements for your database engine. For more information, see Amazon RDS Provisioned IOPS Storage to Improve Performance in the Amazon RDS User Guide. Constraints: Must be an integer greater than 1000.", + "DBInstanceClass": "The compute and memory capacity of the Amazon RDS DB instance, for example, db.m4.large. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes, and availability for your engine, see DB Instance Class in the Amazon RDS User Guide. Default: The same DBInstanceClass as the original DB instance.", + "Port": "The port number on which the database accepts connections. Default: The same port as the original DB instance Constraints: Value must be 1150-65535 ", + "EnableCloudwatchLogsExports": "The list of logs that the restored DB instance is to export to CloudWatch Logs. The values in the list depend on the DB engine being used. For more information, see Publishing Database Logs to Amazon CloudWatch Logs in the Amazon Aurora User Guide.", + "AvailabilityZone": "The Availability Zone (AZ) where the DB instance will be created. Default: A random, system-chosen Availability Zone. Constraint: You can't specify the AvailabilityZone parameter if the DB instance is a Multi-AZ deployment. Example: us-east-1a ", + "DeletionProtection": "A value that indicates whether the DB instance has deletion protection enabled. The database can't be deleted when deletion protection is enabled. By default, deletion protection is disabled. For more information, see Deleting a DB Instance. ", + "DBName": "The database name for the restored DB instance. This parameter doesn't apply to the MySQL, PostgreSQL, or MariaDB engines. ", + "StorageType": "Specifies the storage type to be associated with the DB instance. Valid values: standard | gp2 | io1 If you specify io1, you must also include a value for the Iops parameter. Default: io1 if the Iops parameter is specified, otherwise gp2 ", + "VpcSecurityGroupIds": " A list of EC2 VPC security groups to associate with this DB instance. Default: The default EC2 VPC security group for the DB subnet group's VPC. ", + "MultiAZ": "A value that indicates whether the DB instance is a Multi-AZ deployment. Constraint: You can't specify the AvailabilityZone parameter if the DB instance is a Multi-AZ deployment." +} +""" +RestoreDBInstanceFromDBSnapshot(args) = rds("RestoreDBInstanceFromDBSnapshot", args) + +""" + CopyDBClusterParameterGroup() + +Copies the specified DB cluster parameter group. This action only applies to Aurora DB clusters. + +Required Parameters +{ + "SourceDBClusterParameterGroupIdentifier": "The identifier or Amazon Resource Name (ARN) for the source DB cluster parameter group. For information about creating an ARN, see Constructing an ARN for Amazon RDS in the Amazon Aurora User Guide. Constraints: Must specify a valid DB cluster parameter group. If the source DB cluster parameter group is in the same AWS Region as the copy, specify a valid DB parameter group identifier, for example my-db-cluster-param-group, or a valid ARN. If the source DB parameter group is in a different AWS Region than the copy, specify a valid DB cluster parameter group ARN, for example arn:aws:rds:us-east-1:123456789012:cluster-pg:custom-cluster-group1. ", + "TargetDBClusterParameterGroupDescription": "A description for the copied DB cluster parameter group.", + "TargetDBClusterParameterGroupIdentifier": "The identifier for the copied DB cluster parameter group. Constraints: Can't be null, empty, or blank Must contain from 1 to 255 letters, numbers, or hyphens First character must be a letter Can't end with a hyphen or contain two consecutive hyphens Example: my-cluster-param-group1 " +} + +Optional Parameters +{ + "Tags": "" +} +""" +CopyDBClusterParameterGroup(args) = rds("CopyDBClusterParameterGroup", args) + +""" + DeleteEventSubscription() + +Deletes an RDS event notification subscription. + +Required Parameters +{ + "SubscriptionName": "The name of the RDS event notification subscription you want to delete." +} +""" +DeleteEventSubscription(args) = rds("DeleteEventSubscription", args) + +""" + CreateGlobalCluster() + + Creates an Aurora global database spread across multiple regions. The global database contains a single primary cluster with read-write capability, and a read-only secondary cluster that receives data from the primary cluster through high-speed replication performed by the Aurora storage subsystem. You can create a global database that is initially empty, and then add a primary cluster and a secondary cluster to it. Or you can specify an existing Aurora cluster during the create operation, and this cluster becomes the primary cluster of the global database. This action only applies to Aurora DB clusters. + +Optional Parameters +{ + "DatabaseName": " The name for your database of up to 64 alpha-numeric characters. If you do not provide a name, Amazon Aurora will not create a database in the global database cluster you are creating. ", + "StorageEncrypted": " The storage encryption setting for the new global database cluster. ", + "DeletionProtection": " The deletion protection setting for the new global database. The global database can't be deleted when deletion protection is enabled. ", + "EngineVersion": "The engine version of the Aurora global database.", + "Engine": "Provides the name of the database engine to be used for this DB cluster.", + "SourceDBClusterIdentifier": " The Amazon Resource Name (ARN) to use as the primary cluster of the global database. This parameter is optional. ", + "GlobalClusterIdentifier": "The cluster identifier of the new global database cluster." +} +""" +CreateGlobalCluster() = rds("CreateGlobalCluster") +CreateGlobalCluster(args) = rds("CreateGlobalCluster", args) + +""" + ResetDBParameterGroup() + +Modifies the parameters of a DB parameter group to the engine/system default value. To reset specific parameters, provide a list of the following: ParameterName and ApplyMethod. To reset the entire DB parameter group, specify the DBParameterGroup name and ResetAllParameters parameters. When resetting the entire group, dynamic parameters are updated immediately and static parameters are set to pending-reboot to take effect on the next DB instance restart or RebootDBInstance request. + +Required Parameters +{ + "DBParameterGroupName": "The name of the DB parameter group. Constraints: Must match the name of an existing DBParameterGroup. " +} + +Optional Parameters +{ + "Parameters": "To reset the entire DB parameter group, specify the DBParameterGroup name and ResetAllParameters parameters. To reset specific parameters, provide a list of the following: ParameterName and ApplyMethod. A maximum of 20 parameters can be modified in a single request. MySQL Valid Values (for Apply method): immediate | pending-reboot You can use the immediate value with dynamic parameters only. You can use the pending-reboot value for both dynamic and static parameters, and changes are applied when DB instance reboots. MariaDB Valid Values (for Apply method): immediate | pending-reboot You can use the immediate value with dynamic parameters only. You can use the pending-reboot value for both dynamic and static parameters, and changes are applied when DB instance reboots. Oracle Valid Values (for Apply method): pending-reboot ", + "ResetAllParameters": " A value that indicates whether to reset all parameters in the DB parameter group to default values. By default, all parameters in the DB parameter group are reset to default values. " +} +""" +ResetDBParameterGroup(args) = rds("ResetDBParameterGroup", args) + +""" + RemoveRoleFromDBInstance() + +Disassociates an AWS Identity and Access Management (IAM) role from a DB instance. + +Required Parameters +{ + "DBInstanceIdentifier": "The name of the DB instance to disassociate the IAM role from.", + "RoleArn": "The Amazon Resource Name (ARN) of the IAM role to disassociate from the DB instance, for example arn:aws:iam::123456789012:role/AccessRole.", + "FeatureName": "The name of the feature for the DB instance that the IAM role is to be disassociated from. For the list of supported feature names, see DBEngineVersion. " +} +""" +RemoveRoleFromDBInstance(args) = rds("RemoveRoleFromDBInstance", args) + +""" + ModifyEventSubscription() + +Modifies an existing RDS event notification subscription. You can't modify the source identifiers using this call. To change source identifiers for a subscription, use the AddSourceIdentifierToSubscription and RemoveSourceIdentifierFromSubscription calls. You can see a list of the event categories for a given SourceType in the Events topic in the Amazon RDS User Guide or by using the DescribeEventCategories action. + +Required Parameters +{ + "SubscriptionName": "The name of the RDS event notification subscription." +} + +Optional Parameters +{ + "SourceType": "The type of source that is generating the events. For example, if you want to be notified of events generated by a DB instance, you would set this parameter to db-instance. If this value isn't specified, all events are returned. Valid values: db-instance | db-parameter-group | db-security-group | db-snapshot", + "SnsTopicArn": "The Amazon Resource Name (ARN) of the SNS topic created for event notification. The ARN is created by Amazon SNS when you create a topic and subscribe to it.", + "EventCategories": " A list of event categories for a SourceType that you want to subscribe to. You can see a list of the categories for a given SourceType in the Events topic in the Amazon RDS User Guide or by using the DescribeEventCategories action. ", + "Enabled": " A value that indicates whether to activate the subscription. " +} +""" +ModifyEventSubscription(args) = rds("ModifyEventSubscription", args) + +""" + DeleteDBClusterParameterGroup() + +Deletes a specified DB cluster parameter group. The DB cluster parameter group to be deleted can't be associated with any DB clusters. For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide. This action only applies to Aurora DB clusters. + +Required Parameters +{ + "DBClusterParameterGroupName": "The name of the DB cluster parameter group. Constraints: Must be the name of an existing DB cluster parameter group. You can't delete a default DB cluster parameter group. Can't be associated with any DB clusters. " +} +""" +DeleteDBClusterParameterGroup(args) = rds("DeleteDBClusterParameterGroup", args) + +""" + DescribeOrderableDBInstanceOptions() + +Returns a list of orderable DB instance options for the specified engine. + +Required Parameters +{ + "Engine": "The name of the engine to retrieve DB instance options for." +} + +Optional Parameters +{ + "MaxRecords": " The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that you can retrieve the remaining results. Default: 100 Constraints: Minimum 20, maximum 100.", + "Marker": " An optional pagination token provided by a previous DescribeOrderableDBInstanceOptions request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords . ", + "EngineVersion": "The engine version filter value. Specify this parameter to show only the available offerings matching the specified engine version.", + "LicenseModel": "The license model filter value. Specify this parameter to show only the available offerings matching the specified license model.", + "Vpc": "A value that indicates whether to show only VPC or non-VPC offerings.", + "DBInstanceClass": "The DB instance class filter value. Specify this parameter to show only the available offerings matching the specified DB instance class.", + "Filters": "This parameter isn't currently supported." +} +""" +DescribeOrderableDBInstanceOptions(args) = rds("DescribeOrderableDBInstanceOptions", args) + +""" + DescribeDBClusterParameters() + +Returns the detailed parameter list for a particular DB cluster parameter group. For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide. This action only applies to Aurora DB clusters. + +Required Parameters +{ + "DBClusterParameterGroupName": "The name of a specific DB cluster parameter group to return parameter details for. Constraints: If supplied, must match the name of an existing DBClusterParameterGroup. " +} + +Optional Parameters +{ + "MaxRecords": " The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so you can retrieve the remaining results. Default: 100 Constraints: Minimum 20, maximum 100.", + "Marker": " An optional pagination token provided by a previous DescribeDBClusterParameters request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords. ", + "Source": " A value that indicates to return only parameters for a specific source. Parameter sources can be engine, service, or customer. ", + "Filters": "This parameter isn't currently supported." +} +""" +DescribeDBClusterParameters(args) = rds("DescribeDBClusterParameters", args) + +""" + DescribeDBParameterGroups() + + Returns a list of DBParameterGroup descriptions. If a DBParameterGroupName is specified, the list will contain only the description of the specified DB parameter group. + +Optional Parameters +{ + "MaxRecords": " The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that you can retrieve the remaining results. Default: 100 Constraints: Minimum 20, maximum 100.", + "Marker": " An optional pagination token provided by a previous DescribeDBParameterGroups request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords. ", + "DBParameterGroupName": "The name of a specific DB parameter group to return details for. Constraints: If supplied, must match the name of an existing DBClusterParameterGroup. ", + "Filters": "This parameter isn't currently supported." +} +""" +DescribeDBParameterGroups() = rds("DescribeDBParameterGroups") +DescribeDBParameterGroups(args) = rds("DescribeDBParameterGroups", args) + +""" + DeleteDBInstanceAutomatedBackup() + +Deletes automated backups based on the source instance's DbiResourceId value or the restorable instance's resource ID. + +Required Parameters +{ + "DbiResourceId": "The identifier for the source DB instance, which can't be changed and which is unique to an AWS Region." +} +""" +DeleteDBInstanceAutomatedBackup(args) = rds("DeleteDBInstanceAutomatedBackup", args) + +""" + ModifyDBParameterGroup() + + Modifies the parameters of a DB parameter group. To modify more than one parameter, submit a list of the following: ParameterName, ParameterValue, and ApplyMethod. A maximum of 20 parameters can be modified in a single request. Changes to dynamic parameters are applied immediately. Changes to static parameters require a reboot without failover to the DB instance associated with the parameter group before the change can take effect. After you modify a DB parameter group, you should wait at least 5 minutes before creating your first DB instance that uses that DB parameter group as the default parameter group. This allows Amazon RDS to fully complete the modify action before the parameter group is used as the default for a new DB instance. This is especially important for parameters that are critical when creating the default database for a DB instance, such as the character set for the default database defined by the character_set_database parameter. You can use the Parameter Groups option of the Amazon RDS console or the DescribeDBParameters command to verify that your DB parameter group has been created or modified. + +Required Parameters +{ + "Parameters": "An array of parameter names, values, and the apply method for the parameter update. At least one parameter name, value, and apply method must be supplied; later arguments are optional. A maximum of 20 parameters can be modified in a single request. Valid Values (for the application method): immediate | pending-reboot You can use the immediate value with dynamic parameters only. You can use the pending-reboot value for both dynamic and static parameters, and changes are applied when you reboot the DB instance without failover. ", + "DBParameterGroupName": "The name of the DB parameter group. Constraints: If supplied, must match the name of an existing DBParameterGroup. " +} +""" +ModifyDBParameterGroup(args) = rds("ModifyDBParameterGroup", args) + +""" + DescribeDBClusterBacktracks() + +Returns information about backtracks for a DB cluster. For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide. This action only applies to Aurora DB clusters. + +Required Parameters +{ + "DBClusterIdentifier": "The DB cluster identifier of the DB cluster to be described. This parameter is stored as a lowercase string. Constraints: Must contain from 1 to 63 alphanumeric characters or hyphens. First character must be a letter. Can't end with a hyphen or contain two consecutive hyphens. Example: my-cluster1 " +} + +Optional Parameters +{ + "MaxRecords": "The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so you can retrieve the remaining results. Default: 100 Constraints: Minimum 20, maximum 100.", + "Marker": " An optional pagination token provided by a previous DescribeDBClusterBacktracks request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords. ", + "BacktrackIdentifier": "If specified, this value is the backtrack identifier of the backtrack to be described. Constraints: Must contain a valid universally unique identifier (UUID). For more information about UUIDs, see A Universally Unique Identifier (UUID) URN Namespace. Example: 123e4567-e89b-12d3-a456-426655440000 ", + "Filters": "A filter that specifies one or more DB clusters to describe. Supported filters include the following: db-cluster-backtrack-id - Accepts backtrack identifiers. The results list includes information about only the backtracks identified by these identifiers. db-cluster-backtrack-status - Accepts any of the following backtrack status values: applying completed failed pending The results list includes information about only the backtracks identified by these values. " +} +""" +DescribeDBClusterBacktracks(args) = rds("DescribeDBClusterBacktracks", args) + +""" + ModifyGlobalCluster() + + Modify a setting for an Amazon Aurora global cluster. You can change one or more database configuration parameters by specifying these parameters and the new values in the request. For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide. This action only applies to Aurora DB clusters. + +Optional Parameters +{ + "NewGlobalClusterIdentifier": " The new cluster identifier for the global database cluster when modifying a global database cluster. This value is stored as a lowercase string. Constraints: Must contain from 1 to 63 letters, numbers, or hyphens The first character must be a letter Can't end with a hyphen or contain two consecutive hyphens Example: my-cluster2 ", + "DeletionProtection": " Indicates if the global database cluster has deletion protection enabled. The global database cluster can't be deleted when deletion protection is enabled. ", + "GlobalClusterIdentifier": " The DB cluster identifier for the global cluster being modified. This parameter isn't case-sensitive. Constraints: Must match the identifier of an existing global database cluster. " +} +""" +ModifyGlobalCluster() = rds("ModifyGlobalCluster") +ModifyGlobalCluster(args) = rds("ModifyGlobalCluster", args) + +""" + RegisterDBProxyTargets() + + This is prerelease documentation for the RDS Database Proxy feature in preview release. It is subject to change. Associate one or more DBProxyTarget data structures with a DBProxyTargetGroup. + +Required Parameters +{ + "DBProxyName": "The identifier of the DBProxy that is associated with the DBProxyTargetGroup." +} + +Optional Parameters +{ + "DBInstanceIdentifiers": "One or more DB instance identifiers.", + "DBClusterIdentifiers": "One or more DB cluster identifiers.", + "TargetGroupName": "The identifier of the DBProxyTargetGroup." +} +""" +RegisterDBProxyTargets(args) = rds("RegisterDBProxyTargets", args) + +""" + CreateEventSubscription() + +Creates an RDS event notification subscription. This action requires a topic Amazon Resource Name (ARN) created by either the RDS console, the SNS console, or the SNS API. To obtain an ARN with SNS, you must create a topic in Amazon SNS and subscribe to the topic. The ARN is displayed in the SNS console. You can specify the type of source (SourceType) you want to be notified of, provide a list of RDS sources (SourceIds) that triggers the events, and provide a list of event categories (EventCategories) for events you want to be notified of. For example, you can specify SourceType = db-instance, SourceIds = mydbinstance1, mydbinstance2 and EventCategories = Availability, Backup. If you specify both the SourceType and SourceIds, such as SourceType = db-instance and SourceIdentifier = myDBInstance1, you are notified of all the db-instance events for the specified source. If you specify a SourceType but do not specify a SourceIdentifier, you receive notice of the events for that source type for all your RDS sources. If you don't specify either the SourceType or the SourceIdentifier, you are notified of events generated from all RDS sources belonging to your customer account. RDS event notification is only available for unencrypted SNS topics. If you specify an encrypted SNS topic, event notifications aren't sent for the topic. + +Required Parameters +{ + "SubscriptionName": "The name of the subscription. Constraints: The name must be less than 255 characters.", + "SnsTopicArn": "The Amazon Resource Name (ARN) of the SNS topic created for event notification. The ARN is created by Amazon SNS when you create a topic and subscribe to it." +} + +Optional Parameters +{ + "SourceIds": "The list of identifiers of the event sources for which events are returned. If not specified, then all sources are included in the response. An identifier must begin with a letter and must contain only ASCII letters, digits, and hyphens. It can't end with a hyphen or contain two consecutive hyphens. Constraints: If SourceIds are supplied, SourceType must also be provided. If the source type is a DB instance, then a DBInstanceIdentifier must be supplied. If the source type is a DB security group, a DBSecurityGroupName must be supplied. If the source type is a DB parameter group, a DBParameterGroupName must be supplied. If the source type is a DB snapshot, a DBSnapshotIdentifier must be supplied. ", + "Tags": "", + "SourceType": "The type of source that is generating the events. For example, if you want to be notified of events generated by a DB instance, you would set this parameter to db-instance. if this value isn't specified, all events are returned. Valid values: db-instance | db-cluster | db-parameter-group | db-security-group | db-snapshot | db-cluster-snapshot ", + "EventCategories": " A list of event categories for a SourceType that you want to subscribe to. You can see a list of the categories for a given SourceType in the Events topic in the Amazon RDS User Guide or by using the DescribeEventCategories action. ", + "Enabled": " A value that indicates whether to activate the subscription. If the event notification subscription isn't activated, the subscription is created but not active. " +} +""" +CreateEventSubscription(args) = rds("CreateEventSubscription", args) + +""" + CreateDBCluster() + +Creates a new Amazon Aurora DB cluster. You can use the ReplicationSourceIdentifier parameter to create the DB cluster as a Read Replica of another DB cluster or Amazon RDS MySQL DB instance. For cross-region replication where the DB cluster identified by ReplicationSourceIdentifier is encrypted, you must also specify the PreSignedUrl parameter. For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide. This action only applies to Aurora DB clusters. + +Required Parameters +{ + "DBClusterIdentifier": "The DB cluster identifier. This parameter is stored as a lowercase string. Constraints: Must contain from 1 to 63 letters, numbers, or hyphens. First character must be a letter. Can't end with a hyphen or contain two consecutive hyphens. Example: my-cluster1 ", + "Engine": "The name of the database engine to be used for this DB cluster. Valid Values: aurora (for MySQL 5.6-compatible Aurora), aurora-mysql (for MySQL 5.7-compatible Aurora), and aurora-postgresql " +} + +Optional Parameters +{ + "DatabaseName": "The name for your database of up to 64 alphanumeric characters. If you do not provide a name, Amazon RDS doesn't create a database in the DB cluster you are creating.", + "ReplicationSourceIdentifier": "The Amazon Resource Name (ARN) of the source DB instance or DB cluster if this DB cluster is created as a Read Replica.", + "OptionGroupName": "A value that indicates that the DB cluster should be associated with the specified option group. Permanent options can't be removed from an option group. The option group can't be removed from a DB cluster once it is associated with a DB cluster.", + "CharacterSetName": "A value that indicates that the DB cluster should be associated with the specified CharacterSet.", + "PreferredMaintenanceWindow": "The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC). Format: ddd:hh24:mi-ddd:hh24:mi The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region, occurring on a random day of the week. To see the time blocks available, see Adjusting the Preferred DB Cluster Maintenance Window in the Amazon Aurora User Guide. Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun. Constraints: Minimum 30-minute window.", + "AvailabilityZones": "A list of Availability Zones (AZs) where instances in the DB cluster can be created. For information on AWS Regions and Availability Zones, see Choosing the Regions and Availability Zones in the Amazon Aurora User Guide. ", + "BackupRetentionPeriod": "The number of days for which automated backups are retained. Default: 1 Constraints: Must be a value from 1 to 35 ", + "DBSubnetGroupName": "A DB subnet group to associate with this DB cluster. Constraints: Must match the name of an existing DBSubnetGroup. Must not be default. Example: mySubnetgroup ", + "Tags": "Tags to assign to the DB cluster.", + "StorageEncrypted": "A value that indicates whether the DB cluster is encrypted.", + "SourceRegion": "The ID of the region that contains the source for the read replica.", + "BacktrackWindow": "The target backtrack window, in seconds. To disable backtracking, set this value to 0. Default: 0 Constraints: If specified, this value must be set to a number from 0 to 259,200 (72 hours). ", + "EnableIAMDatabaseAuthentication": "A value that indicates whether to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts. By default, mapping is disabled. For more information, see IAM Database Authentication in the Amazon Aurora User Guide. ", + "CopyTagsToSnapshot": "A value that indicates whether to copy all tags from the DB cluster to snapshots of the DB cluster. The default is not to copy them.", + "Domain": "The Active Directory directory ID to create the DB cluster in. For Amazon Aurora DB clusters, Amazon RDS can use Kerberos Authentication to authenticate users that connect to the DB cluster. For more information, see Using Kerberos Authentication for Aurora MySQL in the Amazon Aurora User Guide. ", + "DomainIAMRoleName": "Specify the name of the IAM role to be used when making API calls to the Directory Service.", + "MasterUsername": "The name of the master user for the DB cluster. Constraints: Must be 1 to 16 letters or numbers. First character must be a letter. Can't be a reserved word for the chosen database engine. ", + "PreferredBackupWindow": "The daily time range during which automated backups are created if automated backups are enabled using the BackupRetentionPeriod parameter. The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region. To see the time blocks available, see Adjusting the Preferred DB Cluster Maintenance Window in the Amazon Aurora User Guide. Constraints: Must be in the format hh24:mi-hh24:mi. Must be in Universal Coordinated Time (UTC). Must not conflict with the preferred maintenance window. Must be at least 30 minutes. ", + "EnableHttpEndpoint": "A value that indicates whether to enable the HTTP endpoint for an Aurora Serverless DB cluster. By default, the HTTP endpoint is disabled. When enabled, the HTTP endpoint provides a connectionless web service API for running SQL queries on the Aurora Serverless DB cluster. You can also query your database from inside the RDS console with the query editor. For more information, see Using the Data API for Aurora Serverless in the Amazon Aurora User Guide.", + "PreSignedUrl": "A URL that contains a Signature Version 4 signed request for the CreateDBCluster action to be called in the source AWS Region where the DB cluster is replicated from. You only need to specify PreSignedUrl when you are performing cross-region replication from an encrypted DB cluster. The pre-signed URL must be a valid request for the CreateDBCluster API action that can be executed in the source AWS Region that contains the encrypted DB cluster to be copied. The pre-signed URL request must contain the following parameter values: KmsKeyId - The AWS KMS key identifier for the key to use to encrypt the copy of the DB cluster in the destination AWS Region. This should refer to the same KMS key for both the CreateDBCluster action that is called in the destination AWS Region, and the action contained in the pre-signed URL. DestinationRegion - The name of the AWS Region that Aurora Read Replica will be created in. ReplicationSourceIdentifier - The DB cluster identifier for the encrypted DB cluster to be copied. This identifier must be in the Amazon Resource Name (ARN) format for the source AWS Region. For example, if you are copying an encrypted DB cluster from the us-west-2 AWS Region, then your ReplicationSourceIdentifier would look like Example: arn:aws:rds:us-west-2:123456789012:cluster:aurora-cluster1. To learn how to generate a Signature Version 4 signed request, see Authenticating Requests: Using Query Parameters (AWS Signature Version 4) and Signature Version 4 Signing Process. If you are using an AWS SDK tool or the AWS CLI, you can specify SourceRegion (or --source-region for the AWS CLI) instead of specifying PreSignedUrl manually. Specifying SourceRegion autogenerates a pre-signed URL that is a valid request for the operation that can be executed in the source AWS Region. If you supply a value for this operation's SourceRegion parameter, a pre-signed URL will be calculated on your behalf.", + "EngineVersion": "The version number of the database engine to use. To list all of the available engine versions for aurora (for MySQL 5.6-compatible Aurora), use the following command: aws rds describe-db-engine-versions --engine aurora --query \"DBEngineVersions[].EngineVersion\" To list all of the available engine versions for aurora-mysql (for MySQL 5.7-compatible Aurora), use the following command: aws rds describe-db-engine-versions --engine aurora-mysql --query \"DBEngineVersions[].EngineVersion\" To list all of the available engine versions for aurora-postgresql, use the following command: aws rds describe-db-engine-versions --engine aurora-postgresql --query \"DBEngineVersions[].EngineVersion\" Aurora MySQL Example: 5.6.10a, 5.6.mysql_aurora.1.19.2, 5.7.12, 5.7.mysql_aurora.2.04.5 Aurora PostgreSQL Example: 9.6.3, 10.7 ", + "ScalingConfiguration": "For DB clusters in serverless DB engine mode, the scaling properties of the DB cluster.", + "EngineMode": "The DB engine mode of the DB cluster, either provisioned, serverless, parallelquery, global, or multimaster. Limitations and requirements apply to some DB engine modes. For more information, see the following sections in the Amazon Aurora User Guide: Limitations of Aurora Serverless Limitations of Parallel Query Requirements for Aurora Global Databases Limitations of Multi-Master Clusters ", + "DBClusterParameterGroupName": " The name of the DB cluster parameter group to associate with this DB cluster. If you do not specify a value, then the default DB cluster parameter group for the specified DB engine and version is used. Constraints: If supplied, must match the name of an existing DB cluster parameter group. ", + "MasterUserPassword": "The password for the master database user. This password can contain any printable ASCII character except \"/\", \"\"\", or \"@\". Constraints: Must contain from 8 to 41 characters.", + "Port": "The port number on which the instances in the DB cluster accept connections. Default: 3306 if engine is set as aurora or 5432 if set to aurora-postgresql. ", + "EnableCloudwatchLogsExports": "The list of log types that need to be enabled for exporting to CloudWatch Logs. The values in the list depend on the DB engine being used. For more information, see Publishing Database Logs to Amazon CloudWatch Logs in the Amazon Aurora User Guide.", + "DeletionProtection": "A value that indicates whether the DB cluster has deletion protection enabled. The database can't be deleted when deletion protection is enabled. By default, deletion protection is disabled.", + "VpcSecurityGroupIds": "A list of EC2 VPC security groups to associate with this DB cluster.", + "KmsKeyId": "The AWS KMS key identifier for an encrypted DB cluster. The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are creating a DB cluster with the same AWS account that owns the KMS encryption key used to encrypt the new DB cluster, then you can use the KMS key alias instead of the ARN for the KMS encryption key. If an encryption key isn't specified in KmsKeyId: If ReplicationSourceIdentifier identifies an encrypted source, then Amazon RDS will use the encryption key used to encrypt the source. Otherwise, Amazon RDS will use your default encryption key. If the StorageEncrypted parameter is enabled and ReplicationSourceIdentifier isn't specified, then Amazon RDS will use your default encryption key. AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS Region. If you create a Read Replica of an encrypted DB cluster in another AWS Region, you must set KmsKeyId to a KMS key ID that is valid in the destination AWS Region. This key is used to encrypt the Read Replica in that AWS Region.", + "GlobalClusterIdentifier": " The global cluster ID of an Aurora cluster that becomes the primary cluster in the new global database cluster. " +} +""" +CreateDBCluster(args) = rds("CreateDBCluster", args) + +""" + CreateDBSubnetGroup() + +Creates a new DB subnet group. DB subnet groups must contain at least one subnet in at least two AZs in the AWS Region. + +Required Parameters +{ + "DBSubnetGroupName": "The name for the DB subnet group. This value is stored as a lowercase string. Constraints: Must contain no more than 255 letters, numbers, periods, underscores, spaces, or hyphens. Must not be default. Example: mySubnetgroup ", + "SubnetIds": "The EC2 Subnet IDs for the DB subnet group.", + "DBSubnetGroupDescription": "The description for the DB subnet group." +} + +Optional Parameters +{ + "Tags": "Tags to assign to the DB subnet group." +} +""" +CreateDBSubnetGroup(args) = rds("CreateDBSubnetGroup", args) + +""" + RemoveSourceIdentifierFromSubscription() + +Removes a source identifier from an existing RDS event notification subscription. + +Required Parameters +{ + "SubscriptionName": "The name of the RDS event notification subscription you want to remove a source identifier from.", + "SourceIdentifier": " The source identifier to be removed from the subscription, such as the DB instance identifier for a DB instance or the name of a security group. " +} +""" +RemoveSourceIdentifierFromSubscription(args) = rds("RemoveSourceIdentifierFromSubscription", args) + +""" + ImportInstallationMedia() + +Imports the installation media for a DB engine that requires an on-premises customer provided license, such as SQL Server. + +Required Parameters +{ + "CustomAvailabilityZoneId": "The identifier of the custom Availability Zone (AZ) to import the installation media to.", + "OSInstallationMediaPath": "The path to the installation medium for the operating system associated with the specified DB engine. Example: WindowsISO/en_windows_server_2016_x64_dvd_9327751.iso ", + "EngineVersion": "The version number of the database engine to use. For a list of valid engine versions, call DescribeDBEngineVersions. The following are the database engines and links to information about the major and minor versions. The list only includes DB engines that require an on-premises customer provided license. Microsoft SQL Server See Version and Feature Support on Amazon RDS in the Amazon RDS User Guide. ", + "Engine": "The name of the database engine to be used for this instance. The list only includes supported DB engines that require an on-premises customer provided license. Valid Values: sqlserver-ee sqlserver-se sqlserver-ex sqlserver-web ", + "EngineInstallationMediaPath": "The path to the installation medium for the specified DB engine. Example: SQLServerISO/en_sql_server_2016_enterprise_x64_dvd_8701793.iso " +} +""" +ImportInstallationMedia(args) = rds("ImportInstallationMedia", args) + +""" + DescribeDBClusterEndpoints() + +Returns information about endpoints for an Amazon Aurora DB cluster. This action only applies to Aurora DB clusters. + +Optional Parameters +{ + "MaxRecords": "The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so you can retrieve the remaining results. Default: 100 Constraints: Minimum 20, maximum 100.", + "Marker": " An optional pagination token provided by a previous DescribeDBClusterEndpoints request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords. ", + "DBClusterIdentifier": "The DB cluster identifier of the DB cluster associated with the endpoint. This parameter is stored as a lowercase string.", + "DBClusterEndpointIdentifier": "The identifier of the endpoint to describe. This parameter is stored as a lowercase string.", + "Filters": "A set of name-value pairs that define which endpoints to include in the output. The filters are specified as name-value pairs, in the format Name=endpoint_type,Values=endpoint_type1,endpoint_type2,.... Name can be one of: db-cluster-endpoint-type, db-cluster-endpoint-custom-type, db-cluster-endpoint-id, db-cluster-endpoint-status. Values for the db-cluster-endpoint-type filter can be one or more of: reader, writer, custom. Values for the db-cluster-endpoint-custom-type filter can be one or more of: reader, any. Values for the db-cluster-endpoint-status filter can be one or more of: available, creating, deleting, modifying. " +} +""" +DescribeDBClusterEndpoints() = rds("DescribeDBClusterEndpoints") +DescribeDBClusterEndpoints(args) = rds("DescribeDBClusterEndpoints", args) + +""" + RevokeDBSecurityGroupIngress() + +Revokes ingress from a DBSecurityGroup for previously authorized IP ranges or EC2 or VPC Security Groups. Required parameters for this API are one of CIDRIP, EC2SecurityGroupId for VPC, or (EC2SecurityGroupOwnerId and either EC2SecurityGroupName or EC2SecurityGroupId). + +Required Parameters +{ + "DBSecurityGroupName": "The name of the DB security group to revoke ingress from." +} + +Optional Parameters +{ + "CIDRIP": " The IP range to revoke access from. Must be a valid CIDR range. If CIDRIP is specified, EC2SecurityGroupName, EC2SecurityGroupId and EC2SecurityGroupOwnerId can't be provided. ", + "EC2SecurityGroupOwnerId": " The AWS account number of the owner of the EC2 security group specified in the EC2SecurityGroupName parameter. The AWS access key ID isn't an acceptable value. For VPC DB security groups, EC2SecurityGroupId must be provided. Otherwise, EC2SecurityGroupOwnerId and either EC2SecurityGroupName or EC2SecurityGroupId must be provided. ", + "EC2SecurityGroupName": " The name of the EC2 security group to revoke access from. For VPC DB security groups, EC2SecurityGroupId must be provided. Otherwise, EC2SecurityGroupOwnerId and either EC2SecurityGroupName or EC2SecurityGroupId must be provided. ", + "EC2SecurityGroupId": " The id of the EC2 security group to revoke access from. For VPC DB security groups, EC2SecurityGroupId must be provided. Otherwise, EC2SecurityGroupOwnerId and either EC2SecurityGroupName or EC2SecurityGroupId must be provided. " +} +""" +RevokeDBSecurityGroupIngress(args) = rds("RevokeDBSecurityGroupIngress", args) + +""" + CopyDBParameterGroup() + +Copies the specified DB parameter group. + +Required Parameters +{ + "TargetDBParameterGroupDescription": "A description for the copied DB parameter group.", + "SourceDBParameterGroupIdentifier": " The identifier or ARN for the source DB parameter group. For information about creating an ARN, see Constructing an ARN for Amazon RDS in the Amazon RDS User Guide. Constraints: Must specify a valid DB parameter group. Must specify a valid DB parameter group identifier, for example my-db-param-group, or a valid ARN. ", + "TargetDBParameterGroupIdentifier": "The identifier for the copied DB parameter group. Constraints: Can't be null, empty, or blank Must contain from 1 to 255 letters, numbers, or hyphens First character must be a letter Can't end with a hyphen or contain two consecutive hyphens Example: my-db-parameter-group " +} + +Optional Parameters +{ + "Tags": "" +} +""" +CopyDBParameterGroup(args) = rds("CopyDBParameterGroup", args) + +""" + DeleteDBInstance() + +The DeleteDBInstance action deletes a previously provisioned DB instance. When you delete a DB instance, all automated backups for that instance are deleted and can't be recovered. Manual DB snapshots of the DB instance to be deleted by DeleteDBInstance are not deleted. If you request a final DB snapshot the status of the Amazon RDS DB instance is deleting until the DB snapshot is created. The API action DescribeDBInstance is used to monitor the status of this operation. The action can't be canceled or reverted once submitted. When a DB instance is in a failure state and has a status of failed, incompatible-restore, or incompatible-network, you can only delete it when you skip creation of the final snapshot with the SkipFinalSnapshot parameter. If the specified DB instance is part of an Amazon Aurora DB cluster, you can't delete the DB instance if both of the following conditions are true: The DB cluster is a Read Replica of another Amazon Aurora DB cluster. The DB instance is the only instance in the DB cluster. To delete a DB instance in this case, first call the PromoteReadReplicaDBCluster API action to promote the DB cluster so it's no longer a Read Replica. After the promotion completes, then call the DeleteDBInstance API action to delete the final instance in the DB cluster. + +Required Parameters +{ + "DBInstanceIdentifier": "The DB instance identifier for the DB instance to be deleted. This parameter isn't case-sensitive. Constraints: Must match the name of an existing DB instance. " +} + +Optional Parameters +{ + "SkipFinalSnapshot": "A value that indicates whether to skip the creation of a final DB snapshot before the DB instance is deleted. If skip is specified, no DB snapshot is created. If skip isn't specified, a DB snapshot is created before the DB instance is deleted. By default, skip isn't specified, and the DB snapshot is created. When a DB instance is in a failure state and has a status of 'failed', 'incompatible-restore', or 'incompatible-network', it can only be deleted when skip is specified. Specify skip when deleting a Read Replica. The FinalDBSnapshotIdentifier parameter must be specified if skip isn't specified. ", + "FinalDBSnapshotIdentifier": " The DBSnapshotIdentifier of the new DBSnapshot created when the SkipFinalSnapshot parameter is disabled. Specifying this parameter and also specifying to skip final DB snapshot creation in SkipFinalShapshot results in an error. Constraints: Must be 1 to 255 letters or numbers. First character must be a letter. Can't end with a hyphen or contain two consecutive hyphens. Can't be specified when deleting a Read Replica. ", + "DeleteAutomatedBackups": "A value that indicates whether to remove automated backups immediately after the DB instance is deleted. This parameter isn't case-sensitive. The default is to remove automated backups immediately after the DB instance is deleted." +} +""" +DeleteDBInstance(args) = rds("DeleteDBInstance", args) + +""" + DescribeExportTasks() + +Returns information about a snapshot export to Amazon S3. This API operation supports pagination. + +Optional Parameters +{ + "SourceArn": "The Amazon Resource Name (ARN) of the snapshot exported to Amazon S3.", + "Marker": " An optional pagination token provided by a previous DescribeExportTasks request. If you specify this parameter, the response includes only records beyond the marker, up to the value specified by the MaxRecords parameter. ", + "MaxRecords": " The maximum number of records to include in the response. If more records exist than the specified value, a pagination token called a marker is included in the response. You can use the marker in a later DescribeExportTasks request to retrieve the remaining results. Default: 100 Constraints: Minimum 20, maximum 100.", + "ExportTaskIdentifier": "The identifier of the snapshot export task to be described.", + "Filters": "Filters specify one or more snapshot exports to describe. The filters are specified as name-value pairs that define what to include in the output. Supported filters include the following: export-task-identifier - An identifier for the snapshot export task. s3-bucket - The Amazon S3 bucket the snapshot is exported to. source-arn - The Amazon Resource Name (ARN) of the snapshot exported to Amazon S3 status - The status of the export task. " +} +""" +DescribeExportTasks() = rds("DescribeExportTasks") +DescribeExportTasks(args) = rds("DescribeExportTasks", args) + +""" + ModifyDBCluster() + +Modify a setting for an Amazon Aurora DB cluster. You can change one or more database configuration parameters by specifying these parameters and the new values in the request. For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide. This action only applies to Aurora DB clusters. + +Required Parameters +{ + "DBClusterIdentifier": "The DB cluster identifier for the cluster being modified. This parameter isn't case-sensitive. Constraints: This identifier must match the identifier of an existing DB cluster." +} + +Optional Parameters +{ + "AllowMajorVersionUpgrade": "A value that indicates whether major version upgrades are allowed. Constraints: You must allow major version upgrades when specifying a value for the EngineVersion parameter that is a different major version than the DB cluster's current version.", + "DBInstanceParameterGroupName": "The name of the DB parameter group to apply to all instances of the DB cluster. When you apply a parameter group using the DBInstanceParameterGroupName parameter, the DB cluster isn't rebooted automatically. Also, parameter changes aren't applied during the next maintenance window but instead are applied immediately. Default: The existing name setting Constraints: The DB parameter group must be in the same DB parameter group family as this DB cluster. The DBInstanceParameterGroupName parameter is only valid in combination with the AllowMajorVersionUpgrade parameter. ", + "OptionGroupName": "A value that indicates that the DB cluster should be associated with the specified option group. Changing this parameter doesn't result in an outage except in the following case, and the change is applied during the next maintenance window unless the ApplyImmediately is enabled for this request. If the parameter change results in an option group that enables OEM, this change can cause a brief (sub-second) period during which new connections are rejected but existing connections are not interrupted. Permanent options can't be removed from an option group. The option group can't be removed from a DB cluster once it is associated with a DB cluster.", + "PreferredMaintenanceWindow": "The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC). Format: ddd:hh24:mi-ddd:hh24:mi The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region, occurring on a random day of the week. To see the time blocks available, see Adjusting the Preferred DB Cluster Maintenance Window in the Amazon Aurora User Guide. Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun. Constraints: Minimum 30-minute window.", + "BackupRetentionPeriod": "The number of days for which automated backups are retained. You must specify a minimum value of 1. Default: 1 Constraints: Must be a value from 1 to 35 ", + "BacktrackWindow": "The target backtrack window, in seconds. To disable backtracking, set this value to 0. Default: 0 Constraints: If specified, this value must be set to a number from 0 to 259,200 (72 hours). ", + "EnableIAMDatabaseAuthentication": "A value that indicates whether to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts. By default, mapping is disabled. For more information, see IAM Database Authentication in the Amazon Aurora User Guide. ", + "Domain": "The Active Directory directory ID to move the DB cluster to. Specify none to remove the cluster from its current domain. The domain must be created prior to this operation. ", + "CopyTagsToSnapshot": "A value that indicates whether to copy all tags from the DB cluster to snapshots of the DB cluster. The default is not to copy them.", + "DomainIAMRoleName": "Specify the name of the IAM role to be used when making API calls to the Directory Service.", + "PreferredBackupWindow": "The daily time range during which automated backups are created if automated backups are enabled, using the BackupRetentionPeriod parameter. The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region. To see the time blocks available, see Adjusting the Preferred DB Cluster Maintenance Window in the Amazon Aurora User Guide. Constraints: Must be in the format hh24:mi-hh24:mi. Must be in Universal Coordinated Time (UTC). Must not conflict with the preferred maintenance window. Must be at least 30 minutes. ", + "EnableHttpEndpoint": "A value that indicates whether to enable the HTTP endpoint for an Aurora Serverless DB cluster. By default, the HTTP endpoint is disabled. When enabled, the HTTP endpoint provides a connectionless web service API for running SQL queries on the Aurora Serverless DB cluster. You can also query your database from inside the RDS console with the query editor. For more information, see Using the Data API for Aurora Serverless in the Amazon Aurora User Guide.", + "EngineVersion": "The version number of the database engine to which you want to upgrade. Changing this parameter results in an outage. The change is applied during the next maintenance window unless ApplyImmediately is enabled. To list all of the available engine versions for aurora (for MySQL 5.6-compatible Aurora), use the following command: aws rds describe-db-engine-versions --engine aurora --query \"DBEngineVersions[].EngineVersion\" To list all of the available engine versions for aurora-mysql (for MySQL 5.7-compatible Aurora), use the following command: aws rds describe-db-engine-versions --engine aurora-mysql --query \"DBEngineVersions[].EngineVersion\" To list all of the available engine versions for aurora-postgresql, use the following command: aws rds describe-db-engine-versions --engine aurora-postgresql --query \"DBEngineVersions[].EngineVersion\" ", + "ScalingConfiguration": "The scaling properties of the DB cluster. You can only modify scaling properties for DB clusters in serverless DB engine mode.", + "DBClusterParameterGroupName": "The name of the DB cluster parameter group to use for the DB cluster.", + "MasterUserPassword": "The new password for the master database user. This password can contain any printable ASCII character except \"/\", \"\"\", or \"@\". Constraints: Must contain from 8 to 41 characters.", + "Port": "The port number on which the DB cluster accepts connections. Constraints: Value must be 1150-65535 Default: The same port as the original DB cluster.", + "NewDBClusterIdentifier": "The new DB cluster identifier for the DB cluster when renaming a DB cluster. This value is stored as a lowercase string. Constraints: Must contain from 1 to 63 letters, numbers, or hyphens The first character must be a letter Can't end with a hyphen or contain two consecutive hyphens Example: my-cluster2 ", + "CloudwatchLogsExportConfiguration": "The configuration setting for the log types to be enabled for export to CloudWatch Logs for a specific DB cluster.", + "ApplyImmediately": "A value that indicates whether the modifications in this request and any pending modifications are asynchronously applied as soon as possible, regardless of the PreferredMaintenanceWindow setting for the DB cluster. If this parameter is disabled, changes to the DB cluster are applied during the next maintenance window. The ApplyImmediately parameter only affects the EnableIAMDatabaseAuthentication, MasterUserPassword, and NewDBClusterIdentifier values. If the ApplyImmediately parameter is disabled, then changes to the EnableIAMDatabaseAuthentication, MasterUserPassword, and NewDBClusterIdentifier values are applied during the next maintenance window. All other changes are applied immediately, regardless of the value of the ApplyImmediately parameter. By default, this parameter is disabled.", + "VpcSecurityGroupIds": "A list of VPC security groups that the DB cluster will belong to.", + "DeletionProtection": "A value that indicates whether the DB cluster has deletion protection enabled. The database can't be deleted when deletion protection is enabled. By default, deletion protection is disabled. " +} +""" +ModifyDBCluster(args) = rds("ModifyDBCluster", args) + +""" + AuthorizeDBSecurityGroupIngress() + +Enables ingress to a DBSecurityGroup using one of two forms of authorization. First, EC2 or VPC security groups can be added to the DBSecurityGroup if the application using the database is running on EC2 or VPC instances. Second, IP ranges are available if the application accessing your database is running on the Internet. Required parameters for this API are one of CIDR range, EC2SecurityGroupId for VPC, or (EC2SecurityGroupOwnerId and either EC2SecurityGroupName or EC2SecurityGroupId for non-VPC). You can't authorize ingress from an EC2 security group in one AWS Region to an Amazon RDS DB instance in another. You can't authorize ingress from a VPC security group in one VPC to an Amazon RDS DB instance in another. For an overview of CIDR ranges, go to the Wikipedia Tutorial. + +Required Parameters +{ + "DBSecurityGroupName": "The name of the DB security group to add authorization to." +} + +Optional Parameters +{ + "CIDRIP": "The IP range to authorize.", + "EC2SecurityGroupOwnerId": " AWS account number of the owner of the EC2 security group specified in the EC2SecurityGroupName parameter. The AWS access key ID isn't an acceptable value. For VPC DB security groups, EC2SecurityGroupId must be provided. Otherwise, EC2SecurityGroupOwnerId and either EC2SecurityGroupName or EC2SecurityGroupId must be provided. ", + "EC2SecurityGroupName": " Name of the EC2 security group to authorize. For VPC DB security groups, EC2SecurityGroupId must be provided. Otherwise, EC2SecurityGroupOwnerId and either EC2SecurityGroupName or EC2SecurityGroupId must be provided. ", + "EC2SecurityGroupId": " Id of the EC2 security group to authorize. For VPC DB security groups, EC2SecurityGroupId must be provided. Otherwise, EC2SecurityGroupOwnerId and either EC2SecurityGroupName or EC2SecurityGroupId must be provided. " +} +""" +AuthorizeDBSecurityGroupIngress(args) = rds("AuthorizeDBSecurityGroupIngress", args) + +""" + StopDBInstance() + + Stops an Amazon RDS DB instance. When you stop a DB instance, Amazon RDS retains the DB instance's metadata, including its endpoint, DB parameter group, and option group membership. Amazon RDS also retains the transaction logs so you can do a point-in-time restore if necessary. For more information, see Stopping an Amazon RDS DB Instance Temporarily in the Amazon RDS User Guide. This command doesn't apply to Aurora MySQL and Aurora PostgreSQL. For Aurora clusters, use StopDBCluster instead. + +Required Parameters +{ + "DBInstanceIdentifier": " The user-supplied instance identifier. " +} + +Optional Parameters +{ + "DBSnapshotIdentifier": " The user-supplied instance identifier of the DB Snapshot created immediately before the DB instance is stopped. " +} +""" +StopDBInstance(args) = rds("StopDBInstance", args) + +""" + StartExportTask() + +Starts an export of a snapshot to Amazon S3. The provided IAM role must have access to the S3 bucket. + +Required Parameters +{ + "SourceArn": "The Amazon Resource Name (ARN) of the snapshot to export to Amazon S3.", + "ExportTaskIdentifier": "A unique identifier for the snapshot export task. This ID isn't an identifier for the Amazon S3 bucket where the snapshot is to be exported to. ", + "S3BucketName": "The name of the Amazon S3 bucket to export the snapshot to.", + "IamRoleArn": "The name of the IAM role to use for writing to the Amazon S3 bucket when exporting a snapshot. ", + "KmsKeyId": "The ID of the AWS KMS key to use to encrypt the snapshot exported to Amazon S3. The KMS key ID is the Amazon Resource Name (ARN), the KMS key identifier, or the KMS key alias for the KMS encryption key. The IAM role used for the snapshot export must have encryption and decryption permissions to use this KMS key. " +} + +Optional Parameters +{ + "ExportOnly": "The data to be exported from the snapshot. If this parameter is not provided, all the snapshot data is exported. Valid values are the following: database - Export all the data of the snapshot. database.table [table-name] - Export a table of the snapshot. database.schema [schema-name] - Export a database schema of the snapshot. This value isn't valid for RDS for MySQL, RDS for MariaDB, or Aurora MySQL. database.schema.table [table-name] - Export a table of the database schema. This value isn't valid for RDS for MySQL, RDS for MariaDB, or Aurora MySQL. ", + "S3Prefix": "The Amazon S3 bucket prefix to use as the file name and path of the exported snapshot." +} +""" +StartExportTask(args) = rds("StartExportTask", args) + +""" + DeleteInstallationMedia() + +Deletes the installation medium for a DB engine that requires an on-premises customer provided license, such as Microsoft SQL Server. + +Required Parameters +{ + "InstallationMediaId": "The installation medium ID." +} +""" +DeleteInstallationMedia(args) = rds("DeleteInstallationMedia", args) + +""" + ModifyDBClusterParameterGroup() + + Modifies the parameters of a DB cluster parameter group. To modify more than one parameter, submit a list of the following: ParameterName, ParameterValue, and ApplyMethod. A maximum of 20 parameters can be modified in a single request. For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide. Changes to dynamic parameters are applied immediately. Changes to static parameters require a reboot without failover to the DB cluster associated with the parameter group before the change can take effect. After you create a DB cluster parameter group, you should wait at least 5 minutes before creating your first DB cluster that uses that DB cluster parameter group as the default parameter group. This allows Amazon RDS to fully complete the create action before the parameter group is used as the default for a new DB cluster. This is especially important for parameters that are critical when creating the default database for a DB cluster, such as the character set for the default database defined by the character_set_database parameter. You can use the Parameter Groups option of the Amazon RDS console or the DescribeDBClusterParameters action to verify that your DB cluster parameter group has been created or modified. If the modified DB cluster parameter group is used by an Aurora Serverless cluster, Aurora applies the update immediately. The cluster restart might interrupt your workload. In that case, your application must reopen any connections and retry any transactions that were active when the parameter changes took effect. This action only applies to Aurora DB clusters. + +Required Parameters +{ + "Parameters": "A list of parameters in the DB cluster parameter group to modify.", + "DBClusterParameterGroupName": "The name of the DB cluster parameter group to modify." +} +""" +ModifyDBClusterParameterGroup(args) = rds("ModifyDBClusterParameterGroup", args) + +""" + DescribeDBSnapshots() + +Returns information about DB snapshots. This API action supports pagination. + +Optional Parameters +{ + "DBInstanceIdentifier": "The ID of the DB instance to retrieve the list of DB snapshots for. This parameter can't be used in conjunction with DBSnapshotIdentifier. This parameter isn't case-sensitive. Constraints: If supplied, must match the identifier of an existing DBInstance. ", + "MaxRecords": " The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that you can retrieve the remaining results. Default: 100 Constraints: Minimum 20, maximum 100.", + "Marker": " An optional pagination token provided by a previous DescribeDBSnapshots request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords. ", + "IncludeShared": "A value that indicates whether to include shared manual DB cluster snapshots from other AWS accounts that this AWS account has been given permission to copy or restore. By default, these snapshots are not included. You can give an AWS account permission to restore a manual DB snapshot from another AWS account by using the ModifyDBSnapshotAttribute API action.", + "IncludePublic": "A value that indicates whether to include manual DB cluster snapshots that are public and can be copied or restored by any AWS account. By default, the public snapshots are not included. You can share a manual DB snapshot as public by using the ModifyDBSnapshotAttribute API.", + "SnapshotType": "The type of snapshots to be returned. You can specify one of the following values: automated - Return all DB snapshots that have been automatically taken by Amazon RDS for my AWS account. manual - Return all DB snapshots that have been taken by my AWS account. shared - Return all manual DB snapshots that have been shared to my AWS account. public - Return all DB snapshots that have been marked as public. awsbackup - Return the DB snapshots managed by the AWS Backup service. For information about AWS Backup, see the AWS Backup Developer Guide. The awsbackup type does not apply to Aurora. If you don't specify a SnapshotType value, then both automated and manual snapshots are returned. Shared and public DB snapshots are not included in the returned results by default. You can include shared snapshots with these results by enabling the IncludeShared parameter. You can include public snapshots with these results by enabling the IncludePublic parameter. The IncludeShared and IncludePublic parameters don't apply for SnapshotType values of manual or automated. The IncludePublic parameter doesn't apply when SnapshotType is set to shared. The IncludeShared parameter doesn't apply when SnapshotType is set to public.", + "Filters": "A filter that specifies one or more DB snapshots to describe. Supported filters: db-instance-id - Accepts DB instance identifiers and DB instance Amazon Resource Names (ARNs). db-snapshot-id - Accepts DB snapshot identifiers. dbi-resource-id - Accepts identifiers of source DB instances. snapshot-type - Accepts types of DB snapshots. engine - Accepts names of database engines. ", + "DBSnapshotIdentifier": " A specific DB snapshot identifier to describe. This parameter can't be used in conjunction with DBInstanceIdentifier. This value is stored as a lowercase string. Constraints: If supplied, must match the identifier of an existing DBSnapshot. If this identifier is for an automated snapshot, the SnapshotType parameter must also be specified. ", + "DbiResourceId": "A specific DB resource ID to describe." +} +""" +DescribeDBSnapshots() = rds("DescribeDBSnapshots") +DescribeDBSnapshots(args) = rds("DescribeDBSnapshots", args) + +""" + DeleteCustomAvailabilityZone() + +Deletes a custom Availability Zone (AZ). A custom AZ is an on-premises AZ that is integrated with a VMware vSphere cluster. For more information about RDS on VMware, see the RDS on VMware User Guide. + +Required Parameters +{ + "CustomAvailabilityZoneId": "The custom AZ identifier." +} +""" +DeleteCustomAvailabilityZone(args) = rds("DeleteCustomAvailabilityZone", args) + +""" + RestoreDBClusterToPointInTime() + +Restores a DB cluster to an arbitrary point in time. Users can restore to any point in time before LatestRestorableTime for up to BackupRetentionPeriod days. The target DB cluster is created from the source DB cluster with the same configuration as the original DB cluster, except that the new DB cluster is created with the default DB security group. This action only restores the DB cluster, not the DB instances for that DB cluster. You must invoke the CreateDBInstance action to create DB instances for the restored DB cluster, specifying the identifier of the restored DB cluster in DBClusterIdentifier. You can create DB instances only after the RestoreDBClusterToPointInTime action has completed and the DB cluster is available. For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide. This action only applies to Aurora DB clusters. + +Required Parameters +{ + "DBClusterIdentifier": "The name of the new DB cluster to be created. Constraints: Must contain from 1 to 63 letters, numbers, or hyphens First character must be a letter Can't end with a hyphen or contain two consecutive hyphens ", + "SourceDBClusterIdentifier": "The identifier of the source DB cluster from which to restore. Constraints: Must match the identifier of an existing DBCluster. " +} + +Optional Parameters +{ + "UseLatestRestorableTime": "A value that indicates whether to restore the DB cluster to the latest restorable backup time. By default, the DB cluster isn't restored to the latest restorable backup time. Constraints: Can't be specified if RestoreToTime parameter is provided.", + "OptionGroupName": "The name of the option group for the new DB cluster.", + "DBSubnetGroupName": "The DB subnet group name to use for the new DB cluster. Constraints: If supplied, must match the name of an existing DBSubnetGroup. Example: mySubnetgroup ", + "Tags": "", + "BacktrackWindow": "The target backtrack window, in seconds. To disable backtracking, set this value to 0. Default: 0 Constraints: If specified, this value must be set to a number from 0 to 259,200 (72 hours). ", + "EnableIAMDatabaseAuthentication": "A value that indicates whether to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts. By default, mapping is disabled. For more information, see IAM Database Authentication in the Amazon Aurora User Guide. ", + "CopyTagsToSnapshot": "A value that indicates whether to copy all tags from the restored DB cluster to snapshots of the restored DB cluster. The default is not to copy them.", + "Domain": "Specify the Active Directory directory ID to restore the DB cluster in. The domain must be created prior to this operation. For Amazon Aurora DB clusters, Amazon RDS can use Kerberos Authentication to authenticate users that connect to the DB cluster. For more information, see Using Kerberos Authentication for Aurora MySQL in the Amazon Aurora User Guide. ", + "DomainIAMRoleName": "Specify the name of the IAM role to be used when making API calls to the Directory Service.", + "DBClusterParameterGroupName": "The name of the DB cluster parameter group to associate with this DB cluster. If this argument is omitted, the default DB cluster parameter group for the specified engine is used. Constraints: If supplied, must match the name of an existing DB cluster parameter group. Must be 1 to 255 letters, numbers, or hyphens. First character must be a letter. Can't end with a hyphen or contain two consecutive hyphens. ", + "Port": "The port number on which the new DB cluster accepts connections. Constraints: A value from 1150-65535. Default: The default port for the engine.", + "EnableCloudwatchLogsExports": "The list of logs that the restored DB cluster is to export to CloudWatch Logs. The values in the list depend on the DB engine being used. For more information, see Publishing Database Logs to Amazon CloudWatch Logs in the Amazon Aurora User Guide.", + "DeletionProtection": "A value that indicates whether the DB cluster has deletion protection enabled. The database can't be deleted when deletion protection is enabled. By default, deletion protection is disabled. ", + "VpcSecurityGroupIds": "A list of VPC security groups that the new DB cluster belongs to.", + "KmsKeyId": "The AWS KMS key identifier to use when restoring an encrypted DB cluster from an encrypted DB cluster. The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are restoring a DB cluster with the same AWS account that owns the KMS encryption key used to encrypt the new DB cluster, then you can use the KMS key alias instead of the ARN for the KMS encryption key. You can restore to a new DB cluster and encrypt the new DB cluster with a KMS key that is different than the KMS key used to encrypt the source DB cluster. The new DB cluster is encrypted with the KMS key identified by the KmsKeyId parameter. If you don't specify a value for the KmsKeyId parameter, then the following occurs: If the DB cluster is encrypted, then the restored DB cluster is encrypted using the KMS key that was used to encrypt the source DB cluster. If the DB cluster isn't encrypted, then the restored DB cluster isn't encrypted. If DBClusterIdentifier refers to a DB cluster that isn't encrypted, then the restore request is rejected.", + "RestoreType": "The type of restore to be performed. You can specify one of the following values: full-copy - The new DB cluster is restored as a full copy of the source DB cluster. copy-on-write - The new DB cluster is restored as a clone of the source DB cluster. Constraints: You can't specify copy-on-write if the engine version of the source DB cluster is earlier than 1.11. If you don't specify a RestoreType value, then the new DB cluster is restored as a full copy of the source DB cluster.", + "RestoreToTime": "The date and time to restore the DB cluster to. Valid Values: Value must be a time in Universal Coordinated Time (UTC) format Constraints: Must be before the latest restorable time for the DB instance Must be specified if UseLatestRestorableTime parameter isn't provided Can't be specified if the UseLatestRestorableTime parameter is enabled Can't be specified if the RestoreType parameter is copy-on-write Example: 2015-03-07T23:45:00Z " +} +""" +RestoreDBClusterToPointInTime(args) = rds("RestoreDBClusterToPointInTime", args) + +""" + DescribeReservedDBInstances() + +Returns information about reserved DB instances for this account, or about a specified reserved DB instance. + +Optional Parameters +{ + "ProductDescription": "The product description filter value. Specify this parameter to show only those reservations matching the specified product description.", + "ReservedDBInstancesOfferingId": "The offering identifier filter value. Specify this parameter to show only purchased reservations matching the specified offering identifier.", + "MaxRecords": " The maximum number of records to include in the response. If more than the MaxRecords value is available, a pagination token called a marker is included in the response so you can retrieve the remaining results. Default: 100 Constraints: Minimum 20, maximum 100.", + "Duration": "The duration filter value, specified in years or seconds. Specify this parameter to show only reservations for this duration. Valid Values: 1 | 3 | 31536000 | 94608000 ", + "OfferingType": "The offering type filter value. Specify this parameter to show only the available offerings matching the specified offering type. Valid Values: \"Partial Upfront\" | \"All Upfront\" | \"No Upfront\" ", + "Marker": " An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords. ", + "DBInstanceClass": "The DB instance class filter value. Specify this parameter to show only those reservations matching the specified DB instances class.", + "ReservedDBInstanceId": "The reserved DB instance identifier filter value. Specify this parameter to show only the reservation that matches the specified reservation ID.", + "LeaseId": "The lease identifier filter value. Specify this parameter to show only the reservation that matches the specified lease ID. AWS Support might request the lease ID for an issue related to a reserved DB instance. ", + "Filters": "This parameter isn't currently supported.", + "MultiAZ": "A value that indicates whether to show only those reservations that support Multi-AZ." +} +""" +DescribeReservedDBInstances() = rds("DescribeReservedDBInstances") +DescribeReservedDBInstances(args) = rds("DescribeReservedDBInstances", args) + +""" + CreateDBInstanceReadReplica() + +Creates a new DB instance that acts as a Read Replica for an existing source DB instance. You can create a Read Replica for a DB instance running MySQL, MariaDB, Oracle, or PostgreSQL. For more information, see Working with Read Replicas in the Amazon RDS User Guide. Amazon Aurora doesn't support this action. You must call the CreateDBInstance action to create a DB instance for an Aurora DB cluster. All Read Replica DB instances are created with backups disabled. All other DB instance attributes (including DB security groups and DB parameter groups) are inherited from the source DB instance, except as specified following. Your source DB instance must have backup retention enabled. + +Required Parameters +{ + "DBInstanceIdentifier": "The DB instance identifier of the Read Replica. This identifier is the unique key that identifies a DB instance. This parameter is stored as a lowercase string.", + "SourceDBInstanceIdentifier": "The identifier of the DB instance that will act as the source for the Read Replica. Each DB instance can have up to five Read Replicas. Constraints: Must be the identifier of an existing MySQL, MariaDB, Oracle, or PostgreSQL DB instance. Can specify a DB instance that is a MySQL Read Replica only if the source is running MySQL 5.6 or later. For the limitations of Oracle Read Replicas, see Read Replica Limitations with Oracle in the Amazon RDS User Guide. Can specify a DB instance that is a PostgreSQL DB instance only if the source is running PostgreSQL 9.3.5 or later (9.4.7 and higher for cross-region replication). The specified DB instance must have automatic backups enabled, its backup retention period must be greater than 0. If the source DB instance is in the same AWS Region as the Read Replica, specify a valid DB instance identifier. If the source DB instance is in a different AWS Region than the Read Replica, specify a valid DB instance ARN. For more information, go to Constructing an ARN for Amazon RDS in the Amazon RDS User Guide. " +} + +Optional Parameters +{ + "PubliclyAccessible": "A value that indicates whether the DB instance is publicly accessible. When the DB instance is publicly accessible, it is an Internet-facing instance with a publicly resolvable DNS name, which resolves to a public IP address. When the DB instance isn't publicly accessible, it is an internal instance with a DNS name that resolves to a private IP address. For more information, see CreateDBInstance.", + "PerformanceInsightsKMSKeyId": "The AWS KMS key identifier for encryption of Performance Insights data. The KMS key ID is the Amazon Resource Name (ARN), KMS key identifier, or the KMS key alias for the KMS encryption key. If you do not specify a value for PerformanceInsightsKMSKeyId, then Amazon RDS uses your default encryption key. AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS Region.", + "UseDefaultProcessorFeatures": "A value that indicates whether the DB instance class of the DB instance uses its default processor features.", + "OptionGroupName": "The option group the DB instance is associated with. If omitted, the option group associated with the source instance is used.", + "AutoMinorVersionUpgrade": "A value that indicates whether minor engine upgrades are applied automatically to the Read Replica during the maintenance window. Default: Inherits from the source DB instance", + "MonitoringInterval": "The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the Read Replica. To disable collecting Enhanced Monitoring metrics, specify 0. The default is 0. If MonitoringRoleArn is specified, then you must also set MonitoringInterval to a value other than 0. Valid Values: 0, 1, 5, 10, 15, 30, 60 ", + "DBSubnetGroupName": "Specifies a DB subnet group for the DB instance. The new DB instance is created in the VPC associated with the DB subnet group. If no DB subnet group is specified, then the new DB instance isn't created in a VPC. Constraints: Can only be specified if the source DB instance identifier specifies a DB instance in another AWS Region. If supplied, must match the name of an existing DBSubnetGroup. The specified DB subnet group must be in the same AWS Region in which the operation is running. All Read Replicas in one AWS Region that are created from the same source DB instance must either:> Specify DB subnet groups from the same VPC. All these Read Replicas are created in the same VPC. Not specify a DB subnet group. All these Read Replicas are created outside of any VPC. Example: mySubnetgroup ", + "Tags": "", + "SourceRegion": "The ID of the region that contains the source for the read replica.", + "CopyTagsToSnapshot": "A value that indicates whether to copy all tags from the Read Replica to snapshots of the Read Replica. By default, tags are not copied.", + "EnableIAMDatabaseAuthentication": "A value that indicates whether to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts. By default, mapping is disabled. For information about the supported DB engines, see CreateDBInstance. For more information about IAM database authentication, see IAM Database Authentication for MySQL and PostgreSQL in the Amazon RDS User Guide. ", + "Domain": "The Active Directory directory ID to create the DB instance in. For Oracle DB instances, Amazon RDS can use Kerberos Authentication to authenticate users that connect to the DB instance. For more information, see Using Kerberos Authentication with Amazon RDS for Oracle in the Amazon RDS User Guide.", + "DBParameterGroupName": "The name of the DB parameter group to associate with this DB instance. If you do not specify a value for DBParameterGroupName, then Amazon RDS uses the DBParameterGroup of source DB instance for a same region Read Replica, or the default DBParameterGroup for the specified DB engine for a cross region Read Replica. Currently, specifying a parameter group for this operation is only supported for Oracle DB instances. Constraints: Must be 1 to 255 letters, numbers, or hyphens. First character must be a letter Can't end with a hyphen or contain two consecutive hyphens ", + "DomainIAMRoleName": "Specify the name of the IAM role to be used when making API calls to the Directory Service.", + "PerformanceInsightsRetentionPeriod": "The amount of time, in days, to retain Performance Insights data. Valid values are 7 or 731 (2 years). ", + "PreSignedUrl": "The URL that contains a Signature Version 4 signed request for the CreateDBInstanceReadReplica API action in the source AWS Region that contains the source DB instance. You must specify this parameter when you create an encrypted Read Replica from another AWS Region by using the Amazon RDS API. Don't specify PreSignedUrl when you are creating an encrypted Read Replica in the same AWS Region. The presigned URL must be a valid request for the CreateDBInstanceReadReplica API action that can be executed in the source AWS Region that contains the encrypted source DB instance. The presigned URL request must contain the following parameter values: DestinationRegion - The AWS Region that the encrypted Read Replica is created in. This AWS Region is the same one where the CreateDBInstanceReadReplica action is called that contains this presigned URL. For example, if you create an encrypted DB instance in the us-west-1 AWS Region, from a source DB instance in the us-east-2 AWS Region, then you call the CreateDBInstanceReadReplica action in the us-east-1 AWS Region and provide a presigned URL that contains a call to the CreateDBInstanceReadReplica action in the us-west-2 AWS Region. For this example, the DestinationRegion in the presigned URL must be set to the us-east-1 AWS Region. KmsKeyId - The AWS KMS key identifier for the key to use to encrypt the Read Replica in the destination AWS Region. This is the same identifier for both the CreateDBInstanceReadReplica action that is called in the destination AWS Region, and the action contained in the presigned URL. SourceDBInstanceIdentifier - The DB instance identifier for the encrypted DB instance to be replicated. This identifier must be in the Amazon Resource Name (ARN) format for the source AWS Region. For example, if you are creating an encrypted Read Replica from a DB instance in the us-west-2 AWS Region, then your SourceDBInstanceIdentifier looks like the following example: arn:aws:rds:us-west-2:123456789012:instance:mysql-instance1-20161115. To learn how to generate a Signature Version 4 signed request, see Authenticating Requests: Using Query Parameters (AWS Signature Version 4) and Signature Version 4 Signing Process. If you are using an AWS SDK tool or the AWS CLI, you can specify SourceRegion (or --source-region for the AWS CLI) instead of specifying PreSignedUrl manually. Specifying SourceRegion autogenerates a pre-signed URL that is a valid request for the operation that can be executed in the source AWS Region. If you supply a value for this operation's SourceRegion parameter, a pre-signed URL will be calculated on your behalf.", + "ProcessorFeatures": "The number of CPU cores and the number of threads per core for the DB instance class of the DB instance.", + "Iops": "The amount of Provisioned IOPS (input/output operations per second) to be initially allocated for the DB instance.", + "DBInstanceClass": "The compute and memory capacity of the Read Replica, for example, db.m4.large. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes, and availability for your engine, see DB Instance Class in the Amazon RDS User Guide. Default: Inherits from the source DB instance.", + "Port": "The port number that the DB instance uses for connections. Default: Inherits from the source DB instance Valid Values: 1150-65535 ", + "MonitoringRoleArn": "The ARN for the IAM role that permits RDS to send enhanced monitoring metrics to Amazon CloudWatch Logs. For example, arn:aws:iam:123456789012:role/emaccess. For information on creating a monitoring role, go to To create an IAM role for Amazon RDS Enhanced Monitoring in the Amazon RDS User Guide. If MonitoringInterval is set to a value other than 0, then you must supply a MonitoringRoleArn value.", + "EnableCloudwatchLogsExports": "The list of logs that the new DB instance is to export to CloudWatch Logs. The values in the list depend on the DB engine being used. For more information, see Publishing Database Logs to Amazon CloudWatch Logs in the Amazon RDS User Guide.", + "AvailabilityZone": "The Availability Zone (AZ) where the Read Replica will be created. Default: A random, system-chosen Availability Zone in the endpoint's AWS Region. Example: us-east-1d ", + "DeletionProtection": "A value that indicates whether the DB instance has deletion protection enabled. The database can't be deleted when deletion protection is enabled. By default, deletion protection is disabled. For more information, see Deleting a DB Instance. ", + "VpcSecurityGroupIds": " A list of EC2 VPC security groups to associate with the Read Replica. Default: The default EC2 VPC security group for the DB subnet group's VPC. ", + "StorageType": "Specifies the storage type to be associated with the Read Replica. Valid values: standard | gp2 | io1 If you specify io1, you must also include a value for the Iops parameter. Default: io1 if the Iops parameter is specified, otherwise gp2 ", + "KmsKeyId": "The AWS KMS key ID for an encrypted Read Replica. The KMS key ID is the Amazon Resource Name (ARN), KMS key identifier, or the KMS key alias for the KMS encryption key. If you create an encrypted Read Replica in the same AWS Region as the source DB instance, then you do not have to specify a value for this parameter. The Read Replica is encrypted with the same KMS key as the source DB instance. If you create an encrypted Read Replica in a different AWS Region, then you must specify a KMS key for the destination AWS Region. KMS encryption keys are specific to the AWS Region that they are created in, and you can't use encryption keys from one AWS Region in another AWS Region. You can't create an encrypted Read Replica from an unencrypted DB instance. ", + "EnablePerformanceInsights": "A value that indicates whether to enable Performance Insights for the Read Replica. For more information, see Using Amazon Performance Insights in the Amazon RDS User Guide. ", + "MultiAZ": "A value that indicates whether the Read Replica is in a Multi-AZ deployment. You can create a Read Replica as a Multi-AZ DB instance. RDS creates a standby of your replica in another Availability Zone for failover support for the replica. Creating your Read Replica as a Multi-AZ DB instance is independent of whether the source database is a Multi-AZ DB instance. " +} +""" +CreateDBInstanceReadReplica(args) = rds("CreateDBInstanceReadReplica", args) + +""" + ListTagsForResource() + +Lists all tags on an Amazon RDS resource. For an overview on tagging an Amazon RDS resource, see Tagging Amazon RDS Resources in the Amazon RDS User Guide. + +Required Parameters +{ + "ResourceName": "The Amazon RDS resource with tags to be listed. This value is an Amazon Resource Name (ARN). For information about creating an ARN, see Constructing an ARN for Amazon RDS in the Amazon RDS User Guide." +} + +Optional Parameters +{ + "Filters": "This parameter isn't currently supported." +} +""" +ListTagsForResource(args) = rds("ListTagsForResource", args) + +""" + PromoteReadReplicaDBCluster() + +Promotes a Read Replica DB cluster to a standalone DB cluster. This action only applies to Aurora DB clusters. + +Required Parameters +{ + "DBClusterIdentifier": "The identifier of the DB cluster Read Replica to promote. This parameter isn't case-sensitive. Constraints: Must match the identifier of an existing DBCluster Read Replica. Example: my-cluster-replica1 " +} +""" +PromoteReadReplicaDBCluster(args) = rds("PromoteReadReplicaDBCluster", args) + +""" + DescribeReservedDBInstancesOfferings() + +Lists available reserved DB instance offerings. + +Optional Parameters +{ + "ReservedDBInstancesOfferingId": "The offering identifier filter value. Specify this parameter to show only the available offering that matches the specified reservation identifier. Example: 438012d3-4052-4cc7-b2e3-8d3372e0e706 ", + "MaxRecords": " The maximum number of records to include in the response. If more than the MaxRecords value is available, a pagination token called a marker is included in the response so you can retrieve the remaining results. Default: 100 Constraints: Minimum 20, maximum 100.", + "Marker": " An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords. ", + "ProductDescription": "Product description filter value. Specify this parameter to show only the available offerings that contain the specified product description. The results show offerings that partially match the filter value. ", + "Duration": "Duration filter value, specified in years or seconds. Specify this parameter to show only reservations for this duration. Valid Values: 1 | 3 | 31536000 | 94608000 ", + "OfferingType": "The offering type filter value. Specify this parameter to show only the available offerings matching the specified offering type. Valid Values: \"Partial Upfront\" | \"All Upfront\" | \"No Upfront\" ", + "Filters": "This parameter isn't currently supported.", + "DBInstanceClass": "The DB instance class filter value. Specify this parameter to show only the available offerings matching the specified DB instance class.", + "MultiAZ": "A value that indicates whether to show only those reservations that support Multi-AZ." +} +""" +DescribeReservedDBInstancesOfferings() = rds("DescribeReservedDBInstancesOfferings") +DescribeReservedDBInstancesOfferings(args) = rds("DescribeReservedDBInstancesOfferings", args) + +""" + DescribeDBParameters() + +Returns the detailed parameter list for a particular DB parameter group. + +Required Parameters +{ + "DBParameterGroupName": "The name of a specific DB parameter group to return details for. Constraints: If supplied, must match the name of an existing DBParameterGroup. " +} + +Optional Parameters +{ + "MaxRecords": " The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that you can retrieve the remaining results. Default: 100 Constraints: Minimum 20, maximum 100.", + "Marker": " An optional pagination token provided by a previous DescribeDBParameters request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords. ", + "Source": "The parameter types to return. Default: All parameter types returned Valid Values: user | system | engine-default ", + "Filters": "This parameter isn't currently supported." +} +""" +DescribeDBParameters(args) = rds("DescribeDBParameters", args) + +""" + DescribeDBClusterSnapshotAttributes() + +Returns a list of DB cluster snapshot attribute names and values for a manual DB cluster snapshot. When sharing snapshots with other AWS accounts, DescribeDBClusterSnapshotAttributes returns the restore attribute and a list of IDs for the AWS accounts that are authorized to copy or restore the manual DB cluster snapshot. If all is included in the list of values for the restore attribute, then the manual DB cluster snapshot is public and can be copied or restored by all AWS accounts. To add or remove access for an AWS account to copy or restore a manual DB cluster snapshot, or to make the manual DB cluster snapshot public or private, use the ModifyDBClusterSnapshotAttribute API action. This action only applies to Aurora DB clusters. + +Required Parameters +{ + "DBClusterSnapshotIdentifier": "The identifier for the DB cluster snapshot to describe the attributes for." +} +""" +DescribeDBClusterSnapshotAttributes(args) = rds("DescribeDBClusterSnapshotAttributes", args) + +""" + StartActivityStream() + +Starts a database activity stream to monitor activity on the database. For more information, see Database Activity Streams in the Amazon Aurora User Guide. + +Required Parameters +{ + "Mode": "Specifies the mode of the database activity stream. Database events such as a change or access generate an activity stream event. The database session can handle these events either synchronously or asynchronously. ", + "ResourceArn": "The Amazon Resource Name (ARN) of the DB cluster, for example arn:aws:rds:us-east-1:12345667890:cluster:das-cluster.", + "KmsKeyId": "The AWS KMS key identifier for encrypting messages in the database activity stream. The key identifier can be either a key ID, a key ARN, or a key alias." +} + +Optional Parameters +{ + "ApplyImmediately": "Specifies whether or not the database activity stream is to start as soon as possible, regardless of the maintenance window for the database." +} +""" +StartActivityStream(args) = rds("StartActivityStream", args) + +""" + CreateDBSecurityGroup() + +Creates a new DB security group. DB security groups control access to a DB instance. A DB security group controls access to EC2-Classic DB instances that are not in a VPC. + +Required Parameters +{ + "DBSecurityGroupDescription": "The description for the DB security group.", + "DBSecurityGroupName": "The name for the DB security group. This value is stored as a lowercase string. Constraints: Must be 1 to 255 letters, numbers, or hyphens. First character must be a letter Can't end with a hyphen or contain two consecutive hyphens Must not be \"Default\" Example: mysecuritygroup " +} + +Optional Parameters +{ + "Tags": "Tags to assign to the DB security group." +} +""" +CreateDBSecurityGroup(args) = rds("CreateDBSecurityGroup", args) + +""" + DeregisterDBProxyTargets() + + This is prerelease documentation for the RDS Database Proxy feature in preview release. It is subject to change. Remove the association between one or more DBProxyTarget data structures and a DBProxyTargetGroup. + +Required Parameters +{ + "DBProxyName": "The identifier of the DBProxy that is associated with the DBProxyTargetGroup." +} + +Optional Parameters +{ + "DBInstanceIdentifiers": "One or more DB instance identifiers.", + "DBClusterIdentifiers": "One or more DB cluster identifiers.", + "TargetGroupName": "The identifier of the DBProxyTargetGroup." +} +""" +DeregisterDBProxyTargets(args) = rds("DeregisterDBProxyTargets", args) + +""" + DescribeDBLogFiles() + +Returns a list of DB log files for the DB instance. + +Required Parameters +{ + "DBInstanceIdentifier": "The customer-assigned name of the DB instance that contains the log files you want to list. Constraints: Must match the identifier of an existing DBInstance. " +} + +Optional Parameters +{ + "MaxRecords": "The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so you can retrieve the remaining results.", + "Marker": "The pagination token provided in the previous request. If this parameter is specified the response includes only records beyond the marker, up to MaxRecords.", + "FileSize": "Filters the available log files for files larger than the specified size.", + "FileLastWritten": "Filters the available log files for files written since the specified date, in POSIX timestamp format with milliseconds.", + "Filters": "This parameter isn't currently supported.", + "FilenameContains": "Filters the available log files for log file names that contain the specified string." +} +""" +DescribeDBLogFiles(args) = rds("DescribeDBLogFiles", args) + +""" + DescribeDBProxyTargetGroups() + + This is prerelease documentation for the RDS Database Proxy feature in preview release. It is subject to change. Returns information about DB proxy target groups, represented by DBProxyTargetGroup data structures. + +Required Parameters +{ + "DBProxyName": "The identifier of the DBProxy associated with the target group." +} + +Optional Parameters +{ + "Marker": " An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords. ", + "MaxRecords": " The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved. Default: 100 Constraints: Minimum 20, maximum 100.", + "Filters": "This parameter is not currently supported.", + "TargetGroupName": "The identifier of the DBProxyTargetGroup to describe." +} +""" +DescribeDBProxyTargetGroups(args) = rds("DescribeDBProxyTargetGroups", args) + +""" + DescribeDBInstanceAutomatedBackups() + +Displays backups for both current and deleted instances. For example, use this operation to find details about automated backups for previously deleted instances. Current instances with retention periods greater than zero (0) are returned for both the DescribeDBInstanceAutomatedBackups and DescribeDBInstances operations. All parameters are optional. + +Optional Parameters +{ + "DBInstanceIdentifier": "(Optional) The user-supplied instance identifier. If this parameter is specified, it must match the identifier of an existing DB instance. It returns information from the specific DB instance' automated backup. This parameter isn't case-sensitive. ", + "MaxRecords": "The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that you can retrieve the remaining results.", + "Marker": "The pagination token provided in the previous request. If this parameter is specified the response includes only records beyond the marker, up to MaxRecords.", + "Filters": "A filter that specifies which resources to return based on status. Supported filters are the following: status active - automated backups for current instances retained - automated backups for deleted instances creating - automated backups that are waiting for the first automated snapshot to be available db-instance-id - Accepts DB instance identifiers and Amazon Resource Names (ARNs) for DB instances. The results list includes only information about the DB instance automated backupss identified by these ARNs. dbi-resource-id - Accepts DB instance resource identifiers and DB Amazon Resource Names (ARNs) for DB instances. The results list includes only information about the DB instance resources identified by these ARNs. Returns all resources by default. The status for each resource is specified in the response.", + "DbiResourceId": "The resource ID of the DB instance that is the source of the automated backup. This parameter isn't case-sensitive. " +} +""" +DescribeDBInstanceAutomatedBackups() = rds("DescribeDBInstanceAutomatedBackups") +DescribeDBInstanceAutomatedBackups(args) = rds("DescribeDBInstanceAutomatedBackups", args) + +""" + DescribeOptionGroups() + +Describes the available option groups. + +Optional Parameters +{ + "Marker": " An optional pagination token provided by a previous DescribeOptionGroups request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords. ", + "MaxRecords": " The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that you can retrieve the remaining results. Default: 100 Constraints: Minimum 20, maximum 100.", + "EngineName": "Filters the list of option groups to only include groups associated with a specific database engine.", + "OptionGroupName": "The name of the option group to describe. Can't be supplied together with EngineName or MajorEngineVersion.", + "MajorEngineVersion": "Filters the list of option groups to only include groups associated with a specific database engine version. If specified, then EngineName must also be specified.", + "Filters": "This parameter isn't currently supported." +} +""" +DescribeOptionGroups() = rds("DescribeOptionGroups") +DescribeOptionGroups(args) = rds("DescribeOptionGroups", args) + +""" + RemoveFromGlobalCluster() + + Detaches an Aurora secondary cluster from an Aurora global database cluster. The cluster becomes a standalone cluster with read-write capability instead of being read-only and receiving data from a primary cluster in a different region. This action only applies to Aurora DB clusters. + +Optional Parameters +{ + "DbClusterIdentifier": " The Amazon Resource Name (ARN) identifying the cluster that was detached from the Aurora global database cluster. ", + "GlobalClusterIdentifier": " The cluster identifier to detach from the Aurora global database cluster. " +} +""" +RemoveFromGlobalCluster() = rds("RemoveFromGlobalCluster") +RemoveFromGlobalCluster(args) = rds("RemoveFromGlobalCluster", args) + +""" + ModifyDBClusterSnapshotAttribute() + +Adds an attribute and values to, or removes an attribute and values from, a manual DB cluster snapshot. To share a manual DB cluster snapshot with other AWS accounts, specify restore as the AttributeName and use the ValuesToAdd parameter to add a list of IDs of the AWS accounts that are authorized to restore the manual DB cluster snapshot. Use the value all to make the manual DB cluster snapshot public, which means that it can be copied or restored by all AWS accounts. Do not add the all value for any manual DB cluster snapshots that contain private information that you don't want available to all AWS accounts. If a manual DB cluster snapshot is encrypted, it can be shared, but only by specifying a list of authorized AWS account IDs for the ValuesToAdd parameter. You can't use all as a value for that parameter in this case. To view which AWS accounts have access to copy or restore a manual DB cluster snapshot, or whether a manual DB cluster snapshot public or private, use the DescribeDBClusterSnapshotAttributes API action. This action only applies to Aurora DB clusters. + +Required Parameters +{ + "AttributeName": "The name of the DB cluster snapshot attribute to modify. To manage authorization for other AWS accounts to copy or restore a manual DB cluster snapshot, set this value to restore.", + "DBClusterSnapshotIdentifier": "The identifier for the DB cluster snapshot to modify the attributes for." +} + +Optional Parameters +{ + "ValuesToAdd": "A list of DB cluster snapshot attributes to add to the attribute specified by AttributeName. To authorize other AWS accounts to copy or restore a manual DB cluster snapshot, set this list to include one or more AWS account IDs, or all to make the manual DB cluster snapshot restorable by any AWS account. Do not add the all value for any manual DB cluster snapshots that contain private information that you don't want available to all AWS accounts.", + "ValuesToRemove": "A list of DB cluster snapshot attributes to remove from the attribute specified by AttributeName. To remove authorization for other AWS accounts to copy or restore a manual DB cluster snapshot, set this list to include one or more AWS account identifiers, or all to remove authorization for any AWS account to copy or restore the DB cluster snapshot. If you specify all, an AWS account whose account ID is explicitly added to the restore attribute can still copy or restore a manual DB cluster snapshot." +} +""" +ModifyDBClusterSnapshotAttribute(args) = rds("ModifyDBClusterSnapshotAttribute", args) + +""" + DescribeGlobalClusters() + + Returns information about Aurora global database clusters. This API supports pagination. For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide. This action only applies to Aurora DB clusters. + +Optional Parameters +{ + "MaxRecords": " The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that you can retrieve the remaining results. Default: 100 Constraints: Minimum 20, maximum 100.", + "Marker": " An optional pagination token provided by a previous DescribeGlobalClusters request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords. ", + "GlobalClusterIdentifier": " The user-supplied DB cluster identifier. If this parameter is specified, information from only the specific DB cluster is returned. This parameter isn't case-sensitive. Constraints: If supplied, must match an existing DBClusterIdentifier. ", + "Filters": "A filter that specifies one or more global DB clusters to describe. Supported filters: db-cluster-id - Accepts DB cluster identifiers and DB cluster Amazon Resource Names (ARNs). The results list will only include information about the DB clusters identified by these ARNs. " +} +""" +DescribeGlobalClusters() = rds("DescribeGlobalClusters") +DescribeGlobalClusters(args) = rds("DescribeGlobalClusters", args) + +""" + AddTagsToResource() + +Adds metadata tags to an Amazon RDS resource. These tags can also be used with cost allocation reporting to track cost associated with Amazon RDS resources, or used in a Condition statement in an IAM policy for Amazon RDS. For an overview on tagging Amazon RDS resources, see Tagging Amazon RDS Resources. + +Required Parameters +{ + "Tags": "The tags to be assigned to the Amazon RDS resource.", + "ResourceName": "The Amazon RDS resource that the tags are added to. This value is an Amazon Resource Name (ARN). For information about creating an ARN, see Constructing an RDS Amazon Resource Name (ARN)." +} +""" +AddTagsToResource(args) = rds("AddTagsToResource", args) + +""" + AddRoleToDBInstance() + +Associates an AWS Identity and Access Management (IAM) role with a DB instance. To add a role to a DB instance, the status of the DB instance must be available. + +Required Parameters +{ + "DBInstanceIdentifier": "The name of the DB instance to associate the IAM role with.", + "RoleArn": "The Amazon Resource Name (ARN) of the IAM role to associate with the DB instance, for example arn:aws:iam::123456789012:role/AccessRole. ", + "FeatureName": "The name of the feature for the DB instance that the IAM role is to be associated with. For the list of supported feature names, see DBEngineVersion. " +} +""" +AddRoleToDBInstance(args) = rds("AddRoleToDBInstance", args) + +""" + DeleteDBSecurityGroup() + +Deletes a DB security group. The specified DB security group must not be associated with any DB instances. + +Required Parameters +{ + "DBSecurityGroupName": "The name of the DB security group to delete. You can't delete the default DB security group. Constraints: Must be 1 to 255 letters, numbers, or hyphens. First character must be a letter Can't end with a hyphen or contain two consecutive hyphens Must not be \"Default\" " +} +""" +DeleteDBSecurityGroup(args) = rds("DeleteDBSecurityGroup", args) + +""" + CreateDBClusterSnapshot() + +Creates a snapshot of a DB cluster. For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide. This action only applies to Aurora DB clusters. + +Required Parameters +{ + "DBClusterSnapshotIdentifier": "The identifier of the DB cluster snapshot. This parameter is stored as a lowercase string. Constraints: Must contain from 1 to 63 letters, numbers, or hyphens. First character must be a letter. Can't end with a hyphen or contain two consecutive hyphens. Example: my-cluster1-snapshot1 ", + "DBClusterIdentifier": "The identifier of the DB cluster to create a snapshot for. This parameter isn't case-sensitive. Constraints: Must match the identifier of an existing DBCluster. Example: my-cluster1 " +} + +Optional Parameters +{ + "Tags": "The tags to be assigned to the DB cluster snapshot." +} +""" +CreateDBClusterSnapshot(args) = rds("CreateDBClusterSnapshot", args) + +""" + RemoveTagsFromResource() + +Removes metadata tags from an Amazon RDS resource. For an overview on tagging an Amazon RDS resource, see Tagging Amazon RDS Resources in the Amazon RDS User Guide. + +Required Parameters +{ + "ResourceName": "The Amazon RDS resource that the tags are removed from. This value is an Amazon Resource Name (ARN). For information about creating an ARN, see Constructing an ARN for Amazon RDS in the Amazon RDS User Guide. ", + "TagKeys": "The tag key (name) of the tag to be removed." +} +""" +RemoveTagsFromResource(args) = rds("RemoveTagsFromResource", args) + +""" + StartDBInstance() + + Starts an Amazon RDS DB instance that was stopped using the AWS console, the stop-db-instance AWS CLI command, or the StopDBInstance action. For more information, see Starting an Amazon RDS DB instance That Was Previously Stopped in the Amazon RDS User Guide. This command doesn't apply to Aurora MySQL and Aurora PostgreSQL. For Aurora DB clusters, use StartDBCluster instead. + +Required Parameters +{ + "DBInstanceIdentifier": " The user-supplied instance identifier. " +} +""" +StartDBInstance(args) = rds("StartDBInstance", args) + +""" + DescribeDBProxyTargets() + + This is prerelease documentation for the RDS Database Proxy feature in preview release. It is subject to change. Returns information about DBProxyTarget objects. This API supports pagination. + +Required Parameters +{ + "DBProxyName": "The identifier of the DBProxyTarget to describe." +} + +Optional Parameters +{ + "Marker": " An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords. ", + "MaxRecords": " The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved. Default: 100 Constraints: Minimum 20, maximum 100.", + "Filters": "This parameter is not currently supported.", + "TargetGroupName": "The identifier of the DBProxyTargetGroup to describe." +} +""" +DescribeDBProxyTargets(args) = rds("DescribeDBProxyTargets", args) + +""" + RebootDBInstance() + +You might need to reboot your DB instance, usually for maintenance reasons. For example, if you make certain modifications, or if you change the DB parameter group associated with the DB instance, you must reboot the instance for the changes to take effect. Rebooting a DB instance restarts the database engine service. Rebooting a DB instance results in a momentary outage, during which the DB instance status is set to rebooting. For more information about rebooting, see Rebooting a DB Instance in the Amazon RDS User Guide. + +Required Parameters +{ + "DBInstanceIdentifier": "The DB instance identifier. This parameter is stored as a lowercase string. Constraints: Must match the identifier of an existing DBInstance. " +} + +Optional Parameters +{ + "ForceFailover": " A value that indicates whether the reboot is conducted through a Multi-AZ failover. Constraint: You can't enable force failover if the instance isn't configured for Multi-AZ." +} +""" +RebootDBInstance(args) = rds("RebootDBInstance", args) + +""" + DescribeSourceRegions() + +Returns a list of the source AWS Regions where the current AWS Region can create a Read Replica or copy a DB snapshot from. This API action supports pagination. + +Optional Parameters +{ + "MaxRecords": "The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so you can retrieve the remaining results. Default: 100 Constraints: Minimum 20, maximum 100.", + "Marker": "An optional pagination token provided by a previous DescribeSourceRegions request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.", + "RegionName": "The source AWS Region name. For example, us-east-1. Constraints: Must specify a valid AWS Region name. ", + "Filters": "This parameter isn't currently supported." +} +""" +DescribeSourceRegions() = rds("DescribeSourceRegions") +DescribeSourceRegions(args) = rds("DescribeSourceRegions", args) + +""" + CopyDBClusterSnapshot() + +Copies a snapshot of a DB cluster. To copy a DB cluster snapshot from a shared manual DB cluster snapshot, SourceDBClusterSnapshotIdentifier must be the Amazon Resource Name (ARN) of the shared DB cluster snapshot. You can copy an encrypted DB cluster snapshot from another AWS Region. In that case, the AWS Region where you call the CopyDBClusterSnapshot action is the destination AWS Region for the encrypted DB cluster snapshot to be copied to. To copy an encrypted DB cluster snapshot from another AWS Region, you must provide the following values: KmsKeyId - The AWS Key Management System (AWS KMS) key identifier for the key to use to encrypt the copy of the DB cluster snapshot in the destination AWS Region. PreSignedUrl - A URL that contains a Signature Version 4 signed request for the CopyDBClusterSnapshot action to be called in the source AWS Region where the DB cluster snapshot is copied from. The pre-signed URL must be a valid request for the CopyDBClusterSnapshot API action that can be executed in the source AWS Region that contains the encrypted DB cluster snapshot to be copied. The pre-signed URL request must contain the following parameter values: KmsKeyId - The KMS key identifier for the key to use to encrypt the copy of the DB cluster snapshot in the destination AWS Region. This is the same identifier for both the CopyDBClusterSnapshot action that is called in the destination AWS Region, and the action contained in the pre-signed URL. DestinationRegion - The name of the AWS Region that the DB cluster snapshot is to be created in. SourceDBClusterSnapshotIdentifier - The DB cluster snapshot identifier for the encrypted DB cluster snapshot to be copied. This identifier must be in the Amazon Resource Name (ARN) format for the source AWS Region. For example, if you are copying an encrypted DB cluster snapshot from the us-west-2 AWS Region, then your SourceDBClusterSnapshotIdentifier looks like the following example: arn:aws:rds:us-west-2:123456789012:cluster-snapshot:aurora-cluster1-snapshot-20161115. To learn how to generate a Signature Version 4 signed request, see Authenticating Requests: Using Query Parameters (AWS Signature Version 4) and Signature Version 4 Signing Process. If you are using an AWS SDK tool or the AWS CLI, you can specify SourceRegion (or --source-region for the AWS CLI) instead of specifying PreSignedUrl manually. Specifying SourceRegion autogenerates a pre-signed URL that is a valid request for the operation that can be executed in the source AWS Region. TargetDBClusterSnapshotIdentifier - The identifier for the new copy of the DB cluster snapshot in the destination AWS Region. SourceDBClusterSnapshotIdentifier - The DB cluster snapshot identifier for the encrypted DB cluster snapshot to be copied. This identifier must be in the ARN format for the source AWS Region and is the same value as the SourceDBClusterSnapshotIdentifier in the pre-signed URL. To cancel the copy operation once it is in progress, delete the target DB cluster snapshot identified by TargetDBClusterSnapshotIdentifier while that DB cluster snapshot is in "copying" status. For more information on copying encrypted DB cluster snapshots from one AWS Region to another, see Copying a Snapshot in the Amazon Aurora User Guide. For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide. This action only applies to Aurora DB clusters. + +Required Parameters +{ + "TargetDBClusterSnapshotIdentifier": "The identifier of the new DB cluster snapshot to create from the source DB cluster snapshot. This parameter isn't case-sensitive. Constraints: Must contain from 1 to 63 letters, numbers, or hyphens. First character must be a letter. Can't end with a hyphen or contain two consecutive hyphens. Example: my-cluster-snapshot2 ", + "SourceDBClusterSnapshotIdentifier": "The identifier of the DB cluster snapshot to copy. This parameter isn't case-sensitive. You can't copy an encrypted, shared DB cluster snapshot from one AWS Region to another. Constraints: Must specify a valid system snapshot in the \"available\" state. If the source snapshot is in the same AWS Region as the copy, specify a valid DB snapshot identifier. If the source snapshot is in a different AWS Region than the copy, specify a valid DB cluster snapshot ARN. For more information, go to Copying Snapshots Across AWS Regions in the Amazon Aurora User Guide. Example: my-cluster-snapshot1 " +} + +Optional Parameters +{ + "Tags": "", + "SourceRegion": "The ID of the region that contains the snapshot to be copied.", + "PreSignedUrl": "The URL that contains a Signature Version 4 signed request for the CopyDBClusterSnapshot API action in the AWS Region that contains the source DB cluster snapshot to copy. The PreSignedUrl parameter must be used when copying an encrypted DB cluster snapshot from another AWS Region. Don't specify PreSignedUrl when you are copying an encrypted DB cluster snapshot in the same AWS Region. The pre-signed URL must be a valid request for the CopyDBSClusterSnapshot API action that can be executed in the source AWS Region that contains the encrypted DB cluster snapshot to be copied. The pre-signed URL request must contain the following parameter values: KmsKeyId - The AWS KMS key identifier for the key to use to encrypt the copy of the DB cluster snapshot in the destination AWS Region. This is the same identifier for both the CopyDBClusterSnapshot action that is called in the destination AWS Region, and the action contained in the pre-signed URL. DestinationRegion - The name of the AWS Region that the DB cluster snapshot is to be created in. SourceDBClusterSnapshotIdentifier - The DB cluster snapshot identifier for the encrypted DB cluster snapshot to be copied. This identifier must be in the Amazon Resource Name (ARN) format for the source AWS Region. For example, if you are copying an encrypted DB cluster snapshot from the us-west-2 AWS Region, then your SourceDBClusterSnapshotIdentifier looks like the following example: arn:aws:rds:us-west-2:123456789012:cluster-snapshot:aurora-cluster1-snapshot-20161115. To learn how to generate a Signature Version 4 signed request, see Authenticating Requests: Using Query Parameters (AWS Signature Version 4) and Signature Version 4 Signing Process. If you are using an AWS SDK tool or the AWS CLI, you can specify SourceRegion (or --source-region for the AWS CLI) instead of specifying PreSignedUrl manually. Specifying SourceRegion autogenerates a pre-signed URL that is a valid request for the operation that can be executed in the source AWS Region. If you supply a value for this operation's SourceRegion parameter, a pre-signed URL will be calculated on your behalf.", + "CopyTags": "A value that indicates whether to copy all tags from the source DB cluster snapshot to the target DB cluster snapshot. By default, tags are not copied.", + "KmsKeyId": "The AWS KMS key ID for an encrypted DB cluster snapshot. The KMS key ID is the Amazon Resource Name (ARN), KMS key identifier, or the KMS key alias for the KMS encryption key. If you copy an encrypted DB cluster snapshot from your AWS account, you can specify a value for KmsKeyId to encrypt the copy with a new KMS encryption key. If you don't specify a value for KmsKeyId, then the copy of the DB cluster snapshot is encrypted with the same KMS key as the source DB cluster snapshot. If you copy an encrypted DB cluster snapshot that is shared from another AWS account, then you must specify a value for KmsKeyId. To copy an encrypted DB cluster snapshot to another AWS Region, you must set KmsKeyId to the KMS key ID you want to use to encrypt the copy of the DB cluster snapshot in the destination AWS Region. KMS encryption keys are specific to the AWS Region that they are created in, and you can't use encryption keys from one AWS Region in another AWS Region. If you copy an unencrypted DB cluster snapshot and specify a value for the KmsKeyId parameter, an error is returned." +} +""" +CopyDBClusterSnapshot(args) = rds("CopyDBClusterSnapshot", args) + +""" + DescribeDBSnapshotAttributes() + +Returns a list of DB snapshot attribute names and values for a manual DB snapshot. When sharing snapshots with other AWS accounts, DescribeDBSnapshotAttributes returns the restore attribute and a list of IDs for the AWS accounts that are authorized to copy or restore the manual DB snapshot. If all is included in the list of values for the restore attribute, then the manual DB snapshot is public and can be copied or restored by all AWS accounts. To add or remove access for an AWS account to copy or restore a manual DB snapshot, or to make the manual DB snapshot public or private, use the ModifyDBSnapshotAttribute API action. + +Required Parameters +{ + "DBSnapshotIdentifier": "The identifier for the DB snapshot to describe the attributes for." +} +""" +DescribeDBSnapshotAttributes(args) = rds("DescribeDBSnapshotAttributes", args) + +""" + DescribeDBSubnetGroups() + +Returns a list of DBSubnetGroup descriptions. If a DBSubnetGroupName is specified, the list will contain only the descriptions of the specified DBSubnetGroup. For an overview of CIDR ranges, go to the Wikipedia Tutorial. + +Optional Parameters +{ + "MaxRecords": " The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that you can retrieve the remaining results. Default: 100 Constraints: Minimum 20, maximum 100.", + "DBSubnetGroupName": "The name of the DB subnet group to return details for.", + "Marker": " An optional pagination token provided by a previous DescribeDBSubnetGroups request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords. ", + "Filters": "This parameter isn't currently supported." +} +""" +DescribeDBSubnetGroups() = rds("DescribeDBSubnetGroups") +DescribeDBSubnetGroups(args) = rds("DescribeDBSubnetGroups", args) + +""" + ModifyOptionGroup() + +Modifies an existing option group. + +Required Parameters +{ + "OptionGroupName": "The name of the option group to be modified. Permanent options, such as the TDE option for Oracle Advanced Security TDE, can't be removed from an option group, and that option group can't be removed from a DB instance once it is associated with a DB instance" +} + +Optional Parameters +{ + "ApplyImmediately": "A value that indicates whether to apply the change immediately or during the next maintenance window for each instance associated with the option group.", + "OptionsToInclude": "Options in this list are added to the option group or, if already present, the specified configuration is used to update the existing configuration.", + "OptionsToRemove": "Options in this list are removed from the option group." +} +""" +ModifyOptionGroup(args) = rds("ModifyOptionGroup", args) + +""" + CreateDBInstance() + +Creates a new DB instance. + +Required Parameters +{ + "DBInstanceIdentifier": "The DB instance identifier. This parameter is stored as a lowercase string. Constraints: Must contain from 1 to 63 letters, numbers, or hyphens. First character must be a letter. Can't end with a hyphen or contain two consecutive hyphens. Example: mydbinstance ", + "Engine": "The name of the database engine to be used for this instance. Not every database engine is available for every AWS Region. Valid Values: aurora (for MySQL 5.6-compatible Aurora) aurora-mysql (for MySQL 5.7-compatible Aurora) aurora-postgresql mariadb mysql oracle-ee oracle-se2 oracle-se1 oracle-se postgres sqlserver-ee sqlserver-se sqlserver-ex sqlserver-web ", + "DBInstanceClass": "The compute and memory capacity of the DB instance, for example, db.m4.large. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes, and availability for your engine, see DB Instance Class in the Amazon RDS User Guide. " +} + +Optional Parameters +{ + "PreferredMaintenanceWindow": "The time range each week during which system maintenance can occur, in Universal Coordinated Time (UTC). For more information, see Amazon RDS Maintenance Window. Format: ddd:hh24:mi-ddd:hh24:mi The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region, occurring on a random day of the week. Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun. Constraints: Minimum 30-minute window.", + "AllocatedStorage": "The amount of storage (in gibibytes) to allocate for the DB instance. Type: Integer Amazon Aurora Not applicable. Aurora cluster volumes automatically grow as the amount of data in your database increases, though you are only charged for the space that you use in an Aurora cluster volume. MySQL Constraints to the amount of storage for each storage type are the following: General Purpose (SSD) storage (gp2): Must be an integer from 20 to 65536. Provisioned IOPS storage (io1): Must be an integer from 100 to 65536. Magnetic storage (standard): Must be an integer from 5 to 3072. MariaDB Constraints to the amount of storage for each storage type are the following: General Purpose (SSD) storage (gp2): Must be an integer from 20 to 65536. Provisioned IOPS storage (io1): Must be an integer from 100 to 65536. Magnetic storage (standard): Must be an integer from 5 to 3072. PostgreSQL Constraints to the amount of storage for each storage type are the following: General Purpose (SSD) storage (gp2): Must be an integer from 20 to 65536. Provisioned IOPS storage (io1): Must be an integer from 100 to 65536. Magnetic storage (standard): Must be an integer from 5 to 3072. Oracle Constraints to the amount of storage for each storage type are the following: General Purpose (SSD) storage (gp2): Must be an integer from 20 to 65536. Provisioned IOPS storage (io1): Must be an integer from 100 to 65536. Magnetic storage (standard): Must be an integer from 10 to 3072. SQL Server Constraints to the amount of storage for each storage type are the following: General Purpose (SSD) storage (gp2): Enterprise and Standard editions: Must be an integer from 200 to 16384. Web and Express editions: Must be an integer from 20 to 16384. Provisioned IOPS storage (io1): Enterprise and Standard editions: Must be an integer from 200 to 16384. Web and Express editions: Must be an integer from 100 to 16384. Magnetic storage (standard): Enterprise and Standard editions: Must be an integer from 200 to 1024. Web and Express editions: Must be an integer from 20 to 1024. ", + "StorageEncrypted": "A value that indicates whether the DB instance is encrypted. By default, it isn't encrypted. Amazon Aurora Not applicable. The encryption for DB instances is managed by the DB cluster.", + "CopyTagsToSnapshot": "A value that indicates whether to copy tags from the DB instance to snapshots of the DB instance. By default, tags are not copied. Amazon Aurora Not applicable. Copying tags to snapshots is managed by the DB cluster. Setting this value for an Aurora DB instance has no effect on the DB cluster setting.", + "DomainIAMRoleName": "Specify the name of the IAM role to be used when making API calls to the Directory Service.", + "Iops": "The amount of Provisioned IOPS (input/output operations per second) to be initially allocated for the DB instance. For information about valid Iops values, see Amazon RDS Provisioned IOPS Storage to Improve Performance in the Amazon RDS User Guide. Constraints: For MariaDB, MySQL, Oracle, and PostgreSQL DB instances, must be a multiple between .5 and 50 of the storage amount for the DB instance. For SQL Server DB instances, must be a multiple between 1 and 50 of the storage amount for the DB instance. ", + "AvailabilityZone": " The Availability Zone (AZ) where the database will be created. For information on AWS Regions and Availability Zones, see Regions and Availability Zones. Default: A random, system-chosen Availability Zone in the endpoint's AWS Region. Example: us-east-1d Constraint: The AvailabilityZone parameter can't be specified if the DB instance is a Multi-AZ deployment. The specified Availability Zone must be in the same AWS Region as the current endpoint. If you're creating a DB instance in an RDS on VMware environment, specify the identifier of the custom Availability Zone to create the DB instance in. For more information about RDS on VMware, see the RDS on VMware User Guide. ", + "EnablePerformanceInsights": "A value that indicates whether to enable Performance Insights for the DB instance. For more information, see Using Amazon Performance Insights in the Amazon Relational Database Service User Guide. ", + "PubliclyAccessible": "A value that indicates whether the DB instance is publicly accessible. When the DB instance is publicly accessible, it is an Internet-facing instance with a publicly resolvable DNS name, which resolves to a public IP address. When the DB instance isn't publicly accessible, it is an internal instance with a DNS name that resolves to a private IP address. Default: The default behavior varies depending on whether DBSubnetGroupName is specified. If DBSubnetGroupName isn't specified, and PubliclyAccessible isn't specified, the following applies: If the default VPC in the target region doesn’t have an Internet gateway attached to it, the DB instance is private. If the default VPC in the target region has an Internet gateway attached to it, the DB instance is public. If DBSubnetGroupName is specified, and PubliclyAccessible isn't specified, the following applies: If the subnets are part of a VPC that doesn’t have an Internet gateway attached to it, the DB instance is private. If the subnets are part of a VPC that has an Internet gateway attached to it, the DB instance is public. ", + "AutoMinorVersionUpgrade": "A value that indicates whether minor engine upgrades are applied automatically to the DB instance during the maintenance window. By default, minor engine upgrades are applied automatically.", + "BackupRetentionPeriod": "The number of days for which automated backups are retained. Setting this parameter to a positive number enables backups. Setting this parameter to 0 disables automated backups. Amazon Aurora Not applicable. The retention period for automated backups is managed by the DB cluster. Default: 1 Constraints: Must be a value from 0 to 35 Can't be set to 0 if the DB instance is a source to Read Replicas ", + "PromotionTier": "A value that specifies the order in which an Aurora Replica is promoted to the primary instance after a failure of the existing primary instance. For more information, see Fault Tolerance for an Aurora DB Cluster in the Amazon Aurora User Guide. Default: 1 Valid Values: 0 - 15", + "DBSubnetGroupName": "A DB subnet group to associate with this DB instance. If there is no DB subnet group, then it is a non-VPC DB instance.", + "Domain": "The Active Directory directory ID to create the DB instance in. Currently, only Microsoft SQL Server and Oracle DB instances can be created in an Active Directory Domain. For Microsoft SQL Server DB instances, Amazon RDS can use Windows Authentication to authenticate users that connect to the DB instance. For more information, see Using Windows Authentication with an Amazon RDS DB Instance Running Microsoft SQL Server in the Amazon RDS User Guide. For Oracle DB instance, Amazon RDS can use Kerberos Authentication to authenticate users that connect to the DB instance. For more information, see Using Kerberos Authentication with Amazon RDS for Oracle in the Amazon RDS User Guide. ", + "MasterUsername": "The name for the master user. Amazon Aurora Not applicable. The name for the master user is managed by the DB cluster. MariaDB Constraints: Required for MariaDB. Must be 1 to 16 letters or numbers. Can't be a reserved word for the chosen database engine. Microsoft SQL Server Constraints: Required for SQL Server. Must be 1 to 128 letters or numbers. The first character must be a letter. Can't be a reserved word for the chosen database engine. MySQL Constraints: Required for MySQL. Must be 1 to 16 letters or numbers. First character must be a letter. Can't be a reserved word for the chosen database engine. Oracle Constraints: Required for Oracle. Must be 1 to 30 letters or numbers. First character must be a letter. Can't be a reserved word for the chosen database engine. PostgreSQL Constraints: Required for PostgreSQL. Must be 1 to 63 letters or numbers. First character must be a letter. Can't be a reserved word for the chosen database engine. ", + "MaxAllocatedStorage": "The upper limit to which Amazon RDS can automatically scale the storage of the DB instance.", + "EngineVersion": "The version number of the database engine to use. For a list of valid engine versions, use the DescribeDBEngineVersions action. The following are the database engines and links to information about the major and minor versions that are available with Amazon RDS. Not every database engine is available for every AWS Region. Amazon Aurora Not applicable. The version number of the database engine to be used by the DB instance is managed by the DB cluster. MariaDB See MariaDB on Amazon RDS Versions in the Amazon RDS User Guide. Microsoft SQL Server See Version and Feature Support on Amazon RDS in the Amazon RDS User Guide. MySQL See MySQL on Amazon RDS Versions in the Amazon RDS User Guide. Oracle See Oracle Database Engine Release Notes in the Amazon RDS User Guide. PostgreSQL See Supported PostgreSQL Database Versions in the Amazon RDS User Guide. ", + "ProcessorFeatures": "The number of CPU cores and the number of threads per core for the DB instance class of the DB instance.", + "MonitoringRoleArn": "The ARN for the IAM role that permits RDS to send enhanced monitoring metrics to Amazon CloudWatch Logs. For example, arn:aws:iam:123456789012:role/emaccess. For information on creating a monitoring role, go to Setting Up and Enabling Enhanced Monitoring in the Amazon RDS User Guide. If MonitoringInterval is set to a value other than 0, then you must supply a MonitoringRoleArn value.", + "VpcSecurityGroupIds": "A list of Amazon EC2 VPC security groups to associate with this DB instance. Amazon Aurora Not applicable. The associated list of EC2 VPC security groups is managed by the DB cluster. Default: The default EC2 VPC security group for the DB subnet group's VPC.", + "StorageType": "Specifies the storage type to be associated with the DB instance. Valid values: standard | gp2 | io1 If you specify io1, you must also include a value for the Iops parameter. Default: io1 if the Iops parameter is specified, otherwise gp2 ", + "Timezone": "The time zone of the DB instance. The time zone parameter is currently supported only by Microsoft SQL Server. ", + "PerformanceInsightsKMSKeyId": "The AWS KMS key identifier for encryption of Performance Insights data. The KMS key ID is the Amazon Resource Name (ARN), KMS key identifier, or the KMS key alias for the KMS encryption key. If you do not specify a value for PerformanceInsightsKMSKeyId, then Amazon RDS uses your default encryption key. AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS Region.", + "OptionGroupName": "Indicates that the DB instance should be associated with the specified option group. Permanent options, such as the TDE option for Oracle Advanced Security TDE, can't be removed from an option group. Also, that option group can't be removed from a DB instance once it is associated with a DB instance", + "CharacterSetName": "For supported engines, indicates that the DB instance should be associated with the specified CharacterSet. Amazon Aurora Not applicable. The character set is managed by the DB cluster. For more information, see CreateDBCluster.", + "TdeCredentialArn": "The ARN from the key store with which to associate the instance for TDE encryption.", + "DBSecurityGroups": "A list of DB security groups to associate with this DB instance. Default: The default DB security group for the database engine.", + "PerformanceInsightsRetentionPeriod": "The amount of time, in days, to retain Performance Insights data. Valid values are 7 or 731 (2 years). ", + "TdeCredentialPassword": "The password for the given ARN from the key store in order to access the device.", + "LicenseModel": "License model information for this DB instance. Valid values: license-included | bring-your-own-license | general-public-license ", + "EnableCloudwatchLogsExports": "The list of log types that need to be enabled for exporting to CloudWatch Logs. The values in the list depend on the DB engine being used. For more information, see Publishing Database Logs to Amazon CloudWatch Logs in the Amazon Relational Database Service User Guide.", + "DeletionProtection": "A value that indicates whether the DB instance has deletion protection enabled. The database can't be deleted when deletion protection is enabled. By default, deletion protection is disabled. For more information, see Deleting a DB Instance. Amazon Aurora Not applicable. You can enable or disable deletion protection for the DB cluster. For more information, see CreateDBCluster. DB instances in a DB cluster can be deleted even when deletion protection is enabled for the DB cluster. ", + "DBClusterIdentifier": "The identifier of the DB cluster that the instance will belong to.", + "KmsKeyId": "The AWS KMS key identifier for an encrypted DB instance. The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are creating a DB instance with the same AWS account that owns the KMS encryption key used to encrypt the new DB instance, then you can use the KMS key alias instead of the ARN for the KM encryption key. Amazon Aurora Not applicable. The KMS key identifier is managed by the DB cluster. For more information, see CreateDBCluster. If StorageEncrypted is enabled, and you do not specify a value for the KmsKeyId parameter, then Amazon RDS will use your default encryption key. AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS Region.", + "MonitoringInterval": "The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance. To disable collecting Enhanced Monitoring metrics, specify 0. The default is 0. If MonitoringRoleArn is specified, then you must also set MonitoringInterval to a value other than 0. Valid Values: 0, 1, 5, 10, 15, 30, 60 ", + "Tags": "Tags to assign to the DB instance.", + "EnableIAMDatabaseAuthentication": "A value that indicates whether to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts. By default, mapping is disabled. You can enable IAM database authentication for the following database engines: Amazon Aurora Not applicable. Mapping AWS IAM accounts to database accounts is managed by the DB cluster. MySQL For MySQL 5.6, minor version 5.6.34 or higher For MySQL 5.7, minor version 5.7.16 or higher For MySQL 8.0, minor version 8.0.16 or higher PostgreSQL For PostgreSQL 9.5, minor version 9.5.15 or higher For PostgreSQL 9.6, minor version 9.6.11 or higher PostgreSQL 10.6, 10.7, and 10.9 For more information, see IAM Database Authentication for MySQL and PostgreSQL in the Amazon RDS User Guide. ", + "DBParameterGroupName": "The name of the DB parameter group to associate with this DB instance. If you do not specify a value, then the default DB parameter group for the specified DB engine and version is used. Constraints: Must be 1 to 255 letters, numbers, or hyphens. First character must be a letter Can't end with a hyphen or contain two consecutive hyphens ", + "PreferredBackupWindow": " The daily time range during which automated backups are created if automated backups are enabled, using the BackupRetentionPeriod parameter. For more information, see The Backup Window in the Amazon RDS User Guide. Amazon Aurora Not applicable. The daily time range for creating automated backups is managed by the DB cluster. The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region. To see the time blocks available, see Adjusting the Preferred DB Instance Maintenance Window in the Amazon RDS User Guide. Constraints: Must be in the format hh24:mi-hh24:mi. Must be in Universal Coordinated Time (UTC). Must not conflict with the preferred maintenance window. Must be at least 30 minutes. ", + "MasterUserPassword": "The password for the master user. The password can include any printable ASCII character except \"/\", \"\"\", or \"@\". Amazon Aurora Not applicable. The password for the master user is managed by the DB cluster. MariaDB Constraints: Must contain from 8 to 41 characters. Microsoft SQL Server Constraints: Must contain from 8 to 128 characters. MySQL Constraints: Must contain from 8 to 41 characters. Oracle Constraints: Must contain from 8 to 30 characters. PostgreSQL Constraints: Must contain from 8 to 128 characters.", + "Port": "The port number on which the database accepts connections. MySQL Default: 3306 Valid Values: 1150-65535 Type: Integer MariaDB Default: 3306 Valid Values: 1150-65535 Type: Integer PostgreSQL Default: 5432 Valid Values: 1150-65535 Type: Integer Oracle Default: 1521 Valid Values: 1150-65535 SQL Server Default: 1433 Valid Values: 1150-65535 except for 1434, 3389, 47001, 49152, and 49152 through 49156. Amazon Aurora Default: 3306 Valid Values: 1150-65535 Type: Integer", + "DBName": "The meaning of this parameter differs according to the database engine you use. MySQL The name of the database to create when the DB instance is created. If this parameter isn't specified, no database is created in the DB instance. Constraints: Must contain 1 to 64 letters or numbers. Can't be a word reserved by the specified database engine MariaDB The name of the database to create when the DB instance is created. If this parameter isn't specified, no database is created in the DB instance. Constraints: Must contain 1 to 64 letters or numbers. Can't be a word reserved by the specified database engine PostgreSQL The name of the database to create when the DB instance is created. If this parameter isn't specified, the default \"postgres\" database is created in the DB instance. Constraints: Must contain 1 to 63 letters, numbers, or underscores. Must begin with a letter or an underscore. Subsequent characters can be letters, underscores, or digits (0-9). Can't be a word reserved by the specified database engine Oracle The Oracle System ID (SID) of the created DB instance. If you specify null, the default value ORCL is used. You can't specify the string NULL, or any other reserved word, for DBName. Default: ORCL Constraints: Can't be longer than 8 characters SQL Server Not applicable. Must be null. Amazon Aurora The name of the database to create when the primary instance of the DB cluster is created. If this parameter isn't specified, no database is created in the DB instance. Constraints: Must contain 1 to 64 letters or numbers. Can't be a word reserved by the specified database engine ", + "MultiAZ": "A value that indicates whether the DB instance is a Multi-AZ deployment. You can't set the AvailabilityZone parameter if the DB instance is a Multi-AZ deployment." +} +""" +CreateDBInstance(args) = rds("CreateDBInstance", args) + +""" + ModifyCertificates() + +Override the system-default Secure Sockets Layer/Transport Layer Security (SSL/TLS) certificate for Amazon RDS for new DB instances temporarily, or remove the override. By using this operation, you can specify an RDS-approved SSL/TLS certificate for new DB instances that is different from the default certificate provided by RDS. You can also use this operation to remove the override, so that new DB instances use the default certificate provided by RDS. You might need to override the default certificate in the following situations: You already migrated your applications to support the latest certificate authority (CA) certificate, but the new CA certificate is not yet the RDS default CA certificate for the specified AWS Region. RDS has already moved to a new default CA certificate for the specified AWS Region, but you are still in the process of supporting the new CA certificate. In this case, you temporarily need additional time to finish your application changes. For more information about rotating your SSL/TLS certificate for RDS DB engines, see Rotating Your SSL/TLS Certificate in the Amazon RDS User Guide. For more information about rotating your SSL/TLS certificate for Aurora DB engines, see Rotating Your SSL/TLS Certificate in the Amazon Aurora User Guide. + +Optional Parameters +{ + "RemoveCustomerOverride": "A value that indicates whether to remove the override for the default certificate. If the override is removed, the default certificate is the system default.", + "CertificateIdentifier": "The new default certificate identifier to override the current one with. To determine the valid values, use the describe-certificates AWS CLI command or the DescribeCertificates API operation." +} +""" +ModifyCertificates() = rds("ModifyCertificates") +ModifyCertificates(args) = rds("ModifyCertificates", args) + +""" + ApplyPendingMaintenanceAction() + +Applies a pending maintenance action to a resource (for example, to a DB instance). + +Required Parameters +{ + "ApplyAction": "The pending maintenance action to apply to this resource. Valid values: system-update, db-upgrade, hardware-maintenance, ca-certificate-rotation ", + "OptInType": "A value that specifies the type of opt-in request, or undoes an opt-in request. An opt-in request of type immediate can't be undone. Valid values: immediate - Apply the maintenance action immediately. next-maintenance - Apply the maintenance action during the next maintenance window for the resource. undo-opt-in - Cancel any existing next-maintenance opt-in requests. ", + "ResourceIdentifier": "The RDS Amazon Resource Name (ARN) of the resource that the pending maintenance action applies to. For information about creating an ARN, see Constructing an RDS Amazon Resource Name (ARN)." +} +""" +ApplyPendingMaintenanceAction(args) = rds("ApplyPendingMaintenanceAction", args) + +""" + ModifyDBSubnetGroup() + +Modifies an existing DB subnet group. DB subnet groups must contain at least one subnet in at least two AZs in the AWS Region. + +Required Parameters +{ + "DBSubnetGroupName": "The name for the DB subnet group. This value is stored as a lowercase string. You can't modify the default subnet group. Constraints: Must match the name of an existing DBSubnetGroup. Must not be default. Example: mySubnetgroup ", + "SubnetIds": "The EC2 subnet IDs for the DB subnet group." +} + +Optional Parameters +{ + "DBSubnetGroupDescription": "The description for the DB subnet group." +} +""" +ModifyDBSubnetGroup(args) = rds("ModifyDBSubnetGroup", args) + +""" + CopyDBSnapshot() + +Copies the specified DB snapshot. The source DB snapshot must be in the "available" state. You can copy a snapshot from one AWS Region to another. In that case, the AWS Region where you call the CopyDBSnapshot action is the destination AWS Region for the DB snapshot copy. For more information about copying snapshots, see Copying a DB Snapshot in the Amazon RDS User Guide. + +Required Parameters +{ + "TargetDBSnapshotIdentifier": "The identifier for the copy of the snapshot. Constraints: Can't be null, empty, or blank Must contain from 1 to 255 letters, numbers, or hyphens First character must be a letter Can't end with a hyphen or contain two consecutive hyphens Example: my-db-snapshot ", + "SourceDBSnapshotIdentifier": "The identifier for the source DB snapshot. If the source snapshot is in the same AWS Region as the copy, specify a valid DB snapshot identifier. For example, you might specify rds:mysql-instance1-snapshot-20130805. If the source snapshot is in a different AWS Region than the copy, specify a valid DB snapshot ARN. For example, you might specify arn:aws:rds:us-west-2:123456789012:snapshot:mysql-instance1-snapshot-20130805. If you are copying from a shared manual DB snapshot, this parameter must be the Amazon Resource Name (ARN) of the shared DB snapshot. If you are copying an encrypted snapshot this parameter must be in the ARN format for the source AWS Region, and must match the SourceDBSnapshotIdentifier in the PreSignedUrl parameter. Constraints: Must specify a valid system snapshot in the \"available\" state. Example: rds:mydb-2012-04-02-00-01 Example: arn:aws:rds:us-west-2:123456789012:snapshot:mysql-instance1-snapshot-20130805 " +} + +Optional Parameters +{ + "Tags": "", + "SourceRegion": "The ID of the region that contains the snapshot to be copied.", + "PreSignedUrl": "The URL that contains a Signature Version 4 signed request for the CopyDBSnapshot API action in the source AWS Region that contains the source DB snapshot to copy. You must specify this parameter when you copy an encrypted DB snapshot from another AWS Region by using the Amazon RDS API. Don't specify PreSignedUrl when you are copying an encrypted DB snapshot in the same AWS Region. The presigned URL must be a valid request for the CopyDBSnapshot API action that can be executed in the source AWS Region that contains the encrypted DB snapshot to be copied. The presigned URL request must contain the following parameter values: DestinationRegion - The AWS Region that the encrypted DB snapshot is copied to. This AWS Region is the same one where the CopyDBSnapshot action is called that contains this presigned URL. For example, if you copy an encrypted DB snapshot from the us-west-2 AWS Region to the us-east-1 AWS Region, then you call the CopyDBSnapshot action in the us-east-1 AWS Region and provide a presigned URL that contains a call to the CopyDBSnapshot action in the us-west-2 AWS Region. For this example, the DestinationRegion in the presigned URL must be set to the us-east-1 AWS Region. KmsKeyId - The AWS KMS key identifier for the key to use to encrypt the copy of the DB snapshot in the destination AWS Region. This is the same identifier for both the CopyDBSnapshot action that is called in the destination AWS Region, and the action contained in the presigned URL. SourceDBSnapshotIdentifier - The DB snapshot identifier for the encrypted snapshot to be copied. This identifier must be in the Amazon Resource Name (ARN) format for the source AWS Region. For example, if you are copying an encrypted DB snapshot from the us-west-2 AWS Region, then your SourceDBSnapshotIdentifier looks like the following example: arn:aws:rds:us-west-2:123456789012:snapshot:mysql-instance1-snapshot-20161115. To learn how to generate a Signature Version 4 signed request, see Authenticating Requests: Using Query Parameters (AWS Signature Version 4) and Signature Version 4 Signing Process. If you are using an AWS SDK tool or the AWS CLI, you can specify SourceRegion (or --source-region for the AWS CLI) instead of specifying PreSignedUrl manually. Specifying SourceRegion autogenerates a pre-signed URL that is a valid request for the operation that can be executed in the source AWS Region. If you supply a value for this operation's SourceRegion parameter, a pre-signed URL will be calculated on your behalf.", + "CopyTags": "A value that indicates whether to copy all tags from the source DB snapshot to the target DB snapshot. By default, tags are not copied.", + "OptionGroupName": "The name of an option group to associate with the copy of the snapshot. Specify this option if you are copying a snapshot from one AWS Region to another, and your DB instance uses a nondefault option group. If your source DB instance uses Transparent Data Encryption for Oracle or Microsoft SQL Server, you must specify this option when copying across AWS Regions. For more information, see Option Group Considerations in the Amazon RDS User Guide. ", + "KmsKeyId": "The AWS KMS key ID for an encrypted DB snapshot. The KMS key ID is the Amazon Resource Name (ARN), KMS key identifier, or the KMS key alias for the KMS encryption key. If you copy an encrypted DB snapshot from your AWS account, you can specify a value for this parameter to encrypt the copy with a new KMS encryption key. If you don't specify a value for this parameter, then the copy of the DB snapshot is encrypted with the same KMS key as the source DB snapshot. If you copy an encrypted DB snapshot that is shared from another AWS account, then you must specify a value for this parameter. If you specify this parameter when you copy an unencrypted snapshot, the copy is encrypted. If you copy an encrypted snapshot to a different AWS Region, then you must specify a KMS key for the destination AWS Region. KMS encryption keys are specific to the AWS Region that they are created in, and you can't use encryption keys from one AWS Region in another AWS Region. " +} +""" +CopyDBSnapshot(args) = rds("CopyDBSnapshot", args) + +""" + DeleteDBSubnetGroup() + +Deletes a DB subnet group. The specified database subnet group must not be associated with any DB instances. + +Required Parameters +{ + "DBSubnetGroupName": "The name of the database subnet group to delete. You can't delete the default subnet group. Constraints: Constraints: Must match the name of an existing DBSubnetGroup. Must not be default. Example: mySubnetgroup " +} +""" +DeleteDBSubnetGroup(args) = rds("DeleteDBSubnetGroup", args) + +""" + DeleteDBSnapshot() + +Deletes a DB snapshot. If the snapshot is being copied, the copy operation is terminated. The DB snapshot must be in the available state to be deleted. + +Required Parameters +{ + "DBSnapshotIdentifier": "The DB snapshot identifier. Constraints: Must be the name of an existing DB snapshot in the available state." +} +""" +DeleteDBSnapshot(args) = rds("DeleteDBSnapshot", args) + +""" + ModifyDBProxyTargetGroup() + + This is prerelease documentation for the RDS Database Proxy feature in preview release. It is subject to change. Modifies the properties of a DBProxyTargetGroup. + +Required Parameters +{ + "DBProxyName": "The name of the new proxy to which to assign the target group.", + "TargetGroupName": "The name of the new target group to assign to the proxy." +} + +Optional Parameters +{ + "NewName": "The new name for the modified DBProxyTarget. An identifier must begin with a letter and must contain only ASCII letters, digits, and hyphens; it can't end with a hyphen or contain two consecutive hyphens.", + "ConnectionPoolConfig": "The settings that determine the size and behavior of the connection pool for the target group." +} +""" +ModifyDBProxyTargetGroup(args) = rds("ModifyDBProxyTargetGroup", args) + +""" + DescribeEvents() + +Returns events related to DB instances, DB security groups, DB snapshots, and DB parameter groups for the past 14 days. Events specific to a particular DB instance, DB security group, database snapshot, or DB parameter group can be obtained by providing the name as a parameter. By default, the past hour of events are returned. + +Optional Parameters +{ + "StartTime": " The beginning of the time interval to retrieve events for, specified in ISO 8601 format. For more information about ISO 8601, go to the ISO8601 Wikipedia page. Example: 2009-07-08T18:00Z", + "MaxRecords": " The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that you can retrieve the remaining results. Default: 100 Constraints: Minimum 20, maximum 100.", + "Marker": " An optional pagination token provided by a previous DescribeEvents request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords. ", + "SourceIdentifier": "The identifier of the event source for which events are returned. If not specified, then all sources are included in the response. Constraints: If SourceIdentifier is supplied, SourceType must also be provided. If the source type is DBInstance, then a DBInstanceIdentifier must be supplied. If the source type is DBSecurityGroup, a DBSecurityGroupName must be supplied. If the source type is DBParameterGroup, a DBParameterGroupName must be supplied. If the source type is DBSnapshot, a DBSnapshotIdentifier must be supplied. Can't end with a hyphen or contain two consecutive hyphens. ", + "EndTime": " The end of the time interval for which to retrieve events, specified in ISO 8601 format. For more information about ISO 8601, go to the ISO8601 Wikipedia page. Example: 2009-07-08T18:00Z", + "SourceType": "The event source to retrieve events for. If no value is specified, all events are returned.", + "Duration": "The number of minutes to retrieve events for. Default: 60", + "Filters": "This parameter isn't currently supported.", + "EventCategories": "A list of event categories that trigger notifications for a event notification subscription." +} +""" +DescribeEvents() = rds("DescribeEvents") +DescribeEvents(args) = rds("DescribeEvents", args) + +""" + DescribeEngineDefaultParameters() + +Returns the default engine and system parameter information for the specified database engine. + +Required Parameters +{ + "DBParameterGroupFamily": "The name of the DB parameter group family." +} + +Optional Parameters +{ + "MaxRecords": " The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so you can retrieve the remaining results. Default: 100 Constraints: Minimum 20, maximum 100.", + "Marker": " An optional pagination token provided by a previous DescribeEngineDefaultParameters request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords. ", + "Filters": "This parameter isn't currently supported." +} +""" +DescribeEngineDefaultParameters(args) = rds("DescribeEngineDefaultParameters", args) + +""" + DescribeAccountAttributes() + +Lists all of the attributes for a customer account. The attributes include Amazon RDS quotas for the account, such as the number of DB instances allowed. The description for a quota includes the quota name, current usage toward that quota, and the quota's maximum value. This command doesn't take any parameters. +""" +DescribeAccountAttributes() = rds("DescribeAccountAttributes") +DescribeAccountAttributes(args) = rds("DescribeAccountAttributes", args) + +""" + CreateDBParameterGroup() + +Creates a new DB parameter group. A DB parameter group is initially created with the default parameters for the database engine used by the DB instance. To provide custom values for any of the parameters, you must modify the group after creating it using ModifyDBParameterGroup. Once you've created a DB parameter group, you need to associate it with your DB instance using ModifyDBInstance. When you associate a new DB parameter group with a running DB instance, you need to reboot the DB instance without failover for the new DB parameter group and associated settings to take effect. After you create a DB parameter group, you should wait at least 5 minutes before creating your first DB instance that uses that DB parameter group as the default parameter group. This allows Amazon RDS to fully complete the create action before the parameter group is used as the default for a new DB instance. This is especially important for parameters that are critical when creating the default database for a DB instance, such as the character set for the default database defined by the character_set_database parameter. You can use the Parameter Groups option of the Amazon RDS console or the DescribeDBParameters command to verify that your DB parameter group has been created or modified. + +Required Parameters +{ + "Description": "The description for the DB parameter group.", + "DBParameterGroupName": "The name of the DB parameter group. Constraints: Must be 1 to 255 letters, numbers, or hyphens. First character must be a letter Can't end with a hyphen or contain two consecutive hyphens This value is stored as a lowercase string. ", + "DBParameterGroupFamily": "The DB parameter group family name. A DB parameter group can be associated with one and only one DB parameter group family, and can be applied only to a DB instance running a database engine and engine version compatible with that DB parameter group family. To list all of the available parameter group families, use the following command: aws rds describe-db-engine-versions --query \"DBEngineVersions[].DBParameterGroupFamily\" The output contains duplicates. " +} + +Optional Parameters +{ + "Tags": "Tags to assign to the DB parameter group." +} +""" +CreateDBParameterGroup(args) = rds("CreateDBParameterGroup", args) + +""" + PurchaseReservedDBInstancesOffering() + +Purchases a reserved DB instance offering. + +Required Parameters +{ + "ReservedDBInstancesOfferingId": "The ID of the Reserved DB instance offering to purchase. Example: 438012d3-4052-4cc7-b2e3-8d3372e0e706" +} + +Optional Parameters +{ + "Tags": "", + "ReservedDBInstanceId": "Customer-specified identifier to track this reservation. Example: myreservationID", + "DBInstanceCount": "The number of instances to reserve. Default: 1 " +} +""" +PurchaseReservedDBInstancesOffering(args) = rds("PurchaseReservedDBInstancesOffering", args) + +""" + DescribeDBSecurityGroups() + + Returns a list of DBSecurityGroup descriptions. If a DBSecurityGroupName is specified, the list will contain only the descriptions of the specified DB security group. + +Optional Parameters +{ + "MaxRecords": " The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that you can retrieve the remaining results. Default: 100 Constraints: Minimum 20, maximum 100.", + "Marker": " An optional pagination token provided by a previous DescribeDBSecurityGroups request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords. ", + "DBSecurityGroupName": "The name of the DB security group to return details for.", + "Filters": "This parameter isn't currently supported." +} +""" +DescribeDBSecurityGroups() = rds("DescribeDBSecurityGroups") +DescribeDBSecurityGroups(args) = rds("DescribeDBSecurityGroups", args) + +""" + DescribeEventSubscriptions() + +Lists all the subscription descriptions for a customer account. The description for a subscription includes SubscriptionName, SNSTopicARN, CustomerID, SourceType, SourceID, CreationTime, and Status. If you specify a SubscriptionName, lists the description for that subscription. + +Optional Parameters +{ + "MaxRecords": " The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that you can retrieve the remaining results. Default: 100 Constraints: Minimum 20, maximum 100.", + "Marker": " An optional pagination token provided by a previous DescribeOrderableDBInstanceOptions request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords . ", + "SubscriptionName": "The name of the RDS event notification subscription you want to describe.", + "Filters": "This parameter isn't currently supported." +} +""" +DescribeEventSubscriptions() = rds("DescribeEventSubscriptions") +DescribeEventSubscriptions(args) = rds("DescribeEventSubscriptions", args) + +""" + ModifyDBInstance() + +Modifies settings for a DB instance. You can change one or more database configuration parameters by specifying these parameters and the new values in the request. To learn what modifications you can make to your DB instance, call DescribeValidDBInstanceModifications before you call ModifyDBInstance. + +Required Parameters +{ + "DBInstanceIdentifier": "The DB instance identifier. This value is stored as a lowercase string. Constraints: Must match the identifier of an existing DBInstance. " +} + +Optional Parameters +{ + "AllowMajorVersionUpgrade": "A value that indicates whether major version upgrades are allowed. Changing this parameter doesn't result in an outage and the change is asynchronously applied as soon as possible. Constraints: Major version upgrades must be allowed when specifying a value for the EngineVersion parameter that is a different major version than the DB instance's current version.", + "PubliclyAccessible": "A value that indicates whether the DB instance is publicly accessible. When the DB instance is publicly accessible, it is an Internet-facing instance with a publicly resolvable DNS name, which resolves to a public IP address. When the DB instance isn't publicly accessible, it is an internal instance with a DNS name that resolves to a private IP address. PubliclyAccessible only applies to DB instances in a VPC. The DB instance must be part of a public subnet and PubliclyAccessible must be enabled for it to be publicly accessible. Changes to the PubliclyAccessible parameter are applied immediately regardless of the value of the ApplyImmediately parameter.", + "DBPortNumber": "The port number on which the database accepts connections. The value of the DBPortNumber parameter must not match any of the port values specified for options in the option group for the DB instance. Your database will restart when you change the DBPortNumber value regardless of the value of the ApplyImmediately parameter. MySQL Default: 3306 Valid Values: 1150-65535 MariaDB Default: 3306 Valid Values: 1150-65535 PostgreSQL Default: 5432 Valid Values: 1150-65535 Type: Integer Oracle Default: 1521 Valid Values: 1150-65535 SQL Server Default: 1433 Valid Values: 1150-65535 except for 1434, 3389, 47001, 49152, and 49152 through 49156. Amazon Aurora Default: 3306 Valid Values: 1150-65535 ", + "PerformanceInsightsKMSKeyId": "The AWS KMS key identifier for encryption of Performance Insights data. The KMS key ID is the Amazon Resource Name (ARN), KMS key identifier, or the KMS key alias for the KMS encryption key. If you do not specify a value for PerformanceInsightsKMSKeyId, then Amazon RDS uses your default encryption key. AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS Region.", + "OptionGroupName": " Indicates that the DB instance should be associated with the specified option group. Changing this parameter doesn't result in an outage except in the following case and the change is applied during the next maintenance window unless the ApplyImmediately parameter is enabled for this request. If the parameter change results in an option group that enables OEM, this change can cause a brief (sub-second) period during which new connections are rejected but existing connections are not interrupted. Permanent options, such as the TDE option for Oracle Advanced Security TDE, can't be removed from an option group, and that option group can't be removed from a DB instance once it is associated with a DB instance", + "PreferredMaintenanceWindow": "The weekly time range (in UTC) during which system maintenance can occur, which might result in an outage. Changing this parameter doesn't result in an outage, except in the following situation, and the change is asynchronously applied as soon as possible. If there are pending actions that cause a reboot, and the maintenance window is changed to include the current time, then changing this parameter will cause a reboot of the DB instance. If moving this window to the current time, there must be at least 30 minutes between the current time and end of the window to ensure pending changes are applied. Default: Uses existing setting Format: ddd:hh24:mi-ddd:hh24:mi Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun Constraints: Must be at least 30 minutes", + "UseDefaultProcessorFeatures": "A value that indicates whether the DB instance class of the DB instance uses its default processor features.", + "AutoMinorVersionUpgrade": " A value that indicates whether minor version upgrades are applied automatically to the DB instance during the maintenance window. Changing this parameter doesn't result in an outage except in the following case and the change is asynchronously applied as soon as possible. An outage results if this parameter is enabled during the maintenance window, and a newer minor version is available, and RDS has enabled auto patching for that engine version. ", + "BackupRetentionPeriod": "The number of days to retain automated backups. Setting this parameter to a positive number enables backups. Setting this parameter to 0 disables automated backups. Changing this parameter can result in an outage if you change from 0 to a non-zero value or from a non-zero value to 0. These changes are applied during the next maintenance window unless the ApplyImmediately parameter is enabled for this request. If you change the parameter from one non-zero value to another non-zero value, the change is asynchronously applied as soon as possible. Amazon Aurora Not applicable. The retention period for automated backups is managed by the DB cluster. For more information, see ModifyDBCluster. Default: Uses existing setting Constraints: Must be a value from 0 to 35 Can be specified for a MySQL Read Replica only if the source is running MySQL 5.6 or later Can be specified for a PostgreSQL Read Replica only if the source is running PostgreSQL 9.3.5 Can't be set to 0 if the DB instance is a source to Read Replicas ", + "MonitoringInterval": "The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance. To disable collecting Enhanced Monitoring metrics, specify 0. The default is 0. If MonitoringRoleArn is specified, then you must also set MonitoringInterval to a value other than 0. Valid Values: 0, 1, 5, 10, 15, 30, 60 ", + "AllocatedStorage": "The new amount of storage (in gibibytes) to allocate for the DB instance. For MariaDB, MySQL, Oracle, and PostgreSQL, the value supplied must be at least 10% greater than the current value. Values that are not at least 10% greater than the existing value are rounded up so that they are 10% greater than the current value. For the valid values for allocated storage for each engine, see CreateDBInstance. ", + "PromotionTier": "A value that specifies the order in which an Aurora Replica is promoted to the primary instance after a failure of the existing primary instance. For more information, see Fault Tolerance for an Aurora DB Cluster in the Amazon Aurora User Guide. Default: 1 Valid Values: 0 - 15", + "DBSubnetGroupName": "The new DB subnet group for the DB instance. You can use this parameter to move your DB instance to a different VPC. If your DB instance isn't in a VPC, you can also use this parameter to move your DB instance into a VPC. For more information, see Updating the VPC for a DB Instance in the Amazon RDS User Guide. Changing the subnet group causes an outage during the change. The change is applied during the next maintenance window, unless you enable ApplyImmediately. Constraints: If supplied, must match the name of an existing DBSubnetGroup. Example: mySubnetGroup ", + "TdeCredentialArn": "The ARN from the key store with which to associate the instance for TDE encryption.", + "DBSecurityGroups": "A list of DB security groups to authorize on this DB instance. Changing this setting doesn't result in an outage and the change is asynchronously applied as soon as possible. Constraints: If supplied, must match existing DBSecurityGroups. ", + "CACertificateIdentifier": "Indicates the certificate that needs to be associated with the instance.", + "CopyTagsToSnapshot": "A value that indicates whether to copy all tags from the DB instance to snapshots of the DB instance. By default, tags are not copied. Amazon Aurora Not applicable. Copying tags to snapshots is managed by the DB cluster. Setting this value for an Aurora DB instance has no effect on the DB cluster setting. For more information, see ModifyDBCluster.", + "EnableIAMDatabaseAuthentication": "A value that indicates whether to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts. By default, mapping is disabled. For information about the supported DB engines, see CreateDBInstance. For more information about IAM database authentication, see IAM Database Authentication for MySQL and PostgreSQL in the Amazon RDS User Guide. ", + "Domain": "The Active Directory directory ID to move the DB instance to. Specify none to remove the instance from its current domain. The domain must be created prior to this operation. Currently, only Microsoft SQL Server and Oracle DB instances can be created in an Active Directory Domain. For Microsoft SQL Server DB instances, Amazon RDS can use Windows Authentication to authenticate users that connect to the DB instance. For more information, see Using Windows Authentication with an Amazon RDS DB Instance Running Microsoft SQL Server in the Amazon RDS User Guide. For Oracle DB instances, Amazon RDS can use Kerberos Authentication to authenticate users that connect to the DB instance. For more information, see Using Kerberos Authentication with Amazon RDS for Oracle in the Amazon RDS User Guide.", + "DBParameterGroupName": "The name of the DB parameter group to apply to the DB instance. Changing this setting doesn't result in an outage. The parameter group name itself is changed immediately, but the actual parameter changes are not applied until you reboot the instance without failover. In this case, the DB instance isn't rebooted automatically and the parameter changes isn't applied during the next maintenance window. Default: Uses existing setting Constraints: The DB parameter group must be in the same DB parameter group family as this DB instance.", + "CertificateRotationRestart": "A value that indicates whether the DB instance is restarted when you rotate your SSL/TLS certificate. By default, the DB instance is restarted when you rotate your SSL/TLS certificate. The certificate is not updated until the DB instance is restarted. Set this parameter only if you are not using SSL/TLS to connect to the DB instance. If you are using SSL/TLS to connect to the DB instance, follow the appropriate instructions for your DB engine to rotate your SSL/TLS certificate: For more information about rotating your SSL/TLS certificate for RDS DB engines, see Rotating Your SSL/TLS Certificate. in the Amazon RDS User Guide. For more information about rotating your SSL/TLS certificate for Aurora DB engines, see Rotating Your SSL/TLS Certificate in the Amazon Aurora User Guide. ", + "DomainIAMRoleName": "The name of the IAM role to use when making API calls to the Directory Service.", + "MaxAllocatedStorage": "The upper limit to which Amazon RDS can automatically scale the storage of the DB instance.", + "PreferredBackupWindow": " The daily time range during which automated backups are created if automated backups are enabled, as determined by the BackupRetentionPeriod parameter. Changing this parameter doesn't result in an outage and the change is asynchronously applied as soon as possible. Amazon Aurora Not applicable. The daily time range for creating automated backups is managed by the DB cluster. For more information, see ModifyDBCluster. Constraints: Must be in the format hh24:mi-hh24:mi Must be in Universal Time Coordinated (UTC) Must not conflict with the preferred maintenance window Must be at least 30 minutes ", + "NewDBInstanceIdentifier": " The new DB instance identifier for the DB instance when renaming a DB instance. When you change the DB instance identifier, an instance reboot occurs immediately if you enable ApplyImmediately, or will occur during the next maintenance window if you disable Apply Immediately. This value is stored as a lowercase string. Constraints: Must contain from 1 to 63 letters, numbers, or hyphens. The first character must be a letter. Can't end with a hyphen or contain two consecutive hyphens. Example: mydbinstance ", + "PerformanceInsightsRetentionPeriod": "The amount of time, in days, to retain Performance Insights data. Valid values are 7 or 731 (2 years). ", + "TdeCredentialPassword": "The password for the given ARN from the key store in order to access the device.", + "EngineVersion": " The version number of the database engine to upgrade to. Changing this parameter results in an outage and the change is applied during the next maintenance window unless the ApplyImmediately parameter is eanbled for this request. For major version upgrades, if a nondefault DB parameter group is currently in use, a new DB parameter group in the DB parameter group family for the new engine version must be specified. The new DB parameter group can be the default for that DB parameter group family. For information about valid engine versions, see CreateDBInstance, or call DescribeDBEngineVersions.", + "ProcessorFeatures": "The number of CPU cores and the number of threads per core for the DB instance class of the DB instance.", + "LicenseModel": "The license model for the DB instance. Valid values: license-included | bring-your-own-license | general-public-license ", + "MasterUserPassword": "The new password for the master user. The password can include any printable ASCII character except \"/\", \"\"\", or \"@\". Changing this parameter doesn't result in an outage and the change is asynchronously applied as soon as possible. Between the time of the request and the completion of the request, the MasterUserPassword element exists in the PendingModifiedValues element of the operation response. Amazon Aurora Not applicable. The password for the master user is managed by the DB cluster. For more information, see ModifyDBCluster. Default: Uses existing setting MariaDB Constraints: Must contain from 8 to 41 characters. Microsoft SQL Server Constraints: Must contain from 8 to 128 characters. MySQL Constraints: Must contain from 8 to 41 characters. Oracle Constraints: Must contain from 8 to 30 characters. PostgreSQL Constraints: Must contain from 8 to 128 characters. Amazon RDS API actions never return the password, so this action provides a way to regain access to a primary instance user if the password is lost. This includes restoring privileges that might have been accidentally revoked. ", + "DBInstanceClass": "The new compute and memory capacity of the DB instance, for example, db.m4.large. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes, and availability for your engine, see DB Instance Class in the Amazon RDS User Guide. If you modify the DB instance class, an outage occurs during the change. The change is applied during the next maintenance window, unless ApplyImmediately is enabled for this request. Default: Uses existing setting", + "Iops": "The new Provisioned IOPS (I/O operations per second) value for the RDS instance. Changing this setting doesn't result in an outage and the change is applied during the next maintenance window unless the ApplyImmediately parameter is enabled for this request. If you are migrating from Provisioned IOPS to standard storage, set this value to 0. The DB instance will require a reboot for the change in storage type to take effect. If you choose to migrate your DB instance from using standard storage to using Provisioned IOPS, or from using Provisioned IOPS to using standard storage, the process can take time. The duration of the migration depends on several factors such as database load, storage size, storage type (standard or Provisioned IOPS), amount of IOPS provisioned (if any), and the number of prior scale storage operations. Typical migration times are under 24 hours, but the process can take up to several days in some cases. During the migration, the DB instance is available for use, but might experience performance degradation. While the migration takes place, nightly backups for the instance are suspended. No other Amazon RDS operations can take place for the instance, including modifying the instance, rebooting the instance, deleting the instance, creating a Read Replica for the instance, and creating a DB snapshot of the instance. Constraints: For MariaDB, MySQL, Oracle, and PostgreSQL, the value supplied must be at least 10% greater than the current value. Values that are not at least 10% greater than the existing value are rounded up so that they are 10% greater than the current value. Default: Uses existing setting", + "MonitoringRoleArn": "The ARN for the IAM role that permits RDS to send enhanced monitoring metrics to Amazon CloudWatch Logs. For example, arn:aws:iam:123456789012:role/emaccess. For information on creating a monitoring role, go to To create an IAM role for Amazon RDS Enhanced Monitoring in the Amazon RDS User Guide. If MonitoringInterval is set to a value other than 0, then you must supply a MonitoringRoleArn value.", + "DeletionProtection": "A value that indicates whether the DB instance has deletion protection enabled. The database can't be deleted when deletion protection is enabled. By default, deletion protection is disabled. For more information, see Deleting a DB Instance. ", + "CloudwatchLogsExportConfiguration": "The configuration setting for the log types to be enabled for export to CloudWatch Logs for a specific DB instance. A change to the CloudwatchLogsExportConfiguration parameter is always applied to the DB instance immediately. Therefore, the ApplyImmediately parameter has no effect.", + "ApplyImmediately": "A value that indicates whether the modifications in this request and any pending modifications are asynchronously applied as soon as possible, regardless of the PreferredMaintenanceWindow setting for the DB instance. By default, this parameter is disabled. If this parameter is disabled, changes to the DB instance are applied during the next maintenance window. Some parameter changes can cause an outage and are applied on the next call to RebootDBInstance, or the next failure reboot. Review the table of parameters in Modifying a DB Instance in the Amazon RDS User Guide. to see the impact of enabling or disabling ApplyImmediately for each modified parameter and to determine when the changes are applied. ", + "VpcSecurityGroupIds": "A list of EC2 VPC security groups to authorize on this DB instance. This change is asynchronously applied as soon as possible. Amazon Aurora Not applicable. The associated list of EC2 VPC security groups is managed by the DB cluster. For more information, see ModifyDBCluster. Constraints: If supplied, must match existing VpcSecurityGroupIds. ", + "StorageType": "Specifies the storage type to be associated with the DB instance. If you specify Provisioned IOPS (io1), you must also include a value for the Iops parameter. If you choose to migrate your DB instance from using standard storage to using Provisioned IOPS, or from using Provisioned IOPS to using standard storage, the process can take time. The duration of the migration depends on several factors such as database load, storage size, storage type (standard or Provisioned IOPS), amount of IOPS provisioned (if any), and the number of prior scale storage operations. Typical migration times are under 24 hours, but the process can take up to several days in some cases. During the migration, the DB instance is available for use, but might experience performance degradation. While the migration takes place, nightly backups for the instance are suspended. No other Amazon RDS operations can take place for the instance, including modifying the instance, rebooting the instance, deleting the instance, creating a Read Replica for the instance, and creating a DB snapshot of the instance. Valid values: standard | gp2 | io1 Default: io1 if the Iops parameter is specified, otherwise gp2 ", + "EnablePerformanceInsights": "A value that indicates whether to enable Performance Insights for the DB instance. For more information, see Using Amazon Performance Insights in the Amazon Relational Database Service User Guide. ", + "MultiAZ": "A value that indicates whether the DB instance is a Multi-AZ deployment. Changing this parameter doesn't result in an outage and the change is applied during the next maintenance window unless the ApplyImmediately parameter is enabled for this request. " +} +""" +ModifyDBInstance(args) = rds("ModifyDBInstance", args) + +""" + CancelExportTask() + +Cancels an export task in progress that is exporting a snapshot to Amazon S3. Any data that has already been written to the S3 bucket isn't removed. + +Required Parameters +{ + "ExportTaskIdentifier": "The identifier of the snapshot export task to cancel." +} +""" +CancelExportTask(args) = rds("CancelExportTask", args) + +""" + StartDBCluster() + +Starts an Amazon Aurora DB cluster that was stopped using the AWS console, the stop-db-cluster AWS CLI command, or the StopDBCluster action. For more information, see Stopping and Starting an Aurora Cluster in the Amazon Aurora User Guide. This action only applies to Aurora DB clusters. + +Required Parameters +{ + "DBClusterIdentifier": "The DB cluster identifier of the Amazon Aurora DB cluster to be started. This parameter is stored as a lowercase string." +} +""" +StartDBCluster(args) = rds("StartDBCluster", args) + +""" + DescribeEngineDefaultClusterParameters() + +Returns the default engine and system parameter information for the cluster database engine. For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide. + +Required Parameters +{ + "DBParameterGroupFamily": "The name of the DB cluster parameter group family to return engine parameter information for." +} + +Optional Parameters +{ + "MaxRecords": " The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so you can retrieve the remaining results. Default: 100 Constraints: Minimum 20, maximum 100.", + "Marker": " An optional pagination token provided by a previous DescribeEngineDefaultClusterParameters request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords. ", + "Filters": "This parameter isn't currently supported." +} +""" +DescribeEngineDefaultClusterParameters(args) = rds("DescribeEngineDefaultClusterParameters", args) + +""" + ResetDBClusterParameterGroup() + + Modifies the parameters of a DB cluster parameter group to the default value. To reset specific parameters submit a list of the following: ParameterName and ApplyMethod. To reset the entire DB cluster parameter group, specify the DBClusterParameterGroupName and ResetAllParameters parameters. When resetting the entire group, dynamic parameters are updated immediately and static parameters are set to pending-reboot to take effect on the next DB instance restart or RebootDBInstance request. You must call RebootDBInstance for every DB instance in your DB cluster that you want the updated static parameter to apply to. For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide. This action only applies to Aurora DB clusters. + +Required Parameters +{ + "DBClusterParameterGroupName": "The name of the DB cluster parameter group to reset." +} + +Optional Parameters +{ + "Parameters": "A list of parameter names in the DB cluster parameter group to reset to the default values. You can't use this parameter if the ResetAllParameters parameter is enabled.", + "ResetAllParameters": "A value that indicates whether to reset all parameters in the DB cluster parameter group to their default values. You can't use this parameter if there is a list of parameter names specified for the Parameters parameter." +} +""" +ResetDBClusterParameterGroup(args) = rds("ResetDBClusterParameterGroup", args) + +""" + ModifyDBProxy() + + This is prerelease documentation for the RDS Database Proxy feature in preview release. It is subject to change. Changes the settings for an existing DB proxy. + +Required Parameters +{ + "DBProxyName": "The identifier for the DBProxy to modify." +} + +Optional Parameters +{ + "NewDBProxyName": "The new identifier for the DBProxy. An identifier must begin with a letter and must contain only ASCII letters, digits, and hyphens; it can't end with a hyphen or contain two consecutive hyphens.", + "IdleClientTimeout": "The number of seconds that a connection to the proxy can be inactive before the proxy disconnects it. You can set this value higher or lower than the connection timeout limit for the associated database.", + "SecurityGroups": "The new list of security groups for the DBProxy.", + "Auth": "The new authentication settings for the DBProxy.", + "DebugLogging": "Whether the proxy includes detailed information about SQL statements in its logs. This information helps you to debug issues involving SQL behavior or the performance and scalability of the proxy connections. The debug information includes the text of SQL statements that you submit through the proxy. Thus, only enable this setting when needed for debugging, and only when you have security measures in place to safeguard any sensitive information that appears in the logs.", + "RequireTLS": "Whether Transport Layer Security (TLS) encryption is required for connections to the proxy. By enabling this setting, you can enforce encrypted TLS connections to the proxy, even if the associated database doesn't use TLS.", + "RoleArn": "The Amazon Resource Name (ARN) of the IAM role that the proxy uses to access secrets in AWS Secrets Manager." +} +""" +ModifyDBProxy(args) = rds("ModifyDBProxy", args) + +""" + CreateDBClusterParameterGroup() + +Creates a new DB cluster parameter group. Parameters in a DB cluster parameter group apply to all of the instances in a DB cluster. A DB cluster parameter group is initially created with the default parameters for the database engine used by instances in the DB cluster. To provide custom values for any of the parameters, you must modify the group after creating it using ModifyDBClusterParameterGroup. Once you've created a DB cluster parameter group, you need to associate it with your DB cluster using ModifyDBCluster. When you associate a new DB cluster parameter group with a running DB cluster, you need to reboot the DB instances in the DB cluster without failover for the new DB cluster parameter group and associated settings to take effect. After you create a DB cluster parameter group, you should wait at least 5 minutes before creating your first DB cluster that uses that DB cluster parameter group as the default parameter group. This allows Amazon RDS to fully complete the create action before the DB cluster parameter group is used as the default for a new DB cluster. This is especially important for parameters that are critical when creating the default database for a DB cluster, such as the character set for the default database defined by the character_set_database parameter. You can use the Parameter Groups option of the Amazon RDS console or the DescribeDBClusterParameters action to verify that your DB cluster parameter group has been created or modified. For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide. This action only applies to Aurora DB clusters. + +Required Parameters +{ + "Description": "The description for the DB cluster parameter group.", + "DBClusterParameterGroupName": "The name of the DB cluster parameter group. Constraints: Must match the name of an existing DB cluster parameter group. This value is stored as a lowercase string. ", + "DBParameterGroupFamily": "The DB cluster parameter group family name. A DB cluster parameter group can be associated with one and only one DB cluster parameter group family, and can be applied only to a DB cluster running a database engine and engine version compatible with that DB cluster parameter group family. Aurora MySQL Example: aurora5.6, aurora-mysql5.7 Aurora PostgreSQL Example: aurora-postgresql9.6 " +} + +Optional Parameters +{ + "Tags": "Tags to assign to the DB cluster parameter group." +} +""" +CreateDBClusterParameterGroup(args) = rds("CreateDBClusterParameterGroup", args) + +""" + RestoreDBClusterFromS3() + +Creates an Amazon Aurora DB cluster from data stored in an Amazon S3 bucket. Amazon RDS must be authorized to access the Amazon S3 bucket and the data must be created using the Percona XtraBackup utility as described in Migrating Data to an Amazon Aurora MySQL DB Cluster in the Amazon Aurora User Guide. This action only applies to Aurora DB clusters. + +Required Parameters +{ + "SourceEngine": "The identifier for the database engine that was backed up to create the files stored in the Amazon S3 bucket. Valid values: mysql ", + "S3BucketName": "The name of the Amazon S3 bucket that contains the data used to create the Amazon Aurora DB cluster.", + "DBClusterIdentifier": "The name of the DB cluster to create from the source data in the Amazon S3 bucket. This parameter is isn't case-sensitive. Constraints: Must contain from 1 to 63 letters, numbers, or hyphens. First character must be a letter. Can't end with a hyphen or contain two consecutive hyphens. Example: my-cluster1 ", + "Engine": "The name of the database engine to be used for the restored DB cluster. Valid Values: aurora, aurora-postgresql ", + "SourceEngineVersion": "The version of the database that the backup files were created from. MySQL version 5.5 and 5.6 are supported. Example: 5.6.22 ", + "MasterUserPassword": "The password for the master database user. This password can contain any printable ASCII character except \"/\", \"\"\", or \"@\". Constraints: Must contain from 8 to 41 characters.", + "S3IngestionRoleArn": "The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that authorizes Amazon RDS to access the Amazon S3 bucket on your behalf.", + "MasterUsername": "The name of the master user for the restored DB cluster. Constraints: Must be 1 to 16 letters or numbers. First character must be a letter. Can't be a reserved word for the chosen database engine. " +} + +Optional Parameters +{ + "DatabaseName": "The database name for the restored DB cluster.", + "OptionGroupName": "A value that indicates that the restored DB cluster should be associated with the specified option group. Permanent options can't be removed from an option group. An option group can't be removed from a DB cluster once it is associated with a DB cluster.", + "CharacterSetName": "A value that indicates that the restored DB cluster should be associated with the specified CharacterSet.", + "PreferredMaintenanceWindow": "The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC). Format: ddd:hh24:mi-ddd:hh24:mi The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region, occurring on a random day of the week. To see the time blocks available, see Adjusting the Preferred Maintenance Window in the Amazon Aurora User Guide. Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun. Constraints: Minimum 30-minute window.", + "AvailabilityZones": "A list of Availability Zones (AZs) where instances in the restored DB cluster can be created.", + "BackupRetentionPeriod": "The number of days for which automated backups of the restored DB cluster are retained. You must specify a minimum value of 1. Default: 1 Constraints: Must be a value from 1 to 35 ", + "DBSubnetGroupName": "A DB subnet group to associate with the restored DB cluster. Constraints: If supplied, must match the name of an existing DBSubnetGroup. Example: mySubnetgroup ", + "Tags": "", + "StorageEncrypted": "A value that indicates whether the restored DB cluster is encrypted.", + "BacktrackWindow": "The target backtrack window, in seconds. To disable backtracking, set this value to 0. Default: 0 Constraints: If specified, this value must be set to a number from 0 to 259,200 (72 hours). ", + "EnableIAMDatabaseAuthentication": "A value that indicates whether to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts. By default, mapping is disabled. For more information, see IAM Database Authentication in the Amazon Aurora User Guide. ", + "CopyTagsToSnapshot": "A value that indicates whether to copy all tags from the restored DB cluster to snapshots of the restored DB cluster. The default is not to copy them.", + "Domain": "Specify the Active Directory directory ID to restore the DB cluster in. The domain must be created prior to this operation. For Amazon Aurora DB clusters, Amazon RDS can use Kerberos Authentication to authenticate users that connect to the DB cluster. For more information, see Using Kerberos Authentication for Aurora MySQL in the Amazon Aurora User Guide. ", + "DomainIAMRoleName": "Specify the name of the IAM role to be used when making API calls to the Directory Service.", + "PreferredBackupWindow": "The daily time range during which automated backups are created if automated backups are enabled using the BackupRetentionPeriod parameter. The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region. To see the time blocks available, see Adjusting the Preferred Maintenance Window in the Amazon Aurora User Guide. Constraints: Must be in the format hh24:mi-hh24:mi. Must be in Universal Coordinated Time (UTC). Must not conflict with the preferred maintenance window. Must be at least 30 minutes. ", + "EngineVersion": "The version number of the database engine to use. To list all of the available engine versions for aurora (for MySQL 5.6-compatible Aurora), use the following command: aws rds describe-db-engine-versions --engine aurora --query \"DBEngineVersions[].EngineVersion\" To list all of the available engine versions for aurora-mysql (for MySQL 5.7-compatible Aurora), use the following command: aws rds describe-db-engine-versions --engine aurora-mysql --query \"DBEngineVersions[].EngineVersion\" To list all of the available engine versions for aurora-postgresql, use the following command: aws rds describe-db-engine-versions --engine aurora-postgresql --query \"DBEngineVersions[].EngineVersion\" Aurora MySQL Example: 5.6.10a, 5.6.mysql_aurora.1.19.2, 5.7.12, 5.7.mysql_aurora.2.04.5 Aurora PostgreSQL Example: 9.6.3, 10.7 ", + "DBClusterParameterGroupName": "The name of the DB cluster parameter group to associate with the restored DB cluster. If this argument is omitted, default.aurora5.6 is used. Constraints: If supplied, must match the name of an existing DBClusterParameterGroup. ", + "S3Prefix": "The prefix for all of the file names that contain the data used to create the Amazon Aurora DB cluster. If you do not specify a SourceS3Prefix value, then the Amazon Aurora DB cluster is created by using all of the files in the Amazon S3 bucket.", + "Port": "The port number on which the instances in the restored DB cluster accept connections. Default: 3306 ", + "EnableCloudwatchLogsExports": "The list of logs that the restored DB cluster is to export to CloudWatch Logs. The values in the list depend on the DB engine being used. For more information, see Publishing Database Logs to Amazon CloudWatch Logs in the Amazon Aurora User Guide.", + "DeletionProtection": "A value that indicates whether the DB cluster has deletion protection enabled. The database can't be deleted when deletion protection is enabled. By default, deletion protection is disabled. ", + "VpcSecurityGroupIds": "A list of EC2 VPC security groups to associate with the restored DB cluster.", + "KmsKeyId": "The AWS KMS key identifier for an encrypted DB cluster. The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are creating a DB cluster with the same AWS account that owns the KMS encryption key used to encrypt the new DB cluster, then you can use the KMS key alias instead of the ARN for the KM encryption key. If the StorageEncrypted parameter is enabled, and you do not specify a value for the KmsKeyId parameter, then Amazon RDS will use your default encryption key. AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS Region." +} +""" +RestoreDBClusterFromS3(args) = rds("RestoreDBClusterFromS3", args) + +""" + AddSourceIdentifierToSubscription() + +Adds a source identifier to an existing RDS event notification subscription. + +Required Parameters +{ + "SubscriptionName": "The name of the RDS event notification subscription you want to add a source identifier to.", + "SourceIdentifier": "The identifier of the event source to be added. Constraints: If the source type is a DB instance, then a DBInstanceIdentifier must be supplied. If the source type is a DB security group, a DBSecurityGroupName must be supplied. If the source type is a DB parameter group, a DBParameterGroupName must be supplied. If the source type is a DB snapshot, a DBSnapshotIdentifier must be supplied. " +} +""" +AddSourceIdentifierToSubscription(args) = rds("AddSourceIdentifierToSubscription", args) + +""" + CreateDBProxy() + + This is prerelease documentation for the RDS Database Proxy feature in preview release. It is subject to change. Creates a new DB proxy. + +Required Parameters +{ + "DBProxyName": "The identifier for the proxy. This name must be unique for all proxies owned by your AWS account in the specified AWS Region. An identifier must begin with a letter and must contain only ASCII letters, digits, and hyphens; it can't end with a hyphen or contain two consecutive hyphens.", + "VpcSubnetIds": "One or more VPC subnet IDs to associate with the new proxy.", + "Auth": "The authorization mechanism that the proxy uses.", + "EngineFamily": "The kinds of databases that the proxy can connect to. This value determines which database network protocol the proxy recognizes when it interprets network traffic to and from the database. Currently, this value is always MYSQL. The engine family applies to both RDS MySQL and Aurora MySQL.", + "RoleArn": "The Amazon Resource Name (ARN) of the IAM role that the proxy uses to access secrets in AWS Secrets Manager." +} + +Optional Parameters +{ + "Tags": "An optional set of key-value pairs to associate arbitrary data of your choosing with the proxy.", + "IdleClientTimeout": "The number of seconds that a connection to the proxy can be inactive before the proxy disconnects it. You can set this value higher or lower than the connection timeout limit for the associated database.", + "VpcSecurityGroupIds": "One or more VPC security group IDs to associate with the new proxy.", + "DebugLogging": "Whether the proxy includes detailed information about SQL statements in its logs. This information helps you to debug issues involving SQL behavior or the performance and scalability of the proxy connections. The debug information includes the text of SQL statements that you submit through the proxy. Thus, only enable this setting when needed for debugging, and only when you have security measures in place to safeguard any sensitive information that appears in the logs.", + "RequireTLS": "A Boolean parameter that specifies whether Transport Layer Security (TLS) encryption is required for connections to the proxy. By enabling this setting, you can enforce encrypted TLS connections to the proxy." +} +""" +CreateDBProxy(args) = rds("CreateDBProxy", args) + +""" + DeleteDBParameterGroup() + +Deletes a specified DB parameter group. The DB parameter group to be deleted can't be associated with any DB instances. + +Required Parameters +{ + "DBParameterGroupName": "The name of the DB parameter group. Constraints: Must be the name of an existing DB parameter group You can't delete a default DB parameter group Can't be associated with any DB instances " +} +""" +DeleteDBParameterGroup(args) = rds("DeleteDBParameterGroup", args) + +""" + DeleteDBProxy() + + This is prerelease documentation for the RDS Database Proxy feature in preview release. It is subject to change. Deletes an existing proxy. + +Required Parameters +{ + "DBProxyName": "The name of the DB proxy to delete." +} +""" +DeleteDBProxy(args) = rds("DeleteDBProxy", args) + +""" + DescribeCertificates() + +Lists the set of CA certificates provided by Amazon RDS for this AWS account. + +Optional Parameters +{ + "MaxRecords": " The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so you can retrieve the remaining results. Default: 100 Constraints: Minimum 20, maximum 100.", + "Marker": " An optional pagination token provided by a previous DescribeCertificates request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords. ", + "Filters": "This parameter isn't currently supported.", + "CertificateIdentifier": "The user-supplied certificate identifier. If this parameter is specified, information for only the identified certificate is returned. This parameter isn't case-sensitive. Constraints: Must match an existing CertificateIdentifier. " +} +""" +DescribeCertificates() = rds("DescribeCertificates") +DescribeCertificates(args) = rds("DescribeCertificates", args) + +""" + DescribeDBClusters() + +Returns information about provisioned Aurora DB clusters. This API supports pagination. For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide. This operation can also return information for Amazon Neptune DB instances and Amazon DocumentDB instances. + +Optional Parameters +{ + "MaxRecords": "The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so you can retrieve the remaining results. Default: 100 Constraints: Minimum 20, maximum 100.", + "Marker": "An optional pagination token provided by a previous DescribeDBClusters request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords. ", + "IncludeShared": "Optional Boolean parameter that specifies whether the output includes information about clusters shared from other AWS accounts.", + "DBClusterIdentifier": "The user-supplied DB cluster identifier. If this parameter is specified, information from only the specific DB cluster is returned. This parameter isn't case-sensitive. Constraints: If supplied, must match an existing DBClusterIdentifier. ", + "Filters": "A filter that specifies one or more DB clusters to describe. Supported filters: db-cluster-id - Accepts DB cluster identifiers and DB cluster Amazon Resource Names (ARNs). The results list will only include information about the DB clusters identified by these ARNs. " +} +""" +DescribeDBClusters() = rds("DescribeDBClusters") +DescribeDBClusters(args) = rds("DescribeDBClusters", args) + +""" + ModifyCurrentDBClusterCapacity() + +Set the capacity of an Aurora Serverless DB cluster to a specific value. Aurora Serverless scales seamlessly based on the workload on the DB cluster. In some cases, the capacity might not scale fast enough to meet a sudden change in workload, such as a large number of new transactions. Call ModifyCurrentDBClusterCapacity to set the capacity explicitly. After this call sets the DB cluster capacity, Aurora Serverless can automatically scale the DB cluster based on the cooldown period for scaling up and the cooldown period for scaling down. For more information about Aurora Serverless, see Using Amazon Aurora Serverless in the Amazon Aurora User Guide. If you call ModifyCurrentDBClusterCapacity with the default TimeoutAction, connections that prevent Aurora Serverless from finding a scaling point might be dropped. For more information about scaling points, see Autoscaling for Aurora Serverless in the Amazon Aurora User Guide. This action only applies to Aurora DB clusters. + +Required Parameters +{ + "DBClusterIdentifier": "The DB cluster identifier for the cluster being modified. This parameter isn't case-sensitive. Constraints: Must match the identifier of an existing DB cluster. " +} + +Optional Parameters +{ + "TimeoutAction": "The action to take when the timeout is reached, either ForceApplyCapacityChange or RollbackCapacityChange. ForceApplyCapacityChange, the default, sets the capacity to the specified value as soon as possible. RollbackCapacityChange ignores the capacity change if a scaling point isn't found in the timeout period.", + "SecondsBeforeTimeout": "The amount of time, in seconds, that Aurora Serverless tries to find a scaling point to perform seamless scaling before enforcing the timeout action. The default is 300. Value must be from 10 through 600. ", + "Capacity": "The DB cluster capacity. When you change the capacity of a paused Aurora Serverless DB cluster, it automatically resumes. Constraints: For Aurora MySQL, valid capacity values are 1, 2, 4, 8, 16, 32, 64, 128, and 256. For Aurora PostgreSQL, valid capacity values are 2, 4, 8, 16, 32, 64, 192, and 384. " +} +""" +ModifyCurrentDBClusterCapacity(args) = rds("ModifyCurrentDBClusterCapacity", args) + +""" + DescribeDBClusterSnapshots() + +Returns information about DB cluster snapshots. This API action supports pagination. For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide. This action only applies to Aurora DB clusters. + +Optional Parameters +{ + "MaxRecords": "The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so you can retrieve the remaining results. Default: 100 Constraints: Minimum 20, maximum 100.", + "Marker": "An optional pagination token provided by a previous DescribeDBClusterSnapshots request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords. ", + "IncludeShared": "A value that indicates whether to include shared manual DB cluster snapshots from other AWS accounts that this AWS account has been given permission to copy or restore. By default, these snapshots are not included. You can give an AWS account permission to restore a manual DB cluster snapshot from another AWS account by the ModifyDBClusterSnapshotAttribute API action.", + "DBClusterSnapshotIdentifier": "A specific DB cluster snapshot identifier to describe. This parameter can't be used in conjunction with the DBClusterIdentifier parameter. This value is stored as a lowercase string. Constraints: If supplied, must match the identifier of an existing DBClusterSnapshot. If this identifier is for an automated snapshot, the SnapshotType parameter must also be specified. ", + "DBClusterIdentifier": "The ID of the DB cluster to retrieve the list of DB cluster snapshots for. This parameter can't be used in conjunction with the DBClusterSnapshotIdentifier parameter. This parameter isn't case-sensitive. Constraints: If supplied, must match the identifier of an existing DBCluster. ", + "SnapshotType": "The type of DB cluster snapshots to be returned. You can specify one of the following values: automated - Return all DB cluster snapshots that have been automatically taken by Amazon RDS for my AWS account. manual - Return all DB cluster snapshots that have been taken by my AWS account. shared - Return all manual DB cluster snapshots that have been shared to my AWS account. public - Return all DB cluster snapshots that have been marked as public. If you don't specify a SnapshotType value, then both automated and manual DB cluster snapshots are returned. You can include shared DB cluster snapshots with these results by enabling the IncludeShared parameter. You can include public DB cluster snapshots with these results by enabling the IncludePublic parameter. The IncludeShared and IncludePublic parameters don't apply for SnapshotType values of manual or automated. The IncludePublic parameter doesn't apply when SnapshotType is set to shared. The IncludeShared parameter doesn't apply when SnapshotType is set to public.", + "Filters": "A filter that specifies one or more DB cluster snapshots to describe. Supported filters: db-cluster-id - Accepts DB cluster identifiers and DB cluster Amazon Resource Names (ARNs). db-cluster-snapshot-id - Accepts DB cluster snapshot identifiers. snapshot-type - Accepts types of DB cluster snapshots. engine - Accepts names of database engines. ", + "IncludePublic": "A value that indicates whether to include manual DB cluster snapshots that are public and can be copied or restored by any AWS account. By default, the public snapshots are not included. You can share a manual DB cluster snapshot as public by using the ModifyDBClusterSnapshotAttribute API action." +} +""" +DescribeDBClusterSnapshots() = rds("DescribeDBClusterSnapshots") +DescribeDBClusterSnapshots(args) = rds("DescribeDBClusterSnapshots", args) + +""" + CopyOptionGroup() + +Copies the specified option group. + +Required Parameters +{ + "TargetOptionGroupDescription": "The description for the copied option group.", + "SourceOptionGroupIdentifier": "The identifier or ARN for the source option group. For information about creating an ARN, see Constructing an ARN for Amazon RDS in the Amazon RDS User Guide. Constraints: Must specify a valid option group. If the source option group is in the same AWS Region as the copy, specify a valid option group identifier, for example my-option-group, or a valid ARN. If the source option group is in a different AWS Region than the copy, specify a valid option group ARN, for example arn:aws:rds:us-west-2:123456789012:og:special-options. ", + "TargetOptionGroupIdentifier": "The identifier for the copied option group. Constraints: Can't be null, empty, or blank Must contain from 1 to 255 letters, numbers, or hyphens First character must be a letter Can't end with a hyphen or contain two consecutive hyphens Example: my-option-group " +} + +Optional Parameters +{ + "Tags": "" +} +""" +CopyOptionGroup(args) = rds("CopyOptionGroup", args) + +""" + DescribeCustomAvailabilityZones() + +Returns information about custom Availability Zones (AZs). A custom AZ is an on-premises AZ that is integrated with a VMware vSphere cluster. For more information about RDS on VMware, see the RDS on VMware User Guide. + +Optional Parameters +{ + "MaxRecords": "The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so you can retrieve the remaining results. Default: 100 Constraints: Minimum 20, maximum 100.", + "Marker": "An optional pagination token provided by a previous DescribeCustomAvailabilityZones request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.", + "CustomAvailabilityZoneId": "The custom AZ identifier. If this parameter is specified, information from only the specific custom AZ is returned.", + "Filters": "A filter that specifies one or more custom AZs to describe." +} +""" +DescribeCustomAvailabilityZones() = rds("DescribeCustomAvailabilityZones") +DescribeCustomAvailabilityZones(args) = rds("DescribeCustomAvailabilityZones", args) + +""" + DescribeDBClusterParameterGroups() + + Returns a list of DBClusterParameterGroup descriptions. If a DBClusterParameterGroupName parameter is specified, the list will contain only the description of the specified DB cluster parameter group. For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide. This action only applies to Aurora DB clusters. + +Optional Parameters +{ + "MaxRecords": " The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so you can retrieve the remaining results. Default: 100 Constraints: Minimum 20, maximum 100.", + "Marker": " An optional pagination token provided by a previous DescribeDBClusterParameterGroups request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords. ", + "DBClusterParameterGroupName": "The name of a specific DB cluster parameter group to return details for. Constraints: If supplied, must match the name of an existing DBClusterParameterGroup. ", + "Filters": "This parameter isn't currently supported." +} +""" +DescribeDBClusterParameterGroups() = rds("DescribeDBClusterParameterGroups") +DescribeDBClusterParameterGroups(args) = rds("DescribeDBClusterParameterGroups", args) + +""" + DownloadDBLogFilePortion() + +Downloads all or a portion of the specified log file, up to 1 MB in size. + +Required Parameters +{ + "DBInstanceIdentifier": "The customer-assigned name of the DB instance that contains the log files you want to list. Constraints: Must match the identifier of an existing DBInstance. ", + "LogFileName": "The name of the log file to be downloaded." +} + +Optional Parameters +{ + "Marker": "The pagination token provided in the previous request or \"0\". If the Marker parameter is specified the response includes only records beyond the marker until the end of the file or up to NumberOfLines.", + "NumberOfLines": "The number of lines to download. If the number of lines specified results in a file over 1 MB in size, the file is truncated at 1 MB in size. If the NumberOfLines parameter is specified, then the block of lines returned can be from the beginning or the end of the log file, depending on the value of the Marker parameter. If neither Marker or NumberOfLines are specified, the entire log file is returned up to a maximum of 10000 lines, starting with the most recent log entries first. If NumberOfLines is specified and Marker isn't specified, then the most recent lines from the end of the log file are returned. If Marker is specified as \"0\", then the specified number of lines from the beginning of the log file are returned. You can download the log file in blocks of lines by specifying the size of the block using the NumberOfLines parameter, and by specifying a value of \"0\" for the Marker parameter in your first request. Include the Marker value returned in the response as the Marker value for the next request, continuing until the AdditionalDataPending response element returns false. " +} +""" +DownloadDBLogFilePortion(args) = rds("DownloadDBLogFilePortion", args) + +""" + DescribePendingMaintenanceActions() + +Returns a list of resources (for example, DB instances) that have at least one pending maintenance action. + +Optional Parameters +{ + "Marker": " An optional pagination token provided by a previous DescribePendingMaintenanceActions request. If this parameter is specified, the response includes only records beyond the marker, up to a number of records specified by MaxRecords. ", + "MaxRecords": " The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that you can retrieve the remaining results. Default: 100 Constraints: Minimum 20, maximum 100.", + "Filters": "A filter that specifies one or more resources to return pending maintenance actions for. Supported filters: db-cluster-id - Accepts DB cluster identifiers and DB cluster Amazon Resource Names (ARNs). The results list will only include pending maintenance actions for the DB clusters identified by these ARNs. db-instance-id - Accepts DB instance identifiers and DB instance ARNs. The results list will only include pending maintenance actions for the DB instances identified by these ARNs. ", + "ResourceIdentifier": "The ARN of a resource to return pending maintenance actions for." +} +""" +DescribePendingMaintenanceActions() = rds("DescribePendingMaintenanceActions") +DescribePendingMaintenanceActions(args) = rds("DescribePendingMaintenanceActions", args) diff --git a/src/services/rds_data.jl b/src/services/rds_data.jl new file mode 100644 index 0000000000..e77b0dfe57 --- /dev/null +++ b/src/services/rds_data.jl @@ -0,0 +1,116 @@ +include("../AWSServices.jl") +using .AWSServices: rds_data + +""" + BeginTransaction() + +Starts a SQL transaction. <important> <p>A transaction can run for a maximum of 24 hours. A transaction is terminated and rolled back automatically after 24 hours.</p> <p>A transaction times out if no calls use its transaction ID in three minutes. If a transaction times out before it's committed, it's rolled back automatically.</p> <p>DDL statements inside a transaction cause an implicit commit. We recommend that you run each DDL statement in a separate <code>ExecuteStatement</code> call with <code>continueAfterTimeout</code> enabled.</p> </important> + +Required Parameters +{ + "resourceArn": "The Amazon Resource Name (ARN) of the Aurora Serverless DB cluster.", + "secretArn": "The name or ARN of the secret that enables access to the DB cluster." +} + +Optional Parameters +{ + "database": "The name of the database.", + "schema": "The name of the database schema." +} +""" +BeginTransaction(args) = rds_data("POST", "/BeginTransaction", args) + +""" + CommitTransaction() + +Ends a SQL transaction started with the BeginTransaction operation and commits the changes. + +Required Parameters +{ + "resourceArn": "The Amazon Resource Name (ARN) of the Aurora Serverless DB cluster.", + "transactionId": "The identifier of the transaction to end and commit.", + "secretArn": "The name or ARN of the secret that enables access to the DB cluster." +} +""" +CommitTransaction(args) = rds_data("POST", "/CommitTransaction", args) + +""" + ExecuteSql() + +Runs one or more SQL statements. This operation is deprecated. Use the BatchExecuteStatement or ExecuteStatement operation. + +Required Parameters +{ + "sqlStatements": "One or more SQL statements to run on the DB cluster. You can separate SQL statements from each other with a semicolon (;). Any valid SQL statement is permitted, including data definition, data manipulation, and commit statements. ", + "dbClusterOrInstanceArn": "The ARN of the Aurora Serverless DB cluster.", + "awsSecretStoreArn": "The Amazon Resource Name (ARN) of the secret that enables access to the DB cluster." +} + +Optional Parameters +{ + "database": "The name of the database.", + "schema": "The name of the database schema." +} +""" +ExecuteSql(args) = rds_data("POST", "/ExecuteSql", args) + +""" + RollbackTransaction() + +Performs a rollback of a transaction. Rolling back a transaction cancels its changes. + +Required Parameters +{ + "resourceArn": "The Amazon Resource Name (ARN) of the Aurora Serverless DB cluster.", + "transactionId": "The identifier of the transaction to roll back.", + "secretArn": "The name or ARN of the secret that enables access to the DB cluster." +} +""" +RollbackTransaction(args) = rds_data("POST", "/RollbackTransaction", args) + +""" + BatchExecuteStatement() + +Runs a batch SQL statement over an array of data. You can run bulk update and insert operations for multiple records using a DML statement with different parameter sets. Bulk operations can provide a significant performance improvement over individual insert and update operations. If a call isn't part of a transaction because it doesn't include the transactionID parameter, changes that result from the call are committed automatically. + +Required Parameters +{ + "resourceArn": "The Amazon Resource Name (ARN) of the Aurora Serverless DB cluster.", + "sql": "The SQL statement to run.", + "secretArn": "The name or ARN of the secret that enables access to the DB cluster." +} + +Optional Parameters +{ + "parameterSets": "The parameter set for the batch operation. The SQL statement is executed as many times as the number of parameter sets provided. To execute a SQL statement with no parameters, use one of the following options: Specify one or more empty parameter sets. Use the ExecuteStatement operation instead of the BatchExecuteStatement operation. Array parameters are not supported. ", + "transactionId": "The identifier of a transaction that was started by using the BeginTransaction operation. Specify the transaction ID of the transaction that you want to include the SQL statement in. If the SQL statement is not part of a transaction, don't set this parameter.", + "database": "The name of the database.", + "schema": "The name of the database schema." +} +""" +BatchExecuteStatement(args) = rds_data("POST", "/BatchExecute", args) + +""" + ExecuteStatement() + +Runs a SQL statement against a database. If a call isn't part of a transaction because it doesn't include the transactionID parameter, changes that result from the call are committed automatically. The response size limit is 1 MB. If the call returns more than 1 MB of response data, the call is terminated. + +Required Parameters +{ + "resourceArn": "The Amazon Resource Name (ARN) of the Aurora Serverless DB cluster.", + "sql": "The SQL statement to run.", + "secretArn": "The name or ARN of the secret that enables access to the DB cluster." +} + +Optional Parameters +{ + "includeResultMetadata": "A value that indicates whether to include metadata in the results.", + "parameters": "The parameters for the SQL statement. Array parameters are not supported. ", + "resultSetOptions": "Options that control how the result set is returned.", + "continueAfterTimeout": "A value that indicates whether to continue running the statement after the call times out. By default, the statement stops running when the call times out. For DDL statements, we recommend continuing to run the statement after the call times out. When a DDL statement terminates before it is finished running, it can result in errors and possibly corrupted data structures. ", + "transactionId": "The identifier of a transaction that was started by using the BeginTransaction operation. Specify the transaction ID of the transaction that you want to include the SQL statement in. If the SQL statement is not part of a transaction, don't set this parameter.", + "database": "The name of the database.", + "schema": "The name of the database schema." +} +""" +ExecuteStatement(args) = rds_data("POST", "/Execute", args) diff --git a/src/services/redshift.jl b/src/services/redshift.jl new file mode 100644 index 0000000000..88a911a191 --- /dev/null +++ b/src/services/redshift.jl @@ -0,0 +1,1521 @@ +include("../AWSServices.jl") +using .AWSServices: redshift + +""" + DescribeScheduledActions() + +Describes properties of scheduled actions. + +Optional Parameters +{ + "ScheduledActionName": "The name of the scheduled action to retrieve. ", + "StartTime": "The start time in UTC of the scheduled actions to retrieve. Only active scheduled actions that have invocations after this time are retrieved.", + "Active": "If true, retrieve only active scheduled actions. If false, retrieve only disabled scheduled actions. ", + "Marker": "An optional parameter that specifies the starting point to return a set of response records. When the results of a DescribeScheduledActions request exceed the value specified in MaxRecords, AWS returns a value in the Marker field of the response. You can retrieve the next set of response records by providing the returned marker value in the Marker parameter and retrying the request. ", + "EndTime": "The end time in UTC of the scheduled action to retrieve. Only active scheduled actions that have invocations before this time are retrieved.", + "MaxRecords": "The maximum number of response records to return in each call. If the number of remaining response records exceeds the specified MaxRecords value, a value is returned in a marker field of the response. You can retrieve the next set of records by retrying the command with the returned marker value. Default: 100 Constraints: minimum 20, maximum 100.", + "TargetActionType": "The type of the scheduled actions to retrieve. ", + "Filters": "List of scheduled action filters. " +} +""" +DescribeScheduledActions() = redshift("DescribeScheduledActions") +DescribeScheduledActions(args) = redshift("DescribeScheduledActions", args) + +""" + DeleteSnapshotCopyGrant() + +Deletes the specified snapshot copy grant. + +Required Parameters +{ + "SnapshotCopyGrantName": "The name of the snapshot copy grant to delete." +} +""" +DeleteSnapshotCopyGrant(args) = redshift("DeleteSnapshotCopyGrant", args) + +""" + RevokeClusterSecurityGroupIngress() + +Revokes an ingress rule in an Amazon Redshift security group for a previously authorized IP range or Amazon EC2 security group. To add an ingress rule, see AuthorizeClusterSecurityGroupIngress. For information about managing security groups, go to Amazon Redshift Cluster Security Groups in the Amazon Redshift Cluster Management Guide. + +Required Parameters +{ + "ClusterSecurityGroupName": "The name of the security Group from which to revoke the ingress rule." +} + +Optional Parameters +{ + "CIDRIP": "The IP range for which to revoke access. This range must be a valid Classless Inter-Domain Routing (CIDR) block of IP addresses. If CIDRIP is specified, EC2SecurityGroupName and EC2SecurityGroupOwnerId cannot be provided. ", + "EC2SecurityGroupOwnerId": "The AWS account number of the owner of the security group specified in the EC2SecurityGroupName parameter. The AWS access key ID is not an acceptable value. If EC2SecurityGroupOwnerId is specified, EC2SecurityGroupName must also be provided. and CIDRIP cannot be provided. Example: 111122223333 ", + "EC2SecurityGroupName": "The name of the EC2 Security Group whose access is to be revoked. If EC2SecurityGroupName is specified, EC2SecurityGroupOwnerId must also be provided and CIDRIP cannot be provided. " +} +""" +RevokeClusterSecurityGroupIngress(args) = redshift("RevokeClusterSecurityGroupIngress", args) + +""" + CreateClusterParameterGroup() + +Creates an Amazon Redshift parameter group. Creating parameter groups is independent of creating clusters. You can associate a cluster with a parameter group when you create the cluster. You can also associate an existing cluster with a parameter group after the cluster is created by using ModifyCluster. Parameters in the parameter group define specific behavior that applies to the databases you create on the cluster. For more information about parameters and parameter groups, go to Amazon Redshift Parameter Groups in the Amazon Redshift Cluster Management Guide. + +Required Parameters +{ + "Description": "A description of the parameter group.", + "ParameterGroupName": "The name of the cluster parameter group. Constraints: Must be 1 to 255 alphanumeric characters or hyphens First character must be a letter. Cannot end with a hyphen or contain two consecutive hyphens. Must be unique withing your AWS account. This value is stored as a lower-case string. ", + "ParameterGroupFamily": "The Amazon Redshift engine version to which the cluster parameter group applies. The cluster engine version determines the set of parameters. To get a list of valid parameter group family names, you can call DescribeClusterParameterGroups. By default, Amazon Redshift returns a list of all the parameter groups that are owned by your AWS account, including the default parameter groups for each Amazon Redshift engine version. The parameter group family names associated with the default parameter groups provide you the valid values. For example, a valid family name is \"redshift-1.0\". " +} + +Optional Parameters +{ + "Tags": "A list of tag instances." +} +""" +CreateClusterParameterGroup(args) = redshift("CreateClusterParameterGroup", args) + +""" + ModifyClusterMaintenance() + +Modifies the maintenance settings of a cluster. + +Required Parameters +{ + "ClusterIdentifier": "A unique identifier for the cluster." +} + +Optional Parameters +{ + "DeferMaintenanceStartTime": "A timestamp indicating the start time for the deferred maintenance window.", + "DeferMaintenance": "A boolean indicating whether to enable the deferred maintenance window. ", + "DeferMaintenanceEndTime": "A timestamp indicating end time for the deferred maintenance window. If you specify an end time, you can't specify a duration.", + "DeferMaintenanceDuration": "An integer indicating the duration of the maintenance window in days. If you specify a duration, you can't specify an end time. The duration must be 45 days or less.", + "DeferMaintenanceIdentifier": "A unique identifier for the deferred maintenance window." +} +""" +ModifyClusterMaintenance(args) = redshift("ModifyClusterMaintenance", args) + +""" + DescribeSnapshotSchedules() + +Returns a list of snapshot schedules. + +Optional Parameters +{ + "ClusterIdentifier": "The unique identifier for the cluster whose snapshot schedules you want to view.", + "ScheduleIdentifier": "A unique identifier for a snapshot schedule.", + "Marker": "A value that indicates the starting point for the next set of response records in a subsequent request. If a value is returned in a response, you can retrieve the next set of records by providing this returned marker value in the marker parameter and retrying the command. If the marker field is empty, all response records have been retrieved for the request.", + "MaxRecords": "The maximum number or response records to return in each call. If the number of remaining response records exceeds the specified MaxRecords value, a value is returned in a marker field of the response. You can retrieve the next set of records by retrying the command with the returned marker value.", + "TagValues": "The value corresponding to the key of the snapshot schedule tag.", + "TagKeys": "The key value for a snapshot schedule tag." +} +""" +DescribeSnapshotSchedules() = redshift("DescribeSnapshotSchedules") +DescribeSnapshotSchedules(args) = redshift("DescribeSnapshotSchedules", args) + +""" + ModifyCluster() + +Modifies the settings for a cluster. You can also change node type and the number of nodes to scale up or down the cluster. When resizing a cluster, you must specify both the number of nodes and the node type even if one of the parameters does not change. You can add another security or parameter group, or change the master user password. Resetting a cluster password or modifying the security groups associated with a cluster do not need a reboot. However, modifying a parameter group requires a reboot for parameters to take effect. For more information about managing clusters, go to Amazon Redshift Clusters in the Amazon Redshift Cluster Management Guide. + +Required Parameters +{ + "ClusterIdentifier": "The unique identifier of the cluster to be modified. Example: examplecluster " +} + +Optional Parameters +{ + "NumberOfNodes": "The new number of nodes of the cluster. If you specify a new number of nodes, you must also specify the node type parameter. For more information about resizing clusters, go to Resizing Clusters in Amazon Redshift in the Amazon Redshift Cluster Management Guide. Valid Values: Integer greater than 0.", + "PubliclyAccessible": "If true, the cluster can be accessed from a public network. Only clusters in VPCs can be set to be publicly available.", + "PreferredMaintenanceWindow": "The weekly time range (in UTC) during which system maintenance can occur, if necessary. If system maintenance is necessary during the window, it may result in an outage. This maintenance window change is made immediately. If the new maintenance window indicates the current time, there must be at least 120 minutes between the current time and end of the window in order to ensure that pending changes are applied. Default: Uses existing setting. Format: ddd:hh24:mi-ddd:hh24:mi, for example wed:07:30-wed:08:00. Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun Constraints: Must be at least 30 minutes.", + "EnhancedVpcRouting": "An option that specifies whether to create the cluster with enhanced VPC routing enabled. To create a cluster that uses enhanced VPC routing, the cluster must be in a VPC. For more information, see Enhanced VPC Routing in the Amazon Redshift Cluster Management Guide. If this option is true, enhanced VPC routing is enabled. Default: false", + "HsmConfigurationIdentifier": "Specifies the name of the HSM configuration that contains the information the Amazon Redshift cluster can use to retrieve and store keys in an HSM.", + "AllowVersionUpgrade": "If true, major version upgrades will be applied automatically to the cluster during the maintenance window. Default: false ", + "NodeType": "The new node type of the cluster. If you specify a new node type, you must also specify the number of nodes parameter. For more information about resizing clusters, go to Resizing Clusters in Amazon Redshift in the Amazon Redshift Cluster Management Guide. Valid Values: ds2.xlarge | ds2.8xlarge | dc1.large | dc1.8xlarge | dc2.large | dc2.8xlarge | ra3.16xlarge ", + "ClusterType": "The new cluster type. When you submit your cluster resize request, your existing cluster goes into a read-only mode. After Amazon Redshift provisions a new cluster based on your resize requirements, there will be outage for a period while the old cluster is deleted and your connection is switched to the new cluster. You can use DescribeResize to track the progress of the resize request. Valid Values: multi-node | single-node ", + "ClusterSecurityGroups": "A list of cluster security groups to be authorized on this cluster. This change is asynchronously applied as soon as possible. Security groups currently associated with the cluster, and not in the list of groups to apply, will be revoked from the cluster. Constraints: Must be 1 to 255 alphanumeric characters or hyphens First character must be a letter Cannot end with a hyphen or contain two consecutive hyphens ", + "MaintenanceTrackName": "The name for the maintenance track that you want to assign for the cluster. This name change is asynchronous. The new track name stays in the PendingModifiedValues for the cluster until the next maintenance window. When the maintenance track changes, the cluster is switched to the latest cluster release available for the maintenance track. At this point, the maintenance track name is applied.", + "ElasticIp": "The Elastic IP (EIP) address for the cluster. Constraints: The cluster must be provisioned in EC2-VPC and publicly-accessible through an Internet gateway. For more information about provisioning clusters in EC2-VPC, go to Supported Platforms to Launch Your Cluster in the Amazon Redshift Cluster Management Guide.", + "ClusterVersion": "The new version number of the Amazon Redshift engine to upgrade to. For major version upgrades, if a non-default cluster parameter group is currently in use, a new cluster parameter group in the cluster parameter group family for the new version must be specified. The new cluster parameter group can be the default for that cluster parameter group family. For more information about parameters and parameter groups, go to Amazon Redshift Parameter Groups in the Amazon Redshift Cluster Management Guide. Example: 1.0 ", + "Encrypted": "Indicates whether the cluster is encrypted. If the value is encrypted (true) and you provide a value for the KmsKeyId parameter, we encrypt the cluster with the provided KmsKeyId. If you don't provide a KmsKeyId, we encrypt with the default key. In the China region we use legacy encryption if you specify that the cluster is encrypted. If the value is not encrypted (false), then the cluster is decrypted. ", + "ClusterParameterGroupName": "The name of the cluster parameter group to apply to this cluster. This change is applied only after the cluster is rebooted. To reboot a cluster use RebootCluster. Default: Uses existing setting. Constraints: The cluster parameter group must be in the same parameter group family that matches the cluster version.", + "MasterUserPassword": "The new password for the cluster master user. This change is asynchronously applied as soon as possible. Between the time of the request and the completion of the request, the MasterUserPassword element exists in the PendingModifiedValues element of the operation response. Operations never return the password, so this operation provides a way to regain access to the master user account for a cluster if the password is lost. Default: Uses existing setting. Constraints: Must be between 8 and 64 characters in length. Must contain at least one uppercase letter. Must contain at least one lowercase letter. Must contain one number. Can be any printable ASCII character (ASCII code 33 to 126) except ' (single quote), \" (double quote), , /, @, or space. ", + "ManualSnapshotRetentionPeriod": "The default for number of days that a newly created manual snapshot is retained. If the value is -1, the manual snapshot is retained indefinitely. This value doesn't retroactively change the retention periods of existing manual snapshots. The value must be either -1 or an integer between 1 and 3,653. The default value is -1.", + "AutomatedSnapshotRetentionPeriod": "The number of days that automated snapshots are retained. If the value is 0, automated snapshots are disabled. Even if automated snapshots are disabled, you can still create manual snapshots when you want with CreateClusterSnapshot. If you decrease the automated snapshot retention period from its current value, existing automated snapshots that fall outside of the new retention period will be immediately deleted. Default: Uses existing setting. Constraints: Must be a value from 0 to 35.", + "NewClusterIdentifier": "The new identifier for the cluster. Constraints: Must contain from 1 to 63 alphanumeric characters or hyphens. Alphabetic characters must be lowercase. First character must be a letter. Cannot end with a hyphen or contain two consecutive hyphens. Must be unique for all clusters within an AWS account. Example: examplecluster ", + "HsmClientCertificateIdentifier": "Specifies the name of the HSM client certificate the Amazon Redshift cluster uses to retrieve the data encryption keys stored in an HSM.", + "VpcSecurityGroupIds": "A list of virtual private cloud (VPC) security groups to be associated with the cluster. This change is asynchronously applied as soon as possible.", + "KmsKeyId": "The AWS Key Management Service (KMS) key ID of the encryption key that you want to use to encrypt data in the cluster." +} +""" +ModifyCluster(args) = redshift("ModifyCluster", args) + +""" + DescribeClusterParameterGroups() + +Returns a list of Amazon Redshift parameter groups, including parameter groups you created and the default parameter group. For each parameter group, the response includes the parameter group name, description, and parameter group family name. You can optionally specify a name to retrieve the description of a specific parameter group. For more information about parameters and parameter groups, go to Amazon Redshift Parameter Groups in the Amazon Redshift Cluster Management Guide. If you specify both tag keys and tag values in the same request, Amazon Redshift returns all parameter groups that match any combination of the specified keys and values. For example, if you have owner and environment for tag keys, and admin and test for tag values, all parameter groups that have any combination of those values are returned. If both tag keys and values are omitted from the request, parameter groups are returned regardless of whether they have tag keys or values associated with them. + +Optional Parameters +{ + "MaxRecords": "The maximum number of response records to return in each call. If the number of remaining response records exceeds the specified MaxRecords value, a value is returned in a marker field of the response. You can retrieve the next set of records by retrying the command with the returned marker value. Default: 100 Constraints: minimum 20, maximum 100.", + "Marker": "An optional parameter that specifies the starting point to return a set of response records. When the results of a DescribeClusterParameterGroups request exceed the value specified in MaxRecords, AWS returns a value in the Marker field of the response. You can retrieve the next set of response records by providing the returned marker value in the Marker parameter and retrying the request. ", + "TagValues": "A tag value or values for which you want to return all matching cluster parameter groups that are associated with the specified tag value or values. For example, suppose that you have parameter groups that are tagged with values called admin and test. If you specify both of these tag values in the request, Amazon Redshift returns a response with the parameter groups that have either or both of these tag values associated with them.", + "ParameterGroupName": "The name of a specific parameter group for which to return details. By default, details about all parameter groups and the default parameter group are returned.", + "TagKeys": "A tag key or keys for which you want to return all matching cluster parameter groups that are associated with the specified key or keys. For example, suppose that you have parameter groups that are tagged with keys called owner and environment. If you specify both of these tag keys in the request, Amazon Redshift returns a response with the parameter groups that have either or both of these tag keys associated with them." +} +""" +DescribeClusterParameterGroups() = redshift("DescribeClusterParameterGroups") +DescribeClusterParameterGroups(args) = redshift("DescribeClusterParameterGroups", args) + +""" + CreateScheduledAction() + +Creates a scheduled action. A scheduled action contains a schedule and an Amazon Redshift API action. For example, you can create a schedule of when to run the ResizeCluster API operation. + +Required Parameters +{ + "ScheduledActionName": "The name of the scheduled action. The name must be unique within an account. For more information about this parameter, see ScheduledAction. ", + "TargetAction": "A JSON format string of the Amazon Redshift API operation with input parameters. For more information about this parameter, see ScheduledAction. ", + "Schedule": "The schedule in at( ) or cron( ) format. For more information about this parameter, see ScheduledAction.", + "IamRole": "The IAM role to assume to run the target action. For more information about this parameter, see ScheduledAction. " +} + +Optional Parameters +{ + "ScheduledActionDescription": "The description of the scheduled action. ", + "StartTime": "The start time in UTC of the scheduled action. Before this time, the scheduled action does not trigger. For more information about this parameter, see ScheduledAction.", + "EndTime": "The end time in UTC of the scheduled action. After this time, the scheduled action does not trigger. For more information about this parameter, see ScheduledAction. ", + "Enable": "If true, the schedule is enabled. If false, the scheduled action does not trigger. For more information about state of the scheduled action, see ScheduledAction. " +} +""" +CreateScheduledAction(args) = redshift("CreateScheduledAction", args) + +""" + PauseCluster() + +Pauses a cluster. + +Required Parameters +{ + "ClusterIdentifier": "The identifier of the cluster to be paused." +} +""" +PauseCluster(args) = redshift("PauseCluster", args) + +""" + RestoreFromClusterSnapshot() + +Creates a new cluster from a snapshot. By default, Amazon Redshift creates the resulting cluster with the same configuration as the original cluster from which the snapshot was created, except that the new cluster is created with the default cluster security and parameter groups. After Amazon Redshift creates the cluster, you can use the ModifyCluster API to associate a different security group and different parameter group with the restored cluster. If you are using a DS node type, you can also choose to change to another DS node type of the same size during restore. If you restore a cluster into a VPC, you must provide a cluster subnet group where you want the cluster restored. For more information about working with snapshots, go to Amazon Redshift Snapshots in the Amazon Redshift Cluster Management Guide. + +Required Parameters +{ + "ClusterIdentifier": "The identifier of the cluster that will be created from restoring the snapshot. Constraints: Must contain from 1 to 63 alphanumeric characters or hyphens. Alphabetic characters must be lowercase. First character must be a letter. Cannot end with a hyphen or contain two consecutive hyphens. Must be unique for all clusters within an AWS account. ", + "SnapshotIdentifier": "The name of the snapshot from which to create the new cluster. This parameter isn't case sensitive. Example: my-snapshot-id " +} + +Optional Parameters +{ + "NumberOfNodes": "The number of nodes specified when provisioning the restored cluster.", + "PubliclyAccessible": "If true, the cluster can be accessed from a public network. ", + "PreferredMaintenanceWindow": "The weekly time range (in UTC) during which automated cluster maintenance can occur. Format: ddd:hh24:mi-ddd:hh24:mi Default: The value selected for the cluster from which the snapshot was taken. For more information about the time blocks for each region, see Maintenance Windows in Amazon Redshift Cluster Management Guide. Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun Constraints: Minimum 30-minute window.", + "ClusterSubnetGroupName": "The name of the subnet group where you want to cluster restored. A snapshot of cluster in VPC can be restored only in VPC. Therefore, you must provide subnet group name where you want the cluster restored.", + "EnhancedVpcRouting": "An option that specifies whether to create the cluster with enhanced VPC routing enabled. To create a cluster that uses enhanced VPC routing, the cluster must be in a VPC. For more information, see Enhanced VPC Routing in the Amazon Redshift Cluster Management Guide. If this option is true, enhanced VPC routing is enabled. Default: false", + "HsmConfigurationIdentifier": "Specifies the name of the HSM configuration that contains the information the Amazon Redshift cluster can use to retrieve and store keys in an HSM.", + "AllowVersionUpgrade": "If true, major version upgrades can be applied during the maintenance window to the Amazon Redshift engine that is running on the cluster. Default: true ", + "NodeType": "The node type that the restored cluster will be provisioned with. Default: The node type of the cluster from which the snapshot was taken. You can modify this if you are using any DS node type. In that case, you can choose to restore into another DS node type of the same size. For example, you can restore ds1.8xlarge into ds2.8xlarge, or ds1.xlarge into ds2.xlarge. If you have a DC instance type, you must restore into that same instance type and size. In other words, you can only restore a dc1.large instance type into another dc1.large instance type or dc2.large instance type. You can't restore dc1.8xlarge to dc2.8xlarge. First restore to a dc1.8xlareg cluster, then resize to a dc2.8large cluster. For more information about node types, see About Clusters and Nodes in the Amazon Redshift Cluster Management Guide. ", + "AdditionalInfo": "Reserved.", + "ClusterSecurityGroups": "A list of security groups to be associated with this cluster. Default: The default cluster security group for Amazon Redshift. Cluster security groups only apply to clusters outside of VPCs.", + "MaintenanceTrackName": "The name of the maintenance track for the restored cluster. When you take a snapshot, the snapshot inherits the MaintenanceTrack value from the cluster. The snapshot might be on a different track than the cluster that was the source for the snapshot. For example, suppose that you take a snapshot of a cluster that is on the current track and then change the cluster to be on the trailing track. In this case, the snapshot and the source cluster are on different tracks.", + "ElasticIp": "The elastic IP (EIP) address for the cluster.", + "SnapshotClusterIdentifier": "The name of the cluster the source snapshot was created from. This parameter is required if your IAM user has a policy containing a snapshot resource element that specifies anything other than * for the cluster name.", + "ClusterParameterGroupName": "The name of the parameter group to be associated with this cluster. Default: The default Amazon Redshift cluster parameter group. For information about the default parameter group, go to Working with Amazon Redshift Parameter Groups. Constraints: Must be 1 to 255 alphanumeric characters or hyphens. First character must be a letter. Cannot end with a hyphen or contain two consecutive hyphens. ", + "SnapshotScheduleIdentifier": "A unique identifier for the snapshot schedule.", + "Port": "The port number on which the cluster accepts connections. Default: The same port as the original cluster. Constraints: Must be between 1115 and 65535.", + "ManualSnapshotRetentionPeriod": "The default number of days to retain a manual snapshot. If the value is -1, the snapshot is retained indefinitely. This setting doesn't change the retention period of existing snapshots. The value must be either -1 or an integer between 1 and 3,653.", + "AutomatedSnapshotRetentionPeriod": "The number of days that automated snapshots are retained. If the value is 0, automated snapshots are disabled. Even if automated snapshots are disabled, you can still create manual snapshots when you want with CreateClusterSnapshot. Default: The value selected for the cluster from which the snapshot was taken. Constraints: Must be a value from 0 to 35.", + "IamRoles": "A list of AWS Identity and Access Management (IAM) roles that can be used by the cluster to access other AWS services. You must supply the IAM roles in their Amazon Resource Name (ARN) format. You can supply up to 10 IAM roles in a single request. A cluster can have up to 10 IAM roles associated at any time.", + "OwnerAccount": "The AWS customer account used to create or copy the snapshot. Required if you are restoring a snapshot you do not own, optional if you own the snapshot.", + "AvailabilityZone": "The Amazon EC2 Availability Zone in which to restore the cluster. Default: A random, system-chosen Availability Zone. Example: us-east-2a ", + "HsmClientCertificateIdentifier": "Specifies the name of the HSM client certificate the Amazon Redshift cluster uses to retrieve the data encryption keys stored in an HSM.", + "VpcSecurityGroupIds": "A list of Virtual Private Cloud (VPC) security groups to be associated with the cluster. Default: The default VPC security group is associated with the cluster. VPC security groups only apply to clusters in VPCs.", + "KmsKeyId": "The AWS Key Management Service (KMS) key ID of the encryption key that you want to use to encrypt data in the cluster that you restore from a shared snapshot." +} +""" +RestoreFromClusterSnapshot(args) = redshift("RestoreFromClusterSnapshot", args) + +""" + CreateClusterSnapshot() + +Creates a manual snapshot of the specified cluster. The cluster must be in the available state. For more information about working with snapshots, go to Amazon Redshift Snapshots in the Amazon Redshift Cluster Management Guide. + +Required Parameters +{ + "ClusterIdentifier": "The cluster identifier for which you want a snapshot.", + "SnapshotIdentifier": "A unique identifier for the snapshot that you are requesting. This identifier must be unique for all snapshots within the AWS account. Constraints: Cannot be null, empty, or blank Must contain from 1 to 255 alphanumeric characters or hyphens First character must be a letter Cannot end with a hyphen or contain two consecutive hyphens Example: my-snapshot-id " +} + +Optional Parameters +{ + "Tags": "A list of tag instances.", + "ManualSnapshotRetentionPeriod": "The number of days that a manual snapshot is retained. If the value is -1, the manual snapshot is retained indefinitely. The value must be either -1 or an integer between 1 and 3,653. The default value is -1." +} +""" +CreateClusterSnapshot(args) = redshift("CreateClusterSnapshot", args) + +""" + DescribeEventCategories() + +Displays a list of event categories for all event source types, or for a specified source type. For a list of the event categories and source types, go to Amazon Redshift Event Notifications. + +Optional Parameters +{ + "SourceType": "The source type, such as cluster or parameter group, to which the described event categories apply. Valid values: cluster, cluster-snapshot, cluster-parameter-group, cluster-security-group, and scheduled-action." +} +""" +DescribeEventCategories() = redshift("DescribeEventCategories") +DescribeEventCategories(args) = redshift("DescribeEventCategories", args) + +""" + PurchaseReservedNodeOffering() + +Allows you to purchase reserved nodes. Amazon Redshift offers a predefined set of reserved node offerings. You can purchase one or more of the offerings. You can call the DescribeReservedNodeOfferings API to obtain the available reserved node offerings. You can call this API by providing a specific reserved node offering and the number of nodes you want to reserve. For more information about reserved node offerings, go to Purchasing Reserved Nodes in the Amazon Redshift Cluster Management Guide. + +Required Parameters +{ + "ReservedNodeOfferingId": "The unique identifier of the reserved node offering you want to purchase." +} + +Optional Parameters +{ + "NodeCount": "The number of reserved nodes that you want to purchase. Default: 1 " +} +""" +PurchaseReservedNodeOffering(args) = redshift("PurchaseReservedNodeOffering", args) + +""" + RevokeSnapshotAccess() + +Removes the ability of the specified AWS customer account to restore the specified snapshot. If the account is currently restoring the snapshot, the restore will run to completion. For more information about working with snapshots, go to Amazon Redshift Snapshots in the Amazon Redshift Cluster Management Guide. + +Required Parameters +{ + "AccountWithRestoreAccess": "The identifier of the AWS customer account that can no longer restore the specified snapshot.", + "SnapshotIdentifier": "The identifier of the snapshot that the account can no longer access." +} + +Optional Parameters +{ + "SnapshotClusterIdentifier": "The identifier of the cluster the snapshot was created from. This parameter is required if your IAM user has a policy containing a snapshot resource element that specifies anything other than * for the cluster name." +} +""" +RevokeSnapshotAccess(args) = redshift("RevokeSnapshotAccess", args) + +""" + DescribeClusterSecurityGroups() + +Returns information about Amazon Redshift security groups. If the name of a security group is specified, the response will contain only information about only that security group. For information about managing security groups, go to Amazon Redshift Cluster Security Groups in the Amazon Redshift Cluster Management Guide. If you specify both tag keys and tag values in the same request, Amazon Redshift returns all security groups that match any combination of the specified keys and values. For example, if you have owner and environment for tag keys, and admin and test for tag values, all security groups that have any combination of those values are returned. If both tag keys and values are omitted from the request, security groups are returned regardless of whether they have tag keys or values associated with them. + +Optional Parameters +{ + "MaxRecords": "The maximum number of response records to return in each call. If the number of remaining response records exceeds the specified MaxRecords value, a value is returned in a marker field of the response. You can retrieve the next set of records by retrying the command with the returned marker value. Default: 100 Constraints: minimum 20, maximum 100.", + "Marker": "An optional parameter that specifies the starting point to return a set of response records. When the results of a DescribeClusterSecurityGroups request exceed the value specified in MaxRecords, AWS returns a value in the Marker field of the response. You can retrieve the next set of response records by providing the returned marker value in the Marker parameter and retrying the request. Constraints: You can specify either the ClusterSecurityGroupName parameter or the Marker parameter, but not both. ", + "TagValues": "A tag value or values for which you want to return all matching cluster security groups that are associated with the specified tag value or values. For example, suppose that you have security groups that are tagged with values called admin and test. If you specify both of these tag values in the request, Amazon Redshift returns a response with the security groups that have either or both of these tag values associated with them.", + "ClusterSecurityGroupName": "The name of a cluster security group for which you are requesting details. You can specify either the Marker parameter or a ClusterSecurityGroupName parameter, but not both. Example: securitygroup1 ", + "TagKeys": "A tag key or keys for which you want to return all matching cluster security groups that are associated with the specified key or keys. For example, suppose that you have security groups that are tagged with keys called owner and environment. If you specify both of these tag keys in the request, Amazon Redshift returns a response with the security groups that have either or both of these tag keys associated with them." +} +""" +DescribeClusterSecurityGroups() = redshift("DescribeClusterSecurityGroups") +DescribeClusterSecurityGroups(args) = redshift("DescribeClusterSecurityGroups", args) + +""" + DescribeReservedNodeOfferings() + +Returns a list of the available reserved node offerings by Amazon Redshift with their descriptions including the node type, the fixed and recurring costs of reserving the node and duration the node will be reserved for you. These descriptions help you determine which reserve node offering you want to purchase. You then use the unique offering ID in you call to PurchaseReservedNodeOffering to reserve one or more nodes for your Amazon Redshift cluster. For more information about reserved node offerings, go to Purchasing Reserved Nodes in the Amazon Redshift Cluster Management Guide. + +Optional Parameters +{ + "MaxRecords": "The maximum number of response records to return in each call. If the number of remaining response records exceeds the specified MaxRecords value, a value is returned in a marker field of the response. You can retrieve the next set of records by retrying the command with the returned marker value. Default: 100 Constraints: minimum 20, maximum 100.", + "Marker": "An optional parameter that specifies the starting point to return a set of response records. When the results of a DescribeReservedNodeOfferings request exceed the value specified in MaxRecords, AWS returns a value in the Marker field of the response. You can retrieve the next set of response records by providing the returned marker value in the Marker parameter and retrying the request. ", + "ReservedNodeOfferingId": "The unique identifier for the offering." +} +""" +DescribeReservedNodeOfferings() = redshift("DescribeReservedNodeOfferings") +DescribeReservedNodeOfferings(args) = redshift("DescribeReservedNodeOfferings", args) + +""" + DeleteCluster() + +Deletes a previously provisioned cluster without its final snapshot being created. A successful response from the web service indicates that the request was received correctly. Use DescribeClusters to monitor the status of the deletion. The delete operation cannot be canceled or reverted once submitted. For more information about managing clusters, go to Amazon Redshift Clusters in the Amazon Redshift Cluster Management Guide. If you want to shut down the cluster and retain it for future use, set SkipFinalClusterSnapshot to false and specify a name for FinalClusterSnapshotIdentifier. You can later restore this snapshot to resume using the cluster. If a final cluster snapshot is requested, the status of the cluster will be "final-snapshot" while the snapshot is being taken, then it's "deleting" once Amazon Redshift begins deleting the cluster. For more information about managing clusters, go to Amazon Redshift Clusters in the Amazon Redshift Cluster Management Guide. + +Required Parameters +{ + "ClusterIdentifier": "The identifier of the cluster to be deleted. Constraints: Must contain lowercase characters. Must contain from 1 to 63 alphanumeric characters or hyphens. First character must be a letter. Cannot end with a hyphen or contain two consecutive hyphens. " +} + +Optional Parameters +{ + "FinalClusterSnapshotRetentionPeriod": "The number of days that a manual snapshot is retained. If the value is -1, the manual snapshot is retained indefinitely. The value must be either -1 or an integer between 1 and 3,653. The default value is -1.", + "FinalClusterSnapshotIdentifier": "The identifier of the final snapshot that is to be created immediately before deleting the cluster. If this parameter is provided, SkipFinalClusterSnapshot must be false. Constraints: Must be 1 to 255 alphanumeric characters. First character must be a letter. Cannot end with a hyphen or contain two consecutive hyphens. ", + "SkipFinalClusterSnapshot": "Determines whether a final snapshot of the cluster is created before Amazon Redshift deletes the cluster. If true, a final cluster snapshot is not created. If false, a final cluster snapshot is created before the cluster is deleted. The FinalClusterSnapshotIdentifier parameter must be specified if SkipFinalClusterSnapshot is false. Default: false " +} +""" +DeleteCluster(args) = redshift("DeleteCluster", args) + +""" + AuthorizeSnapshotAccess() + +Authorizes the specified AWS customer account to restore the specified snapshot. For more information about working with snapshots, go to Amazon Redshift Snapshots in the Amazon Redshift Cluster Management Guide. + +Required Parameters +{ + "AccountWithRestoreAccess": "The identifier of the AWS customer account authorized to restore the specified snapshot. To share a snapshot with AWS support, specify amazon-redshift-support.", + "SnapshotIdentifier": "The identifier of the snapshot the account is authorized to restore." +} + +Optional Parameters +{ + "SnapshotClusterIdentifier": "The identifier of the cluster the snapshot was created from. This parameter is required if your IAM user has a policy containing a snapshot resource element that specifies anything other than * for the cluster name." +} +""" +AuthorizeSnapshotAccess(args) = redshift("AuthorizeSnapshotAccess", args) + +""" + CancelResize() + +Cancels a resize operation for a cluster. + +Required Parameters +{ + "ClusterIdentifier": "The unique identifier for the cluster that you want to cancel a resize operation for." +} +""" +CancelResize(args) = redshift("CancelResize", args) + +""" + AuthorizeClusterSecurityGroupIngress() + +Adds an inbound (ingress) rule to an Amazon Redshift security group. Depending on whether the application accessing your cluster is running on the Internet or an Amazon EC2 instance, you can authorize inbound access to either a Classless Interdomain Routing (CIDR)/Internet Protocol (IP) range or to an Amazon EC2 security group. You can add as many as 20 ingress rules to an Amazon Redshift security group. If you authorize access to an Amazon EC2 security group, specify EC2SecurityGroupName and EC2SecurityGroupOwnerId. The Amazon EC2 security group and Amazon Redshift cluster must be in the same AWS Region. If you authorize access to a CIDR/IP address range, specify CIDRIP. For an overview of CIDR blocks, see the Wikipedia article on Classless Inter-Domain Routing. You must also associate the security group with a cluster so that clients running on these IP addresses or the EC2 instance are authorized to connect to the cluster. For information about managing security groups, go to Working with Security Groups in the Amazon Redshift Cluster Management Guide. + +Required Parameters +{ + "ClusterSecurityGroupName": "The name of the security group to which the ingress rule is added." +} + +Optional Parameters +{ + "CIDRIP": "The IP range to be added the Amazon Redshift security group.", + "EC2SecurityGroupOwnerId": "The AWS account number of the owner of the security group specified by the EC2SecurityGroupName parameter. The AWS Access Key ID is not an acceptable value. Example: 111122223333 ", + "EC2SecurityGroupName": "The EC2 security group to be added the Amazon Redshift security group." +} +""" +AuthorizeClusterSecurityGroupIngress(args) = redshift("AuthorizeClusterSecurityGroupIngress", args) + +""" + DeleteScheduledAction() + +Deletes a scheduled action. + +Required Parameters +{ + "ScheduledActionName": "The name of the scheduled action to delete. " +} +""" +DeleteScheduledAction(args) = redshift("DeleteScheduledAction", args) + +""" + GetReservedNodeExchangeOfferings() + +Returns an array of DC2 ReservedNodeOfferings that matches the payment type, term, and usage price of the given DC1 reserved node. + +Required Parameters +{ + "ReservedNodeId": "A string representing the node identifier for the DC1 Reserved Node to be exchanged." +} + +Optional Parameters +{ + "MaxRecords": "An integer setting the maximum number of ReservedNodeOfferings to retrieve.", + "Marker": "A value that indicates the starting point for the next set of ReservedNodeOfferings." +} +""" +GetReservedNodeExchangeOfferings(args) = redshift("GetReservedNodeExchangeOfferings", args) + +""" + DeleteEventSubscription() + +Deletes an Amazon Redshift event notification subscription. + +Required Parameters +{ + "SubscriptionName": "The name of the Amazon Redshift event notification subscription to be deleted." +} +""" +DeleteEventSubscription(args) = redshift("DeleteEventSubscription", args) + +""" + CreateCluster() + +Creates a new cluster with the specified parameters. To create a cluster in Virtual Private Cloud (VPC), you must provide a cluster subnet group name. The cluster subnet group identifies the subnets of your VPC that Amazon Redshift uses when creating the cluster. For more information about managing clusters, go to Amazon Redshift Clusters in the Amazon Redshift Cluster Management Guide. + +Required Parameters +{ + "ClusterIdentifier": "A unique identifier for the cluster. You use this identifier to refer to the cluster for any subsequent cluster operations such as deleting or modifying. The identifier also appears in the Amazon Redshift console. Constraints: Must contain from 1 to 63 alphanumeric characters or hyphens. Alphabetic characters must be lowercase. First character must be a letter. Cannot end with a hyphen or contain two consecutive hyphens. Must be unique for all clusters within an AWS account. Example: myexamplecluster ", + "NodeType": "The node type to be provisioned for the cluster. For information about node types, go to Working with Clusters in the Amazon Redshift Cluster Management Guide. Valid Values: ds2.xlarge | ds2.8xlarge | dc1.large | dc1.8xlarge | dc2.large | dc2.8xlarge | ra3.16xlarge ", + "MasterUserPassword": "The password associated with the master user account for the cluster that is being created. Constraints: Must be between 8 and 64 characters in length. Must contain at least one uppercase letter. Must contain at least one lowercase letter. Must contain one number. Can be any printable ASCII character (ASCII code 33 to 126) except ' (single quote), \" (double quote), , /, @, or space. ", + "MasterUsername": "The user name associated with the master user account for the cluster that is being created. Constraints: Must be 1 - 128 alphanumeric characters. The user name can't be PUBLIC. First character must be a letter. Cannot be a reserved word. A list of reserved words can be found in Reserved Words in the Amazon Redshift Database Developer Guide. " +} + +Optional Parameters +{ + "NumberOfNodes": "The number of compute nodes in the cluster. This parameter is required when the ClusterType parameter is specified as multi-node. For information about determining how many nodes you need, go to Working with Clusters in the Amazon Redshift Cluster Management Guide. If you don't specify this parameter, you get a single-node cluster. When requesting a multi-node cluster, you must specify the number of nodes that you want in the cluster. Default: 1 Constraints: Value must be at least 1 and no more than 100.", + "PubliclyAccessible": "If true, the cluster can be accessed from a public network. ", + "PreferredMaintenanceWindow": "The weekly time range (in UTC) during which automated cluster maintenance can occur. Format: ddd:hh24:mi-ddd:hh24:mi Default: A 30-minute window selected at random from an 8-hour block of time per region, occurring on a random day of the week. For more information about the time blocks for each region, see Maintenance Windows in Amazon Redshift Cluster Management Guide. Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun Constraints: Minimum 30-minute window.", + "ClusterSubnetGroupName": "The name of a cluster subnet group to be associated with this cluster. If this parameter is not provided the resulting cluster will be deployed outside virtual private cloud (VPC).", + "EnhancedVpcRouting": "An option that specifies whether to create the cluster with enhanced VPC routing enabled. To create a cluster that uses enhanced VPC routing, the cluster must be in a VPC. For more information, see Enhanced VPC Routing in the Amazon Redshift Cluster Management Guide. If this option is true, enhanced VPC routing is enabled. Default: false", + "HsmConfigurationIdentifier": "Specifies the name of the HSM configuration that contains the information the Amazon Redshift cluster can use to retrieve and store keys in an HSM.", + "AllowVersionUpgrade": "If true, major version upgrades can be applied during the maintenance window to the Amazon Redshift engine that is running on the cluster. When a new major version of the Amazon Redshift engine is released, you can request that the service automatically apply upgrades during the maintenance window to the Amazon Redshift engine that is running on your cluster. Default: true ", + "Tags": "A list of tag instances.", + "ClusterType": "The type of the cluster. When cluster type is specified as single-node, the NumberOfNodes parameter is not required. multi-node, the NumberOfNodes parameter is required. Valid Values: multi-node | single-node Default: multi-node ", + "AdditionalInfo": "Reserved.", + "ClusterSecurityGroups": "A list of security groups to be associated with this cluster. Default: The default cluster security group for Amazon Redshift.", + "MaintenanceTrackName": "An optional parameter for the name of the maintenance track for the cluster. If you don't provide a maintenance track name, the cluster is assigned to the current track.", + "ElasticIp": "The Elastic IP (EIP) address for the cluster. Constraints: The cluster must be provisioned in EC2-VPC and publicly-accessible through an Internet gateway. For more information about provisioning clusters in EC2-VPC, go to Supported Platforms to Launch Your Cluster in the Amazon Redshift Cluster Management Guide.", + "ClusterVersion": "The version of the Amazon Redshift engine software that you want to deploy on the cluster. The version selected runs on all the nodes in the cluster. Constraints: Only version 1.0 is currently available. Example: 1.0 ", + "Encrypted": "If true, the data in the cluster is encrypted at rest. Default: false", + "ClusterParameterGroupName": "The name of the parameter group to be associated with this cluster. Default: The default Amazon Redshift cluster parameter group. For information about the default parameter group, go to Working with Amazon Redshift Parameter Groups Constraints: Must be 1 to 255 alphanumeric characters or hyphens. First character must be a letter. Cannot end with a hyphen or contain two consecutive hyphens. ", + "SnapshotScheduleIdentifier": "A unique identifier for the snapshot schedule.", + "Port": "The port number on which the cluster accepts incoming connections. The cluster is accessible only via the JDBC and ODBC connection strings. Part of the connection string requires the port on which the cluster will listen for incoming connections. Default: 5439 Valid Values: 1150-65535 ", + "ManualSnapshotRetentionPeriod": "The default number of days to retain a manual snapshot. If the value is -1, the snapshot is retained indefinitely. This setting doesn't change the retention period of existing snapshots. The value must be either -1 or an integer between 1 and 3,653.", + "AutomatedSnapshotRetentionPeriod": "The number of days that automated snapshots are retained. If the value is 0, automated snapshots are disabled. Even if automated snapshots are disabled, you can still create manual snapshots when you want with CreateClusterSnapshot. Default: 1 Constraints: Must be a value from 0 to 35.", + "IamRoles": "A list of AWS Identity and Access Management (IAM) roles that can be used by the cluster to access other AWS services. You must supply the IAM roles in their Amazon Resource Name (ARN) format. You can supply up to 10 IAM roles in a single request. A cluster can have up to 10 IAM roles associated with it at any time.", + "AvailabilityZone": "The EC2 Availability Zone (AZ) in which you want Amazon Redshift to provision the cluster. For example, if you have several EC2 instances running in a specific Availability Zone, then you might want the cluster to be provisioned in the same zone in order to decrease network latency. Default: A random, system-chosen Availability Zone in the region that is specified by the endpoint. Example: us-east-2d Constraint: The specified Availability Zone must be in the same region as the current endpoint.", + "HsmClientCertificateIdentifier": "Specifies the name of the HSM client certificate the Amazon Redshift cluster uses to retrieve the data encryption keys stored in an HSM.", + "DBName": "The name of the first database to be created when the cluster is created. To create additional databases after the cluster is created, connect to the cluster with a SQL client and use SQL commands to create a database. For more information, go to Create a Database in the Amazon Redshift Database Developer Guide. Default: dev Constraints: Must contain 1 to 64 alphanumeric characters. Must contain only lowercase letters. Cannot be a word that is reserved by the service. A list of reserved words can be found in Reserved Words in the Amazon Redshift Database Developer Guide. ", + "VpcSecurityGroupIds": "A list of Virtual Private Cloud (VPC) security groups to be associated with the cluster. Default: The default VPC security group is associated with the cluster.", + "KmsKeyId": "The AWS Key Management Service (KMS) key ID of the encryption key that you want to use to encrypt data in the cluster." +} +""" +CreateCluster(args) = redshift("CreateCluster", args) + +""" + ResetClusterParameterGroup() + +Sets one or more parameters of the specified parameter group to their default values and sets the source values of the parameters to "engine-default". To reset the entire parameter group specify the ResetAllParameters parameter. For parameter changes to take effect you must reboot any associated clusters. + +Required Parameters +{ + "ParameterGroupName": "The name of the cluster parameter group to be reset." +} + +Optional Parameters +{ + "Parameters": "An array of names of parameters to be reset. If ResetAllParameters option is not used, then at least one parameter name must be supplied. Constraints: A maximum of 20 parameters can be reset in a single request.", + "ResetAllParameters": "If true, all parameters in the specified parameter group will be reset to their default values. Default: true " +} +""" +ResetClusterParameterGroup(args) = redshift("ResetClusterParameterGroup", args) + +""" + CreateSnapshotCopyGrant() + +Creates a snapshot copy grant that permits Amazon Redshift to use a customer master key (CMK) from AWS Key Management Service (AWS KMS) to encrypt copied snapshots in a destination region. For more information about managing snapshot copy grants, go to Amazon Redshift Database Encryption in the Amazon Redshift Cluster Management Guide. + +Required Parameters +{ + "SnapshotCopyGrantName": "The name of the snapshot copy grant. This name must be unique in the region for the AWS account. Constraints: Must contain from 1 to 63 alphanumeric characters or hyphens. Alphabetic characters must be lowercase. First character must be a letter. Cannot end with a hyphen or contain two consecutive hyphens. Must be unique for all clusters within an AWS account. " +} + +Optional Parameters +{ + "Tags": "A list of tag instances.", + "KmsKeyId": "The unique identifier of the customer master key (CMK) to which to grant Amazon Redshift permission. If no key is specified, the default key is used." +} +""" +CreateSnapshotCopyGrant(args) = redshift("CreateSnapshotCopyGrant", args) + +""" + ModifyEventSubscription() + +Modifies an existing Amazon Redshift event notification subscription. + +Required Parameters +{ + "SubscriptionName": "The name of the modified Amazon Redshift event notification subscription." +} + +Optional Parameters +{ + "SourceIds": "A list of one or more identifiers of Amazon Redshift source objects. All of the objects must be of the same type as was specified in the source type parameter. The event subscription will return only events generated by the specified objects. If not specified, then events are returned for all objects within the source type specified. Example: my-cluster-1, my-cluster-2 Example: my-snapshot-20131010", + "SourceType": "The type of source that will be generating the events. For example, if you want to be notified of events generated by a cluster, you would set this parameter to cluster. If this value is not specified, events are returned for all Amazon Redshift objects in your AWS account. You must specify a source type in order to specify source IDs. Valid values: cluster, cluster-parameter-group, cluster-security-group, cluster-snapshot, and scheduled-action.", + "Severity": "Specifies the Amazon Redshift event severity to be published by the event notification subscription. Values: ERROR, INFO", + "SnsTopicArn": "The Amazon Resource Name (ARN) of the SNS topic to be used by the event notification subscription.", + "EventCategories": "Specifies the Amazon Redshift event categories to be published by the event notification subscription. Values: configuration, management, monitoring, security", + "Enabled": "A Boolean value indicating if the subscription is enabled. true indicates the subscription is enabled " +} +""" +ModifyEventSubscription(args) = redshift("ModifyEventSubscription", args) + +""" + CreateHsmClientCertificate() + +Creates an HSM client certificate that an Amazon Redshift cluster will use to connect to the client's HSM in order to store and retrieve the keys used to encrypt the cluster databases. The command returns a public key, which you must store in the HSM. In addition to creating the HSM certificate, you must create an Amazon Redshift HSM configuration that provides a cluster the information needed to store and use encryption keys in the HSM. For more information, go to Hardware Security Modules in the Amazon Redshift Cluster Management Guide. + +Required Parameters +{ + "HsmClientCertificateIdentifier": "The identifier to be assigned to the new HSM client certificate that the cluster will use to connect to the HSM to use the database encryption keys." +} + +Optional Parameters +{ + "Tags": "A list of tag instances." +} +""" +CreateHsmClientCertificate(args) = redshift("CreateHsmClientCertificate", args) + +""" + CreateEventSubscription() + +Creates an Amazon Redshift event notification subscription. This action requires an ARN (Amazon Resource Name) of an Amazon SNS topic created by either the Amazon Redshift console, the Amazon SNS console, or the Amazon SNS API. To obtain an ARN with Amazon SNS, you must create a topic in Amazon SNS and subscribe to the topic. The ARN is displayed in the SNS console. You can specify the source type, and lists of Amazon Redshift source IDs, event categories, and event severities. Notifications will be sent for all events you want that match those criteria. For example, you can specify source type = cluster, source ID = my-cluster-1 and mycluster2, event categories = Availability, Backup, and severity = ERROR. The subscription will only send notifications for those ERROR events in the Availability and Backup categories for the specified clusters. If you specify both the source type and source IDs, such as source type = cluster and source identifier = my-cluster-1, notifications will be sent for all the cluster events for my-cluster-1. If you specify a source type but do not specify a source identifier, you will receive notice of the events for the objects of that type in your AWS account. If you do not specify either the SourceType nor the SourceIdentifier, you will be notified of events generated from all Amazon Redshift sources belonging to your AWS account. You must specify a source type if you specify a source ID. + +Required Parameters +{ + "SubscriptionName": "The name of the event subscription to be created. Constraints: Cannot be null, empty, or blank. Must contain from 1 to 255 alphanumeric characters or hyphens. First character must be a letter. Cannot end with a hyphen or contain two consecutive hyphens. ", + "SnsTopicArn": "The Amazon Resource Name (ARN) of the Amazon SNS topic used to transmit the event notifications. The ARN is created by Amazon SNS when you create a topic and subscribe to it." +} + +Optional Parameters +{ + "SourceIds": "A list of one or more identifiers of Amazon Redshift source objects. All of the objects must be of the same type as was specified in the source type parameter. The event subscription will return only events generated by the specified objects. If not specified, then events are returned for all objects within the source type specified. Example: my-cluster-1, my-cluster-2 Example: my-snapshot-20131010", + "Tags": "A list of tag instances.", + "SourceType": "The type of source that will be generating the events. For example, if you want to be notified of events generated by a cluster, you would set this parameter to cluster. If this value is not specified, events are returned for all Amazon Redshift objects in your AWS account. You must specify a source type in order to specify source IDs. Valid values: cluster, cluster-parameter-group, cluster-security-group, cluster-snapshot, and scheduled-action.", + "Severity": "Specifies the Amazon Redshift event severity to be published by the event notification subscription. Values: ERROR, INFO", + "EventCategories": "Specifies the Amazon Redshift event categories to be published by the event notification subscription. Values: configuration, management, monitoring, security", + "Enabled": "A boolean value; set to true to activate the subscription, and set to false to create the subscription but not activate it. " +} +""" +CreateEventSubscription(args) = redshift("CreateEventSubscription", args) + +""" + DescribeNodeConfigurationOptions() + +Returns properties of possible node configurations such as node type, number of nodes, and disk usage for the specified action type. + +Required Parameters +{ + "ActionType": "The action type to evaluate for possible node configurations. Specify \"restore-cluster\" to get configuration combinations based on an existing snapshot. Specify \"recommend-node-config\" to get configuration recommendations based on an existing cluster or snapshot. Specify \"resize-cluster\" to get configuration combinations for elastic resize based on an existing cluster. " +} + +Optional Parameters +{ + "ClusterIdentifier": "The identifier of the cluster to evaluate for possible node configurations.", + "Marker": "An optional parameter that specifies the starting point to return a set of response records. When the results of a DescribeNodeConfigurationOptions request exceed the value specified in MaxRecords, AWS returns a value in the Marker field of the response. You can retrieve the next set of response records by providing the returned marker value in the Marker parameter and retrying the request. ", + "MaxRecords": "The maximum number of response records to return in each call. If the number of remaining response records exceeds the specified MaxRecords value, a value is returned in a marker field of the response. You can retrieve the next set of records by retrying the command with the returned marker value. Default: 500 Constraints: minimum 100, maximum 500.", + "OwnerAccount": "The AWS customer account used to create or copy the snapshot. Required if you are restoring a snapshot you do not own, optional if you own the snapshot.", + "SnapshotIdentifier": "The identifier of the snapshot to evaluate for possible node configurations.", + "Filters": "A set of name, operator, and value items to filter the results." +} +""" +DescribeNodeConfigurationOptions(args) = redshift("DescribeNodeConfigurationOptions", args) + +""" + DeleteHsmClientCertificate() + +Deletes the specified HSM client certificate. + +Required Parameters +{ + "HsmClientCertificateIdentifier": "The identifier of the HSM client certificate to be deleted." +} +""" +DeleteHsmClientCertificate(args) = redshift("DeleteHsmClientCertificate", args) + +""" + CopyClusterSnapshot() + +Copies the specified automated cluster snapshot to a new manual cluster snapshot. The source must be an automated snapshot and it must be in the available state. When you delete a cluster, Amazon Redshift deletes any automated snapshots of the cluster. Also, when the retention period of the snapshot expires, Amazon Redshift automatically deletes it. If you want to keep an automated snapshot for a longer period, you can make a manual copy of the snapshot. Manual snapshots are retained until you delete them. For more information about working with snapshots, go to Amazon Redshift Snapshots in the Amazon Redshift Cluster Management Guide. + +Required Parameters +{ + "SourceSnapshotIdentifier": "The identifier for the source snapshot. Constraints: Must be the identifier for a valid automated snapshot whose state is available. ", + "TargetSnapshotIdentifier": "The identifier given to the new manual snapshot. Constraints: Cannot be null, empty, or blank. Must contain from 1 to 255 alphanumeric characters or hyphens. First character must be a letter. Cannot end with a hyphen or contain two consecutive hyphens. Must be unique for the AWS account that is making the request. " +} + +Optional Parameters +{ + "SourceSnapshotClusterIdentifier": "The identifier of the cluster the source snapshot was created from. This parameter is required if your IAM user has a policy containing a snapshot resource element that specifies anything other than * for the cluster name. Constraints: Must be the identifier for a valid cluster. ", + "ManualSnapshotRetentionPeriod": "The number of days that a manual snapshot is retained. If the value is -1, the manual snapshot is retained indefinitely. The value must be either -1 or an integer between 1 and 3,653. The default value is -1." +} +""" +CopyClusterSnapshot(args) = redshift("CopyClusterSnapshot", args) + +""" + ModifyClusterSubnetGroup() + +Modifies a cluster subnet group to include the specified list of VPC subnets. The operation replaces the existing list of subnets with the new list of subnets. + +Required Parameters +{ + "SubnetIds": "An array of VPC subnet IDs. A maximum of 20 subnets can be modified in a single request.", + "ClusterSubnetGroupName": "The name of the subnet group to be modified." +} + +Optional Parameters +{ + "Description": "A text description of the subnet group to be modified." +} +""" +ModifyClusterSubnetGroup(args) = redshift("ModifyClusterSubnetGroup", args) + +""" + ModifyClusterDbRevision() + +Modifies the database revision of a cluster. The database revision is a unique revision of the database running in a cluster. + +Required Parameters +{ + "ClusterIdentifier": "The unique identifier of a cluster whose database revision you want to modify. Example: examplecluster ", + "RevisionTarget": "The identifier of the database revision. You can retrieve this value from the response to the DescribeClusterDbRevisions request." +} +""" +ModifyClusterDbRevision(args) = redshift("ModifyClusterDbRevision", args) + +""" + BatchModifyClusterSnapshots() + +Modifies the settings for a set of cluster snapshots. + +Required Parameters +{ + "SnapshotIdentifierList": "A list of snapshot identifiers you want to modify." +} + +Optional Parameters +{ + "Force": "A boolean value indicating whether to override an exception if the retention period has passed. ", + "ManualSnapshotRetentionPeriod": "The number of days that a manual snapshot is retained. If you specify the value -1, the manual snapshot is retained indefinitely. The number must be either -1 or an integer between 1 and 3,653. If you decrease the manual snapshot retention period from its current value, existing manual snapshots that fall outside of the new retention period will return an error. If you want to suppress the errors and delete the snapshots, use the force option. " +} +""" +BatchModifyClusterSnapshots(args) = redshift("BatchModifyClusterSnapshots", args) + +""" + DeleteTags() + +Deletes tags from a resource. You must provide the ARN of the resource from which you want to delete the tag or tags. + +Required Parameters +{ + "ResourceName": "The Amazon Resource Name (ARN) from which you want to remove the tag or tags. For example, arn:aws:redshift:us-east-2:123456789:cluster:t1. ", + "TagKeys": "The tag key that you want to delete." +} +""" +DeleteTags(args) = redshift("DeleteTags", args) + +""" + DescribeClusterTracks() + +Returns a list of all the available maintenance tracks. + +Optional Parameters +{ + "MaxRecords": "An integer value for the maximum number of maintenance tracks to return.", + "MaintenanceTrackName": "The name of the maintenance track. ", + "Marker": "An optional parameter that specifies the starting point to return a set of response records. When the results of a DescribeClusterTracks request exceed the value specified in MaxRecords, Amazon Redshift returns a value in the Marker field of the response. You can retrieve the next set of response records by providing the returned marker value in the Marker parameter and retrying the request. " +} +""" +DescribeClusterTracks() = redshift("DescribeClusterTracks") +DescribeClusterTracks(args) = redshift("DescribeClusterTracks", args) + +""" + CreateTags() + +Adds tags to a cluster. A resource can have up to 50 tags. If you try to create more than 50 tags for a resource, you will receive an error and the attempt will fail. If you specify a key that already exists for the resource, the value for that key will be updated with the new value. + +Required Parameters +{ + "Tags": "One or more name/value pairs to add as tags to the specified resource. Each tag name is passed in with the parameter Key and the corresponding value is passed in with the parameter Value. The Key and Value parameters are separated by a comma (,). Separate multiple tags with a space. For example, --tags \"Key\"=\"owner\",\"Value\"=\"admin\" \"Key\"=\"environment\",\"Value\"=\"test\" \"Key\"=\"version\",\"Value\"=\"1.0\". ", + "ResourceName": "The Amazon Resource Name (ARN) to which you want to add the tag or tags. For example, arn:aws:redshift:us-east-2:123456789:cluster:t1. " +} +""" +CreateTags(args) = redshift("CreateTags", args) + +""" + DescribeHsmClientCertificates() + +Returns information about the specified HSM client certificate. If no certificate ID is specified, returns information about all the HSM certificates owned by your AWS customer account. If you specify both tag keys and tag values in the same request, Amazon Redshift returns all HSM client certificates that match any combination of the specified keys and values. For example, if you have owner and environment for tag keys, and admin and test for tag values, all HSM client certificates that have any combination of those values are returned. If both tag keys and values are omitted from the request, HSM client certificates are returned regardless of whether they have tag keys or values associated with them. + +Optional Parameters +{ + "MaxRecords": "The maximum number of response records to return in each call. If the number of remaining response records exceeds the specified MaxRecords value, a value is returned in a marker field of the response. You can retrieve the next set of records by retrying the command with the returned marker value. Default: 100 Constraints: minimum 20, maximum 100.", + "Marker": "An optional parameter that specifies the starting point to return a set of response records. When the results of a DescribeHsmClientCertificates request exceed the value specified in MaxRecords, AWS returns a value in the Marker field of the response. You can retrieve the next set of response records by providing the returned marker value in the Marker parameter and retrying the request. ", + "TagValues": "A tag value or values for which you want to return all matching HSM client certificates that are associated with the specified tag value or values. For example, suppose that you have HSM client certificates that are tagged with values called admin and test. If you specify both of these tag values in the request, Amazon Redshift returns a response with the HSM client certificates that have either or both of these tag values associated with them.", + "HsmClientCertificateIdentifier": "The identifier of a specific HSM client certificate for which you want information. If no identifier is specified, information is returned for all HSM client certificates owned by your AWS customer account.", + "TagKeys": "A tag key or keys for which you want to return all matching HSM client certificates that are associated with the specified key or keys. For example, suppose that you have HSM client certificates that are tagged with keys called owner and environment. If you specify both of these tag keys in the request, Amazon Redshift returns a response with the HSM client certificates that have either or both of these tag keys associated with them." +} +""" +DescribeHsmClientCertificates() = redshift("DescribeHsmClientCertificates") +DescribeHsmClientCertificates(args) = redshift("DescribeHsmClientCertificates", args) + +""" + GetClusterCredentials() + +Returns a database user name and temporary password with temporary authorization to log on to an Amazon Redshift database. The action returns the database user name prefixed with IAM: if AutoCreate is False or IAMA: if AutoCreate is True. You can optionally specify one or more database user groups that the user will join at log on. By default, the temporary credentials expire in 900 seconds. You can optionally specify a duration between 900 seconds (15 minutes) and 3600 seconds (60 minutes). For more information, see Using IAM Authentication to Generate Database User Credentials in the Amazon Redshift Cluster Management Guide. The AWS Identity and Access Management (IAM)user or role that executes GetClusterCredentials must have an IAM policy attached that allows access to all necessary actions and resources. For more information about permissions, see Resource Policies for GetClusterCredentials in the Amazon Redshift Cluster Management Guide. If the DbGroups parameter is specified, the IAM policy must allow the redshift:JoinGroup action with access to the listed dbgroups. In addition, if the AutoCreate parameter is set to True, then the policy must include the redshift:CreateClusterUser privilege. If the DbName parameter is specified, the IAM policy must allow access to the resource dbname for the specified database name. + +Required Parameters +{ + "ClusterIdentifier": "The unique identifier of the cluster that contains the database for which your are requesting credentials. This parameter is case sensitive.", + "DbUser": "The name of a database user. If a user name matching DbUser exists in the database, the temporary user credentials have the same permissions as the existing user. If DbUser doesn't exist in the database and Autocreate is True, a new user is created using the value for DbUser with PUBLIC permissions. If a database user matching the value for DbUser doesn't exist and Autocreate is False, then the command succeeds but the connection attempt will fail because the user doesn't exist in the database. For more information, see CREATE USER in the Amazon Redshift Database Developer Guide. Constraints: Must be 1 to 64 alphanumeric characters or hyphens. The user name can't be PUBLIC. Must contain only lowercase letters, numbers, underscore, plus sign, period (dot), at symbol (@), or hyphen. First character must be a letter. Must not contain a colon ( : ) or slash ( / ). Cannot be a reserved word. A list of reserved words can be found in Reserved Words in the Amazon Redshift Database Developer Guide. " +} + +Optional Parameters +{ + "DbName": "The name of a database that DbUser is authorized to log on to. If DbName is not specified, DbUser can log on to any existing database. Constraints: Must be 1 to 64 alphanumeric characters or hyphens Must contain only lowercase letters, numbers, underscore, plus sign, period (dot), at symbol (@), or hyphen. First character must be a letter. Must not contain a colon ( : ) or slash ( / ). Cannot be a reserved word. A list of reserved words can be found in Reserved Words in the Amazon Redshift Database Developer Guide. ", + "DbGroups": "A list of the names of existing database groups that the user named in DbUser will join for the current session, in addition to any group memberships for an existing user. If not specified, a new user is added only to PUBLIC. Database group name constraints Must be 1 to 64 alphanumeric characters or hyphens Must contain only lowercase letters, numbers, underscore, plus sign, period (dot), at symbol (@), or hyphen. First character must be a letter. Must not contain a colon ( : ) or slash ( / ). Cannot be a reserved word. A list of reserved words can be found in Reserved Words in the Amazon Redshift Database Developer Guide. ", + "AutoCreate": "Create a database user with the name specified for the user named in DbUser if one does not exist.", + "DurationSeconds": "The number of seconds until the returned temporary password expires. Constraint: minimum 900, maximum 3600. Default: 900" +} +""" +GetClusterCredentials(args) = redshift("GetClusterCredentials", args) + +""" + DescribeClusterSubnetGroups() + +Returns one or more cluster subnet group objects, which contain metadata about your cluster subnet groups. By default, this operation returns information about all cluster subnet groups that are defined in you AWS account. If you specify both tag keys and tag values in the same request, Amazon Redshift returns all subnet groups that match any combination of the specified keys and values. For example, if you have owner and environment for tag keys, and admin and test for tag values, all subnet groups that have any combination of those values are returned. If both tag keys and values are omitted from the request, subnet groups are returned regardless of whether they have tag keys or values associated with them. + +Optional Parameters +{ + "MaxRecords": "The maximum number of response records to return in each call. If the number of remaining response records exceeds the specified MaxRecords value, a value is returned in a marker field of the response. You can retrieve the next set of records by retrying the command with the returned marker value. Default: 100 Constraints: minimum 20, maximum 100.", + "Marker": "An optional parameter that specifies the starting point to return a set of response records. When the results of a DescribeClusterSubnetGroups request exceed the value specified in MaxRecords, AWS returns a value in the Marker field of the response. You can retrieve the next set of response records by providing the returned marker value in the Marker parameter and retrying the request. ", + "TagValues": "A tag value or values for which you want to return all matching cluster subnet groups that are associated with the specified tag value or values. For example, suppose that you have subnet groups that are tagged with values called admin and test. If you specify both of these tag values in the request, Amazon Redshift returns a response with the subnet groups that have either or both of these tag values associated with them.", + "ClusterSubnetGroupName": "The name of the cluster subnet group for which information is requested.", + "TagKeys": "A tag key or keys for which you want to return all matching cluster subnet groups that are associated with the specified key or keys. For example, suppose that you have subnet groups that are tagged with keys called owner and environment. If you specify both of these tag keys in the request, Amazon Redshift returns a response with the subnet groups that have either or both of these tag keys associated with them." +} +""" +DescribeClusterSubnetGroups() = redshift("DescribeClusterSubnetGroups") +DescribeClusterSubnetGroups(args) = redshift("DescribeClusterSubnetGroups", args) + +""" + DeleteSnapshotSchedule() + +Deletes a snapshot schedule. + +Required Parameters +{ + "ScheduleIdentifier": "A unique identifier of the snapshot schedule to delete." +} +""" +DeleteSnapshotSchedule(args) = redshift("DeleteSnapshotSchedule", args) + +""" + BatchDeleteClusterSnapshots() + +Deletes a set of cluster snapshots. + +Required Parameters +{ + "Identifiers": "A list of identifiers for the snapshots that you want to delete." +} +""" +BatchDeleteClusterSnapshots(args) = redshift("BatchDeleteClusterSnapshots", args) + +""" + DeleteHsmConfiguration() + +Deletes the specified Amazon Redshift HSM configuration. + +Required Parameters +{ + "HsmConfigurationIdentifier": "The identifier of the Amazon Redshift HSM configuration to be deleted." +} +""" +DeleteHsmConfiguration(args) = redshift("DeleteHsmConfiguration", args) + +""" + DescribeClusterSnapshots() + +Returns one or more snapshot objects, which contain metadata about your cluster snapshots. By default, this operation returns information about all snapshots of all clusters that are owned by you AWS customer account. No information is returned for snapshots owned by inactive AWS customer accounts. If you specify both tag keys and tag values in the same request, Amazon Redshift returns all snapshots that match any combination of the specified keys and values. For example, if you have owner and environment for tag keys, and admin and test for tag values, all snapshots that have any combination of those values are returned. Only snapshots that you own are returned in the response; shared snapshots are not returned with the tag key and tag value request parameters. If both tag keys and values are omitted from the request, snapshots are returned regardless of whether they have tag keys or values associated with them. + +Optional Parameters +{ + "EndTime": "A time value that requests only snapshots created at or before the specified time. The time value is specified in ISO 8601 format. For more information about ISO 8601, go to the ISO8601 Wikipedia page. Example: 2012-07-16T18:00:00Z ", + "SnapshotType": "The type of snapshots for which you are requesting information. By default, snapshots of all types are returned. Valid Values: automated | manual ", + "MaxRecords": "The maximum number of response records to return in each call. If the number of remaining response records exceeds the specified MaxRecords value, a value is returned in a marker field of the response. You can retrieve the next set of records by retrying the command with the returned marker value. Default: 100 Constraints: minimum 20, maximum 100.", + "SnapshotIdentifier": "The snapshot identifier of the snapshot about which to return information.", + "StartTime": "A value that requests only snapshots created at or after the specified time. The time value is specified in ISO 8601 format. For more information about ISO 8601, go to the ISO8601 Wikipedia page. Example: 2012-07-16T18:00:00Z ", + "Marker": "An optional parameter that specifies the starting point to return a set of response records. When the results of a DescribeClusterSnapshots request exceed the value specified in MaxRecords, AWS returns a value in the Marker field of the response. You can retrieve the next set of response records by providing the returned marker value in the Marker parameter and retrying the request. ", + "TagValues": "A tag value or values for which you want to return all matching cluster snapshots that are associated with the specified tag value or values. For example, suppose that you have snapshots that are tagged with values called admin and test. If you specify both of these tag values in the request, Amazon Redshift returns a response with the snapshots that have either or both of these tag values associated with them.", + "TagKeys": "A tag key or keys for which you want to return all matching cluster snapshots that are associated with the specified key or keys. For example, suppose that you have snapshots that are tagged with keys called owner and environment. If you specify both of these tag keys in the request, Amazon Redshift returns a response with the snapshots that have either or both of these tag keys associated with them.", + "SortingEntities": "", + "ClusterExists": "A value that indicates whether to return snapshots only for an existing cluster. You can perform table-level restore only by using a snapshot of an existing cluster, that is, a cluster that has not been deleted. Values for this parameter work as follows: If ClusterExists is set to true, ClusterIdentifier is required. If ClusterExists is set to false and ClusterIdentifier isn't specified, all snapshots associated with deleted clusters (orphaned snapshots) are returned. If ClusterExists is set to false and ClusterIdentifier is specified for a deleted cluster, snapshots associated with that cluster are returned. If ClusterExists is set to false and ClusterIdentifier is specified for an existing cluster, no snapshots are returned. ", + "ClusterIdentifier": "The identifier of the cluster which generated the requested snapshots.", + "OwnerAccount": "The AWS customer account used to create or copy the snapshot. Use this field to filter the results to snapshots owned by a particular account. To describe snapshots you own, either specify your AWS customer account, or do not specify the parameter." +} +""" +DescribeClusterSnapshots() = redshift("DescribeClusterSnapshots") +DescribeClusterSnapshots(args) = redshift("DescribeClusterSnapshots", args) + +""" + ModifyClusterSnapshot() + +Modifies the settings for a snapshot. This exanmple modifies the manual retention period setting for a cluster snapshot. + +Required Parameters +{ + "SnapshotIdentifier": "The identifier of the snapshot whose setting you want to modify." +} + +Optional Parameters +{ + "Force": "A Boolean option to override an exception if the retention period has already passed.", + "ManualSnapshotRetentionPeriod": "The number of days that a manual snapshot is retained. If the value is -1, the manual snapshot is retained indefinitely. If the manual snapshot falls outside of the new retention period, you can specify the force option to immediately delete the snapshot. The value must be either -1 or an integer between 1 and 3,653." +} +""" +ModifyClusterSnapshot(args) = redshift("ModifyClusterSnapshot", args) + +""" + CreateClusterSubnetGroup() + +Creates a new Amazon Redshift subnet group. You must provide a list of one or more subnets in your existing Amazon Virtual Private Cloud (Amazon VPC) when creating Amazon Redshift subnet group. For information about subnet groups, go to Amazon Redshift Cluster Subnet Groups in the Amazon Redshift Cluster Management Guide. + +Required Parameters +{ + "Description": "A description for the subnet group.", + "SubnetIds": "An array of VPC subnet IDs. A maximum of 20 subnets can be modified in a single request.", + "ClusterSubnetGroupName": "The name for the subnet group. Amazon Redshift stores the value as a lowercase string. Constraints: Must contain no more than 255 alphanumeric characters or hyphens. Must not be \"Default\". Must be unique for all subnet groups that are created by your AWS account. Example: examplesubnetgroup " +} + +Optional Parameters +{ + "Tags": "A list of tag instances." +} +""" +CreateClusterSubnetGroup(args) = redshift("CreateClusterSubnetGroup", args) + +""" + AcceptReservedNodeExchange() + +Exchanges a DC1 Reserved Node for a DC2 Reserved Node with no changes to the configuration (term, payment type, or number of nodes) and no additional costs. + +Required Parameters +{ + "TargetReservedNodeOfferingId": "The unique identifier of the DC2 Reserved Node offering to be used for the exchange. You can obtain the value for the parameter by calling GetReservedNodeExchangeOfferings ", + "ReservedNodeId": "A string representing the node identifier of the DC1 Reserved Node to be exchanged." +} +""" +AcceptReservedNodeExchange(args) = redshift("AcceptReservedNodeExchange", args) + +""" + DescribeTableRestoreStatus() + +Lists the status of one or more table restore requests made using the RestoreTableFromClusterSnapshot API action. If you don't specify a value for the TableRestoreRequestId parameter, then DescribeTableRestoreStatus returns the status of all table restore requests ordered by the date and time of the request in ascending order. Otherwise DescribeTableRestoreStatus returns the status of the table specified by TableRestoreRequestId. + +Optional Parameters +{ + "ClusterIdentifier": "The Amazon Redshift cluster that the table is being restored to.", + "MaxRecords": "The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.", + "Marker": "An optional pagination token provided by a previous DescribeTableRestoreStatus request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by the MaxRecords parameter.", + "TableRestoreRequestId": "The identifier of the table restore request to return status for. If you don't specify a TableRestoreRequestId value, then DescribeTableRestoreStatus returns the status of all in-progress table restore requests." +} +""" +DescribeTableRestoreStatus() = redshift("DescribeTableRestoreStatus") +DescribeTableRestoreStatus(args) = redshift("DescribeTableRestoreStatus", args) + +""" + DescribeTags() + +Returns a list of tags. You can return tags from a specific resource by specifying an ARN, or you can return all tags for a given type of resource, such as clusters, snapshots, and so on. The following are limitations for DescribeTags: You cannot specify an ARN and a resource-type value together in the same request. You cannot use the MaxRecords and Marker parameters together with the ARN parameter. The MaxRecords parameter can be a range from 10 to 50 results to return in a request. If you specify both tag keys and tag values in the same request, Amazon Redshift returns all resources that match any combination of the specified keys and values. For example, if you have owner and environment for tag keys, and admin and test for tag values, all resources that have any combination of those values are returned. If both tag keys and values are omitted from the request, resources are returned regardless of whether they have tag keys or values associated with them. + +Optional Parameters +{ + "MaxRecords": "The maximum number or response records to return in each call. If the number of remaining response records exceeds the specified MaxRecords value, a value is returned in a marker field of the response. You can retrieve the next set of records by retrying the command with the returned marker value. ", + "Marker": "A value that indicates the starting point for the next set of response records in a subsequent request. If a value is returned in a response, you can retrieve the next set of records by providing this returned marker value in the marker parameter and retrying the command. If the marker field is empty, all response records have been retrieved for the request. ", + "TagValues": "A tag value or values for which you want to return all matching resources that are associated with the specified value or values. For example, suppose that you have resources tagged with values called admin and test. If you specify both of these tag values in the request, Amazon Redshift returns a response with all resources that have either or both of these tag values associated with them.", + "ResourceName": "The Amazon Resource Name (ARN) for which you want to describe the tag or tags. For example, arn:aws:redshift:us-east-2:123456789:cluster:t1. ", + "ResourceType": "The type of resource with which you want to view tags. Valid resource types are: Cluster CIDR/IP EC2 security group Snapshot Cluster security group Subnet group HSM connection HSM certificate Parameter group Snapshot copy grant For more information about Amazon Redshift resource types and constructing ARNs, go to Specifying Policy Elements: Actions, Effects, Resources, and Principals in the Amazon Redshift Cluster Management Guide. ", + "TagKeys": "A tag key or keys for which you want to return all matching resources that are associated with the specified key or keys. For example, suppose that you have resources tagged with keys called owner and environment. If you specify both of these tag keys in the request, Amazon Redshift returns a response with all resources that have either or both of these tag keys associated with them." +} +""" +DescribeTags() = redshift("DescribeTags") +DescribeTags(args) = redshift("DescribeTags", args) + +""" + DeleteClusterSubnetGroup() + +Deletes the specified cluster subnet group. + +Required Parameters +{ + "ClusterSubnetGroupName": "The name of the cluster subnet group name to be deleted." +} +""" +DeleteClusterSubnetGroup(args) = redshift("DeleteClusterSubnetGroup", args) + +""" + ModifyScheduledAction() + +Modifies a scheduled action. + +Required Parameters +{ + "ScheduledActionName": "The name of the scheduled action to modify. " +} + +Optional Parameters +{ + "ScheduledActionDescription": "A modified description of the scheduled action. ", + "TargetAction": "A modified JSON format of the scheduled action. For more information about this parameter, see ScheduledAction. ", + "Schedule": "A modified schedule in either at( ) or cron( ) format. For more information about this parameter, see ScheduledAction.", + "StartTime": "A modified start time of the scheduled action. For more information about this parameter, see ScheduledAction. ", + "EndTime": "A modified end time of the scheduled action. For more information about this parameter, see ScheduledAction. ", + "Enable": "A modified enable flag of the scheduled action. If true, the scheduled action is active. If false, the scheduled action is disabled. ", + "IamRole": "A different IAM role to assume to run the target action. For more information about this parameter, see ScheduledAction." +} +""" +ModifyScheduledAction(args) = redshift("ModifyScheduledAction", args) + +""" + CreateClusterSecurityGroup() + +Creates a new Amazon Redshift security group. You use security groups to control access to non-VPC clusters. For information about managing security groups, go to Amazon Redshift Cluster Security Groups in the Amazon Redshift Cluster Management Guide. + +Required Parameters +{ + "Description": "A description for the security group.", + "ClusterSecurityGroupName": "The name for the security group. Amazon Redshift stores the value as a lowercase string. Constraints: Must contain no more than 255 alphanumeric characters or hyphens. Must not be \"Default\". Must be unique for all security groups that are created by your AWS account. Example: examplesecuritygroup " +} + +Optional Parameters +{ + "Tags": "A list of tag instances." +} +""" +CreateClusterSecurityGroup(args) = redshift("CreateClusterSecurityGroup", args) + +""" + CreateHsmConfiguration() + +Creates an HSM configuration that contains the information required by an Amazon Redshift cluster to store and use database encryption keys in a Hardware Security Module (HSM). After creating the HSM configuration, you can specify it as a parameter when creating a cluster. The cluster will then store its encryption keys in the HSM. In addition to creating an HSM configuration, you must also create an HSM client certificate. For more information, go to Hardware Security Modules in the Amazon Redshift Cluster Management Guide. + +Required Parameters +{ + "Description": "A text description of the HSM configuration to be created.", + "HsmPartitionName": "The name of the partition in the HSM where the Amazon Redshift clusters will store their database encryption keys.", + "HsmPartitionPassword": "The password required to access the HSM partition.", + "HsmIpAddress": "The IP address that the Amazon Redshift cluster must use to access the HSM.", + "HsmConfigurationIdentifier": "The identifier to be assigned to the new Amazon Redshift HSM configuration.", + "HsmServerPublicCertificate": "The HSMs public certificate file. When using Cloud HSM, the file name is server.pem." +} + +Optional Parameters +{ + "Tags": "A list of tag instances." +} +""" +CreateHsmConfiguration(args) = redshift("CreateHsmConfiguration", args) + +""" + RebootCluster() + +Reboots a cluster. This action is taken as soon as possible. It results in a momentary outage to the cluster, during which the cluster status is set to rebooting. A cluster event is created when the reboot is completed. Any pending cluster modifications (see ModifyCluster) are applied at this reboot. For more information about managing clusters, go to Amazon Redshift Clusters in the Amazon Redshift Cluster Management Guide. + +Required Parameters +{ + "ClusterIdentifier": "The cluster identifier." +} +""" +RebootCluster(args) = redshift("RebootCluster", args) + +""" + DescribeHsmConfigurations() + +Returns information about the specified Amazon Redshift HSM configuration. If no configuration ID is specified, returns information about all the HSM configurations owned by your AWS customer account. If you specify both tag keys and tag values in the same request, Amazon Redshift returns all HSM connections that match any combination of the specified keys and values. For example, if you have owner and environment for tag keys, and admin and test for tag values, all HSM connections that have any combination of those values are returned. If both tag keys and values are omitted from the request, HSM connections are returned regardless of whether they have tag keys or values associated with them. + +Optional Parameters +{ + "MaxRecords": "The maximum number of response records to return in each call. If the number of remaining response records exceeds the specified MaxRecords value, a value is returned in a marker field of the response. You can retrieve the next set of records by retrying the command with the returned marker value. Default: 100 Constraints: minimum 20, maximum 100.", + "Marker": "An optional parameter that specifies the starting point to return a set of response records. When the results of a DescribeHsmConfigurations request exceed the value specified in MaxRecords, AWS returns a value in the Marker field of the response. You can retrieve the next set of response records by providing the returned marker value in the Marker parameter and retrying the request. ", + "TagValues": "A tag value or values for which you want to return all matching HSM configurations that are associated with the specified tag value or values. For example, suppose that you have HSM configurations that are tagged with values called admin and test. If you specify both of these tag values in the request, Amazon Redshift returns a response with the HSM configurations that have either or both of these tag values associated with them.", + "HsmConfigurationIdentifier": "The identifier of a specific Amazon Redshift HSM configuration to be described. If no identifier is specified, information is returned for all HSM configurations owned by your AWS customer account.", + "TagKeys": "A tag key or keys for which you want to return all matching HSM configurations that are associated with the specified key or keys. For example, suppose that you have HSM configurations that are tagged with keys called owner and environment. If you specify both of these tag keys in the request, Amazon Redshift returns a response with the HSM configurations that have either or both of these tag keys associated with them." +} +""" +DescribeHsmConfigurations() = redshift("DescribeHsmConfigurations") +DescribeHsmConfigurations(args) = redshift("DescribeHsmConfigurations", args) + +""" + DescribeStorage() + +Returns account level backups storage size and provisional storage. +""" +DescribeStorage() = redshift("DescribeStorage") +DescribeStorage(args) = redshift("DescribeStorage", args) + +""" + DescribeSnapshotCopyGrants() + +Returns a list of snapshot copy grants owned by the AWS account in the destination region. For more information about managing snapshot copy grants, go to Amazon Redshift Database Encryption in the Amazon Redshift Cluster Management Guide. + +Optional Parameters +{ + "MaxRecords": "The maximum number of response records to return in each call. If the number of remaining response records exceeds the specified MaxRecords value, a value is returned in a marker field of the response. You can retrieve the next set of records by retrying the command with the returned marker value. Default: 100 Constraints: minimum 20, maximum 100.", + "Marker": "An optional parameter that specifies the starting point to return a set of response records. When the results of a DescribeSnapshotCopyGrant request exceed the value specified in MaxRecords, AWS returns a value in the Marker field of the response. You can retrieve the next set of response records by providing the returned marker value in the Marker parameter and retrying the request. Constraints: You can specify either the SnapshotCopyGrantName parameter or the Marker parameter, but not both. ", + "TagValues": "A tag value or values for which you want to return all matching resources that are associated with the specified value or values. For example, suppose that you have resources tagged with values called admin and test. If you specify both of these tag values in the request, Amazon Redshift returns a response with all resources that have either or both of these tag values associated with them.", + "SnapshotCopyGrantName": "The name of the snapshot copy grant.", + "TagKeys": "A tag key or keys for which you want to return all matching resources that are associated with the specified key or keys. For example, suppose that you have resources tagged with keys called owner and environment. If you specify both of these tag keys in the request, Amazon Redshift returns a response with all resources that have either or both of these tag keys associated with them." +} +""" +DescribeSnapshotCopyGrants() = redshift("DescribeSnapshotCopyGrants") +DescribeSnapshotCopyGrants(args) = redshift("DescribeSnapshotCopyGrants", args) + +""" + DeleteClusterSnapshot() + +Deletes the specified manual snapshot. The snapshot must be in the available state, with no other users authorized to access the snapshot. Unlike automated snapshots, manual snapshots are retained even after you delete your cluster. Amazon Redshift does not delete your manual snapshots. You must delete manual snapshot explicitly to avoid getting charged. If other accounts are authorized to access the snapshot, you must revoke all of the authorizations before you can delete the snapshot. + +Required Parameters +{ + "SnapshotIdentifier": "The unique identifier of the manual snapshot to be deleted. Constraints: Must be the name of an existing snapshot that is in the available, failed, or cancelled state." +} + +Optional Parameters +{ + "SnapshotClusterIdentifier": "The unique identifier of the cluster the snapshot was created from. This parameter is required if your IAM user has a policy containing a snapshot resource element that specifies anything other than * for the cluster name. Constraints: Must be the name of valid cluster." +} +""" +DeleteClusterSnapshot(args) = redshift("DeleteClusterSnapshot", args) + +""" + DeleteClusterSecurityGroup() + +Deletes an Amazon Redshift security group. You cannot delete a security group that is associated with any clusters. You cannot delete the default security group. For information about managing security groups, go to Amazon Redshift Cluster Security Groups in the Amazon Redshift Cluster Management Guide. + +Required Parameters +{ + "ClusterSecurityGroupName": "The name of the cluster security group to be deleted." +} +""" +DeleteClusterSecurityGroup(args) = redshift("DeleteClusterSecurityGroup", args) + +""" + EnableSnapshotCopy() + +Enables the automatic copy of snapshots from one region to another region for a specified cluster. + +Required Parameters +{ + "ClusterIdentifier": "The unique identifier of the source cluster to copy snapshots from. Constraints: Must be the valid name of an existing cluster that does not already have cross-region snapshot copy enabled.", + "DestinationRegion": "The destination AWS Region that you want to copy snapshots to. Constraints: Must be the name of a valid AWS Region. For more information, see Regions and Endpoints in the Amazon Web Services General Reference. " +} + +Optional Parameters +{ + "SnapshotCopyGrantName": "The name of the snapshot copy grant to use when snapshots of an AWS KMS-encrypted cluster are copied to the destination region.", + "RetentionPeriod": "The number of days to retain automated snapshots in the destination region after they are copied from the source region. Default: 7. Constraints: Must be at least 1 and no more than 35.", + "ManualSnapshotRetentionPeriod": "The number of days to retain newly copied snapshots in the destination AWS Region after they are copied from the source AWS Region. If the value is -1, the manual snapshot is retained indefinitely. The value must be either -1 or an integer between 1 and 3,653." +} +""" +EnableSnapshotCopy(args) = redshift("EnableSnapshotCopy", args) + +""" + ModifySnapshotSchedule() + +Modifies a snapshot schedule. Any schedule associated with a cluster is modified asynchronously. + +Required Parameters +{ + "ScheduleIdentifier": "A unique alphanumeric identifier of the schedule to modify.", + "ScheduleDefinitions": "An updated list of schedule definitions. A schedule definition is made up of schedule expressions, for example, \"cron(30 12 *)\" or \"rate(12 hours)\"." +} +""" +ModifySnapshotSchedule(args) = redshift("ModifySnapshotSchedule", args) + +""" + ResumeCluster() + +Resumes a paused cluster. + +Required Parameters +{ + "ClusterIdentifier": "The identifier of the cluster to be resumed." +} +""" +ResumeCluster(args) = redshift("ResumeCluster", args) + +""" + DescribeClusterParameters() + +Returns a detailed list of parameters contained within the specified Amazon Redshift parameter group. For each parameter the response includes information such as parameter name, description, data type, value, whether the parameter value is modifiable, and so on. You can specify source filter to retrieve parameters of only specific type. For example, to retrieve parameters that were modified by a user action such as from ModifyClusterParameterGroup, you can specify source equal to user. For more information about parameters and parameter groups, go to Amazon Redshift Parameter Groups in the Amazon Redshift Cluster Management Guide. + +Required Parameters +{ + "ParameterGroupName": "The name of a cluster parameter group for which to return details." +} + +Optional Parameters +{ + "MaxRecords": "The maximum number of response records to return in each call. If the number of remaining response records exceeds the specified MaxRecords value, a value is returned in a marker field of the response. You can retrieve the next set of records by retrying the command with the returned marker value. Default: 100 Constraints: minimum 20, maximum 100.", + "Marker": "An optional parameter that specifies the starting point to return a set of response records. When the results of a DescribeClusterParameters request exceed the value specified in MaxRecords, AWS returns a value in the Marker field of the response. You can retrieve the next set of response records by providing the returned marker value in the Marker parameter and retrying the request. ", + "Source": "The parameter types to return. Specify user to show parameters that are different form the default. Similarly, specify engine-default to show parameters that are the same as the default parameter group. Default: All parameter types returned. Valid Values: user | engine-default " +} +""" +DescribeClusterParameters(args) = redshift("DescribeClusterParameters", args) + +""" + DescribeClusters() + +Returns properties of provisioned clusters including general cluster properties, cluster database properties, maintenance and backup properties, and security and access properties. This operation supports pagination. For more information about managing clusters, go to Amazon Redshift Clusters in the Amazon Redshift Cluster Management Guide. If you specify both tag keys and tag values in the same request, Amazon Redshift returns all clusters that match any combination of the specified keys and values. For example, if you have owner and environment for tag keys, and admin and test for tag values, all clusters that have any combination of those values are returned. If both tag keys and values are omitted from the request, clusters are returned regardless of whether they have tag keys or values associated with them. + +Optional Parameters +{ + "ClusterIdentifier": "The unique identifier of a cluster whose properties you are requesting. This parameter is case sensitive. The default is that all clusters defined for an account are returned.", + "MaxRecords": "The maximum number of response records to return in each call. If the number of remaining response records exceeds the specified MaxRecords value, a value is returned in a marker field of the response. You can retrieve the next set of records by retrying the command with the returned marker value. Default: 100 Constraints: minimum 20, maximum 100.", + "Marker": "An optional parameter that specifies the starting point to return a set of response records. When the results of a DescribeClusters request exceed the value specified in MaxRecords, AWS returns a value in the Marker field of the response. You can retrieve the next set of response records by providing the returned marker value in the Marker parameter and retrying the request. Constraints: You can specify either the ClusterIdentifier parameter or the Marker parameter, but not both. ", + "TagValues": "A tag value or values for which you want to return all matching clusters that are associated with the specified tag value or values. For example, suppose that you have clusters that are tagged with values called admin and test. If you specify both of these tag values in the request, Amazon Redshift returns a response with the clusters that have either or both of these tag values associated with them.", + "TagKeys": "A tag key or keys for which you want to return all matching clusters that are associated with the specified key or keys. For example, suppose that you have clusters that are tagged with keys called owner and environment. If you specify both of these tag keys in the request, Amazon Redshift returns a response with the clusters that have either or both of these tag keys associated with them." +} +""" +DescribeClusters() = redshift("DescribeClusters") +DescribeClusters(args) = redshift("DescribeClusters", args) + +""" + DescribeDefaultClusterParameters() + +Returns a list of parameter settings for the specified parameter group family. For more information about parameters and parameter groups, go to Amazon Redshift Parameter Groups in the Amazon Redshift Cluster Management Guide. + +Required Parameters +{ + "ParameterGroupFamily": "The name of the cluster parameter group family." +} + +Optional Parameters +{ + "MaxRecords": "The maximum number of response records to return in each call. If the number of remaining response records exceeds the specified MaxRecords value, a value is returned in a marker field of the response. You can retrieve the next set of records by retrying the command with the returned marker value. Default: 100 Constraints: minimum 20, maximum 100.", + "Marker": "An optional parameter that specifies the starting point to return a set of response records. When the results of a DescribeDefaultClusterParameters request exceed the value specified in MaxRecords, AWS returns a value in the Marker field of the response. You can retrieve the next set of response records by providing the returned marker value in the Marker parameter and retrying the request. " +} +""" +DescribeDefaultClusterParameters(args) = redshift("DescribeDefaultClusterParameters", args) + +""" + DescribeResize() + +Returns information about the last resize operation for the specified cluster. If no resize operation has ever been initiated for the specified cluster, a HTTP 404 error is returned. If a resize operation was initiated and completed, the status of the resize remains as SUCCEEDED until the next resize. A resize operation can be requested using ModifyCluster and specifying a different number or type of nodes for the cluster. + +Required Parameters +{ + "ClusterIdentifier": "The unique identifier of a cluster whose resize progress you are requesting. This parameter is case-sensitive. By default, resize operations for all clusters defined for an AWS account are returned." +} +""" +DescribeResize(args) = redshift("DescribeResize", args) + +""" + ModifyClusterIamRoles() + +Modifies the list of AWS Identity and Access Management (IAM) roles that can be used by the cluster to access other AWS services. A cluster can have up to 10 IAM roles associated at any time. + +Required Parameters +{ + "ClusterIdentifier": "The unique identifier of the cluster for which you want to associate or disassociate IAM roles." +} + +Optional Parameters +{ + "AddIamRoles": "Zero or more IAM roles to associate with the cluster. The roles must be in their Amazon Resource Name (ARN) format. You can associate up to 10 IAM roles with a single cluster in a single request.", + "RemoveIamRoles": "Zero or more IAM roles in ARN format to disassociate from the cluster. You can disassociate up to 10 IAM roles from a single cluster in a single request." +} +""" +ModifyClusterIamRoles(args) = redshift("ModifyClusterIamRoles", args) + +""" + DescribeOrderableClusterOptions() + +Returns a list of orderable cluster options. Before you create a new cluster you can use this operation to find what options are available, such as the EC2 Availability Zones (AZ) in the specific AWS Region that you can specify, and the node types you can request. The node types differ by available storage, memory, CPU and price. With the cost involved you might want to obtain a list of cluster options in the specific region and specify values when creating a cluster. For more information about managing clusters, go to Amazon Redshift Clusters in the Amazon Redshift Cluster Management Guide. + +Optional Parameters +{ + "MaxRecords": "The maximum number of response records to return in each call. If the number of remaining response records exceeds the specified MaxRecords value, a value is returned in a marker field of the response. You can retrieve the next set of records by retrying the command with the returned marker value. Default: 100 Constraints: minimum 20, maximum 100.", + "Marker": "An optional parameter that specifies the starting point to return a set of response records. When the results of a DescribeOrderableClusterOptions request exceed the value specified in MaxRecords, AWS returns a value in the Marker field of the response. You can retrieve the next set of response records by providing the returned marker value in the Marker parameter and retrying the request. ", + "NodeType": "The node type filter value. Specify this parameter to show only the available offerings matching the specified node type.", + "ClusterVersion": "The version filter value. Specify this parameter to show only the available offerings matching the specified version. Default: All versions. Constraints: Must be one of the version returned from DescribeClusterVersions." +} +""" +DescribeOrderableClusterOptions() = redshift("DescribeOrderableClusterOptions") +DescribeOrderableClusterOptions(args) = redshift("DescribeOrderableClusterOptions", args) + +""" + DescribeEvents() + +Returns events related to clusters, security groups, snapshots, and parameter groups for the past 14 days. Events specific to a particular cluster, security group, snapshot or parameter group can be obtained by providing the name as a parameter. By default, the past hour of events are returned. + +Optional Parameters +{ + "StartTime": "The beginning of the time interval to retrieve events for, specified in ISO 8601 format. For more information about ISO 8601, go to the ISO8601 Wikipedia page. Example: 2009-07-08T18:00Z ", + "MaxRecords": "The maximum number of response records to return in each call. If the number of remaining response records exceeds the specified MaxRecords value, a value is returned in a marker field of the response. You can retrieve the next set of records by retrying the command with the returned marker value. Default: 100 Constraints: minimum 20, maximum 100.", + "Marker": "An optional parameter that specifies the starting point to return a set of response records. When the results of a DescribeEvents request exceed the value specified in MaxRecords, AWS returns a value in the Marker field of the response. You can retrieve the next set of response records by providing the returned marker value in the Marker parameter and retrying the request. ", + "SourceIdentifier": "The identifier of the event source for which events will be returned. If this parameter is not specified, then all sources are included in the response. Constraints: If SourceIdentifier is supplied, SourceType must also be provided. Specify a cluster identifier when SourceType is cluster. Specify a cluster security group name when SourceType is cluster-security-group. Specify a cluster parameter group name when SourceType is cluster-parameter-group. Specify a cluster snapshot identifier when SourceType is cluster-snapshot. ", + "EndTime": "The end of the time interval for which to retrieve events, specified in ISO 8601 format. For more information about ISO 8601, go to the ISO8601 Wikipedia page. Example: 2009-07-08T18:00Z ", + "SourceType": "The event source to retrieve events for. If no value is specified, all events are returned. Constraints: If SourceType is supplied, SourceIdentifier must also be provided. Specify cluster when SourceIdentifier is a cluster identifier. Specify cluster-security-group when SourceIdentifier is a cluster security group name. Specify cluster-parameter-group when SourceIdentifier is a cluster parameter group name. Specify cluster-snapshot when SourceIdentifier is a cluster snapshot identifier. ", + "Duration": "The number of minutes prior to the time of the request for which to retrieve events. For example, if the request is sent at 18:00 and you specify a duration of 60, then only events which have occurred after 17:00 will be returned. Default: 60 " +} +""" +DescribeEvents() = redshift("DescribeEvents") +DescribeEvents(args) = redshift("DescribeEvents", args) + +""" + DisableSnapshotCopy() + +Disables the automatic copying of snapshots from one region to another region for a specified cluster. If your cluster and its snapshots are encrypted using a customer master key (CMK) from AWS KMS, use DeleteSnapshotCopyGrant to delete the grant that grants Amazon Redshift permission to the CMK in the destination region. + +Required Parameters +{ + "ClusterIdentifier": "The unique identifier of the source cluster that you want to disable copying of snapshots to a destination region. Constraints: Must be the valid name of an existing cluster that has cross-region snapshot copy enabled." +} +""" +DisableSnapshotCopy(args) = redshift("DisableSnapshotCopy", args) + +""" + RestoreTableFromClusterSnapshot() + +Creates a new table from a table in an Amazon Redshift cluster snapshot. You must create the new table within the Amazon Redshift cluster that the snapshot was taken from. You cannot use RestoreTableFromClusterSnapshot to restore a table with the same name as an existing table in an Amazon Redshift cluster. That is, you cannot overwrite an existing table in a cluster with a restored table. If you want to replace your original table with a new, restored table, then rename or drop your original table before you call RestoreTableFromClusterSnapshot. When you have renamed your original table, then you can pass the original name of the table as the NewTableName parameter value in the call to RestoreTableFromClusterSnapshot. This way, you can replace the original table with the table created from the snapshot. + +Required Parameters +{ + "NewTableName": "The name of the table to create as a result of the current request.", + "ClusterIdentifier": "The identifier of the Amazon Redshift cluster to restore the table to.", + "SourceDatabaseName": "The name of the source database that contains the table to restore from.", + "SourceTableName": "The name of the source table to restore from.", + "SnapshotIdentifier": "The identifier of the snapshot to restore the table from. This snapshot must have been created from the Amazon Redshift cluster specified by the ClusterIdentifier parameter." +} + +Optional Parameters +{ + "TargetSchemaName": "The name of the schema to restore the table to.", + "SourceSchemaName": "The name of the source schema that contains the table to restore from. If you do not specify a SourceSchemaName value, the default is public.", + "TargetDatabaseName": "The name of the database to restore the table to." +} +""" +RestoreTableFromClusterSnapshot(args) = redshift("RestoreTableFromClusterSnapshot", args) + +""" + DescribeAccountAttributes() + +Returns a list of attributes attached to an account + +Optional Parameters +{ + "AttributeNames": "A list of attribute names." +} +""" +DescribeAccountAttributes() = redshift("DescribeAccountAttributes") +DescribeAccountAttributes(args) = redshift("DescribeAccountAttributes", args) + +""" + DescribeClusterVersions() + +Returns descriptions of the available Amazon Redshift cluster versions. You can call this operation even before creating any clusters to learn more about the Amazon Redshift versions. For more information about managing clusters, go to Amazon Redshift Clusters in the Amazon Redshift Cluster Management Guide. + +Optional Parameters +{ + "MaxRecords": "The maximum number of response records to return in each call. If the number of remaining response records exceeds the specified MaxRecords value, a value is returned in a marker field of the response. You can retrieve the next set of records by retrying the command with the returned marker value. Default: 100 Constraints: minimum 20, maximum 100.", + "Marker": "An optional parameter that specifies the starting point to return a set of response records. When the results of a DescribeClusterVersions request exceed the value specified in MaxRecords, AWS returns a value in the Marker field of the response. You can retrieve the next set of response records by providing the returned marker value in the Marker parameter and retrying the request. ", + "ClusterVersion": "The specific cluster version to return. Example: 1.0 ", + "ClusterParameterGroupFamily": "The name of a specific cluster parameter group family to return details for. Constraints: Must be 1 to 255 alphanumeric characters First character must be a letter Cannot end with a hyphen or contain two consecutive hyphens " +} +""" +DescribeClusterVersions() = redshift("DescribeClusterVersions") +DescribeClusterVersions(args) = redshift("DescribeClusterVersions", args) + +""" + DescribeEventSubscriptions() + +Lists descriptions of all the Amazon Redshift event notification subscriptions for a customer account. If you specify a subscription name, lists the description for that subscription. If you specify both tag keys and tag values in the same request, Amazon Redshift returns all event notification subscriptions that match any combination of the specified keys and values. For example, if you have owner and environment for tag keys, and admin and test for tag values, all subscriptions that have any combination of those values are returned. If both tag keys and values are omitted from the request, subscriptions are returned regardless of whether they have tag keys or values associated with them. + +Optional Parameters +{ + "MaxRecords": "The maximum number of response records to return in each call. If the number of remaining response records exceeds the specified MaxRecords value, a value is returned in a marker field of the response. You can retrieve the next set of records by retrying the command with the returned marker value. Default: 100 Constraints: minimum 20, maximum 100.", + "Marker": "An optional parameter that specifies the starting point to return a set of response records. When the results of a DescribeEventSubscriptions request exceed the value specified in MaxRecords, AWS returns a value in the Marker field of the response. You can retrieve the next set of response records by providing the returned marker value in the Marker parameter and retrying the request. ", + "SubscriptionName": "The name of the Amazon Redshift event notification subscription to be described.", + "TagValues": "A tag value or values for which you want to return all matching event notification subscriptions that are associated with the specified tag value or values. For example, suppose that you have subscriptions that are tagged with values called admin and test. If you specify both of these tag values in the request, Amazon Redshift returns a response with the subscriptions that have either or both of these tag values associated with them.", + "TagKeys": "A tag key or keys for which you want to return all matching event notification subscriptions that are associated with the specified key or keys. For example, suppose that you have subscriptions that are tagged with keys called owner and environment. If you specify both of these tag keys in the request, Amazon Redshift returns a response with the subscriptions that have either or both of these tag keys associated with them." +} +""" +DescribeEventSubscriptions() = redshift("DescribeEventSubscriptions") +DescribeEventSubscriptions(args) = redshift("DescribeEventSubscriptions", args) + +""" + DescribeClusterDbRevisions() + +Returns an array of ClusterDbRevision objects. + +Optional Parameters +{ + "ClusterIdentifier": "A unique identifier for a cluster whose ClusterDbRevisions you are requesting. This parameter is case sensitive. All clusters defined for an account are returned by default.", + "MaxRecords": "The maximum number of response records to return in each call. If the number of remaining response records exceeds the specified MaxRecords value, a value is returned in the marker field of the response. You can retrieve the next set of response records by providing the returned marker value in the marker parameter and retrying the request. Default: 100 Constraints: minimum 20, maximum 100.", + "Marker": "An optional parameter that specifies the starting point for returning a set of response records. When the results of a DescribeClusterDbRevisions request exceed the value specified in MaxRecords, Amazon Redshift returns a value in the marker field of the response. You can retrieve the next set of response records by providing the returned marker value in the marker parameter and retrying the request. Constraints: You can specify either the ClusterIdentifier parameter, or the marker parameter, but not both." +} +""" +DescribeClusterDbRevisions() = redshift("DescribeClusterDbRevisions") +DescribeClusterDbRevisions(args) = redshift("DescribeClusterDbRevisions", args) + +""" + DisableLogging() + +Stops logging information, such as queries and connection attempts, for the specified Amazon Redshift cluster. + +Required Parameters +{ + "ClusterIdentifier": "The identifier of the cluster on which logging is to be stopped. Example: examplecluster " +} +""" +DisableLogging(args) = redshift("DisableLogging", args) + +""" + CreateSnapshotSchedule() + +Creates a snapshot schedule with the rate of every 12 hours. + +Optional Parameters +{ + "NextInvocations": "", + "ScheduleIdentifier": "A unique identifier for a snapshot schedule. Only alphanumeric characters are allowed for the identifier.", + "ScheduleDefinitions": "The definition of the snapshot schedule. The definition is made up of schedule expressions, for example \"cron(30 12 *)\" or \"rate(12 hours)\". ", + "ScheduleDescription": "The description of the snapshot schedule.", + "Tags": "An optional set of tags you can use to search for the schedule.", + "DryRun": "" +} +""" +CreateSnapshotSchedule() = redshift("CreateSnapshotSchedule") +CreateSnapshotSchedule(args) = redshift("CreateSnapshotSchedule", args) + +""" + ModifyClusterParameterGroup() + +Modifies the parameters of a parameter group. For more information about parameters and parameter groups, go to Amazon Redshift Parameter Groups in the Amazon Redshift Cluster Management Guide. + +Required Parameters +{ + "Parameters": "An array of parameters to be modified. A maximum of 20 parameters can be modified in a single request. For each parameter to be modified, you must supply at least the parameter name and parameter value; other name-value pairs of the parameter are optional. For the workload management (WLM) configuration, you must supply all the name-value pairs in the wlm_json_configuration parameter.", + "ParameterGroupName": "The name of the parameter group to be modified." +} +""" +ModifyClusterParameterGroup(args) = redshift("ModifyClusterParameterGroup", args) + +""" + ModifySnapshotCopyRetentionPeriod() + +Modifies the number of days to retain snapshots in the destination AWS Region after they are copied from the source AWS Region. By default, this operation only changes the retention period of copied automated snapshots. The retention periods for both new and existing copied automated snapshots are updated with the new retention period. You can set the manual option to change only the retention periods of copied manual snapshots. If you set this option, only newly copied manual snapshots have the new retention period. + +Required Parameters +{ + "ClusterIdentifier": "The unique identifier of the cluster for which you want to change the retention period for either automated or manual snapshots that are copied to a destination AWS Region. Constraints: Must be the valid name of an existing cluster that has cross-region snapshot copy enabled.", + "RetentionPeriod": "The number of days to retain automated snapshots in the destination AWS Region after they are copied from the source AWS Region. By default, this only changes the retention period of copied automated snapshots. If you decrease the retention period for automated snapshots that are copied to a destination AWS Region, Amazon Redshift deletes any existing automated snapshots that were copied to the destination AWS Region and that fall outside of the new retention period. Constraints: Must be at least 1 and no more than 35 for automated snapshots. If you specify the manual option, only newly copied manual snapshots will have the new retention period. If you specify the value of -1 newly copied manual snapshots are retained indefinitely. Constraints: The number of days must be either -1 or an integer between 1 and 3,653 for manual snapshots." +} + +Optional Parameters +{ + "Manual": "Indicates whether to apply the snapshot retention period to newly copied manual snapshots instead of automated snapshots." +} +""" +ModifySnapshotCopyRetentionPeriod(args) = redshift("ModifySnapshotCopyRetentionPeriod", args) + +""" + EnableLogging() + +Starts logging information, such as queries and connection attempts, for the specified Amazon Redshift cluster. + +Required Parameters +{ + "ClusterIdentifier": "The identifier of the cluster on which logging is to be started. Example: examplecluster ", + "BucketName": "The name of an existing S3 bucket where the log files are to be stored. Constraints: Must be in the same region as the cluster The cluster must have read bucket and put object permissions " +} + +Optional Parameters +{ + "S3KeyPrefix": "The prefix applied to the log file names. Constraints: Cannot exceed 512 characters Cannot contain spaces( ), double quotes (\"), single quotes ('), a backslash ( ), or control characters. The hexadecimal codes for invalid characters are: x00 to x20 x22 x27 x5c x7f or larger " +} +""" +EnableLogging(args) = redshift("EnableLogging", args) + +""" + ResizeCluster() + +Changes the size of the cluster. You can change the cluster's type, or change the number or type of nodes. The default behavior is to use the elastic resize method. With an elastic resize, your cluster is available for read and write operations more quickly than with the classic resize method. Elastic resize operations have the following restrictions: You can only resize clusters of the following types: dc2.large dc2.8xlarge ds2.xlarge ds2.8xlarge ra3.16xlarge The type of nodes that you add must match the node type for the cluster. + +Required Parameters +{ + "ClusterIdentifier": "The unique identifier for the cluster to resize." +} + +Optional Parameters +{ + "NumberOfNodes": "The new number of nodes for the cluster.", + "Classic": "A boolean value indicating whether the resize operation is using the classic resize process. If you don't provide this parameter or set the value to false, the resize type is elastic. ", + "NodeType": "The new node type for the nodes you are adding. If not specified, the cluster's current node type is used.", + "ClusterType": "The new cluster type for the specified cluster." +} +""" +ResizeCluster(args) = redshift("ResizeCluster", args) + +""" + DescribeReservedNodes() + +Returns the descriptions of the reserved nodes. + +Optional Parameters +{ + "MaxRecords": "The maximum number of response records to return in each call. If the number of remaining response records exceeds the specified MaxRecords value, a value is returned in a marker field of the response. You can retrieve the next set of records by retrying the command with the returned marker value. Default: 100 Constraints: minimum 20, maximum 100.", + "Marker": "An optional parameter that specifies the starting point to return a set of response records. When the results of a DescribeReservedNodes request exceed the value specified in MaxRecords, AWS returns a value in the Marker field of the response. You can retrieve the next set of response records by providing the returned marker value in the Marker parameter and retrying the request. ", + "ReservedNodeId": "Identifier for the node reservation." +} +""" +DescribeReservedNodes() = redshift("DescribeReservedNodes") +DescribeReservedNodes(args) = redshift("DescribeReservedNodes", args) + +""" + DeleteClusterParameterGroup() + +Deletes a specified Amazon Redshift parameter group. You cannot delete a parameter group if it is associated with a cluster. + +Required Parameters +{ + "ParameterGroupName": "The name of the parameter group to be deleted. Constraints: Must be the name of an existing cluster parameter group. Cannot delete a default cluster parameter group. " +} +""" +DeleteClusterParameterGroup(args) = redshift("DeleteClusterParameterGroup", args) + +""" + ModifyClusterSnapshotSchedule() + +Modifies a snapshot schedule for a cluster. + +Required Parameters +{ + "ClusterIdentifier": "A unique identifier for the cluster whose snapshot schedule you want to modify. " +} + +Optional Parameters +{ + "ScheduleIdentifier": "A unique alphanumeric identifier for the schedule that you want to associate with the cluster.", + "DisassociateSchedule": "A boolean to indicate whether to remove the assoiciation between the cluster and the schedule." +} +""" +ModifyClusterSnapshotSchedule(args) = redshift("ModifyClusterSnapshotSchedule", args) + +""" + DescribeLoggingStatus() + +Describes whether information, such as queries and connection attempts, is being logged for the specified Amazon Redshift cluster. + +Required Parameters +{ + "ClusterIdentifier": "The identifier of the cluster from which to get the logging status. Example: examplecluster " +} +""" +DescribeLoggingStatus(args) = redshift("DescribeLoggingStatus", args) + +""" + RotateEncryptionKey() + +Rotates the encryption keys for a cluster. + +Required Parameters +{ + "ClusterIdentifier": "The unique identifier of the cluster that you want to rotate the encryption keys for. Constraints: Must be the name of valid cluster that has encryption enabled." +} +""" +RotateEncryptionKey(args) = redshift("RotateEncryptionKey", args) diff --git a/src/services/rekognition.jl b/src/services/rekognition.jl new file mode 100644 index 0000000000..a464b4dbcb --- /dev/null +++ b/src/services/rekognition.jl @@ -0,0 +1,709 @@ +include("../AWSServices.jl") +using .AWSServices: rekognition + +""" + SearchFaces() + +For a given input face ID, searches for matching faces in the collection the face belongs to. You get a face ID when you add a face to the collection using the IndexFaces operation. The operation compares the features of the input face with faces in the specified collection. You can also search faces without indexing faces by using the SearchFacesByImage operation. The operation response returns an array of faces that match, ordered by similarity score with the highest similarity first. More specifically, it is an array of metadata for each face match that is found. Along with the metadata, the response also includes a confidence value for each face match, indicating the confidence that the specific face matches the input face. For an example, see Searching for a Face Using Its Face ID in the Amazon Rekognition Developer Guide. This operation requires permissions to perform the rekognition:SearchFaces action. + +Required Parameters +{ + "CollectionId": "ID of the collection the face belongs to.", + "FaceId": "ID of a face to find matches for in the collection." +} + +Optional Parameters +{ + "FaceMatchThreshold": "Optional value specifying the minimum confidence in the face match to return. For example, don't return any matches where confidence in matches is less than 70%. The default value is 80%. ", + "MaxFaces": "Maximum number of faces to return. The operation returns the maximum number of faces with the highest confidence in the match." +} +""" +SearchFaces(args) = rekognition("SearchFaces", args) + +""" + GetTextDetection() + +Gets the text detection results of a Amazon Rekognition Video analysis started by StartTextDetection. Text detection with Amazon Rekognition Video is an asynchronous operation. You start text detection by calling StartTextDetection which returns a job identifier (JobId) When the text detection operation finishes, Amazon Rekognition publishes a completion status to the Amazon Simple Notification Service topic registered in the initial call to StartTextDetection. To get the results of the text detection operation, first check that the status value published to the Amazon SNS topic is SUCCEEDED. if so, call GetTextDetection and pass the job identifier (JobId) from the initial call of StartLabelDetection. GetTextDetection returns an array of detected text (TextDetections) sorted by the time the text was detected, up to 50 words per frame of video. Each element of the array includes the detected text, the precentage confidence in the acuracy of the detected text, the time the text was detected, bounding box information for where the text was located, and unique identifiers for words and their lines. Use MaxResults parameter to limit the number of text detections returned. If there are more results than specified in MaxResults, the value of NextToken in the operation response contains a pagination token for getting the next set of results. To get the next page of results, call GetTextDetection and populate the NextToken request parameter with the token value returned from the previous call to GetTextDetection. + +Required Parameters +{ + "JobId": "Job identifier for the label detection operation for which you want results returned. You get the job identifer from an initial call to StartTextDetection." +} + +Optional Parameters +{ + "MaxResults": "Maximum number of results to return per paginated call. The largest value you can specify is 1000.", + "NextToken": "If the previous response was incomplete (because there are more labels to retrieve), Amazon Rekognition Video returns a pagination token in the response. You can use this pagination token to retrieve the next set of text." +} +""" +GetTextDetection(args) = rekognition("GetTextDetection", args) + +""" + GetFaceSearch() + +Gets the face search results for Amazon Rekognition Video face search started by StartFaceSearch. The search returns faces in a collection that match the faces of persons detected in a video. It also includes the time(s) that faces are matched in the video. Face search in a video is an asynchronous operation. You start face search by calling to StartFaceSearch which returns a job identifier (JobId). When the search operation finishes, Amazon Rekognition Video publishes a completion status to the Amazon Simple Notification Service topic registered in the initial call to StartFaceSearch. To get the search results, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call GetFaceSearch and pass the job identifier (JobId) from the initial call to StartFaceSearch. For more information, see Searching Faces in a Collection in the Amazon Rekognition Developer Guide. The search results are retured in an array, Persons, of PersonMatch objects. EachPersonMatch element contains details about the matching faces in the input collection, person information (facial attributes, bounding boxes, and person identifer) for the matched person, and the time the person was matched in the video. GetFaceSearch only returns the default facial attributes (BoundingBox, Confidence, Landmarks, Pose, and Quality). The other facial attributes listed in the Face object of the following response syntax are not returned. For more information, see FaceDetail in the Amazon Rekognition Developer Guide. By default, the Persons array is sorted by the time, in milliseconds from the start of the video, persons are matched. You can also sort by persons by specifying INDEX for the SORTBY input parameter. + +Required Parameters +{ + "JobId": "The job identifer for the search request. You get the job identifier from an initial call to StartFaceSearch." +} + +Optional Parameters +{ + "MaxResults": "Maximum number of results to return per paginated call. The largest value you can specify is 1000. If you specify a value greater than 1000, a maximum of 1000 results is returned. The default value is 1000.", + "NextToken": "If the previous response was incomplete (because there is more search results to retrieve), Amazon Rekognition Video returns a pagination token in the response. You can use this pagination token to retrieve the next set of search results. ", + "SortBy": "Sort to use for grouping faces in the response. Use TIMESTAMP to group faces by the time that they are recognized. Use INDEX to sort by recognized faces. " +} +""" +GetFaceSearch(args) = rekognition("GetFaceSearch", args) + +""" + SearchFacesByImage() + +For a given input image, first detects the largest face in the image, and then searches the specified collection for matching faces. The operation compares the features of the input face with faces in the specified collection. To search for all faces in an input image, you might first call the IndexFaces operation, and then use the face IDs returned in subsequent calls to the SearchFaces operation. You can also call the DetectFaces operation and use the bounding boxes in the response to make face crops, which then you can pass in to the SearchFacesByImage operation. You pass the input image either as base64-encoded image bytes or as a reference to an image in an Amazon S3 bucket. If you use the AWS CLI to call Amazon Rekognition operations, passing image bytes is not supported. The image must be either a PNG or JPEG formatted file. The response returns an array of faces that match, ordered by similarity score with the highest similarity first. More specifically, it is an array of metadata for each face match found. Along with the metadata, the response also includes a similarity indicating how similar the face is to the input face. In the response, the operation also returns the bounding box (and a confidence level that the bounding box contains a face) of the face that Amazon Rekognition used for the input image. For an example, Searching for a Face Using an Image in the Amazon Rekognition Developer Guide. The QualityFilter input parameter allows you to filter out detected faces that don’t meet a required quality bar. The quality bar is based on a variety of common use cases. Use QualityFilter to set the quality bar for filtering by specifying LOW, MEDIUM, or HIGH. If you do not want to filter detected faces, specify NONE. The default value is NONE. To use quality filtering, you need a collection associated with version 3 of the face model or higher. To get the version of the face model associated with a collection, call DescribeCollection. This operation requires permissions to perform the rekognition:SearchFacesByImage action. + +Required Parameters +{ + "CollectionId": "ID of the collection to search.", + "Image": "The input image as base64-encoded bytes or an S3 object. If you use the AWS CLI to call Amazon Rekognition operations, passing base64-encoded image bytes is not supported. If you are using an AWS SDK to call Amazon Rekognition, you might not need to base64-encode image bytes passed using the Bytes field. For more information, see Images in the Amazon Rekognition developer guide." +} + +Optional Parameters +{ + "FaceMatchThreshold": "(Optional) Specifies the minimum confidence in the face match to return. For example, don't return any matches where confidence in matches is less than 70%. The default value is 80%.", + "QualityFilter": "A filter that specifies a quality bar for how much filtering is done to identify faces. Filtered faces aren't searched for in the collection. If you specify AUTO, Amazon Rekognition chooses the quality bar. If you specify LOW, MEDIUM, or HIGH, filtering removes all faces that don’t meet the chosen quality bar. The quality bar is based on a variety of common use cases. Low-quality detections can occur for a number of reasons. Some examples are an object that's misidentified as a face, a face that's too blurry, or a face with a pose that's too extreme to use. If you specify NONE, no filtering is performed. The default value is NONE. To use quality filtering, the collection you are using must be associated with version 3 of the face model or higher.", + "MaxFaces": "Maximum number of faces to return. The operation returns the maximum number of faces with the highest confidence in the match." +} +""" +SearchFacesByImage(args) = rekognition("SearchFacesByImage", args) + +""" + GetPersonTracking() + +Gets the path tracking results of a Amazon Rekognition Video analysis started by StartPersonTracking. The person path tracking operation is started by a call to StartPersonTracking which returns a job identifier (JobId). When the operation finishes, Amazon Rekognition Video publishes a completion status to the Amazon Simple Notification Service topic registered in the initial call to StartPersonTracking. To get the results of the person path tracking operation, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call GetPersonTracking and pass the job identifier (JobId) from the initial call to StartPersonTracking. GetPersonTracking returns an array, Persons, of tracked persons and the time(s) their paths were tracked in the video. GetPersonTracking only returns the default facial attributes (BoundingBox, Confidence, Landmarks, Pose, and Quality). The other facial attributes listed in the Face object of the following response syntax are not returned. For more information, see FaceDetail in the Amazon Rekognition Developer Guide. By default, the array is sorted by the time(s) a person's path is tracked in the video. You can sort by tracked persons by specifying INDEX for the SortBy input parameter. Use the MaxResults parameter to limit the number of items returned. If there are more results than specified in MaxResults, the value of NextToken in the operation response contains a pagination token for getting the next set of results. To get the next page of results, call GetPersonTracking and populate the NextToken request parameter with the token value returned from the previous call to GetPersonTracking. + +Required Parameters +{ + "JobId": "The identifier for a job that tracks persons in a video. You get the JobId from a call to StartPersonTracking. " +} + +Optional Parameters +{ + "MaxResults": "Maximum number of results to return per paginated call. The largest value you can specify is 1000. If you specify a value greater than 1000, a maximum of 1000 results is returned. The default value is 1000.", + "NextToken": "If the previous response was incomplete (because there are more persons to retrieve), Amazon Rekognition Video returns a pagination token in the response. You can use this pagination token to retrieve the next set of persons. ", + "SortBy": "Sort to use for elements in the Persons array. Use TIMESTAMP to sort array elements by the time persons are detected. Use INDEX to sort by the tracked persons. If you sort by INDEX, the array elements for each person are sorted by detection confidence. The default sort is by TIMESTAMP." +} +""" +GetPersonTracking(args) = rekognition("GetPersonTracking", args) + +""" + DetectFaces() + +Detects faces within an image that is provided as input. DetectFaces detects the 100 largest faces in the image. For each face detected, the operation returns face details. These details include a bounding box of the face, a confidence value (that the bounding box contains a face), and a fixed set of attributes such as facial landmarks (for example, coordinates of eye and mouth), presence of beard, sunglasses, and so on. The face-detection algorithm is most effective on frontal faces. For non-frontal or obscured faces, the algorithm might not detect the faces or might detect faces with lower confidence. You pass the input image either as base64-encoded image bytes or as a reference to an image in an Amazon S3 bucket. If you use the AWS CLI to call Amazon Rekognition operations, passing image bytes is not supported. The image must be either a PNG or JPEG formatted file. This is a stateless API operation. That is, the operation does not persist any data. This operation requires permissions to perform the rekognition:DetectFaces action. + +Required Parameters +{ + "Image": "The input image as base64-encoded bytes or an S3 object. If you use the AWS CLI to call Amazon Rekognition operations, passing base64-encoded image bytes is not supported. If you are using an AWS SDK to call Amazon Rekognition, you might not need to base64-encode image bytes passed using the Bytes field. For more information, see Images in the Amazon Rekognition developer guide." +} + +Optional Parameters +{ + "Attributes": "An array of facial attributes you want to be returned. This can be the default list of attributes or all attributes. If you don't specify a value for Attributes or if you specify [\"DEFAULT\"], the API returns the following subset of facial attributes: BoundingBox, Confidence, Pose, Quality, and Landmarks. If you provide [\"ALL\"], all facial attributes are returned, but the operation takes longer to complete. If you provide both, [\"ALL\", \"DEFAULT\"], the service uses a logical AND operator to determine which attributes to return (in this case, all attributes). " +} +""" +DetectFaces(args) = rekognition("DetectFaces", args) + +""" + DescribeCollection() + +Describes the specified collection. You can use DescribeCollection to get information, such as the number of faces indexed into a collection and the version of the model used by the collection for face detection. For more information, see Describing a Collection in the Amazon Rekognition Developer Guide. + +Required Parameters +{ + "CollectionId": "The ID of the collection to describe." +} +""" +DescribeCollection(args) = rekognition("DescribeCollection", args) + +""" + DeleteStreamProcessor() + +Deletes the stream processor identified by Name. You assign the value for Name when you create the stream processor with CreateStreamProcessor. You might not be able to use the same name for a stream processor for a few seconds after calling DeleteStreamProcessor. + +Required Parameters +{ + "Name": "The name of the stream processor you want to delete." +} +""" +DeleteStreamProcessor(args) = rekognition("DeleteStreamProcessor", args) + +""" + DescribeStreamProcessor() + +Provides information about a stream processor created by CreateStreamProcessor. You can get information about the input and output streams, the input parameters for the face recognition being performed, and the current status of the stream processor. + +Required Parameters +{ + "Name": "Name of the stream processor for which you want information." +} +""" +DescribeStreamProcessor(args) = rekognition("DescribeStreamProcessor", args) + +""" + DetectText() + +Detects text in the input image and converts it into machine-readable text. Pass the input image as base64-encoded image bytes or as a reference to an image in an Amazon S3 bucket. If you use the AWS CLI to call Amazon Rekognition operations, you must pass it as a reference to an image in an Amazon S3 bucket. For the AWS CLI, passing image bytes is not supported. The image must be either a .png or .jpeg formatted file. The DetectText operation returns text in an array of TextDetection elements, TextDetections. Each TextDetection element provides information about a single word or line of text that was detected in the image. A word is one or more ISO basic latin script characters that are not separated by spaces. DetectText can detect up to 50 words in an image. A line is a string of equally spaced words. A line isn't necessarily a complete sentence. For example, a driver's license number is detected as a line. A line ends when there is no aligned text after it. Also, a line ends when there is a large gap between words, relative to the length of the words. This means, depending on the gap between words, Amazon Rekognition may detect multiple lines in text aligned in the same direction. Periods don't represent the end of a line. If a sentence spans multiple lines, the DetectText operation returns multiple lines. To determine whether a TextDetection element is a line of text or a word, use the TextDetection object Type field. To be detected, text must be within +/- 90 degrees orientation of the horizontal axis. For more information, see DetectText in the Amazon Rekognition Developer Guide. + +Required Parameters +{ + "Image": "The input image as base64-encoded bytes or an Amazon S3 object. If you use the AWS CLI to call Amazon Rekognition operations, you can't pass image bytes. If you are using an AWS SDK to call Amazon Rekognition, you might not need to base64-encode image bytes passed using the Bytes field. For more information, see Images in the Amazon Rekognition developer guide." +} + +Optional Parameters +{ + "Filters": "Optional parameters that let you set the criteria that the text must meet to be included in your response." +} +""" +DetectText(args) = rekognition("DetectText", args) + +""" + StartStreamProcessor() + +Starts processing a stream processor. You create a stream processor by calling CreateStreamProcessor. To tell StartStreamProcessor which stream processor to start, use the value of the Name field specified in the call to CreateStreamProcessor. + +Required Parameters +{ + "Name": "The name of the stream processor to start processing." +} +""" +StartStreamProcessor(args) = rekognition("StartStreamProcessor", args) + +""" + IndexFaces() + +Detects faces in the input image and adds them to the specified collection. Amazon Rekognition doesn't save the actual faces that are detected. Instead, the underlying detection algorithm first detects the faces in the input image. For each face, the algorithm extracts facial features into a feature vector, and stores it in the backend database. Amazon Rekognition uses feature vectors when it performs face match and search operations using the SearchFaces and SearchFacesByImage operations. For more information, see Adding Faces to a Collection in the Amazon Rekognition Developer Guide. To get the number of faces in a collection, call DescribeCollection. If you're using version 1.0 of the face detection model, IndexFaces indexes the 15 largest faces in the input image. Later versions of the face detection model index the 100 largest faces in the input image. If you're using version 4 or later of the face model, image orientation information is not returned in the OrientationCorrection field. To determine which version of the model you're using, call DescribeCollection and supply the collection ID. You can also get the model version from the value of FaceModelVersion in the response from IndexFaces For more information, see Model Versioning in the Amazon Rekognition Developer Guide. If you provide the optional ExternalImageID for the input image you provided, Amazon Rekognition associates this ID with all faces that it detects. When you call the ListFaces operation, the response returns the external ID. You can use this external image ID to create a client-side index to associate the faces with each image. You can then use the index to find all faces in an image. You can specify the maximum number of faces to index with the MaxFaces input parameter. This is useful when you want to index the largest faces in an image and don't want to index smaller faces, such as those belonging to people standing in the background. The QualityFilter input parameter allows you to filter out detected faces that don’t meet a required quality bar. The quality bar is based on a variety of common use cases. By default, IndexFaces chooses the quality bar that's used to filter faces. You can also explicitly choose the quality bar. Use QualityFilter, to set the quality bar by specifying LOW, MEDIUM, or HIGH. If you do not want to filter detected faces, specify NONE. To use quality filtering, you need a collection associated with version 3 of the face model or higher. To get the version of the face model associated with a collection, call DescribeCollection. Information about faces detected in an image, but not indexed, is returned in an array of UnindexedFace objects, UnindexedFaces. Faces aren't indexed for reasons such as: The number of faces detected exceeds the value of the MaxFaces request parameter. The face is too small compared to the image dimensions. The face is too blurry. The image is too dark. The face has an extreme pose. The face doesn’t have enough detail to be suitable for face search. In response, the IndexFaces operation returns an array of metadata for all detected faces, FaceRecords. This includes: The bounding box, BoundingBox, of the detected face. A confidence value, Confidence, which indicates the confidence that the bounding box contains a face. A face ID, FaceId, assigned by the service for each face that's detected and stored. An image ID, ImageId, assigned by the service for the input image. If you request all facial attributes (by using the detectionAttributes parameter), Amazon Rekognition returns detailed facial attributes, such as facial landmarks (for example, location of eye and mouth) and other facial attributes. If you provide the same image, specify the same collection, and use the same external ID in the IndexFaces operation, Amazon Rekognition doesn't save duplicate face metadata. The input image is passed either as base64-encoded image bytes, or as a reference to an image in an Amazon S3 bucket. If you use the AWS CLI to call Amazon Rekognition operations, passing image bytes isn't supported. The image must be formatted as a PNG or JPEG file. This operation requires permissions to perform the rekognition:IndexFaces action. + +Required Parameters +{ + "CollectionId": "The ID of an existing collection to which you want to add the faces that are detected in the input images.", + "Image": "The input image as base64-encoded bytes or an S3 object. If you use the AWS CLI to call Amazon Rekognition operations, passing base64-encoded image bytes isn't supported. If you are using an AWS SDK to call Amazon Rekognition, you might not need to base64-encode image bytes passed using the Bytes field. For more information, see Images in the Amazon Rekognition developer guide." +} + +Optional Parameters +{ + "ExternalImageId": "The ID you want to assign to all the faces detected in the image.", + "DetectionAttributes": "An array of facial attributes that you want to be returned. This can be the default list of attributes or all attributes. If you don't specify a value for Attributes or if you specify [\"DEFAULT\"], the API returns the following subset of facial attributes: BoundingBox, Confidence, Pose, Quality, and Landmarks. If you provide [\"ALL\"], all facial attributes are returned, but the operation takes longer to complete. If you provide both, [\"ALL\", \"DEFAULT\"], the service uses a logical AND operator to determine which attributes to return (in this case, all attributes). ", + "QualityFilter": "A filter that specifies a quality bar for how much filtering is done to identify faces. Filtered faces aren't indexed. If you specify AUTO, Amazon Rekognition chooses the quality bar. If you specify LOW, MEDIUM, or HIGH, filtering removes all faces that don’t meet the chosen quality bar. The default value is AUTO. The quality bar is based on a variety of common use cases. Low-quality detections can occur for a number of reasons. Some examples are an object that's misidentified as a face, a face that's too blurry, or a face with a pose that's too extreme to use. If you specify NONE, no filtering is performed. To use quality filtering, the collection you are using must be associated with version 3 of the face model or higher.", + "MaxFaces": "The maximum number of faces to index. The value of MaxFaces must be greater than or equal to 1. IndexFaces returns no more than 100 detected faces in an image, even if you specify a larger value for MaxFaces. If IndexFaces detects more faces than the value of MaxFaces, the faces with the lowest quality are filtered out first. If there are still more faces than the value of MaxFaces, the faces with the smallest bounding boxes are filtered out (up to the number that's needed to satisfy the value of MaxFaces). Information about the unindexed faces is available in the UnindexedFaces array. The faces that are returned by IndexFaces are sorted by the largest face bounding box size to the smallest size, in descending order. MaxFaces can be used with a collection associated with any version of the face model." +} +""" +IndexFaces(args) = rekognition("IndexFaces", args) + +""" + CreateProjectVersion() + +Creates a new version of a model and begins training. Models are managed as part of an Amazon Rekognition Custom Labels project. You can specify one training dataset and one testing dataset. The response from CreateProjectVersion is an Amazon Resource Name (ARN) for the version of the model. Training takes a while to complete. You can get the current status by calling DescribeProjectVersions. Once training has successfully completed, call DescribeProjectVersions to get the training results and evaluate the model. After evaluating the model, you start the model by calling StartProjectVersion. This operation requires permissions to perform the rekognition:CreateProjectVersion action. + +Required Parameters +{ + "TrainingData": "The dataset to use for training. ", + "OutputConfig": "The Amazon S3 location to store the results of training.", + "VersionName": "A name for the version of the model. This value must be unique.", + "TestingData": "The dataset to use for testing.", + "ProjectArn": "The ARN of the Amazon Rekognition Custom Labels project that manages the model that you want to train." +} +""" +CreateProjectVersion(args) = rekognition("CreateProjectVersion", args) + +""" + StopProjectVersion() + +Stops a running model. The operation might take a while to complete. To check the current status, call DescribeProjectVersions. + +Required Parameters +{ + "ProjectVersionArn": "The Amazon Resource Name (ARN) of the model version that you want to delete. This operation requires permissions to perform the rekognition:StopProjectVersion action." +} +""" +StopProjectVersion(args) = rekognition("StopProjectVersion", args) + +""" + StartCelebrityRecognition() + +Starts asynchronous recognition of celebrities in a stored video. Amazon Rekognition Video can detect celebrities in a video must be stored in an Amazon S3 bucket. Use Video to specify the bucket name and the filename of the video. StartCelebrityRecognition returns a job identifier (JobId) which you use to get the results of the analysis. When celebrity recognition analysis is finished, Amazon Rekognition Video publishes a completion status to the Amazon Simple Notification Service topic that you specify in NotificationChannel. To get the results of the celebrity recognition analysis, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call GetCelebrityRecognition and pass the job identifier (JobId) from the initial call to StartCelebrityRecognition. For more information, see Recognizing Celebrities in the Amazon Rekognition Developer Guide. + +Required Parameters +{ + "Video": "The video in which you want to recognize celebrities. The video must be stored in an Amazon S3 bucket." +} + +Optional Parameters +{ + "JobTag": "An identifier you specify that's returned in the completion notification that's published to your Amazon Simple Notification Service topic. For example, you can use JobTag to group related jobs and identify them in the completion notification.", + "ClientRequestToken": "Idempotent token used to identify the start request. If you use the same token with multiple StartCelebrityRecognition requests, the same JobId is returned. Use ClientRequestToken to prevent the same job from being accidently started more than once. ", + "NotificationChannel": "The Amazon SNS topic ARN that you want Amazon Rekognition Video to publish the completion status of the celebrity recognition analysis to." +} +""" +StartCelebrityRecognition(args) = rekognition("StartCelebrityRecognition", args) + +""" + DeleteCollection() + +Deletes the specified collection. Note that this operation removes all faces in the collection. For an example, see delete-collection-procedure. This operation requires permissions to perform the rekognition:DeleteCollection action. + +Required Parameters +{ + "CollectionId": "ID of the collection to delete." +} +""" +DeleteCollection(args) = rekognition("DeleteCollection", args) + +""" + ListFaces() + +Returns metadata for faces in the specified collection. This metadata includes information such as the bounding box coordinates, the confidence (that the bounding box contains a face), and face ID. For an example, see Listing Faces in a Collection in the Amazon Rekognition Developer Guide. This operation requires permissions to perform the rekognition:ListFaces action. + +Required Parameters +{ + "CollectionId": "ID of the collection from which to list the faces." +} + +Optional Parameters +{ + "MaxResults": "Maximum number of faces to return.", + "NextToken": "If the previous response was incomplete (because there is more data to retrieve), Amazon Rekognition returns a pagination token in the response. You can use this pagination token to retrieve the next set of faces." +} +""" +ListFaces(args) = rekognition("ListFaces", args) + +""" + StartPersonTracking() + +Starts the asynchronous tracking of a person's path in a stored video. Amazon Rekognition Video can track the path of people in a video stored in an Amazon S3 bucket. Use Video to specify the bucket name and the filename of the video. StartPersonTracking returns a job identifier (JobId) which you use to get the results of the operation. When label detection is finished, Amazon Rekognition publishes a completion status to the Amazon Simple Notification Service topic that you specify in NotificationChannel. To get the results of the person detection operation, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call GetPersonTracking and pass the job identifier (JobId) from the initial call to StartPersonTracking. + +Required Parameters +{ + "Video": "The video in which you want to detect people. The video must be stored in an Amazon S3 bucket." +} + +Optional Parameters +{ + "JobTag": "An identifier you specify that's returned in the completion notification that's published to your Amazon Simple Notification Service topic. For example, you can use JobTag to group related jobs and identify them in the completion notification.", + "ClientRequestToken": "Idempotent token used to identify the start request. If you use the same token with multiple StartPersonTracking requests, the same JobId is returned. Use ClientRequestToken to prevent the same job from being accidently started more than once. ", + "NotificationChannel": "The Amazon SNS topic ARN you want Amazon Rekognition Video to publish the completion status of the people detection operation to." +} +""" +StartPersonTracking(args) = rekognition("StartPersonTracking", args) + +""" + GetCelebrityInfo() + +Gets the name and additional information about a celebrity based on his or her Amazon Rekognition ID. The additional information is returned as an array of URLs. If there is no additional information about the celebrity, this list is empty. For more information, see Recognizing Celebrities in an Image in the Amazon Rekognition Developer Guide. This operation requires permissions to perform the rekognition:GetCelebrityInfo action. + +Required Parameters +{ + "Id": "The ID for the celebrity. You get the celebrity ID from a call to the RecognizeCelebrities operation, which recognizes celebrities in an image. " +} +""" +GetCelebrityInfo(args) = rekognition("GetCelebrityInfo", args) + +""" + ListStreamProcessors() + +Gets a list of stream processors that you have created with CreateStreamProcessor. + +Optional Parameters +{ + "MaxResults": "Maximum number of stream processors you want Amazon Rekognition Video to return in the response. The default is 1000. ", + "NextToken": "If the previous response was incomplete (because there are more stream processors to retrieve), Amazon Rekognition Video returns a pagination token in the response. You can use this pagination token to retrieve the next set of stream processors. " +} +""" +ListStreamProcessors() = rekognition("ListStreamProcessors") +ListStreamProcessors(args) = rekognition("ListStreamProcessors", args) + +""" + DeleteFaces() + +Deletes faces from a collection. You specify a collection ID and an array of face IDs to remove from the collection. This operation requires permissions to perform the rekognition:DeleteFaces action. + +Required Parameters +{ + "CollectionId": "Collection from which to remove the specific faces.", + "FaceIds": "An array of face IDs to delete." +} +""" +DeleteFaces(args) = rekognition("DeleteFaces", args) + +""" + DetectModerationLabels() + +Detects unsafe content in a specified JPEG or PNG format image. Use DetectModerationLabels to moderate images depending on your requirements. For example, you might want to filter images that contain nudity, but not images containing suggestive content. To filter images, use the labels returned by DetectModerationLabels to determine which types of content are appropriate. For information about moderation labels, see Detecting Unsafe Content in the Amazon Rekognition Developer Guide. You pass the input image either as base64-encoded image bytes or as a reference to an image in an Amazon S3 bucket. If you use the AWS CLI to call Amazon Rekognition operations, passing image bytes is not supported. The image must be either a PNG or JPEG formatted file. + +Required Parameters +{ + "Image": "The input image as base64-encoded bytes or an S3 object. If you use the AWS CLI to call Amazon Rekognition operations, passing base64-encoded image bytes is not supported. If you are using an AWS SDK to call Amazon Rekognition, you might not need to base64-encode image bytes passed using the Bytes field. For more information, see Images in the Amazon Rekognition developer guide." +} + +Optional Parameters +{ + "HumanLoopConfig": "Sets up the configuration for human evaluation, including the FlowDefinition the image will be sent to.", + "MinConfidence": "Specifies the minimum confidence level for the labels to return. Amazon Rekognition doesn't return any labels with a confidence level lower than this specified value. If you don't specify MinConfidence, the operation returns labels with confidence values greater than or equal to 50 percent." +} +""" +DetectModerationLabels(args) = rekognition("DetectModerationLabels", args) + +""" + StartContentModeration() + + Starts asynchronous detection of unsafe content in a stored video. Amazon Rekognition Video can moderate content in a video stored in an Amazon S3 bucket. Use Video to specify the bucket name and the filename of the video. StartContentModeration returns a job identifier (JobId) which you use to get the results of the analysis. When unsafe content analysis is finished, Amazon Rekognition Video publishes a completion status to the Amazon Simple Notification Service topic that you specify in NotificationChannel. To get the results of the unsafe content analysis, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call GetContentModeration and pass the job identifier (JobId) from the initial call to StartContentModeration. For more information, see Detecting Unsafe Content in the Amazon Rekognition Developer Guide. + +Required Parameters +{ + "Video": "The video in which you want to detect unsafe content. The video must be stored in an Amazon S3 bucket." +} + +Optional Parameters +{ + "JobTag": "An identifier you specify that's returned in the completion notification that's published to your Amazon Simple Notification Service topic. For example, you can use JobTag to group related jobs and identify them in the completion notification.", + "ClientRequestToken": "Idempotent token used to identify the start request. If you use the same token with multiple StartContentModeration requests, the same JobId is returned. Use ClientRequestToken to prevent the same job from being accidently started more than once. ", + "NotificationChannel": "The Amazon SNS topic ARN that you want Amazon Rekognition Video to publish the completion status of the unsafe content analysis to.", + "MinConfidence": "Specifies the minimum confidence that Amazon Rekognition must have in order to return a moderated content label. Confidence represents how certain Amazon Rekognition is that the moderated content is correctly identified. 0 is the lowest confidence. 100 is the highest confidence. Amazon Rekognition doesn't return any moderated content labels with a confidence level lower than this specified value. If you don't specify MinConfidence, GetContentModeration returns labels with confidence values greater than or equal to 50 percent." +} +""" +StartContentModeration(args) = rekognition("StartContentModeration", args) + +""" + StartProjectVersion() + +Starts the running of the version of a model. Starting a model takes a while to complete. To check the current state of the model, use DescribeProjectVersions. Once the model is running, you can detect custom labels in new images by calling DetectCustomLabels. You are charged for the amount of time that the model is running. To stop a running model, call StopProjectVersion. This operation requires permissions to perform the rekognition:StartProjectVersion action. + +Required Parameters +{ + "ProjectVersionArn": "The Amazon Resource Name(ARN) of the model version that you want to start.", + "MinInferenceUnits": "The minimum number of inference units to use. A single inference unit represents 1 hour of processing and can support up to 5 Transaction Pers Second (TPS). Use a higher number to increase the TPS throughput of your model. You are charged for the number of inference units that you use. " +} +""" +StartProjectVersion(args) = rekognition("StartProjectVersion", args) + +""" + DescribeProjects() + +Lists and gets information about your Amazon Rekognition Custom Labels projects. This operation requires permissions to perform the rekognition:DescribeProjects action. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return per paginated call. The largest value you can specify is 100. If you specify a value greater than 100, a ValidationException error occurs. The default value is 100. ", + "NextToken": "If the previous response was incomplete (because there is more results to retrieve), Amazon Rekognition Custom Labels returns a pagination token in the response. You can use this pagination token to retrieve the next set of results. " +} +""" +DescribeProjects() = rekognition("DescribeProjects") +DescribeProjects(args) = rekognition("DescribeProjects", args) + +""" + StartFaceDetection() + +Starts asynchronous detection of faces in a stored video. Amazon Rekognition Video can detect faces in a video stored in an Amazon S3 bucket. Use Video to specify the bucket name and the filename of the video. StartFaceDetection returns a job identifier (JobId) that you use to get the results of the operation. When face detection is finished, Amazon Rekognition Video publishes a completion status to the Amazon Simple Notification Service topic that you specify in NotificationChannel. To get the results of the face detection operation, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call GetFaceDetection and pass the job identifier (JobId) from the initial call to StartFaceDetection. For more information, see Detecting Faces in a Stored Video in the Amazon Rekognition Developer Guide. + +Required Parameters +{ + "Video": "The video in which you want to detect faces. The video must be stored in an Amazon S3 bucket." +} + +Optional Parameters +{ + "JobTag": "An identifier you specify that's returned in the completion notification that's published to your Amazon Simple Notification Service topic. For example, you can use JobTag to group related jobs and identify them in the completion notification.", + "ClientRequestToken": "Idempotent token used to identify the start request. If you use the same token with multiple StartFaceDetection requests, the same JobId is returned. Use ClientRequestToken to prevent the same job from being accidently started more than once. ", + "NotificationChannel": "The ARN of the Amazon SNS topic to which you want Amazon Rekognition Video to publish the completion status of the face detection operation.", + "FaceAttributes": "The face attributes you want returned. DEFAULT - The following subset of facial attributes are returned: BoundingBox, Confidence, Pose, Quality and Landmarks. ALL - All facial attributes are returned." +} +""" +StartFaceDetection(args) = rekognition("StartFaceDetection", args) + +""" + StartTextDetection() + +Starts asynchronous detection of text in a stored video. Amazon Rekognition Video can detect text in a video stored in an Amazon S3 bucket. Use Video to specify the bucket name and the filename of the video. StartTextDetection returns a job identifier (JobId) which you use to get the results of the operation. When text detection is finished, Amazon Rekognition Video publishes a completion status to the Amazon Simple Notification Service topic that you specify in NotificationChannel. To get the results of the text detection operation, first check that the status value published to the Amazon SNS topic is SUCCEEDED. if so, call GetTextDetection and pass the job identifier (JobId) from the initial call to StartTextDetection. + +Required Parameters +{ + "Video": "" +} + +Optional Parameters +{ + "JobTag": "An identifier returned in the completion status published by your Amazon Simple Notification Service topic. For example, you can use JobTag to group related jobs and identify them in the completion notification.", + "ClientRequestToken": "Idempotent token used to identify the start request. If you use the same token with multiple StartTextDetection requests, the same JobId is returned. Use ClientRequestToken to prevent the same job from being accidentaly started more than once.", + "NotificationChannel": "", + "Filters": "Optional parameters that let you set criteria the text must meet to be included in your response." +} +""" +StartTextDetection(args) = rekognition("StartTextDetection", args) + +""" + GetContentModeration() + +Gets the unsafe content analysis results for a Amazon Rekognition Video analysis started by StartContentModeration. Unsafe content analysis of a video is an asynchronous operation. You start analysis by calling StartContentModeration which returns a job identifier (JobId). When analysis finishes, Amazon Rekognition Video publishes a completion status to the Amazon Simple Notification Service topic registered in the initial call to StartContentModeration. To get the results of the unsafe content analysis, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call GetContentModeration and pass the job identifier (JobId) from the initial call to StartContentModeration. For more information, see Working with Stored Videos in the Amazon Rekognition Devlopers Guide. GetContentModeration returns detected unsafe content labels, and the time they are detected, in an array, ModerationLabels, of ContentModerationDetection objects. By default, the moderated labels are returned sorted by time, in milliseconds from the start of the video. You can also sort them by moderated label by specifying NAME for the SortBy input parameter. Since video analysis can return a large number of results, use the MaxResults parameter to limit the number of labels returned in a single call to GetContentModeration. If there are more results than specified in MaxResults, the value of NextToken in the operation response contains a pagination token for getting the next set of results. To get the next page of results, call GetContentModeration and populate the NextToken request parameter with the value of NextToken returned from the previous call to GetContentModeration. For more information, see Detecting Unsafe Content in the Amazon Rekognition Developer Guide. + +Required Parameters +{ + "JobId": "The identifier for the unsafe content job. Use JobId to identify the job in a subsequent call to GetContentModeration." +} + +Optional Parameters +{ + "MaxResults": "Maximum number of results to return per paginated call. The largest value you can specify is 1000. If you specify a value greater than 1000, a maximum of 1000 results is returned. The default value is 1000.", + "NextToken": "If the previous response was incomplete (because there is more data to retrieve), Amazon Rekognition returns a pagination token in the response. You can use this pagination token to retrieve the next set of unsafe content labels.", + "SortBy": "Sort to use for elements in the ModerationLabelDetections array. Use TIMESTAMP to sort array elements by the time labels are detected. Use NAME to alphabetically group elements for a label together. Within each label group, the array element are sorted by detection confidence. The default sort is by TIMESTAMP." +} +""" +GetContentModeration(args) = rekognition("GetContentModeration", args) + +""" + DescribeProjectVersions() + +Lists and describes the models in an Amazon Rekognition Custom Labels project. You can specify up to 10 model versions in ProjectVersionArns. If you don't specify a value, descriptions for all models are returned. This operation requires permissions to perform the rekognition:DescribeProjectVersions action. + +Required Parameters +{ + "ProjectArn": "The Amazon Resource Name (ARN) of the project that contains the models you want to describe." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return per paginated call. The largest value you can specify is 100. If you specify a value greater than 100, a ValidationException error occurs. The default value is 100. ", + "VersionNames": "A list of model version names that you want to describe. You can add up to 10 model version names to the list. If you don't specify a value, all model descriptions are returned.", + "NextToken": "If the previous response was incomplete (because there is more results to retrieve), Amazon Rekognition Custom Labels returns a pagination token in the response. You can use this pagination token to retrieve the next set of results. " +} +""" +DescribeProjectVersions(args) = rekognition("DescribeProjectVersions", args) + +""" + GetLabelDetection() + +Gets the label detection results of a Amazon Rekognition Video analysis started by StartLabelDetection. The label detection operation is started by a call to StartLabelDetection which returns a job identifier (JobId). When the label detection operation finishes, Amazon Rekognition publishes a completion status to the Amazon Simple Notification Service topic registered in the initial call to StartlabelDetection. To get the results of the label detection operation, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call GetLabelDetection and pass the job identifier (JobId) from the initial call to StartLabelDetection. GetLabelDetection returns an array of detected labels (Labels) sorted by the time the labels were detected. You can also sort by the label name by specifying NAME for the SortBy input parameter. The labels returned include the label name, the percentage confidence in the accuracy of the detected label, and the time the label was detected in the video. The returned labels also include bounding box information for common objects, a hierarchical taxonomy of detected labels, and the version of the label model used for detection. Use MaxResults parameter to limit the number of labels returned. If there are more results than specified in MaxResults, the value of NextToken in the operation response contains a pagination token for getting the next set of results. To get the next page of results, call GetlabelDetection and populate the NextToken request parameter with the token value returned from the previous call to GetLabelDetection. + +Required Parameters +{ + "JobId": "Job identifier for the label detection operation for which you want results returned. You get the job identifer from an initial call to StartlabelDetection." +} + +Optional Parameters +{ + "MaxResults": "Maximum number of results to return per paginated call. The largest value you can specify is 1000. If you specify a value greater than 1000, a maximum of 1000 results is returned. The default value is 1000.", + "NextToken": "If the previous response was incomplete (because there are more labels to retrieve), Amazon Rekognition Video returns a pagination token in the response. You can use this pagination token to retrieve the next set of labels. ", + "SortBy": "Sort to use for elements in the Labels array. Use TIMESTAMP to sort array elements by the time labels are detected. Use NAME to alphabetically group elements for a label together. Within each label group, the array element are sorted by detection confidence. The default sort is by TIMESTAMP." +} +""" +GetLabelDetection(args) = rekognition("GetLabelDetection", args) + +""" + StartLabelDetection() + +Starts asynchronous detection of labels in a stored video. Amazon Rekognition Video can detect labels in a video. Labels are instances of real-world entities. This includes objects like flower, tree, and table; events like wedding, graduation, and birthday party; concepts like landscape, evening, and nature; and activities like a person getting out of a car or a person skiing. The video must be stored in an Amazon S3 bucket. Use Video to specify the bucket name and the filename of the video. StartLabelDetection returns a job identifier (JobId) which you use to get the results of the operation. When label detection is finished, Amazon Rekognition Video publishes a completion status to the Amazon Simple Notification Service topic that you specify in NotificationChannel. To get the results of the label detection operation, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call GetLabelDetection and pass the job identifier (JobId) from the initial call to StartLabelDetection. + +Required Parameters +{ + "Video": "The video in which you want to detect labels. The video must be stored in an Amazon S3 bucket." +} + +Optional Parameters +{ + "JobTag": "An identifier you specify that's returned in the completion notification that's published to your Amazon Simple Notification Service topic. For example, you can use JobTag to group related jobs and identify them in the completion notification.", + "ClientRequestToken": "Idempotent token used to identify the start request. If you use the same token with multiple StartLabelDetection requests, the same JobId is returned. Use ClientRequestToken to prevent the same job from being accidently started more than once. ", + "NotificationChannel": "The Amazon SNS topic ARN you want Amazon Rekognition Video to publish the completion status of the label detection operation to. ", + "MinConfidence": "Specifies the minimum confidence that Amazon Rekognition Video must have in order to return a detected label. Confidence represents how certain Amazon Rekognition is that a label is correctly identified.0 is the lowest confidence. 100 is the highest confidence. Amazon Rekognition Video doesn't return any labels with a confidence level lower than this specified value. If you don't specify MinConfidence, the operation returns labels with confidence values greater than or equal to 50 percent." +} +""" +StartLabelDetection(args) = rekognition("StartLabelDetection", args) + +""" + GetFaceDetection() + +Gets face detection results for a Amazon Rekognition Video analysis started by StartFaceDetection. Face detection with Amazon Rekognition Video is an asynchronous operation. You start face detection by calling StartFaceDetection which returns a job identifier (JobId). When the face detection operation finishes, Amazon Rekognition Video publishes a completion status to the Amazon Simple Notification Service topic registered in the initial call to StartFaceDetection. To get the results of the face detection operation, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call GetFaceDetection and pass the job identifier (JobId) from the initial call to StartFaceDetection. GetFaceDetection returns an array of detected faces (Faces) sorted by the time the faces were detected. Use MaxResults parameter to limit the number of labels returned. If there are more results than specified in MaxResults, the value of NextToken in the operation response contains a pagination token for getting the next set of results. To get the next page of results, call GetFaceDetection and populate the NextToken request parameter with the token value returned from the previous call to GetFaceDetection. + +Required Parameters +{ + "JobId": "Unique identifier for the face detection job. The JobId is returned from StartFaceDetection." +} + +Optional Parameters +{ + "MaxResults": "Maximum number of results to return per paginated call. The largest value you can specify is 1000. If you specify a value greater than 1000, a maximum of 1000 results is returned. The default value is 1000.", + "NextToken": "If the previous response was incomplete (because there are more faces to retrieve), Amazon Rekognition Video returns a pagination token in the response. You can use this pagination token to retrieve the next set of faces." +} +""" +GetFaceDetection(args) = rekognition("GetFaceDetection", args) + +""" + RecognizeCelebrities() + +Returns an array of celebrities recognized in the input image. For more information, see Recognizing Celebrities in the Amazon Rekognition Developer Guide. RecognizeCelebrities returns the 100 largest faces in the image. It lists recognized celebrities in the CelebrityFaces array and unrecognized faces in the UnrecognizedFaces array. RecognizeCelebrities doesn't return celebrities whose faces aren't among the largest 100 faces in the image. For each celebrity recognized, RecognizeCelebrities returns a Celebrity object. The Celebrity object contains the celebrity name, ID, URL links to additional information, match confidence, and a ComparedFace object that you can use to locate the celebrity's face on the image. Amazon Rekognition doesn't retain information about which images a celebrity has been recognized in. Your application must store this information and use the Celebrity ID property as a unique identifier for the celebrity. If you don't store the celebrity name or additional information URLs returned by RecognizeCelebrities, you will need the ID to identify the celebrity in a call to the GetCelebrityInfo operation. You pass the input image either as base64-encoded image bytes or as a reference to an image in an Amazon S3 bucket. If you use the AWS CLI to call Amazon Rekognition operations, passing image bytes is not supported. The image must be either a PNG or JPEG formatted file. For an example, see Recognizing Celebrities in an Image in the Amazon Rekognition Developer Guide. This operation requires permissions to perform the rekognition:RecognizeCelebrities operation. + +Required Parameters +{ + "Image": "The input image as base64-encoded bytes or an S3 object. If you use the AWS CLI to call Amazon Rekognition operations, passing base64-encoded image bytes is not supported. If you are using an AWS SDK to call Amazon Rekognition, you might not need to base64-encode image bytes passed using the Bytes field. For more information, see Images in the Amazon Rekognition developer guide." +} +""" +RecognizeCelebrities(args) = rekognition("RecognizeCelebrities", args) + +""" + CompareFaces() + +Compares a face in the source input image with each of the 100 largest faces detected in the target input image. If the source image contains multiple faces, the service detects the largest face and compares it with each face detected in the target image. You pass the input and target images either as base64-encoded image bytes or as references to images in an Amazon S3 bucket. If you use the AWS CLI to call Amazon Rekognition operations, passing image bytes isn't supported. The image must be formatted as a PNG or JPEG file. In response, the operation returns an array of face matches ordered by similarity score in descending order. For each face match, the response provides a bounding box of the face, facial landmarks, pose details (pitch, role, and yaw), quality (brightness and sharpness), and confidence value (indicating the level of confidence that the bounding box contains a face). The response also provides a similarity score, which indicates how closely the faces match. By default, only faces with a similarity score of greater than or equal to 80% are returned in the response. You can change this value by specifying the SimilarityThreshold parameter. CompareFaces also returns an array of faces that don't match the source image. For each face, it returns a bounding box, confidence value, landmarks, pose details, and quality. The response also returns information about the face in the source image, including the bounding box of the face and confidence value. The QualityFilter input parameter allows you to filter out detected faces that don’t meet a required quality bar. The quality bar is based on a variety of common use cases. Use QualityFilter to set the quality bar by specifying LOW, MEDIUM, or HIGH. If you do not want to filter detected faces, specify NONE. The default value is NONE. To use quality filtering, you need a collection associated with version 3 of the face model or higher. To get the version of the face model associated with a collection, call DescribeCollection. If the image doesn't contain Exif metadata, CompareFaces returns orientation information for the source and target images. Use these values to display the images with the correct image orientation. If no faces are detected in the source or target images, CompareFaces returns an InvalidParameterException error. This is a stateless API operation. That is, data returned by this operation doesn't persist. For an example, see Comparing Faces in Images in the Amazon Rekognition Developer Guide. This operation requires permissions to perform the rekognition:CompareFaces action. + +Required Parameters +{ + "SourceImage": "The input image as base64-encoded bytes or an S3 object. If you use the AWS CLI to call Amazon Rekognition operations, passing base64-encoded image bytes is not supported. If you are using an AWS SDK to call Amazon Rekognition, you might not need to base64-encode image bytes passed using the Bytes field. For more information, see Images in the Amazon Rekognition developer guide.", + "TargetImage": "The target image as base64-encoded bytes or an S3 object. If you use the AWS CLI to call Amazon Rekognition operations, passing base64-encoded image bytes is not supported. If you are using an AWS SDK to call Amazon Rekognition, you might not need to base64-encode image bytes passed using the Bytes field. For more information, see Images in the Amazon Rekognition developer guide." +} + +Optional Parameters +{ + "QualityFilter": "A filter that specifies a quality bar for how much filtering is done to identify faces. Filtered faces aren't compared. If you specify AUTO, Amazon Rekognition chooses the quality bar. If you specify LOW, MEDIUM, or HIGH, filtering removes all faces that don’t meet the chosen quality bar. The quality bar is based on a variety of common use cases. Low-quality detections can occur for a number of reasons. Some examples are an object that's misidentified as a face, a face that's too blurry, or a face with a pose that's too extreme to use. If you specify NONE, no filtering is performed. The default value is NONE. To use quality filtering, the collection you are using must be associated with version 3 of the face model or higher.", + "SimilarityThreshold": "The minimum level of confidence in the face matches that a match must meet to be included in the FaceMatches array." +} +""" +CompareFaces(args) = rekognition("CompareFaces", args) + +""" + CreateCollection() + +Creates a collection in an AWS Region. You can add faces to the collection using the IndexFaces operation. For example, you might create collections, one for each of your application users. A user can then index faces using the IndexFaces operation and persist results in a specific collection. Then, a user can search the collection for faces in the user-specific container. When you create a collection, it is associated with the latest version of the face model version. Collection names are case-sensitive. This operation requires permissions to perform the rekognition:CreateCollection action. + +Required Parameters +{ + "CollectionId": "ID for the collection that you are creating." +} +""" +CreateCollection(args) = rekognition("CreateCollection", args) + +""" + DetectLabels() + +Detects instances of real-world entities within an image (JPEG or PNG) provided as input. This includes objects like flower, tree, and table; events like wedding, graduation, and birthday party; and concepts like landscape, evening, and nature. For an example, see Analyzing Images Stored in an Amazon S3 Bucket in the Amazon Rekognition Developer Guide. DetectLabels does not support the detection of activities. However, activity detection is supported for label detection in videos. For more information, see StartLabelDetection in the Amazon Rekognition Developer Guide. You pass the input image as base64-encoded image bytes or as a reference to an image in an Amazon S3 bucket. If you use the AWS CLI to call Amazon Rekognition operations, passing image bytes is not supported. The image must be either a PNG or JPEG formatted file. For each object, scene, and concept the API returns one or more labels. Each label provides the object name, and the level of confidence that the image contains the object. For example, suppose the input image has a lighthouse, the sea, and a rock. The response includes all three labels, one for each object. {Name: lighthouse, Confidence: 98.4629} {Name: rock,Confidence: 79.2097} {Name: sea,Confidence: 75.061} In the preceding example, the operation returns one label for each of the three objects. The operation can also return multiple labels for the same object in the image. For example, if the input image shows a flower (for example, a tulip), the operation might return the following three labels. {Name: flower,Confidence: 99.0562} {Name: plant,Confidence: 99.0562} {Name: tulip,Confidence: 99.0562} In this example, the detection algorithm more precisely identifies the flower as a tulip. In response, the API returns an array of labels. In addition, the response also includes the orientation correction. Optionally, you can specify MinConfidence to control the confidence threshold for the labels returned. The default is 55%. You can also add the MaxLabels parameter to limit the number of labels returned. If the object detected is a person, the operation doesn't provide the same facial details that the DetectFaces operation provides. DetectLabels returns bounding boxes for instances of common object labels in an array of Instance objects. An Instance object contains a BoundingBox object, for the location of the label on the image. It also includes the confidence by which the bounding box was detected. DetectLabels also returns a hierarchical taxonomy of detected labels. For example, a detected car might be assigned the label car. The label car has two parent labels: Vehicle (its parent) and Transportation (its grandparent). The response returns the entire list of ancestors for a label. Each ancestor is a unique label in the response. In the previous example, Car, Vehicle, and Transportation are returned as unique labels in the response. This is a stateless API operation. That is, the operation does not persist any data. This operation requires permissions to perform the rekognition:DetectLabels action. + +Required Parameters +{ + "Image": "The input image as base64-encoded bytes or an S3 object. If you use the AWS CLI to call Amazon Rekognition operations, passing image bytes is not supported. Images stored in an S3 Bucket do not need to be base64-encoded. If you are using an AWS SDK to call Amazon Rekognition, you might not need to base64-encode image bytes passed using the Bytes field. For more information, see Images in the Amazon Rekognition developer guide." +} + +Optional Parameters +{ + "MaxLabels": "Maximum number of labels you want the service to return in the response. The service returns the specified number of highest confidence labels. ", + "MinConfidence": "Specifies the minimum confidence level for the labels to return. Amazon Rekognition doesn't return any labels with confidence lower than this specified value. If MinConfidence is not specified, the operation returns labels with a confidence values greater than or equal to 55 percent." +} +""" +DetectLabels(args) = rekognition("DetectLabels", args) + +""" + CreateProject() + +Creates a new Amazon Rekognition Custom Labels project. A project is a logical grouping of resources (images, Labels, models) and operations (training, evaluation and detection). This operation requires permissions to perform the rekognition:CreateProject action. + +Required Parameters +{ + "ProjectName": "The name of the project to create." +} +""" +CreateProject(args) = rekognition("CreateProject", args) + +""" + GetCelebrityRecognition() + +Gets the celebrity recognition results for a Amazon Rekognition Video analysis started by StartCelebrityRecognition. Celebrity recognition in a video is an asynchronous operation. Analysis is started by a call to StartCelebrityRecognition which returns a job identifier (JobId). When the celebrity recognition operation finishes, Amazon Rekognition Video publishes a completion status to the Amazon Simple Notification Service topic registered in the initial call to StartCelebrityRecognition. To get the results of the celebrity recognition analysis, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call GetCelebrityDetection and pass the job identifier (JobId) from the initial call to StartCelebrityDetection. For more information, see Working With Stored Videos in the Amazon Rekognition Developer Guide. GetCelebrityRecognition returns detected celebrities and the time(s) they are detected in an array (Celebrities) of CelebrityRecognition objects. Each CelebrityRecognition contains information about the celebrity in a CelebrityDetail object and the time, Timestamp, the celebrity was detected. GetCelebrityRecognition only returns the default facial attributes (BoundingBox, Confidence, Landmarks, Pose, and Quality). The other facial attributes listed in the Face object of the following response syntax are not returned. For more information, see FaceDetail in the Amazon Rekognition Developer Guide. By default, the Celebrities array is sorted by time (milliseconds from the start of the video). You can also sort the array by celebrity by specifying the value ID in the SortBy input parameter. The CelebrityDetail object includes the celebrity identifer and additional information urls. If you don't store the additional information urls, you can get them later by calling GetCelebrityInfo with the celebrity identifer. No information is returned for faces not recognized as celebrities. Use MaxResults parameter to limit the number of labels returned. If there are more results than specified in MaxResults, the value of NextToken in the operation response contains a pagination token for getting the next set of results. To get the next page of results, call GetCelebrityDetection and populate the NextToken request parameter with the token value returned from the previous call to GetCelebrityRecognition. + +Required Parameters +{ + "JobId": "Job identifier for the required celebrity recognition analysis. You can get the job identifer from a call to StartCelebrityRecognition." +} + +Optional Parameters +{ + "MaxResults": "Maximum number of results to return per paginated call. The largest value you can specify is 1000. If you specify a value greater than 1000, a maximum of 1000 results is returned. The default value is 1000.", + "NextToken": "If the previous response was incomplete (because there is more recognized celebrities to retrieve), Amazon Rekognition Video returns a pagination token in the response. You can use this pagination token to retrieve the next set of celebrities. ", + "SortBy": "Sort to use for celebrities returned in Celebrities field. Specify ID to sort by the celebrity identifier, specify TIMESTAMP to sort by the time the celebrity was recognized." +} +""" +GetCelebrityRecognition(args) = rekognition("GetCelebrityRecognition", args) + +""" + CreateStreamProcessor() + +Creates an Amazon Rekognition stream processor that you can use to detect and recognize faces in a streaming video. Amazon Rekognition Video is a consumer of live video from Amazon Kinesis Video Streams. Amazon Rekognition Video sends analysis results to Amazon Kinesis Data Streams. You provide as input a Kinesis video stream (Input) and a Kinesis data stream (Output) stream. You also specify the face recognition criteria in Settings. For example, the collection containing faces that you want to recognize. Use Name to assign an identifier for the stream processor. You use Name to manage the stream processor. For example, you can start processing the source video by calling StartStreamProcessor with the Name field. After you have finished analyzing a streaming video, use StopStreamProcessor to stop processing. You can delete the stream processor by calling DeleteStreamProcessor. + +Required Parameters +{ + "Settings": "Face recognition input parameters to be used by the stream processor. Includes the collection to use for face recognition and the face attributes to detect.", + "Output": "Kinesis data stream stream to which Amazon Rekognition Video puts the analysis results. If you are using the AWS CLI, the parameter name is StreamProcessorOutput.", + "Name": "An identifier you assign to the stream processor. You can use Name to manage the stream processor. For example, you can get the current status of the stream processor by calling DescribeStreamProcessor. Name is idempotent. ", + "RoleArn": "ARN of the IAM role that allows access to the stream processor.", + "Input": "Kinesis video stream stream that provides the source streaming video. If you are using the AWS CLI, the parameter name is StreamProcessorInput." +} +""" +CreateStreamProcessor(args) = rekognition("CreateStreamProcessor", args) + +""" + ListCollections() + +Returns list of collection IDs in your account. If the result is truncated, the response also provides a NextToken that you can use in the subsequent request to fetch the next set of collection IDs. For an example, see Listing Collections in the Amazon Rekognition Developer Guide. This operation requires permissions to perform the rekognition:ListCollections action. + +Optional Parameters +{ + "MaxResults": "Maximum number of collection IDs to return. ", + "NextToken": "Pagination token from the previous response." +} +""" +ListCollections() = rekognition("ListCollections") +ListCollections(args) = rekognition("ListCollections", args) + +""" + DetectCustomLabels() + +Detects custom labels in a supplied image by using an Amazon Rekognition Custom Labels model. You specify which version of a model version to use by using the ProjectVersionArn input parameter. You pass the input image as base64-encoded image bytes or as a reference to an image in an Amazon S3 bucket. If you use the AWS CLI to call Amazon Rekognition operations, passing image bytes is not supported. The image must be either a PNG or JPEG formatted file. For each object that the model version detects on an image, the API returns a (CustomLabel) object in an array (CustomLabels). Each CustomLabel object provides the label name (Name), the level of confidence that the image contains the object (Confidence), and object location information, if it exists, for the label on the image (Geometry). During training model calculates a threshold value that determines if a prediction for a label is true. By default, DetectCustomLabels doesn't return labels whose confidence value is below the model's calculated threshold value. To filter labels that are returned, specify a value for MinConfidence that is higher than the model's calculated threshold. You can get the model's calculated threshold from the model's training results shown in the Amazon Rekognition Custom Labels console. To get all labels, regardless of confidence, specify a MinConfidence value of 0. You can also add the MaxResults parameter to limit the number of labels returned. This is a stateless API operation. That is, the operation does not persist any data. This operation requires permissions to perform the rekognition:DetectCustomLabels action. + +Required Parameters +{ + "ProjectVersionArn": "The ARN of the model version that you want to use.", + "Image": "" +} + +Optional Parameters +{ + "MaxResults": "Maximum number of results you want the service to return in the response. The service returns the specified number of highest confidence labels ranked from highest confidence to lowest.", + "MinConfidence": "Specifies the minimum confidence level for the labels to return. Amazon Rekognition doesn't return any labels with a confidence lower than this specified value. If you specify a value of 0, all labels are return, regardless of the default thresholds that the model version applies." +} +""" +DetectCustomLabels(args) = rekognition("DetectCustomLabels", args) + +""" + StopStreamProcessor() + +Stops a running stream processor that was created by CreateStreamProcessor. + +Required Parameters +{ + "Name": "The name of a stream processor created by CreateStreamProcessor." +} +""" +StopStreamProcessor(args) = rekognition("StopStreamProcessor", args) + +""" + StartFaceSearch() + +Starts the asynchronous search for faces in a collection that match the faces of persons detected in a stored video. The video must be stored in an Amazon S3 bucket. Use Video to specify the bucket name and the filename of the video. StartFaceSearch returns a job identifier (JobId) which you use to get the search results once the search has completed. When searching is finished, Amazon Rekognition Video publishes a completion status to the Amazon Simple Notification Service topic that you specify in NotificationChannel. To get the search results, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call GetFaceSearch and pass the job identifier (JobId) from the initial call to StartFaceSearch. For more information, see procedure-person-search-videos. + +Required Parameters +{ + "CollectionId": "ID of the collection that contains the faces you want to search for.", + "Video": "The video you want to search. The video must be stored in an Amazon S3 bucket. " +} + +Optional Parameters +{ + "FaceMatchThreshold": "The minimum confidence in the person match to return. For example, don't return any matches where confidence in matches is less than 70%. The default value is 80%.", + "ClientRequestToken": "Idempotent token used to identify the start request. If you use the same token with multiple StartFaceSearch requests, the same JobId is returned. Use ClientRequestToken to prevent the same job from being accidently started more than once. ", + "JobTag": "An identifier you specify that's returned in the completion notification that's published to your Amazon Simple Notification Service topic. For example, you can use JobTag to group related jobs and identify them in the completion notification.", + "NotificationChannel": "The ARN of the Amazon SNS topic to which you want Amazon Rekognition Video to publish the completion status of the search. " +} +""" +StartFaceSearch(args) = rekognition("StartFaceSearch", args) diff --git a/src/services/resource_groups.jl b/src/services/resource_groups.jl new file mode 100644 index 0000000000..9c3ca9f1e6 --- /dev/null +++ b/src/services/resource_groups.jl @@ -0,0 +1,177 @@ +include("../AWSServices.jl") +using .AWSServices: resource_groups + +""" + DeleteGroup() + +Deletes a specified resource group. Deleting a resource group does not delete resources that are members of the group; it only deletes the group structure. + +Required Parameters +{ + "GroupName": "The name of the resource group to delete." +} +""" +DeleteGroup(args) = resource_groups("DELETE", "/groups/{GroupName}", args) + +""" + GetGroup() + +Returns information about a specified resource group. + +Required Parameters +{ + "GroupName": "The name of the resource group." +} +""" +GetGroup(args) = resource_groups("GET", "/groups/{GroupName}", args) + +""" + Tag() + +Adds tags to a resource group with the specified ARN. Existing tags on a resource group are not changed if they are not specified in the request parameters. + +Required Parameters +{ + "Arn": "The ARN of the resource to which to add tags.", + "Tags": "The tags to add to the specified resource. A tag is a string-to-string map of key-value pairs. Tag keys can have a maximum character length of 128 characters, and tag values can have a maximum length of 256 characters." +} +""" +Tag(args) = resource_groups("PUT", "/resources/{Arn}/tags", args) + +""" + GetTags() + +Returns a list of tags that are associated with a resource group, specified by an ARN. + +Required Parameters +{ + "Arn": "The ARN of the resource group for which you want a list of tags. The resource must exist within the account you are using." +} +""" +GetTags(args) = resource_groups("GET", "/resources/{Arn}/tags", args) + +""" + Untag() + +Deletes specified tags from a specified resource. + +Required Parameters +{ + "Arn": "The ARN of the resource from which to remove tags.", + "Keys": "The keys of the tags to be removed." +} +""" +Untag(args) = resource_groups("PATCH", "/resources/{Arn}/tags", args) + +""" + UpdateGroupQuery() + +Updates the resource query of a group. + +Required Parameters +{ + "GroupName": "The name of the resource group for which you want to edit the query.", + "ResourceQuery": "The resource query that determines which AWS resources are members of the resource group." +} +""" +UpdateGroupQuery(args) = resource_groups("PUT", "/groups/{GroupName}/query", args) + +""" + ListGroupResources() + +Returns a list of ARNs of resources that are members of a specified resource group. + +Required Parameters +{ + "GroupName": "The name of the resource group." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of group member ARNs that are returned in a single call by ListGroupResources, in paginated output. By default, this number is 50.", + "NextToken": "The NextToken value that is returned in a paginated ListGroupResources request. To get the next page of results, run the call again, add the NextToken parameter, and specify the NextToken value.", + "Filters": "Filters, formatted as ResourceFilter objects, that you want to apply to a ListGroupResources operation. resource-type - Filter resources by their type. Specify up to five resource types in the format AWS::ServiceCode::ResourceType. For example, AWS::EC2::Instance, or AWS::S3::Bucket. " +} +""" +ListGroupResources(args) = resource_groups("POST", "/groups/{GroupName}/resource-identifiers-list", args) + +""" + GetGroupQuery() + +Returns the resource query associated with the specified resource group. + +Required Parameters +{ + "GroupName": "The name of the resource group." +} +""" +GetGroupQuery(args) = resource_groups("GET", "/groups/{GroupName}/query", args) + +""" + CreateGroup() + +Creates a group with a specified name, description, and resource query. + +Required Parameters +{ + "ResourceQuery": "The resource query that determines which AWS resources are members of this group.", + "Name": "The name of the group, which is the identifier of the group in other operations. A resource group name cannot be updated after it is created. A resource group name can have a maximum of 128 characters, including letters, numbers, hyphens, dots, and underscores. The name cannot start with AWS or aws; these are reserved. A resource group name must be unique within your account." +} + +Optional Parameters +{ + "Description": "The description of the resource group. Descriptions can have a maximum of 511 characters, including letters, numbers, hyphens, underscores, punctuation, and spaces.", + "Tags": "The tags to add to the group. A tag is a string-to-string map of key-value pairs. Tag keys can have a maximum character length of 128 characters, and tag values can have a maximum length of 256 characters." +} +""" +CreateGroup(args) = resource_groups("POST", "/groups", args) + +""" + ListGroups() + +Returns a list of existing resource groups in your account. + +Optional Parameters +{ + "MaxResults": "The maximum number of resource group results that are returned by ListGroups in paginated output. By default, this number is 50.", + "NextToken": "The NextToken value that is returned in a paginated ListGroups request. To get the next page of results, run the call again, add the NextToken parameter, and specify the NextToken value.", + "Filters": "Filters, formatted as GroupFilter objects, that you want to apply to a ListGroups operation. resource-type - Filter groups by resource type. Specify up to five resource types in the format AWS::ServiceCode::ResourceType. For example, AWS::EC2::Instance, or AWS::S3::Bucket. " +} +""" +ListGroups() = resource_groups("POST", "/groups-list") +ListGroups(args) = resource_groups("POST", "/groups-list", args) + +""" + UpdateGroup() + +Updates an existing group with a new or changed description. You cannot update the name of a resource group. + +Required Parameters +{ + "GroupName": "The name of the resource group for which you want to update its description." +} + +Optional Parameters +{ + "Description": "The description of the resource group. Descriptions can have a maximum of 511 characters, including letters, numbers, hyphens, underscores, punctuation, and spaces." +} +""" +UpdateGroup(args) = resource_groups("PUT", "/groups/{GroupName}", args) + +""" + SearchResources() + +Returns a list of AWS resource identifiers that matches a specified query. The query uses the same format as a resource query in a CreateGroup or UpdateGroupQuery operation. + +Required Parameters +{ + "ResourceQuery": "The search query, using the same formats that are supported for resource group definition." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of group member ARNs returned by SearchResources in paginated output. By default, this number is 50.", + "NextToken": "The NextToken value that is returned in a paginated SearchResources request. To get the next page of results, run the call again, add the NextToken parameter, and specify the NextToken value." +} +""" +SearchResources(args) = resource_groups("POST", "/resources/search", args) diff --git a/src/services/resource_groups_tagging_api.jl b/src/services/resource_groups_tagging_api.jl new file mode 100644 index 0000000000..303741513f --- /dev/null +++ b/src/services/resource_groups_tagging_api.jl @@ -0,0 +1,116 @@ +include("../AWSServices.jl") +using .AWSServices: resource_groups_tagging_api + +""" + GetTagValues() + +Returns all tag values for the specified key in the specified Region for the AWS account. + +Required Parameters +{ + "Key": "The key for which you want to list all existing values in the specified Region for the AWS account." +} + +Optional Parameters +{ + "PaginationToken": "A string that indicates that additional data is available. Leave this value empty for your initial request. If the response includes a PaginationToken, use that string for this value to request an additional page of data." +} +""" +GetTagValues(args) = resource_groups_tagging_api("GetTagValues", args) + +""" + GetComplianceSummary() + +Returns a table that shows counts of resources that are noncompliant with their tag policies. For more information on tag policies, see Tag Policies in the AWS Organizations User Guide. You can call this operation only from the organization's master account and from the us-east-1 Region. + +Optional Parameters +{ + "GroupBy": "A list of attributes to group the counts of noncompliant resources by. If supplied, the counts are sorted by those attributes.", + "TagKeyFilters": "A list of tag keys to limit the output by. If you use this parameter, the count of returned noncompliant resources includes only resources that have the specified tag keys.", + "MaxResults": "A limit that restricts the number of results that are returned per page.", + "RegionFilters": "A list of Regions to limit the output by. If you use this parameter, the count of returned noncompliant resources includes only resources in the specified Regions.", + "PaginationToken": "A string that indicates that additional data is available. Leave this value empty for your initial request. If the response includes a PaginationToken, use that string for this value to request an additional page of data.", + "ResourceTypeFilters": "The constraints on the resources that you want returned. The format of each resource type is service[:resourceType]. For example, specifying a resource type of ec2 returns all Amazon EC2 resources (which includes EC2 instances). Specifying a resource type of ec2:instance returns only EC2 instances. The string for each service name and resource type is the same as that embedded in a resource's Amazon Resource Name (ARN). Consult the AWS General Reference for the following: For a list of service name strings, see AWS Service Namespaces. For resource type strings, see Example ARNs. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces. You can specify multiple resource types by using an array. The array can include up to 100 items. Note that the length constraint requirement applies to each resource type filter. ", + "TargetIdFilters": "The target identifiers (usually, specific account IDs) to limit the output by. If you use this parameter, the count of returned noncompliant resources includes only resources with the specified target IDs." +} +""" +GetComplianceSummary() = resource_groups_tagging_api("GetComplianceSummary") +GetComplianceSummary(args) = resource_groups_tagging_api("GetComplianceSummary", args) + +""" + GetResources() + +Returns all the tagged or previously tagged resources that are located in the specified Region for the AWS account. Depending on what information you want returned, you can also specify the following: Filters that specify what tags and resource types you want returned. The response includes all tags that are associated with the requested resources. Information about compliance with the account's effective tag policy. For more information on tag policies, see Tag Policies in the AWS Organizations User Guide. You can check the PaginationToken response parameter to determine if a query is complete. Queries occasionally return fewer results on a page than allowed. The PaginationToken response parameter value is null only when there are no more results to display. + +Optional Parameters +{ + "TagsPerPage": "AWS recommends using ResourcesPerPage instead of this parameter. A limit that restricts the number of tags (key and value pairs) returned by GetResources in paginated output. A resource with no tags is counted as having one tag (one key and value pair). GetResources does not split a resource and its associated tags across pages. If the specified TagsPerPage would cause such a break, a PaginationToken is returned in place of the affected resource and its tags. Use that token in another request to get the remaining data. For example, if you specify a TagsPerPage of 100 and the account has 22 resources with 10 tags each (meaning that each resource has 10 key and value pairs), the output will consist of three pages. The first page displays the first 10 resources, each with its 10 tags. The second page displays the next 10 resources, each with its 10 tags. The third page displays the remaining 2 resources, each with its 10 tags. You can set TagsPerPage to a minimum of 100 items and the maximum of 500 items.", + "PaginationToken": "A string that indicates that additional data is available. Leave this value empty for your initial request. If the response includes a PaginationToken, use that string for this value to request an additional page of data.", + "TagFilters": "A list of TagFilters (keys and values). Each TagFilter specified must contain a key with values as optional. A request can include up to 50 keys, and each key can include up to 20 values. Note the following when deciding how to use TagFilters: If you do specify a TagFilter, the response returns only those resources that are currently associated with the specified tag. If you don't specify a TagFilter, the response includes all resources that were ever associated with tags. Resources that currently don't have associated tags are shown with an empty tag set, like this: \"Tags\": []. If you specify more than one filter in a single request, the response returns only those resources that satisfy all specified filters. If you specify a filter that contains more than one value for a key, the response returns resources that match any of the specified values for that key. If you don't specify any values for a key, the response returns resources that are tagged with that key irrespective of the value. For example, for filters: filter1 = {key1, {value1}}, filter2 = {key2, {value2,value3,value4}} , filter3 = {key3}: GetResources( {filter1} ) returns resources tagged with key1=value1 GetResources( {filter2} ) returns resources tagged with key2=value2 or key2=value3 or key2=value4 GetResources( {filter3} ) returns resources tagged with any tag containing key3 as its tag key, irrespective of its value GetResources( {filter1,filter2,filter3} ) returns resources tagged with ( key1=value1) and ( key2=value2 or key2=value3 or key2=value4) and (key3, irrespective of the value) ", + "IncludeComplianceDetails": "Specifies whether to include details regarding the compliance with the effective tag policy. Set this to true to determine whether resources are compliant with the tag policy and to get details.", + "ExcludeCompliantResources": "Specifies whether to exclude resources that are compliant with the tag policy. Set this to true if you are interested in retrieving information on noncompliant resources only. You can use this parameter only if the IncludeComplianceDetails parameter is also set to true.", + "ResourceTypeFilters": "The constraints on the resources that you want returned. The format of each resource type is service[:resourceType]. For example, specifying a resource type of ec2 returns all Amazon EC2 resources (which includes EC2 instances). Specifying a resource type of ec2:instance returns only EC2 instances. The string for each service name and resource type is the same as that embedded in a resource's Amazon Resource Name (ARN). Consult the AWS General Reference for the following: For a list of service name strings, see AWS Service Namespaces. For resource type strings, see Example ARNs. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces. You can specify multiple resource types by using an array. The array can include up to 100 items. Note that the length constraint requirement applies to each resource type filter. ", + "ResourcesPerPage": "A limit that restricts the number of resources returned by GetResources in paginated output. You can set ResourcesPerPage to a minimum of 1 item and the maximum of 100 items. " +} +""" +GetResources() = resource_groups_tagging_api("GetResources") +GetResources(args) = resource_groups_tagging_api("GetResources", args) + +""" + StartReportCreation() + +Generates a report that lists all tagged resources in accounts across your organization and tells whether each resource is compliant with the effective tag policy. Compliance data is refreshed daily. The generated report is saved to the following location: s3://example-bucket/AwsTagPolicies/o-exampleorgid/YYYY-MM-ddTHH:mm:ssZ/report.csv You can call this operation only from the organization's master account and from the us-east-1 Region. + +Required Parameters +{ + "S3Bucket": "The name of the Amazon S3 bucket where the report will be stored; for example: awsexamplebucket For more information on S3 bucket requirements, including an example bucket policy, see the example S3 bucket policy on this page." +} +""" +StartReportCreation(args) = resource_groups_tagging_api("StartReportCreation", args) + +""" + GetTagKeys() + +Returns all tag keys in the specified Region for the AWS account. + +Optional Parameters +{ + "PaginationToken": "A string that indicates that additional data is available. Leave this value empty for your initial request. If the response includes a PaginationToken, use that string for this value to request an additional page of data." +} +""" +GetTagKeys() = resource_groups_tagging_api("GetTagKeys") +GetTagKeys(args) = resource_groups_tagging_api("GetTagKeys", args) + +""" + DescribeReportCreation() + +Describes the status of the StartReportCreation operation. You can call this operation only from the organization's master account and from the us-east-1 Region. +""" +DescribeReportCreation() = resource_groups_tagging_api("DescribeReportCreation") +DescribeReportCreation(args) = resource_groups_tagging_api("DescribeReportCreation", args) + +""" + TagResources() + +Applies one or more tags to the specified resources. Note the following: Not all resources can have tags. For a list of services that support tagging, see this list. Each resource can have up to 50 tags. For other limits, see Tag Naming and Usage Conventions in the AWS General Reference. You can only tag resources that are located in the specified Region for the AWS account. To add tags to a resource, you need the necessary permissions for the service that the resource belongs to as well as permissions for adding tags. For more information, see this list. + +Required Parameters +{ + "ResourceARNList": "A list of ARNs. An ARN (Amazon Resource Name) uniquely identifies a resource. You can specify a minimum of 1 and a maximum of 20 ARNs (resources) to tag. An ARN can be set to a maximum of 1600 characters. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.", + "Tags": "The tags that you want to add to the specified resources. A tag consists of a key and a value that you define." +} +""" +TagResources(args) = resource_groups_tagging_api("TagResources", args) + +""" + UntagResources() + +Removes the specified tags from the specified resources. When you specify a tag key, the action removes both that key and its associated value. The operation succeeds even if you attempt to remove tags from a resource that were already removed. Note the following: To remove tags from a resource, you need the necessary permissions for the service that the resource belongs to as well as permissions for removing tags. For more information, see this list. You can only tag resources that are located in the specified Region for the AWS account. + +Required Parameters +{ + "ResourceARNList": "A list of ARNs. An ARN (Amazon Resource Name) uniquely identifies a resource. You can specify a minimum of 1 and a maximum of 20 ARNs (resources) to untag. An ARN can be set to a maximum of 1600 characters. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.", + "TagKeys": "A list of the tag keys that you want to remove from the specified resources." +} +""" +UntagResources(args) = resource_groups_tagging_api("UntagResources", args) diff --git a/src/services/robomaker.jl b/src/services/robomaker.jl new file mode 100644 index 0000000000..2fdf5a3fc3 --- /dev/null +++ b/src/services/robomaker.jl @@ -0,0 +1,613 @@ +include("../AWSServices.jl") +using .AWSServices: robomaker + +""" + CancelSimulationJobBatch() + +Cancels a simulation job batch. When you cancel a simulation job batch, you are also cancelling all of the active simulation jobs created as part of the batch. + +Required Parameters +{ + "batch": "The id of the batch to cancel." +} +""" +CancelSimulationJobBatch(args) = robomaker("POST", "/cancelSimulationJobBatch", args) + +""" + DescribeRobotApplication() + +Describes a robot application. + +Required Parameters +{ + "application": "The Amazon Resource Name (ARN) of the robot application." +} + +Optional Parameters +{ + "applicationVersion": "The version of the robot application to describe." +} +""" +DescribeRobotApplication(args) = robomaker("POST", "/describeRobotApplication", args) + +""" + ListRobots() + +Returns a list of robots. You can optionally provide filters to retrieve specific robots. + +Optional Parameters +{ + "filters": "Optional filters to limit results. The filter names status and fleetName are supported. When filtering, you must use the complete value of the filtered item. You can use up to three filters, but they must be for the same named item. For example, if you are looking for items with the status Registered or the status Available.", + "maxResults": "When this parameter is used, ListRobots only returns maxResults results in a single page along with a nextToken response element. The remaining results of the initial request can be seen by sending another ListRobots request with the returned nextToken value. This value can be between 1 and 200. If this parameter is not used, then ListRobots returns up to 200 results and a nextToken value if applicable. ", + "nextToken": "The nextToken value returned from a previous paginated ListRobots request where maxResults was used and the results exceeded the value of that parameter. Pagination continues from the end of the previous results that returned the nextToken value. " +} +""" +ListRobots() = robomaker("POST", "/listRobots") +ListRobots(args) = robomaker("POST", "/listRobots", args) + +""" + DescribeDeploymentJob() + +Describes a deployment job. + +Required Parameters +{ + "job": "The Amazon Resource Name (ARN) of the deployment job." +} +""" +DescribeDeploymentJob(args) = robomaker("POST", "/describeDeploymentJob", args) + +""" + CreateRobot() + +Creates a robot. + +Required Parameters +{ + "name": "The name for the robot.", + "architecture": "The target architecture of the robot.", + "greengrassGroupId": "The Greengrass group id." +} + +Optional Parameters +{ + "tags": "A map that contains tag keys and tag values that are attached to the robot." +} +""" +CreateRobot(args) = robomaker("POST", "/createRobot", args) + +""" + ListTagsForResource() + +Lists all tags on a AWS RoboMaker resource. + +Required Parameters +{ + "resourceArn": "The AWS RoboMaker Amazon Resource Name (ARN) with tags to be listed." +} +""" +ListTagsForResource(args) = robomaker("GET", "/tags/{resourceArn}", args) + +""" + CreateRobotApplicationVersion() + +Creates a version of a robot application. + +Required Parameters +{ + "application": "The application information for the robot application." +} + +Optional Parameters +{ + "currentRevisionId": "The current revision id for the robot application. If you provide a value and it matches the latest revision ID, a new version will be created." +} +""" +CreateRobotApplicationVersion(args) = robomaker("POST", "/createRobotApplicationVersion", args) + +""" + CreateSimulationJob() + +Creates a simulation job. After 90 days, simulation jobs expire and will be deleted. They will no longer be accessible. + +Required Parameters +{ + "maxJobDurationInSeconds": "The maximum simulation job duration in seconds (up to 14 days or 1,209,600 seconds. When maxJobDurationInSeconds is reached, the simulation job will status will transition to Completed.", + "iamRole": "The IAM role name that allows the simulation instance to call the AWS APIs that are specified in its associated policies on your behalf. This is how credentials are passed in to your simulation job. " +} + +Optional Parameters +{ + "simulationApplications": "The simulation application to use in the simulation job.", + "robotApplications": "The robot application to use in the simulation job.", + "vpcConfig": "If your simulation job accesses resources in a VPC, you provide this parameter identifying the list of security group IDs and subnet IDs. These must belong to the same VPC. You must provide at least one security group and one subnet ID. ", + "clientRequestToken": "Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.", + "failureBehavior": "The failure behavior the simulation job. Continue Restart the simulation job in the same host instance. Fail Stop the simulation job and terminate the instance. ", + "outputLocation": "Location for output files generated by the simulation job.", + "tags": "A map that contains tag keys and tag values that are attached to the simulation job.", + "dataSources": "Specify data sources to mount read-only files from S3 into your simulation. These files are available under /opt/robomaker/datasources/data_source_name. There is a limit of 100 files and a combined size of 25GB for all DataSourceConfig objects. ", + "loggingConfig": "The logging configuration." +} +""" +CreateSimulationJob(args) = robomaker("POST", "/createSimulationJob", args) + +""" + ListSimulationApplications() + +Returns a list of simulation applications. You can optionally provide filters to retrieve specific simulation applications. + +Optional Parameters +{ + "filters": "Optional list of filters to limit results. The filter name name is supported. When filtering, you must use the complete value of the filtered item. You can use up to three filters.", + "maxResults": "When this parameter is used, ListSimulationApplications only returns maxResults results in a single page along with a nextToken response element. The remaining results of the initial request can be seen by sending another ListSimulationApplications request with the returned nextToken value. This value can be between 1 and 100. If this parameter is not used, then ListSimulationApplications returns up to 100 results and a nextToken value if applicable. ", + "nextToken": "The nextToken value returned from a previous paginated ListSimulationApplications request where maxResults was used and the results exceeded the value of that parameter. Pagination continues from the end of the previous results that returned the nextToken value. ", + "versionQualifier": "The version qualifier of the simulation application." +} +""" +ListSimulationApplications() = robomaker("POST", "/listSimulationApplications") +ListSimulationApplications(args) = robomaker("POST", "/listSimulationApplications", args) + +""" + BatchDescribeSimulationJob() + +Describes one or more simulation jobs. + +Required Parameters +{ + "jobs": "A list of Amazon Resource Names (ARNs) of simulation jobs to describe." +} +""" +BatchDescribeSimulationJob(args) = robomaker("POST", "/batchDescribeSimulationJob", args) + +""" + ListRobotApplications() + +Returns a list of robot application. You can optionally provide filters to retrieve specific robot applications. + +Optional Parameters +{ + "filters": "Optional filters to limit results. The filter name name is supported. When filtering, you must use the complete value of the filtered item. You can use up to three filters.", + "maxResults": "When this parameter is used, ListRobotApplications only returns maxResults results in a single page along with a nextToken response element. The remaining results of the initial request can be seen by sending another ListRobotApplications request with the returned nextToken value. This value can be between 1 and 100. If this parameter is not used, then ListRobotApplications returns up to 100 results and a nextToken value if applicable. ", + "nextToken": "The nextToken value returned from a previous paginated ListRobotApplications request where maxResults was used and the results exceeded the value of that parameter. Pagination continues from the end of the previous results that returned the nextToken value. ", + "versionQualifier": "The version qualifier of the robot application." +} +""" +ListRobotApplications() = robomaker("POST", "/listRobotApplications") +ListRobotApplications(args) = robomaker("POST", "/listRobotApplications", args) + +""" + SyncDeploymentJob() + +Syncrhonizes robots in a fleet to the latest deployment. This is helpful if robots were added after a deployment. + +Required Parameters +{ + "fleet": "The target fleet for the synchronization.", + "clientRequestToken": "Unique, case-sensitive identifier that you provide to ensure the idempotency of the request." +} +""" +SyncDeploymentJob(args) = robomaker("POST", "/syncDeploymentJob", args) + +""" + DescribeFleet() + +Describes a fleet. + +Required Parameters +{ + "fleet": "The Amazon Resource Name (ARN) of the fleet." +} +""" +DescribeFleet(args) = robomaker("POST", "/describeFleet", args) + +""" + CancelDeploymentJob() + +Cancels the specified deployment job. + +Required Parameters +{ + "job": "The deployment job ARN to cancel." +} +""" +CancelDeploymentJob(args) = robomaker("POST", "/cancelDeploymentJob", args) + +""" + ListDeploymentJobs() + +Returns a list of deployment jobs for a fleet. You can optionally provide filters to retrieve specific deployment jobs. + +Optional Parameters +{ + "filters": "Optional filters to limit results. The filter names status and fleetName are supported. When filtering, you must use the complete value of the filtered item. You can use up to three filters, but they must be for the same named item. For example, if you are looking for items with the status InProgress or the status Pending.", + "maxResults": "When this parameter is used, ListDeploymentJobs only returns maxResults results in a single page along with a nextToken response element. The remaining results of the initial request can be seen by sending another ListDeploymentJobs request with the returned nextToken value. This value can be between 1 and 200. If this parameter is not used, then ListDeploymentJobs returns up to 200 results and a nextToken value if applicable. ", + "nextToken": "The nextToken value returned from a previous paginated ListDeploymentJobs request where maxResults was used and the results exceeded the value of that parameter. Pagination continues from the end of the previous results that returned the nextToken value. " +} +""" +ListDeploymentJobs() = robomaker("POST", "/listDeploymentJobs") +ListDeploymentJobs(args) = robomaker("POST", "/listDeploymentJobs", args) + +""" + DeleteSimulationApplication() + +Deletes a simulation application. + +Required Parameters +{ + "application": "The application information for the simulation application to delete." +} + +Optional Parameters +{ + "applicationVersion": "The version of the simulation application to delete." +} +""" +DeleteSimulationApplication(args) = robomaker("POST", "/deleteSimulationApplication", args) + +""" + ListFleets() + +Returns a list of fleets. You can optionally provide filters to retrieve specific fleets. + +Optional Parameters +{ + "filters": "Optional filters to limit results. The filter name name is supported. When filtering, you must use the complete value of the filtered item. You can use up to three filters.", + "maxResults": "When this parameter is used, ListFleets only returns maxResults results in a single page along with a nextToken response element. The remaining results of the initial request can be seen by sending another ListFleets request with the returned nextToken value. This value can be between 1 and 200. If this parameter is not used, then ListFleets returns up to 200 results and a nextToken value if applicable. ", + "nextToken": "The nextToken value returned from a previous paginated ListFleets request where maxResults was used and the results exceeded the value of that parameter. Pagination continues from the end of the previous results that returned the nextToken value. This token should be treated as an opaque identifier that is only used to retrieve the next items in a list and not for other programmatic purposes. " +} +""" +ListFleets() = robomaker("POST", "/listFleets") +ListFleets(args) = robomaker("POST", "/listFleets", args) + +""" + DeleteRobot() + +Deletes a robot. + +Required Parameters +{ + "robot": "The Amazon Resource Name (ARN) of the robot." +} +""" +DeleteRobot(args) = robomaker("POST", "/deleteRobot", args) + +""" + ListSimulationJobs() + +Returns a list of simulation jobs. You can optionally provide filters to retrieve specific simulation jobs. + +Optional Parameters +{ + "filters": "Optional filters to limit results. The filter names status and simulationApplicationName and robotApplicationName are supported. When filtering, you must use the complete value of the filtered item. You can use up to three filters, but they must be for the same named item. For example, if you are looking for items with the status Preparing or the status Running.", + "maxResults": "When this parameter is used, ListSimulationJobs only returns maxResults results in a single page along with a nextToken response element. The remaining results of the initial request can be seen by sending another ListSimulationJobs request with the returned nextToken value. This value can be between 1 and 1000. If this parameter is not used, then ListSimulationJobs returns up to 1000 results and a nextToken value if applicable. ", + "nextToken": "The nextToken value returned from a previous paginated ListSimulationJobs request where maxResults was used and the results exceeded the value of that parameter. Pagination continues from the end of the previous results that returned the nextToken value. This token should be treated as an opaque identifier that is only used to retrieve the next items in a list and not for other programmatic purposes. " +} +""" +ListSimulationJobs() = robomaker("POST", "/listSimulationJobs") +ListSimulationJobs(args) = robomaker("POST", "/listSimulationJobs", args) + +""" + RestartSimulationJob() + +Restarts a running simulation job. + +Required Parameters +{ + "job": "The Amazon Resource Name (ARN) of the simulation job." +} +""" +RestartSimulationJob(args) = robomaker("POST", "/restartSimulationJob", args) + +""" + CreateRobotApplication() + +Creates a robot application. + +Required Parameters +{ + "name": "The name of the robot application.", + "sources": "The sources of the robot application.", + "robotSoftwareSuite": "The robot software suite (ROS distribuition) used by the robot application." +} + +Optional Parameters +{ + "tags": "A map that contains tag keys and tag values that are attached to the robot application." +} +""" +CreateRobotApplication(args) = robomaker("POST", "/createRobotApplication", args) + +""" + CancelSimulationJob() + +Cancels the specified simulation job. + +Required Parameters +{ + "job": "The simulation job ARN to cancel." +} +""" +CancelSimulationJob(args) = robomaker("POST", "/cancelSimulationJob", args) + +""" + RegisterRobot() + +Registers a robot with a fleet. + +Required Parameters +{ + "robot": "The Amazon Resource Name (ARN) of the robot.", + "fleet": "The Amazon Resource Name (ARN) of the fleet." +} +""" +RegisterRobot(args) = robomaker("POST", "/registerRobot", args) + +""" + DeregisterRobot() + +Deregisters a robot. + +Required Parameters +{ + "robot": "The Amazon Resource Name (ARN) of the robot.", + "fleet": "The Amazon Resource Name (ARN) of the fleet." +} +""" +DeregisterRobot(args) = robomaker("POST", "/deregisterRobot", args) + +""" + StartSimulationJobBatch() + +Starts a new simulation job batch. The batch is defined using one or more SimulationJobRequest objects. + +Required Parameters +{ + "createSimulationJobRequests": "A list of simulation job requests to create in the batch." +} + +Optional Parameters +{ + "clientRequestToken": "Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.", + "batchPolicy": "The batch policy.", + "tags": "A map that contains tag keys and tag values that are attached to the deployment job batch." +} +""" +StartSimulationJobBatch(args) = robomaker("POST", "/startSimulationJobBatch", args) + +""" + TagResource() + +Adds or edits tags for a AWS RoboMaker resource. Each tag consists of a tag key and a tag value. Tag keys and tag values are both required, but tag values can be empty strings. For information about the rules that apply to tag keys and tag values, see User-Defined Tag Restrictions in the AWS Billing and Cost Management User Guide. + +Required Parameters +{ + "resourceArn": "The Amazon Resource Name (ARN) of the AWS RoboMaker resource you are tagging.", + "tags": "A map that contains tag keys and tag values that are attached to the resource." +} +""" +TagResource(args) = robomaker("POST", "/tags/{resourceArn}", args) + +""" + DescribeSimulationJob() + +Describes a simulation job. + +Required Parameters +{ + "job": "The Amazon Resource Name (ARN) of the simulation job to be described." +} +""" +DescribeSimulationJob(args) = robomaker("POST", "/describeSimulationJob", args) + +""" + CreateSimulationApplicationVersion() + +Creates a simulation application with a specific revision id. + +Required Parameters +{ + "application": "The application information for the simulation application." +} + +Optional Parameters +{ + "currentRevisionId": "The current revision id for the simulation application. If you provide a value and it matches the latest revision ID, a new version will be created." +} +""" +CreateSimulationApplicationVersion(args) = robomaker("POST", "/createSimulationApplicationVersion", args) + +""" + DeleteFleet() + +Deletes a fleet. + +Required Parameters +{ + "fleet": "The Amazon Resource Name (ARN) of the fleet." +} +""" +DeleteFleet(args) = robomaker("POST", "/deleteFleet", args) + +""" + CreateSimulationApplication() + +Creates a simulation application. + +Required Parameters +{ + "name": "The name of the simulation application.", + "simulationSoftwareSuite": "The simulation software suite used by the simulation application.", + "sources": "The sources of the simulation application.", + "robotSoftwareSuite": "The robot software suite (ROS distribution) used by the simulation application." +} + +Optional Parameters +{ + "renderingEngine": "The rendering engine for the simulation application.", + "tags": "A map that contains tag keys and tag values that are attached to the simulation application." +} +""" +CreateSimulationApplication(args) = robomaker("POST", "/createSimulationApplication", args) + +""" + UntagResource() + +Removes the specified tags from the specified AWS RoboMaker resource. To remove a tag, specify the tag key. To change the tag value of an existing tag key, use TagResource . + +Required Parameters +{ + "resourceArn": "The Amazon Resource Name (ARN) of the AWS RoboMaker resource you are removing tags.", + "tagKeys": "A map that contains tag keys and tag values that will be unattached from the resource." +} +""" +UntagResource(args) = robomaker("DELETE", "/tags/{resourceArn}", args) + +""" + UpdateSimulationApplication() + +Updates a simulation application. + +Required Parameters +{ + "application": "The application information for the simulation application.", + "simulationSoftwareSuite": "The simulation software suite used by the simulation application.", + "sources": "The sources of the simulation application.", + "robotSoftwareSuite": "Information about the robot software suite (ROS distribution)." +} + +Optional Parameters +{ + "currentRevisionId": "The revision id for the robot application.", + "renderingEngine": "The rendering engine for the simulation application." +} +""" +UpdateSimulationApplication(args) = robomaker("POST", "/updateSimulationApplication", args) + +""" + UpdateRobotApplication() + +Updates a robot application. + +Required Parameters +{ + "application": "The application information for the robot application.", + "sources": "The sources of the robot application.", + "robotSoftwareSuite": "The robot software suite (ROS distribution) used by the robot application." +} + +Optional Parameters +{ + "currentRevisionId": "The revision id for the robot application." +} +""" +UpdateRobotApplication(args) = robomaker("POST", "/updateRobotApplication", args) + +""" + DescribeSimulationJobBatch() + +Describes a simulation job batch. + +Required Parameters +{ + "batch": "The id of the batch to describe." +} +""" +DescribeSimulationJobBatch(args) = robomaker("POST", "/describeSimulationJobBatch", args) + +""" + DescribeRobot() + +Describes a robot. + +Required Parameters +{ + "robot": "The Amazon Resource Name (ARN) of the robot to be described." +} +""" +DescribeRobot(args) = robomaker("POST", "/describeRobot", args) + +""" + CreateDeploymentJob() + +Deploys a specific version of a robot application to robots in a fleet. The robot application must have a numbered applicationVersion for consistency reasons. To create a new version, use CreateRobotApplicationVersion or see Creating a Robot Application Version. After 90 days, deployment jobs expire and will be deleted. They will no longer be accessible. + +Required Parameters +{ + "fleet": "The Amazon Resource Name (ARN) of the fleet to deploy.", + "clientRequestToken": "Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.", + "deploymentApplicationConfigs": "The deployment application configuration." +} + +Optional Parameters +{ + "deploymentConfig": "The requested deployment configuration.", + "tags": "A map that contains tag keys and tag values that are attached to the deployment job." +} +""" +CreateDeploymentJob(args) = robomaker("POST", "/createDeploymentJob", args) + +""" + ListSimulationJobBatches() + +Returns a list simulation job batches. You can optionally provide filters to retrieve specific simulation batch jobs. + +Optional Parameters +{ + "filters": "Optional filters to limit results.", + "maxResults": "When this parameter is used, ListSimulationJobBatches only returns maxResults results in a single page along with a nextToken response element. The remaining results of the initial request can be seen by sending another ListSimulationJobBatches request with the returned nextToken value. ", + "nextToken": "The nextToken value returned from a previous paginated ListSimulationJobBatches request where maxResults was used and the results exceeded the value of that parameter. Pagination continues from the end of the previous results that returned the nextToken value. " +} +""" +ListSimulationJobBatches() = robomaker("POST", "/listSimulationJobBatches") +ListSimulationJobBatches(args) = robomaker("POST", "/listSimulationJobBatches", args) + +""" + CreateFleet() + +Creates a fleet, a logical group of robots running the same robot application. + +Required Parameters +{ + "name": "The name of the fleet." +} + +Optional Parameters +{ + "tags": "A map that contains tag keys and tag values that are attached to the fleet." +} +""" +CreateFleet(args) = robomaker("POST", "/createFleet", args) + +""" + DescribeSimulationApplication() + +Describes a simulation application. + +Required Parameters +{ + "application": "The application information for the simulation application." +} + +Optional Parameters +{ + "applicationVersion": "The version of the simulation application to describe." +} +""" +DescribeSimulationApplication(args) = robomaker("POST", "/describeSimulationApplication", args) + +""" + DeleteRobotApplication() + +Deletes a robot application. + +Required Parameters +{ + "application": "The Amazon Resource Name (ARN) of the the robot application." +} + +Optional Parameters +{ + "applicationVersion": "The version of the robot application to delete." +} +""" +DeleteRobotApplication(args) = robomaker("POST", "/deleteRobotApplication", args) diff --git a/src/services/route53resolver.jl b/src/services/route53resolver.jl new file mode 100644 index 0000000000..1a7e9a3c05 --- /dev/null +++ b/src/services/route53resolver.jl @@ -0,0 +1,324 @@ +include("../AWSServices.jl") +using .AWSServices: route53resolver + +""" + ListTagsForResource() + +Lists the tags that you associated with the specified resource. + +Required Parameters +{ + "ResourceArn": "The Amazon Resource Name (ARN) for the resource that you want to list tags for." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of tags that you want to return in the response to a ListTagsForResource request. If you don't specify a value for MaxResults, Resolver returns up to 100 tags.", + "NextToken": "For the first ListTagsForResource request, omit this value. If you have more than MaxResults tags, you can submit another ListTagsForResource request to get the next group of tags for the resource. In the next request, specify the value of NextToken from the previous response. " +} +""" +ListTagsForResource(args) = route53resolver("ListTagsForResource", args) + +""" + DisassociateResolverRule() + +Removes the association between a specified resolver rule and a specified VPC. If you disassociate a resolver rule from a VPC, Resolver stops forwarding DNS queries for the domain name that you specified in the resolver rule. + +Required Parameters +{ + "ResolverRuleId": "The ID of the resolver rule that you want to disassociate from the specified VPC.", + "VPCId": "The ID of the VPC that you want to disassociate the resolver rule from." +} +""" +DisassociateResolverRule(args) = route53resolver("DisassociateResolverRule", args) + +""" + CreateResolverRule() + +For DNS queries that originate in your VPCs, specifies which resolver endpoint the queries pass through, one domain name that you want to forward to your network, and the IP addresses of the DNS resolvers in your network. + +Required Parameters +{ + "DomainName": "DNS queries for this domain name are forwarded to the IP addresses that you specify in TargetIps. If a query matches multiple resolver rules (example.com and www.example.com), outbound DNS queries are routed using the resolver rule that contains the most specific domain name (www.example.com).", + "RuleType": "Specify FORWARD. Other resolver rule types aren't supported.", + "CreatorRequestId": "A unique string that identifies the request and that allows failed requests to be retried without the risk of executing the operation twice. CreatorRequestId can be any unique string, for example, a date/time stamp. " +} + +Optional Parameters +{ + "TargetIps": "The IPs that you want Resolver to forward DNS queries to. You can specify only IPv4 addresses. Separate IP addresses with a comma.", + "Tags": "A list of the tag keys and values that you want to associate with the endpoint.", + "ResolverEndpointId": "The ID of the outbound resolver endpoint that you want to use to route DNS queries to the IP addresses that you specify in TargetIps.", + "Name": "A friendly name that lets you easily find a rule in the Resolver dashboard in the Route 53 console." +} +""" +CreateResolverRule(args) = route53resolver("CreateResolverRule", args) + +""" + UpdateResolverRule() + +Updates settings for a specified resolver rule. ResolverRuleId is required, and all other parameters are optional. If you don't specify a parameter, it retains its current value. + +Required Parameters +{ + "ResolverRuleId": "The ID of the resolver rule that you want to update.", + "Config": "The new settings for the resolver rule." +} +""" +UpdateResolverRule(args) = route53resolver("UpdateResolverRule", args) + +""" + GetResolverRule() + +Gets information about a specified resolver rule, such as the domain name that the rule forwards DNS queries for and the ID of the outbound resolver endpoint that the rule is associated with. + +Required Parameters +{ + "ResolverRuleId": "The ID of the resolver rule that you want to get information about." +} +""" +GetResolverRule(args) = route53resolver("GetResolverRule", args) + +""" + ListResolverEndpoints() + +Lists all the resolver endpoints that were created using the current AWS account. + +Optional Parameters +{ + "MaxResults": "The maximum number of resolver endpoints that you want to return in the response to a ListResolverEndpoints request. If you don't specify a value for MaxResults, Resolver returns up to 100 resolver endpoints. ", + "NextToken": "For the first ListResolverEndpoints request, omit this value. If you have more than MaxResults resolver endpoints, you can submit another ListResolverEndpoints request to get the next group of resolver endpoints. In the next request, specify the value of NextToken from the previous response. ", + "Filters": "An optional specification to return a subset of resolver endpoints, such as all inbound resolver endpoints. If you submit a second or subsequent ListResolverEndpoints request and specify the NextToken parameter, you must use the same values for Filters, if any, as in the previous request. " +} +""" +ListResolverEndpoints() = route53resolver("ListResolverEndpoints") +ListResolverEndpoints(args) = route53resolver("ListResolverEndpoints", args) + +""" + DisassociateResolverEndpointIpAddress() + +Removes IP addresses from an inbound or an outbound resolver endpoint. If you want to remove more than one IP address, submit one DisassociateResolverEndpointIpAddress request for each IP address. To add an IP address to an endpoint, see AssociateResolverEndpointIpAddress. + +Required Parameters +{ + "IpAddress": "The IPv4 address that you want to remove from a resolver endpoint.", + "ResolverEndpointId": "The ID of the resolver endpoint that you want to disassociate an IP address from." +} +""" +DisassociateResolverEndpointIpAddress(args) = route53resolver("DisassociateResolverEndpointIpAddress", args) + +""" + TagResource() + +Adds one or more tags to a specified resource. + +Required Parameters +{ + "ResourceArn": "The Amazon Resource Name (ARN) for the resource that you want to add tags to. To get the ARN for a resource, use the applicable Get or List command: GetResolverEndpoint GetResolverRule GetResolverRuleAssociation ListResolverEndpoints ListResolverRuleAssociations ListResolverRules ", + "Tags": "The tags that you want to add to the specified resource." +} +""" +TagResource(args) = route53resolver("TagResource", args) + +""" + UntagResource() + +Removes one or more tags from a specified resource. + +Required Parameters +{ + "ResourceArn": "The Amazon Resource Name (ARN) for the resource that you want to remove tags from. To get the ARN for a resource, use the applicable Get or List command: GetResolverEndpoint GetResolverRule GetResolverRuleAssociation ListResolverEndpoints ListResolverRuleAssociations ListResolverRules ", + "TagKeys": "The tags that you want to remove to the specified resource." +} +""" +UntagResource(args) = route53resolver("UntagResource", args) + +""" + GetResolverEndpoint() + +Gets information about a specified resolver endpoint, such as whether it's an inbound or an outbound resolver endpoint, and the current status of the endpoint. + +Required Parameters +{ + "ResolverEndpointId": "The ID of the resolver endpoint that you want to get information about." +} +""" +GetResolverEndpoint(args) = route53resolver("GetResolverEndpoint", args) + +""" + AssociateResolverEndpointIpAddress() + +Adds IP addresses to an inbound or an outbound resolver endpoint. If you want to adding more than one IP address, submit one AssociateResolverEndpointIpAddress request for each IP address. To remove an IP address from an endpoint, see DisassociateResolverEndpointIpAddress. + +Required Parameters +{ + "IpAddress": "Either the IPv4 address that you want to add to a resolver endpoint or a subnet ID. If you specify a subnet ID, Resolver chooses an IP address for you from the available IPs in the specified subnet.", + "ResolverEndpointId": "The ID of the resolver endpoint that you want to associate IP addresses with." +} +""" +AssociateResolverEndpointIpAddress(args) = route53resolver("AssociateResolverEndpointIpAddress", args) + +""" + UpdateResolverEndpoint() + +Updates the name of an inbound or an outbound resolver endpoint. + +Required Parameters +{ + "ResolverEndpointId": "The ID of the resolver endpoint that you want to update." +} + +Optional Parameters +{ + "Name": "The name of the resolver endpoint that you want to update." +} +""" +UpdateResolverEndpoint(args) = route53resolver("UpdateResolverEndpoint", args) + +""" + CreateResolverEndpoint() + +Creates a resolver endpoint. There are two types of resolver endpoints, inbound and outbound: An inbound resolver endpoint forwards DNS queries to the DNS service for a VPC from your network or another VPC. An outbound resolver endpoint forwards DNS queries from the DNS service for a VPC to your network or another VPC. + +Required Parameters +{ + "SecurityGroupIds": "The ID of one or more security groups that you want to use to control access to this VPC. The security group that you specify must include one or more inbound rules (for inbound resolver endpoints) or outbound rules (for outbound resolver endpoints).", + "IpAddresses": "The subnets and IP addresses in your VPC that you want DNS queries to pass through on the way from your VPCs to your network (for outbound endpoints) or on the way from your network to your VPCs (for inbound resolver endpoints). ", + "Direction": "Specify the applicable value: INBOUND: Resolver forwards DNS queries to the DNS service for a VPC from your network or another VPC OUTBOUND: Resolver forwards DNS queries from the DNS service for a VPC to your network or another VPC ", + "CreatorRequestId": "A unique string that identifies the request and that allows failed requests to be retried without the risk of executing the operation twice. CreatorRequestId can be any unique string, for example, a date/time stamp. " +} + +Optional Parameters +{ + "Tags": "A list of the tag keys and values that you want to associate with the endpoint.", + "Name": "A friendly name that lets you easily find a configuration in the Resolver dashboard in the Route 53 console." +} +""" +CreateResolverEndpoint(args) = route53resolver("CreateResolverEndpoint", args) + +""" + ListResolverRuleAssociations() + +Lists the associations that were created between resolver rules and VPCs using the current AWS account. + +Optional Parameters +{ + "MaxResults": "The maximum number of rule associations that you want to return in the response to a ListResolverRuleAssociations request. If you don't specify a value for MaxResults, Resolver returns up to 100 rule associations. ", + "NextToken": "For the first ListResolverRuleAssociation request, omit this value. If you have more than MaxResults rule associations, you can submit another ListResolverRuleAssociation request to get the next group of rule associations. In the next request, specify the value of NextToken from the previous response. ", + "Filters": "An optional specification to return a subset of resolver rules, such as resolver rules that are associated with the same VPC ID. If you submit a second or subsequent ListResolverRuleAssociations request and specify the NextToken parameter, you must use the same values for Filters, if any, as in the previous request. " +} +""" +ListResolverRuleAssociations() = route53resolver("ListResolverRuleAssociations") +ListResolverRuleAssociations(args) = route53resolver("ListResolverRuleAssociations", args) + +""" + GetResolverRuleAssociation() + +Gets information about an association between a specified resolver rule and a VPC. You associate a resolver rule and a VPC using AssociateResolverRule. + +Required Parameters +{ + "ResolverRuleAssociationId": "The ID of the resolver rule association that you want to get information about." +} +""" +GetResolverRuleAssociation(args) = route53resolver("GetResolverRuleAssociation", args) + +""" + DeleteResolverRule() + +Deletes a resolver rule. Before you can delete a resolver rule, you must disassociate it from all the VPCs that you associated the resolver rule with. For more infomation, see DisassociateResolverRule. + +Required Parameters +{ + "ResolverRuleId": "The ID of the resolver rule that you want to delete." +} +""" +DeleteResolverRule(args) = route53resolver("DeleteResolverRule", args) + +""" + ListResolverEndpointIpAddresses() + +Gets the IP addresses for a specified resolver endpoint. + +Required Parameters +{ + "ResolverEndpointId": "The ID of the resolver endpoint that you want to get IP addresses for." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of IP addresses that you want to return in the response to a ListResolverEndpointIpAddresses request. If you don't specify a value for MaxResults, Resolver returns up to 100 IP addresses. ", + "NextToken": "For the first ListResolverEndpointIpAddresses request, omit this value. If the specified resolver endpoint has more than MaxResults IP addresses, you can submit another ListResolverEndpointIpAddresses request to get the next group of IP addresses. In the next request, specify the value of NextToken from the previous response. " +} +""" +ListResolverEndpointIpAddresses(args) = route53resolver("ListResolverEndpointIpAddresses", args) + +""" + ListResolverRules() + +Lists the resolver rules that were created using the current AWS account. + +Optional Parameters +{ + "MaxResults": "The maximum number of resolver rules that you want to return in the response to a ListResolverRules request. If you don't specify a value for MaxResults, Resolver returns up to 100 resolver rules.", + "NextToken": "For the first ListResolverRules request, omit this value. If you have more than MaxResults resolver rules, you can submit another ListResolverRules request to get the next group of resolver rules. In the next request, specify the value of NextToken from the previous response. ", + "Filters": "An optional specification to return a subset of resolver rules, such as all resolver rules that are associated with the same resolver endpoint. If you submit a second or subsequent ListResolverRules request and specify the NextToken parameter, you must use the same values for Filters, if any, as in the previous request. " +} +""" +ListResolverRules() = route53resolver("ListResolverRules") +ListResolverRules(args) = route53resolver("ListResolverRules", args) + +""" + AssociateResolverRule() + +Associates a resolver rule with a VPC. When you associate a rule with a VPC, Resolver forwards all DNS queries for the domain name that is specified in the rule and that originate in the VPC. The queries are forwarded to the IP addresses for the DNS resolvers that are specified in the rule. For more information about rules, see CreateResolverRule. + +Required Parameters +{ + "ResolverRuleId": "The ID of the resolver rule that you want to associate with the VPC. To list the existing resolver rules, use ListResolverRules.", + "VPCId": "The ID of the VPC that you want to associate the resolver rule with." +} + +Optional Parameters +{ + "Name": "A name for the association that you're creating between a resolver rule and a VPC." +} +""" +AssociateResolverRule(args) = route53resolver("AssociateResolverRule", args) + +""" + GetResolverRulePolicy() + +Gets information about a resolver rule policy. A resolver rule policy specifies the Resolver operations and resources that you want to allow another AWS account to be able to use. + +Required Parameters +{ + "Arn": "The ID of the resolver rule policy that you want to get information about." +} +""" +GetResolverRulePolicy(args) = route53resolver("GetResolverRulePolicy", args) + +""" + PutResolverRulePolicy() + +Specifies the Resolver operations and resources that you want to allow another AWS account to be able to use. + +Required Parameters +{ + "Arn": "The Amazon Resource Name (ARN) of the account that you want to grant permissions to.", + "ResolverRulePolicy": "An AWS Identity and Access Management policy statement that lists the permissions that you want to grant to another AWS account." +} +""" +PutResolverRulePolicy(args) = route53resolver("PutResolverRulePolicy", args) + +""" + DeleteResolverEndpoint() + +Deletes a resolver endpoint. The effect of deleting a resolver endpoint depends on whether it's an inbound or an outbound resolver endpoint: Inbound: DNS queries from your network or another VPC are no longer routed to the DNS service for the specified VPC. Outbound: DNS queries from a VPC are no longer routed to your network or to another VPC. + +Required Parameters +{ + "ResolverEndpointId": "The ID of the resolver endpoint that you want to delete." +} +""" +DeleteResolverEndpoint(args) = route53resolver("DeleteResolverEndpoint", args) diff --git a/src/services/route_53.jl b/src/services/route_53.jl new file mode 100644 index 0000000000..179ec00433 --- /dev/null +++ b/src/services/route_53.jl @@ -0,0 +1,917 @@ +include("../AWSServices.jl") +using .AWSServices: route_53 + +""" + ListVPCAssociationAuthorizations() + +Gets a list of the VPCs that were created by other accounts and that can be associated with a specified hosted zone because you've submitted one or more CreateVPCAssociationAuthorization requests. The response includes a VPCs element with a VPC child element for each VPC that can be associated with the hosted zone. + +Required Parameters +{ + "HostedZoneId": "The ID of the hosted zone for which you want a list of VPCs that can be associated with the hosted zone." +} + +Optional Parameters +{ + "MaxResults": " Optional: An integer that specifies the maximum number of VPCs that you want Amazon Route 53 to return. If you don't specify a value for MaxResults, Route 53 returns up to 50 VPCs per page.", + "NextToken": " Optional: If a response includes a NextToken element, there are more VPCs that can be associated with the specified hosted zone. To get the next page of results, submit another request, and include the value of NextToken from the response in the nexttoken parameter in another ListVPCAssociationAuthorizations request." +} +""" +ListVPCAssociationAuthorizations(HostedZoneId) = route_53("GET", "/2013-04-01/hostedzone/{Id}/authorizevpcassociation") +ListVPCAssociationAuthorizations(HostedZoneId, args) = route_53("GET", "/2013-04-01/hostedzone/{Id}/authorizevpcassociation", args) +ListVPCAssociationAuthorizations(a...; b...) = ListVPCAssociationAuthorizations(a..., b) + +""" + GetReusableDelegationSetLimit() + +Gets the maximum number of hosted zones that you can associate with the specified reusable delegation set. For the default limit, see Limits in the Amazon Route 53 Developer Guide. To request a higher limit, open a case. + +Required Parameters +{ + "DelegationSetId": "The ID of the delegation set that you want to get the limit for.", + "Type": "Specify MAX_ZONES_BY_REUSABLE_DELEGATION_SET to get the maximum number of hosted zones that you can associate with the specified reusable delegation set." +} +""" +GetReusableDelegationSetLimit(DelegationSetId, Type) = route_53("GET", "/2013-04-01/reusabledelegationsetlimit/{Id}/{Type}") +GetReusableDelegationSetLimit(DelegationSetId, Type, args) = route_53("GET", "/2013-04-01/reusabledelegationsetlimit/{Id}/{Type}", args) +GetReusableDelegationSetLimit(a...; b...) = GetReusableDelegationSetLimit(a..., b) + +""" + CreateTrafficPolicyVersion() + +Creates a new version of an existing traffic policy. When you create a new version of a traffic policy, you specify the ID of the traffic policy that you want to update and a JSON-formatted document that describes the new version. You use traffic policies to create multiple DNS resource record sets for one domain name (such as example.com) or one subdomain name (such as www.example.com). You can create a maximum of 1000 versions of a traffic policy. If you reach the limit and need to create another version, you'll need to start a new traffic policy. + +Required Parameters +{ + "Id": "The ID of the traffic policy for which you want to create a new version.", + "Document": "The definition of this version of the traffic policy, in JSON format. You specified the JSON in the CreateTrafficPolicyVersion request. For more information about the JSON format, see CreateTrafficPolicy." +} + +Optional Parameters +{ + "Comment": "The comment that you specified in the CreateTrafficPolicyVersion request, if any." +} +""" +CreateTrafficPolicyVersion(Id, Document) = route_53("POST", "/2013-04-01/trafficpolicy/{Id}") +CreateTrafficPolicyVersion(Id, Document, args) = route_53("POST", "/2013-04-01/trafficpolicy/{Id}", args) +CreateTrafficPolicyVersion(a...; b...) = CreateTrafficPolicyVersion(a..., b) + +""" + GetHealthCheckStatus() + +Gets status of a specified health check. + +Required Parameters +{ + "HealthCheckId": "The ID for the health check that you want the current status for. When you created the health check, CreateHealthCheck returned the ID in the response, in the HealthCheckId element. If you want to check the status of a calculated health check, you must use the Amazon Route 53 console or the CloudWatch console. You can't use GetHealthCheckStatus to get the status of a calculated health check. " +} +""" +GetHealthCheckStatus(HealthCheckId) = route_53("GET", "/2013-04-01/healthcheck/{HealthCheckId}/status") +GetHealthCheckStatus(HealthCheckId, args) = route_53("GET", "/2013-04-01/healthcheck/{HealthCheckId}/status", args) +GetHealthCheckStatus(a...; b...) = GetHealthCheckStatus(a..., b) + +""" + DeleteVPCAssociationAuthorization() + +Removes authorization to submit an AssociateVPCWithHostedZone request to associate a specified VPC with a hosted zone that was created by a different account. You must use the account that created the hosted zone to submit a DeleteVPCAssociationAuthorization request. Sending this request only prevents the AWS account that created the VPC from associating the VPC with the Amazon Route 53 hosted zone in the future. If the VPC is already associated with the hosted zone, DeleteVPCAssociationAuthorization won't disassociate the VPC from the hosted zone. If you want to delete an existing association, use DisassociateVPCFromHostedZone. + +Required Parameters +{ + "HostedZoneId": "When removing authorization to associate a VPC that was created by one AWS account with a hosted zone that was created with a different AWS account, the ID of the hosted zone.", + "VPC": "When removing authorization to associate a VPC that was created by one AWS account with a hosted zone that was created with a different AWS account, a complex type that includes the ID and region of the VPC." +} +""" +DeleteVPCAssociationAuthorization(HostedZoneId, VPC) = route_53("POST", "/2013-04-01/hostedzone/{Id}/deauthorizevpcassociation") +DeleteVPCAssociationAuthorization(HostedZoneId, VPC, args) = route_53("POST", "/2013-04-01/hostedzone/{Id}/deauthorizevpcassociation", args) +DeleteVPCAssociationAuthorization(a...; b...) = DeleteVPCAssociationAuthorization(a..., b) + +""" + ListHealthChecks() + +Retrieve a list of the health checks that are associated with the current AWS account. + +Optional Parameters +{ + "Marker": "If the value of IsTruncated in the previous response was true, you have more health checks. To get another group, submit another ListHealthChecks request. For the value of marker, specify the value of NextMarker from the previous response, which is the ID of the first health check that Amazon Route 53 will return if you submit another request. If the value of IsTruncated in the previous response was false, there are no more health checks to get.", + "MaxItems": "The maximum number of health checks that you want ListHealthChecks to return in response to the current request. Amazon Route 53 returns a maximum of 100 items. If you set MaxItems to a value greater than 100, Route 53 returns only the first 100 health checks. " +} +""" +ListHealthChecks() = route_53("GET", "/2013-04-01/healthcheck") +ListHealthChecks(args) = route_53("GET", "/2013-04-01/healthcheck", args) +ListHealthChecks(a...; b...) = ListHealthChecks(a..., b) + +""" + GetReusableDelegationSet() + +Retrieves information about a specified reusable delegation set, including the four name servers that are assigned to the delegation set. + +Required Parameters +{ + "Id": "The ID of the reusable delegation set that you want to get a list of name servers for." +} +""" +GetReusableDelegationSet(Id) = route_53("GET", "/2013-04-01/delegationset/{Id}") +GetReusableDelegationSet(Id, args) = route_53("GET", "/2013-04-01/delegationset/{Id}", args) +GetReusableDelegationSet(a...; b...) = GetReusableDelegationSet(a..., b) + +""" + ChangeTagsForResource() + +Adds, edits, or deletes tags for a health check or a hosted zone. For information about using tags for cost allocation, see Using Cost Allocation Tags in the AWS Billing and Cost Management User Guide. + +Required Parameters +{ + "ResourceType": "The type of the resource. The resource type for health checks is healthcheck. The resource type for hosted zones is hostedzone. ", + "ResourceId": "The ID of the resource for which you want to add, change, or delete tags." +} + +Optional Parameters +{ + "RemoveTagKeys": "A complex type that contains a list of the tags that you want to delete from the specified health check or hosted zone. You can specify up to 10 keys.", + "AddTags": "A complex type that contains a list of the tags that you want to add to the specified health check or hosted zone and/or the tags that you want to edit Value for. You can add a maximum of 10 tags to a health check or a hosted zone." +} +""" +ChangeTagsForResource(ResourceType, ResourceId) = route_53("POST", "/2013-04-01/tags/{ResourceType}/{ResourceId}") +ChangeTagsForResource(ResourceType, ResourceId, args) = route_53("POST", "/2013-04-01/tags/{ResourceType}/{ResourceId}", args) +ChangeTagsForResource(a...; b...) = ChangeTagsForResource(a..., b) + +""" + ListTrafficPolicyVersions() + +Gets information about all of the versions for a specified traffic policy. Traffic policy versions are listed in numerical order by VersionNumber. + +Required Parameters +{ + "Id": "Specify the value of Id of the traffic policy for which you want to list all versions." +} + +Optional Parameters +{ + "TrafficPolicyVersionMarker": "For your first request to ListTrafficPolicyVersions, don't include the TrafficPolicyVersionMarker parameter. If you have more traffic policy versions than the value of MaxItems, ListTrafficPolicyVersions returns only the first group of MaxItems versions. To get more traffic policy versions, submit another ListTrafficPolicyVersions request. For the value of TrafficPolicyVersionMarker, specify the value of TrafficPolicyVersionMarker in the previous response.", + "MaxItems": "The maximum number of traffic policy versions that you want Amazon Route 53 to include in the response body for this request. If the specified traffic policy has more than MaxItems versions, the value of IsTruncated in the response is true, and the value of the TrafficPolicyVersionMarker element is the ID of the first version that Route 53 will return if you submit another request." +} +""" +ListTrafficPolicyVersions(Id) = route_53("GET", "/2013-04-01/trafficpolicies/{Id}/versions") +ListTrafficPolicyVersions(Id, args) = route_53("GET", "/2013-04-01/trafficpolicies/{Id}/versions", args) +ListTrafficPolicyVersions(a...; b...) = ListTrafficPolicyVersions(a..., b) + +""" + DeleteHostedZone() + +Deletes a hosted zone. If the hosted zone was created by another service, such as AWS Cloud Map, see Deleting Public Hosted Zones That Were Created by Another Service in the Amazon Route 53 Developer Guide for information about how to delete it. (The process is the same for public and private hosted zones that were created by another service.) If you want to keep your domain registration but you want to stop routing internet traffic to your website or web application, we recommend that you delete resource record sets in the hosted zone instead of deleting the hosted zone. If you delete a hosted zone, you can't undelete it. You must create a new hosted zone and update the name servers for your domain registration, which can require up to 48 hours to take effect. (If you delegated responsibility for a subdomain to a hosted zone and you delete the child hosted zone, you must update the name servers in the parent hosted zone.) In addition, if you delete a hosted zone, someone could hijack the domain and route traffic to their own resources using your domain name. If you want to avoid the monthly charge for the hosted zone, you can transfer DNS service for the domain to a free DNS service. When you transfer DNS service, you have to update the name servers for the domain registration. If the domain is registered with Route 53, see UpdateDomainNameservers for information about how to replace Route 53 name servers with name servers for the new DNS service. If the domain is registered with another registrar, use the method provided by the registrar to update name servers for the domain registration. For more information, perform an internet search on "free DNS service." You can delete a hosted zone only if it contains only the default SOA record and NS resource record sets. If the hosted zone contains other resource record sets, you must delete them before you can delete the hosted zone. If you try to delete a hosted zone that contains other resource record sets, the request fails, and Route 53 returns a HostedZoneNotEmpty error. For information about deleting records from your hosted zone, see ChangeResourceRecordSets. To verify that the hosted zone has been deleted, do one of the following: Use the GetHostedZone action to request information about the hosted zone. Use the ListHostedZones action to get a list of the hosted zones associated with the current AWS account. + +Required Parameters +{ + "Id": "The ID of the hosted zone you want to delete." +} +""" +DeleteHostedZone(Id) = route_53("DELETE", "/2013-04-01/hostedzone/{Id}") +DeleteHostedZone(Id, args) = route_53("DELETE", "/2013-04-01/hostedzone/{Id}", args) +DeleteHostedZone(a...; b...) = DeleteHostedZone(a..., b) + +""" + ListTrafficPolicies() + +Gets information about the latest version for every traffic policy that is associated with the current AWS account. Policies are listed in the order that they were created in. + +Optional Parameters +{ + "MaxItems": "(Optional) The maximum number of traffic policies that you want Amazon Route 53 to return in response to this request. If you have more than MaxItems traffic policies, the value of IsTruncated in the response is true, and the value of TrafficPolicyIdMarker is the ID of the first traffic policy that Route 53 will return if you submit another request.", + "TrafficPolicyIdMarker": "(Conditional) For your first request to ListTrafficPolicies, don't include the TrafficPolicyIdMarker parameter. If you have more traffic policies than the value of MaxItems, ListTrafficPolicies returns only the first MaxItems traffic policies. To get the next group of policies, submit another request to ListTrafficPolicies. For the value of TrafficPolicyIdMarker, specify the value of TrafficPolicyIdMarker that was returned in the previous response." +} +""" +ListTrafficPolicies() = route_53("GET", "/2013-04-01/trafficpolicies") +ListTrafficPolicies(args) = route_53("GET", "/2013-04-01/trafficpolicies", args) +ListTrafficPolicies(a...; b...) = ListTrafficPolicies(a..., b) + +""" + GetQueryLoggingConfig() + +Gets information about a specified configuration for DNS query logging. For more information about DNS query logs, see CreateQueryLoggingConfig and Logging DNS Queries. + +Required Parameters +{ + "Id": "The ID of the configuration for DNS query logging that you want to get information about." +} +""" +GetQueryLoggingConfig(Id) = route_53("GET", "/2013-04-01/queryloggingconfig/{Id}") +GetQueryLoggingConfig(Id, args) = route_53("GET", "/2013-04-01/queryloggingconfig/{Id}", args) +GetQueryLoggingConfig(a...; b...) = GetQueryLoggingConfig(a..., b) + +""" + ListResourceRecordSets() + +Lists the resource record sets in a specified hosted zone. ListResourceRecordSets returns up to 100 resource record sets at a time in ASCII order, beginning at a position specified by the name and type elements. Sort order ListResourceRecordSets sorts results first by DNS name with the labels reversed, for example: com.example.www. Note the trailing dot, which can change the sort order when the record name contains characters that appear before . (decimal 46) in the ASCII table. These characters include the following: ! " # % & ' ( ) * + , - When multiple records have the same DNS name, ListResourceRecordSets sorts results by the record type. Specifying where to start listing records You can use the name and type elements to specify the resource record set that the list begins with: If you do not specify Name or Type The results begin with the first resource record set that the hosted zone contains. If you specify Name but not Type The results begin with the first resource record set in the list whose name is greater than or equal to Name. If you specify Type but not Name Amazon Route 53 returns the InvalidInput error. If you specify both Name and Type The results begin with the first resource record set in the list whose name is greater than or equal to Name, and whose type is greater than or equal to Type. Resource record sets that are PENDING This action returns the most current version of the records. This includes records that are PENDING, and that are not yet available on all Route 53 DNS servers. Changing resource record sets To ensure that you get an accurate listing of the resource record sets for a hosted zone at a point in time, do not submit a ChangeResourceRecordSets request while you're paging through the results of a ListResourceRecordSets request. If you do, some pages may display results without the latest changes while other pages display results with the latest changes. Displaying the next page of results If a ListResourceRecordSets command returns more than one page of results, the value of IsTruncated is true. To display the next page of results, get the values of NextRecordName, NextRecordType, and NextRecordIdentifier (if any) from the response. Then submit another ListResourceRecordSets request, and specify those values for StartRecordName, StartRecordType, and StartRecordIdentifier. + +Required Parameters +{ + "HostedZoneId": "The ID of the hosted zone that contains the resource record sets that you want to list." +} + +Optional Parameters +{ + "StartRecordName": "The first name in the lexicographic ordering of resource record sets that you want to list. If the specified record name doesn't exist, the results begin with the first resource record set that has a name greater than the value of name.", + "MaxItems": "(Optional) The maximum number of resource records sets to include in the response body for this request. If the response includes more than maxitems resource record sets, the value of the IsTruncated element in the response is true, and the values of the NextRecordName and NextRecordType elements in the response identify the first resource record set in the next group of maxitems resource record sets.", + "StartRecordType": "The type of resource record set to begin the record listing from. Valid values for basic resource record sets: A | AAAA | CAA | CNAME | MX | NAPTR | NS | PTR | SOA | SPF | SRV | TXT Values for weighted, latency, geolocation, and failover resource record sets: A | AAAA | CAA | CNAME | MX | NAPTR | PTR | SPF | SRV | TXT Values for alias resource record sets: API Gateway custom regional API or edge-optimized API: A CloudFront distribution: A or AAAA Elastic Beanstalk environment that has a regionalized subdomain: A Elastic Load Balancing load balancer: A | AAAA S3 bucket: A VPC interface VPC endpoint: A Another resource record set in this hosted zone: The type of the resource record set that the alias references. Constraint: Specifying type without specifying name returns an InvalidInput error.", + "StartRecordIdentifier": " Resource record sets that have a routing policy other than simple: If results were truncated for a given DNS name and type, specify the value of NextRecordIdentifier from the previous response to get the next resource record set that has the current DNS name and type." +} +""" +ListResourceRecordSets(HostedZoneId) = route_53("GET", "/2013-04-01/hostedzone/{Id}/rrset") +ListResourceRecordSets(HostedZoneId, args) = route_53("GET", "/2013-04-01/hostedzone/{Id}/rrset", args) +ListResourceRecordSets(a...; b...) = ListResourceRecordSets(a..., b) + +""" + DeleteTrafficPolicy() + +Deletes a traffic policy. + +Required Parameters +{ + "Id": "The ID of the traffic policy that you want to delete.", + "Version": "The version number of the traffic policy that you want to delete." +} +""" +DeleteTrafficPolicy(Id, Version) = route_53("DELETE", "/2013-04-01/trafficpolicy/{Id}/{Version}") +DeleteTrafficPolicy(Id, Version, args) = route_53("DELETE", "/2013-04-01/trafficpolicy/{Id}/{Version}", args) +DeleteTrafficPolicy(a...; b...) = DeleteTrafficPolicy(a..., b) + +""" + DeleteTrafficPolicyInstance() + +Deletes a traffic policy instance and all of the resource record sets that Amazon Route 53 created when you created the instance. In the Route 53 console, traffic policy instances are known as policy records. + +Required Parameters +{ + "Id": "The ID of the traffic policy instance that you want to delete. When you delete a traffic policy instance, Amazon Route 53 also deletes all of the resource record sets that were created when you created the traffic policy instance. " +} +""" +DeleteTrafficPolicyInstance(Id) = route_53("DELETE", "/2013-04-01/trafficpolicyinstance/{Id}") +DeleteTrafficPolicyInstance(Id, args) = route_53("DELETE", "/2013-04-01/trafficpolicyinstance/{Id}", args) +DeleteTrafficPolicyInstance(a...; b...) = DeleteTrafficPolicyInstance(a..., b) + +""" + GetHostedZoneCount() + +Retrieves the number of hosted zones that are associated with the current AWS account. +""" +GetHostedZoneCount() = route_53("GET", "/2013-04-01/hostedzonecount") +GetHostedZoneCount(args) = route_53("GET", "/2013-04-01/hostedzonecount", args) +GetHostedZoneCount(a...; b...) = GetHostedZoneCount(a..., b) + +""" + CreateTrafficPolicyInstance() + +Creates resource record sets in a specified hosted zone based on the settings in a specified traffic policy version. In addition, CreateTrafficPolicyInstance associates the resource record sets with a specified domain name (such as example.com) or subdomain name (such as www.example.com). Amazon Route 53 responds to DNS queries for the domain or subdomain name by using the resource record sets that CreateTrafficPolicyInstance created. + +Required Parameters +{ + "HostedZoneId": "The ID of the hosted zone that you want Amazon Route 53 to create resource record sets in by using the configuration in a traffic policy.", + "TrafficPolicyVersion": "The version of the traffic policy that you want to use to create resource record sets in the specified hosted zone.", + "TTL": "(Optional) The TTL that you want Amazon Route 53 to assign to all of the resource record sets that it creates in the specified hosted zone.", + "TrafficPolicyId": "The ID of the traffic policy that you want to use to create resource record sets in the specified hosted zone.", + "Name": "The domain name (such as example.com) or subdomain name (such as www.example.com) for which Amazon Route 53 responds to DNS queries by using the resource record sets that Route 53 creates for this traffic policy instance." +} +""" +CreateTrafficPolicyInstance(HostedZoneId, TrafficPolicyVersion, TTL, TrafficPolicyId, Name) = route_53("POST", "/2013-04-01/trafficpolicyinstance") +CreateTrafficPolicyInstance(HostedZoneId, TrafficPolicyVersion, TTL, TrafficPolicyId, Name, args) = route_53("POST", "/2013-04-01/trafficpolicyinstance", args) +CreateTrafficPolicyInstance(a...; b...) = CreateTrafficPolicyInstance(a..., b) + +""" + ListTrafficPolicyInstancesByPolicy() + +Gets information about the traffic policy instances that you created by using a specify traffic policy version. After you submit a CreateTrafficPolicyInstance or an UpdateTrafficPolicyInstance request, there's a brief delay while Amazon Route 53 creates the resource record sets that are specified in the traffic policy definition. For more information, see the State response element. Route 53 returns a maximum of 100 items in each response. If you have a lot of traffic policy instances, you can use the MaxItems parameter to list them in groups of up to 100. + +Required Parameters +{ + "TrafficPolicyVersion": "The version of the traffic policy for which you want to list traffic policy instances. The version must be associated with the traffic policy that is specified by TrafficPolicyId.", + "TrafficPolicyId": "The ID of the traffic policy for which you want to list traffic policy instances." +} + +Optional Parameters +{ + "HostedZoneIdMarker": "If the value of IsTruncated in the previous response was true, you have more traffic policy instances. To get more traffic policy instances, submit another ListTrafficPolicyInstancesByPolicy request. For the value of hostedzoneid, specify the value of HostedZoneIdMarker from the previous response, which is the hosted zone ID of the first traffic policy instance that Amazon Route 53 will return if you submit another request. If the value of IsTruncated in the previous response was false, there are no more traffic policy instances to get.", + "MaxItems": "The maximum number of traffic policy instances to be included in the response body for this request. If you have more than MaxItems traffic policy instances, the value of the IsTruncated element in the response is true, and the values of HostedZoneIdMarker, TrafficPolicyInstanceNameMarker, and TrafficPolicyInstanceTypeMarker represent the first traffic policy instance that Amazon Route 53 will return if you submit another request.", + "TrafficPolicyInstanceNameMarker": "If the value of IsTruncated in the previous response was true, you have more traffic policy instances. To get more traffic policy instances, submit another ListTrafficPolicyInstancesByPolicy request. For the value of trafficpolicyinstancename, specify the value of TrafficPolicyInstanceNameMarker from the previous response, which is the name of the first traffic policy instance that Amazon Route 53 will return if you submit another request. If the value of IsTruncated in the previous response was false, there are no more traffic policy instances to get.", + "TrafficPolicyInstanceTypeMarker": "If the value of IsTruncated in the previous response was true, you have more traffic policy instances. To get more traffic policy instances, submit another ListTrafficPolicyInstancesByPolicy request. For the value of trafficpolicyinstancetype, specify the value of TrafficPolicyInstanceTypeMarker from the previous response, which is the name of the first traffic policy instance that Amazon Route 53 will return if you submit another request. If the value of IsTruncated in the previous response was false, there are no more traffic policy instances to get." +} +""" +ListTrafficPolicyInstancesByPolicy(TrafficPolicyVersion, TrafficPolicyId) = route_53("GET", "/2013-04-01/trafficpolicyinstances/trafficpolicy") +ListTrafficPolicyInstancesByPolicy(TrafficPolicyVersion, TrafficPolicyId, args) = route_53("GET", "/2013-04-01/trafficpolicyinstances/trafficpolicy", args) +ListTrafficPolicyInstancesByPolicy(a...; b...) = ListTrafficPolicyInstancesByPolicy(a..., b) + +""" + GetHealthCheckCount() + +Retrieves the number of health checks that are associated with the current AWS account. +""" +GetHealthCheckCount() = route_53("GET", "/2013-04-01/healthcheckcount") +GetHealthCheckCount(args) = route_53("GET", "/2013-04-01/healthcheckcount", args) +GetHealthCheckCount(a...; b...) = GetHealthCheckCount(a..., b) + +""" + DeleteQueryLoggingConfig() + +Deletes a configuration for DNS query logging. If you delete a configuration, Amazon Route 53 stops sending query logs to CloudWatch Logs. Route 53 doesn't delete any logs that are already in CloudWatch Logs. For more information about DNS query logs, see CreateQueryLoggingConfig. + +Required Parameters +{ + "Id": "The ID of the configuration that you want to delete. " +} +""" +DeleteQueryLoggingConfig(Id) = route_53("DELETE", "/2013-04-01/queryloggingconfig/{Id}") +DeleteQueryLoggingConfig(Id, args) = route_53("DELETE", "/2013-04-01/queryloggingconfig/{Id}", args) +DeleteQueryLoggingConfig(a...; b...) = DeleteQueryLoggingConfig(a..., b) + +""" + TestDNSAnswer() + +Gets the value that Amazon Route 53 returns in response to a DNS request for a specified record name and type. You can optionally specify the IP address of a DNS resolver, an EDNS0 client subnet IP address, and a subnet mask. + +Required Parameters +{ + "HostedZoneId": "The ID of the hosted zone that you want Amazon Route 53 to simulate a query for.", + "RecordType": "The type of the resource record set.", + "RecordName": "The name of the resource record set that you want Amazon Route 53 to simulate a query for." +} + +Optional Parameters +{ + "ResolverIP": "If you want to simulate a request from a specific DNS resolver, specify the IP address for that resolver. If you omit this value, TestDnsAnswer uses the IP address of a DNS resolver in the AWS US East (N. Virginia) Region (us-east-1).", + "EDNS0ClientSubnetIP": "If the resolver that you specified for resolverip supports EDNS0, specify the IPv4 or IPv6 address of a client in the applicable location, for example, 192.0.2.44 or 2001:db8:85a3::8a2e:370:7334.", + "EDNS0ClientSubnetMask": "If you specify an IP address for edns0clientsubnetip, you can optionally specify the number of bits of the IP address that you want the checking tool to include in the DNS query. For example, if you specify 192.0.2.44 for edns0clientsubnetip and 24 for edns0clientsubnetmask, the checking tool will simulate a request from 192.0.2.0/24. The default value is 24 bits for IPv4 addresses and 64 bits for IPv6 addresses. The range of valid values depends on whether edns0clientsubnetip is an IPv4 or an IPv6 address: IPv4: Specify a value between 0 and 32 IPv6: Specify a value between 0 and 128 " +} +""" +TestDNSAnswer(HostedZoneId, RecordType, RecordName) = route_53("GET", "/2013-04-01/testdnsanswer") +TestDNSAnswer(HostedZoneId, RecordType, RecordName, args) = route_53("GET", "/2013-04-01/testdnsanswer", args) +TestDNSAnswer(a...; b...) = TestDNSAnswer(a..., b) + +""" + ListHostedZonesByName() + +Retrieves a list of your hosted zones in lexicographic order. The response includes a HostedZones child element for each hosted zone created by the current AWS account. ListHostedZonesByName sorts hosted zones by name with the labels reversed. For example: com.example.www. Note the trailing dot, which can change the sort order in some circumstances. If the domain name includes escape characters or Punycode, ListHostedZonesByName alphabetizes the domain name using the escaped or Punycoded value, which is the format that Amazon Route 53 saves in its database. For example, to create a hosted zone for exämple.com, you specify ex 344mple.com for the domain name. ListHostedZonesByName alphabetizes it as: com.ex 344mple. The labels are reversed and alphabetized using the escaped value. For more information about valid domain name formats, including internationalized domain names, see DNS Domain Name Format in the Amazon Route 53 Developer Guide. Route 53 returns up to 100 items in each response. If you have a lot of hosted zones, use the MaxItems parameter to list them in groups of up to 100. The response includes values that help navigate from one group of MaxItems hosted zones to the next: The DNSName and HostedZoneId elements in the response contain the values, if any, specified for the dnsname and hostedzoneid parameters in the request that produced the current response. The MaxItems element in the response contains the value, if any, that you specified for the maxitems parameter in the request that produced the current response. If the value of IsTruncated in the response is true, there are more hosted zones associated with the current AWS account. If IsTruncated is false, this response includes the last hosted zone that is associated with the current account. The NextDNSName element and NextHostedZoneId elements are omitted from the response. The NextDNSName and NextHostedZoneId elements in the response contain the domain name and the hosted zone ID of the next hosted zone that is associated with the current AWS account. If you want to list more hosted zones, make another call to ListHostedZonesByName, and specify the value of NextDNSName and NextHostedZoneId in the dnsname and hostedzoneid parameters, respectively. + +Optional Parameters +{ + "HostedZoneId": "(Optional) For your first request to ListHostedZonesByName, do not include the hostedzoneid parameter. If you have more hosted zones than the value of maxitems, ListHostedZonesByName returns only the first maxitems hosted zones. To get the next group of maxitems hosted zones, submit another request to ListHostedZonesByName and include both dnsname and hostedzoneid parameters. For the value of hostedzoneid, specify the value of the NextHostedZoneId element from the previous response.", + "DNSName": "(Optional) For your first request to ListHostedZonesByName, include the dnsname parameter only if you want to specify the name of the first hosted zone in the response. If you don't include the dnsname parameter, Amazon Route 53 returns all of the hosted zones that were created by the current AWS account, in ASCII order. For subsequent requests, include both dnsname and hostedzoneid parameters. For dnsname, specify the value of NextDNSName from the previous response.", + "MaxItems": "The maximum number of hosted zones to be included in the response body for this request. If you have more than maxitems hosted zones, then the value of the IsTruncated element in the response is true, and the values of NextDNSName and NextHostedZoneId specify the first hosted zone in the next group of maxitems hosted zones. " +} +""" +ListHostedZonesByName() = route_53("GET", "/2013-04-01/hostedzonesbyname") +ListHostedZonesByName(args) = route_53("GET", "/2013-04-01/hostedzonesbyname", args) +ListHostedZonesByName(a...; b...) = ListHostedZonesByName(a..., b) + +""" + ListHostedZones() + +Retrieves a list of the public and private hosted zones that are associated with the current AWS account. The response includes a HostedZones child element for each hosted zone. Amazon Route 53 returns a maximum of 100 items in each response. If you have a lot of hosted zones, you can use the maxitems parameter to list them in groups of up to 100. + +Optional Parameters +{ + "Marker": "If the value of IsTruncated in the previous response was true, you have more hosted zones. To get more hosted zones, submit another ListHostedZones request. For the value of marker, specify the value of NextMarker from the previous response, which is the ID of the first hosted zone that Amazon Route 53 will return if you submit another request. If the value of IsTruncated in the previous response was false, there are no more hosted zones to get.", + "DelegationSetId": "If you're using reusable delegation sets and you want to list all of the hosted zones that are associated with a reusable delegation set, specify the ID of that reusable delegation set. ", + "MaxItems": "(Optional) The maximum number of hosted zones that you want Amazon Route 53 to return. If you have more than maxitems hosted zones, the value of IsTruncated in the response is true, and the value of NextMarker is the hosted zone ID of the first hosted zone that Route 53 will return if you submit another request." +} +""" +ListHostedZones() = route_53("GET", "/2013-04-01/hostedzone") +ListHostedZones(args) = route_53("GET", "/2013-04-01/hostedzone", args) +ListHostedZones(a...; b...) = ListHostedZones(a..., b) + +""" + AssociateVPCWithHostedZone() + +Associates an Amazon VPC with a private hosted zone. To perform the association, the VPC and the private hosted zone must already exist. Also, you can't convert a public hosted zone into a private hosted zone. If you want to associate a VPC that was created by one AWS account with a private hosted zone that was created by a different account, do one of the following: Use the AWS account that created the private hosted zone to submit a CreateVPCAssociationAuthorization request. Then use the account that created the VPC to submit an AssociateVPCWithHostedZone request. If a subnet in the VPC was shared with another account, you can use the account that the subnet was shared with to submit an AssociateVPCWithHostedZone request. For more information about sharing subnets, see Working with Shared VPCs. + +Required Parameters +{ + "HostedZoneId": "The ID of the private hosted zone that you want to associate an Amazon VPC with. Note that you can't associate a VPC with a hosted zone that doesn't have an existing VPC association.", + "VPC": "A complex type that contains information about the VPC that you want to associate with a private hosted zone." +} + +Optional Parameters +{ + "Comment": " Optional: A comment about the association request." +} +""" +AssociateVPCWithHostedZone(HostedZoneId, VPC) = route_53("POST", "/2013-04-01/hostedzone/{Id}/associatevpc") +AssociateVPCWithHostedZone(HostedZoneId, VPC, args) = route_53("POST", "/2013-04-01/hostedzone/{Id}/associatevpc", args) +AssociateVPCWithHostedZone(a...; b...) = AssociateVPCWithHostedZone(a..., b) + +""" + DisassociateVPCFromHostedZone() + +Disassociates a VPC from a Amazon Route 53 private hosted zone. Note the following: You can't disassociate the last VPC from a private hosted zone. You can't convert a private hosted zone into a public hosted zone. You can submit a DisassociateVPCFromHostedZone request using either the account that created the hosted zone or the account that created the VPC. + +Required Parameters +{ + "HostedZoneId": "The ID of the private hosted zone that you want to disassociate a VPC from.", + "VPC": "A complex type that contains information about the VPC that you're disassociating from the specified hosted zone." +} + +Optional Parameters +{ + "Comment": " Optional: A comment about the disassociation request." +} +""" +DisassociateVPCFromHostedZone(HostedZoneId, VPC) = route_53("POST", "/2013-04-01/hostedzone/{Id}/disassociatevpc") +DisassociateVPCFromHostedZone(HostedZoneId, VPC, args) = route_53("POST", "/2013-04-01/hostedzone/{Id}/disassociatevpc", args) +DisassociateVPCFromHostedZone(a...; b...) = DisassociateVPCFromHostedZone(a..., b) + +""" + UpdateTrafficPolicyComment() + +Updates the comment for a specified traffic policy version. + +Required Parameters +{ + "Id": "The value of Id for the traffic policy that you want to update the comment for.", + "Comment": "The new comment for the specified traffic policy and version.", + "Version": "The value of Version for the traffic policy that you want to update the comment for." +} +""" +UpdateTrafficPolicyComment(Id, Comment, Version) = route_53("POST", "/2013-04-01/trafficpolicy/{Id}/{Version}") +UpdateTrafficPolicyComment(Id, Comment, Version, args) = route_53("POST", "/2013-04-01/trafficpolicy/{Id}/{Version}", args) +UpdateTrafficPolicyComment(a...; b...) = UpdateTrafficPolicyComment(a..., b) + +""" + CreateVPCAssociationAuthorization() + +Authorizes the AWS account that created a specified VPC to submit an AssociateVPCWithHostedZone request to associate the VPC with a specified hosted zone that was created by a different account. To submit a CreateVPCAssociationAuthorization request, you must use the account that created the hosted zone. After you authorize the association, use the account that created the VPC to submit an AssociateVPCWithHostedZone request. If you want to associate multiple VPCs that you created by using one account with a hosted zone that you created by using a different account, you must submit one authorization request for each VPC. + +Required Parameters +{ + "HostedZoneId": "The ID of the private hosted zone that you want to authorize associating a VPC with.", + "VPC": "A complex type that contains the VPC ID and region for the VPC that you want to authorize associating with your hosted zone." +} +""" +CreateVPCAssociationAuthorization(HostedZoneId, VPC) = route_53("POST", "/2013-04-01/hostedzone/{Id}/authorizevpcassociation") +CreateVPCAssociationAuthorization(HostedZoneId, VPC, args) = route_53("POST", "/2013-04-01/hostedzone/{Id}/authorizevpcassociation", args) +CreateVPCAssociationAuthorization(a...; b...) = CreateVPCAssociationAuthorization(a..., b) + +""" + ListTagsForResources() + +Lists tags for up to 10 health checks or hosted zones. For information about using tags for cost allocation, see Using Cost Allocation Tags in the AWS Billing and Cost Management User Guide. + +Required Parameters +{ + "ResourceType": "The type of the resources. The resource type for health checks is healthcheck. The resource type for hosted zones is hostedzone. ", + "ResourceIds": "A complex type that contains the ResourceId element for each resource for which you want to get a list of tags." +} +""" +ListTagsForResources(ResourceType, ResourceIds) = route_53("POST", "/2013-04-01/tags/{ResourceType}") +ListTagsForResources(ResourceType, ResourceIds, args) = route_53("POST", "/2013-04-01/tags/{ResourceType}", args) +ListTagsForResources(a...; b...) = ListTagsForResources(a..., b) + +""" + ListReusableDelegationSets() + +Retrieves a list of the reusable delegation sets that are associated with the current AWS account. + +Optional Parameters +{ + "Marker": "If the value of IsTruncated in the previous response was true, you have more reusable delegation sets. To get another group, submit another ListReusableDelegationSets request. For the value of marker, specify the value of NextMarker from the previous response, which is the ID of the first reusable delegation set that Amazon Route 53 will return if you submit another request. If the value of IsTruncated in the previous response was false, there are no more reusable delegation sets to get.", + "MaxItems": "The number of reusable delegation sets that you want Amazon Route 53 to return in the response to this request. If you specify a value greater than 100, Route 53 returns only the first 100 reusable delegation sets." +} +""" +ListReusableDelegationSets() = route_53("GET", "/2013-04-01/delegationset") +ListReusableDelegationSets(args) = route_53("GET", "/2013-04-01/delegationset", args) +ListReusableDelegationSets(a...; b...) = ListReusableDelegationSets(a..., b) + +""" + ListTrafficPolicyInstances() + +Gets information about the traffic policy instances that you created by using the current AWS account. After you submit an UpdateTrafficPolicyInstance request, there's a brief delay while Amazon Route 53 creates the resource record sets that are specified in the traffic policy definition. For more information, see the State response element. Route 53 returns a maximum of 100 items in each response. If you have a lot of traffic policy instances, you can use the MaxItems parameter to list them in groups of up to 100. + +Optional Parameters +{ + "HostedZoneIdMarker": "If the value of IsTruncated in the previous response was true, you have more traffic policy instances. To get more traffic policy instances, submit another ListTrafficPolicyInstances request. For the value of HostedZoneId, specify the value of HostedZoneIdMarker from the previous response, which is the hosted zone ID of the first traffic policy instance in the next group of traffic policy instances. If the value of IsTruncated in the previous response was false, there are no more traffic policy instances to get.", + "MaxItems": "The maximum number of traffic policy instances that you want Amazon Route 53 to return in response to a ListTrafficPolicyInstances request. If you have more than MaxItems traffic policy instances, the value of the IsTruncated element in the response is true, and the values of HostedZoneIdMarker, TrafficPolicyInstanceNameMarker, and TrafficPolicyInstanceTypeMarker represent the first traffic policy instance in the next group of MaxItems traffic policy instances.", + "TrafficPolicyInstanceNameMarker": "If the value of IsTruncated in the previous response was true, you have more traffic policy instances. To get more traffic policy instances, submit another ListTrafficPolicyInstances request. For the value of trafficpolicyinstancename, specify the value of TrafficPolicyInstanceNameMarker from the previous response, which is the name of the first traffic policy instance in the next group of traffic policy instances. If the value of IsTruncated in the previous response was false, there are no more traffic policy instances to get.", + "TrafficPolicyInstanceTypeMarker": "If the value of IsTruncated in the previous response was true, you have more traffic policy instances. To get more traffic policy instances, submit another ListTrafficPolicyInstances request. For the value of trafficpolicyinstancetype, specify the value of TrafficPolicyInstanceTypeMarker from the previous response, which is the type of the first traffic policy instance in the next group of traffic policy instances. If the value of IsTruncated in the previous response was false, there are no more traffic policy instances to get." +} +""" +ListTrafficPolicyInstances() = route_53("GET", "/2013-04-01/trafficpolicyinstances") +ListTrafficPolicyInstances(args) = route_53("GET", "/2013-04-01/trafficpolicyinstances", args) +ListTrafficPolicyInstances(a...; b...) = ListTrafficPolicyInstances(a..., b) + +""" + GetHostedZone() + +Gets information about a specified hosted zone including the four name servers assigned to the hosted zone. + +Required Parameters +{ + "Id": "The ID of the hosted zone that you want to get information about." +} +""" +GetHostedZone(Id) = route_53("GET", "/2013-04-01/hostedzone/{Id}") +GetHostedZone(Id, args) = route_53("GET", "/2013-04-01/hostedzone/{Id}", args) +GetHostedZone(a...; b...) = GetHostedZone(a..., b) + +""" + ListTagsForResource() + +Lists tags for one health check or hosted zone. For information about using tags for cost allocation, see Using Cost Allocation Tags in the AWS Billing and Cost Management User Guide. + +Required Parameters +{ + "ResourceType": "The type of the resource. The resource type for health checks is healthcheck. The resource type for hosted zones is hostedzone. ", + "ResourceId": "The ID of the resource for which you want to retrieve tags." +} +""" +ListTagsForResource(ResourceType, ResourceId) = route_53("GET", "/2013-04-01/tags/{ResourceType}/{ResourceId}") +ListTagsForResource(ResourceType, ResourceId, args) = route_53("GET", "/2013-04-01/tags/{ResourceType}/{ResourceId}", args) +ListTagsForResource(a...; b...) = ListTagsForResource(a..., b) + +""" + GetGeoLocation() + +Gets information about whether a specified geographic location is supported for Amazon Route 53 geolocation resource record sets. Use the following syntax to determine whether a continent is supported for geolocation: GET /2013-04-01/geolocation?continentcode=two-letter abbreviation for a continent Use the following syntax to determine whether a country is supported for geolocation: GET /2013-04-01/geolocation?countrycode=two-character country code Use the following syntax to determine whether a subdivision of a country is supported for geolocation: GET /2013-04-01/geolocation?countrycode=two-character country code&subdivisioncode=subdivision code + +Optional Parameters +{ + "CountryCode": "Amazon Route 53 uses the two-letter country codes that are specified in ISO standard 3166-1 alpha-2.", + "ContinentCode": "For geolocation resource record sets, a two-letter abbreviation that identifies a continent. Amazon Route 53 supports the following continent codes: AF: Africa AN: Antarctica AS: Asia EU: Europe OC: Oceania NA: North America SA: South America ", + "SubdivisionCode": "For SubdivisionCode, Amazon Route 53 supports only states of the United States. For a list of state abbreviations, see Appendix B: Two–Letter State and Possession Abbreviations on the United States Postal Service website. If you specify subdivisioncode, you must also specify US for CountryCode. " +} +""" +GetGeoLocation() = route_53("GET", "/2013-04-01/geolocation") +GetGeoLocation(args) = route_53("GET", "/2013-04-01/geolocation", args) +GetGeoLocation(a...; b...) = GetGeoLocation(a..., b) + +""" + UpdateHealthCheck() + +Updates an existing health check. Note that some values can't be updated. For more information about updating health checks, see Creating, Updating, and Deleting Health Checks in the Amazon Route 53 Developer Guide. + +Required Parameters +{ + "HealthCheckId": "The ID for the health check for which you want detailed information. When you created the health check, CreateHealthCheck returned the ID in the response, in the HealthCheckId element." +} + +Optional Parameters +{ + "FullyQualifiedDomainName": "Amazon Route 53 behavior depends on whether you specify a value for IPAddress. If a health check already has a value for IPAddress, you can change the value. However, you can't update an existing health check to add or remove the value of IPAddress. If you specify a value for IPAddress: Route 53 sends health check requests to the specified IPv4 or IPv6 address and passes the value of FullyQualifiedDomainName in the Host header for all health checks except TCP health checks. This is typically the fully qualified DNS name of the endpoint on which you want Route 53 to perform health checks. When Route 53 checks the health of an endpoint, here is how it constructs the Host header: If you specify a value of 80 for Port and HTTP or HTTP_STR_MATCH for Type, Route 53 passes the value of FullyQualifiedDomainName to the endpoint in the Host header. If you specify a value of 443 for Port and HTTPS or HTTPS_STR_MATCH for Type, Route 53 passes the value of FullyQualifiedDomainName to the endpoint in the Host header. If you specify another value for Port and any value except TCP for Type, Route 53 passes FullyQualifiedDomainName:Port to the endpoint in the Host header. If you don't specify a value for FullyQualifiedDomainName, Route 53 substitutes the value of IPAddress in the Host header in each of the above cases. If you don't specify a value for IPAddress: If you don't specify a value for IPAddress, Route 53 sends a DNS request to the domain that you specify in FullyQualifiedDomainName at the interval you specify in RequestInterval. Using an IPv4 address that is returned by DNS, Route 53 then checks the health of the endpoint. If you don't specify a value for IPAddress, Route 53 uses only IPv4 to send health checks to the endpoint. If there's no resource record set with a type of A for the name that you specify for FullyQualifiedDomainName, the health check fails with a \"DNS resolution failed\" error. If you want to check the health of weighted, latency, or failover resource record sets and you choose to specify the endpoint only by FullyQualifiedDomainName, we recommend that you create a separate health check for each endpoint. For example, create a health check for each HTTP server that is serving content for www.example.com. For the value of FullyQualifiedDomainName, specify the domain name of the server (such as us-east-2-www.example.com), not the name of the resource record sets (www.example.com). In this configuration, if the value of FullyQualifiedDomainName matches the name of the resource record sets and you then associate the health check with those resource record sets, health check results will be unpredictable. In addition, if the value of Type is HTTP, HTTPS, HTTP_STR_MATCH, or HTTPS_STR_MATCH, Route 53 passes the value of FullyQualifiedDomainName in the Host header, as it does when you specify a value for IPAddress. If the value of Type is TCP, Route 53 doesn't pass a Host header.", + "Disabled": "Stops Route 53 from performing health checks. When you disable a health check, here's what happens: Health checks that check the health of endpoints: Route 53 stops submitting requests to your application, server, or other resource. Calculated health checks: Route 53 stops aggregating the status of the referenced health checks. Health checks that monitor CloudWatch alarms: Route 53 stops monitoring the corresponding CloudWatch metrics. After you disable a health check, Route 53 considers the status of the health check to always be healthy. If you configured DNS failover, Route 53 continues to route traffic to the corresponding resources. If you want to stop routing traffic to a resource, change the value of Inverted. Charges for a health check still apply when the health check is disabled. For more information, see Amazon Route 53 Pricing.", + "Regions": "A complex type that contains one Region element for each region that you want Amazon Route 53 health checkers to check the specified endpoint from.", + "IPAddress": "The IPv4 or IPv6 IP address for the endpoint that you want Amazon Route 53 to perform health checks on. If you don't specify a value for IPAddress, Route 53 sends a DNS request to resolve the domain name that you specify in FullyQualifiedDomainName at the interval that you specify in RequestInterval. Using an IP address that is returned by DNS, Route 53 then checks the health of the endpoint. Use one of the following formats for the value of IPAddress: IPv4 address: four values between 0 and 255, separated by periods (.), for example, 192.0.2.44. IPv6 address: eight groups of four hexadecimal values, separated by colons (:), for example, 2001:0db8:85a3:0000:0000:abcd:0001:2345. You can also shorten IPv6 addresses as described in RFC 5952, for example, 2001:db8:85a3::abcd:1:2345. If the endpoint is an EC2 instance, we recommend that you create an Elastic IP address, associate it with your EC2 instance, and specify the Elastic IP address for IPAddress. This ensures that the IP address of your instance never changes. For more information, see the applicable documentation: Linux: Elastic IP Addresses (EIP) in the Amazon EC2 User Guide for Linux Instances Windows: Elastic IP Addresses (EIP) in the Amazon EC2 User Guide for Windows Instances If a health check already has a value for IPAddress, you can change the value. However, you can't update an existing health check to add or remove the value of IPAddress. For more information, see FullyQualifiedDomainName. Constraints: Route 53 can't check the health of endpoints for which the IP address is in local, private, non-routable, or multicast ranges. For more information about IP addresses for which you can't create health checks, see the following documents: RFC 5735, Special Use IPv4 Addresses RFC 6598, IANA-Reserved IPv4 Prefix for Shared Address Space RFC 5156, Special-Use IPv6 Addresses ", + "EnableSNI": "Specify whether you want Amazon Route 53 to send the value of FullyQualifiedDomainName to the endpoint in the client_hello message during TLS negotiation. This allows the endpoint to respond to HTTPS health check requests with the applicable SSL/TLS certificate. Some endpoints require that HTTPS requests include the host name in the client_hello message. If you don't enable SNI, the status of the health check will be SSL alert handshake_failure. A health check can also have that status for other reasons. If SNI is enabled and you're still getting the error, check the SSL/TLS configuration on your endpoint and confirm that your certificate is valid. The SSL/TLS certificate on your endpoint includes a domain name in the Common Name field and possibly several more in the Subject Alternative Names field. One of the domain names in the certificate should match the value that you specify for FullyQualifiedDomainName. If the endpoint responds to the client_hello message with a certificate that does not include the domain name that you specified in FullyQualifiedDomainName, a health checker will retry the handshake. In the second attempt, the health checker will omit FullyQualifiedDomainName from the client_hello message.", + "HealthCheckVersion": "A sequential counter that Amazon Route 53 sets to 1 when you create a health check and increments by 1 each time you update settings for the health check. We recommend that you use GetHealthCheck or ListHealthChecks to get the current value of HealthCheckVersion for the health check that you want to update, and that you include that value in your UpdateHealthCheck request. This prevents Route 53 from overwriting an intervening update: If the value in the UpdateHealthCheck request matches the value of HealthCheckVersion in the health check, Route 53 updates the health check with the new settings. If the value of HealthCheckVersion in the health check is greater, the health check was changed after you got the version number. Route 53 does not update the health check, and it returns a HealthCheckVersionMismatch error. ", + "Inverted": "Specify whether you want Amazon Route 53 to invert the status of a health check, for example, to consider a health check unhealthy when it otherwise would be considered healthy.", + "FailureThreshold": "The number of consecutive health checks that an endpoint must pass or fail for Amazon Route 53 to change the current status of the endpoint from unhealthy to healthy or vice versa. For more information, see How Amazon Route 53 Determines Whether an Endpoint Is Healthy in the Amazon Route 53 Developer Guide. If you don't specify a value for FailureThreshold, the default value is three health checks.", + "ResetElements": "A complex type that contains one ResettableElementName element for each element that you want to reset to the default value. Valid values for ResettableElementName include the following: ChildHealthChecks: Amazon Route 53 resets ChildHealthChecks to null. FullyQualifiedDomainName: Route 53 resets FullyQualifiedDomainName. to null. Regions: Route 53 resets the Regions list to the default set of regions. ResourcePath: Route 53 resets ResourcePath to null. ", + "SearchString": "If the value of Type is HTTP_STR_MATCH or HTTPS_STR_MATCH, the string that you want Amazon Route 53 to search for in the response body from the specified resource. If the string appears in the response body, Route 53 considers the resource healthy. (You can't change the value of Type when you update a health check.)", + "HealthThreshold": "The number of child health checks that are associated with a CALCULATED health that Amazon Route 53 must consider healthy for the CALCULATED health check to be considered healthy. To specify the child health checks that you want to associate with a CALCULATED health check, use the ChildHealthChecks and ChildHealthCheck elements. Note the following: If you specify a number greater than the number of child health checks, Route 53 always considers this health check to be unhealthy. If you specify 0, Route 53 always considers this health check to be healthy. ", + "AlarmIdentifier": "A complex type that identifies the CloudWatch alarm that you want Amazon Route 53 health checkers to use to determine whether the specified health check is healthy.", + "Port": "The port on the endpoint that you want Amazon Route 53 to perform health checks on. Don't specify a value for Port when you specify a value for Type of CLOUDWATCH_METRIC or CALCULATED. ", + "ResourcePath": "The path that you want Amazon Route 53 to request when performing health checks. The path can be any value for which your endpoint will return an HTTP status code of 2xx or 3xx when the endpoint is healthy, for example the file /docs/route53-health-check.html. You can also include query string parameters, for example, /welcome.html?language=jp&login=y. Specify this value only if you want to change it.", + "InsufficientDataHealthStatus": "When CloudWatch has insufficient data about the metric to determine the alarm state, the status that you want Amazon Route 53 to assign to the health check: Healthy: Route 53 considers the health check to be healthy. Unhealthy: Route 53 considers the health check to be unhealthy. LastKnownStatus: Route 53 uses the status of the health check from the last time CloudWatch had sufficient data to determine the alarm state. For new health checks that have no last known status, the default status for the health check is healthy. ", + "ChildHealthChecks": "A complex type that contains one ChildHealthCheck element for each health check that you want to associate with a CALCULATED health check." +} +""" +UpdateHealthCheck(HealthCheckId) = route_53("POST", "/2013-04-01/healthcheck/{HealthCheckId}") +UpdateHealthCheck(HealthCheckId, args) = route_53("POST", "/2013-04-01/healthcheck/{HealthCheckId}", args) +UpdateHealthCheck(a...; b...) = UpdateHealthCheck(a..., b) + +""" + DeleteReusableDelegationSet() + +Deletes a reusable delegation set. You can delete a reusable delegation set only if it isn't associated with any hosted zones. To verify that the reusable delegation set is not associated with any hosted zones, submit a GetReusableDelegationSet request and specify the ID of the reusable delegation set that you want to delete. + +Required Parameters +{ + "Id": "The ID of the reusable delegation set that you want to delete." +} +""" +DeleteReusableDelegationSet(Id) = route_53("DELETE", "/2013-04-01/delegationset/{Id}") +DeleteReusableDelegationSet(Id, args) = route_53("DELETE", "/2013-04-01/delegationset/{Id}", args) +DeleteReusableDelegationSet(a...; b...) = DeleteReusableDelegationSet(a..., b) + +""" + CreateHealthCheck() + +Creates a new health check. For information about adding health checks to resource record sets, see HealthCheckId in ChangeResourceRecordSets. ELB Load Balancers If you're registering EC2 instances with an Elastic Load Balancing (ELB) load balancer, do not create Amazon Route 53 health checks for the EC2 instances. When you register an EC2 instance with a load balancer, you configure settings for an ELB health check, which performs a similar function to a Route 53 health check. Private Hosted Zones You can associate health checks with failover resource record sets in a private hosted zone. Note the following: Route 53 health checkers are outside the VPC. To check the health of an endpoint within a VPC by IP address, you must assign a public IP address to the instance in the VPC. You can configure a health checker to check the health of an external resource that the instance relies on, such as a database server. You can create a CloudWatch metric, associate an alarm with the metric, and then create a health check that is based on the state of the alarm. For example, you might create a CloudWatch metric that checks the status of the Amazon EC2 StatusCheckFailed metric, add an alarm to the metric, and then create a health check that is based on the state of the alarm. For information about creating CloudWatch metrics and alarms by using the CloudWatch console, see the Amazon CloudWatch User Guide. + +Required Parameters +{ + "CallerReference": "A unique string that identifies the request and that allows you to retry a failed CreateHealthCheck request without the risk of creating two identical health checks: If you send a CreateHealthCheck request with the same CallerReference and settings as a previous request, and if the health check doesn't exist, Amazon Route 53 creates the health check. If the health check does exist, Route 53 returns the settings for the existing health check. If you send a CreateHealthCheck request with the same CallerReference as a deleted health check, regardless of the settings, Route 53 returns a HealthCheckAlreadyExists error. If you send a CreateHealthCheck request with the same CallerReference as an existing health check but with different settings, Route 53 returns a HealthCheckAlreadyExists error. If you send a CreateHealthCheck request with a unique CallerReference but settings identical to an existing health check, Route 53 creates the health check. ", + "HealthCheckConfig": "A complex type that contains settings for a new health check." +} +""" +CreateHealthCheck(CallerReference, HealthCheckConfig) = route_53("POST", "/2013-04-01/healthcheck") +CreateHealthCheck(CallerReference, HealthCheckConfig, args) = route_53("POST", "/2013-04-01/healthcheck", args) +CreateHealthCheck(a...; b...) = CreateHealthCheck(a..., b) + +""" + CreateTrafficPolicy() + +Creates a traffic policy, which you use to create multiple DNS resource record sets for one domain name (such as example.com) or one subdomain name (such as www.example.com). + +Required Parameters +{ + "Name": "The name of the traffic policy.", + "Document": "The definition of this traffic policy in JSON format. For more information, see Traffic Policy Document Format." +} + +Optional Parameters +{ + "Comment": "(Optional) Any comments that you want to include about the traffic policy." +} +""" +CreateTrafficPolicy(Name, Document) = route_53("POST", "/2013-04-01/trafficpolicy") +CreateTrafficPolicy(Name, Document, args) = route_53("POST", "/2013-04-01/trafficpolicy", args) +CreateTrafficPolicy(a...; b...) = CreateTrafficPolicy(a..., b) + +""" + CreateReusableDelegationSet() + +Creates a delegation set (a group of four name servers) that can be reused by multiple hosted zones that were created by the same AWS account. You can also create a reusable delegation set that uses the four name servers that are associated with an existing hosted zone. Specify the hosted zone ID in the CreateReusableDelegationSet request. You can't associate a reusable delegation set with a private hosted zone. For information about using a reusable delegation set to configure white label name servers, see Configuring White Label Name Servers. The process for migrating existing hosted zones to use a reusable delegation set is comparable to the process for configuring white label name servers. You need to perform the following steps: Create a reusable delegation set. Recreate hosted zones, and reduce the TTL to 60 seconds or less. Recreate resource record sets in the new hosted zones. Change the registrar's name servers to use the name servers for the new hosted zones. Monitor traffic for the website or application. Change TTLs back to their original values. If you want to migrate existing hosted zones to use a reusable delegation set, the existing hosted zones can't use any of the name servers that are assigned to the reusable delegation set. If one or more hosted zones do use one or more name servers that are assigned to the reusable delegation set, you can do one of the following: For small numbers of hosted zones—up to a few hundred—it's relatively easy to create reusable delegation sets until you get one that has four name servers that don't overlap with any of the name servers in your hosted zones. For larger numbers of hosted zones, the easiest solution is to use more than one reusable delegation set. For larger numbers of hosted zones, you can also migrate hosted zones that have overlapping name servers to hosted zones that don't have overlapping name servers, then migrate the hosted zones again to use the reusable delegation set. + +Required Parameters +{ + "CallerReference": "A unique string that identifies the request, and that allows you to retry failed CreateReusableDelegationSet requests without the risk of executing the operation twice. You must use a unique CallerReference string every time you submit a CreateReusableDelegationSet request. CallerReference can be any unique string, for example a date/time stamp." +} + +Optional Parameters +{ + "HostedZoneId": "If you want to mark the delegation set for an existing hosted zone as reusable, the ID for that hosted zone." +} +""" +CreateReusableDelegationSet(CallerReference) = route_53("POST", "/2013-04-01/delegationset") +CreateReusableDelegationSet(CallerReference, args) = route_53("POST", "/2013-04-01/delegationset", args) +CreateReusableDelegationSet(a...; b...) = CreateReusableDelegationSet(a..., b) + +""" + GetCheckerIpRanges() + + GetCheckerIpRanges still works, but we recommend that you download ip-ranges.json, which includes IP address ranges for all AWS services. For more information, see IP Address Ranges of Amazon Route 53 Servers in the Amazon Route 53 Developer Guide. +""" +GetCheckerIpRanges() = route_53("GET", "/2013-04-01/checkeripranges") +GetCheckerIpRanges(args) = route_53("GET", "/2013-04-01/checkeripranges", args) +GetCheckerIpRanges(a...; b...) = GetCheckerIpRanges(a..., b) + +""" + UpdateHostedZoneComment() + +Updates the comment for a specified hosted zone. + +Required Parameters +{ + "Id": "The ID for the hosted zone that you want to update the comment for." +} + +Optional Parameters +{ + "Comment": "The new comment for the hosted zone. If you don't specify a value for Comment, Amazon Route 53 deletes the existing value of the Comment element, if any." +} +""" +UpdateHostedZoneComment(Id) = route_53("POST", "/2013-04-01/hostedzone/{Id}") +UpdateHostedZoneComment(Id, args) = route_53("POST", "/2013-04-01/hostedzone/{Id}", args) +UpdateHostedZoneComment(a...; b...) = UpdateHostedZoneComment(a..., b) + +""" + CreateQueryLoggingConfig() + +Creates a configuration for DNS query logging. After you create a query logging configuration, Amazon Route 53 begins to publish log data to an Amazon CloudWatch Logs log group. DNS query logs contain information about the queries that Route 53 receives for a specified public hosted zone, such as the following: Route 53 edge location that responded to the DNS query Domain or subdomain that was requested DNS record type, such as A or AAAA DNS response code, such as NoError or ServFail Log Group and Resource Policy Before you create a query logging configuration, perform the following operations. If you create a query logging configuration using the Route 53 console, Route 53 performs these operations automatically. Create a CloudWatch Logs log group, and make note of the ARN, which you specify when you create a query logging configuration. Note the following: You must create the log group in the us-east-1 region. You must use the same AWS account to create the log group and the hosted zone that you want to configure query logging for. When you create log groups for query logging, we recommend that you use a consistent prefix, for example: /aws/route53/hosted zone name In the next step, you'll create a resource policy, which controls access to one or more log groups and the associated AWS resources, such as Route 53 hosted zones. There's a limit on the number of resource policies that you can create, so we recommend that you use a consistent prefix so you can use the same resource policy for all the log groups that you create for query logging. Create a CloudWatch Logs resource policy, and give it the permissions that Route 53 needs to create log streams and to send query logs to log streams. For the value of Resource, specify the ARN for the log group that you created in the previous step. To use the same resource policy for all the CloudWatch Logs log groups that you created for query logging configurations, replace the hosted zone name with *, for example: arn:aws:logs:us-east-1:123412341234:log-group:/aws/route53/* You can't use the CloudWatch console to create or edit a resource policy. You must use the CloudWatch API, one of the AWS SDKs, or the AWS CLI. Log Streams and Edge Locations When Route 53 finishes creating the configuration for DNS query logging, it does the following: Creates a log stream for an edge location the first time that the edge location responds to DNS queries for the specified hosted zone. That log stream is used to log all queries that Route 53 responds to for that edge location. Begins to send query logs to the applicable log stream. The name of each log stream is in the following format: hosted zone ID/edge location code The edge location code is a three-letter code and an arbitrarily assigned number, for example, DFW3. The three-letter code typically corresponds with the International Air Transport Association airport code for an airport near the edge location. (These abbreviations might change in the future.) For a list of edge locations, see "The Route 53 Global Network" on the Route 53 Product Details page. Queries That Are Logged Query logs contain only the queries that DNS resolvers forward to Route 53. If a DNS resolver has already cached the response to a query (such as the IP address for a load balancer for example.com), the resolver will continue to return the cached response. It doesn't forward another query to Route 53 until the TTL for the corresponding resource record set expires. Depending on how many DNS queries are submitted for a resource record set, and depending on the TTL for that resource record set, query logs might contain information about only one query out of every several thousand queries that are submitted to DNS. For more information about how DNS works, see Routing Internet Traffic to Your Website or Web Application in the Amazon Route 53 Developer Guide. Log File Format For a list of the values in each query log and the format of each value, see Logging DNS Queries in the Amazon Route 53 Developer Guide. Pricing For information about charges for query logs, see Amazon CloudWatch Pricing. How to Stop Logging If you want Route 53 to stop sending query logs to CloudWatch Logs, delete the query logging configuration. For more information, see DeleteQueryLoggingConfig. + +Required Parameters +{ + "HostedZoneId": "The ID of the hosted zone that you want to log queries for. You can log queries only for public hosted zones.", + "CloudWatchLogsLogGroupArn": "The Amazon Resource Name (ARN) for the log group that you want to Amazon Route 53 to send query logs to. This is the format of the ARN: arn:aws:logs:region:account-id:log-group:log_group_name To get the ARN for a log group, you can use the CloudWatch console, the DescribeLogGroups API action, the describe-log-groups command, or the applicable command in one of the AWS SDKs." +} +""" +CreateQueryLoggingConfig(HostedZoneId, CloudWatchLogsLogGroupArn) = route_53("POST", "/2013-04-01/queryloggingconfig") +CreateQueryLoggingConfig(HostedZoneId, CloudWatchLogsLogGroupArn, args) = route_53("POST", "/2013-04-01/queryloggingconfig", args) +CreateQueryLoggingConfig(a...; b...) = CreateQueryLoggingConfig(a..., b) + +""" + GetTrafficPolicyInstance() + +Gets information about a specified traffic policy instance. After you submit a CreateTrafficPolicyInstance or an UpdateTrafficPolicyInstance request, there's a brief delay while Amazon Route 53 creates the resource record sets that are specified in the traffic policy definition. For more information, see the State response element. In the Route 53 console, traffic policy instances are known as policy records. + +Required Parameters +{ + "Id": "The ID of the traffic policy instance that you want to get information about." +} +""" +GetTrafficPolicyInstance(Id) = route_53("GET", "/2013-04-01/trafficpolicyinstance/{Id}") +GetTrafficPolicyInstance(Id, args) = route_53("GET", "/2013-04-01/trafficpolicyinstance/{Id}", args) +GetTrafficPolicyInstance(a...; b...) = GetTrafficPolicyInstance(a..., b) + +""" + DeleteHealthCheck() + +Deletes a health check. Amazon Route 53 does not prevent you from deleting a health check even if the health check is associated with one or more resource record sets. If you delete a health check and you don't update the associated resource record sets, the future status of the health check can't be predicted and may change. This will affect the routing of DNS queries for your DNS failover configuration. For more information, see Replacing and Deleting Health Checks in the Amazon Route 53 Developer Guide. If you're using AWS Cloud Map and you configured Cloud Map to create a Route 53 health check when you register an instance, you can't use the Route 53 DeleteHealthCheck command to delete the health check. The health check is deleted automatically when you deregister the instance; there can be a delay of several hours before the health check is deleted from Route 53. + +Required Parameters +{ + "HealthCheckId": "The ID of the health check that you want to delete." +} +""" +DeleteHealthCheck(HealthCheckId) = route_53("DELETE", "/2013-04-01/healthcheck/{HealthCheckId}") +DeleteHealthCheck(HealthCheckId, args) = route_53("DELETE", "/2013-04-01/healthcheck/{HealthCheckId}", args) +DeleteHealthCheck(a...; b...) = DeleteHealthCheck(a..., b) + +""" + GetHostedZoneLimit() + +Gets the specified limit for a specified hosted zone, for example, the maximum number of records that you can create in the hosted zone. For the default limit, see Limits in the Amazon Route 53 Developer Guide. To request a higher limit, open a case. + +Required Parameters +{ + "HostedZoneId": "The ID of the hosted zone that you want to get a limit for.", + "Type": "The limit that you want to get. Valid values include the following: MAX_RRSETS_BY_ZONE: The maximum number of records that you can create in the specified hosted zone. MAX_VPCS_ASSOCIATED_BY_ZONE: The maximum number of Amazon VPCs that you can associate with the specified private hosted zone. " +} +""" +GetHostedZoneLimit(HostedZoneId, Type) = route_53("GET", "/2013-04-01/hostedzonelimit/{Id}/{Type}") +GetHostedZoneLimit(HostedZoneId, Type, args) = route_53("GET", "/2013-04-01/hostedzonelimit/{Id}/{Type}", args) +GetHostedZoneLimit(a...; b...) = GetHostedZoneLimit(a..., b) + +""" + UpdateTrafficPolicyInstance() + +Updates the resource record sets in a specified hosted zone that were created based on the settings in a specified traffic policy version. When you update a traffic policy instance, Amazon Route 53 continues to respond to DNS queries for the root resource record set name (such as example.com) while it replaces one group of resource record sets with another. Route 53 performs the following operations: Route 53 creates a new group of resource record sets based on the specified traffic policy. This is true regardless of how significant the differences are between the existing resource record sets and the new resource record sets. When all of the new resource record sets have been created, Route 53 starts to respond to DNS queries for the root resource record set name (such as example.com) by using the new resource record sets. Route 53 deletes the old group of resource record sets that are associated with the root resource record set name. + +Required Parameters +{ + "Id": "The ID of the traffic policy instance that you want to update.", + "TrafficPolicyVersion": "The version of the traffic policy that you want Amazon Route 53 to use to update resource record sets for the specified traffic policy instance.", + "TTL": "The TTL that you want Amazon Route 53 to assign to all of the updated resource record sets.", + "TrafficPolicyId": "The ID of the traffic policy that you want Amazon Route 53 to use to update resource record sets for the specified traffic policy instance." +} +""" +UpdateTrafficPolicyInstance(Id, TrafficPolicyVersion, TTL, TrafficPolicyId) = route_53("POST", "/2013-04-01/trafficpolicyinstance/{Id}") +UpdateTrafficPolicyInstance(Id, TrafficPolicyVersion, TTL, TrafficPolicyId, args) = route_53("POST", "/2013-04-01/trafficpolicyinstance/{Id}", args) +UpdateTrafficPolicyInstance(a...; b...) = UpdateTrafficPolicyInstance(a..., b) + +""" + GetTrafficPolicy() + +Gets information about a specific traffic policy version. + +Required Parameters +{ + "Id": "The ID of the traffic policy that you want to get information about.", + "Version": "The version number of the traffic policy that you want to get information about." +} +""" +GetTrafficPolicy(Id, Version) = route_53("GET", "/2013-04-01/trafficpolicy/{Id}/{Version}") +GetTrafficPolicy(Id, Version, args) = route_53("GET", "/2013-04-01/trafficpolicy/{Id}/{Version}", args) +GetTrafficPolicy(a...; b...) = GetTrafficPolicy(a..., b) + +""" + ListGeoLocations() + +Retrieves a list of supported geographic locations. Countries are listed first, and continents are listed last. If Amazon Route 53 supports subdivisions for a country (for example, states or provinces), the subdivisions for that country are listed in alphabetical order immediately after the corresponding country. For a list of supported geolocation codes, see the GeoLocation data type. + +Optional Parameters +{ + "StartContinentCode": "The code for the continent with which you want to start listing locations that Amazon Route 53 supports for geolocation. If Route 53 has already returned a page or more of results, if IsTruncated is true, and if NextContinentCode from the previous response has a value, enter that value in startcontinentcode to return the next page of results. Include startcontinentcode only if you want to list continents. Don't include startcontinentcode when you're listing countries or countries with their subdivisions.", + "StartCountryCode": "The code for the country with which you want to start listing locations that Amazon Route 53 supports for geolocation. If Route 53 has already returned a page or more of results, if IsTruncated is true, and if NextCountryCode from the previous response has a value, enter that value in startcountrycode to return the next page of results.", + "MaxItems": "(Optional) The maximum number of geolocations to be included in the response body for this request. If more than maxitems geolocations remain to be listed, then the value of the IsTruncated element in the response is true.", + "StartSubdivisionCode": "The code for the state of the United States with which you want to start listing locations that Amazon Route 53 supports for geolocation. If Route 53 has already returned a page or more of results, if IsTruncated is true, and if NextSubdivisionCode from the previous response has a value, enter that value in startsubdivisioncode to return the next page of results. To list subdivisions (U.S. states), you must include both startcountrycode and startsubdivisioncode." +} +""" +ListGeoLocations() = route_53("GET", "/2013-04-01/geolocations") +ListGeoLocations(args) = route_53("GET", "/2013-04-01/geolocations", args) +ListGeoLocations(a...; b...) = ListGeoLocations(a..., b) + +""" + GetHealthCheckLastFailureReason() + +Gets the reason that a specified health check failed most recently. + +Required Parameters +{ + "HealthCheckId": "The ID for the health check for which you want the last failure reason. When you created the health check, CreateHealthCheck returned the ID in the response, in the HealthCheckId element. If you want to get the last failure reason for a calculated health check, you must use the Amazon Route 53 console or the CloudWatch console. You can't use GetHealthCheckLastFailureReason for a calculated health check. " +} +""" +GetHealthCheckLastFailureReason(HealthCheckId) = route_53("GET", "/2013-04-01/healthcheck/{HealthCheckId}/lastfailurereason") +GetHealthCheckLastFailureReason(HealthCheckId, args) = route_53("GET", "/2013-04-01/healthcheck/{HealthCheckId}/lastfailurereason", args) +GetHealthCheckLastFailureReason(a...; b...) = GetHealthCheckLastFailureReason(a..., b) + +""" + ListTrafficPolicyInstancesByHostedZone() + +Gets information about the traffic policy instances that you created in a specified hosted zone. After you submit a CreateTrafficPolicyInstance or an UpdateTrafficPolicyInstance request, there's a brief delay while Amazon Route 53 creates the resource record sets that are specified in the traffic policy definition. For more information, see the State response element. Route 53 returns a maximum of 100 items in each response. If you have a lot of traffic policy instances, you can use the MaxItems parameter to list them in groups of up to 100. + +Required Parameters +{ + "HostedZoneId": "The ID of the hosted zone that you want to list traffic policy instances for." +} + +Optional Parameters +{ + "MaxItems": "The maximum number of traffic policy instances to be included in the response body for this request. If you have more than MaxItems traffic policy instances, the value of the IsTruncated element in the response is true, and the values of HostedZoneIdMarker, TrafficPolicyInstanceNameMarker, and TrafficPolicyInstanceTypeMarker represent the first traffic policy instance that Amazon Route 53 will return if you submit another request.", + "TrafficPolicyInstanceNameMarker": "If the value of IsTruncated in the previous response is true, you have more traffic policy instances. To get more traffic policy instances, submit another ListTrafficPolicyInstances request. For the value of trafficpolicyinstancename, specify the value of TrafficPolicyInstanceNameMarker from the previous response, which is the name of the first traffic policy instance in the next group of traffic policy instances. If the value of IsTruncated in the previous response was false, there are no more traffic policy instances to get.", + "TrafficPolicyInstanceTypeMarker": "If the value of IsTruncated in the previous response is true, you have more traffic policy instances. To get more traffic policy instances, submit another ListTrafficPolicyInstances request. For the value of trafficpolicyinstancetype, specify the value of TrafficPolicyInstanceTypeMarker from the previous response, which is the type of the first traffic policy instance in the next group of traffic policy instances. If the value of IsTruncated in the previous response was false, there are no more traffic policy instances to get." +} +""" +ListTrafficPolicyInstancesByHostedZone(HostedZoneId) = route_53("GET", "/2013-04-01/trafficpolicyinstances/hostedzone") +ListTrafficPolicyInstancesByHostedZone(HostedZoneId, args) = route_53("GET", "/2013-04-01/trafficpolicyinstances/hostedzone", args) +ListTrafficPolicyInstancesByHostedZone(a...; b...) = ListTrafficPolicyInstancesByHostedZone(a..., b) + +""" + ChangeResourceRecordSets() + +Creates, changes, or deletes a resource record set, which contains authoritative DNS information for a specified domain name or subdomain name. For example, you can use ChangeResourceRecordSets to create a resource record set that routes traffic for test.example.com to a web server that has an IP address of 192.0.2.44. Change Batches and Transactional Changes The request body must include a document with a ChangeResourceRecordSetsRequest element. The request body contains a list of change items, known as a change batch. Change batches are considered transactional changes. When using the Amazon Route 53 API to change resource record sets, Route 53 either makes all or none of the changes in a change batch request. This ensures that Route 53 never partially implements the intended changes to the resource record sets in a hosted zone. For example, a change batch request that deletes the CNAME record for www.example.com and creates an alias resource record set for www.example.com. Route 53 deletes the first resource record set and creates the second resource record set in a single operation. If either the DELETE or the CREATE action fails, then both changes (plus any other changes in the batch) fail, and the original CNAME record continues to exist. Due to the nature of transactional changes, you can't delete the same resource record set more than once in a single change batch. If you attempt to delete the same change batch more than once, Route 53 returns an InvalidChangeBatch error. Traffic Flow To create resource record sets for complex routing configurations, use either the traffic flow visual editor in the Route 53 console or the API actions for traffic policies and traffic policy instances. Save the configuration as a traffic policy, then associate the traffic policy with one or more domain names (such as example.com) or subdomain names (such as www.example.com), in the same hosted zone or in multiple hosted zones. You can roll back the updates if the new configuration isn't performing as expected. For more information, see Using Traffic Flow to Route DNS Traffic in the Amazon Route 53 Developer Guide. Create, Delete, and Upsert Use ChangeResourceRecordsSetsRequest to perform the following actions: CREATE: Creates a resource record set that has the specified values. DELETE: Deletes an existing resource record set that has the specified values. UPSERT: If a resource record set does not already exist, AWS creates it. If a resource set does exist, Route 53 updates it with the values in the request. Syntaxes for Creating, Updating, and Deleting Resource Record Sets The syntax for a request depends on the type of resource record set that you want to create, delete, or update, such as weighted, alias, or failover. The XML elements in your request must appear in the order listed in the syntax. For an example for each type of resource record set, see "Examples." Don't refer to the syntax in the "Parameter Syntax" section, which includes all of the elements for every kind of resource record set that you can create, delete, or update by using ChangeResourceRecordSets. Change Propagation to Route 53 DNS Servers When you submit a ChangeResourceRecordSets request, Route 53 propagates your changes to all of the Route 53 authoritative DNS servers. While your changes are propagating, GetChange returns a status of PENDING. When propagation is complete, GetChange returns a status of INSYNC. Changes generally propagate to all Route 53 name servers within 60 seconds. For more information, see GetChange. Limits on ChangeResourceRecordSets Requests For information about the limits on a ChangeResourceRecordSets request, see Limits in the Amazon Route 53 Developer Guide. + +Required Parameters +{ + "HostedZoneId": "The ID of the hosted zone that contains the resource record sets that you want to change.", + "ChangeBatch": "A complex type that contains an optional comment and the Changes element." +} +""" +ChangeResourceRecordSets(HostedZoneId, ChangeBatch) = route_53("POST", "/2013-04-01/hostedzone/{Id}/rrset/") +ChangeResourceRecordSets(HostedZoneId, ChangeBatch, args) = route_53("POST", "/2013-04-01/hostedzone/{Id}/rrset/", args) +ChangeResourceRecordSets(a...; b...) = ChangeResourceRecordSets(a..., b) + +""" + GetTrafficPolicyInstanceCount() + +Gets the number of traffic policy instances that are associated with the current AWS account. +""" +GetTrafficPolicyInstanceCount() = route_53("GET", "/2013-04-01/trafficpolicyinstancecount") +GetTrafficPolicyInstanceCount(args) = route_53("GET", "/2013-04-01/trafficpolicyinstancecount", args) +GetTrafficPolicyInstanceCount(a...; b...) = GetTrafficPolicyInstanceCount(a..., b) + +""" + CreateHostedZone() + +Creates a new public or private hosted zone. You create records in a public hosted zone to define how you want to route traffic on the internet for a domain, such as example.com, and its subdomains (apex.example.com, acme.example.com). You create records in a private hosted zone to define how you want to route traffic for a domain and its subdomains within one or more Amazon Virtual Private Clouds (Amazon VPCs). You can't convert a public hosted zone to a private hosted zone or vice versa. Instead, you must create a new hosted zone with the same name and create new resource record sets. For more information about charges for hosted zones, see Amazon Route 53 Pricing. Note the following: You can't create a hosted zone for a top-level domain (TLD) such as .com. For public hosted zones, Route 53 automatically creates a default SOA record and four NS records for the zone. For more information about SOA and NS records, see NS and SOA Records that Route 53 Creates for a Hosted Zone in the Amazon Route 53 Developer Guide. If you want to use the same name servers for multiple public hosted zones, you can optionally associate a reusable delegation set with the hosted zone. See the DelegationSetId element. If your domain is registered with a registrar other than Route 53, you must update the name servers with your registrar to make Route 53 the DNS service for the domain. For more information, see Migrating DNS Service for an Existing Domain to Amazon Route 53 in the Amazon Route 53 Developer Guide. When you submit a CreateHostedZone request, the initial status of the hosted zone is PENDING. For public hosted zones, this means that the NS and SOA records are not yet available on all Route 53 DNS servers. When the NS and SOA records are available, the status of the zone changes to INSYNC. + +Required Parameters +{ + "Name": "The name of the domain. Specify a fully qualified domain name, for example, www.example.com. The trailing dot is optional; Amazon Route 53 assumes that the domain name is fully qualified. This means that Route 53 treats www.example.com (without a trailing dot) and www.example.com. (with a trailing dot) as identical. If you're creating a public hosted zone, this is the name you have registered with your DNS registrar. If your domain name is registered with a registrar other than Route 53, change the name servers for your domain to the set of NameServers that CreateHostedZone returns in DelegationSet.", + "CallerReference": "A unique string that identifies the request and that allows failed CreateHostedZone requests to be retried without the risk of executing the operation twice. You must use a unique CallerReference string every time you submit a CreateHostedZone request. CallerReference can be any unique string, for example, a date/time stamp." +} + +Optional Parameters +{ + "HostedZoneConfig": "(Optional) A complex type that contains the following optional values: For public and private hosted zones, an optional comment For private hosted zones, an optional PrivateZone element If you don't specify a comment or the PrivateZone element, omit HostedZoneConfig and the other elements.", + "VPC": "(Private hosted zones only) A complex type that contains information about the Amazon VPC that you're associating with this hosted zone. You can specify only one Amazon VPC when you create a private hosted zone. To associate additional Amazon VPCs with the hosted zone, use AssociateVPCWithHostedZone after you create a hosted zone.", + "DelegationSetId": "If you want to associate a reusable delegation set with this hosted zone, the ID that Amazon Route 53 assigned to the reusable delegation set when you created it. For more information about reusable delegation sets, see CreateReusableDelegationSet." +} +""" +CreateHostedZone(Name, CallerReference) = route_53("POST", "/2013-04-01/hostedzone") +CreateHostedZone(Name, CallerReference, args) = route_53("POST", "/2013-04-01/hostedzone", args) +CreateHostedZone(a...; b...) = CreateHostedZone(a..., b) + +""" + ListQueryLoggingConfigs() + +Lists the configurations for DNS query logging that are associated with the current AWS account or the configuration that is associated with a specified hosted zone. For more information about DNS query logs, see CreateQueryLoggingConfig. Additional information, including the format of DNS query logs, appears in Logging DNS Queries in the Amazon Route 53 Developer Guide. + +Optional Parameters +{ + "HostedZoneId": "(Optional) If you want to list the query logging configuration that is associated with a hosted zone, specify the ID in HostedZoneId. If you don't specify a hosted zone ID, ListQueryLoggingConfigs returns all of the configurations that are associated with the current AWS account.", + "MaxResults": "(Optional) The maximum number of query logging configurations that you want Amazon Route 53 to return in response to the current request. If the current AWS account has more than MaxResults configurations, use the value of NextToken in the response to get the next page of results. If you don't specify a value for MaxResults, Route 53 returns up to 100 configurations.", + "NextToken": "(Optional) If the current AWS account has more than MaxResults query logging configurations, use NextToken to get the second and subsequent pages of results. For the first ListQueryLoggingConfigs request, omit this value. For the second and subsequent requests, get the value of NextToken from the previous response and specify that value for NextToken in the request." +} +""" +ListQueryLoggingConfigs() = route_53("GET", "/2013-04-01/queryloggingconfig") +ListQueryLoggingConfigs(args) = route_53("GET", "/2013-04-01/queryloggingconfig", args) +ListQueryLoggingConfigs(a...; b...) = ListQueryLoggingConfigs(a..., b) + +""" + GetChange() + +Returns the current status of a change batch request. The status is one of the following values: PENDING indicates that the changes in this request have not propagated to all Amazon Route 53 DNS servers. This is the initial status of all change batch requests. INSYNC indicates that the changes have propagated to all Route 53 DNS servers. + +Required Parameters +{ + "Id": "The ID of the change batch request. The value that you specify here is the value that ChangeResourceRecordSets returned in the Id element when you submitted the request." +} +""" +GetChange(Id) = route_53("GET", "/2013-04-01/change/{Id}") +GetChange(Id, args) = route_53("GET", "/2013-04-01/change/{Id}", args) +GetChange(a...; b...) = GetChange(a..., b) + +""" + GetAccountLimit() + +Gets the specified limit for the current account, for example, the maximum number of health checks that you can create using the account. For the default limit, see Limits in the Amazon Route 53 Developer Guide. To request a higher limit, open a case. You can also view account limits in AWS Trusted Advisor. Sign in to the AWS Management Console and open the Trusted Advisor console at https://console.aws.amazon.com/trustedadvisor/. Then choose Service limits in the navigation pane. + +Required Parameters +{ + "Type": "The limit that you want to get. Valid values include the following: MAX_HEALTH_CHECKS_BY_OWNER: The maximum number of health checks that you can create using the current account. MAX_HOSTED_ZONES_BY_OWNER: The maximum number of hosted zones that you can create using the current account. MAX_REUSABLE_DELEGATION_SETS_BY_OWNER: The maximum number of reusable delegation sets that you can create using the current account. MAX_TRAFFIC_POLICIES_BY_OWNER: The maximum number of traffic policies that you can create using the current account. MAX_TRAFFIC_POLICY_INSTANCES_BY_OWNER: The maximum number of traffic policy instances that you can create using the current account. (Traffic policy instances are referred to as traffic flow policy records in the Amazon Route 53 console.) " +} +""" +GetAccountLimit(Type) = route_53("GET", "/2013-04-01/accountlimit/{Type}") +GetAccountLimit(Type, args) = route_53("GET", "/2013-04-01/accountlimit/{Type}", args) +GetAccountLimit(a...; b...) = GetAccountLimit(a..., b) + +""" + GetHealthCheck() + +Gets information about a specified health check. + +Required Parameters +{ + "HealthCheckId": "The identifier that Amazon Route 53 assigned to the health check when you created it. When you add or update a resource record set, you use this value to specify which health check to use. The value can be up to 64 characters long." +} +""" +GetHealthCheck(HealthCheckId) = route_53("GET", "/2013-04-01/healthcheck/{HealthCheckId}") +GetHealthCheck(HealthCheckId, args) = route_53("GET", "/2013-04-01/healthcheck/{HealthCheckId}", args) +GetHealthCheck(a...; b...) = GetHealthCheck(a..., b) diff --git a/src/services/route_53_domains.jl b/src/services/route_53_domains.jl new file mode 100644 index 0000000000..1270230a54 --- /dev/null +++ b/src/services/route_53_domains.jl @@ -0,0 +1,373 @@ +include("../AWSServices.jl") +using .AWSServices: route_53_domains + +""" + EnableDomainTransferLock() + +This operation sets the transfer lock on the domain (specifically the clientTransferProhibited status) to prevent domain transfers. Successful submission returns an operation ID that you can use to track the progress and completion of the action. If the request is not completed successfully, the domain registrant will be notified by email. + +Required Parameters +{ + "DomainName": "The name of the domain that you want to set the transfer lock for." +} +""" +EnableDomainTransferLock(args) = route_53_domains("EnableDomainTransferLock", args) + +""" + UpdateDomainNameservers() + +This operation replaces the current set of name servers for the domain with the specified set of name servers. If you use Amazon Route 53 as your DNS service, specify the four name servers in the delegation set for the hosted zone for the domain. If successful, this operation returns an operation ID that you can use to track the progress and completion of the action. If the request is not completed successfully, the domain registrant will be notified by email. + +Required Parameters +{ + "DomainName": "The name of the domain that you want to change name servers for.", + "Nameservers": "A list of new name servers for the domain." +} + +Optional Parameters +{ + "FIAuthKey": "The authorization key for .fi domains" +} +""" +UpdateDomainNameservers(args) = route_53_domains("UpdateDomainNameservers", args) + +""" + ViewBilling() + +Returns all the domain-related billing records for the current AWS account for a specified period + +Optional Parameters +{ + "Marker": "For an initial request for a list of billing records, omit this element. If the number of billing records that are associated with the current AWS account during the specified period is greater than the value that you specified for MaxItems, you can use Marker to return additional billing records. Get the value of NextPageMarker from the previous response, and submit another request that includes the value of NextPageMarker in the Marker element. Constraints: The marker must match the value of NextPageMarker that was returned in the previous response.", + "Start": "The beginning date and time for the time period for which you want a list of billing records. Specify the date and time in Coordinated Universal time (UTC).", + "MaxItems": "The number of billing records to be returned. Default: 20", + "End": "The end date and time for the time period for which you want a list of billing records. Specify the date and time in Coordinated Universal time (UTC)." +} +""" +ViewBilling() = route_53_domains("ViewBilling") +ViewBilling(args) = route_53_domains("ViewBilling", args) + +""" + RegisterDomain() + +This operation registers a domain. Domains are registered either by Amazon Registrar (for .com, .net, and .org domains) or by our registrar associate, Gandi (for all other domains). For some top-level domains (TLDs), this operation requires extra parameters. When you register a domain, Amazon Route 53 does the following: Creates a Amazon Route 53 hosted zone that has the same name as the domain. Amazon Route 53 assigns four name servers to your hosted zone and automatically updates your domain registration with the names of these name servers. Enables autorenew, so your domain registration will renew automatically each year. We'll notify you in advance of the renewal date so you can choose whether to renew the registration. Optionally enables privacy protection, so WHOIS queries return contact information either for Amazon Registrar (for .com, .net, and .org domains) or for our registrar associate, Gandi (for all other TLDs). If you don't enable privacy protection, WHOIS queries return the information that you entered for the registrant, admin, and tech contacts. If registration is successful, returns an operation ID that you can use to track the progress and completion of the action. If the request is not completed successfully, the domain registrant is notified by email. Charges your AWS account an amount based on the top-level domain. For more information, see Amazon Route 53 Pricing. + +Required Parameters +{ + "DomainName": "The domain name that you want to register. Constraints: The domain name can contain only the letters a through z, the numbers 0 through 9, and hyphen (-). Internationalized Domain Names are not supported.", + "AdminContact": "Provides detailed contact information.", + "TechContact": "Provides detailed contact information.", + "DurationInYears": "The number of years that you want to register the domain for. Domains are registered for a minimum of one year. The maximum period depends on the top-level domain. For the range of valid values for your domain, see Domains that You Can Register with Amazon Route 53 in the Amazon Route 53 Developer Guide. Default: 1", + "RegistrantContact": "Provides detailed contact information." +} + +Optional Parameters +{ + "PrivacyProtectAdminContact": "Whether you want to conceal contact information from WHOIS queries. If you specify true, WHOIS (\"who is\") queries return contact information either for Amazon Registrar (for .com, .net, and .org domains) or for our registrar associate, Gandi (for all other TLDs). If you specify false, WHOIS queries return the information that you entered for the admin contact. Default: true ", + "PrivacyProtectTechContact": "Whether you want to conceal contact information from WHOIS queries. If you specify true, WHOIS (\"who is\") queries return contact information either for Amazon Registrar (for .com, .net, and .org domains) or for our registrar associate, Gandi (for all other TLDs). If you specify false, WHOIS queries return the information that you entered for the technical contact. Default: true ", + "AutoRenew": "Indicates whether the domain will be automatically renewed (true) or not (false). Autorenewal only takes effect after the account is charged. Default: true ", + "IdnLangCode": "Reserved for future use.", + "PrivacyProtectRegistrantContact": "Whether you want to conceal contact information from WHOIS queries. If you specify true, WHOIS (\"who is\") queries return contact information either for Amazon Registrar (for .com, .net, and .org domains) or for our registrar associate, Gandi (for all other TLDs). If you specify false, WHOIS queries return the information that you entered for the registrant contact (the domain owner). Default: true " +} +""" +RegisterDomain(args) = route_53_domains("RegisterDomain", args) + +""" + DeleteTagsForDomain() + +This operation deletes the specified tags for a domain. All tag operations are eventually consistent; subsequent operations might not immediately represent all issued operations. + +Required Parameters +{ + "DomainName": "The domain for which you want to delete one or more tags.", + "TagsToDelete": "A list of tag keys to delete." +} +""" +DeleteTagsForDomain(args) = route_53_domains("DeleteTagsForDomain", args) + +""" + GetContactReachabilityStatus() + +For operations that require confirmation that the email address for the registrant contact is valid, such as registering a new domain, this operation returns information about whether the registrant contact has responded. If you want us to resend the email, use the ResendContactReachabilityEmail operation. + +Optional Parameters +{ + "domainName": "The name of the domain for which you want to know whether the registrant contact has confirmed that the email address is valid." +} +""" +GetContactReachabilityStatus() = route_53_domains("GetContactReachabilityStatus") +GetContactReachabilityStatus(args) = route_53_domains("GetContactReachabilityStatus", args) + +""" + UpdateDomainContactPrivacy() + +This operation updates the specified domain contact's privacy setting. When privacy protection is enabled, contact information such as email address is replaced either with contact information for Amazon Registrar (for .com, .net, and .org domains) or with contact information for our registrar associate, Gandi. This operation affects only the contact information for the specified contact type (registrant, administrator, or tech). If the request succeeds, Amazon Route 53 returns an operation ID that you can use with GetOperationDetail to track the progress and completion of the action. If the request doesn't complete successfully, the domain registrant will be notified by email. + +Required Parameters +{ + "DomainName": "The name of the domain that you want to update the privacy setting for." +} + +Optional Parameters +{ + "RegistrantPrivacy": "Whether you want to conceal contact information from WHOIS queries. If you specify true, WHOIS (\"who is\") queries return contact information either for Amazon Registrar (for .com, .net, and .org domains) or for our registrar associate, Gandi (for all other TLDs). If you specify false, WHOIS queries return the information that you entered for the registrant contact (domain owner).", + "AdminPrivacy": "Whether you want to conceal contact information from WHOIS queries. If you specify true, WHOIS (\"who is\") queries return contact information either for Amazon Registrar (for .com, .net, and .org domains) or for our registrar associate, Gandi (for all other TLDs). If you specify false, WHOIS queries return the information that you entered for the admin contact.", + "TechPrivacy": "Whether you want to conceal contact information from WHOIS queries. If you specify true, WHOIS (\"who is\") queries return contact information either for Amazon Registrar (for .com, .net, and .org domains) or for our registrar associate, Gandi (for all other TLDs). If you specify false, WHOIS queries return the information that you entered for the technical contact." +} +""" +UpdateDomainContactPrivacy(args) = route_53_domains("UpdateDomainContactPrivacy", args) + +""" + ListDomains() + +This operation returns all the domain names registered with Amazon Route 53 for the current AWS account. + +Optional Parameters +{ + "Marker": "For an initial request for a list of domains, omit this element. If the number of domains that are associated with the current AWS account is greater than the value that you specified for MaxItems, you can use Marker to return additional domains. Get the value of NextPageMarker from the previous response, and submit another request that includes the value of NextPageMarker in the Marker element. Constraints: The marker must match the value specified in the previous request.", + "MaxItems": "Number of domains to be returned. Default: 20" +} +""" +ListDomains() = route_53_domains("ListDomains") +ListDomains(args) = route_53_domains("ListDomains", args) + +""" + ResendContactReachabilityEmail() + +For operations that require confirmation that the email address for the registrant contact is valid, such as registering a new domain, this operation resends the confirmation email to the current email address for the registrant contact. + +Optional Parameters +{ + "domainName": "The name of the domain for which you want Amazon Route 53 to resend a confirmation email to the registrant contact." +} +""" +ResendContactReachabilityEmail() = route_53_domains("ResendContactReachabilityEmail") +ResendContactReachabilityEmail(args) = route_53_domains("ResendContactReachabilityEmail", args) + +""" + RenewDomain() + +This operation renews a domain for the specified number of years. The cost of renewing your domain is billed to your AWS account. We recommend that you renew your domain several weeks before the expiration date. Some TLD registries delete domains before the expiration date if you haven't renewed far enough in advance. For more information about renewing domain registration, see Renewing Registration for a Domain in the Amazon Route 53 Developer Guide. + +Required Parameters +{ + "DomainName": "The name of the domain that you want to renew.", + "CurrentExpiryYear": "The year when the registration for the domain is set to expire. This value must match the current expiration date for the domain." +} + +Optional Parameters +{ + "DurationInYears": "The number of years that you want to renew the domain for. The maximum number of years depends on the top-level domain. For the range of valid values for your domain, see Domains that You Can Register with Amazon Route 53 in the Amazon Route 53 Developer Guide. Default: 1" +} +""" +RenewDomain(args) = route_53_domains("RenewDomain", args) + +""" + RetrieveDomainAuthCode() + +This operation returns the AuthCode for the domain. To transfer a domain to another registrar, you provide this value to the new registrar. + +Required Parameters +{ + "DomainName": "The name of the domain that you want to get an authorization code for." +} +""" +RetrieveDomainAuthCode(args) = route_53_domains("RetrieveDomainAuthCode", args) + +""" + TransferDomain() + +This operation transfers a domain from another registrar to Amazon Route 53. When the transfer is complete, the domain is registered either with Amazon Registrar (for .com, .net, and .org domains) or with our registrar associate, Gandi (for all other TLDs). For transfer requirements, a detailed procedure, and information about viewing the status of a domain transfer, see Transferring Registration for a Domain to Amazon Route 53 in the Amazon Route 53 Developer Guide. If the registrar for your domain is also the DNS service provider for the domain, we highly recommend that you consider transferring your DNS service to Amazon Route 53 or to another DNS service provider before you transfer your registration. Some registrars provide free DNS service when you purchase a domain registration. When you transfer the registration, the previous registrar will not renew your domain registration and could end your DNS service at any time. If the registrar for your domain is also the DNS service provider for the domain and you don't transfer DNS service to another provider, your website, email, and the web applications associated with the domain might become unavailable. If the transfer is successful, this method returns an operation ID that you can use to track the progress and completion of the action. If the transfer doesn't complete successfully, the domain registrant will be notified by email. + +Required Parameters +{ + "DomainName": "The name of the domain that you want to transfer to Amazon Route 53. Constraints: The domain name can contain only the letters a through z, the numbers 0 through 9, and hyphen (-). Internationalized Domain Names are not supported.", + "AdminContact": "Provides detailed contact information.", + "TechContact": "Provides detailed contact information.", + "DurationInYears": "The number of years that you want to register the domain for. Domains are registered for a minimum of one year. The maximum period depends on the top-level domain. Default: 1", + "RegistrantContact": "Provides detailed contact information." +} + +Optional Parameters +{ + "PrivacyProtectAdminContact": "Whether you want to conceal contact information from WHOIS queries. If you specify true, WHOIS (\"who is\") queries return contact information either for Amazon Registrar (for .com, .net, and .org domains) or for our registrar associate, Gandi (for all other TLDs). If you specify false, WHOIS queries return the information that you entered for the admin contact. Default: true ", + "PrivacyProtectTechContact": "Whether you want to conceal contact information from WHOIS queries. If you specify true, WHOIS (\"who is\") queries return contact information either for Amazon Registrar (for .com, .net, and .org domains) or for our registrar associate, Gandi (for all other TLDs). If you specify false, WHOIS queries return the information that you entered for the technical contact. Default: true ", + "AutoRenew": "Indicates whether the domain will be automatically renewed (true) or not (false). Autorenewal only takes effect after the account is charged. Default: true", + "IdnLangCode": "Reserved for future use.", + "Nameservers": "Contains details for the host and glue IP addresses.", + "PrivacyProtectRegistrantContact": "Whether you want to conceal contact information from WHOIS queries. If you specify true, WHOIS (\"who is\") queries return contact information either for Amazon Registrar (for .com, .net, and .org domains) or for our registrar associate, Gandi (for all other TLDs). If you specify false, WHOIS queries return the information that you entered for the registrant contact (domain owner). Default: true ", + "AuthCode": "The authorization code for the domain. You get this value from the current registrar." +} +""" +TransferDomain(args) = route_53_domains("TransferDomain", args) + +""" + CheckDomainTransferability() + +Checks whether a domain name can be transferred to Amazon Route 53. + +Required Parameters +{ + "DomainName": "The name of the domain that you want to transfer to Amazon Route 53. Constraints: The domain name can contain only the letters a through z, the numbers 0 through 9, and hyphen (-). Internationalized Domain Names are not supported." +} + +Optional Parameters +{ + "AuthCode": "If the registrar for the top-level domain (TLD) requires an authorization code to transfer the domain, the code that you got from the current registrar for the domain." +} +""" +CheckDomainTransferability(args) = route_53_domains("CheckDomainTransferability", args) + +""" + EnableDomainAutoRenew() + +This operation configures Amazon Route 53 to automatically renew the specified domain before the domain registration expires. The cost of renewing your domain registration is billed to your AWS account. The period during which you can renew a domain name varies by TLD. For a list of TLDs and their renewal policies, see "Renewal, restoration, and deletion times" on the website for our registrar associate, Gandi. Amazon Route 53 requires that you renew before the end of the renewal period that is listed on the Gandi website so we can complete processing before the deadline. + +Required Parameters +{ + "DomainName": "The name of the domain that you want to enable automatic renewal for." +} +""" +EnableDomainAutoRenew(args) = route_53_domains("EnableDomainAutoRenew", args) + +""" + GetDomainDetail() + +This operation returns detailed information about a specified domain that is associated with the current AWS account. Contact information for the domain is also returned as part of the output. + +Required Parameters +{ + "DomainName": "The name of the domain that you want to get detailed information about." +} +""" +GetDomainDetail(args) = route_53_domains("GetDomainDetail", args) + +""" + GetDomainSuggestions() + +The GetDomainSuggestions operation returns a list of suggested domain names given a string, which can either be a domain name or simply a word or phrase (without spaces). + +Required Parameters +{ + "SuggestionCount": "The number of suggested domain names that you want Amazon Route 53 to return.", + "OnlyAvailable": "If OnlyAvailable is true, Amazon Route 53 returns only domain names that are available. If OnlyAvailable is false, Amazon Route 53 returns domain names without checking whether they're available to be registered. To determine whether the domain is available, you can call checkDomainAvailability for each suggestion.", + "DomainName": "A domain name that you want to use as the basis for a list of possible domain names. The domain name must contain a top-level domain (TLD), such as .com, that Amazon Route 53 supports. For a list of TLDs, see Domains that You Can Register with Amazon Route 53 in the Amazon Route 53 Developer Guide." +} +""" +GetDomainSuggestions(args) = route_53_domains("GetDomainSuggestions", args) + +""" + UpdateDomainContact() + +This operation updates the contact information for a particular domain. You must specify information for at least one contact: registrant, administrator, or technical. If the update is successful, this method returns an operation ID that you can use to track the progress and completion of the action. If the request is not completed successfully, the domain registrant will be notified by email. + +Required Parameters +{ + "DomainName": "The name of the domain that you want to update contact information for." +} + +Optional Parameters +{ + "AdminContact": "Provides detailed contact information.", + "TechContact": "Provides detailed contact information.", + "RegistrantContact": "Provides detailed contact information." +} +""" +UpdateDomainContact(args) = route_53_domains("UpdateDomainContact", args) + +""" + DisableDomainAutoRenew() + +This operation disables automatic renewal of domain registration for the specified domain. + +Required Parameters +{ + "DomainName": "The name of the domain that you want to disable automatic renewal for." +} +""" +DisableDomainAutoRenew(args) = route_53_domains("DisableDomainAutoRenew", args) + +""" + ListTagsForDomain() + +This operation returns all of the tags that are associated with the specified domain. All tag operations are eventually consistent; subsequent operations might not immediately represent all issued operations. + +Required Parameters +{ + "DomainName": "The domain for which you want to get a list of tags." +} +""" +ListTagsForDomain(args) = route_53_domains("ListTagsForDomain", args) + +""" + CheckDomainAvailability() + +This operation checks the availability of one domain name. Note that if the availability status of a domain is pending, you must submit another request to determine the availability of the domain name. + +Required Parameters +{ + "DomainName": "The name of the domain that you want to get availability for. Constraints: The domain name can contain only the letters a through z, the numbers 0 through 9, and hyphen (-). Internationalized Domain Names are not supported." +} + +Optional Parameters +{ + "IdnLangCode": "Reserved for future use." +} +""" +CheckDomainAvailability(args) = route_53_domains("CheckDomainAvailability", args) + +""" + DisableDomainTransferLock() + +This operation removes the transfer lock on the domain (specifically the clientTransferProhibited status) to allow domain transfers. We recommend you refrain from performing this action unless you intend to transfer the domain to a different registrar. Successful submission returns an operation ID that you can use to track the progress and completion of the action. If the request is not completed successfully, the domain registrant will be notified by email. + +Required Parameters +{ + "DomainName": "The name of the domain that you want to remove the transfer lock for." +} +""" +DisableDomainTransferLock(args) = route_53_domains("DisableDomainTransferLock", args) + +""" + GetOperationDetail() + +This operation returns the current status of an operation that is not completed. + +Required Parameters +{ + "OperationId": "The identifier for the operation for which you want to get the status. Amazon Route 53 returned the identifier in the response to the original request." +} +""" +GetOperationDetail(args) = route_53_domains("GetOperationDetail", args) + +""" + ListOperations() + +This operation returns the operation IDs of operations that are not yet complete. + +Optional Parameters +{ + "Marker": "For an initial request for a list of operations, omit this element. If the number of operations that are not yet complete is greater than the value that you specified for MaxItems, you can use Marker to return additional operations. Get the value of NextPageMarker from the previous response, and submit another request that includes the value of NextPageMarker in the Marker element.", + "MaxItems": "Number of domains to be returned. Default: 20", + "SubmittedSince": "An optional parameter that lets you get information about all the operations that you submitted after a specified date and time. Specify the date and time in Coordinated Universal time (UTC)." +} +""" +ListOperations() = route_53_domains("ListOperations") +ListOperations(args) = route_53_domains("ListOperations", args) + +""" + UpdateTagsForDomain() + +This operation adds or updates tags for a specified domain. All tag operations are eventually consistent; subsequent operations might not immediately represent all issued operations. + +Required Parameters +{ + "DomainName": "The domain for which you want to add or update tags." +} + +Optional Parameters +{ + "TagsToUpdate": "A list of the tag keys and values that you want to add or update. If you specify a key that already exists, the corresponding value will be replaced." +} +""" +UpdateTagsForDomain(args) = route_53_domains("UpdateTagsForDomain", args) diff --git a/src/services/s3.jl b/src/services/s3.jl new file mode 100644 index 0000000000..086c8e38c8 --- /dev/null +++ b/src/services/s3.jl @@ -0,0 +1,1731 @@ +include("../AWSServices.jl") +using .AWSServices: s3 + +""" + PutBucketCors() + +Sets the cors configuration for your bucket. If the configuration exists, Amazon S3 replaces it. To use this operation, you must be allowed to perform the s3:PutBucketCORS action. By default, the bucket owner has this permission and can grant it to others. You set this configuration on a bucket so that the bucket can service cross-origin requests. For example, you might want to enable a request whose origin is http://www.example.com to access your Amazon S3 bucket at my.example.bucket.com by using the browser's XMLHttpRequest capability. To enable cross-origin resource sharing (CORS) on a bucket, you add the cors subresource to the bucket. The cors subresource is an XML document in which you configure rules that identify origins and the HTTP methods that can be executed on your bucket. The document is limited to 64 KB in size. When Amazon S3 receives a cross-origin request (or a pre-flight OPTIONS request) against a bucket, it evaluates the cors configuration on the bucket and uses the first CORSRule rule that matches the incoming browser request to enable a cross-origin request. For a rule to match, the following conditions must be met: The request's Origin header must match AllowedOrigin elements. The request method (for example, GET, PUT, HEAD, and so on) or the Access-Control-Request-Method header in case of a pre-flight OPTIONS request must be one of the AllowedMethod elements. Every header specified in the Access-Control-Request-Headers request header of a pre-flight request must match an AllowedHeader element. For more information about CORS, go to Enabling Cross-Origin Resource Sharing in the Amazon Simple Storage Service Developer Guide. Related Resources GetBucketCors DeleteBucketCors RESTOPTIONSobject + +Required Parameters +{ + "CORSConfiguration": "Describes the cross-origin access configuration for objects in an Amazon S3 bucket. For more information, see Enabling Cross-Origin Resource Sharing in the Amazon Simple Storage Service Developer Guide.", + "Bucket": "Specifies the bucket impacted by the corsconfiguration." +} + +Optional Parameters +{ + "ContentMD5": "The base64-encoded 128-bit MD5 digest of the data. This header must be used as a message integrity check to verify that the request body was not corrupted in transit. For more information, go to RFC 1864. " +} +""" +PutBucketCors(CORSConfiguration, Bucket) = s3("PUT", "/{Bucket}?cors") +PutBucketCors(CORSConfiguration, Bucket, args) = s3("PUT", "/{Bucket}?cors", args) +PutBucketCors(a...; b...) = PutBucketCors(a..., b) + +""" + PutObjectTagging() + +Sets the supplied tag-set to an object that already exists in a bucket A tag is a key-value pair. You can associate tags with an object by sending a PUT request against the tagging subresource that is associated with the object. You can retrieve tags by sending a GET request. For more information, see GetObjectTagging. For tagging-related restrictions related to characters and encodings, see Tag Restrictions. Note that Amazon S3 limits the maximum number of tags to 10 tags per object. To use this operation, you must have permission to perform the s3:PutObjectTagging action. By default, the bucket owner has this permission and can grant this permission to others. To put tags of any other version, use the versionId query parameter. You also need permission for the s3:PutObjectVersionTagging action. For information about the Amazon S3 object tagging feature, see Object Tagging. Special Errors Code: InvalidTagError Cause: The tag provided was not a valid tag. This error can occur if the tag did not pass input validation. For more information, see Object Tagging. Code: MalformedXMLError Cause: The XML provided does not match the schema. Code: OperationAbortedError Cause: A conflicting conditional operation is currently in progress against this resource. Please try again. Code: InternalError Cause: The service was unable to apply the provided tag to the object. Related Resources GetObjectTagging + +Required Parameters +{ + "Tagging": "Container for the TagSet and Tag elements", + "Bucket": "The bucket name containing the object. When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.", + "Key": "Name of the tag." +} + +Optional Parameters +{ + "ContentMD5": "The MD5 hash for the request body.", + "VersionId": "The versionId of the object that the tag-set will be added to." +} +""" +PutObjectTagging(Tagging, Bucket, Key) = s3("PUT", "/{Bucket}/{Key+}?tagging") +PutObjectTagging(Tagging, Bucket, Key, args) = s3("PUT", "/{Bucket}/{Key+}?tagging", args) +PutObjectTagging(a...; b...) = PutObjectTagging(a..., b) + +""" + GetPublicAccessBlock() + +Retrieves the PublicAccessBlock configuration for an Amazon S3 bucket. To use this operation, you must have the s3:GetBucketPublicAccessBlock permission. For more information about Amazon S3 permissions, see Specifying Permissions in a Policy. When Amazon S3 evaluates the PublicAccessBlock configuration for a bucket or an object, it checks the PublicAccessBlock configuration for both the bucket (or the bucket that contains the object) and the bucket owner's account. If the PublicAccessBlock settings are different between the bucket and the account, Amazon S3 uses the most restrictive combination of the bucket-level and account-level settings. For more information about when Amazon S3 considers a bucket or an object public, see The Meaning of "Public". The following operations are related to GetPublicAccessBlock: Using Amazon S3 Block Public Access PutPublicAccessBlock GetPublicAccessBlock DeletePublicAccessBlock + +Required Parameters +{ + "Bucket": "The name of the Amazon S3 bucket whose PublicAccessBlock configuration you want to retrieve. " +} +""" +GetPublicAccessBlock(Bucket) = s3("GET", "/{Bucket}?publicAccessBlock") +GetPublicAccessBlock(Bucket, args) = s3("GET", "/{Bucket}?publicAccessBlock", args) +GetPublicAccessBlock(a...; b...) = GetPublicAccessBlock(a..., b) + +""" + CompleteMultipartUpload() + +Completes a multipart upload by assembling previously uploaded parts. You first initiate the multipart upload and then upload all parts using the UploadPart operation. After successfully uploading all relevant parts of an upload, you call this operation to complete the upload. Upon receiving this request, Amazon S3 concatenates all the parts in ascending order by part number to create a new object. In the Complete Multipart Upload request, you must provide the parts list. You must ensure that the parts list is complete. This operation concatenates the parts that you provide in the list. For each part in the list, you must provide the part number and the ETag value, returned after that part was uploaded. Processing of a Complete Multipart Upload request could take several minutes to complete. After Amazon S3 begins processing the request, it sends an HTTP response header that specifies a 200 OK response. While processing is in progress, Amazon S3 periodically sends white space characters to keep the connection from timing out. Because a request could fail after the initial 200 OK response has been sent, it is important that you check the response body to determine whether the request succeeded. Note that if CompleteMultipartUpload fails, applications should be prepared to retry the failed requests. For more information, see Amazon S3 Error Best Practices. For more information about multipart uploads, see Uploading Objects Using Multipart Upload. For information about permissions required to use the multipart upload API, see Multipart Upload API and Permissions. GetBucketLifecycle has the following special errors: Error code: EntityTooSmall Description: Your proposed upload is smaller than the minimum allowed object size. Each part must be at least 5 MB in size, except the last part. 400 Bad Request Error code: InvalidPart Description: One or more of the specified parts could not be found. The part might not have been uploaded, or the specified entity tag might not have matched the part's entity tag. 400 Bad Request Error code: InvalidPartOrder Description: The list of parts was not in ascending order. The parts list must be specified in order by part number. 400 Bad Request Error code: NoSuchUpload Description: The specified multipart upload does not exist. The upload ID might be invalid, or the multipart upload might have been aborted or completed. 404 Not Found The following operations are related to DeleteBucketMetricsConfiguration: CreateMultipartUpload UploadPart AbortMultipartUpload ListParts ListMultipartUploads + +Required Parameters +{ + "UploadId": "ID for the initiated multipart upload.", + "Bucket": "Name of the bucket to which the multipart upload was initiated.", + "Key": "Object key for which the multipart upload was initiated." +} + +Optional Parameters +{ + "MultipartUpload": "The container for the multipart upload request information.", + "RequestPayer": "" +} +""" +CompleteMultipartUpload(UploadId, Bucket, Key) = s3("POST", "/{Bucket}/{Key+}") +CompleteMultipartUpload(UploadId, Bucket, Key, args) = s3("POST", "/{Bucket}/{Key+}", args) +CompleteMultipartUpload(a...; b...) = CompleteMultipartUpload(a..., b) + +""" + PutBucketWebsite() + +Sets the configuration of the website that is specified in the website subresource. To configure a bucket as a website, you can add this subresource on the bucket with website configuration information such as the file name of the index document and any redirect rules. For more information, see Hosting Websites on Amazon S3. This PUT operation requires the S3:PutBucketWebsite permission. By default, only the bucket owner can configure the website attached to a bucket; however, bucket owners can allow other users to set the website configuration by writing a bucket policy that grants them the S3:PutBucketWebsite permission. To redirect all website requests sent to the bucket's website endpoint, you add a website configuration with the following elements. Because all requests are sent to another website, you don't need to provide index document name for the bucket. WebsiteConfiguration RedirectAllRequestsTo HostName Protocol If you want granular control over redirects, you can use the following elements to add routing rules that describe conditions for redirecting requests and information about the redirect destination. In this case, the website configuration must provide an index document for the bucket, because some requests might not be redirected. WebsiteConfiguration IndexDocument Suffix ErrorDocument Key RoutingRules RoutingRule Condition HttpErrorCodeReturnedEquals KeyPrefixEquals Redirect Protocol HostName ReplaceKeyPrefixWith ReplaceKeyWith HttpRedirectCode + +Required Parameters +{ + "WebsiteConfiguration": "Container for the request.", + "Bucket": "The bucket name." +} + +Optional Parameters +{ + "ContentMD5": "The base64-encoded 128-bit MD5 digest of the data. You must use this header as a message integrity check to verify that the request body was not corrupted in transit. For more information, see RFC 1864." +} +""" +PutBucketWebsite(WebsiteConfiguration, Bucket) = s3("PUT", "/{Bucket}?website") +PutBucketWebsite(WebsiteConfiguration, Bucket, args) = s3("PUT", "/{Bucket}?website", args) +PutBucketWebsite(a...; b...) = PutBucketWebsite(a..., b) + +""" + GetObjectLockConfiguration() + +Gets the Object Lock configuration for a bucket. The rule specified in the Object Lock configuration will be applied by default to every new object placed in the specified bucket. For more information, see Locking Objects. + +Required Parameters +{ + "Bucket": "The bucket whose Object Lock configuration you want to retrieve." +} +""" +GetObjectLockConfiguration(Bucket) = s3("GET", "/{Bucket}?object-lock") +GetObjectLockConfiguration(Bucket, args) = s3("GET", "/{Bucket}?object-lock", args) +GetObjectLockConfiguration(a...; b...) = GetObjectLockConfiguration(a..., b) + +""" + PutBucketAnalyticsConfiguration() + +Sets an analytics configuration for the bucket (specified by the analytics configuration ID). You can have up to 1,000 analytics configurations per bucket. You can choose to have storage class analysis export analysis reports sent to a comma-separated values (CSV) flat file. See the DataExport request element. Reports are updated daily and are based on the object filters that you configure. When selecting data export, you specify a destination bucket and an optional destination prefix where the file is written. You can export the data to a destination bucket in a different account. However, the destination bucket must be in the same Region as the bucket that you are making the PUT analytics configuration to. For more information, see Amazon S3 Analytics – Storage Class Analysis. You must create a bucket policy on the destination bucket where the exported file is written to grant permissions to Amazon S3 to write objects to the bucket. For an example policy, see Granting Permissions for Amazon S3 Inventory and Storage Class Analysis. To use this operation, you must have permissions to perform the s3:PutAnalyticsConfiguration action. The bucket owner has this permission by default. The bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources. Special Errors HTTP Error: HTTP 400 Bad Request Code: InvalidArgument Cause: Invalid argument. HTTP Error: HTTP 400 Bad Request Code: TooManyConfigurations Cause: You are attempting to create a new configuration but have already reached the 1,000-configuration limit. HTTP Error: HTTP 403 Forbidden Code: AccessDenied Cause: You are not the owner of the specified bucket, or you do not have the s3:PutAnalyticsConfiguration bucket permission to set the configuration on the bucket. Related Resources + +Required Parameters +{ + "Id": "The ID that identifies the analytics configuration.", + "AnalyticsConfiguration": "The configuration and any analyses for the analytics filter.", + "Bucket": "The name of the bucket to which an analytics configuration is stored." +} +""" +PutBucketAnalyticsConfiguration(Id, AnalyticsConfiguration, Bucket) = s3("PUT", "/{Bucket}?analytics") +PutBucketAnalyticsConfiguration(Id, AnalyticsConfiguration, Bucket, args) = s3("PUT", "/{Bucket}?analytics", args) +PutBucketAnalyticsConfiguration(a...; b...) = PutBucketAnalyticsConfiguration(a..., b) + +""" + GetBucketAccelerateConfiguration() + +This implementation of the GET operation uses the accelerate subresource to return the Transfer Acceleration state of a bucket, which is either Enabled or Suspended. Amazon S3 Transfer Acceleration is a bucket-level feature that enables you to perform faster data transfers to and from Amazon S3. To use this operation, you must have permission to perform the s3:GetAccelerateConfiguration action. The bucket owner has this permission by default. The bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to your Amazon S3 Resources in the Amazon Simple Storage Service Developer Guide. You set the Transfer Acceleration state of an existing bucket to Enabled or Suspended by using the PutBucketAccelerateConfiguration operation. A GET accelerate request does not return a state value for a bucket that has no transfer acceleration state. A bucket has no Transfer Acceleration state if a state has never been set on the bucket. For more information about transfer acceleration, see Transfer Acceleration in the Amazon Simple Storage Service Developer Guide. Related Resources PutBucketAccelerateConfiguration + +Required Parameters +{ + "Bucket": "Name of the bucket for which the accelerate configuration is retrieved." +} +""" +GetBucketAccelerateConfiguration(Bucket) = s3("GET", "/{Bucket}?accelerate") +GetBucketAccelerateConfiguration(Bucket, args) = s3("GET", "/{Bucket}?accelerate", args) +GetBucketAccelerateConfiguration(a...; b...) = GetBucketAccelerateConfiguration(a..., b) + +""" + ListBucketInventoryConfigurations() + +Returns a list of inventory configurations for the bucket. You can have up to 1,000 analytics configurations per bucket. This operation supports list pagination and does not return more than 100 configurations at a time. Always check the IsTruncated element in the response. If there are no more configurations to list, IsTruncated is set to false. If there are more configurations to list, IsTruncated is set to true, and there is a value in NextContinuationToken. You use the NextContinuationToken value to continue the pagination of the list by passing the value in continuation-token in the request to GET the next page. To use this operation, you must have permissions to perform the s3:GetInventoryConfiguration action. The bucket owner has this permission by default. The bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources. For information about the Amazon S3 inventory feature, see Amazon S3 Inventory The following operations are related to ListBucketInventoryConfigurations: GetBucketInventoryConfiguration DeleteBucketInventoryConfiguration PutBucketInventoryConfiguration + +Required Parameters +{ + "Bucket": "The name of the bucket containing the inventory configurations to retrieve." +} + +Optional Parameters +{ + "ContinuationToken": "The marker used to continue an inventory configuration listing that has been truncated. Use the NextContinuationToken from a previously truncated list response to continue the listing. The continuation token is an opaque value that Amazon S3 understands." +} +""" +ListBucketInventoryConfigurations(Bucket) = s3("GET", "/{Bucket}?inventory") +ListBucketInventoryConfigurations(Bucket, args) = s3("GET", "/{Bucket}?inventory", args) +ListBucketInventoryConfigurations(a...; b...) = ListBucketInventoryConfigurations(a..., b) + +""" + AbortMultipartUpload() + +This operation aborts a multipart upload. After a multipart upload is aborted, no additional parts can be uploaded using that upload ID. The storage consumed by any previously uploaded parts will be freed. However, if any part uploads are currently in progress, those part uploads might or might not succeed. As a result, it might be necessary to abort a given multipart upload multiple times in order to completely free all storage consumed by all parts. To verify that all parts have been removed, so you don't get charged for the part storage, you should call the ListParts operation and ensure that the parts list is empty. For information about permissions required to use the multipart upload API, see Multipart Upload API and Permissions. The following operations are related to AbortMultipartUpload: CreateMultipartUpload UploadPart CompleteMultipartUpload ListParts ListMultipartUploads + +Required Parameters +{ + "UploadId": "Upload ID that identifies the multipart upload.", + "Bucket": "The bucket name to which the upload was taking place. When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.", + "Key": "Key of the object for which the multipart upload was initiated." +} + +Optional Parameters +{ + "RequestPayer": "" +} +""" +AbortMultipartUpload(UploadId, Bucket, Key) = s3("DELETE", "/{Bucket}/{Key+}") +AbortMultipartUpload(UploadId, Bucket, Key, args) = s3("DELETE", "/{Bucket}/{Key+}", args) +AbortMultipartUpload(a...; b...) = AbortMultipartUpload(a..., b) + +""" + DeleteObject() + +Removes the null version (if there is one) of an object and inserts a delete marker, which becomes the latest version of the object. If there isn't a null version, Amazon S3 does not remove any objects. To remove a specific version, you must be the bucket owner and you must use the version Id subresource. Using this subresource permanently deletes the version. If the object deleted is a delete marker, Amazon S3 sets the response header, x-amz-delete-marker, to true. If the object you want to delete is in a bucket where the bucket versioning configuration is MFA Delete enabled, you must include the x-amz-mfa request header in the DELETE versionId request. Requests that include x-amz-mfa must use HTTPS. For more information about MFA Delete, see Using MFA Delete. To see sample requests that use versioning, see Sample Request. You can delete objects by explicitly calling the DELETE Object API or configure its lifecycle (PutBucketLifecycle) to enable Amazon S3 to remove them for you. If you want to block users or accounts from removing or deleting objects from your bucket, you must deny them the s3:DeleteObject, s3:DeleteObjectVersion, and s3:PutLifeCycleConfiguration actions. The following operation is related to DeleteObject: PutObject + +Required Parameters +{ + "Bucket": "The bucket name of the bucket containing the object. When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.", + "Key": "Key name of the object to delete." +} + +Optional Parameters +{ + "MFA": "The concatenation of the authentication device's serial number, a space, and the value that is displayed on your authentication device. Required to permanently delete a versioned object if versioning is configured with MFA delete enabled.", + "RequestPayer": "", + "VersionId": "VersionId used to reference a specific version of the object.", + "BypassGovernanceRetention": "Indicates whether S3 Object Lock should bypass Governance-mode restrictions to process this operation." +} +""" +DeleteObject(Bucket, Key) = s3("DELETE", "/{Bucket}/{Key+}") +DeleteObject(Bucket, Key, args) = s3("DELETE", "/{Bucket}/{Key+}", args) +DeleteObject(a...; b...) = DeleteObject(a..., b) + +""" + DeleteObjectTagging() + +Removes the entire tag set from the specified object. For more information about managing object tags, see Object Tagging. To use this operation, you must have permission to perform the s3:DeleteObjectTagging action. To delete tags of a specific object version, add the versionId query parameter in the request. You will need permission for the s3:DeleteObjectVersionTagging action. The following operations are related to DeleteBucketMetricsConfiguration: PutObjectTagging GetObjectTagging + +Required Parameters +{ + "Bucket": "The bucket name containing the objects from which to remove the tags. When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.", + "Key": "Name of the tag." +} + +Optional Parameters +{ + "VersionId": "The versionId of the object that the tag-set will be removed from." +} +""" +DeleteObjectTagging(Bucket, Key) = s3("DELETE", "/{Bucket}/{Key+}?tagging") +DeleteObjectTagging(Bucket, Key, args) = s3("DELETE", "/{Bucket}/{Key+}?tagging", args) +DeleteObjectTagging(a...; b...) = DeleteObjectTagging(a..., b) + +""" + ListBucketAnalyticsConfigurations() + +Lists the analytics configurations for the bucket. You can have up to 1,000 analytics configurations per bucket. This operation supports list pagination and does not return more than 100 configurations at a time. You should always check the IsTruncated element in the response. If there are no more configurations to list, IsTruncated is set to false. If there are more configurations to list, IsTruncated is set to true, and there will be a value in NextContinuationToken. You use the NextContinuationToken value to continue the pagination of the list by passing the value in continuation-token in the request to GET the next page. To use this operation, you must have permissions to perform the s3:GetAnalyticsConfiguration action. The bucket owner has this permission by default. The bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources. For information about Amazon S3 analytics feature, see Amazon S3 Analytics – Storage Class Analysis. The following operations are related to ListBucketAnalyticsConfigurations: GetBucketAnalyticsConfiguration DeleteBucketAnalyticsConfiguration PutBucketAnalyticsConfiguration + +Required Parameters +{ + "Bucket": "The name of the bucket from which analytics configurations are retrieved." +} + +Optional Parameters +{ + "ContinuationToken": "The ContinuationToken that represents a placeholder from where this request should begin." +} +""" +ListBucketAnalyticsConfigurations(Bucket) = s3("GET", "/{Bucket}?analytics") +ListBucketAnalyticsConfigurations(Bucket, args) = s3("GET", "/{Bucket}?analytics", args) +ListBucketAnalyticsConfigurations(a...; b...) = ListBucketAnalyticsConfigurations(a..., b) + +""" + PutBucketPolicy() + +Applies an Amazon S3 bucket policy to an Amazon S3 bucket. If you are using an identity other than the root user of the AWS account that owns the bucket, the calling identity must have the PutBucketPolicy permissions on the specified bucket and belong to the bucket owner's account in order to use this operation. If you don't have PutBucketPolicy permissions, Amazon S3 returns a 403 Access Denied error. If you have the correct permissions, but you're not using an identity that belongs to the bucket owner's account, Amazon S3 returns a 405 Method Not Allowed error. As a security precaution, the root user of the AWS account that owns a bucket can always use this operation, even if the policy explicitly denies the root user the ability to perform this action. For more information about bucket policies, see Using Bucket Policies and User Policies. The following operations are related to PutBucketPolicy: CreateBucket DeleteBucket + +Required Parameters +{ + "Bucket": "The name of the bucket.", + "Policy": "The bucket policy as a JSON document." +} + +Optional Parameters +{ + "ContentMD5": "The MD5 hash of the request body.", + "ConfirmRemoveSelfBucketAccess": "Set this parameter to true to confirm that you want to remove your permissions to change this bucket policy in the future." +} +""" +PutBucketPolicy(Bucket, Policy) = s3("PUT", "/{Bucket}?policy") +PutBucketPolicy(Bucket, Policy, args) = s3("PUT", "/{Bucket}?policy", args) +PutBucketPolicy(a...; b...) = PutBucketPolicy(a..., b) + +""" + PutBucketTagging() + +Sets the tags for a bucket. Use tags to organize your AWS bill to reflect your own cost structure. To do this, sign up to get your AWS account bill with tag key values included. Then, to see the cost of combined resources, organize your billing information according to resources with the same tag key values. For example, you can tag several resources with a specific application name, and then organize your billing information to see the total cost of that application across several services. For more information, see Cost Allocation and Tagging. Within a bucket, if you add a tag that has the same key as an existing tag, the new value overwrites the old value. For more information, see Using Cost Allocation in Amazon S3 Bucket Tags. To use this operation, you must have permissions to perform the s3:PutBucketTagging action. The bucket owner has this permission by default and can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources. PutBucketTagging has the following special errors: Error code: InvalidTagError Description: The tag provided was not a valid tag. This error can occur if the tag did not pass input validation. For information about tag restrictions, see User-Defined Tag Restrictions and AWS-Generated Cost Allocation Tag Restrictions. Error code: MalformedXMLError Description: The XML provided does not match the schema. Error code: OperationAbortedError Description: A conflicting conditional operation is currently in progress against this resource. Please try again. Error code: InternalError Description: The service was unable to apply the provided tag to the bucket. The following operations are related to PutBucketTagging: GetBucketTagging DeleteBucketTagging + +Required Parameters +{ + "Tagging": "Container for the TagSet and Tag elements.", + "Bucket": "The bucket name." +} + +Optional Parameters +{ + "ContentMD5": "The base64-encoded 128-bit MD5 digest of the data. You must use this header as a message integrity check to verify that the request body was not corrupted in transit. For more information, see RFC 1864." +} +""" +PutBucketTagging(Tagging, Bucket) = s3("PUT", "/{Bucket}?tagging") +PutBucketTagging(Tagging, Bucket, args) = s3("PUT", "/{Bucket}?tagging", args) +PutBucketTagging(a...; b...) = PutBucketTagging(a..., b) + +""" + DeletePublicAccessBlock() + +Removes the PublicAccessBlock configuration for an Amazon S3 bucket. To use this operation, you must have the s3:PutBucketPublicAccessBlock permission. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources. The following operations are related to DeleteBucketMetricsConfiguration: Using Amazon S3 Block Public Access GetPublicAccessBlock PutPublicAccessBlock GetBucketPolicyStatus + +Required Parameters +{ + "Bucket": "The Amazon S3 bucket whose PublicAccessBlock configuration you want to delete. " +} +""" +DeletePublicAccessBlock(Bucket) = s3("DELETE", "/{Bucket}?publicAccessBlock") +DeletePublicAccessBlock(Bucket, args) = s3("DELETE", "/{Bucket}?publicAccessBlock", args) +DeletePublicAccessBlock(a...; b...) = DeletePublicAccessBlock(a..., b) + +""" + ListBucketMetricsConfigurations() + +Lists the metrics configurations for the bucket. The metrics configurations are only for the request metrics of the bucket and do not provide information on daily storage metrics. You can have up to 1,000 configurations per bucket. This operation supports list pagination and does not return more than 100 configurations at a time. Always check the IsTruncated element in the response. If there are no more configurations to list, IsTruncated is set to false. If there are more configurations to list, IsTruncated is set to true, and there is a value in NextContinuationToken. You use the NextContinuationToken value to continue the pagination of the list by passing the value in continuation-token in the request to GET the next page. To use this operation, you must have permissions to perform the s3:GetMetricsConfiguration action. The bucket owner has this permission by default. The bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources. For more information about metrics configurations and CloudWatch request metrics, see Monitoring Metrics with Amazon CloudWatch. The following operations are related to ListBucketMetricsConfigurations: PutBucketMetricsConfiguration GetBucketMetricsConfiguration DeleteBucketMetricsConfiguration + +Required Parameters +{ + "Bucket": "The name of the bucket containing the metrics configurations to retrieve." +} + +Optional Parameters +{ + "ContinuationToken": "The marker that is used to continue a metrics configuration listing that has been truncated. Use the NextContinuationToken from a previously truncated list response to continue the listing. The continuation token is an opaque value that Amazon S3 understands." +} +""" +ListBucketMetricsConfigurations(Bucket) = s3("GET", "/{Bucket}?metrics") +ListBucketMetricsConfigurations(Bucket, args) = s3("GET", "/{Bucket}?metrics", args) +ListBucketMetricsConfigurations(a...; b...) = ListBucketMetricsConfigurations(a..., b) + +""" + PutObjectLegalHold() + +Applies a Legal Hold configuration to the specified object. Related Resources Locking Objects + +Required Parameters +{ + "Bucket": "The bucket name containing the object that you want to place a Legal Hold on. When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.", + "Key": "The key name for the object that you want to place a Legal Hold on." +} + +Optional Parameters +{ + "ContentMD5": "The MD5 hash for the request body.", + "RequestPayer": "", + "VersionId": "The version ID of the object that you want to place a Legal Hold on.", + "LegalHold": "Container element for the Legal Hold configuration you want to apply to the specified object." +} +""" +PutObjectLegalHold(Bucket, Key) = s3("PUT", "/{Bucket}/{Key+}?legal-hold") +PutObjectLegalHold(Bucket, Key, args) = s3("PUT", "/{Bucket}/{Key+}?legal-hold", args) +PutObjectLegalHold(a...; b...) = PutObjectLegalHold(a..., b) + +""" + PutPublicAccessBlock() + +Creates or modifies the PublicAccessBlock configuration for an Amazon S3 bucket. To use this operation, you must have the s3:PutBucketPublicAccessBlock permission. For more information about Amazon S3 permissions, see Specifying Permissions in a Policy. When Amazon S3 evaluates the PublicAccessBlock configuration for a bucket or an object, it checks the PublicAccessBlock configuration for both the bucket (or the bucket that contains the object) and the bucket owner's account. If the PublicAccessBlock configurations are different between the bucket and the account, Amazon S3 uses the most restrictive combination of the bucket-level and account-level settings. For more information about when Amazon S3 considers a bucket or an object public, see The Meaning of "Public". Related Resources GetPublicAccessBlock DeletePublicAccessBlock GetBucketPolicyStatus Using Amazon S3 Block Public Access + +Required Parameters +{ + "PublicAccessBlockConfiguration": "The PublicAccessBlock configuration that you want to apply to this Amazon S3 bucket. You can enable the configuration options in any combination. For more information about when Amazon S3 considers a bucket or object public, see The Meaning of \"Public\" in the Amazon Simple Storage Service Developer Guide.", + "Bucket": "The name of the Amazon S3 bucket whose PublicAccessBlock configuration you want to set." +} + +Optional Parameters +{ + "ContentMD5": "The MD5 hash of the PutPublicAccessBlock request body. " +} +""" +PutPublicAccessBlock(PublicAccessBlockConfiguration, Bucket) = s3("PUT", "/{Bucket}?publicAccessBlock") +PutPublicAccessBlock(PublicAccessBlockConfiguration, Bucket, args) = s3("PUT", "/{Bucket}?publicAccessBlock", args) +PutPublicAccessBlock(a...; b...) = PutPublicAccessBlock(a..., b) + +""" + GetBucketWebsite() + +Returns the website configuration for a bucket. To host website on Amazon S3, you can configure a bucket as website by adding a website configuration. For more information about hosting websites, see Hosting Websites on Amazon S3. This GET operation requires the S3:GetBucketWebsite permission. By default, only the bucket owner can read the bucket website configuration. However, bucket owners can allow other users to read the website configuration by writing a bucket policy granting them the S3:GetBucketWebsite permission. The following operations are related to DeleteBucketWebsite: DeleteBucketWebsite PutBucketWebsite + +Required Parameters +{ + "Bucket": "The bucket name for which to get the website configuration." +} +""" +GetBucketWebsite(Bucket) = s3("GET", "/{Bucket}?website") +GetBucketWebsite(Bucket, args) = s3("GET", "/{Bucket}?website", args) +GetBucketWebsite(a...; b...) = GetBucketWebsite(a..., b) + +""" + GetObjectTorrent() + +Return torrent files from a bucket. BitTorrent can save you bandwidth when you're distributing large files. For more information about BitTorrent, see Amazon S3 Torrent. You can get torrent only for objects that are less than 5 GB in size and that are not encrypted using server-side encryption with customer-provided encryption key. To use GET, you must have READ access to the object. The following operation is related to GetObjectTorrent: GetObject + +Required Parameters +{ + "Bucket": "The name of the bucket containing the object for which to get the torrent files.", + "Key": "The object key for which to get the information." +} + +Optional Parameters +{ + "RequestPayer": "" +} +""" +GetObjectTorrent(Bucket, Key) = s3("GET", "/{Bucket}/{Key+}?torrent") +GetObjectTorrent(Bucket, Key, args) = s3("GET", "/{Bucket}/{Key+}?torrent", args) +GetObjectTorrent(a...; b...) = GetObjectTorrent(a..., b) + +""" + PutBucketMetricsConfiguration() + +Sets a metrics configuration (specified by the metrics configuration ID) for the bucket. You can have up to 1,000 metrics configurations per bucket. If you're updating an existing metrics configuration, note that this is a full replacement of the existing metrics configuration. If you don't include the elements you want to keep, they are erased. To use this operation, you must have permissions to perform the s3:PutMetricsConfiguration action. The bucket owner has this permission by default. The bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources. For information about CloudWatch request metrics for Amazon S3, see Monitoring Metrics with Amazon CloudWatch. The following operations are related to PutBucketMetricsConfiguration: DeleteBucketMetricsConfiguration PutBucketMetricsConfiguration ListBucketMetricsConfigurations GetBucketLifecycle has the following special error: Error code: TooManyConfigurations Description: You are attempting to create a new configuration but have already reached the 1,000-configuration limit. HTTP Status Code: HTTP 400 Bad Request + +Required Parameters +{ + "Id": "The ID used to identify the metrics configuration.", + "MetricsConfiguration": "Specifies the metrics configuration.", + "Bucket": "The name of the bucket for which the metrics configuration is set." +} +""" +PutBucketMetricsConfiguration(Id, MetricsConfiguration, Bucket) = s3("PUT", "/{Bucket}?metrics") +PutBucketMetricsConfiguration(Id, MetricsConfiguration, Bucket, args) = s3("PUT", "/{Bucket}?metrics", args) +PutBucketMetricsConfiguration(a...; b...) = PutBucketMetricsConfiguration(a..., b) + +""" + DeleteBucketEncryption() + +This implementation of the DELETE operation removes default encryption from the bucket. For information about the Amazon S3 default encryption feature, see Amazon S3 Default Bucket Encryption in the Amazon Simple Storage Service Developer Guide. To use this operation, you must have permissions to perform the s3:PutEncryptionConfiguration action. The bucket owner has this permission by default. The bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to your Amazon S3 Resources in the Amazon Simple Storage Service Developer Guide. Related Resources PutBucketEncryption GetBucketEncryption + +Required Parameters +{ + "Bucket": "The name of the bucket containing the server-side encryption configuration to delete." +} +""" +DeleteBucketEncryption(Bucket) = s3("DELETE", "/{Bucket}?encryption") +DeleteBucketEncryption(Bucket, args) = s3("DELETE", "/{Bucket}?encryption", args) +DeleteBucketEncryption(a...; b...) = DeleteBucketEncryption(a..., b) + +""" + RestoreObject() + +Restores an archived copy of an object back into Amazon S3 This operation performs the following types of requests: select - Perform a select query on an archived object restore an archive - Restore an archived object To use this operation, you must have permissions to perform the s3:RestoreObject and s3:GetObject actions. The bucket owner has this permission by default and can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources in the Amazon Simple Storage Service Developer Guide. Querying Archives with Select Requests You use a select type of request to perform SQL queries on archived objects. The archived objects that are being queried by the select request must be formatted as uncompressed comma-separated values (CSV) files. You can run queries and custom analytics on your archived data without having to restore your data to a hotter Amazon S3 tier. For an overview about select requests, see Querying Archived Objects in the Amazon Simple Storage Service Developer Guide. When making a select request, do the following: Define an output location for the select query's output. This must be an Amazon S3 bucket in the same AWS Region as the bucket that contains the archive object that is being queried. The AWS account that initiates the job must have permissions to write to the S3 bucket. You can specify the storage class and encryption for the output objects stored in the bucket. For more information about output, see Querying Archived Objects in the Amazon Simple Storage Service Developer Guide. For more information about the S3 structure in the request body, see the following: PutObject Managing Access with ACLs in the Amazon Simple Storage Service Developer Guide Protecting Data Using Server-Side Encryption in the Amazon Simple Storage Service Developer Guide Define the SQL expression for the SELECT type of restoration for your query in the request body's SelectParameters structure. You can use expressions like the following examples. The following expression returns all records from the specified object. SELECT * FROM Object Assuming that you are not using any headers for data stored in the object, you can specify columns with positional headers. SELECT s._1, s._2 FROM Object s WHERE s._3 > 100 If you have headers and you set the fileHeaderInfo in the CSV structure in the request body to USE, you can specify headers in the query. (If you set the fileHeaderInfo field to IGNORE, the first row is skipped for the query.) You cannot mix ordinal positions with header column names. SELECT s.Id, s.FirstName, s.SSN FROM S3Object s For more information about using SQL with Glacier Select restore, see SQL Reference for Amazon S3 Select and Glacier Select in the Amazon Simple Storage Service Developer Guide. When making a select request, you can also do the following: To expedite your queries, specify the Expedited tier. For more information about tiers, see "Restoring Archives," later in this topic. Specify details about the data serialization format of both the input object that is being queried and the serialization of the CSV-encoded query results. The following are additional important facts about the select feature: The output results are new Amazon S3 objects. Unlike archive retrievals, they are stored until explicitly deleted-manually or through a lifecycle policy. You can issue more than one select request on the same Amazon S3 object. Amazon S3 doesn't deduplicate requests, so avoid issuing duplicate requests. Amazon S3 accepts a select request even if the object has already been restored. A select request doesn’t return error response 409. Restoring Archives Objects in the GLACIER and DEEP_ARCHIVE storage classes are archived. To access an archived object, you must first initiate a restore request. This restores a temporary copy of the archived object. In a restore request, you specify the number of days that you want the restored copy to exist. After the specified period, Amazon S3 deletes the temporary copy but the object remains archived in the GLACIER or DEEP_ARCHIVE storage class that object was restored from. To restore a specific object version, you can provide a version ID. If you don't provide a version ID, Amazon S3 restores the current version. The time it takes restore jobs to finish depends on which storage class the object is being restored from and which data access tier you specify. When restoring an archived object (or using a select request), you can specify one of the following data access tier options in the Tier element of the request body: Expedited - Expedited retrievals allow you to quickly access your data stored in the GLACIER storage class when occasional urgent requests for a subset of archives are required. For all but the largest archived objects (250 MB+), data accessed using Expedited retrievals are typically made available within 1–5 minutes. Provisioned capacity ensures that retrieval capacity for Expedited retrievals is available when you need it. Expedited retrievals and provisioned capacity are not available for the DEEP_ARCHIVE storage class. Standard - Standard retrievals allow you to access any of your archived objects within several hours. This is the default option for the GLACIER and DEEP_ARCHIVE retrieval requests that do not specify the retrieval option. Standard retrievals typically complete within 3-5 hours from the GLACIER storage class and typically complete within 12 hours from the DEEP_ARCHIVE storage class. Bulk - Bulk retrievals are Amazon S3 Glacier’s lowest-cost retrieval option, enabling you to retrieve large amounts, even petabytes, of data inexpensively in a day. Bulk retrievals typically complete within 5-12 hours from the GLACIER storage class and typically complete within 48 hours from the DEEP_ARCHIVE storage class. For more information about archive retrieval options and provisioned capacity for Expedited data access, see Restoring Archived Objects in the Amazon Simple Storage Service Developer Guide. You can use Amazon S3 restore speed upgrade to change the restore speed to a faster speed while it is in progress. You upgrade the speed of an in-progress restoration by issuing another restore request to the same object, setting a new Tier request element. When issuing a request to upgrade the restore tier, you must choose a tier that is faster than the tier that the in-progress restore is using. You must not change any other parameters, such as the Days request element. For more information, see Upgrading the Speed of an In-Progress Restore in the Amazon Simple Storage Service Developer Guide. To get the status of object restoration, you can send a HEAD request. Operations return the x-amz-restore header, which provides information about the restoration status, in the response. You can use Amazon S3 event notifications to notify you when a restore is initiated or completed. For more information, see Configuring Amazon S3 Event Notifications in the Amazon Simple Storage Service Developer Guide. After restoring an archived object, you can update the restoration period by reissuing the request with a new period. Amazon S3 updates the restoration period relative to the current time and charges only for the request-there are no data transfer charges. You cannot update the restoration period when Amazon S3 is actively processing your current restore request for the object. If your bucket has a lifecycle configuration with a rule that includes an expiration action, the object expiration overrides the life span that you specify in a restore request. For example, if you restore an object copy for 10 days, but the object is scheduled to expire in 3 days, Amazon S3 deletes the object in 3 days. For more information about lifecycle configuration, see PutBucketLifecycleConfiguration and Object Lifecycle Management in Amazon Simple Storage Service Developer Guide. Responses A successful operation returns either the 200 OK or 202 Accepted status code. If the object copy is not previously restored, then Amazon S3 returns 202 Accepted in the response. If the object copy is previously restored, Amazon S3 returns 200 OK in the response. Special Errors Code: RestoreAlreadyInProgress Cause: Object restore is already in progress. (This error does not apply to SELECT type requests.) HTTP Status Code: 409 Conflict SOAP Fault Code Prefix: Client Code: GlacierExpeditedRetrievalNotAvailable Cause: Glacier expedited retrievals are currently not available. Try again later. (Returned if there is insufficient capacity to process the Expedited request. This error applies only to Expedited retrievals and not to Standard or Bulk retrievals.) HTTP Status Code: 503 SOAP Fault Code Prefix: N/A Related Resources PutBucketLifecycleConfiguration GetBucketNotificationConfiguration SQL Reference for Amazon S3 Select and Glacier Select in the Amazon Simple Storage Service Developer Guide + +Required Parameters +{ + "Bucket": "The bucket name or containing the object to restore. When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.", + "Key": "Object key for which the operation was initiated." +} + +Optional Parameters +{ + "RestoreRequest": "", + "RequestPayer": "", + "VersionId": "VersionId used to reference a specific version of the object." +} +""" +RestoreObject(Bucket, Key) = s3("POST", "/{Bucket}/{Key+}?restore") +RestoreObject(Bucket, Key, args) = s3("POST", "/{Bucket}/{Key+}?restore", args) +RestoreObject(a...; b...) = RestoreObject(a..., b) + +""" + GetBucketInventoryConfiguration() + +Returns an inventory configuration (identified by the inventory configuration ID) from the bucket. To use this operation, you must have permissions to perform the s3:GetInventoryConfiguration action. The bucket owner has this permission by default and can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources. For information about the Amazon S3 inventory feature, see Amazon S3 Inventory. The following operations are related to GetBucketInventoryConfiguration: DeleteBucketInventoryConfiguration ListBucketInventoryConfigurations PutBucketInventoryConfiguration + +Required Parameters +{ + "Id": "The ID used to identify the inventory configuration.", + "Bucket": "The name of the bucket containing the inventory configuration to retrieve." +} +""" +GetBucketInventoryConfiguration(Id, Bucket) = s3("GET", "/{Bucket}?inventory") +GetBucketInventoryConfiguration(Id, Bucket, args) = s3("GET", "/{Bucket}?inventory", args) +GetBucketInventoryConfiguration(a...; b...) = GetBucketInventoryConfiguration(a..., b) + +""" + GetObjectLegalHold() + +Gets an object's current Legal Hold status. For more information, see Locking Objects. + +Required Parameters +{ + "Bucket": "The bucket name containing the object whose Legal Hold status you want to retrieve. When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.", + "Key": "The key name for the object whose Legal Hold status you want to retrieve." +} + +Optional Parameters +{ + "RequestPayer": "", + "VersionId": "The version ID of the object whose Legal Hold status you want to retrieve." +} +""" +GetObjectLegalHold(Bucket, Key) = s3("GET", "/{Bucket}/{Key+}?legal-hold") +GetObjectLegalHold(Bucket, Key, args) = s3("GET", "/{Bucket}/{Key+}?legal-hold", args) +GetObjectLegalHold(a...; b...) = GetObjectLegalHold(a..., b) + +""" + PutBucketNotification() + + No longer used, see the PutBucketNotificationConfiguration operation. + +Required Parameters +{ + "Bucket": "The name of the bucket.", + "NotificationConfiguration": "The container for the configuration." +} + +Optional Parameters +{ + "ContentMD5": "The MD5 hash of the PutPublicAccessBlock request body." +} +""" +PutBucketNotification(Bucket, NotificationConfiguration) = s3("PUT", "/{Bucket}?notification") +PutBucketNotification(Bucket, NotificationConfiguration, args) = s3("PUT", "/{Bucket}?notification", args) +PutBucketNotification(a...; b...) = PutBucketNotification(a..., b) + +""" + PutObject() + +Adds an object to a bucket. You must have WRITE permissions on a bucket to add an object to it. Amazon S3 never adds partial objects; if you receive a success response, Amazon S3 added the entire object to the bucket. Amazon S3 is a distributed system. If it receives multiple write requests for the same object simultaneously, it overwrites all but the last object written. Amazon S3 does not provide object locking; if you need this, make sure to build it into your application layer or use versioning instead. To ensure that data is not corrupted traversing the network, use the Content-MD5 header. When you use this header, Amazon S3 checks the object against the provided MD5 value and, if they do not match, returns an error. Additionally, you can calculate the MD5 while putting an object to Amazon S3 and compare the returned ETag to the calculated MD5 value. To configure your application to send the request headers before sending the request body, use the 100-continue HTTP status code. For PUT operations, this helps you avoid sending the message body if the message is rejected based on the headers (for example, because authentication fails or a redirect occurs). For more information on the 100-continue HTTP status code, see Section 8.2.3 of http://www.ietf.org/rfc/rfc2616.txt. You can optionally request server-side encryption. With server-side encryption, Amazon S3 encrypts your data as it writes it to disks in its data centers and decrypts the data when you access it. You have the option to provide your own encryption key or use AWS managed encryption keys. For more information, see Using Server-Side Encryption. Access Permissions You can optionally specify the accounts or groups that should be granted specific permissions on the new object. There are two ways to grant the permissions using the request headers: Specify a canned ACL with the x-amz-acl request header. For more information, see Canned ACL. Specify access permissions explicitly with the x-amz-grant-read, x-amz-grant-read-acp, x-amz-grant-write-acp, and x-amz-grant-full-control headers. These parameters map to the set of permissions that Amazon S3 supports in an ACL. For more information, see Access Control List (ACL) Overview. You can use either a canned ACL or specify access permissions explicitly. You cannot do both. Server-Side- Encryption-Specific Request Headers You can optionally tell Amazon S3 to encrypt data at rest using server-side encryption. Server-side encryption is for data encryption at rest. Amazon S3 encrypts your data as it writes it to disks in its data centers and decrypts it when you access it. The option you use depends on whether you want to use AWS managed encryption keys or provide your own encryption key. Use encryption keys managed by Amazon S3 or customer master keys (CMKs) stored in AWS Key Management Service (AWS KMS) – If you want AWS to manage the keys used to encrypt data, specify the following headers in the request. x-amz-server-side​-encryption x-amz-server-side-encryption-aws-kms-key-id x-amz-server-side-encryption-context If you specify x-amz-server-side-encryption:aws:kms, but don't provide x-amz-server-side-encryption-aws-kms-key-id, Amazon S3 uses the AWS managed CMK in AWS KMS to protect the data. If you want to use a customer managed AWS KMS CMK, you must provide the x-amz-server-side-encryption-aws-kms-key-id of the symmetric customer managed CMK. Amazon S3 only supports symmetric CMKs and not asymmetric CMKs. For more information, see Using Symmetric and Asymmetric Keys in the AWS Key Management Service Developer Guide. All GET and PUT requests for an object protected by AWS KMS fail if you don't make them with SSL or by using SigV4. For more information about server-side encryption with CMKs stored in AWS KMS (SSE-KMS), see Protecting Data Using Server-Side Encryption with CMKs stored in AWS. Use customer-provided encryption keys – If you want to manage your own encryption keys, provide all the following headers in the request. x-amz-server-side​-encryption​-customer-algorithm x-amz-server-side​-encryption​-customer-key x-amz-server-side​-encryption​-customer-key-MD5 For more information about server-side encryption with CMKs stored in KMS (SSE-KMS), see Protecting Data Using Server-Side Encryption with CMKs stored in AWS. Access-Control-List (ACL)-Specific Request Headers You also can use the following access control–related headers with this operation. By default, all objects are private. Only the owner has full access control. When adding a new object, you can grant permissions to individual AWS accounts or to predefined groups defined by Amazon S3. These permissions are then added to the Access Control List (ACL) on the object. For more information, see Using ACLs. With this operation, you can grant access permissions using one of the following two methods: Specify a canned ACL (x-amz-acl) — Amazon S3 supports a set of predefined ACLs, known as canned ACLs. Each canned ACL has a predefined set of grantees and permissions. For more information, see Canned ACL. Specify access permissions explicitly — To explicitly grant access permissions to specific AWS accounts or groups, use the following headers. Each header maps to specific permissions that Amazon S3 supports in an ACL. For more information, see Access Control List (ACL) Overview. In the header, you specify a list of grantees who get the specific permission. To grant permissions explicitly use: x-amz-grant-read x-amz-grant-write x-amz-grant-read-acp x-amz-grant-write-acp x-amz-grant-full-control You specify each grantee as a type=value pair, where the type is one of the following: emailAddress – if the value specified is the email address of an AWS account Using email addresses to specify a grantee is only supported in the following AWS Regions: US East (N. Virginia) US West (N. California) US West (Oregon) Asia Pacific (Singapore) Asia Pacific (Sydney) Asia Pacific (Tokyo) EU (Ireland) South America (São Paulo) For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the AWS General Reference id – if the value specified is the canonical user ID of an AWS account uri – if you are granting permissions to a predefined group For example, the following x-amz-grant-read header grants the AWS accounts identified by email addresses permissions to read object data and its metadata: x-amz-grant-read: emailAddress="xyz@amazon.com", emailAddress="abc@amazon.com" Server-Side- Encryption-Specific Request Headers You can optionally tell Amazon S3 to encrypt data at rest using server-side encryption. Server-side encryption is for data encryption at rest. Amazon S3 encrypts your data as it writes it to disks in its data centers and decrypts it when you access it. The option you use depends on whether you want to use AWS-managed encryption keys or provide your own encryption key. Use encryption keys managed by Amazon S3 or customer master keys (CMKs) stored in AWS Key Management Service (AWS KMS) – If you want AWS to manage the keys used to encrypt data, specify the following headers in the request. x-amz-server-side​-encryption x-amz-server-side-encryption-aws-kms-key-id x-amz-server-side-encryption-context If you specify x-amz-server-side-encryption:aws:kms, but don't provide x-amz-server-side-encryption-aws-kms-key-id, Amazon S3 uses the AWS managed CMK in AWS KMS to protect the data. If you want to use a customer managed AWS KMS CMK, you must provide the x-amz-server-side-encryption-aws-kms-key-id of the symmetric customer managed CMK. Amazon S3 only supports symmetric CMKs and not asymmetric CMKs. For more information, see Using Symmetric and Asymmetric Keys in the AWS Key Management Service Developer Guide. All GET and PUT requests for an object protected by AWS KMS fail if you don't make them with SSL or by using SigV4. For more information about server-side encryption with CMKs stored in AWS KMS (SSE-KMS), see Protecting Data Using Server-Side Encryption with CMKs stored in AWS KMS. Use customer-provided encryption keys – If you want to manage your own encryption keys, provide all the following headers in the request. If you use this feature, the ETag value that Amazon S3 returns in the response is not the MD5 of the object. x-amz-server-side​-encryption​-customer-algorithm x-amz-server-side​-encryption​-customer-key x-amz-server-side​-encryption​-customer-key-MD5 For more information about server-side encryption with CMKs stored in AWS KMS (SSE-KMS), see Protecting Data Using Server-Side Encryption with CMKs stored in AWS KMS. Storage Class Options By default, Amazon S3 uses the Standard storage class to store newly created objects. The Standard storage class provides high durability and high availability. You can specify other storage classes depending on the performance needs. For more information, see Storage Classes in the Amazon Simple Storage Service Developer Guide. Versioning If you enable versioning for a bucket, Amazon S3 automatically generates a unique version ID for the object being stored. Amazon S3 returns this ID in the response using the x-amz-version-id response header. If versioning is suspended, Amazon S3 always uses null as the version ID for the object stored. For more information about returning the versioning state of a bucket, see GetBucketVersioning. If you enable versioning for a bucket, when Amazon S3 receives multiple write requests for the same object simultaneously, it stores all of the objects. Related Resources CopyObject DeleteObject + +Required Parameters +{ + "Bucket": "Bucket name to which the PUT operation was initiated. When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.", + "Key": "Object key for which the PUT operation was initiated." +} + +Optional Parameters +{ + "GrantReadACP": "Allows grantee to read the object ACL.", + "ObjectLockRetainUntilDate": "The date and time when you want this object's Object Lock to expire.", + "RequestPayer": "", + "Body": "Object data.", + "ContentLanguage": "The language the content is in.", + "ContentEncoding": "Specifies what content encodings have been applied to the object and thus what decoding mechanisms must be applied to obtain the media-type referenced by the Content-Type header field. For more information, see http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.11.", + "ContentLength": "Size of the body in bytes. This parameter is useful when the size of the body cannot be determined automatically. For more information, see http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.13.", + "SSECustomerKeyMD5": "Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses this header for a message integrity check to ensure that the encryption key was transmitted without error.", + "SSECustomerKey": "Specifies the customer-provided encryption key for Amazon S3 to use in encrypting data. This value is used to store the object and then it is discarded; Amazon S3 does not store the encryption key. The key must be appropriate for use with the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm header.", + "SSEKMSEncryptionContext": "Specifies the AWS KMS Encryption Context to use for object encryption. The value of this header is a base64-encoded UTF-8 string holding JSON with the encryption context key-value pairs.", + "ObjectLockLegalHoldStatus": "Specifies whether a legal hold will be applied to this object. For more information about S3 Object Lock, see Object Lock.", + "GrantRead": "Allows grantee to read the object data and its metadata.", + "Expires": "The date and time at which the object is no longer cacheable. For more information, see http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.21.", + "Tagging": "The tag-set for the object. The tag-set must be encoded as URL Query parameters. (For example, \"Key1=Value1\")", + "ACL": "The canned ACL to apply to the object. For more information, see Canned ACL.", + "ObjectLockMode": "The Object Lock mode that you want to apply to this object.", + "ContentDisposition": "Specifies presentational information for the object. For more information, see http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1.", + "CacheControl": " Can be used to specify caching behavior along the request/reply chain. For more information, see http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9.", + "ContentType": "A standard MIME type describing the format of the contents. For more information, see http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17.", + "ServerSideEncryption": "The server-side encryption algorithm used when storing this object in Amazon S3 (for example, AES256, aws:kms).", + "StorageClass": "If you don't specify, Standard is the default storage class. Amazon S3 supports other storage classes.", + "GrantFullControl": "Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object.", + "SSEKMSKeyId": "If x-amz-server-side-encryption is present and has the value of aws:kms, this header specifies the ID of the AWS Key Management Service (AWS KMS) symmetrical customer managed customer master key (CMK) that was used for the object. If the value of x-amz-server-side-encryption is aws:kms, this header specifies the ID of the symmetric customer managed AWS KMS CMK that will be used for the object. If you specify x-amz-server-side-encryption:aws:kms, but do not provide x-amz-server-side-encryption-aws-kms-key-id, Amazon S3 uses the AWS managed CMK in AWS to protect the data.", + "ContentMD5": "The base64-encoded 128-bit MD5 digest of the message (without the headers) according to RFC 1864. This header can be used as a message integrity check to verify that the data is the same data that was originally sent. Although it is optional, we recommend using the Content-MD5 mechanism as an end-to-end integrity check. For more information about REST request authentication, see REST Authentication.", + "SSECustomerAlgorithm": "Specifies the algorithm to use to when encrypting the object (for example, AES256).", + "Metadata": "A map of metadata to store with the object in S3.", + "WebsiteRedirectLocation": "If the bucket is configured as a website, redirects requests for this object to another object in the same bucket or to an external URL. Amazon S3 stores the value of this header in the object metadata. For information about object metadata, see Object Key and Metadata. In the following example, the request header sets the redirect to an object (anotherPage.html) in the same bucket: x-amz-website-redirect-location: /anotherPage.html In the following example, the request header sets the object redirect to another website: x-amz-website-redirect-location: http://www.example.com/ For more information about website hosting in Amazon S3, see Hosting Websites on Amazon S3 and How to Configure Website Page Redirects. ", + "GrantWriteACP": "Allows grantee to write the ACL for the applicable object." +} +""" +PutObject(Bucket, Key) = s3("PUT", "/{Bucket}/{Key+}") +PutObject(Bucket, Key, args) = s3("PUT", "/{Bucket}/{Key+}", args) +PutObject(a...; b...) = PutObject(a..., b) + +""" + UploadPartCopy() + +Uploads a part by copying data from an existing object as data source. You specify the data source by adding the request header x-amz-copy-source in your request and a byte range by adding the request header x-amz-copy-source-range in your request. The minimum allowable part size for a multipart upload is 5 MB. For more information about multipart upload limits, go to Quick Facts in the Amazon Simple Storage Service Developer Guide. Instead of using an existing object as part data, you might use the UploadPart operation and provide data in your request. You must initiate a multipart upload before you can upload any part. In response to your initiate request. Amazon S3 returns a unique identifier, the upload ID, that you must include in your upload part request. For more information about using the UploadPartCopy operation, see the following: For conceptual information about multipart uploads, see Uploading Objects Using Multipart Upload in the Amazon Simple Storage Service Developer Guide. For information about permissions required to use the multipart upload API, see Multipart Upload API and Permissions in the Amazon Simple Storage Service Developer Guide. For information about copying objects using a single atomic operation vs. the multipart upload, see Operations on Objects in the Amazon Simple Storage Service Developer Guide. For information about using server-side encryption with customer-provided encryption keys with the UploadPartCopy operation, see CopyObject and UploadPart. Note the following additional considerations about the request headers x-amz-copy-source-if-match, x-amz-copy-source-if-none-match, x-amz-copy-source-if-unmodified-since, and x-amz-copy-source-if-modified-since: Consideration 1 - If both of the x-amz-copy-source-if-match and x-amz-copy-source-if-unmodified-since headers are present in the request as follows: x-amz-copy-source-if-match condition evaluates to true, and; x-amz-copy-source-if-unmodified-since condition evaluates to false; Amazon S3 returns 200 OK and copies the data. Consideration 2 - If both of the x-amz-copy-source-if-none-match and x-amz-copy-source-if-modified-since headers are present in the request as follows: x-amz-copy-source-if-none-match condition evaluates to false, and; x-amz-copy-source-if-modified-since condition evaluates to true; Amazon S3 returns 412 Precondition Failed response code. Versioning If your bucket has versioning enabled, you could have multiple versions of the same object. By default, x-amz-copy-source identifies the current version of the object to copy. If the current version is a delete marker and you don't specify a versionId in the x-amz-copy-source, Amazon S3 returns a 404 error, because the object does not exist. If you specify versionId in the x-amz-copy-source and the versionId is a delete marker, Amazon S3 returns an HTTP 400 error, because you are not allowed to specify a delete marker as a version for the x-amz-copy-source. You can optionally specify a specific version of the source object to copy by adding the versionId subresource as shown in the following example: x-amz-copy-source: /bucket/object?versionId=version id Special Errors Code: NoSuchUpload Cause: The specified multipart upload does not exist. The upload ID might be invalid, or the multipart upload might have been aborted or completed. HTTP Status Code: 404 Not Found Code: InvalidRequest Cause: The specified copy source is not supported as a byte-range copy source. HTTP Status Code: 400 Bad Request Related Resources CreateMultipartUpload UploadPart CompleteMultipartUpload AbortMultipartUpload ListParts ListMultipartUploads + +Required Parameters +{ + "UploadId": "Upload ID identifying the multipart upload whose part is being copied.", + "Bucket": "The bucket name.", + "Key": "Object key for which the multipart upload was initiated.", + "CopySource": "The name of the source bucket and key name of the source object, separated by a slash (/). Must be URL-encoded.", + "PartNumber": "Part number of part being copied. This is a positive integer between 1 and 10,000." +} + +Optional Parameters +{ + "RequestPayer": "", + "CopySourceSSECustomerKey": "Specifies the customer-provided encryption key for Amazon S3 to use to decrypt the source object. The encryption key provided in this header must be one that was used when the source object was created.", + "CopySourceSSECustomerKeyMD5": "Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses this header for a message integrity check to ensure that the encryption key was transmitted without error.", + "CopySourceRange": "The range of bytes to copy from the source object. The range value must use the form bytes=first-last, where the first and last are the zero-based byte offsets to copy. For example, bytes=0-9 indicates that you want to copy the first 10 bytes of the source. You can copy a range only if the source object is greater than 5 MB.", + "SSECustomerKeyMD5": "Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses this header for a message integrity check to ensure that the encryption key was transmitted without error.", + "SSECustomerKey": "Specifies the customer-provided encryption key for Amazon S3 to use in encrypting data. This value is used to store the object and then it is discarded; Amazon S3 does not store the encryption key. The key must be appropriate for use with the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm header. This must be the same encryption key specified in the initiate multipart upload request.", + "CopySourceIfMatch": "Copies the object if its entity tag (ETag) matches the specified tag.", + "CopySourceIfUnmodifiedSince": "Copies the object if it hasn't been modified since the specified time.", + "CopySourceIfModifiedSince": "Copies the object if it has been modified since the specified time.", + "CopySourceSSECustomerAlgorithm": "Specifies the algorithm to use when decrypting the source object (for example, AES256).", + "SSECustomerAlgorithm": "Specifies the algorithm to use to when encrypting the object (for example, AES256).", + "CopySourceIfNoneMatch": "Copies the object if its entity tag (ETag) is different than the specified ETag." +} +""" +UploadPartCopy(UploadId, Bucket, Key, CopySource, PartNumber) = s3("PUT", "/{Bucket}/{Key+}") +UploadPartCopy(UploadId, Bucket, Key, CopySource, PartNumber, args) = s3("PUT", "/{Bucket}/{Key+}", args) +UploadPartCopy(a...; b...) = UploadPartCopy(a..., b) + +""" + PutBucketLogging() + +Set the logging parameters for a bucket and to specify permissions for who can view and modify the logging parameters. All logs are saved to buckets in the same AWS Region as the source bucket. To set the logging status of a bucket, you must be the bucket owner. The bucket owner is automatically granted FULL_CONTROL to all logs. You use the Grantee request element to grant access to other people. The Permissions request element specifies the kind of access the grantee has to the logs. Grantee Values You can specify the person (grantee) to whom you're assigning access rights (using request elements) in the following ways: By the person's ID: <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="CanonicalUser"><ID><>ID<></ID><DisplayName><>GranteesEmail<></DisplayName> </Grantee> DisplayName is optional and ignored in the request. By Email address: <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="AmazonCustomerByEmail"><EmailAddress><>Grantees@email.com<></EmailAddress></Grantee> The grantee is resolved to the CanonicalUser and, in a response to a GET Object acl request, appears as the CanonicalUser. By URI: <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="Group"><URI><>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<></URI></Grantee> To enable logging, you use LoggingEnabled and its children request elements. To disable logging, you use an empty BucketLoggingStatus request element: <BucketLoggingStatus xmlns="http://doc.s3.amazonaws.com/2006-03-01" /> For more information about server access logging, see Server Access Logging. For more information about creating a bucket, see CreateBucket. For more information about returning the logging status of a bucket, see GetBucketLogging. The following operations are related to PutBucketLogging: PutObject DeleteBucket CreateBucket GetBucketLogging + +Required Parameters +{ + "BucketLoggingStatus": "Container for logging status information.", + "Bucket": "The name of the bucket for which to set the logging parameters." +} + +Optional Parameters +{ + "ContentMD5": "The MD5 hash of the PutBucketLogging request body." +} +""" +PutBucketLogging(BucketLoggingStatus, Bucket) = s3("PUT", "/{Bucket}?logging") +PutBucketLogging(BucketLoggingStatus, Bucket, args) = s3("PUT", "/{Bucket}?logging", args) +PutBucketLogging(a...; b...) = PutBucketLogging(a..., b) + +""" + PutBucketInventoryConfiguration() + +This implementation of the PUT operation adds an inventory configuration (identified by the inventory ID) to the bucket. You can have up to 1,000 inventory configurations per bucket. Amazon S3 inventory generates inventories of the objects in the bucket on a daily or weekly basis, and the results are published to a flat file. The bucket that is inventoried is called the source bucket, and the bucket where the inventory flat file is stored is called the destination bucket. The destination bucket must be in the same AWS Region as the source bucket. When you configure an inventory for a source bucket, you specify the destination bucket where you want the inventory to be stored, and whether to generate the inventory daily or weekly. You can also configure what object metadata to include and whether to inventory all object versions or only current versions. For more information, see Amazon S3 Inventory in the Amazon Simple Storage Service Developer Guide. You must create a bucket policy on the destination bucket to grant permissions to Amazon S3 to write objects to the bucket in the defined location. For an example policy, see Granting Permissions for Amazon S3 Inventory and Storage Class Analysis. To use this operation, you must have permissions to perform the s3:PutInventoryConfiguration action. The bucket owner has this permission by default and can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources in the Amazon Simple Storage Service Developer Guide. Special Errors HTTP 400 Bad Request Error Code: InvalidArgument Cause: Invalid Argument HTTP 400 Bad Request Error Code: TooManyConfigurations Cause: You are attempting to create a new configuration but have already reached the 1,000-configuration limit. HTTP 403 Forbidden Error Code: AccessDenied Cause: You are not the owner of the specified bucket, or you do not have the s3:PutInventoryConfiguration bucket permission to set the configuration on the bucket Related Resources GetBucketInventoryConfiguration DeleteBucketInventoryConfiguration ListBucketInventoryConfigurations + +Required Parameters +{ + "Id": "The ID used to identify the inventory configuration.", + "InventoryConfiguration": "Specifies the inventory configuration.", + "Bucket": "The name of the bucket where the inventory configuration will be stored." +} +""" +PutBucketInventoryConfiguration(Id, InventoryConfiguration, Bucket) = s3("PUT", "/{Bucket}?inventory") +PutBucketInventoryConfiguration(Id, InventoryConfiguration, Bucket, args) = s3("PUT", "/{Bucket}?inventory", args) +PutBucketInventoryConfiguration(a...; b...) = PutBucketInventoryConfiguration(a..., b) + +""" + PutBucketReplication() + + Creates a replication configuration or replaces an existing one. For more information, see Replication in the Amazon S3 Developer Guide. To perform this operation, the user or role performing the operation must have the iam:PassRole permission. Specify the replication configuration in the request body. In the replication configuration, you provide the name of the destination bucket where you want Amazon S3 to replicate objects, the IAM role that Amazon S3 can assume to replicate objects on your behalf, and other relevant information. A replication configuration must include at least one rule, and can contain a maximum of 1,000. Each rule identifies a subset of objects to replicate by filtering the objects in the source bucket. To choose additional subsets of objects to replicate, add a rule for each subset. All rules must specify the same destination bucket. To specify a subset of the objects in the source bucket to apply a replication rule to, add the Filter element as a child of the Rule element. You can filter objects based on an object key prefix, one or more object tags, or both. When you add the Filter element in the configuration, you must also add the following elements: DeleteMarkerReplication, Status, and Priority. For information about enabling versioning on a bucket, see Using Versioning. By default, a resource owner, in this case the AWS account that created the bucket, can perform this operation. The resource owner can also grant others permissions to perform the operation. For more information about permissions, see Specifying Permissions in a Policy and Managing Access Permissions to Your Amazon S3 Resources. Handling Replication of Encrypted Objects By default, Amazon S3 doesn't replicate objects that are stored at rest using server-side encryption with CMKs stored in AWS KMS. To replicate AWS KMS-encrypted objects, add the following: SourceSelectionCriteria, SseKmsEncryptedObjects, Status, EncryptionConfiguration, and ReplicaKmsKeyID. For information about replication configuration, see Replicating Objects Created with SSE Using CMKs stored in AWS KMS. For information on PutBucketReplication errors, see ReplicationErrorCodeList The following operations are related to PutBucketReplication: GetBucketReplication DeleteBucketReplication + +Required Parameters +{ + "ReplicationConfiguration": "", + "Bucket": "The name of the bucket" +} + +Optional Parameters +{ + "ContentMD5": "The base64-encoded 128-bit MD5 digest of the data. You must use this header as a message integrity check to verify that the request body was not corrupted in transit. For more information, see RFC 1864.", + "Token": "" +} +""" +PutBucketReplication(ReplicationConfiguration, Bucket) = s3("PUT", "/{Bucket}?replication") +PutBucketReplication(ReplicationConfiguration, Bucket, args) = s3("PUT", "/{Bucket}?replication", args) +PutBucketReplication(a...; b...) = PutBucketReplication(a..., b) + +""" + DeleteBucketPolicy() + +This implementation of the DELETE operation uses the policy subresource to delete the policy of a specified bucket. If you are using an identity other than the root user of the AWS account that owns the bucket, the calling identity must have the DeleteBucketPolicy permissions on the specified bucket and belong to the bucket owner's account to use this operation. If you don't have DeleteBucketPolicy permissions, Amazon S3 returns a 403 Access Denied error. If you have the correct permissions, but you're not using an identity that belongs to the bucket owner's account, Amazon S3 returns a 405 Method Not Allowed error. As a security precaution, the root user of the AWS account that owns a bucket can always use this operation, even if the policy explicitly denies the root user the ability to perform this action. For more information about bucket policies, see Using Bucket Policies and UserPolicies. The following operations are related to DeleteBucketPolicy CreateBucket DeleteObject + +Required Parameters +{ + "Bucket": "The bucket name." +} +""" +DeleteBucketPolicy(Bucket) = s3("DELETE", "/{Bucket}?policy") +DeleteBucketPolicy(Bucket, args) = s3("DELETE", "/{Bucket}?policy", args) +DeleteBucketPolicy(a...; b...) = DeleteBucketPolicy(a..., b) + +""" + GetBucketLifecycle() + + For an updated version of this API, see GetBucketLifecycleConfiguration. If you configured a bucket lifecycle using the filter element, you should see the updated version of this topic. This topic is provided for backward compatibility. Returns the lifecycle configuration information set on the bucket. For information about lifecycle configuration, see Object Lifecycle Management. To use this operation, you must have permission to perform the s3:GetLifecycleConfiguration action. The bucket owner has this permission by default. The bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources. GetBucketLifecycle has the following special error: Error code: NoSuchLifecycleConfiguration Description: The lifecycle configuration does not exist. HTTP Status Code: 404 Not Found SOAP Fault Code Prefix: Client The following operations are related to GetBucketLifecycle: GetBucketLifecycleConfiguration PutBucketLifecycle DeleteBucketLifecycle + +Required Parameters +{ + "Bucket": "The name of the bucket for which to get the lifecycle information." +} +""" +GetBucketLifecycle(Bucket) = s3("GET", "/{Bucket}?lifecycle") +GetBucketLifecycle(Bucket, args) = s3("GET", "/{Bucket}?lifecycle", args) +GetBucketLifecycle(a...; b...) = GetBucketLifecycle(a..., b) + +""" + GetBucketLogging() + +Returns the logging status of a bucket and the permissions users have to view and modify that status. To use GET, you must be the bucket owner. The following operations are related to GetBucketLogging: CreateBucket PutBucketLogging + +Required Parameters +{ + "Bucket": "The bucket name for which to get the logging information." +} +""" +GetBucketLogging(Bucket) = s3("GET", "/{Bucket}?logging") +GetBucketLogging(Bucket, args) = s3("GET", "/{Bucket}?logging", args) +GetBucketLogging(a...; b...) = GetBucketLogging(a..., b) + +""" + GetBucketAnalyticsConfiguration() + +This implementation of the GET operation returns an analytics configuration (identified by the analytics configuration ID) from the bucket. To use this operation, you must have permissions to perform the s3:GetAnalyticsConfiguration action. The bucket owner has this permission by default. The bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources in the Amazon Simple Storage Service Developer Guide. For information about Amazon S3 analytics feature, see Amazon S3 Analytics – Storage Class Analysis in the Amazon Simple Storage Service Developer Guide. Related Resources + +Required Parameters +{ + "Id": "The ID that identifies the analytics configuration.", + "Bucket": "The name of the bucket from which an analytics configuration is retrieved." +} +""" +GetBucketAnalyticsConfiguration(Id, Bucket) = s3("GET", "/{Bucket}?analytics") +GetBucketAnalyticsConfiguration(Id, Bucket, args) = s3("GET", "/{Bucket}?analytics", args) +GetBucketAnalyticsConfiguration(a...; b...) = GetBucketAnalyticsConfiguration(a..., b) + +""" + GetBucketRequestPayment() + +Returns the request payment configuration of a bucket. To use this version of the operation, you must be the bucket owner. For more information, see Requester Pays Buckets. The following operations are related to GetBucketRequestPayment: ListObjects + +Required Parameters +{ + "Bucket": "The name of the bucket for which to get the payment request configuration" +} +""" +GetBucketRequestPayment(Bucket) = s3("GET", "/{Bucket}?requestPayment") +GetBucketRequestPayment(Bucket, args) = s3("GET", "/{Bucket}?requestPayment", args) +GetBucketRequestPayment(a...; b...) = GetBucketRequestPayment(a..., b) + +""" + DeleteBucketLifecycle() + +Deletes the lifecycle configuration from the specified bucket. Amazon S3 removes all the lifecycle configuration rules in the lifecycle subresource associated with the bucket. Your objects never expire, and Amazon S3 no longer automatically deletes any objects on the basis of rules contained in the deleted lifecycle configuration. To use this operation, you must have permission to perform the s3:PutLifecycleConfiguration action. By default, the bucket owner has this permission and the bucket owner can grant this permission to others. There is usually some time lag before lifecycle configuration deletion is fully propagated to all the Amazon S3 systems. For more information about the object expiration, see Elements to Describe Lifecycle Actions. Related actions include: PutBucketLifecycleConfiguration GetBucketLifecycleConfiguration + +Required Parameters +{ + "Bucket": "The bucket name of the lifecycle to delete." +} +""" +DeleteBucketLifecycle(Bucket) = s3("DELETE", "/{Bucket}?lifecycle") +DeleteBucketLifecycle(Bucket, args) = s3("DELETE", "/{Bucket}?lifecycle", args) +DeleteBucketLifecycle(a...; b...) = DeleteBucketLifecycle(a..., b) + +""" + DeleteBucketWebsite() + +This operation removes the website configuration for a bucket. Amazon S3 returns a 200 OK response upon successfully deleting a website configuration on the specified bucket. You will get a 200 OK response if the website configuration you are trying to delete does not exist on the bucket. Amazon S3 returns a 404 response if the bucket specified in the request does not exist. This DELETE operation requires the S3:DeleteBucketWebsite permission. By default, only the bucket owner can delete the website configuration attached to a bucket. However, bucket owners can grant other users permission to delete the website configuration by writing a bucket policy granting them the S3:DeleteBucketWebsite permission. For more information about hosting websites, see Hosting Websites on Amazon S3. The following operations are related to DeleteBucketWebsite: GetBucketWebsite PutBucketWebsite + +Required Parameters +{ + "Bucket": "The bucket name for which you want to remove the website configuration. " +} +""" +DeleteBucketWebsite(Bucket) = s3("DELETE", "/{Bucket}?website") +DeleteBucketWebsite(Bucket, args) = s3("DELETE", "/{Bucket}?website", args) +DeleteBucketWebsite(a...; b...) = DeleteBucketWebsite(a..., b) + +""" + GetBucketAcl() + +This implementation of the GET operation uses the acl subresource to return the access control list (ACL) of a bucket. To use GET to return the ACL of the bucket, you must have READ_ACP access to the bucket. If READ_ACP permission is granted to the anonymous user, you can return the ACL of the bucket without using an authorization header. Related Resources + +Required Parameters +{ + "Bucket": "Specifies the S3 bucket whose ACL is being requested." +} +""" +GetBucketAcl(Bucket) = s3("GET", "/{Bucket}?acl") +GetBucketAcl(Bucket, args) = s3("GET", "/{Bucket}?acl", args) +GetBucketAcl(a...; b...) = GetBucketAcl(a..., b) + +""" + GetObject() + +Retrieves objects from Amazon S3. To use GET, you must have READ access to the object. If you grant READ access to the anonymous user, you can return the object without using an authorization header. An Amazon S3 bucket has no directory hierarchy such as you would find in a typical computer file system. You can, however, create a logical hierarchy by using object key names that imply a folder structure. For example, instead of naming an object sample.jpg, you can name it photos/2006/February/sample.jpg. To get an object from such a logical hierarchy, specify the full key name for the object in the GET operation. For a virtual hosted-style request example, if you have the object photos/2006/February/sample.jpg, specify the resource as /photos/2006/February/sample.jpg. For a path-style request example, if you have the object photos/2006/February/sample.jpg in the bucket named examplebucket, specify the resource as /examplebucket/photos/2006/February/sample.jpg. For more information about request types, see HTTP Host Header Bucket Specification. To distribute large files to many people, you can save bandwidth costs by using BitTorrent. For more information, see Amazon S3 Torrent. For more information about returning the ACL of an object, see GetObjectAcl. If the object you are retrieving is stored in the GLACIER or DEEP_ARCHIVE storage classes, before you can retrieve the object you must first restore a copy using . Otherwise, this operation returns an InvalidObjectStateError error. For information about restoring archived objects, see Restoring Archived Objects. Encryption request headers, like x-amz-server-side-encryption, should not be sent for GET requests if your object uses server-side encryption with CMKs stored in AWS KMS (SSE-KMS) or server-side encryption with Amazon S3–managed encryption keys (SSE-S3). If your object does use these types of keys, you’ll get an HTTP 400 BadRequest error. If you encrypt an object by using server-side encryption with customer-provided encryption keys (SSE-C) when you store the object in Amazon S3, then when you GET the object, you must use the following headers: x-amz-server-side​-encryption​-customer-algorithm x-amz-server-side​-encryption​-customer-key x-amz-server-side​-encryption​-customer-key-MD5 For more information about SSE-C, see Server-Side Encryption (Using Customer-Provided Encryption Keys). Assuming you have permission to read object tags (permission for the s3:GetObjectVersionTagging action), the response also returns the x-amz-tagging-count header that provides the count of number of tags associated with the object. You can use GetObjectTagging to retrieve the tag set associated with an object. Permissions You need the s3:GetObject permission for this operation. For more information, see Specifying Permissions in a Policy. If the object you request does not exist, the error Amazon S3 returns depends on whether you also have the s3:ListBucket permission. If you have the s3:ListBucket permission on the bucket, Amazon S3 will return an HTTP status code 404 ("no such key") error. If you don’t have the s3:ListBucket permission, Amazon S3 will return an HTTP status code 403 ("access denied") error. Versioning By default, the GET operation returns the current version of an object. To return a different version, use the versionId subresource. If the current version of the object is a delete marker, Amazon S3 behaves as if the object was deleted and includes x-amz-delete-marker: true in the response. For more information about versioning, see PutBucketVersioning. Overriding Response Header Values There are times when you want to override certain response header values in a GET response. For example, you might override the Content-Disposition response header value in your GET request. You can override values for a set of response headers using the following query parameters. These response header values are sent only on a successful request, that is, when status code 200 OK is returned. The set of headers you can override using these parameters is a subset of the headers that Amazon S3 accepts when you create an object. The response headers that you can override for the GET response are Content-Type, Content-Language, Expires, Cache-Control, Content-Disposition, and Content-Encoding. To override these header values in the GET response, you use the following request parameters. You must sign the request, either using an Authorization header or a presigned URL, when using these parameters. They cannot be used with an unsigned (anonymous) request. response-content-type response-content-language response-expires response-cache-control response-content-disposition response-content-encoding Additional Considerations about Request Headers If both of the If-Match and If-Unmodified-Since headers are present in the request as follows: If-Match condition evaluates to true, and; If-Unmodified-Since condition evaluates to false; then, S3 returns 200 OK and the data requested. If both of the If-None-Match and If-Modified-Since headers are present in the request as follows: If-None-Match condition evaluates to false, and; If-Modified-Since condition evaluates to true; then, S3 returns 304 Not Modified response code. For more information about conditional requests, see RFC 7232. The following operations are related to GetObject: ListBuckets GetObjectAcl + +Required Parameters +{ + "Bucket": "The bucket name containing the object. When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.", + "Key": "Key of the object to get." +} + +Optional Parameters +{ + "ResponseContentEncoding": "Sets the Content-Encoding header of the response.", + "IfModifiedSince": "Return the object only if it has been modified since the specified time, otherwise return a 304 (not modified).", + "RequestPayer": "", + "IfMatch": "Return the object only if its entity tag (ETag) is the same as the one specified, otherwise return a 412 (precondition failed).", + "VersionId": "VersionId used to reference a specific version of the object.", + "IfNoneMatch": "Return the object only if its entity tag (ETag) is different from the one specified, otherwise return a 304 (not modified).", + "SSECustomerKey": "Specifies the customer-provided encryption key for Amazon S3 to use in encrypting data. This value is used to store the object and then it is discarded; Amazon S3 does not store the encryption key. The key must be appropriate for use with the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm header.", + "SSECustomerKeyMD5": "Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses this header for a message integrity check to ensure that the encryption key was transmitted without error.", + "ResponseContentLanguage": "Sets the Content-Language header of the response.", + "ResponseContentDisposition": "Sets the Content-Disposition header of the response", + "Range": "Downloads the specified range bytes of an object. For more information about the HTTP Range header, see http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35.", + "IfUnmodifiedSince": "Return the object only if it has not been modified since the specified time, otherwise return a 412 (precondition failed).", + "ResponseCacheControl": "Sets the Cache-Control header of the response.", + "ResponseContentType": "Sets the Content-Type header of the response.", + "PartNumber": "Part number of the object being read. This is a positive integer between 1 and 10,000. Effectively performs a 'ranged' GET request for the part specified. Useful for downloading just a part of an object.", + "ResponseExpires": "Sets the Expires header of the response.", + "SSECustomerAlgorithm": "Specifies the algorithm to use to when encrypting the object (for example, AES256)." +} +""" +GetObject(Bucket, Key) = s3("GET", "/{Bucket}/{Key+}") +GetObject(Bucket, Key, args) = s3("GET", "/{Bucket}/{Key+}", args) +GetObject(a...; b...) = GetObject(a..., b) + +""" + DeleteBucketReplication() + + Deletes the replication configuration from the bucket. To use this operation, you must have permissions to perform the s3:PutReplicationConfiguration action. The bucket owner has these permissions by default and can grant it to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources. It can take a while for the deletion of a replication configuration to fully propagate. For information about replication configuration, see Replication in the Amazon S3 Developer Guide. The following operations are related to DeleteBucketReplication: PutBucketReplication GetBucketReplication + +Required Parameters +{ + "Bucket": " The bucket name. " +} +""" +DeleteBucketReplication(Bucket) = s3("DELETE", "/{Bucket}?replication") +DeleteBucketReplication(Bucket, args) = s3("DELETE", "/{Bucket}?replication", args) +DeleteBucketReplication(a...; b...) = DeleteBucketReplication(a..., b) + +""" + PutObjectLockConfiguration() + +Places an Object Lock configuration on the specified bucket. The rule specified in the Object Lock configuration will be applied by default to every new object placed in the specified bucket. DefaultRetention requires either Days or Years. You can't specify both at the same time. Related Resources Locking Objects + +Required Parameters +{ + "Bucket": "The bucket whose Object Lock configuration you want to create or replace." +} + +Optional Parameters +{ + "ContentMD5": "The MD5 hash for the request body.", + "ObjectLockConfiguration": "The Object Lock configuration that you want to apply to the specified bucket.", + "RequestPayer": "", + "Token": "A token to allow Object Lock to be enabled for an existing bucket." +} +""" +PutObjectLockConfiguration(Bucket) = s3("PUT", "/{Bucket}?object-lock") +PutObjectLockConfiguration(Bucket, args) = s3("PUT", "/{Bucket}?object-lock", args) +PutObjectLockConfiguration(a...; b...) = PutObjectLockConfiguration(a..., b) + +""" + ListParts() + +Lists the parts that have been uploaded for a specific multipart upload. This operation must include the upload ID, which you obtain by sending the initiate multipart upload request (see CreateMultipartUpload). This request returns a maximum of 1,000 uploaded parts. The default number of parts returned is 1,000 parts. You can restrict the number of parts returned by specifying the max-parts request parameter. If your multipart upload consists of more than 1,000 parts, the response returns an IsTruncated field with the value of true, and a NextPartNumberMarker element. In subsequent ListParts requests you can include the part-number-marker query string parameter and set its value to the NextPartNumberMarker field value from the previous response. For more information on multipart uploads, see Uploading Objects Using Multipart Upload. For information on permissions required to use the multipart upload API, see Multipart Upload API and Permissions. The following operations are related to ListParts: CreateMultipartUpload UploadPart CompleteMultipartUpload AbortMultipartUpload ListMultipartUploads + +Required Parameters +{ + "UploadId": "Upload ID identifying the multipart upload whose parts are being listed.", + "Bucket": "Name of the bucket to which the parts are being uploaded. When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.", + "Key": "Object key for which the multipart upload was initiated." +} + +Optional Parameters +{ + "MaxParts": "Sets the maximum number of parts to return.", + "RequestPayer": "", + "PartNumberMarker": "Specifies the part after which listing should begin. Only parts with higher part numbers will be listed." +} +""" +ListParts(UploadId, Bucket, Key) = s3("GET", "/{Bucket}/{Key+}") +ListParts(UploadId, Bucket, Key, args) = s3("GET", "/{Bucket}/{Key+}", args) +ListParts(a...; b...) = ListParts(a..., b) + +""" + SelectObjectContent() + +This operation filters the contents of an Amazon S3 object based on a simple structured query language (SQL) statement. In the request, along with the SQL expression, you must also specify a data serialization format (JSON, CSV, or Apache Parquet) of the object. Amazon S3 uses this format to parse object data into records, and returns only records that match the specified SQL expression. You must also specify the data serialization format for the response. For more information about Amazon S3 Select, see Selecting Content from Objects in the Amazon Simple Storage Service Developer Guide. For more information about using SQL with Amazon S3 Select, see SQL Reference for Amazon S3 Select and Glacier Select in the Amazon Simple Storage Service Developer Guide. Permissions You must have s3:GetObject permission for this operation. Amazon S3 Select does not support anonymous access. For more information about permissions, see Specifying Permissions in a Policy in the Amazon Simple Storage Service Developer Guide. Object Data Formats You can use Amazon S3 Select to query objects that have the following format properties: CSV, JSON, and Parquet - Objects must be in CSV, JSON, or Parquet format. UTF-8 - UTF-8 is the only encoding type Amazon S3 Select supports. GZIP or BZIP2 - CSV and JSON files can be compressed using GZIP or BZIP2. GZIP and BZIP2 are the only compression formats that Amazon S3 Select supports for CSV and JSON files. Amazon S3 Select supports columnar compression for Parquet using GZIP or Snappy. Amazon S3 Select does not support whole-object compression for Parquet objects. Server-side encryption - Amazon S3 Select supports querying objects that are protected with server-side encryption. For objects that are encrypted with customer-provided encryption keys (SSE-C), you must use HTTPS, and you must use the headers that are documented in the GetObject. For more information about SSE-C, see Server-Side Encryption (Using Customer-Provided Encryption Keys) in the Amazon Simple Storage Service Developer Guide. For objects that are encrypted with Amazon S3 managed encryption keys (SSE-S3) and customer master keys (CMKs) stored in AWS Key Management Service (SSE-KMS), server-side encryption is handled transparently, so you don't need to specify anything. For more information about server-side encryption, including SSE-S3 and SSE-KMS, see Protecting Data Using Server-Side Encryption in the Amazon Simple Storage Service Developer Guide. Working with the Response Body Given the response size is unknown, Amazon S3 Select streams the response as a series of messages and includes a Transfer-Encoding header with chunked as its value in the response. For more information, see RESTSelectObjectAppendix . GetObject Support The SelectObjectContent operation does not support the following GetObject functionality. For more information, see GetObject. Range: While you can specify a scan range for a Amazon S3 Select request, see SelectObjectContentRequest ScanRange in the request parameters below, you cannot specify the range of bytes of an object to return. GLACIER, DEEP_ARCHIVE and REDUCED_REDUNDANCY storage classes: You cannot specify the GLACIER, DEEP_ARCHIVE, or REDUCED_REDUNDANCY storage classes. For more information, about storage classes see Storage Classes in the Amazon Simple Storage Service Developer Guide. Special Errors For a list of special errors for this operation and for general information about Amazon S3 errors and a list of error codes, see ErrorResponses Related Resources GetObject GetBucketLifecycleConfiguration PutBucketLifecycleConfiguration + +Required Parameters +{ + "OutputSerialization": "Describes the format of the data that you want Amazon S3 to return in response.", + "ExpressionType": "The type of the provided expression (for example, SQL).", + "Bucket": "The S3 bucket.", + "Key": "The object key.", + "Expression": "The expression that is used to query the object.", + "InputSerialization": "Describes the format of the data in the object that is being queried." +} + +Optional Parameters +{ + "ScanRange": "Specifies the byte range of the object to get the records from. A record is processed when its first byte is contained by the range. This parameter is optional, but when specified, it must not be empty. See RFC 2616, Section 14.35.1 about how to specify the start and end of the range. ScanRangemay be used in the following ways: <scanrange><start>50</start><end>100</end></scanrange> - process only the records starting between the bytes 50 and 100 (inclusive, counting from zero) <scanrange><start>50</start></scanrange> - process only the records starting after the byte 50 <scanrange><end>50</end></scanrange> - process only the records within the last 50 bytes of the file. ", + "SSECustomerAlgorithm": "The SSE Algorithm used to encrypt the object. For more information, see Server-Side Encryption (Using Customer-Provided Encryption Keys. ", + "RequestProgress": "Specifies if periodic request progress information should be enabled.", + "SSECustomerKeyMD5": "The SSE Customer Key MD5. For more information, see Server-Side Encryption (Using Customer-Provided Encryption Keys. ", + "SSECustomerKey": "The SSE Customer Key. For more information, see Server-Side Encryption (Using Customer-Provided Encryption Keys. " +} +""" +SelectObjectContent(OutputSerialization, ExpressionType, Bucket, Key, Expression, InputSerialization) = s3("POST", "/{Bucket}/{Key+}?select&select-type=2") +SelectObjectContent(OutputSerialization, ExpressionType, Bucket, Key, Expression, InputSerialization, args) = s3("POST", "/{Bucket}/{Key+}?select&select-type=2", args) +SelectObjectContent(a...; b...) = SelectObjectContent(a..., b) + +""" + GetBucketNotificationConfiguration() + +Returns the notification configuration of a bucket. If notifications are not enabled on the bucket, the operation returns an empty NotificationConfiguration element. By default, you must be the bucket owner to read the notification configuration of a bucket. However, the bucket owner can use a bucket policy to grant permission to other users to read this configuration with the s3:GetBucketNotification permission. For more information about setting and reading the notification configuration on a bucket, see Setting Up Notification of Bucket Events. For more information about bucket policies, see Using Bucket Policies. The following operation is related to GetBucketNotification: PutBucketNotification + +Required Parameters +{ + "Bucket": "Name of the bucket for which to get the notification configuration" +} +""" +GetBucketNotificationConfiguration(Bucket) = s3("GET", "/{Bucket}?notification") +GetBucketNotificationConfiguration(Bucket, args) = s3("GET", "/{Bucket}?notification", args) +GetBucketNotificationConfiguration(a...; b...) = GetBucketNotificationConfiguration(a..., b) + +""" + GetBucketEncryption() + +Returns the default encryption configuration for an Amazon S3 bucket. For information about the Amazon S3 default encryption feature, see Amazon S3 Default Bucket Encryption. To use this operation, you must have permission to perform the s3:GetEncryptionConfiguration action. The bucket owner has this permission by default. The bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources. The following operations are related to GetBucketEncryption: PutBucketEncryption DeleteBucketEncryption + +Required Parameters +{ + "Bucket": "The name of the bucket from which the server-side encryption configuration is retrieved." +} +""" +GetBucketEncryption(Bucket) = s3("GET", "/{Bucket}?encryption") +GetBucketEncryption(Bucket, args) = s3("GET", "/{Bucket}?encryption", args) +GetBucketEncryption(a...; b...) = GetBucketEncryption(a..., b) + +""" + GetBucketPolicy() + +Returns the policy of a specified bucket. If you are using an identity other than the root user of the AWS account that owns the bucket, the calling identity must have the GetBucketPolicy permissions on the specified bucket and belong to the bucket owner's account in order to use this operation. If you don't have GetBucketPolicy permissions, Amazon S3 returns a 403 Access Denied error. If you have the correct permissions, but you're not using an identity that belongs to the bucket owner's account, Amazon S3 returns a 405 Method Not Allowed error. As a security precaution, the root user of the AWS account that owns a bucket can always use this operation, even if the policy explicitly denies the root user the ability to perform this action. For more information about bucket policies, see Using Bucket Policies and User Policies. The following operation is related to GetBucketPolicy: GetObject + +Required Parameters +{ + "Bucket": "The bucket name for which to get the bucket policy." +} +""" +GetBucketPolicy(Bucket) = s3("GET", "/{Bucket}?policy") +GetBucketPolicy(Bucket, args) = s3("GET", "/{Bucket}?policy", args) +GetBucketPolicy(a...; b...) = GetBucketPolicy(a..., b) + +""" + HeadBucket() + +This operation is useful to determine if a bucket exists and you have permission to access it. The operation returns a 200 OK if the bucket exists and you have permission to access it. Otherwise, the operation might return responses such as 404 Not Found and 403 Forbidden. To use this operation, you must have permissions to perform the s3:ListBucket action. The bucket owner has this permission by default and can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources. + +Required Parameters +{ + "Bucket": "The bucket name." +} +""" +HeadBucket(Bucket) = s3("HEAD", "/{Bucket}") +HeadBucket(Bucket, args) = s3("HEAD", "/{Bucket}", args) +HeadBucket(a...; b...) = HeadBucket(a..., b) + +""" + CreateMultipartUpload() + +This operation initiates a multipart upload and returns an upload ID. This upload ID is used to associate all of the parts in the specific multipart upload. You specify this upload ID in each of your subsequent upload part requests (see UploadPart). You also include this upload ID in the final request to either complete or abort the multipart upload request. For more information about multipart uploads, see Multipart Upload Overview. If you have configured a lifecycle rule to abort incomplete multipart uploads, the upload must complete within the number of days specified in the bucket lifecycle configuration. Otherwise, the incomplete multipart upload becomes eligible for an abort operation and Amazon S3 aborts the multipart upload. For more information, see Aborting Incomplete Multipart Uploads Using a Bucket Lifecycle Policy. For information about the permissions required to use the multipart upload API, see Multipart Upload API and Permissions. For request signing, multipart upload is just a series of regular requests. You initiate a multipart upload, send one or more requests to upload parts, and then complete the multipart upload process. You sign each request individually. There is nothing special about signing multipart upload requests. For more information about signing, see Authenticating Requests (AWS Signature Version 4). After you initiate a multipart upload and upload one or more parts, to stop being charged for storing the uploaded parts, you must either complete or abort the multipart upload. Amazon S3 frees up the space used to store the parts and stop charging you for storing them only after you either complete or abort a multipart upload. You can optionally request server-side encryption. For server-side encryption, Amazon S3 encrypts your data as it writes it to disks in its data centers and decrypts it when you access it. You can provide your own encryption key, or use AWS Key Management Service (AWS KMS) customer master keys (CMKs) or Amazon S3-managed encryption keys. If you choose to provide your own encryption key, the request headers you provide in UploadPart) and UploadPartCopy) requests must match the headers you used in the request to initiate the upload by using CreateMultipartUpload. To perform a multipart upload with encryption using an AWS KMS CMK, the requester must have permission to the kms:Encrypt, kms:Decrypt, kms:ReEncrypt*, kms:GenerateDataKey*, and kms:DescribeKey actions on the key. These permissions are required because Amazon S3 must decrypt and read data from the encrypted file parts before it completes the multipart upload. If your AWS Identity and Access Management (IAM) user or role is in the same AWS account as the AWS KMS CMK, then you must have these permissions on the key policy. If your IAM user or role belongs to a different account than the key, then you must have the permissions on both the key policy and your IAM user or role. For more information, see Protecting Data Using Server-Side Encryption. Access Permissions When copying an object, you can optionally specify the accounts or groups that should be granted specific permissions on the new object. There are two ways to grant the permissions using the request headers: Specify a canned ACL with the x-amz-acl request header. For more information, see Canned ACL. Specify access permissions explicitly with the x-amz-grant-read, x-amz-grant-read-acp, x-amz-grant-write-acp, and x-amz-grant-full-control headers. These parameters map to the set of permissions that Amazon S3 supports in an ACL. For more information, see Access Control List (ACL) Overview. You can use either a canned ACL or specify access permissions explicitly. You cannot do both. Server-Side- Encryption-Specific Request Headers You can optionally tell Amazon S3 to encrypt data at rest using server-side encryption. Server-side encryption is for data encryption at rest. Amazon S3 encrypts your data as it writes it to disks in its data centers and decrypts it when you access it. The option you use depends on whether you want to use AWS managed encryption keys or provide your own encryption key. Use encryption keys managed by Amazon S3 or customer master keys (CMKs) stored in AWS Key Management Service (AWS KMS) – If you want AWS to manage the keys used to encrypt data, specify the following headers in the request. x-amz-server-side​-encryption x-amz-server-side-encryption-aws-kms-key-id x-amz-server-side-encryption-context If you specify x-amz-server-side-encryption:aws:kms, but don't provide x-amz-server-side-encryption-aws-kms-key-id, Amazon S3 uses the AWS managed CMK in AWS KMS to protect the data. All GET and PUT requests for an object protected by AWS KMS fail if you don't make them with SSL or by using SigV4. For more information about server-side encryption with CMKs stored in AWS KMS (SSE-KMS), see Protecting Data Using Server-Side Encryption with CMKs stored in AWS KMS. Use customer-provided encryption keys – If you want to manage your own encryption keys, provide all the following headers in the request. x-amz-server-side​-encryption​-customer-algorithm x-amz-server-side​-encryption​-customer-key x-amz-server-side​-encryption​-customer-key-MD5 For more information about server-side encryption with CMKs stored in AWS KMS (SSE-KMS), see Protecting Data Using Server-Side Encryption with CMKs stored in AWS KMS. Access-Control-List (ACL)-Specific Request Headers You also can use the following access control–related headers with this operation. By default, all objects are private. Only the owner has full access control. When adding a new object, you can grant permissions to individual AWS accounts or to predefined groups defined by Amazon S3. These permissions are then added to the access control list (ACL) on the object. For more information, see Using ACLs. With this operation, you can grant access permissions using one of the following two methods: Specify a canned ACL (x-amz-acl) — Amazon S3 supports a set of predefined ACLs, known as canned ACLs. Each canned ACL has a predefined set of grantees and permissions. For more information, see Canned ACL. Specify access permissions explicitly — To explicitly grant access permissions to specific AWS accounts or groups, use the following headers. Each header maps to specific permissions that Amazon S3 supports in an ACL. For more information, see Access Control List (ACL) Overview. In the header, you specify a list of grantees who get the specific permission. To grant permissions explicitly, use: x-amz-grant-read x-amz-grant-write x-amz-grant-read-acp x-amz-grant-write-acp x-amz-grant-full-control You specify each grantee as a type=value pair, where the type is one of the following: emailAddress – if the value specified is the email address of an AWS account id – if the value specified is the canonical user ID of an AWS account uri – if you are granting permissions to a predefined group For example, the following x-amz-grant-read header grants the AWS accounts identified by email addresses permissions to read object data and its metadata: x-amz-grant-read: emailAddress="xyz@amazon.com", emailAddress="abc@amazon.com" The following operations are related to CreateMultipartUpload: UploadPart CompleteMultipartUpload AbortMultipartUpload ListParts ListMultipartUploads + +Required Parameters +{ + "Bucket": "The name of the bucket to which to initiate the upload", + "Key": "Object key for which the multipart upload is to be initiated." +} + +Optional Parameters +{ + "GrantReadACP": "Allows grantee to read the object ACL.", + "ObjectLockRetainUntilDate": "Specifies the date and time when you want the Object Lock to expire.", + "RequestPayer": "", + "ContentLanguage": "The language the content is in.", + "ContentEncoding": "Specifies what content encodings have been applied to the object and thus what decoding mechanisms must be applied to obtain the media-type referenced by the Content-Type header field.", + "SSECustomerKeyMD5": "Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses this header for a message integrity check to ensure that the encryption key was transmitted without error.", + "SSECustomerKey": "Specifies the customer-provided encryption key for Amazon S3 to use in encrypting data. This value is used to store the object and then it is discarded; Amazon S3 does not store the encryption key. The key must be appropriate for use with the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm header.", + "SSEKMSEncryptionContext": "Specifies the AWS KMS Encryption Context to use for object encryption. The value of this header is a base64-encoded UTF-8 string holding JSON with the encryption context key-value pairs.", + "ObjectLockLegalHoldStatus": "Specifies whether you want to apply a Legal Hold to the uploaded object.", + "GrantRead": "Allows grantee to read the object data and its metadata.", + "Expires": "The date and time at which the object is no longer cacheable.", + "Tagging": "The tag-set for the object. The tag-set must be encoded as URL Query parameters.", + "ACL": "The canned ACL to apply to the object.", + "ObjectLockMode": "Specifies the Object Lock mode that you want to apply to the uploaded object.", + "ContentDisposition": "Specifies presentational information for the object.", + "CacheControl": "Specifies caching behavior along the request/reply chain.", + "ContentType": "A standard MIME type describing the format of the object data.", + "ServerSideEncryption": "The server-side encryption algorithm used when storing this object in Amazon S3 (for example, AES256, aws:kms).", + "StorageClass": "The type of storage to use for the object. Defaults to 'STANDARD'.", + "GrantFullControl": "Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object.", + "SSEKMSKeyId": "Specifies the ID of the symmetric customer managed AWS KMS CMK to use for object encryption. All GET and PUT requests for an object protected by AWS KMS will fail if not made via SSL or using SigV4. For information about configuring using any of the officially supported AWS SDKs and AWS CLI, see Specifying the Signature Version in Request Authentication in the Amazon S3 Developer Guide.", + "SSECustomerAlgorithm": "Specifies the algorithm to use to when encrypting the object (for example, AES256).", + "Metadata": "A map of metadata to store with the object in S3.", + "WebsiteRedirectLocation": "If the bucket is configured as a website, redirects requests for this object to another object in the same bucket or to an external URL. Amazon S3 stores the value of this header in the object metadata.", + "GrantWriteACP": "Allows grantee to write the ACL for the applicable object." +} +""" +CreateMultipartUpload(Bucket, Key) = s3("POST", "/{Bucket}/{Key+}?uploads") +CreateMultipartUpload(Bucket, Key, args) = s3("POST", "/{Bucket}/{Key+}?uploads", args) +CreateMultipartUpload(a...; b...) = CreateMultipartUpload(a..., b) + +""" + PutObjectAcl() + +Uses the acl subresource to set the access control list (ACL) permissions for an object that already exists in a bucket. You must have WRITE_ACP permission to set the ACL of an object. Depending on your application needs, you can choose to set the ACL on an object using either the request body or the headers. For example, if you have an existing application that updates a bucket ACL using the request body, you can continue to use that approach. Access Permissions You can set access permissions using one of the following methods: Specify a canned ACL with the x-amz-acl request header. Amazon S3 supports a set of predefined ACLs, known as canned ACLs. Each canned ACL has a predefined set of grantees and permissions. Specify the canned ACL name as the value of x-amz-acl. If you use this header, you cannot use other access control-specific headers in your request. For more information, see Canned ACL. Specify access permissions explicitly with the x-amz-grant-read, x-amz-grant-read-acp, x-amz-grant-write-acp, and x-amz-grant-full-control headers. When using these headers, you specify explicit access permissions and grantees (AWS accounts or Amazon S3 groups) who will receive the permission. If you use these ACL-specific headers, you cannot use x-amz-acl header to set a canned ACL. These parameters map to the set of permissions that Amazon S3 supports in an ACL. For more information, see Access Control List (ACL) Overview. You specify each grantee as a type=value pair, where the type is one of the following: emailAddress – if the value specified is the email address of an AWS account id – if the value specified is the canonical user ID of an AWS account uri – if you are granting permissions to a predefined group For example, the following x-amz-grant-read header grants list objects permission to the two AWS accounts identified by their email addresses. x-amz-grant-read: emailAddress="xyz@amazon.com", emailAddress="abc@amazon.com" You can use either a canned ACL or specify access permissions explicitly. You cannot do both. Grantee Values You can specify the person (grantee) to whom you're assigning access rights (using request elements) in the following ways: By Email address: <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="AmazonCustomerByEmail"><EmailAddress><>Grantees@email.com<></EmailAddress>lt;/Grantee> The grantee is resolved to the CanonicalUser and, in a response to a GET Object acl request, appears as the CanonicalUser. By the person's ID: <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="CanonicalUser"><ID><>ID<></ID><DisplayName><>GranteesEmail<></DisplayName> </Grantee> DisplayName is optional and ignored in the request. By URI: <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="Group"><URI><>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<></URI></Grantee> Versioning The ACL of an object is set at the object version level. By default, PUT sets the ACL of the current version of an object. To set the ACL of a different version, use the versionId subresource. Related Resources CopyObject GetObject + +Required Parameters +{ + "Bucket": "The bucket name that contains the object to which you want to attach the ACL. When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.", + "Key": "Key for which the PUT operation was initiated." +} + +Optional Parameters +{ + "AccessControlPolicy": "Contains the elements that set the ACL permissions for an object per grantee.", + "GrantRead": "Allows grantee to list the objects in the bucket.", + "GrantFullControl": "Allows grantee the read, write, read ACP, and write ACP permissions on the bucket.", + "GrantReadACP": "Allows grantee to read the bucket ACL.", + "ContentMD5": "The base64-encoded 128-bit MD5 digest of the data. This header must be used as a message integrity check to verify that the request body was not corrupted in transit. For more information, go to RFC 1864.> ", + "RequestPayer": "", + "ACL": "The canned ACL to apply to the object. For more information, see Canned ACL.", + "VersionId": "VersionId used to reference a specific version of the object.", + "GrantWrite": "Allows grantee to create, overwrite, and delete any object in the bucket.", + "GrantWriteACP": "Allows grantee to write the ACL for the applicable bucket." +} +""" +PutObjectAcl(Bucket, Key) = s3("PUT", "/{Bucket}/{Key+}?acl") +PutObjectAcl(Bucket, Key, args) = s3("PUT", "/{Bucket}/{Key+}?acl", args) +PutObjectAcl(a...; b...) = PutObjectAcl(a..., b) + +""" + DeleteBucketTagging() + +Deletes the tags from the bucket. To use this operation, you must have permission to perform the s3:PutBucketTagging action. By default, the bucket owner has this permission and can grant this permission to others. The following operations are related to DeleteBucketTagging: GetBucketTagging PutBucketTagging + +Required Parameters +{ + "Bucket": "The bucket that has the tag set to be removed." +} +""" +DeleteBucketTagging(Bucket) = s3("DELETE", "/{Bucket}?tagging") +DeleteBucketTagging(Bucket, args) = s3("DELETE", "/{Bucket}?tagging", args) +DeleteBucketTagging(a...; b...) = DeleteBucketTagging(a..., b) + +""" + CreateBucket() + +Creates a new bucket. To create a bucket, you must register with Amazon S3 and have a valid AWS Access Key ID to authenticate requests. Anonymous requests are never allowed to create buckets. By creating the bucket, you become the bucket owner. Not every string is an acceptable bucket name. For information on bucket naming restrictions, see Working with Amazon S3 Buckets. By default, the bucket is created in the US East (N. Virginia) Region. You can optionally specify a Region in the request body. You might choose a Region to optimize latency, minimize costs, or address regulatory requirements. For example, if you reside in Europe, you will probably find it advantageous to create buckets in the EU (Ireland) Region. For more information, see How to Select a Region for Your Buckets. If you send your create bucket request to the s3.amazonaws.com endpoint, the request goes to the us-east-1 Region. Accordingly, the signature calculations in Signature Version 4 must use us-east-1 as the Region, even if the location constraint in the request specifies another Region where the bucket is to be created. If you create a bucket in a Region other than US East (N. Virginia), your application must be able to handle 307 redirect. For more information, see Virtual Hosting of Buckets. When creating a bucket using this operation, you can optionally specify the accounts or groups that should be granted specific permissions on the bucket. There are two ways to grant the appropriate permissions using the request headers. Specify a canned ACL using the x-amz-acl request header. Amazon S3 supports a set of predefined ACLs, known as canned ACLs. Each canned ACL has a predefined set of grantees and permissions. For more information, see Canned ACL. Specify access permissions explicitly using the x-amz-grant-read, x-amz-grant-write, x-amz-grant-read-acp, x-amz-grant-write-acp, and x-amz-grant-full-control headers. These headers map to the set of permissions Amazon S3 supports in an ACL. For more information, see Access Control List (ACL) Overview. You specify each grantee as a type=value pair, where the type is one of the following: emailAddress – if the value specified is the email address of an AWS account id – if the value specified is the canonical user ID of an AWS account uri – if you are granting permissions to a predefined group For example, the following x-amz-grant-read header grants the AWS accounts identified by email addresses permissions to read object data and its metadata: x-amz-grant-read: emailAddress="xyz@amazon.com", emailAddress="abc@amazon.com" You can use either a canned ACL or specify access permissions explicitly. You cannot do both. The following operations are related to CreateBucket: PutObject DeleteBucket + +Required Parameters +{ + "Bucket": "The name of the bucket to create." +} + +Optional Parameters +{ + "GrantRead": "Allows grantee to list the objects in the bucket.", + "GrantFullControl": "Allows grantee the read, write, read ACP, and write ACP permissions on the bucket.", + "GrantReadACP": "Allows grantee to read the bucket ACL.", + "ACL": "The canned ACL to apply to the bucket.", + "ObjectLockEnabledForBucket": "Specifies whether you want S3 Object Lock to be enabled for the new bucket.", + "CreateBucketConfiguration": "The configuration information for the bucket.", + "GrantWrite": "Allows grantee to create, overwrite, and delete any object in the bucket.", + "GrantWriteACP": "Allows grantee to write the ACL for the applicable bucket." +} +""" +CreateBucket(Bucket) = s3("PUT", "/{Bucket}") +CreateBucket(Bucket, args) = s3("PUT", "/{Bucket}", args) +CreateBucket(a...; b...) = CreateBucket(a..., b) + +""" + GetObjectRetention() + +Retrieves an object's retention settings. For more information, see Locking Objects. + +Required Parameters +{ + "Bucket": "The bucket name containing the object whose retention settings you want to retrieve. When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.", + "Key": "The key name for the object whose retention settings you want to retrieve." +} + +Optional Parameters +{ + "RequestPayer": "", + "VersionId": "The version ID for the object whose retention settings you want to retrieve." +} +""" +GetObjectRetention(Bucket, Key) = s3("GET", "/{Bucket}/{Key+}?retention") +GetObjectRetention(Bucket, Key, args) = s3("GET", "/{Bucket}/{Key+}?retention", args) +GetObjectRetention(a...; b...) = GetObjectRetention(a..., b) + +""" + GetBucketLocation() + +Returns the Region the bucket resides in. You set the bucket's Region using the LocationConstraint request parameter in a CreateBucket request. For more information, see CreateBucket. To use this implementation of the operation, you must be the bucket owner. The following operations are related to GetBucketLocation: GetObject CreateBucket + +Required Parameters +{ + "Bucket": "The name of the bucket for which to get the location." +} +""" +GetBucketLocation(Bucket) = s3("GET", "/{Bucket}?location") +GetBucketLocation(Bucket, args) = s3("GET", "/{Bucket}?location", args) +GetBucketLocation(a...; b...) = GetBucketLocation(a..., b) + +""" + GetBucketVersioning() + +Returns the versioning state of a bucket. To retrieve the versioning state of a bucket, you must be the bucket owner. This implementation also returns the MFA Delete status of the versioning state. If the MFA Delete status is enabled, the bucket owner must use an authentication device to change the versioning state of the bucket. The following operations are related to GetBucketVersioning: GetObject PutObject DeleteObject + +Required Parameters +{ + "Bucket": "The name of the bucket for which to get the versioning information." +} +""" +GetBucketVersioning(Bucket) = s3("GET", "/{Bucket}?versioning") +GetBucketVersioning(Bucket, args) = s3("GET", "/{Bucket}?versioning", args) +GetBucketVersioning(a...; b...) = GetBucketVersioning(a..., b) + +""" + DeleteBucketCors() + +Deletes the cors configuration information set for the bucket. To use this operation, you must have permission to perform the s3:PutBucketCORS action. The bucket owner has this permission by default and can grant this permission to others. For information about cors, see Enabling Cross-Origin Resource Sharing in the Amazon Simple Storage Service Developer Guide. Related Resources: RESTOPTIONSobject + +Required Parameters +{ + "Bucket": "Specifies the bucket whose cors configuration is being deleted." +} +""" +DeleteBucketCors(Bucket) = s3("DELETE", "/{Bucket}?cors") +DeleteBucketCors(Bucket, args) = s3("DELETE", "/{Bucket}?cors", args) +DeleteBucketCors(a...; b...) = DeleteBucketCors(a..., b) + +""" + ListMultipartUploads() + +This operation lists in-progress multipart uploads. An in-progress multipart upload is a multipart upload that has been initiated using the Initiate Multipart Upload request, but has not yet been completed or aborted. This operation returns at most 1,000 multipart uploads in the response. 1,000 multipart uploads is the maximum number of uploads a response can include, which is also the default value. You can further limit the number of uploads in a response by specifying the max-uploads parameter in the response. If additional multipart uploads satisfy the list criteria, the response will contain an IsTruncated element with the value true. To list the additional multipart uploads, use the key-marker and upload-id-marker request parameters. In the response, the uploads are sorted by key. If your application has initiated more than one multipart upload using the same object key, then uploads in the response are first sorted by key. Additionally, uploads are sorted in ascending order within each key by the upload initiation time. For more information on multipart uploads, see Uploading Objects Using Multipart Upload. For information on permissions required to use the multipart upload API, see Multipart Upload API and Permissions. The following operations are related to ListMultipartUploads: CreateMultipartUpload UploadPart CompleteMultipartUpload ListParts AbortMultipartUpload + +Required Parameters +{ + "Bucket": "Name of the bucket to which the multipart upload was initiated. When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide." +} + +Optional Parameters +{ + "KeyMarker": "Together with upload-id-marker, this parameter specifies the multipart upload after which listing should begin. If upload-id-marker is not specified, only the keys lexicographically greater than the specified key-marker will be included in the list. If upload-id-marker is specified, any multipart uploads for a key equal to the key-marker might also be included, provided those multipart uploads have upload IDs lexicographically greater than the specified upload-id-marker.", + "Delimiter": "Character you use to group keys. All keys that contain the same string between the prefix, if specified, and the first occurrence of the delimiter after the prefix are grouped under a single result element, CommonPrefixes. If you don't specify the prefix parameter, then the substring starts at the beginning of the key. The keys that are grouped under CommonPrefixes result element are not returned elsewhere in the response.", + "MaxUploads": "Sets the maximum number of multipart uploads, from 1 to 1,000, to return in the response body. 1,000 is the maximum number of uploads that can be returned in a response.", + "UploadIdMarker": "Together with key-marker, specifies the multipart upload after which listing should begin. If key-marker is not specified, the upload-id-marker parameter is ignored. Otherwise, any multipart uploads for a key equal to the key-marker might be included in the list only if they have an upload ID lexicographically greater than the specified upload-id-marker.", + "EncodingType": "", + "Prefix": "Lists in-progress uploads only for those keys that begin with the specified prefix. You can use prefixes to separate a bucket into different grouping of keys. (You can think of using prefix to make groups in the same way you'd use a folder in a file system.)" +} +""" +ListMultipartUploads(Bucket) = s3("GET", "/{Bucket}?uploads") +ListMultipartUploads(Bucket, args) = s3("GET", "/{Bucket}?uploads", args) +ListMultipartUploads(a...; b...) = ListMultipartUploads(a..., b) + +""" + GetBucketCors() + +Returns the cors configuration information set for the bucket. To use this operation, you must have permission to perform the s3:GetBucketCORS action. By default, the bucket owner has this permission and can grant it to others. For more information about cors, see Enabling Cross-Origin Resource Sharing. The following operations are related to GetBucketCors: PutBucketCors DeleteBucketCors + +Required Parameters +{ + "Bucket": "The bucket name for which to get the cors configuration." +} +""" +GetBucketCors(Bucket) = s3("GET", "/{Bucket}?cors") +GetBucketCors(Bucket, args) = s3("GET", "/{Bucket}?cors", args) +GetBucketCors(a...; b...) = GetBucketCors(a..., b) + +""" + PutBucketRequestPayment() + +Sets the request payment configuration for a bucket. By default, the bucket owner pays for downloads from the bucket. This configuration parameter enables the bucket owner (only) to specify that the person requesting the download will be charged for the download. For more information, see Requester Pays Buckets. The following operations are related to PutBucketRequestPayment: CreateBucket GetBucketRequestPayment + +Required Parameters +{ + "Bucket": "The bucket name.", + "RequestPaymentConfiguration": "Container for Payer." +} + +Optional Parameters +{ + "ContentMD5": ">The base64-encoded 128-bit MD5 digest of the data. You must use this header as a message integrity check to verify that the request body was not corrupted in transit. For more information, see RFC 1864." +} +""" +PutBucketRequestPayment(Bucket, RequestPaymentConfiguration) = s3("PUT", "/{Bucket}?requestPayment") +PutBucketRequestPayment(Bucket, RequestPaymentConfiguration, args) = s3("PUT", "/{Bucket}?requestPayment", args) +PutBucketRequestPayment(a...; b...) = PutBucketRequestPayment(a..., b) + +""" + DeleteObjects() + +This operation enables you to delete multiple objects from a bucket using a single HTTP request. If you know the object keys that you want to delete, then this operation provides a suitable alternative to sending individual delete requests, reducing per-request overhead. The request contains a list of up to 1000 keys that you want to delete. In the XML, you provide the object key names, and optionally, version IDs if you want to delete a specific version of the object from a versioning-enabled bucket. For each key, Amazon S3 performs a delete operation and returns the result of that delete, success, or failure, in the response. Note that if the object specified in the request is not found, Amazon S3 returns the result as deleted. The operation supports two modes for the response: verbose and quiet. By default, the operation uses verbose mode in which the response includes the result of deletion of each key in your request. In quiet mode the response includes only keys where the delete operation encountered an error. For a successful deletion, the operation does not return any information about the delete in the response body. When performing this operation on an MFA Delete enabled bucket, that attempts to delete any versioned objects, you must include an MFA token. If you do not provide one, the entire request will fail, even if there are non-versioned objects you are trying to delete. If you provide an invalid token, whether there are versioned keys in the request or not, the entire Multi-Object Delete request will fail. For information about MFA Delete, see MFA Delete. Finally, the Content-MD5 header is required for all Multi-Object Delete requests. Amazon S3 uses the header value to ensure that your request body has not been altered in transit. The following operations are related to DeleteObjects: CreateMultipartUpload UploadPart CompleteMultipartUpload ListParts AbortMultipartUpload + +Required Parameters +{ + "Delete": "Container for the request.", + "Bucket": "The bucket name containing the objects to delete. When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide." +} + +Optional Parameters +{ + "MFA": "The concatenation of the authentication device's serial number, a space, and the value that is displayed on your authentication device. Required to permanently delete a versioned object if versioning is configured with MFA delete enabled.", + "RequestPayer": "", + "BypassGovernanceRetention": "Specifies whether you want to delete this object even if it has a Governance-type Object Lock in place. You must have sufficient permissions to perform this operation." +} +""" +DeleteObjects(Delete, Bucket) = s3("POST", "/{Bucket}?delete") +DeleteObjects(Delete, Bucket, args) = s3("POST", "/{Bucket}?delete", args) +DeleteObjects(a...; b...) = DeleteObjects(a..., b) + +""" + GetBucketLifecycleConfiguration() + + Bucket lifecycle configuration now supports specifying a lifecycle rule using an object key name prefix, one or more object tags, or a combination of both. Accordingly, this section describes the latest API. The response describes the new filter element that you can use to specify a filter to select a subset of objects to which the rule applies. If you are still using previous version of the lifecycle configuration, it works. For the earlier API description, see GetBucketLifecycle. Returns the lifecycle configuration information set on the bucket. For information about lifecycle configuration, see Object Lifecycle Management. To use this operation, you must have permission to perform the s3:GetLifecycleConfiguration action. The bucket owner has this permission, by default. The bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources. GetBucketLifecycleConfiguration has the following special error: Error code: NoSuchLifecycleConfiguration Description: The lifecycle configuration does not exist. HTTP Status Code: 404 Not Found SOAP Fault Code Prefix: Client The following operations are related to DeleteBucketMetricsConfiguration: GetBucketLifecycle PutBucketLifecycle DeleteBucketLifecycle + +Required Parameters +{ + "Bucket": "The name of the bucket for which to get the lifecycle information." +} +""" +GetBucketLifecycleConfiguration(Bucket) = s3("GET", "/{Bucket}?lifecycle") +GetBucketLifecycleConfiguration(Bucket, args) = s3("GET", "/{Bucket}?lifecycle", args) +GetBucketLifecycleConfiguration(a...; b...) = GetBucketLifecycleConfiguration(a..., b) + +""" + PutBucketEncryption() + +This implementation of the PUT operation uses the encryption subresource to set the default encryption state of an existing bucket. This implementation of the PUT operation sets default encryption for a bucket using server-side encryption with Amazon S3-managed keys SSE-S3 or AWS KMS customer master keys (CMKs) (SSE-KMS). This operation requires AWS Signature Version 4. For more information, see Authenticating Requests (AWS Signature Version 4). To use this operation, you must have permissions to perform the s3:PutEncryptionConfiguration action. The bucket owner has this permission by default. The bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources in the Amazon Simple Storage Service Developer Guide. Related Resources GetBucketEncryption DeleteBucketEncryption + +Required Parameters +{ + "ServerSideEncryptionConfiguration": "", + "Bucket": "Specifies default encryption for a bucket using server-side encryption with Amazon S3-managed keys (SSE-S3) or customer master keys stored in AWS KMS (SSE-KMS). For information about the Amazon S3 default encryption feature, see Amazon S3 Default Bucket Encryption in the Amazon Simple Storage Service Developer Guide." +} + +Optional Parameters +{ + "ContentMD5": "The base64-encoded 128-bit MD5 digest of the server-side encryption configuration. This parameter is auto-populated when using the command from the CLI." +} +""" +PutBucketEncryption(ServerSideEncryptionConfiguration, Bucket) = s3("PUT", "/{Bucket}?encryption") +PutBucketEncryption(ServerSideEncryptionConfiguration, Bucket, args) = s3("PUT", "/{Bucket}?encryption", args) +PutBucketEncryption(a...; b...) = PutBucketEncryption(a..., b) + +""" + GetObjectAcl() + +Returns the access control list (ACL) of an object. To use this operation, you must have READ_ACP access to the object. Versioning By default, GET returns ACL information about the current version of an object. To return ACL information about a different version, use the versionId subresource. The following operations are related to GetObjectAcl: GetObject DeleteObject PutObject + +Required Parameters +{ + "Bucket": "The bucket name that contains the object for which to get the ACL information. When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.", + "Key": "The key of the object for which to get the ACL information." +} + +Optional Parameters +{ + "RequestPayer": "", + "VersionId": "VersionId used to reference a specific version of the object." +} +""" +GetObjectAcl(Bucket, Key) = s3("GET", "/{Bucket}/{Key+}?acl") +GetObjectAcl(Bucket, Key, args) = s3("GET", "/{Bucket}/{Key+}?acl", args) +GetObjectAcl(a...; b...) = GetObjectAcl(a..., b) + +""" + ListObjects() + +Returns some or all (up to 1,000) of the objects in a bucket. You can use the request parameters as selection criteria to return a subset of the objects in a bucket. A 200 OK response can contain valid or invalid XML. Be sure to design your application to parse the contents of the response and handle it appropriately. This API has been revised. We recommend that you use the newer version, ListObjectsV2, when developing applications. For backward compatibility, Amazon S3 continues to support ListObjects. The following operations are related to ListObjects: ListObjectsV2 GetObject PutObject CreateBucket ListBuckets + +Required Parameters +{ + "Bucket": "The name of the bucket containing the objects." +} + +Optional Parameters +{ + "MaxKeys": "Sets the maximum number of keys returned in the response. The response might contain fewer keys but will never contain more.", + "Marker": "Specifies the key to start with when listing objects in a bucket.", + "Delimiter": "A delimiter is a character you use to group keys.", + "RequestPayer": "Confirms that the requester knows that she or he will be charged for the list objects request. Bucket owners need not specify this parameter in their requests.", + "EncodingType": "", + "Prefix": "Limits the response to keys that begin with the specified prefix." +} +""" +ListObjects(Bucket) = s3("GET", "/{Bucket}") +ListObjects(Bucket, args) = s3("GET", "/{Bucket}", args) +ListObjects(a...; b...) = ListObjects(a..., b) + +""" + ListObjectVersions() + +Returns metadata about all of the versions of objects in a bucket. You can also use request parameters as selection criteria to return metadata about a subset of all the object versions. A 200 OK response can contain valid or invalid XML. Make sure to design your application to parse the contents of the response and handle it appropriately. To use this operation, you must have READ access to the bucket. The following operations are related to ListObjectVersions: ListObjectsV2 GetObject PutObject DeleteObject + +Required Parameters +{ + "Bucket": "The bucket name that contains the objects. When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide." +} + +Optional Parameters +{ + "MaxKeys": "Sets the maximum number of keys returned in the response. The response might contain fewer keys but will never contain more. If additional keys satisfy the search criteria, but were not returned because max-keys was exceeded, the response contains <isTruncated>true</isTruncated>. To return the additional keys, see key-marker and version-id-marker.", + "KeyMarker": "Specifies the key to start with when listing objects in a bucket.", + "Delimiter": "A delimiter is a character that you specify to group keys. All keys that contain the same string between the prefix and the first occurrence of the delimiter are grouped under a single result element in CommonPrefixes. These groups are counted as one result against the max-keys limitation. These keys are not returned elsewhere in the response.", + "EncodingType": "", + "Prefix": "Use this parameter to select only those keys that begin with the specified prefix. You can use prefixes to separate a bucket into different groupings of keys. (You can think of using prefix to make groups in the same way you'd use a folder in a file system.) You can use prefix with delimiter to roll up numerous objects into a single result under CommonPrefixes. ", + "VersionIdMarker": "Specifies the object version you want to start listing from." +} +""" +ListObjectVersions(Bucket) = s3("GET", "/{Bucket}?versions") +ListObjectVersions(Bucket, args) = s3("GET", "/{Bucket}?versions", args) +ListObjectVersions(a...; b...) = ListObjectVersions(a..., b) + +""" + HeadObject() + +The HEAD operation retrieves metadata from an object without returning the object itself. This operation is useful if you're only interested in an object's metadata. To use HEAD, you must have READ access to the object. A HEAD request has the same options as a GET operation on an object. The response is identical to the GET response except that there is no response body. If you encrypt an object by using server-side encryption with customer-provided encryption keys (SSE-C) when you store the object in Amazon S3, then when you retrieve the metadata from the object, you must use the following headers: x-amz-server-side​-encryption​-customer-algorithm x-amz-server-side​-encryption​-customer-key x-amz-server-side​-encryption​-customer-key-MD5 For more information about SSE-C, see Server-Side Encryption (Using Customer-Provided Encryption Keys). Encryption request headers, like x-amz-server-side-encryption, should not be sent for GET requests if your object uses server-side encryption with CMKs stored in AWS KMS (SSE-KMS) or server-side encryption with Amazon S3–managed encryption keys (SSE-S3). If your object does use these types of keys, you’ll get an HTTP 400 BadRequest error. Request headers are limited to 8 KB in size. For more information, see Common Request Headers. Consider the following when using request headers: Consideration 1 – If both of the If-Match and If-Unmodified-Since headers are present in the request as follows: If-Match condition evaluates to true, and; If-Unmodified-Since condition evaluates to false; Then Amazon S3 returns 200 OK and the data requested. Consideration 2 – If both of the If-None-Match and If-Modified-Since headers are present in the request as follows: If-None-Match condition evaluates to false, and; If-Modified-Since condition evaluates to true; Then Amazon S3 returns the 304 Not Modified response code. For more information about conditional requests, see RFC 7232. Permissions You need the s3:GetObject permission for this operation. For more information, see Specifying Permissions in a Policy. If the object you request does not exist, the error Amazon S3 returns depends on whether you also have the s3:ListBucket permission. If you have the s3:ListBucket permission on the bucket, Amazon S3 returns an HTTP status code 404 ("no such key") error. If you don’t have the s3:ListBucket permission, Amazon S3 returns an HTTP status code 403 ("access denied") error. The following operation is related to HeadObject: GetObject + +Required Parameters +{ + "Bucket": "The name of the bucket containing the object.", + "Key": "The object key." +} + +Optional Parameters +{ + "IfModifiedSince": "Return the object only if it has been modified since the specified time, otherwise return a 304 (not modified).", + "RequestPayer": "", + "IfMatch": "Return the object only if its entity tag (ETag) is the same as the one specified, otherwise return a 412 (precondition failed).", + "VersionId": "VersionId used to reference a specific version of the object.", + "IfNoneMatch": "Return the object only if its entity tag (ETag) is different from the one specified, otherwise return a 304 (not modified).", + "SSECustomerKey": "Specifies the customer-provided encryption key for Amazon S3 to use in encrypting data. This value is used to store the object and then it is discarded; Amazon S3 does not store the encryption key. The key must be appropriate for use with the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm header.", + "SSECustomerKeyMD5": "Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses this header for a message integrity check to ensure that the encryption key was transmitted without error.", + "Range": "Downloads the specified range bytes of an object. For more information about the HTTP Range header, see http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35.", + "IfUnmodifiedSince": "Return the object only if it has not been modified since the specified time, otherwise return a 412 (precondition failed).", + "PartNumber": "Part number of the object being read. This is a positive integer between 1 and 10,000. Effectively performs a 'ranged' HEAD request for the part specified. Useful querying about the size of the part and the number of parts in this object.", + "SSECustomerAlgorithm": "Specifies the algorithm to use to when encrypting the object (for example, AES256)." +} +""" +HeadObject(Bucket, Key) = s3("HEAD", "/{Bucket}/{Key+}") +HeadObject(Bucket, Key, args) = s3("HEAD", "/{Bucket}/{Key+}", args) +HeadObject(a...; b...) = HeadObject(a..., b) + +""" + PutBucketAcl() + +Sets the permissions on an existing bucket using access control lists (ACL). For more information, see Using ACLs. To set the ACL of a bucket, you must have WRITE_ACP permission. You can use one of the following two ways to set a bucket's permissions: Specify the ACL in the request body Specify permissions using request headers You cannot specify access permission using both the body and the request headers. Depending on your application needs, you may choose to set the ACL on a bucket using either the request body or the headers. For example, if you have an existing application that updates a bucket ACL using the request body, then you can continue to use that approach. Access Permissions You can set access permissions using one of the following methods: Specify a canned ACL with the x-amz-acl request header. Amazon S3 supports a set of predefined ACLs, known as canned ACLs. Each canned ACL has a predefined set of grantees and permissions. Specify the canned ACL name as the value of x-amz-acl. If you use this header, you cannot use other access control-specific headers in your request. For more information, see Canned ACL. Specify access permissions explicitly with the x-amz-grant-read, x-amz-grant-read-acp, x-amz-grant-write-acp, and x-amz-grant-full-control headers. When using these headers, you specify explicit access permissions and grantees (AWS accounts or Amazon S3 groups) who will receive the permission. If you use these ACL-specific headers, you cannot use the x-amz-acl header to set a canned ACL. These parameters map to the set of permissions that Amazon S3 supports in an ACL. For more information, see Access Control List (ACL) Overview. You specify each grantee as a type=value pair, where the type is one of the following: emailAddress – if the value specified is the email address of an AWS account id – if the value specified is the canonical user ID of an AWS account uri – if you are granting permissions to a predefined group For example, the following x-amz-grant-write header grants create, overwrite, and delete objects permission to LogDelivery group predefined by Amazon S3 and two AWS accounts identified by their email addresses. x-amz-grant-write: uri="http://acs.amazonaws.com/groups/s3/LogDelivery", emailAddress="xyz@amazon.com", emailAddress="abc@amazon.com" You can use either a canned ACL or specify access permissions explicitly. You cannot do both. Grantee Values You can specify the person (grantee) to whom you're assigning access rights (using request elements) in the following ways: By Email address: <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="AmazonCustomerByEmail"><EmailAddress><>Grantees@email.com<></EmailAddress>lt;/Grantee> The grantee is resolved to the CanonicalUser and, in a response to a GET Object acl request, appears as the CanonicalUser. By the person's ID: <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="CanonicalUser"><ID><>ID<></ID><DisplayName><>GranteesEmail<></DisplayName> </Grantee> DisplayName is optional and ignored in the request By URI: <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="Group"><URI><>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<></URI></Grantee> Related Resources CreateBucket DeleteBucket GetObjectAcl + +Required Parameters +{ + "Bucket": "The bucket to which to apply the ACL." +} + +Optional Parameters +{ + "AccessControlPolicy": "Contains the elements that set the ACL permissions for an object per grantee.", + "GrantRead": "Allows grantee to list the objects in the bucket.", + "GrantFullControl": "Allows grantee the read, write, read ACP, and write ACP permissions on the bucket.", + "GrantReadACP": "Allows grantee to read the bucket ACL.", + "ContentMD5": "The base64-encoded 128-bit MD5 digest of the data. This header must be used as a message integrity check to verify that the request body was not corrupted in transit. For more information, go to RFC 1864. ", + "ACL": "The canned ACL to apply to the bucket.", + "GrantWrite": "Allows grantee to create, overwrite, and delete any object in the bucket.", + "GrantWriteACP": "Allows grantee to write the ACL for the applicable bucket." +} +""" +PutBucketAcl(Bucket) = s3("PUT", "/{Bucket}?acl") +PutBucketAcl(Bucket, args) = s3("PUT", "/{Bucket}?acl", args) +PutBucketAcl(a...; b...) = PutBucketAcl(a..., b) + +""" + UploadPart() + +Uploads a part in a multipart upload. In this operation, you provide part data in your request. However, you have an option to specify your existing Amazon S3 object as a data source for the part you are uploading. To upload a part from an existing object, you use the UploadPartCopy operation. You must initiate a multipart upload (see CreateMultipartUpload) before you can upload any part. In response to your initiate request, Amazon S3 returns an upload ID, a unique identifier, that you must include in your upload part request. Part numbers can be any number from 1 to 10,000, inclusive. A part number uniquely identifies a part and also defines its position within the object being created. If you upload a new part using the same part number that was used with a previous part, the previously uploaded part is overwritten. Each part must be at least 5 MB in size, except the last part. There is no size limit on the last part of your multipart upload. To ensure that data is not corrupted when traversing the network, specify the Content-MD5 header in the upload part request. Amazon S3 checks the part data against the provided MD5 value. If they do not match, Amazon S3 returns an error. Note: After you initiate multipart upload and upload one or more parts, you must either complete or abort multipart upload in order to stop getting charged for storage of the uploaded parts. Only after you either complete or abort multipart upload, Amazon S3 frees up the parts storage and stops charging you for the parts storage. For more information on multipart uploads, go to Multipart Upload Overview in the Amazon Simple Storage Service Developer Guide . For information on the permissions required to use the multipart upload API, go to Multipart Upload API and Permissions in the Amazon Simple Storage Service Developer Guide. You can optionally request server-side encryption where Amazon S3 encrypts your data as it writes it to disks in its data centers and decrypts it for you when you access it. You have the option of providing your own encryption key, or you can use the AWS managed encryption keys. If you choose to provide your own encryption key, the request headers you provide in the request must match the headers you used in the request to initiate the upload by using CreateMultipartUpload. For more information, go to Using Server-Side Encryption in the Amazon Simple Storage Service Developer Guide. Server-side encryption is supported by the S3 Multipart Upload actions. Unless you are using a customer-provided encryption key, you don't need to specify the encryption parameters in each UploadPart request. Instead, you only need to specify the server-side encryption parameters in the initial Initiate Multipart request. For more information, see CreateMultipartUpload. If you requested server-side encryption using a customer-provided encryption key in your initiate multipart upload request, you must provide identical encryption information in each part upload using the following headers. x-amz-server-side​-encryption​-customer-algorithm x-amz-server-side​-encryption​-customer-key x-amz-server-side​-encryption​-customer-key-MD5 Special Errors Code: NoSuchUpload Cause: The specified multipart upload does not exist. The upload ID might be invalid, or the multipart upload might have been aborted or completed. HTTP Status Code: 404 Not Found SOAP Fault Code Prefix: Client Related Resources CreateMultipartUpload CompleteMultipartUpload AbortMultipartUpload ListParts ListMultipartUploads + +Required Parameters +{ + "UploadId": "Upload ID identifying the multipart upload whose part is being uploaded.", + "Bucket": "Name of the bucket to which the multipart upload was initiated.", + "Key": "Object key for which the multipart upload was initiated.", + "PartNumber": "Part number of part being uploaded. This is a positive integer between 1 and 10,000." +} + +Optional Parameters +{ + "ContentMD5": "The base64-encoded 128-bit MD5 digest of the part data. This parameter is auto-populated when using the command from the CLI. This parameter is required if object lock parameters are specified.", + "ContentLength": "Size of the body in bytes. This parameter is useful when the size of the body cannot be determined automatically.", + "RequestPayer": "", + "Body": "Object data.", + "SSECustomerAlgorithm": "Specifies the algorithm to use to when encrypting the object (for example, AES256).", + "SSECustomerKeyMD5": "Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses this header for a message integrity check to ensure that the encryption key was transmitted without error.", + "SSECustomerKey": "Specifies the customer-provided encryption key for Amazon S3 to use in encrypting data. This value is used to store the object and then it is discarded; Amazon S3 does not store the encryption key. The key must be appropriate for use with the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm header. This must be the same encryption key specified in the initiate multipart upload request." +} +""" +UploadPart(UploadId, Bucket, Key, PartNumber) = s3("PUT", "/{Bucket}/{Key+}") +UploadPart(UploadId, Bucket, Key, PartNumber, args) = s3("PUT", "/{Bucket}/{Key+}", args) +UploadPart(a...; b...) = UploadPart(a..., b) + +""" + PutBucketLifecycleConfiguration() + +Creates a new lifecycle configuration for the bucket or replaces an existing lifecycle configuration. For information about lifecycle configuration, see Managing Access Permissions to Your Amazon S3 Resources. Bucket lifecycle configuration now supports specifying a lifecycle rule using an object key name prefix, one or more object tags, or a combination of both. Accordingly, this section describes the latest API. The previous version of the API supported filtering based only on an object key name prefix, which is supported for backward compatibility. For the related API description, see PutBucketLifecycle. Rules You specify the lifecycle configuration in your request body. The lifecycle configuration is specified as XML consisting of one or more rules. Each rule consists of the following: Filter identifying a subset of objects to which the rule applies. The filter can be based on a key name prefix, object tags, or a combination of both. Status whether the rule is in effect. One or more lifecycle transition and expiration actions that you want Amazon S3 to perform on the objects identified by the filter. If the state of your bucket is versioning-enabled or versioning-suspended, you can have many versions of the same object (one current version and zero or more noncurrent versions). Amazon S3 provides predefined actions that you can specify for current and noncurrent object versions. For more information, see Object Lifecycle Management and Lifecycle Configuration Elements. Permissions By default, all Amazon S3 resources are private, including buckets, objects, and related subresources (for example, lifecycle configuration and website configuration). Only the resource owner (that is, the AWS account that created it) can access the resource. The resource owner can optionally grant access permissions to others by writing an access policy. For this operation, a user must get the s3:PutLifecycleConfiguration permission. You can also explicitly deny permissions. Explicit deny also supersedes any other permissions. If you want to block users or accounts from removing or deleting objects from your bucket, you must deny them permissions for the following actions: s3:DeleteObject s3:DeleteObjectVersion s3:PutLifecycleConfiguration For more information about permissions, see Managing Access Permissions to Your Amazon S3 Resources. The following are related to PutBucketLifecycleConfiguration: Examples of Lifecycle Configuration GetBucketLifecycleConfiguration DeleteBucketLifecycle + +Required Parameters +{ + "Bucket": "The name of the bucket for which to set the configuration." +} + +Optional Parameters +{ + "LifecycleConfiguration": "Container for lifecycle rules. You can add as many as 1,000 rules." +} +""" +PutBucketLifecycleConfiguration(Bucket) = s3("PUT", "/{Bucket}?lifecycle") +PutBucketLifecycleConfiguration(Bucket, args) = s3("PUT", "/{Bucket}?lifecycle", args) +PutBucketLifecycleConfiguration(a...; b...) = PutBucketLifecycleConfiguration(a..., b) + +""" + GetBucketMetricsConfiguration() + +Gets a metrics configuration (specified by the metrics configuration ID) from the bucket. Note that this doesn't include the daily storage metrics. To use this operation, you must have permissions to perform the s3:GetMetricsConfiguration action. The bucket owner has this permission by default. The bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources. For information about CloudWatch request metrics for Amazon S3, see Monitoring Metrics with Amazon CloudWatch. The following operations are related to GetBucketMetricsConfiguration: PutBucketMetricsConfiguration DeleteBucketMetricsConfiguration ListBucketMetricsConfigurations Monitoring Metrics with Amazon CloudWatch + +Required Parameters +{ + "Id": "The ID used to identify the metrics configuration.", + "Bucket": "The name of the bucket containing the metrics configuration to retrieve." +} +""" +GetBucketMetricsConfiguration(Id, Bucket) = s3("GET", "/{Bucket}?metrics") +GetBucketMetricsConfiguration(Id, Bucket, args) = s3("GET", "/{Bucket}?metrics", args) +GetBucketMetricsConfiguration(a...; b...) = GetBucketMetricsConfiguration(a..., b) + +""" + PutBucketVersioning() + +Sets the versioning state of an existing bucket. To set the versioning state, you must be the bucket owner. You can set the versioning state with one of the following values: Enabled—Enables versioning for the objects in the bucket. All objects added to the bucket receive a unique version ID. Suspended—Disables versioning for the objects in the bucket. All objects added to the bucket receive the version ID null. If the versioning state has never been set on a bucket, it has no versioning state; a GetBucketVersioning request does not return a versioning state value. If the bucket owner enables MFA Delete in the bucket versioning configuration, the bucket owner must include the x-amz-mfa request header and the Status and the MfaDelete request elements in a request to set the versioning state of the bucket. If you have an object expiration lifecycle policy in your non-versioned bucket and you want to maintain the same permanent delete behavior when you enable versioning, you must add a noncurrent expiration policy. The noncurrent expiration lifecycle policy will manage the deletes of the noncurrent object versions in the version-enabled bucket. (A version-enabled bucket maintains one current and zero or more noncurrent object versions.) For more information, see Lifecycle and Versioning. Related Resources CreateBucket DeleteBucket GetBucketVersioning + +Required Parameters +{ + "Bucket": "The bucket name.", + "VersioningConfiguration": "Container for setting the versioning state." +} + +Optional Parameters +{ + "ContentMD5": ">The base64-encoded 128-bit MD5 digest of the data. You must use this header as a message integrity check to verify that the request body was not corrupted in transit. For more information, see RFC 1864.", + "MFA": "The concatenation of the authentication device's serial number, a space, and the value that is displayed on your authentication device." +} +""" +PutBucketVersioning(Bucket, VersioningConfiguration) = s3("PUT", "/{Bucket}?versioning") +PutBucketVersioning(Bucket, VersioningConfiguration, args) = s3("PUT", "/{Bucket}?versioning", args) +PutBucketVersioning(a...; b...) = PutBucketVersioning(a..., b) + +""" + DeleteBucketAnalyticsConfiguration() + +Deletes an analytics configuration for the bucket (specified by the analytics configuration ID). To use this operation, you must have permissions to perform the s3:PutAnalyticsConfiguration action. The bucket owner has this permission by default. The bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources. For information about the Amazon S3 analytics feature, see Amazon S3 Analytics – Storage Class Analysis. The following operations are related to DeleteBucketAnalyticsConfiguration: + +Required Parameters +{ + "Id": "The ID that identifies the analytics configuration.", + "Bucket": "The name of the bucket from which an analytics configuration is deleted." +} +""" +DeleteBucketAnalyticsConfiguration(Id, Bucket) = s3("DELETE", "/{Bucket}?analytics") +DeleteBucketAnalyticsConfiguration(Id, Bucket, args) = s3("DELETE", "/{Bucket}?analytics", args) +DeleteBucketAnalyticsConfiguration(a...; b...) = DeleteBucketAnalyticsConfiguration(a..., b) + +""" + GetBucketReplication() + +Returns the replication configuration of a bucket. It can take a while to propagate the put or delete a replication configuration to all Amazon S3 systems. Therefore, a get request soon after put or delete can return a wrong result. For information about replication configuration, see Replication in the Amazon Simple Storage Service Developer Guide. This operation requires permissions for the s3:GetReplicationConfiguration action. For more information about permissions, see Using Bucket Policies and User Policies. If you include the Filter element in a replication configuration, you must also include the DeleteMarkerReplication and Priority elements. The response also returns those elements. For information about GetBucketReplication errors, see ReplicationErrorCodeList The following operations are related to GetBucketReplication: PutBucketReplication DeleteBucketReplication + +Required Parameters +{ + "Bucket": "The bucket name for which to get the replication information." +} +""" +GetBucketReplication(Bucket) = s3("GET", "/{Bucket}?replication") +GetBucketReplication(Bucket, args) = s3("GET", "/{Bucket}?replication", args) +GetBucketReplication(a...; b...) = GetBucketReplication(a..., b) + +""" + DeleteBucket() + +Deletes the bucket. All objects (including all object versions and delete markers) in the bucket must be deleted before the bucket itself can be deleted. Related Resources + +Required Parameters +{ + "Bucket": "Specifies the bucket being deleted." +} +""" +DeleteBucket(Bucket) = s3("DELETE", "/{Bucket}") +DeleteBucket(Bucket, args) = s3("DELETE", "/{Bucket}", args) +DeleteBucket(a...; b...) = DeleteBucket(a..., b) + +""" + PutBucketNotificationConfiguration() + +Enables notifications of specified events for a bucket. For more information about event notifications, see Configuring Event Notifications. Using this API, you can replace an existing notification configuration. The configuration is an XML file that defines the event types that you want Amazon S3 to publish and the destination where you want Amazon S3 to publish an event notification when it detects an event of the specified type. By default, your bucket has no event notifications configured. That is, the notification configuration will be an empty NotificationConfiguration. <NotificationConfiguration> </NotificationConfiguration> This operation replaces the existing notification configuration with the configuration you include in the request body. After Amazon S3 receives this request, it first verifies that any Amazon Simple Notification Service (Amazon SNS) or Amazon Simple Queue Service (Amazon SQS) destination exists, and that the bucket owner has permission to publish to it by sending a test notification. In the case of AWS Lambda destinations, Amazon S3 verifies that the Lambda function permissions grant Amazon S3 permission to invoke the function from the Amazon S3 bucket. For more information, see Configuring Notifications for Amazon S3 Events. You can disable notifications by adding the empty NotificationConfiguration element. By default, only the bucket owner can configure notifications on a bucket. However, bucket owners can use a bucket policy to grant permission to other users to set this configuration with s3:PutBucketNotification permission. The PUT notification is an atomic operation. For example, suppose your notification configuration includes SNS topic, SQS queue, and Lambda function configurations. When you send a PUT request with this configuration, Amazon S3 sends test messages to your SNS topic. If the message fails, the entire PUT operation will fail, and Amazon S3 will not add the configuration to your bucket. Responses If the configuration in the request body includes only one TopicConfiguration specifying only the s3:ReducedRedundancyLostObject event type, the response will also include the x-amz-sns-test-message-id header containing the message ID of the test notification sent to the topic. The following operation is related to PutBucketNotificationConfiguration: GetBucketNotificationConfiguration + +Required Parameters +{ + "Bucket": "The name of the bucket.", + "NotificationConfiguration": "" +} +""" +PutBucketNotificationConfiguration(Bucket, NotificationConfiguration) = s3("PUT", "/{Bucket}?notification") +PutBucketNotificationConfiguration(Bucket, NotificationConfiguration, args) = s3("PUT", "/{Bucket}?notification", args) +PutBucketNotificationConfiguration(a...; b...) = PutBucketNotificationConfiguration(a..., b) + +""" + PutBucketLifecycle() + + For an updated version of this API, see PutBucketLifecycleConfiguration. This version has been deprecated. Existing lifecycle configurations will work. For new lifecycle configurations, use the updated API. Creates a new lifecycle configuration for the bucket or replaces an existing lifecycle configuration. For information about lifecycle configuration, see Object Lifecycle Management in the Amazon Simple Storage Service Developer Guide. By default, all Amazon S3 resources, including buckets, objects, and related subresources (for example, lifecycle configuration and website configuration) are private. Only the resource owner, the AWS account that created the resource, can access it. The resource owner can optionally grant access permissions to others by writing an access policy. For this operation, users must get the s3:PutLifecycleConfiguration permission. You can also explicitly deny permissions. Explicit denial also supersedes any other permissions. If you want to prevent users or accounts from removing or deleting objects from your bucket, you must deny them permissions for the following actions: s3:DeleteObject s3:DeleteObjectVersion s3:PutLifecycleConfiguration For more information about permissions, see Managing Access Permissions to your Amazon S3 Resources in the Amazon Simple Storage Service Developer Guide. For more examples of transitioning objects to storage classes such as STANDARD_IA or ONEZONE_IA, see Examples of Lifecycle Configuration. Related Resources GetBucketLifecycle(Deprecated) GetBucketLifecycleConfiguration By default, a resource owner—in this case, a bucket owner, which is the AWS account that created the bucket—can perform any of the operations. A resource owner can also grant others permission to perform the operation. For more information, see the following topics in the Amazon Simple Storage Service Developer Guide: Specifying Permissions in a Policy Managing Access Permissions to your Amazon S3 Resources + +Required Parameters +{ + "Bucket": "" +} + +Optional Parameters +{ + "LifecycleConfiguration": "", + "ContentMD5": "" +} +""" +PutBucketLifecycle(Bucket) = s3("PUT", "/{Bucket}?lifecycle") +PutBucketLifecycle(Bucket, args) = s3("PUT", "/{Bucket}?lifecycle", args) +PutBucketLifecycle(a...; b...) = PutBucketLifecycle(a..., b) + +""" + CopyObject() + +Creates a copy of an object that is already stored in Amazon S3. You can store individual objects of up to 5 TB in Amazon S3. You create a copy of your object up to 5 GB in size in a single atomic operation using this API. However, for copying an object greater than 5 GB, you must use the multipart upload Upload Part - Copy API. For more information, see Copy Object Using the REST Multipart Upload API. When copying an object, you can preserve all metadata (default) or specify new metadata. However, the ACL is not preserved and is set to private for the user making the request. To override the default ACL setting, specify a new ACL when generating a copy request. For more information, see Using ACLs. Amazon S3 transfer acceleration does not support cross-region copies. If you request a cross-region copy using a transfer acceleration endpoint, you get a 400 Bad Request error. For more information about transfer acceleration, see Transfer Acceleration. All copy requests must be authenticated. Additionally, you must have read access to the source object and write access to the destination bucket. For more information, see REST Authentication. Both the Region that you want to copy the object from and the Region that you want to copy the object to must be enabled for your account. To only copy an object under certain conditions, such as whether the Etag matches or whether the object was modified before or after a specified date, use the request parameters x-amz-copy-source-if-match, x-amz-copy-source-if-none-match, x-amz-copy-source-if-unmodified-since, or x-amz-copy-source-if-modified-since. All headers with the x-amz- prefix, including x-amz-copy-source, must be signed. You can use this operation to change the storage class of an object that is already stored in Amazon S3 using the StorageClass parameter. For more information, see Storage Classes. The source object that you are copying can be encrypted or unencrypted. If the source object is encrypted, it can be encrypted by server-side encryption using AWS managed encryption keys or by using a customer-provided encryption key. When copying an object, you can request that Amazon S3 encrypt the target object by using either the AWS managed encryption keys or by using your own encryption key. You can do this regardless of the form of server-side encryption that was used to encrypt the source, or even if the source object was not encrypted. For more information about server-side encryption, see Using Server-Side Encryption. A copy request might return an error when Amazon S3 receives the copy request or while Amazon S3 is copying the files. If the error occurs before the copy operation starts, you receive a standard Amazon S3 error. If the error occurs during the copy operation, the error response is embedded in the 200 OK response. This means that a 200 OK response can contain either a success or an error. Design your application to parse the contents of the response and handle it appropriately. If the copy is successful, you receive a response with information about the copied object. If the request is an HTTP 1.1 request, the response is chunk encoded. If it were not, it would not contain the content-length, and you would need to read the entire body. Consider the following when using request headers: Consideration 1 – If both the x-amz-copy-source-if-match and x-amz-copy-source-if-unmodified-since headers are present in the request and evaluate as follows, Amazon S3 returns 200 OK and copies the data: x-amz-copy-source-if-match condition evaluates to true x-amz-copy-source-if-unmodified-since condition evaluates to false Consideration 2 – If both of the x-amz-copy-source-if-none-match and x-amz-copy-source-if-modified-since headers are present in the request and evaluate as follows, Amazon S3 returns the 412 Precondition Failed response code: x-amz-copy-source-if-none-match condition evaluates to false x-amz-copy-source-if-modified-since condition evaluates to true The copy request charge is based on the storage class and Region you specify for the destination object. For pricing information, see Amazon S3 Pricing. Following are other considerations when using CopyObject: Versioning By default, x-amz-copy-source identifies the current version of an object to copy. (If the current version is a delete marker, Amazon S3 behaves as if the object was deleted.) To copy a different version, use the versionId subresource. If you enable versioning on the target bucket, Amazon S3 generates a unique version ID for the object being copied. This version ID is different from the version ID of the source object. Amazon S3 returns the version ID of the copied object in the x-amz-version-id response header in the response. If you do not enable versioning or suspend it on the target bucket, the version ID that Amazon S3 generates is always null. If the source object's storage class is GLACIER, you must restore a copy of this object before you can use it as a source object for the copy operation. For more information, see . Access Permissions When copying an object, you can optionally specify the accounts or groups that should be granted specific permissions on the new object. There are two ways to grant the permissions using the request headers: Specify a canned ACL with the x-amz-acl request header. For more information, see Canned ACL. Specify access permissions explicitly with the x-amz-grant-read, x-amz-grant-read-acp, x-amz-grant-write-acp, and x-amz-grant-full-control headers. These parameters map to the set of permissions that Amazon S3 supports in an ACL. For more information, see Access Control List (ACL) Overview. You can use either a canned ACL or specify access permissions explicitly. You cannot do both. Server-Side- Encryption-Specific Request Headers To encrypt the target object, you must provide the appropriate encryption-related request headers. The one you use depends on whether you want to use AWS managed encryption keys or provide your own encryption key. To encrypt the target object using server-side encryption with an AWS managed encryption key, provide the following request headers, as appropriate. x-amz-server-side​-encryption x-amz-server-side-encryption-aws-kms-key-id x-amz-server-side-encryption-context If you specify x-amz-server-side-encryption:aws:kms, but don't provide x-amz-server-side-encryption-aws-kms-key-id, Amazon S3 uses the AWS managed CMK in AWS KMS to protect the data. If you want to use a customer managed AWS KMS CMK, you must provide the x-amz-server-side-encryption-aws-kms-key-id of the symmetric customer managed CMK. Amazon S3 only supports symmetric CMKs and not asymmetric CMKs. For more information, see Using Symmetric and Asymmetric Keys in the AWS Key Management Service Developer Guide. All GET and PUT requests for an object protected by AWS KMS fail if you don't make them with SSL or by using SigV4. For more information about server-side encryption with CMKs stored in AWS KMS (SSE-KMS), see Protecting Data Using Server-Side Encryption with CMKs stored in KMS. To encrypt the target object using server-side encryption with an encryption key that you provide, use the following headers. x-amz-server-side​-encryption​-customer-algorithm x-amz-server-side​-encryption​-customer-key x-amz-server-side​-encryption​-customer-key-MD5 If the source object is encrypted using server-side encryption with customer-provided encryption keys, you must use the following headers. x-amz-copy-source​-server-side​-encryption​-customer-algorithm x-amz-copy-source​-server-side​-encryption​-customer-key x-amz-copy-source-​server-side​-encryption​-customer-key-MD5 For more information about server-side encryption with CMKs stored in AWS KMS (SSE-KMS), see Protecting Data Using Server-Side Encryption with CMKs stored in Amazon KMS. Access-Control-List (ACL)-Specific Request Headers You also can use the following access control–related headers with this operation. By default, all objects are private. Only the owner has full access control. When adding a new object, you can grant permissions to individual AWS accounts or to predefined groups defined by Amazon S3. These permissions are then added to the access control list (ACL) on the object. For more information, see Using ACLs. With this operation, you can grant access permissions using one of the following two methods: Specify a canned ACL (x-amz-acl) — Amazon S3 supports a set of predefined ACLs, known as canned ACLs. Each canned ACL has a predefined set of grantees and permissions. For more information, see Canned ACL. Specify access permissions explicitly — To explicitly grant access permissions to specific AWS accounts or groups, use the following headers. Each header maps to specific permissions that Amazon S3 supports in an ACL. For more information, see Access Control List (ACL) Overview. In the header, you specify a list of grantees who get the specific permission. To grant permissions explicitly, use: x-amz-grant-read x-amz-grant-write x-amz-grant-read-acp x-amz-grant-write-acp x-amz-grant-full-control You specify each grantee as a type=value pair, where the type is one of the following: emailAddress – if the value specified is the email address of an AWS account id – if the value specified is the canonical user ID of an AWS account uri – if you are granting permissions to a predefined group For example, the following x-amz-grant-read header grants the AWS accounts identified by email addresses permissions to read object data and its metadata: x-amz-grant-read: emailAddress="xyz@amazon.com", emailAddress="abc@amazon.com" The following operations are related to CopyObject: PutObject GetObject For more information, see Copying Objects. + +Required Parameters +{ + "Bucket": "The name of the destination bucket.", + "Key": "The key of the destination object.", + "CopySource": "The name of the source bucket and key name of the source object, separated by a slash (/). Must be URL-encoded." +} + +Optional Parameters +{ + "GrantReadACP": "Allows grantee to read the object ACL.", + "ObjectLockRetainUntilDate": "The date and time when you want the copied object's Object Lock to expire.", + "RequestPayer": "", + "ContentLanguage": "The language the content is in.", + "CopySourceSSECustomerKey": "Specifies the customer-provided encryption key for Amazon S3 to use to decrypt the source object. The encryption key provided in this header must be one that was used when the source object was created.", + "ContentEncoding": "Specifies what content encodings have been applied to the object and thus what decoding mechanisms must be applied to obtain the media-type referenced by the Content-Type header field.", + "CopySourceSSECustomerKeyMD5": "Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses this header for a message integrity check to ensure that the encryption key was transmitted without error.", + "SSECustomerKeyMD5": "Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses this header for a message integrity check to ensure that the encryption key was transmitted without error.", + "SSECustomerKey": "Specifies the customer-provided encryption key for Amazon S3 to use in encrypting data. This value is used to store the object and then it is discarded; Amazon S3 does not store the encryption key. The key must be appropriate for use with the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm header.", + "SSEKMSEncryptionContext": "Specifies the AWS KMS Encryption Context to use for object encryption. The value of this header is a base64-encoded UTF-8 string holding JSON with the encryption context key-value pairs.", + "ObjectLockLegalHoldStatus": "Specifies whether you want to apply a Legal Hold to the copied object.", + "CopySourceIfMatch": "Copies the object if its entity tag (ETag) matches the specified tag.", + "CopySourceIfUnmodifiedSince": "Copies the object if it hasn't been modified since the specified time.", + "Expires": "The date and time at which the object is no longer cacheable.", + "GrantRead": "Allows grantee to read the object data and its metadata.", + "CopySourceIfModifiedSince": "Copies the object if it has been modified since the specified time.", + "Tagging": "The tag-set for the object destination object this value must be used in conjunction with the TaggingDirective. The tag-set must be encoded as URL Query parameters.", + "MetadataDirective": "Specifies whether the metadata is copied from the source object or replaced with metadata provided in the request.", + "ACL": "The canned ACL to apply to the object.", + "ObjectLockMode": "The Object Lock mode that you want to apply to the copied object.", + "ContentDisposition": "Specifies presentational information for the object.", + "CacheControl": "Specifies caching behavior along the request/reply chain.", + "ContentType": "A standard MIME type describing the format of the object data.", + "ServerSideEncryption": "The server-side encryption algorithm used when storing this object in Amazon S3 (for example, AES256, aws:kms).", + "StorageClass": "The type of storage to use for the object. Defaults to 'STANDARD'.", + "CopySourceSSECustomerAlgorithm": "Specifies the algorithm to use when decrypting the source object (for example, AES256).", + "GrantFullControl": "Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object.", + "TaggingDirective": "Specifies whether the object tag-set are copied from the source object or replaced with tag-set provided in the request.", + "SSEKMSKeyId": "Specifies the AWS KMS key ID to use for object encryption. All GET and PUT requests for an object protected by AWS KMS will fail if not made via SSL or using SigV4. For information about configuring using any of the officially supported AWS SDKs and AWS CLI, see Specifying the Signature Version in Request Authentication in the Amazon S3 Developer Guide.", + "SSECustomerAlgorithm": "Specifies the algorithm to use to when encrypting the object (for example, AES256).", + "Metadata": "A map of metadata to store with the object in S3.", + "CopySourceIfNoneMatch": "Copies the object if its entity tag (ETag) is different than the specified ETag.", + "WebsiteRedirectLocation": "If the bucket is configured as a website, redirects requests for this object to another object in the same bucket or to an external URL. Amazon S3 stores the value of this header in the object metadata.", + "GrantWriteACP": "Allows grantee to write the ACL for the applicable object." +} +""" +CopyObject(Bucket, Key, CopySource) = s3("PUT", "/{Bucket}/{Key+}") +CopyObject(Bucket, Key, CopySource, args) = s3("PUT", "/{Bucket}/{Key+}", args) +CopyObject(a...; b...) = CopyObject(a..., b) + +""" + GetBucketNotification() + + No longer used, see GetBucketNotificationConfiguration. + +Required Parameters +{ + "Bucket": "Name of the bucket for which to get the notification configuration" +} +""" +GetBucketNotification(Bucket) = s3("GET", "/{Bucket}?notification") +GetBucketNotification(Bucket, args) = s3("GET", "/{Bucket}?notification", args) +GetBucketNotification(a...; b...) = GetBucketNotification(a..., b) + +""" + ListObjectsV2() + +Returns some or all (up to 1,000) of the objects in a bucket. You can use the request parameters as selection criteria to return a subset of the objects in a bucket. A 200 OK response can contain valid or invalid XML. Make sure to design your application to parse the contents of the response and handle it appropriately. To use this operation, you must have READ access to the bucket. To use this operation in an AWS Identity and Access Management (IAM) policy, you must have permissions to perform the s3:ListBucket action. The bucket owner has this permission by default and can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources. This section describes the latest revision of the API. We recommend that you use this revised API for application development. For backward compatibility, Amazon S3 continues to support the prior version of this API, ListObjects. To get a list of your buckets, see ListBuckets. The following operations are related to ListObjectsV2: GetObject PutObject CreateBucket + +Required Parameters +{ + "Bucket": "Bucket name to list. When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide." +} + +Optional Parameters +{ + "MaxKeys": "Sets the maximum number of keys returned in the response. The response might contain fewer keys but will never contain more.", + "FetchOwner": "The owner field is not present in listV2 by default, if you want to return owner field with each key in the result then set the fetch owner field to true.", + "Delimiter": "A delimiter is a character you use to group keys.", + "ContinuationToken": "ContinuationToken indicates Amazon S3 that the list is being continued on this bucket with a token. ContinuationToken is obfuscated and is not a real key.", + "StartAfter": "StartAfter is where you want Amazon S3 to start listing from. Amazon S3 starts listing after this specified key. StartAfter can be any key in the bucket.", + "RequestPayer": "Confirms that the requester knows that she or he will be charged for the list objects request in V2 style. Bucket owners need not specify this parameter in their requests.", + "EncodingType": "Encoding type used by Amazon S3 to encode object keys in the response.", + "Prefix": "Limits the response to keys that begin with the specified prefix." +} +""" +ListObjectsV2(Bucket) = s3("GET", "/{Bucket}?list-type=2") +ListObjectsV2(Bucket, args) = s3("GET", "/{Bucket}?list-type=2", args) +ListObjectsV2(a...; b...) = ListObjectsV2(a..., b) + +""" + DeleteBucketInventoryConfiguration() + +Deletes an inventory configuration (identified by the inventory ID) from the bucket. To use this operation, you must have permissions to perform the s3:PutInventoryConfiguration action. The bucket owner has this permission by default. The bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources. For information about the Amazon S3 inventory feature, see Amazon S3 Inventory. Operations related to DeleteBucketInventoryConfiguration include: GetBucketInventoryConfiguration PutBucketInventoryConfiguration ListBucketInventoryConfigurations + +Required Parameters +{ + "Id": "The ID used to identify the inventory configuration.", + "Bucket": "The name of the bucket containing the inventory configuration to delete." +} +""" +DeleteBucketInventoryConfiguration(Id, Bucket) = s3("DELETE", "/{Bucket}?inventory") +DeleteBucketInventoryConfiguration(Id, Bucket, args) = s3("DELETE", "/{Bucket}?inventory", args) +DeleteBucketInventoryConfiguration(a...; b...) = DeleteBucketInventoryConfiguration(a..., b) + +""" + PutObjectRetention() + +Places an Object Retention configuration on an object. Related Resources Locking Objects + +Required Parameters +{ + "Bucket": "The bucket name that contains the object you want to apply this Object Retention configuration to. When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.", + "Key": "The key name for the object that you want to apply this Object Retention configuration to." +} + +Optional Parameters +{ + "ContentMD5": "The MD5 hash for the request body.", + "RequestPayer": "", + "Retention": "The container element for the Object Retention configuration.", + "VersionId": "The version ID for the object that you want to apply this Object Retention configuration to.", + "BypassGovernanceRetention": "Indicates whether this operation should bypass Governance-mode restrictions." +} +""" +PutObjectRetention(Bucket, Key) = s3("PUT", "/{Bucket}/{Key+}?retention") +PutObjectRetention(Bucket, Key, args) = s3("PUT", "/{Bucket}/{Key+}?retention", args) +PutObjectRetention(a...; b...) = PutObjectRetention(a..., b) + +""" + ListBuckets() + +Returns a list of all buckets owned by the authenticated sender of the request. +""" +ListBuckets() = s3("GET", "/") +ListBuckets(args) = s3("GET", "/", args) +ListBuckets(a...; b...) = ListBuckets(a..., b) + +""" + DeleteBucketMetricsConfiguration() + +Deletes a metrics configuration for the Amazon CloudWatch request metrics (specified by the metrics configuration ID) from the bucket. Note that this doesn't include the daily storage metrics. To use this operation, you must have permissions to perform the s3:PutMetricsConfiguration action. The bucket owner has this permission by default. The bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources. For information about CloudWatch request metrics for Amazon S3, see Monitoring Metrics with Amazon CloudWatch. The following operations are related to DeleteBucketMetricsConfiguration: GetBucketMetricsConfiguration PutBucketMetricsConfiguration ListBucketMetricsConfigurations Monitoring Metrics with Amazon CloudWatch + +Required Parameters +{ + "Id": "The ID used to identify the metrics configuration.", + "Bucket": "The name of the bucket containing the metrics configuration to delete." +} +""" +DeleteBucketMetricsConfiguration(Id, Bucket) = s3("DELETE", "/{Bucket}?metrics") +DeleteBucketMetricsConfiguration(Id, Bucket, args) = s3("DELETE", "/{Bucket}?metrics", args) +DeleteBucketMetricsConfiguration(a...; b...) = DeleteBucketMetricsConfiguration(a..., b) + +""" + GetObjectTagging() + +Returns the tag-set of an object. You send the GET request against the tagging subresource associated with the object. To use this operation, you must have permission to perform the s3:GetObjectTagging action. By default, the GET operation returns information about current version of an object. For a versioned bucket, you can have multiple versions of an object in your bucket. To retrieve tags of any other version, use the versionId query parameter. You also need permission for the s3:GetObjectVersionTagging action. By default, the bucket owner has this permission and can grant this permission to others. For information about the Amazon S3 object tagging feature, see Object Tagging. The following operation is related to GetObjectTagging: PutObjectTagging + +Required Parameters +{ + "Bucket": "The bucket name containing the object for which to get the tagging information. When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.", + "Key": "Object key for which to get the tagging information." +} + +Optional Parameters +{ + "VersionId": "The versionId of the object for which to get the tagging information." +} +""" +GetObjectTagging(Bucket, Key) = s3("GET", "/{Bucket}/{Key+}?tagging") +GetObjectTagging(Bucket, Key, args) = s3("GET", "/{Bucket}/{Key+}?tagging", args) +GetObjectTagging(a...; b...) = GetObjectTagging(a..., b) + +""" + PutBucketAccelerateConfiguration() + +Sets the accelerate configuration of an existing bucket. Amazon S3 Transfer Acceleration is a bucket-level feature that enables you to perform faster data transfers to Amazon S3. To use this operation, you must have permission to perform the s3:PutAccelerateConfiguration action. The bucket owner has this permission by default. The bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources. The Transfer Acceleration state of a bucket can be set to one of the following two values: Enabled – Enables accelerated data transfers to the bucket. Suspended – Disables accelerated data transfers to the bucket. The GetBucketAccelerateConfiguration operation returns the transfer acceleration state of a bucket. After setting the Transfer Acceleration state of a bucket to Enabled, it might take up to thirty minutes before the data transfer rates to the bucket increase. The name of the bucket used for Transfer Acceleration must be DNS-compliant and must not contain periods ("."). For more information about transfer acceleration, see Transfer Acceleration. The following operations are related to PutBucketAccelerateConfiguration: GetBucketAccelerateConfiguration CreateBucket + +Required Parameters +{ + "AccelerateConfiguration": "Container for setting the transfer acceleration state.", + "Bucket": "Name of the bucket for which the accelerate configuration is set." +} +""" +PutBucketAccelerateConfiguration(AccelerateConfiguration, Bucket) = s3("PUT", "/{Bucket}?accelerate") +PutBucketAccelerateConfiguration(AccelerateConfiguration, Bucket, args) = s3("PUT", "/{Bucket}?accelerate", args) +PutBucketAccelerateConfiguration(a...; b...) = PutBucketAccelerateConfiguration(a..., b) + +""" + GetBucketTagging() + +Returns the tag set associated with the bucket. To use this operation, you must have permission to perform the s3:GetBucketTagging action. By default, the bucket owner has this permission and can grant this permission to others. GetBucketTagging has the following special error: Error code: NoSuchTagSetError Description: There is no tag set associated with the bucket. The following operations are related to GetBucketTagging: PutBucketTagging DeleteBucketTagging + +Required Parameters +{ + "Bucket": "The name of the bucket for which to get the tagging information." +} +""" +GetBucketTagging(Bucket) = s3("GET", "/{Bucket}?tagging") +GetBucketTagging(Bucket, args) = s3("GET", "/{Bucket}?tagging", args) +GetBucketTagging(a...; b...) = GetBucketTagging(a..., b) + +""" + GetBucketPolicyStatus() + +Retrieves the policy status for an Amazon S3 bucket, indicating whether the bucket is public. In order to use this operation, you must have the s3:GetBucketPolicyStatus permission. For more information about Amazon S3 permissions, see Specifying Permissions in a Policy. For more information about when Amazon S3 considers a bucket public, see The Meaning of "Public". The following operations are related to GetBucketPolicyStatus: Using Amazon S3 Block Public Access GetPublicAccessBlock PutPublicAccessBlock DeletePublicAccessBlock + +Required Parameters +{ + "Bucket": "The name of the Amazon S3 bucket whose policy status you want to retrieve." +} +""" +GetBucketPolicyStatus(Bucket) = s3("GET", "/{Bucket}?policyStatus") +GetBucketPolicyStatus(Bucket, args) = s3("GET", "/{Bucket}?policyStatus", args) +GetBucketPolicyStatus(a...; b...) = GetBucketPolicyStatus(a..., b) diff --git a/src/services/s3_control.jl b/src/services/s3_control.jl new file mode 100644 index 0000000000..22baad9aec --- /dev/null +++ b/src/services/s3_control.jl @@ -0,0 +1,325 @@ +include("../AWSServices.jl") +using .AWSServices: s3_control + +""" + GetPublicAccessBlock() + +Retrieves the PublicAccessBlock configuration for an Amazon Web Services account. + +Required Parameters +{ + "AccountId": "The account ID for the Amazon Web Services account whose PublicAccessBlock configuration you want to retrieve." +} +""" +GetPublicAccessBlock(AccountId) = s3_control("GET", "/v20180820/configuration/publicAccessBlock") +GetPublicAccessBlock(AccountId, args) = s3_control("GET", "/v20180820/configuration/publicAccessBlock", args) +GetPublicAccessBlock(a...; b...) = GetPublicAccessBlock(a..., b) + +""" + CreateAccessPoint() + +Creates an access point and associates it with the specified bucket. + +Required Parameters +{ + "AccountId": "The AWS account ID for the owner of the bucket for which you want to create an access point.", + "Bucket": "The name of the bucket that you want to associate this access point with.", + "Name": "The name you want to assign to this access point." +} + +Optional Parameters +{ + "PublicAccessBlockConfiguration": "", + "VpcConfiguration": "If you include this field, Amazon S3 restricts access to this access point to requests from the specified Virtual Private Cloud (VPC)." +} +""" +CreateAccessPoint(AccountId, Bucket, Name) = s3_control("PUT", "/v20180820/accesspoint/{name}") +CreateAccessPoint(AccountId, Bucket, Name, args) = s3_control("PUT", "/v20180820/accesspoint/{name}", args) +CreateAccessPoint(a...; b...) = CreateAccessPoint(a..., b) + +""" + GetAccessPointPolicy() + +Returns the access point policy associated with the specified access point. + +Required Parameters +{ + "AccountId": "The account ID for the account that owns the specified access point.", + "Name": "The name of the access point whose policy you want to retrieve." +} +""" +GetAccessPointPolicy(AccountId, Name) = s3_control("GET", "/v20180820/accesspoint/{name}/policy") +GetAccessPointPolicy(AccountId, Name, args) = s3_control("GET", "/v20180820/accesspoint/{name}/policy", args) +GetAccessPointPolicy(a...; b...) = GetAccessPointPolicy(a..., b) + +""" + PutAccessPointPolicy() + +Associates an access policy with the specified access point. Each access point can have only one policy, so a request made to this API replaces any existing policy associated with the specified access point. + +Required Parameters +{ + "AccountId": "The AWS account ID for owner of the bucket associated with the specified access point.", + "Policy": "The policy that you want to apply to the specified access point. For more information about access point policies, see Managing Data Access with Amazon S3 Access Points in the Amazon Simple Storage Service Developer Guide.", + "Name": "The name of the access point that you want to associate with the specified policy." +} +""" +PutAccessPointPolicy(AccountId, Policy, Name) = s3_control("PUT", "/v20180820/accesspoint/{name}/policy") +PutAccessPointPolicy(AccountId, Policy, Name, args) = s3_control("PUT", "/v20180820/accesspoint/{name}/policy", args) +PutAccessPointPolicy(a...; b...) = PutAccessPointPolicy(a..., b) + +""" + DeleteAccessPoint() + +Deletes the specified access point. + +Required Parameters +{ + "AccountId": "The account ID for the account that owns the specified access point.", + "Name": "The name of the access point you want to delete." +} +""" +DeleteAccessPoint(AccountId, Name) = s3_control("DELETE", "/v20180820/accesspoint/{name}") +DeleteAccessPoint(AccountId, Name, args) = s3_control("DELETE", "/v20180820/accesspoint/{name}", args) +DeleteAccessPoint(a...; b...) = DeleteAccessPoint(a..., b) + +""" + GetAccessPoint() + +Returns configuration information about the specified access point. + +Required Parameters +{ + "AccountId": "The account ID for the account that owns the specified access point.", + "Name": "The name of the access point whose configuration information you want to retrieve." +} +""" +GetAccessPoint(AccountId, Name) = s3_control("GET", "/v20180820/accesspoint/{name}") +GetAccessPoint(AccountId, Name, args) = s3_control("GET", "/v20180820/accesspoint/{name}", args) +GetAccessPoint(a...; b...) = GetAccessPoint(a..., b) + +""" + UpdateJobPriority() + +Updates an existing job's priority. + +Required Parameters +{ + "AccountId": "", + "Priority": "The priority you want to assign to this job.", + "JobId": "The ID for the job whose priority you want to update." +} +""" +UpdateJobPriority(AccountId, Priority, JobId) = s3_control("POST", "/v20180820/jobs/{id}/priority") +UpdateJobPriority(AccountId, Priority, JobId, args) = s3_control("POST", "/v20180820/jobs/{id}/priority", args) +UpdateJobPriority(a...; b...) = UpdateJobPriority(a..., b) + +""" + DeleteJobTagging() + +Delete the tags on a Amazon S3 batch operations job, if any. + +Required Parameters +{ + "AccountId": "The account ID for the Amazon Web Services account associated with the Amazon S3 batch operations job you want to remove tags from.", + "JobId": "The ID for the job whose tags you want to delete." +} +""" +DeleteJobTagging(AccountId, JobId) = s3_control("DELETE", "/v20180820/jobs/{id}/tagging") +DeleteJobTagging(AccountId, JobId, args) = s3_control("DELETE", "/v20180820/jobs/{id}/tagging", args) +DeleteJobTagging(a...; b...) = DeleteJobTagging(a..., b) + +""" + CreateJob() + +Creates an Amazon S3 batch operations job. + +Required Parameters +{ + "Report": "Configuration parameters for the optional job-completion report.", + "ClientRequestToken": "An idempotency token to ensure that you don't accidentally submit the same request twice. You can use any string up to the maximum length.", + "AccountId": "", + "Operation": "The operation that you want this job to perform on each object listed in the manifest. For more information about the available operations, see Available Operations in the Amazon Simple Storage Service Developer Guide.", + "Manifest": "Configuration parameters for the manifest.", + "Priority": "The numerical priority for this job. Higher numbers indicate higher priority.", + "RoleArn": "The Amazon Resource Name (ARN) for the Identity and Access Management (IAM) Role that batch operations will use to execute this job's operation on each object in the manifest." +} + +Optional Parameters +{ + "Description": "A description for this job. You can use any string within the permitted length. Descriptions don't need to be unique and can be used for multiple jobs.", + "Tags": "An optional set of tags to associate with the job when it is created.", + "ConfirmationRequired": "Indicates whether confirmation is required before Amazon S3 runs the job. Confirmation is only required for jobs created through the Amazon S3 console." +} +""" +CreateJob(Report, ClientRequestToken, AccountId, Operation, Manifest, Priority, RoleArn) = s3_control("POST", "/v20180820/jobs") +CreateJob(Report, ClientRequestToken, AccountId, Operation, Manifest, Priority, RoleArn, args) = s3_control("POST", "/v20180820/jobs", args) +CreateJob(a...; b...) = CreateJob(a..., b) + +""" + ListAccessPoints() + +Returns a list of the access points currently associated with the specified bucket. You can retrieve up to 1000 access points per call. If the specified bucket has more than 1000 access points (or the number specified in maxResults, whichever is less), then the response will include a continuation token that you can use to list the additional access points. + +Required Parameters +{ + "AccountId": "The AWS account ID for owner of the bucket whose access points you want to list." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of access points that you want to include in the list. If the specified bucket has more than this number of access points, then the response will include a continuation token in the NextToken field that you can use to retrieve the next page of access points.", + "NextToken": "A continuation token. If a previous call to ListAccessPoints returned a continuation token in the NextToken field, then providing that value here causes Amazon S3 to retrieve the next page of results.", + "Bucket": "The name of the bucket whose associated access points you want to list." +} +""" +ListAccessPoints(AccountId) = s3_control("GET", "/v20180820/accesspoint") +ListAccessPoints(AccountId, args) = s3_control("GET", "/v20180820/accesspoint", args) +ListAccessPoints(a...; b...) = ListAccessPoints(a..., b) + +""" + DeleteAccessPointPolicy() + +Deletes the access point policy for the specified access point. + +Required Parameters +{ + "AccountId": "The account ID for the account that owns the specified access point.", + "Name": "The name of the access point whose policy you want to delete." +} +""" +DeleteAccessPointPolicy(AccountId, Name) = s3_control("DELETE", "/v20180820/accesspoint/{name}/policy") +DeleteAccessPointPolicy(AccountId, Name, args) = s3_control("DELETE", "/v20180820/accesspoint/{name}/policy", args) +DeleteAccessPointPolicy(a...; b...) = DeleteAccessPointPolicy(a..., b) + +""" + GetAccessPointPolicyStatus() + +Indicates whether the specified access point currently has a policy that allows public access. For more information about public access through access points, see Managing Data Access with Amazon S3 Access Points in the Amazon Simple Storage Service Developer Guide. + +Required Parameters +{ + "AccountId": "The account ID for the account that owns the specified access point.", + "Name": "The name of the access point whose policy status you want to retrieve." +} +""" +GetAccessPointPolicyStatus(AccountId, Name) = s3_control("GET", "/v20180820/accesspoint/{name}/policyStatus") +GetAccessPointPolicyStatus(AccountId, Name, args) = s3_control("GET", "/v20180820/accesspoint/{name}/policyStatus", args) +GetAccessPointPolicyStatus(a...; b...) = GetAccessPointPolicyStatus(a..., b) + +""" + PutJobTagging() + +Replace the set of tags on a Amazon S3 batch operations job. + +Required Parameters +{ + "Tags": "The set of tags to associate with the job.", + "AccountId": "The account ID for the Amazon Web Services account associated with the Amazon S3 batch operations job you want to replace tags on.", + "JobId": "The ID for the job whose tags you want to replace." +} +""" +PutJobTagging(Tags, AccountId, JobId) = s3_control("PUT", "/v20180820/jobs/{id}/tagging") +PutJobTagging(Tags, AccountId, JobId, args) = s3_control("PUT", "/v20180820/jobs/{id}/tagging", args) +PutJobTagging(a...; b...) = PutJobTagging(a..., b) + +""" + DescribeJob() + +Retrieves the configuration parameters and status for a batch operations job. + +Required Parameters +{ + "AccountId": "", + "JobId": "The ID for the job whose information you want to retrieve." +} +""" +DescribeJob(AccountId, JobId) = s3_control("GET", "/v20180820/jobs/{id}") +DescribeJob(AccountId, JobId, args) = s3_control("GET", "/v20180820/jobs/{id}", args) +DescribeJob(a...; b...) = DescribeJob(a..., b) + +""" + GetJobTagging() + +Retrieve the tags on a Amazon S3 batch operations job. + +Required Parameters +{ + "AccountId": "The account ID for the Amazon Web Services account associated with the Amazon S3 batch operations job you want to retrieve tags for.", + "JobId": "The ID for the job whose tags you want to retrieve." +} +""" +GetJobTagging(AccountId, JobId) = s3_control("GET", "/v20180820/jobs/{id}/tagging") +GetJobTagging(AccountId, JobId, args) = s3_control("GET", "/v20180820/jobs/{id}/tagging", args) +GetJobTagging(a...; b...) = GetJobTagging(a..., b) + +""" + DeletePublicAccessBlock() + +Removes the PublicAccessBlock configuration for an Amazon Web Services account. + +Required Parameters +{ + "AccountId": "The account ID for the Amazon Web Services account whose PublicAccessBlock configuration you want to remove." +} +""" +DeletePublicAccessBlock(AccountId) = s3_control("DELETE", "/v20180820/configuration/publicAccessBlock") +DeletePublicAccessBlock(AccountId, args) = s3_control("DELETE", "/v20180820/configuration/publicAccessBlock", args) +DeletePublicAccessBlock(a...; b...) = DeletePublicAccessBlock(a..., b) + +""" + ListJobs() + +Lists current jobs and jobs that have ended within the last 30 days for the AWS account making the request. + +Required Parameters +{ + "AccountId": "" +} + +Optional Parameters +{ + "MaxResults": "The maximum number of jobs that Amazon S3 will include in the List Jobs response. If there are more jobs than this number, the response will include a pagination token in the NextToken field to enable you to retrieve the next page of results.", + "NextToken": "A pagination token to request the next page of results. Use the token that Amazon S3 returned in the NextToken element of the ListJobsResult from the previous List Jobs request.", + "JobStatuses": "The List Jobs request returns jobs that match the statuses listed in this element." +} +""" +ListJobs(AccountId) = s3_control("GET", "/v20180820/jobs") +ListJobs(AccountId, args) = s3_control("GET", "/v20180820/jobs", args) +ListJobs(a...; b...) = ListJobs(a..., b) + +""" + PutPublicAccessBlock() + +Creates or modifies the PublicAccessBlock configuration for an Amazon Web Services account. + +Required Parameters +{ + "PublicAccessBlockConfiguration": "The PublicAccessBlock configuration that you want to apply to the specified Amazon Web Services account.", + "AccountId": "The account ID for the Amazon Web Services account whose PublicAccessBlock configuration you want to set." +} +""" +PutPublicAccessBlock(PublicAccessBlockConfiguration, AccountId) = s3_control("PUT", "/v20180820/configuration/publicAccessBlock") +PutPublicAccessBlock(PublicAccessBlockConfiguration, AccountId, args) = s3_control("PUT", "/v20180820/configuration/publicAccessBlock", args) +PutPublicAccessBlock(a...; b...) = PutPublicAccessBlock(a..., b) + +""" + UpdateJobStatus() + +Updates the status for the specified job. Use this operation to confirm that you want to run a job or to cancel an existing job. + +Required Parameters +{ + "RequestedJobStatus": "The status that you want to move the specified job to.", + "AccountId": "", + "JobId": "The ID of the job whose status you want to update." +} + +Optional Parameters +{ + "StatusUpdateReason": "A description of the reason why you want to change the specified job's status. This field can be any string up to the maximum length." +} +""" +UpdateJobStatus(RequestedJobStatus, AccountId, JobId) = s3_control("POST", "/v20180820/jobs/{id}/status") +UpdateJobStatus(RequestedJobStatus, AccountId, JobId, args) = s3_control("POST", "/v20180820/jobs/{id}/status", args) +UpdateJobStatus(a...; b...) = UpdateJobStatus(a..., b) diff --git a/src/services/sagemaker.jl b/src/services/sagemaker.jl new file mode 100644 index 0000000000..0d10d9094a --- /dev/null +++ b/src/services/sagemaker.jl @@ -0,0 +1,2218 @@ +include("../AWSServices.jl") +using .AWSServices: sagemaker + +""" + StopMonitoringSchedule() + +Stops a previously started monitoring schedule. + +Required Parameters +{ + "MonitoringScheduleName": "The name of the schedule to stop." +} +""" +StopMonitoringSchedule(args) = sagemaker("StopMonitoringSchedule", args) + +""" + ListTrials() + +Lists the trials in your account. Specify an experiment name to limit the list to the trials that are part of that experiment. Specify a trial component name to limit the list to the trials that associated with that trial component. The list can be filtered to show only trials that were created in a specific time range. The list can be sorted by trial name or creation time. + +Optional Parameters +{ + "TrialComponentName": "A filter that returns only trials that are associated with the specified trial component.", + "MaxResults": "The maximum number of trials to return in the response. The default value is 10.", + "NextToken": "If the previous call to ListTrials didn't return the full set of trials, the call returns a token for getting the next set of trials.", + "SortOrder": "The sort order. The default value is Descending.", + "ExperimentName": "A filter that returns only trials that are part of the specified experiment.", + "CreatedAfter": "A filter that returns only trials created after the specified time.", + "CreatedBefore": "A filter that returns only trials created before the specified time.", + "SortBy": "The property used to sort results. The default value is CreationTime." +} +""" +ListTrials() = sagemaker("ListTrials") +ListTrials(args) = sagemaker("ListTrials", args) + +""" + CreateLabelingJob() + +Creates a job that uses workers to label the data objects in your input dataset. You can use the labeled data to train machine learning models. You can select your workforce from one of three providers: A private workforce that you create. It can include employees, contractors, and outside experts. Use a private workforce when want the data to stay within your organization or when a specific set of skills is required. One or more vendors that you select from the AWS Marketplace. Vendors provide expertise in specific areas. The Amazon Mechanical Turk workforce. This is the largest workforce, but it should only be used for public data or data that has been stripped of any personally identifiable information. You can also use automated data labeling to reduce the number of data objects that need to be labeled by a human. Automated data labeling uses active learning to determine if a data object can be labeled by machine or if it needs to be sent to a human worker. For more information, see Using Automated Data Labeling. The data objects to be labeled are contained in an Amazon S3 bucket. You create a manifest file that describes the location of each object. For more information, see Using Input and Output Data. The output can be used as the manifest file for another labeling job or as training data for your machine learning models. + +Required Parameters +{ + "InputConfig": "Input data for the labeling job, such as the Amazon S3 location of the data objects and the location of the manifest file that describes the data objects.", + "HumanTaskConfig": "Configures the labeling task and how it is presented to workers; including, but not limited to price, keywords, and batch size (task count).", + "LabelingJobName": "The name of the labeling job. This name is used to identify the job in a list of labeling jobs.", + "OutputConfig": "The location of the output data and the AWS Key Management Service key ID for the key used to encrypt the output data, if any.", + "LabelAttributeName": "The attribute name to use for the label in the output manifest file. This is the key for the key/value pair formed with the label that a worker assigns to the object. The name can't end with \"-metadata\". If you are running a semantic segmentation labeling job, the attribute name must end with \"-ref\". If you are running any other kind of labeling job, the attribute name must not end with \"-ref\".", + "RoleArn": "The Amazon Resource Number (ARN) that Amazon SageMaker assumes to perform tasks on your behalf during data labeling. You must grant this role the necessary permissions so that Amazon SageMaker can successfully complete data labeling." +} + +Optional Parameters +{ + "StoppingConditions": "A set of conditions for stopping the labeling job. If any of the conditions are met, the job is automatically stopped. You can use these conditions to control the cost of data labeling.", + "Tags": "An array of key/value pairs. For more information, see Using Cost Allocation Tags in the AWS Billing and Cost Management User Guide.", + "LabelCategoryConfigS3Uri": "The S3 URL of the file that defines the categories used to label the data objects. The file is a JSON structure in the following format: { \"document-version\": \"2018-11-28\" \"labels\": [ { \"label\": \"label 1\" }, { \"label\": \"label 2\" }, ... { \"label\": \"label n\" } ] } ", + "LabelingJobAlgorithmsConfig": "Configures the information required to perform automated data labeling." +} +""" +CreateLabelingJob(args) = sagemaker("CreateLabelingJob", args) + +""" + DescribeHyperParameterTuningJob() + +Gets a description of a hyperparameter tuning job. + +Required Parameters +{ + "HyperParameterTuningJobName": "The name of the tuning job to describe." +} +""" +DescribeHyperParameterTuningJob(args) = sagemaker("DescribeHyperParameterTuningJob", args) + +""" + UpdateNotebookInstance() + +Updates a notebook instance. NotebookInstance updates include upgrading or downgrading the ML compute instance used for your notebook instance to accommodate changes in your workload requirements. + +Required Parameters +{ + "NotebookInstanceName": "The name of the notebook instance to update." +} + +Optional Parameters +{ + "LifecycleConfigName": "The name of a lifecycle configuration to associate with the notebook instance. For information about lifestyle configurations, see Step 2.1: (Optional) Customize a Notebook Instance.", + "InstanceType": "The Amazon ML compute instance type.", + "DisassociateLifecycleConfig": "Set to true to remove the notebook instance lifecycle configuration currently associated with the notebook instance. This operation is idempotent. If you specify a lifecycle configuration that is not associated with the notebook instance when you call this method, it does not throw an error.", + "DisassociateAcceleratorTypes": "A list of the Elastic Inference (EI) instance types to remove from this notebook instance. This operation is idempotent. If you specify an accelerator type that is not associated with the notebook instance when you call this method, it does not throw an error.", + "AdditionalCodeRepositories": "An array of up to three Git repositories to associate with the notebook instance. These can be either the names of Git repositories stored as resources in your account, or the URL of Git repositories in AWS CodeCommit or in any other Git repository. These repositories are cloned at the same level as the default repository of your notebook instance. For more information, see Associating Git Repositories with Amazon SageMaker Notebook Instances.", + "RoleArn": "The Amazon Resource Name (ARN) of the IAM role that Amazon SageMaker can assume to access the notebook instance. For more information, see Amazon SageMaker Roles. To be able to pass this role to Amazon SageMaker, the caller of this API must have the iam:PassRole permission. ", + "DisassociateDefaultCodeRepository": "The name or URL of the default Git repository to remove from this notebook instance. This operation is idempotent. If you specify a Git repository that is not associated with the notebook instance when you call this method, it does not throw an error.", + "DisassociateAdditionalCodeRepositories": "A list of names or URLs of the default Git repositories to remove from this notebook instance. This operation is idempotent. If you specify a Git repository that is not associated with the notebook instance when you call this method, it does not throw an error.", + "AcceleratorTypes": "A list of the Elastic Inference (EI) instance types to associate with this notebook instance. Currently only one EI instance type can be associated with a notebook instance. For more information, see Using Elastic Inference in Amazon SageMaker.", + "VolumeSizeInGB": "The size, in GB, of the ML storage volume to attach to the notebook instance. The default value is 5 GB. ML storage volumes are encrypted, so Amazon SageMaker can't determine the amount of available free space on the volume. Because of this, you can increase the volume size when you update a notebook instance, but you can't decrease the volume size. If you want to decrease the size of the ML storage volume in use, create a new notebook instance with the desired size.", + "DefaultCodeRepository": "The Git repository to associate with the notebook instance as its default code repository. This can be either the name of a Git repository stored as a resource in your account, or the URL of a Git repository in AWS CodeCommit or in any other Git repository. When you open a notebook instance, it opens in the directory that contains this repository. For more information, see Associating Git Repositories with Amazon SageMaker Notebook Instances.", + "RootAccess": "Whether root access is enabled or disabled for users of the notebook instance. The default value is Enabled. If you set this to Disabled, users don't have root access on the notebook instance, but lifecycle configuration scripts still run with root permissions. " +} +""" +UpdateNotebookInstance(args) = sagemaker("UpdateNotebookInstance", args) + +""" + ListTrainingJobs() + +Lists training jobs. + +Optional Parameters +{ + "MaxResults": "The maximum number of training jobs to return in the response.", + "NameContains": "A string in the training job name. This filter returns only training jobs whose name contains the specified string.", + "NextToken": "If the result of the previous ListTrainingJobs request was truncated, the response includes a NextToken. To retrieve the next set of training jobs, use the token in the next request. ", + "StatusEquals": "A filter that retrieves only training jobs with a specific status.", + "CreationTimeAfter": "A filter that returns only training jobs created after the specified time (timestamp).", + "LastModifiedTimeBefore": "A filter that returns only training jobs modified before the specified time (timestamp).", + "SortOrder": "The sort order for results. The default is Ascending.", + "LastModifiedTimeAfter": "A filter that returns only training jobs modified after the specified time (timestamp).", + "CreationTimeBefore": "A filter that returns only training jobs created before the specified time (timestamp).", + "SortBy": "The field to sort results by. The default is CreationTime." +} +""" +ListTrainingJobs() = sagemaker("ListTrainingJobs") +ListTrainingJobs(args) = sagemaker("ListTrainingJobs", args) + +""" + CreateEndpoint() + +Creates an endpoint using the endpoint configuration specified in the request. Amazon SageMaker uses the endpoint to provision resources and deploy models. You create the endpoint configuration with the CreateEndpointConfig API. Use this API to deploy models using Amazon SageMaker hosting services. For an example that calls this method when deploying a model to Amazon SageMaker hosting services, see Deploy the Model to Amazon SageMaker Hosting Services (AWS SDK for Python (Boto 3)). You must not delete an EndpointConfig that is in use by an endpoint that is live or while the UpdateEndpoint or CreateEndpoint operations are being performed on the endpoint. To update an endpoint, you must create a new EndpointConfig. The endpoint name must be unique within an AWS Region in your AWS account. When it receives the request, Amazon SageMaker creates the endpoint, launches the resources (ML compute instances), and deploys the model(s) on them. When Amazon SageMaker receives the request, it sets the endpoint status to Creating. After it creates the endpoint, it sets the status to InService. Amazon SageMaker can then process incoming requests for inferences. To check the status of an endpoint, use the DescribeEndpoint API. If any of the models hosted at this endpoint get model data from an Amazon S3 location, Amazon SageMaker uses AWS Security Token Service to download model artifacts from the S3 path you provided. AWS STS is activated in your IAM user account by default. If you previously deactivated AWS STS for a region, you need to reactivate AWS STS for that region. For more information, see Activating and Deactivating AWS STS in an AWS Region in the AWS Identity and Access Management User Guide. + +Required Parameters +{ + "EndpointName": "The name of the endpoint. The name must be unique within an AWS Region in your AWS account.", + "EndpointConfigName": "The name of an endpoint configuration. For more information, see CreateEndpointConfig. " +} + +Optional Parameters +{ + "Tags": "An array of key-value pairs. For more information, see Using Cost Allocation Tagsin the AWS Billing and Cost Management User Guide. " +} +""" +CreateEndpoint(args) = sagemaker("CreateEndpoint", args) + +""" + DeleteNotebookInstanceLifecycleConfig() + +Deletes a notebook instance lifecycle configuration. + +Required Parameters +{ + "NotebookInstanceLifecycleConfigName": "The name of the lifecycle configuration to delete." +} +""" +DeleteNotebookInstanceLifecycleConfig(args) = sagemaker("DeleteNotebookInstanceLifecycleConfig", args) + +""" + ListNotebookInstanceLifecycleConfigs() + +Lists notebook instance lifestyle configurations created with the CreateNotebookInstanceLifecycleConfig API. + +Optional Parameters +{ + "MaxResults": "The maximum number of lifecycle configurations to return in the response.", + "NameContains": "A string in the lifecycle configuration name. This filter returns only lifecycle configurations whose name contains the specified string.", + "NextToken": "If the result of a ListNotebookInstanceLifecycleConfigs request was truncated, the response includes a NextToken. To get the next set of lifecycle configurations, use the token in the next request.", + "CreationTimeAfter": "A filter that returns only lifecycle configurations that were created after the specified time (timestamp).", + "LastModifiedTimeBefore": "A filter that returns only lifecycle configurations that were modified before the specified time (timestamp).", + "SortOrder": "The sort order for results.", + "LastModifiedTimeAfter": "A filter that returns only lifecycle configurations that were modified after the specified time (timestamp).", + "CreationTimeBefore": "A filter that returns only lifecycle configurations that were created before the specified time (timestamp).", + "SortBy": "Sorts the list of results. The default is CreationTime." +} +""" +ListNotebookInstanceLifecycleConfigs() = sagemaker("ListNotebookInstanceLifecycleConfigs") +ListNotebookInstanceLifecycleConfigs(args) = sagemaker("ListNotebookInstanceLifecycleConfigs", args) + +""" + DeleteApp() + +Used to stop and delete an app. + +Required Parameters +{ + "AppType": "The type of app.", + "UserProfileName": "The user profile name.", + "AppName": "The name of the app.", + "DomainId": "The domain ID." +} +""" +DeleteApp(args) = sagemaker("DeleteApp", args) + +""" + ListEndpointConfigs() + +Lists endpoint configurations. + +Optional Parameters +{ + "MaxResults": "The maximum number of training jobs to return in the response.", + "NameContains": "A string in the endpoint configuration name. This filter returns only endpoint configurations whose name contains the specified string. ", + "NextToken": "If the result of the previous ListEndpointConfig request was truncated, the response includes a NextToken. To retrieve the next set of endpoint configurations, use the token in the next request. ", + "CreationTimeAfter": "A filter that returns only endpoint configurations with a creation time greater than or equal to the specified time (timestamp).", + "SortOrder": "The sort order for results. The default is Descending.", + "CreationTimeBefore": "A filter that returns only endpoint configurations created before the specified time (timestamp).", + "SortBy": "The field to sort results by. The default is CreationTime." +} +""" +ListEndpointConfigs() = sagemaker("ListEndpointConfigs") +ListEndpointConfigs(args) = sagemaker("ListEndpointConfigs", args) + +""" + StopTransformJob() + +Stops a transform job. When Amazon SageMaker receives a StopTransformJob request, the status of the job changes to Stopping. After Amazon SageMaker stops the job, the status is set to Stopped. When you stop a transform job before it is completed, Amazon SageMaker doesn't store the job's output in Amazon S3. + +Required Parameters +{ + "TransformJobName": "The name of the transform job to stop." +} +""" +StopTransformJob(args) = sagemaker("StopTransformJob", args) + +""" + CreateTrial() + +Creates an Amazon SageMaker trial. A trial is a set of steps called trial components that produce a machine learning model. A trial is part of a single Amazon SageMaker experiment. When you use Amazon SageMaker Studio or the Amazon SageMaker Python SDK, all experiments, trials, and trial components are automatically tracked, logged, and indexed. When you use the AWS SDK for Python (Boto), you must use the logging APIs provided by the SDK. You can add tags to a trial and then use the Search API to search for the tags. To get a list of all your trials, call the ListTrials API. To view a trial's properties, call the DescribeTrial API. To create a trial component, call the CreateTrialComponent API. + +Required Parameters +{ + "TrialName": "The name of the trial. The name must be unique in your AWS account and is not case-sensitive.", + "ExperimentName": "The name of the experiment to associate the trial with." +} + +Optional Parameters +{ + "Tags": "A list of tags to associate with the trial. You can use Search API to search on the tags.", + "DisplayName": "The name of the trial as displayed. The name doesn't need to be unique. If DisplayName isn't specified, TrialName is displayed." +} +""" +CreateTrial(args) = sagemaker("CreateTrial", args) + +""" + CreateAlgorithm() + +Create a machine learning algorithm that you can use in Amazon SageMaker and list in the AWS Marketplace. + +Required Parameters +{ + "AlgorithmName": "The name of the algorithm.", + "TrainingSpecification": "Specifies details about training jobs run by this algorithm, including the following: The Amazon ECR path of the container and the version digest of the algorithm. The hyperparameters that the algorithm supports. The instance types that the algorithm supports for training. Whether the algorithm supports distributed training. The metrics that the algorithm emits to Amazon CloudWatch. Which metrics that the algorithm emits can be used as the objective metric for hyperparameter tuning jobs. The input channels that the algorithm supports for training data. For example, an algorithm might support train, validation, and test channels. " +} + +Optional Parameters +{ + "CertifyForMarketplace": "Whether to certify the algorithm so that it can be listed in AWS Marketplace.", + "AlgorithmDescription": "A description of the algorithm.", + "InferenceSpecification": "Specifies details about inference jobs that the algorithm runs, including the following: The Amazon ECR paths of containers that contain the inference code and model artifacts. The instance types that the algorithm supports for transform jobs and real-time endpoints used for inference. The input and output content formats that the algorithm supports for inference. ", + "ValidationSpecification": "Specifies configurations for one or more training jobs and that Amazon SageMaker runs to test the algorithm's training code and, optionally, one or more batch transform jobs that Amazon SageMaker runs to test the algorithm's inference code." +} +""" +CreateAlgorithm(args) = sagemaker("CreateAlgorithm", args) + +""" + CreateUserProfile() + +Creates a new user profile. A user profile represents a single user within a Domain, and is the main way to reference a "person" for the purposes of sharing, reporting and other user-oriented features. This entity is created during on-boarding. If an administrator invites a person by email or imports them from SSO, a new UserProfile is automatically created. This entity is the primary holder of settings for an individual user and has a reference to the user's private Amazon Elastic File System (EFS) home directory. + +Required Parameters +{ + "UserProfileName": "A name for the UserProfile.", + "DomainId": "The ID of the associated Domain." +} + +Optional Parameters +{ + "SingleSignOnUserIdentifier": "A specifier for the type of value specified in SingleSignOnUserValue. Currently, the only supported value is \"UserName\". If the Domain's AuthMode is SSO, this field is required. If the Domain's AuthMode is not SSO, this field cannot be specified. ", + "Tags": "Each tag consists of a key and an optional value. Tag keys must be unique per resource.", + "UserSettings": "A collection of settings.", + "SingleSignOnUserValue": "The username of the associated AWS Single Sign-On User for this UserProfile. If the Domain's AuthMode is SSO, this field is required, and must match a valid username of a user in your directory. If the Domain's AuthMode is not SSO, this field cannot be specified. " +} +""" +CreateUserProfile(args) = sagemaker("CreateUserProfile", args) + +""" + UpdateNotebookInstanceLifecycleConfig() + +Updates a notebook instance lifecycle configuration created with the CreateNotebookInstanceLifecycleConfig API. + +Required Parameters +{ + "NotebookInstanceLifecycleConfigName": "The name of the lifecycle configuration." +} + +Optional Parameters +{ + "OnCreate": "The shell script that runs only once, when you create a notebook instance. The shell script must be a base64-encoded string.", + "OnStart": "The shell script that runs every time you start a notebook instance, including when you create the notebook instance. The shell script must be a base64-encoded string." +} +""" +UpdateNotebookInstanceLifecycleConfig(args) = sagemaker("UpdateNotebookInstanceLifecycleConfig", args) + +""" + UpdateExperiment() + +Adds, updates, or removes the description of an experiment. Updates the display name of an experiment. + +Required Parameters +{ + "ExperimentName": "The name of the experiment to update." +} + +Optional Parameters +{ + "Description": "The description of the experiment.", + "DisplayName": "The name of the experiment as displayed. The name doesn't need to be unique. If DisplayName isn't specified, ExperimentName is displayed." +} +""" +UpdateExperiment(args) = sagemaker("UpdateExperiment", args) + +""" + UpdateWorkteam() + +Updates an existing work team with new member definitions or description. + +Required Parameters +{ + "WorkteamName": "The name of the work team to update." +} + +Optional Parameters +{ + "Description": "An updated description for the work team.", + "MemberDefinitions": "A list of MemberDefinition objects that contain the updated work team members.", + "NotificationConfiguration": "Configures SNS topic notifications for available or expiring work items" +} +""" +UpdateWorkteam(args) = sagemaker("UpdateWorkteam", args) + +""" + UpdateDomain() + +Updates a domain. Changes will impact all of the people in the domain. + +Required Parameters +{ + "DomainId": "The domain ID." +} + +Optional Parameters +{ + "DefaultUserSettings": "A collection of settings." +} +""" +UpdateDomain(args) = sagemaker("UpdateDomain", args) + +""" + DeleteModelPackage() + +Deletes a model package. A model package is used to create Amazon SageMaker models or list on AWS Marketplace. Buyers can subscribe to model packages listed on AWS Marketplace to create models in Amazon SageMaker. + +Required Parameters +{ + "ModelPackageName": "The name of the model package. The name must have 1 to 63 characters. Valid characters are a-z, A-Z, 0-9, and - (hyphen)." +} +""" +DeleteModelPackage(args) = sagemaker("DeleteModelPackage", args) + +""" + CreateExperiment() + +Creates an Amazon SageMaker experiment. An experiment is a collection of trials that are observed, compared and evaluated as a group. A trial is a set of steps, called trial components, that produce a machine learning model. The goal of an experiment is to determine the components that produce the best model. Multiple trials are performed, each one isolating and measuring the impact of a change to one or more inputs, while keeping the remaining inputs constant. When you use Amazon SageMaker Studio or the Amazon SageMaker Python SDK, all experiments, trials, and trial components are automatically tracked, logged, and indexed. When you use the AWS SDK for Python (Boto), you must use the logging APIs provided by the SDK. You can add tags to experiments, trials, trial components and then use the Search API to search for the tags. To add a description to an experiment, specify the optional Description parameter. To add a description later, or to change the description, call the UpdateExperiment API. To get a list of all your experiments, call the ListExperiments API. To view an experiment's properties, call the DescribeExperiment API. To get a list of all the trials associated with an experiment, call the ListTrials API. To create a trial call the CreateTrial API. + +Required Parameters +{ + "ExperimentName": "The name of the experiment. The name must be unique in your AWS account and is not case-sensitive." +} + +Optional Parameters +{ + "Description": "The description of the experiment.", + "Tags": "A list of tags to associate with the experiment. You can use Search API to search on the tags.", + "DisplayName": "The name of the experiment as displayed. The name doesn't need to be unique. If you don't specify DisplayName, the value in ExperimentName is displayed." +} +""" +CreateExperiment(args) = sagemaker("CreateExperiment", args) + +""" + CreateHumanTaskUi() + +Defines the settings you will use for the human review workflow user interface. Reviewers will see a three-panel interface with an instruction area, the item to review, and an input area. + +Required Parameters +{ + "HumanTaskUiName": "The name of the user interface you are creating.", + "UiTemplate": "" +} + +Optional Parameters +{ + "Tags": "An array of key-value pairs that contain metadata to help you categorize and organize a human review workflow user interface. Each tag consists of a key and a value, both of which you define." +} +""" +CreateHumanTaskUi(args) = sagemaker("CreateHumanTaskUi", args) + +""" + StopProcessingJob() + +Stops a processing job. + +Required Parameters +{ + "ProcessingJobName": "The name of the processing job to stop." +} +""" +StopProcessingJob(args) = sagemaker("StopProcessingJob", args) + +""" + ListWorkteams() + +Gets a list of work teams that you have defined in a region. The list may be empty if no work team satisfies the filter specified in the NameContains parameter. + +Optional Parameters +{ + "NameContains": "A string in the work team's name. This filter returns only work teams whose name contains the specified string.", + "MaxResults": "The maximum number of work teams to return in each page of the response.", + "NextToken": "If the result of the previous ListWorkteams request was truncated, the response includes a NextToken. To retrieve the next set of labeling jobs, use the token in the next request.", + "SortOrder": "The sort order for results. The default is Ascending.", + "SortBy": "The field to sort results by. The default is CreationTime." +} +""" +ListWorkteams() = sagemaker("ListWorkteams") +ListWorkteams(args) = sagemaker("ListWorkteams", args) + +""" + DeleteNotebookInstance() + + Deletes an Amazon SageMaker notebook instance. Before you can delete a notebook instance, you must call the StopNotebookInstance API. When you delete a notebook instance, you lose all of your data. Amazon SageMaker removes the ML compute instance, and deletes the ML storage volume and the network interface associated with the notebook instance. + +Required Parameters +{ + "NotebookInstanceName": "The name of the Amazon SageMaker notebook instance to delete." +} +""" +DeleteNotebookInstance(args) = sagemaker("DeleteNotebookInstance", args) + +""" + CreateTransformJob() + +Starts a transform job. A transform job uses a trained model to get inferences on a dataset and saves these results to an Amazon S3 location that you specify. To perform batch transformations, you create a transform job and use the data that you have readily available. In the request body, you provide the following: TransformJobName - Identifies the transform job. The name must be unique within an AWS Region in an AWS account. ModelName - Identifies the model to use. ModelName must be the name of an existing Amazon SageMaker model in the same AWS Region and AWS account. For information on creating a model, see CreateModel. TransformInput - Describes the dataset to be transformed and the Amazon S3 location where it is stored. TransformOutput - Identifies the Amazon S3 location where you want Amazon SageMaker to save the results from the transform job. TransformResources - Identifies the ML compute instances for the transform job. For more information about how batch transformation works, see Batch Transform. + +Required Parameters +{ + "TransformInput": "Describes the input source and the way the transform job consumes it.", + "TransformResources": "Describes the resources, including ML instance types and ML instance count, to use for the transform job.", + "TransformJobName": "The name of the transform job. The name must be unique within an AWS Region in an AWS account. ", + "ModelName": "The name of the model that you want to use for the transform job. ModelName must be the name of an existing Amazon SageMaker model within an AWS Region in an AWS account.", + "TransformOutput": "Describes the results of the transform job." +} + +Optional Parameters +{ + "Environment": "The environment variables to set in the Docker container. We support up to 16 key and values entries in the map.", + "MaxConcurrentTransforms": "The maximum number of parallel requests that can be sent to each instance in a transform job. If MaxConcurrentTransforms is set to 0 or left unset, Amazon SageMaker checks the optional execution-parameters to determine the settings for your chosen algorithm. If the execution-parameters endpoint is not enabled, the default value is 1. For more information on execution-parameters, see How Containers Serve Requests. For built-in algorithms, you don't need to set a value for MaxConcurrentTransforms.", + "DataProcessing": "The data structure used to specify the data to be used for inference in a batch transform job and to associate the data that is relevant to the prediction results in the output. The input filter provided allows you to exclude input data that is not needed for inference in a batch transform job. The output filter provided allows you to include input data relevant to interpreting the predictions in the output from the job. For more information, see Associate Prediction Results with their Corresponding Input Records.", + "Tags": "(Optional) An array of key-value pairs. For more information, see Using Cost Allocation Tags in the AWS Billing and Cost Management User Guide.", + "MaxPayloadInMB": "The maximum allowed size of the payload, in MB. A payload is the data portion of a record (without metadata). The value in MaxPayloadInMB must be greater than, or equal to, the size of a single record. To estimate the size of a record in MB, divide the size of your dataset by the number of records. To ensure that the records fit within the maximum payload size, we recommend using a slightly larger value. The default value is 6 MB. For cases where the payload might be arbitrarily large and is transmitted using HTTP chunked encoding, set the value to 0. This feature works only in supported algorithms. Currently, Amazon SageMaker built-in algorithms do not support HTTP chunked encoding.", + "BatchStrategy": "Specifies the number of records to include in a mini-batch for an HTTP inference request. A record is a single unit of input data that inference can be made on. For example, a single line in a CSV file is a record. To enable the batch strategy, you must set the SplitType property to Line, RecordIO, or TFRecord. To use only one record when making an HTTP invocation request to a container, set BatchStrategy to SingleRecord and SplitType to Line. To fit as many records in a mini-batch as can fit within the MaxPayloadInMB limit, set BatchStrategy to MultiRecord and SplitType to Line.", + "ExperimentConfig": "" +} +""" +CreateTransformJob(args) = sagemaker("CreateTransformJob", args) + +""" + UpdateWorkforce() + +Restricts access to tasks assigned to workers in the specified workforce to those within specific ranges of IP addresses. You specify allowed IP addresses by creating a list of up to four CIDRs. By default, a workforce isn't restricted to specific IP addresses. If you specify a range of IP addresses, workers who attempt to access tasks using any IP address outside the specified range are denied access and get a Not Found error message on the worker portal. After restricting access with this operation, you can see the allowed IP values for a private workforce with the operation. This operation applies only to private workforces. + +Required Parameters +{ + "WorkforceName": "The name of the private workforce whose access you want to restrict. WorkforceName is automatically set to default when a workforce is created and cannot be modified. " +} + +Optional Parameters +{ + "SourceIpConfig": "A list of one to four worker IP address ranges (CIDRs) that can be used to access tasks assigned to this workforce. Maximum: Four CIDR values" +} +""" +UpdateWorkforce(args) = sagemaker("UpdateWorkforce", args) + +""" + ListCodeRepositories() + +Gets a list of the Git repositories in your account. + +Optional Parameters +{ + "MaxResults": "The maximum number of Git repositories to return in the response.", + "NameContains": "A string in the Git repositories name. This filter returns only repositories whose name contains the specified string.", + "NextToken": "If the result of a ListCodeRepositoriesOutput request was truncated, the response includes a NextToken. To get the next set of Git repositories, use the token in the next request.", + "CreationTimeAfter": "A filter that returns only Git repositories that were created after the specified time.", + "LastModifiedTimeBefore": "A filter that returns only Git repositories that were last modified before the specified time.", + "SortOrder": "The sort order for results. The default is Ascending.", + "LastModifiedTimeAfter": "A filter that returns only Git repositories that were last modified after the specified time.", + "CreationTimeBefore": "A filter that returns only Git repositories that were created before the specified time.", + "SortBy": "The field to sort results by. The default is Name." +} +""" +ListCodeRepositories() = sagemaker("ListCodeRepositories") +ListCodeRepositories(args) = sagemaker("ListCodeRepositories", args) + +""" + RenderUiTemplate() + +Renders the UI template so that you can preview the worker's experience. + +Required Parameters +{ + "Task": "A RenderableTask object containing a representative task to render.", + "UiTemplate": "A Template object containing the worker UI template to render.", + "RoleArn": "The Amazon Resource Name (ARN) that has access to the S3 objects that are used by the template." +} +""" +RenderUiTemplate(args) = sagemaker("RenderUiTemplate", args) + +""" + AddTags() + +Adds or overwrites one or more tags for the specified Amazon SageMaker resource. You can add tags to notebook instances, training jobs, hyperparameter tuning jobs, batch transform jobs, models, labeling jobs, work teams, endpoint configurations, and endpoints. Each tag consists of a key and an optional value. Tag keys must be unique per resource. For more information about tags, see For more information, see AWS Tagging Strategies. Tags that you add to a hyperparameter tuning job by calling this API are also added to any training jobs that the hyperparameter tuning job launches after you call this API, but not to training jobs that the hyperparameter tuning job launched before you called this API. To make sure that the tags associated with a hyperparameter tuning job are also added to all training jobs that the hyperparameter tuning job launches, add the tags when you first create the tuning job by specifying them in the Tags parameter of CreateHyperParameterTuningJob + +Required Parameters +{ + "ResourceArn": "The Amazon Resource Name (ARN) of the resource that you want to tag.", + "Tags": "An array of Tag objects. Each tag is a key-value pair. Only the key parameter is required. If you don't specify a value, Amazon SageMaker sets the value to an empty string. " +} +""" +AddTags(args) = sagemaker("AddTags", args) + +""" + CreateAutoMLJob() + +Creates an AutoPilot job. After you run an AutoPilot job, you can find the best performing model by calling , and then deploy that model by following the steps described in Step 6.1: Deploy the Model to Amazon SageMaker Hosting Services. For information about how to use AutoPilot, see Use AutoPilot to Automate Model Development. + +Required Parameters +{ + "InputDataConfig": "Similar to InputDataConfig supported by Tuning. Format(s) supported: CSV. Minimum of 1000 rows.", + "OutputDataConfig": "Similar to OutputDataConfig supported by Tuning. Format(s) supported: CSV.", + "AutoMLJobName": "Identifies an AutoPilot job. Must be unique to your account and is case-insensitive.", + "RoleArn": "The ARN of the role that will be used to access the data." +} + +Optional Parameters +{ + "ProblemType": "Defines the kind of preprocessing and algorithms intended for the candidates. Options include: BinaryClassification, MulticlassClassification, and Regression.", + "Tags": "Each tag consists of a key and an optional value. Tag keys must be unique per resource.", + "AutoMLJobObjective": "Defines the job's objective. You provide a MetricName and AutoML will infer minimize or maximize. If this is not provided, the most commonly used ObjectiveMetric for problem type will be selected.", + "GenerateCandidateDefinitionsOnly": "This will generate possible candidates without training a model. A candidate is a combination of data preprocessors, algorithms, and algorithm parameter settings.", + "AutoMLJobConfig": "Contains CompletionCriteria and SecurityConfig." +} +""" +CreateAutoMLJob(args) = sagemaker("CreateAutoMLJob", args) + +""" + ListTrialComponents() + +Lists the trial components in your account. You can sort the list by trial component name or creation time. You can filter the list to show only components that were created in a specific time range. You can also filter on one of the following: ExperimentName SourceArn TrialName + +Optional Parameters +{ + "MaxResults": "The maximum number of components to return in the response. The default value is 10.", + "SourceArn": "A filter that returns only components that have the specified source Amazon Resource Name (ARN). If you specify SourceArn, you can't filter by ExperimentName or TrialName.", + "TrialName": "A filter that returns only components that are part of the specified trial. If you specify TrialName, you can't filter by ExperimentName or SourceArn.", + "NextToken": "If the previous call to ListTrialComponents didn't return the full set of components, the call returns a token for getting the next set of components.", + "SortOrder": "The sort order. The default value is Descending.", + "ExperimentName": "A filter that returns only components that are part of the specified experiment. If you specify ExperimentName, you can't filter by SourceArn or TrialName.", + "CreatedAfter": "A filter that returns only components created after the specified time.", + "CreatedBefore": "A filter that returns only components created before the specified time.", + "SortBy": "The property used to sort results. The default value is CreationTime." +} +""" +ListTrialComponents() = sagemaker("ListTrialComponents") +ListTrialComponents(args) = sagemaker("ListTrialComponents", args) + +""" + StartMonitoringSchedule() + +Starts a previously stopped monitoring schedule. New monitoring schedules are immediately started after creation. + +Required Parameters +{ + "MonitoringScheduleName": "The name of the schedule to start." +} +""" +StartMonitoringSchedule(args) = sagemaker("StartMonitoringSchedule", args) + +""" + StopAutoMLJob() + +A method for forcing the termination of a running job. + +Required Parameters +{ + "AutoMLJobName": "The name of the object you are requesting." +} +""" +StopAutoMLJob(args) = sagemaker("StopAutoMLJob", args) + +""" + ListMonitoringExecutions() + +Returns list of all monitoring job executions. + +Optional Parameters +{ + "EndpointName": "Name of a specific endpoint to fetch jobs for.", + "StatusEquals": "A filter that retrieves only jobs with a specific status.", + "ScheduledTimeAfter": "Filter for jobs scheduled after a specified time.", + "SortOrder": "Whether to sort the results in Ascending or Descending order. The default is Descending.", + "LastModifiedTimeAfter": "A filter that returns only jobs modified before a specified time.", + "SortBy": "Whether to sort results by Status, CreationTime, ScheduledTime field. The default is CreationTime.", + "MaxResults": "The maximum number of jobs to return in the response. The default value is 10.", + "CreationTimeAfter": "A filter that returns only jobs created after a specified time.", + "ScheduledTimeBefore": "Filter for jobs scheduled before a specified time.", + "NextToken": "The token returned if the response is truncated. To retrieve the next set of job executions, use it in the next request.", + "MonitoringScheduleName": "Name of a specific schedule to fetch jobs for.", + "LastModifiedTimeBefore": "A filter that returns only jobs modified after a specified time.", + "CreationTimeBefore": "A filter that returns only jobs created before a specified time." +} +""" +ListMonitoringExecutions() = sagemaker("ListMonitoringExecutions") +ListMonitoringExecutions(args) = sagemaker("ListMonitoringExecutions", args) + +""" + UpdateTrialComponent() + +Updates one or more properties of a trial component. + +Required Parameters +{ + "TrialComponentName": "The name of the component to update." +} + +Optional Parameters +{ + "StartTime": "When the component started.", + "InputArtifactsToRemove": "The input artifacts to remove from the component.", + "OutputArtifactsToRemove": "The output artifacts to remove from the component.", + "OutputArtifacts": "Replaces all of the component's output artifacts with the specified artifacts.", + "EndTime": "When the component ended.", + "Status": "The new status of the component.", + "InputArtifacts": "Replaces all of the component's input artifacts with the specified artifacts.", + "DisplayName": "The name of the component as displayed. The name doesn't need to be unique. If DisplayName isn't specified, TrialComponentName is displayed.", + "Parameters": "Replaces all of the component's hyperparameters with the specified hyperparameters.", + "ParametersToRemove": "The hyperparameters to remove from the component." +} +""" +UpdateTrialComponent(args) = sagemaker("UpdateTrialComponent", args) + +""" + ListCompilationJobs() + +Lists model compilation jobs that satisfy various filters. To create a model compilation job, use CreateCompilationJob. To get information about a particular model compilation job you have created, use DescribeCompilationJob. + +Optional Parameters +{ + "MaxResults": "The maximum number of model compilation jobs to return in the response.", + "NameContains": "A filter that returns the model compilation jobs whose name contains a specified string.", + "NextToken": "If the result of the previous ListCompilationJobs request was truncated, the response includes a NextToken. To retrieve the next set of model compilation jobs, use the token in the next request.", + "StatusEquals": "A filter that retrieves model compilation jobs with a specific DescribeCompilationJobResponse CompilationJobStatus status.", + "CreationTimeAfter": "A filter that returns the model compilation jobs that were created after a specified time. ", + "LastModifiedTimeBefore": "A filter that returns the model compilation jobs that were modified before a specified time.", + "SortOrder": "The sort order for results. The default is Ascending.", + "LastModifiedTimeAfter": "A filter that returns the model compilation jobs that were modified after a specified time.", + "CreationTimeBefore": "A filter that returns the model compilation jobs that were created before a specified time.", + "SortBy": "The field by which to sort results. The default is CreationTime." +} +""" +ListCompilationJobs() = sagemaker("ListCompilationJobs") +ListCompilationJobs(args) = sagemaker("ListCompilationJobs", args) + +""" + CreateNotebookInstance() + +Creates an Amazon SageMaker notebook instance. A notebook instance is a machine learning (ML) compute instance running on a Jupyter notebook. In a CreateNotebookInstance request, specify the type of ML compute instance that you want to run. Amazon SageMaker launches the instance, installs common libraries that you can use to explore datasets for model training, and attaches an ML storage volume to the notebook instance. Amazon SageMaker also provides a set of example notebooks. Each notebook demonstrates how to use Amazon SageMaker with a specific algorithm or with a machine learning framework. After receiving the request, Amazon SageMaker does the following: Creates a network interface in the Amazon SageMaker VPC. (Option) If you specified SubnetId, Amazon SageMaker creates a network interface in your own VPC, which is inferred from the subnet ID that you provide in the input. When creating this network interface, Amazon SageMaker attaches the security group that you specified in the request to the network interface that it creates in your VPC. Launches an EC2 instance of the type specified in the request in the Amazon SageMaker VPC. If you specified SubnetId of your VPC, Amazon SageMaker specifies both network interfaces when launching this instance. This enables inbound traffic from your own VPC to the notebook instance, assuming that the security groups allow it. After creating the notebook instance, Amazon SageMaker returns its Amazon Resource Name (ARN). You can't change the name of a notebook instance after you create it. After Amazon SageMaker creates the notebook instance, you can connect to the Jupyter server and work in Jupyter notebooks. For example, you can write code to explore a dataset that you can use for model training, train a model, host models by creating Amazon SageMaker endpoints, and validate hosted models. For more information, see How It Works. + +Required Parameters +{ + "InstanceType": "The type of ML compute instance to launch for the notebook instance.", + "NotebookInstanceName": "The name of the new notebook instance.", + "RoleArn": " When you send any requests to AWS resources from the notebook instance, Amazon SageMaker assumes this role to perform tasks on your behalf. You must grant this role necessary permissions so Amazon SageMaker can perform these tasks. The policy must allow the Amazon SageMaker service principal (sagemaker.amazonaws.com) permissions to assume this role. For more information, see Amazon SageMaker Roles. To be able to pass this role to Amazon SageMaker, the caller of this API must have the iam:PassRole permission. " +} + +Optional Parameters +{ + "LifecycleConfigName": "The name of a lifecycle configuration to associate with the notebook instance. For information about lifestyle configurations, see Step 2.1: (Optional) Customize a Notebook Instance.", + "Tags": "A list of tags to associate with the notebook instance. You can add tags later by using the CreateTags API.", + "SecurityGroupIds": "The VPC security group IDs, in the form sg-xxxxxxxx. The security groups must be for the same VPC as specified in the subnet. ", + "AdditionalCodeRepositories": "An array of up to three Git repositories to associate with the notebook instance. These can be either the names of Git repositories stored as resources in your account, or the URL of Git repositories in AWS CodeCommit or in any other Git repository. These repositories are cloned at the same level as the default repository of your notebook instance. For more information, see Associating Git Repositories with Amazon SageMaker Notebook Instances.", + "SubnetId": "The ID of the subnet in a VPC to which you would like to have a connectivity from your ML compute instance. ", + "DirectInternetAccess": "Sets whether Amazon SageMaker provides internet access to the notebook instance. If you set this to Disabled this notebook instance will be able to access resources only in your VPC, and will not be able to connect to Amazon SageMaker training and endpoint services unless your configure a NAT Gateway in your VPC. For more information, see Notebook Instances Are Internet-Enabled by Default. You can set the value of this parameter to Disabled only if you set a value for the SubnetId parameter.", + "KmsKeyId": "The Amazon Resource Name (ARN) of a AWS Key Management Service key that Amazon SageMaker uses to encrypt data on the storage volume attached to your notebook instance. The KMS key you provide must be enabled. For information, see Enabling and Disabling Keys in the AWS Key Management Service Developer Guide.", + "AcceleratorTypes": "A list of Elastic Inference (EI) instance types to associate with this notebook instance. Currently, only one instance type can be associated with a notebook instance. For more information, see Using Elastic Inference in Amazon SageMaker.", + "RootAccess": "Whether root access is enabled or disabled for users of the notebook instance. The default value is Enabled. Lifecycle configurations need root access to be able to set up a notebook instance. Because of this, lifecycle configurations associated with a notebook instance always run with root access even if you disable root access for users. ", + "VolumeSizeInGB": "The size, in GB, of the ML storage volume to attach to the notebook instance. The default value is 5 GB.", + "DefaultCodeRepository": "A Git repository to associate with the notebook instance as its default code repository. This can be either the name of a Git repository stored as a resource in your account, or the URL of a Git repository in AWS CodeCommit or in any other Git repository. When you open a notebook instance, it opens in the directory that contains this repository. For more information, see Associating Git Repositories with Amazon SageMaker Notebook Instances." +} +""" +CreateNotebookInstance(args) = sagemaker("CreateNotebookInstance", args) + +""" + DeleteMonitoringSchedule() + +Deletes a monitoring schedule. Also stops the schedule had not already been stopped. This does not delete the job execution history of the monitoring schedule. + +Required Parameters +{ + "MonitoringScheduleName": "The name of the monitoring schedule to delete." +} +""" +DeleteMonitoringSchedule(args) = sagemaker("DeleteMonitoringSchedule", args) + +""" + ListUserProfiles() + +Lists user profiles. + +Optional Parameters +{ + "MaxResults": "Returns a list up to a specified limit.", + "UserProfileNameContains": "A parameter by which to filter the results.", + "NextToken": "If the previous response was truncated, you will receive this token. Use it in your next request to receive the next set of results.", + "DomainIdEquals": "A parameter by which to filter the results.", + "SortOrder": "The sort order for the results. The default is Ascending.", + "SortBy": "The parameter by which to sort the results. The default is CreationTime." +} +""" +ListUserProfiles() = sagemaker("ListUserProfiles") +ListUserProfiles(args) = sagemaker("ListUserProfiles", args) + +""" + ListAutoMLJobs() + +Request a list of jobs. + +Optional Parameters +{ + "NameContains": "Request a list of jobs, using a search filter for name.", + "MaxResults": "Request a list of jobs up to a specified limit.", + "StatusEquals": "Request a list of jobs, using a filter for status.", + "NextToken": "If the previous response was truncated, you will receive this token. Use it in your next request to receive the next set of results.", + "CreationTimeAfter": "Request a list of jobs, using a filter for time.", + "LastModifiedTimeBefore": "Request a list of jobs, using a filter for time.", + "SortOrder": "The sort order for the results. The default is Descending.", + "LastModifiedTimeAfter": "Request a list of jobs, using a filter for time.", + "CreationTimeBefore": "Request a list of jobs, using a filter for time.", + "SortBy": "The parameter by which to sort the results. The default is AutoMLJobName." +} +""" +ListAutoMLJobs() = sagemaker("ListAutoMLJobs") +ListAutoMLJobs(args) = sagemaker("ListAutoMLJobs", args) + +""" + CreateMonitoringSchedule() + +Creates a schedule that regularly starts Amazon SageMaker Processing Jobs to monitor the data captured for an Amazon SageMaker Endoint. + +Required Parameters +{ + "MonitoringScheduleName": "The name of the monitoring schedule. The name must be unique within an AWS Region within an AWS account.", + "MonitoringScheduleConfig": "The configuration object that specifies the monitoring schedule and defines the monitoring job." +} + +Optional Parameters +{ + "Tags": "(Optional) An array of key-value pairs. For more information, see Using Cost Allocation Tags in the AWS Billing and Cost Management User Guide." +} +""" +CreateMonitoringSchedule(args) = sagemaker("CreateMonitoringSchedule", args) + +""" + DescribeMonitoringSchedule() + +Describes the schedule for a monitoring job. + +Required Parameters +{ + "MonitoringScheduleName": "Name of a previously created monitoring schedule." +} +""" +DescribeMonitoringSchedule(args) = sagemaker("DescribeMonitoringSchedule", args) + +""" + ListSubscribedWorkteams() + +Gets a list of the work teams that you are subscribed to in the AWS Marketplace. The list may be empty if no work team satisfies the filter specified in the NameContains parameter. + +Optional Parameters +{ + "NameContains": "A string in the work team name. This filter returns only work teams whose name contains the specified string.", + "MaxResults": "The maximum number of work teams to return in each page of the response.", + "NextToken": "If the result of the previous ListSubscribedWorkteams request was truncated, the response includes a NextToken. To retrieve the next set of labeling jobs, use the token in the next request." +} +""" +ListSubscribedWorkteams() = sagemaker("ListSubscribedWorkteams") +ListSubscribedWorkteams(args) = sagemaker("ListSubscribedWorkteams", args) + +""" + CreatePresignedNotebookInstanceUrl() + +Returns a URL that you can use to connect to the Jupyter server from a notebook instance. In the Amazon SageMaker console, when you choose Open next to a notebook instance, Amazon SageMaker opens a new tab showing the Jupyter server home page from the notebook instance. The console uses this API to get the URL and show the page. IAM authorization policies for this API are also enforced for every HTTP request and WebSocket frame that attempts to connect to the notebook instance.For example, you can restrict access to this API and to the URL that it returns to a list of IP addresses that you specify. Use the NotIpAddress condition operator and the aws:SourceIP condition context key to specify the list of IP addresses that you want to have access to the notebook instance. For more information, see Limit Access to a Notebook Instance by IP Address. The URL that you get from a call to CreatePresignedNotebookInstanceUrl is valid only for 5 minutes. If you try to use the URL after the 5-minute limit expires, you are directed to the AWS console sign-in page. + +Required Parameters +{ + "NotebookInstanceName": "The name of the notebook instance." +} + +Optional Parameters +{ + "SessionExpirationDurationInSeconds": "The duration of the session, in seconds. The default is 12 hours." +} +""" +CreatePresignedNotebookInstanceUrl(args) = sagemaker("CreatePresignedNotebookInstanceUrl", args) + +""" + UpdateTrial() + +Updates the display name of a trial. + +Required Parameters +{ + "TrialName": "The name of the trial to update." +} + +Optional Parameters +{ + "DisplayName": "The name of the trial as displayed. The name doesn't need to be unique. If DisplayName isn't specified, TrialName is displayed." +} +""" +UpdateTrial(args) = sagemaker("UpdateTrial", args) + +""" + DeleteFlowDefinition() + +Deletes the specified flow definition. + +Required Parameters +{ + "FlowDefinitionName": "The name of the flow definition you are deleting." +} +""" +DeleteFlowDefinition(args) = sagemaker("DeleteFlowDefinition", args) + +""" + DescribeAlgorithm() + +Returns a description of the specified algorithm that is in your account. + +Required Parameters +{ + "AlgorithmName": "The name of the algorithm to describe." +} +""" +DescribeAlgorithm(args) = sagemaker("DescribeAlgorithm", args) + +""" + DeleteUserProfile() + +Deletes a user profile. + +Required Parameters +{ + "UserProfileName": "The user profile name.", + "DomainId": "The domain ID." +} +""" +DeleteUserProfile(args) = sagemaker("DeleteUserProfile", args) + +""" + ListDomains() + +Lists the domains. + +Optional Parameters +{ + "MaxResults": "Returns a list up to a specified limit.", + "NextToken": "If the previous response was truncated, you will receive this token. Use it in your next request to receive the next set of results." +} +""" +ListDomains() = sagemaker("ListDomains") +ListDomains(args) = sagemaker("ListDomains", args) + +""" + ListMonitoringSchedules() + +Returns list of all monitoring schedules. + +Optional Parameters +{ + "NameContains": "Filter for monitoring schedules whose name contains a specified string.", + "EndpointName": "Name of a specific endpoint to fetch schedules for.", + "StatusEquals": "A filter that returns only monitoring schedules modified before a specified time.", + "SortOrder": "Whether to sort the results in Ascending or Descending order. The default is Descending.", + "LastModifiedTimeAfter": "A filter that returns only monitoring schedules modified after a specified time.", + "SortBy": "Whether to sort results by Status, CreationTime, ScheduledTime field. The default is CreationTime.", + "MaxResults": "The maximum number of jobs to return in the response. The default value is 10.", + "CreationTimeAfter": "A filter that returns only monitoring schedules created after a specified time.", + "NextToken": "The token returned if the response is truncated. To retrieve the next set of job executions, use it in the next request.", + "LastModifiedTimeBefore": "A filter that returns only monitoring schedules modified before a specified time.", + "CreationTimeBefore": "A filter that returns only monitoring schedules created before a specified time." +} +""" +ListMonitoringSchedules() = sagemaker("ListMonitoringSchedules") +ListMonitoringSchedules(args) = sagemaker("ListMonitoringSchedules", args) + +""" + GetSearchSuggestions() + +An auto-complete API for the search functionality in the Amazon SageMaker console. It returns suggestions of possible matches for the property name to use in Search queries. Provides suggestions for HyperParameters, Tags, and Metrics. + +Required Parameters +{ + "Resource": "The name of the Amazon SageMaker resource to Search for." +} + +Optional Parameters +{ + "SuggestionQuery": "Limits the property names that are included in the response." +} +""" +GetSearchSuggestions(args) = sagemaker("GetSearchSuggestions", args) + +""" + UpdateEndpoint() + +Deploys the new EndpointConfig specified in the request, switches to using newly created endpoint, and then deletes resources provisioned for the endpoint using the previous EndpointConfig (there is no availability loss). When Amazon SageMaker receives the request, it sets the endpoint status to Updating. After updating the endpoint, it sets the status to InService. To check the status of an endpoint, use the DescribeEndpoint API. You must not delete an EndpointConfig in use by an endpoint that is live or while the UpdateEndpoint or CreateEndpoint operations are being performed on the endpoint. To update an endpoint, you must create a new EndpointConfig. + +Required Parameters +{ + "EndpointName": "The name of the endpoint whose configuration you want to update.", + "EndpointConfigName": "The name of the new endpoint configuration." +} + +Optional Parameters +{ + "ExcludeRetainedVariantProperties": "When you are updating endpoint resources with UpdateEndpointInput RetainAllVariantProperties, whose value is set to true, ExcludeRetainedVariantProperties specifies the list of type VariantProperty to override with the values provided by EndpointConfig. If you don't specify a value for ExcludeAllVariantProperties, no variant properties are overridden. ", + "RetainAllVariantProperties": "When updating endpoint resources, enables or disables the retention of variant properties, such as the instance count or the variant weight. To retain the variant properties of an endpoint when updating it, set RetainAllVariantProperties to true. To use the variant properties specified in a new EndpointConfig call when updating an endpoint, set RetainAllVariantProperties to false." +} +""" +UpdateEndpoint(args) = sagemaker("UpdateEndpoint", args) + +""" + CreateHyperParameterTuningJob() + +Starts a hyperparameter tuning job. A hyperparameter tuning job finds the best version of a model by running many training jobs on your dataset using the algorithm you choose and values for hyperparameters within ranges that you specify. It then chooses the hyperparameter values that result in a model that performs the best, as measured by an objective metric that you choose. + +Required Parameters +{ + "HyperParameterTuningJobName": "The name of the tuning job. This name is the prefix for the names of all training jobs that this tuning job launches. The name must be unique within the same AWS account and AWS Region. The name must have { } to { } characters. Valid characters are a-z, A-Z, 0-9, and : + = @ _ % - (hyphen). The name is not case sensitive.", + "HyperParameterTuningJobConfig": "The HyperParameterTuningJobConfig object that describes the tuning job, including the search strategy, the objective metric used to evaluate training jobs, ranges of parameters to search, and resource limits for the tuning job. For more information, see How Hyperparameter Tuning Works." +} + +Optional Parameters +{ + "Tags": "An array of key-value pairs. You can use tags to categorize your AWS resources in different ways, for example, by purpose, owner, or environment. For more information, see AWS Tagging Strategies. Tags that you specify for the tuning job are also added to all training jobs that the tuning job launches.", + "WarmStartConfig": "Specifies the configuration for starting the hyperparameter tuning job using one or more previous tuning jobs as a starting point. The results of previous tuning jobs are used to inform which combinations of hyperparameters to search over in the new tuning job. All training jobs launched by the new hyperparameter tuning job are evaluated by using the objective metric. If you specify IDENTICAL_DATA_AND_ALGORITHM as the WarmStartType value for the warm start configuration, the training job that performs the best in the new tuning job is compared to the best training jobs from the parent tuning jobs. From these, the training job that performs the best as measured by the objective metric is returned as the overall best training job. All training jobs launched by parent hyperparameter tuning jobs and the new hyperparameter tuning jobs count against the limit of training jobs for the tuning job. ", + "TrainingJobDefinitions": "", + "TrainingJobDefinition": "The HyperParameterTrainingJobDefinition object that describes the training jobs that this tuning job launches, including static hyperparameters, input data configuration, output data configuration, resource configuration, and stopping condition." +} +""" +CreateHyperParameterTuningJob(args) = sagemaker("CreateHyperParameterTuningJob", args) + +""" + ListProcessingJobs() + +Lists processing jobs that satisfy various filters. + +Optional Parameters +{ + "NameContains": "A string in the processing job name. This filter returns only processing jobs whose name contains the specified string.", + "MaxResults": "The maximum number of processing jobs to return in the response.", + "StatusEquals": "A filter that retrieves only processing jobs with a specific status.", + "NextToken": "If the result of the previous ListProcessingJobs request was truncated, the response includes a NextToken. To retrieve the next set of processing jobs, use the token in the next request.", + "CreationTimeAfter": "A filter that returns only processing jobs created after the specified time.", + "LastModifiedTimeBefore": "A filter that returns only processing jobs modified before the specified time.", + "SortOrder": "The sort order for results. The default is Ascending.", + "LastModifiedTimeAfter": "A filter that returns only processing jobs modified after the specified time.", + "CreationTimeBefore": "A filter that returns only processing jobs created after the specified time.", + "SortBy": "The field to sort results by. The default is CreationTime." +} +""" +ListProcessingJobs() = sagemaker("ListProcessingJobs") +ListProcessingJobs(args) = sagemaker("ListProcessingJobs", args) + +""" + DescribeEndpointConfig() + +Returns the description of an endpoint configuration created using the CreateEndpointConfig API. + +Required Parameters +{ + "EndpointConfigName": "The name of the endpoint configuration." +} +""" +DescribeEndpointConfig(args) = sagemaker("DescribeEndpointConfig", args) + +""" + CreateModel() + +Creates a model in Amazon SageMaker. In the request, you name the model and describe a primary container. For the primary container, you specify the Docker image that contains inference code, artifacts (from prior training), and a custom environment map that the inference code uses when you deploy the model for predictions. Use this API to create a model if you want to use Amazon SageMaker hosting services or run a batch transform job. To host your model, you create an endpoint configuration with the CreateEndpointConfig API, and then create an endpoint with the CreateEndpoint API. Amazon SageMaker then deploys all of the containers that you defined for the model in the hosting environment. For an example that calls this method when deploying a model to Amazon SageMaker hosting services, see Deploy the Model to Amazon SageMaker Hosting Services (AWS SDK for Python (Boto 3)). To run a batch transform using your model, you start a job with the CreateTransformJob API. Amazon SageMaker uses your model and your dataset to get inferences which are then saved to a specified S3 location. In the CreateModel request, you must define a container with the PrimaryContainer parameter. In the request, you also provide an IAM role that Amazon SageMaker can assume to access model artifacts and docker image for deployment on ML compute hosting instances or for batch transform jobs. In addition, you also use the IAM role to manage permissions the inference code needs. For example, if the inference code access any other AWS resources, you grant necessary permissions via this role. + +Required Parameters +{ + "ModelName": "The name of the new model.", + "ExecutionRoleArn": "The Amazon Resource Name (ARN) of the IAM role that Amazon SageMaker can assume to access model artifacts and docker image for deployment on ML compute instances or for batch transform jobs. Deploying on ML compute instances is part of model hosting. For more information, see Amazon SageMaker Roles. To be able to pass this role to Amazon SageMaker, the caller of this API must have the iam:PassRole permission. " +} + +Optional Parameters +{ + "PrimaryContainer": "The location of the primary docker image containing inference code, associated artifacts, and custom environment map that the inference code uses when the model is deployed for predictions. ", + "Tags": "An array of key-value pairs. For more information, see Using Cost Allocation Tags in the AWS Billing and Cost Management User Guide. ", + "VpcConfig": "A VpcConfig object that specifies the VPC that you want your model to connect to. Control access to and from your model container by configuring the VPC. VpcConfig is used in hosting services and in batch transform. For more information, see Protect Endpoints by Using an Amazon Virtual Private Cloud and Protect Data in Batch Transform Jobs by Using an Amazon Virtual Private Cloud.", + "Containers": "Specifies the containers in the inference pipeline.", + "EnableNetworkIsolation": "Isolates the model container. No inbound or outbound network calls can be made to or from the model container." +} +""" +CreateModel(args) = sagemaker("CreateModel", args) + +""" + DescribeExperiment() + +Provides a list of an experiment's properties. + +Required Parameters +{ + "ExperimentName": "The name of the experiment to describe." +} +""" +DescribeExperiment(args) = sagemaker("DescribeExperiment", args) + +""" + DescribeHumanTaskUi() + +Returns information about the requested human task user interface. + +Required Parameters +{ + "HumanTaskUiName": "The name of the human task user interface you want information about." +} +""" +DescribeHumanTaskUi(args) = sagemaker("DescribeHumanTaskUi", args) + +""" + ListModels() + +Lists models created with the CreateModel API. + +Optional Parameters +{ + "MaxResults": "The maximum number of models to return in the response.", + "NameContains": "A string in the training job name. This filter returns only models in the training job whose name contains the specified string.", + "NextToken": "If the response to a previous ListModels request was truncated, the response includes a NextToken. To retrieve the next set of models, use the token in the next request.", + "CreationTimeAfter": "A filter that returns only models with a creation time greater than or equal to the specified time (timestamp).", + "SortOrder": "The sort order for results. The default is Descending.", + "CreationTimeBefore": "A filter that returns only models created before the specified time (timestamp).", + "SortBy": "Sorts the list of results. The default is CreationTime." +} +""" +ListModels() = sagemaker("ListModels") +ListModels(args) = sagemaker("ListModels", args) + +""" + ListLabelingJobsForWorkteam() + +Gets a list of labeling jobs assigned to a specified work team. + +Required Parameters +{ + "WorkteamArn": "The Amazon Resource Name (ARN) of the work team for which you want to see labeling jobs for." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of labeling jobs to return in each page of the response.", + "NextToken": "If the result of the previous ListLabelingJobsForWorkteam request was truncated, the response includes a NextToken. To retrieve the next set of labeling jobs, use the token in the next request.", + "CreationTimeAfter": "A filter that returns only labeling jobs created after the specified time (timestamp).", + "JobReferenceCodeContains": "A filter the limits jobs to only the ones whose job reference code contains the specified string.", + "SortOrder": "The sort order for results. The default is Ascending.", + "CreationTimeBefore": "A filter that returns only labeling jobs created before the specified time (timestamp).", + "SortBy": "The field to sort results by. The default is CreationTime." +} +""" +ListLabelingJobsForWorkteam(args) = sagemaker("ListLabelingJobsForWorkteam", args) + +""" + DeleteTags() + +Deletes the specified tags from an Amazon SageMaker resource. To list a resource's tags, use the ListTags API. When you call this API to delete tags from a hyperparameter tuning job, the deleted tags are not removed from training jobs that the hyperparameter tuning job launched before you called this API. + +Required Parameters +{ + "ResourceArn": "The Amazon Resource Name (ARN) of the resource whose tags you want to delete.", + "TagKeys": "An array or one or more tag keys to delete." +} +""" +DeleteTags(args) = sagemaker("DeleteTags", args) + +""" + DescribeProcessingJob() + +Returns a description of a processing job. + +Required Parameters +{ + "ProcessingJobName": "The name of the processing job. The name must be unique within an AWS Region in the AWS account." +} +""" +DescribeProcessingJob(args) = sagemaker("DescribeProcessingJob", args) + +""" + CreateCompilationJob() + +Starts a model compilation job. After the model has been compiled, Amazon SageMaker saves the resulting model artifacts to an Amazon Simple Storage Service (Amazon S3) bucket that you specify. If you choose to host your model using Amazon SageMaker hosting services, you can use the resulting model artifacts as part of the model. You can also use the artifacts with AWS IoT Greengrass. In that case, deploy them as an ML resource. In the request body, you provide the following: A name for the compilation job Information about the input model artifacts The output location for the compiled model and the device (target) that the model runs on The Amazon Resource Name (ARN) of the IAM role that Amazon SageMaker assumes to perform the model compilation job You can also provide a Tag to track the model compilation job's resource use and costs. The response body contains the CompilationJobArn for the compiled job. To stop a model compilation job, use StopCompilationJob. To get information about a particular model compilation job, use DescribeCompilationJob. To get information about multiple model compilation jobs, use ListCompilationJobs. + +Required Parameters +{ + "InputConfig": "Provides information about the location of input model artifacts, the name and shape of the expected data inputs, and the framework in which the model was trained.", + "StoppingCondition": "Specifies a limit to how long a model compilation job can run. When the job reaches the time limit, Amazon SageMaker ends the compilation job. Use this API to cap model training costs.", + "OutputConfig": "Provides information about the output location for the compiled model and the target device the model runs on.", + "CompilationJobName": "A name for the model compilation job. The name must be unique within the AWS Region and within your AWS account. ", + "RoleArn": "The Amazon Resource Name (ARN) of an IAM role that enables Amazon SageMaker to perform tasks on your behalf. During model compilation, Amazon SageMaker needs your permission to: Read input data from an S3 bucket Write model artifacts to an S3 bucket Write logs to Amazon CloudWatch Logs Publish metrics to Amazon CloudWatch You grant permissions for all of these tasks to an IAM role. To pass this role to Amazon SageMaker, the caller of this API must have the iam:PassRole permission. For more information, see Amazon SageMaker Roles. " +} +""" +CreateCompilationJob(args) = sagemaker("CreateCompilationJob", args) + +""" + DescribeUserProfile() + +Describes the user profile. + +Required Parameters +{ + "UserProfileName": "The user profile name.", + "DomainId": "The domain ID." +} +""" +DescribeUserProfile(args) = sagemaker("DescribeUserProfile", args) + +""" + CreateFlowDefinition() + +Creates a flow definition. + +Required Parameters +{ + "OutputConfig": "An object containing information about where the human review results will be uploaded.", + "HumanLoopConfig": "An object containing information about the tasks the human reviewers will perform.", + "FlowDefinitionName": "The name of your flow definition.", + "RoleArn": "The Amazon Resource Name (ARN) of the role needed to call other services on your behalf. For example, arn:aws:iam::1234567890:role/service-role/AmazonSageMaker-ExecutionRole-20180111T151298." +} + +Optional Parameters +{ + "HumanLoopActivationConfig": "An object containing information about the events that trigger a human workflow.", + "Tags": "An array of key-value pairs that contain metadata to help you categorize and organize a flow definition. Each tag consists of a key and a value, both of which you define.", + "HumanLoopRequestSource": "" +} +""" +CreateFlowDefinition(args) = sagemaker("CreateFlowDefinition", args) + +""" + CreateNotebookInstanceLifecycleConfig() + +Creates a lifecycle configuration that you can associate with a notebook instance. A lifecycle configuration is a collection of shell scripts that run when you create or start a notebook instance. Each lifecycle configuration script has a limit of 16384 characters. The value of the PATH environment variable that is available to both scripts is /sbin:bin:/usr/sbin:/usr/bin. View CloudWatch Logs for notebook instance lifecycle configurations in log group /aws/sagemaker/NotebookInstances in log stream [notebook-instance-name]/[LifecycleConfigHook]. Lifecycle configuration scripts cannot run for longer than 5 minutes. If a script runs for longer than 5 minutes, it fails and the notebook instance is not created or started. For information about notebook instance lifestyle configurations, see Step 2.1: (Optional) Customize a Notebook Instance. + +Required Parameters +{ + "NotebookInstanceLifecycleConfigName": "The name of the lifecycle configuration." +} + +Optional Parameters +{ + "OnCreate": "A shell script that runs only once, when you create a notebook instance. The shell script must be a base64-encoded string.", + "OnStart": "A shell script that runs every time you start a notebook instance, including when you create the notebook instance. The shell script must be a base64-encoded string." +} +""" +CreateNotebookInstanceLifecycleConfig(args) = sagemaker("CreateNotebookInstanceLifecycleConfig", args) + +""" + CreateDomain() + +Creates a Domain for Amazon SageMaker Amazon SageMaker Studio (Studio), which can be accessed by end-users in a web browser. A Domain has an associated directory, list of authorized users, and a variety of security, application, policies, and Amazon Virtual Private Cloud configurations. An AWS account is limited to one Domain, per region. Users within a domain can share notebook files and other artifacts with each other. When a Domain is created, an Amazon Elastic File System (EFS) is also created for use by all of the users within the Domain. Each user receives a private home directory within the EFS for notebooks, Git repositories, and data files. + +Required Parameters +{ + "DomainName": "A name for the domain.", + "SubnetIds": "Security setting to limit to a set of subnets.", + "VpcId": "Security setting to limit the domain's communication to a Amazon Virtual Private Cloud.", + "AuthMode": "The mode of authentication that member use to access the domain.", + "DefaultUserSettings": "The default user settings." +} + +Optional Parameters +{ + "Tags": "Each tag consists of a key and an optional value. Tag keys must be unique per resource.", + "HomeEfsFileSystemKmsKeyId": "The AWS Key Management Service encryption key ID." +} +""" +CreateDomain(args) = sagemaker("CreateDomain", args) + +""" + ListHumanTaskUis() + +Returns information about the human task user interfaces in your account. + +Optional Parameters +{ + "MaxResults": "The total number of items to return. If the total number of available items is more than the value specified in MaxResults, then a NextToken will be provided in the output that you can use to resume pagination.", + "NextToken": "A token to resume pagination.", + "CreationTimeAfter": "A filter that returns only human task user interfaces with a creation time greater than or equal to the specified timestamp.", + "SortOrder": "An optional value that specifies whether you want the results sorted in Ascending or Descending order.", + "CreationTimeBefore": "A filter that returns only human task user interfaces that were created before the specified timestamp." +} +""" +ListHumanTaskUis() = sagemaker("ListHumanTaskUis") +ListHumanTaskUis(args) = sagemaker("ListHumanTaskUis", args) + +""" + CreateProcessingJob() + +Creates a processing job. + +Required Parameters +{ + "ProcessingResources": "Identifies the resources, ML compute instances, and ML storage volumes to deploy for a processing job. In distributed training, you specify more than one instance.", + "ProcessingJobName": " The name of the processing job. The name must be unique within an AWS Region in the AWS account.", + "AppSpecification": "Configures the processing job to run a specified Docker container image.", + "RoleArn": "The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can assume to perform tasks on your behalf." +} + +Optional Parameters +{ + "NetworkConfig": "Networking options for a processing job.", + "Environment": "Sets the environment variables in the Docker container.", + "ProcessingOutputConfig": "Output configuration for the processing job.", + "Tags": "(Optional) An array of key-value pairs. For more information, see Using Cost Allocation Tags in the AWS Billing and Cost Management User Guide.", + "StoppingCondition": "The time limit for how long the processing job is allowed to run.", + "ProcessingInputs": "For each input, data is downloaded from S3 into the processing container before the processing job begins running if \"S3InputMode\" is set to File.", + "ExperimentConfig": "" +} +""" +CreateProcessingJob(args) = sagemaker("CreateProcessingJob", args) + +""" + StartNotebookInstance() + +Launches an ML compute instance with the latest version of the libraries and attaches your ML storage volume. After configuring the notebook instance, Amazon SageMaker sets the notebook instance status to InService. A notebook instance's status must be InService before you can connect to your Jupyter notebook. + +Required Parameters +{ + "NotebookInstanceName": "The name of the notebook instance to start." +} +""" +StartNotebookInstance(args) = sagemaker("StartNotebookInstance", args) + +""" + DescribeFlowDefinition() + +Returns information about the specified flow definition. + +Required Parameters +{ + "FlowDefinitionName": "The name of the flow definition." +} +""" +DescribeFlowDefinition(args) = sagemaker("DescribeFlowDefinition", args) + +""" + CreatePresignedDomainUrl() + +Creates a URL for a specified UserProfile in a Domain. When accessed in a web browser, the user will be automatically signed in to Amazon SageMaker Amazon SageMaker Studio (Studio), and granted access to all of the Apps and files associated with that Amazon Elastic File System (EFS). This operation can only be called when AuthMode equals IAM. + +Required Parameters +{ + "UserProfileName": "The name of the UserProfile to sign-in as.", + "DomainId": "The domain ID." +} + +Optional Parameters +{ + "SessionExpirationDurationInSeconds": "The session expiration duration in seconds." +} +""" +CreatePresignedDomainUrl(args) = sagemaker("CreatePresignedDomainUrl", args) + +""" + DescribeWorkforce() + +Lists private workforce information, including workforce name, Amazon Resource Name (ARN), and, if applicable, allowed IP address ranges (CIDRs). Allowable IP address ranges are the IP addresses that workers can use to access tasks. This operation applies only to private workforces. + +Required Parameters +{ + "WorkforceName": "The name of the private workforce whose access you want to restrict. WorkforceName is automatically set to default when a workforce is created and cannot be modified. " +} +""" +DescribeWorkforce(args) = sagemaker("DescribeWorkforce", args) + +""" + DescribeSubscribedWorkteam() + +Gets information about a work team provided by a vendor. It returns details about the subscription with a vendor in the AWS Marketplace. + +Required Parameters +{ + "WorkteamArn": "The Amazon Resource Name (ARN) of the subscribed work team to describe." +} +""" +DescribeSubscribedWorkteam(args) = sagemaker("DescribeSubscribedWorkteam", args) + +""" + UpdateEndpointWeightsAndCapacities() + +Updates variant weight of one or more variants associated with an existing endpoint, or capacity of one variant associated with an existing endpoint. When it receives the request, Amazon SageMaker sets the endpoint status to Updating. After updating the endpoint, it sets the status to InService. To check the status of an endpoint, use the DescribeEndpoint API. + +Required Parameters +{ + "EndpointName": "The name of an existing Amazon SageMaker endpoint.", + "DesiredWeightsAndCapacities": "An object that provides new capacity and weight values for a variant." +} +""" +UpdateEndpointWeightsAndCapacities(args) = sagemaker("UpdateEndpointWeightsAndCapacities", args) + +""" + DescribeCompilationJob() + +Returns information about a model compilation job. To create a model compilation job, use CreateCompilationJob. To get information about multiple model compilation jobs, use ListCompilationJobs. + +Required Parameters +{ + "CompilationJobName": "The name of the model compilation job that you want information about." +} +""" +DescribeCompilationJob(args) = sagemaker("DescribeCompilationJob", args) + +""" + StopHyperParameterTuningJob() + +Stops a running hyperparameter tuning job and all running training jobs that the tuning job launched. All model artifacts output from the training jobs are stored in Amazon Simple Storage Service (Amazon S3). All data that the training jobs write to Amazon CloudWatch Logs are still available in CloudWatch. After the tuning job moves to the Stopped state, it releases all reserved resources for the tuning job. + +Required Parameters +{ + "HyperParameterTuningJobName": "The name of the tuning job to stop." +} +""" +StopHyperParameterTuningJob(args) = sagemaker("StopHyperParameterTuningJob", args) + +""" + DeleteWorkteam() + +Deletes an existing work team. This operation can't be undone. + +Required Parameters +{ + "WorkteamName": "The name of the work team to delete." +} +""" +DeleteWorkteam(args) = sagemaker("DeleteWorkteam", args) + +""" + DescribeTrial() + +Provides a list of a trial's properties. + +Required Parameters +{ + "TrialName": "The name of the trial to describe." +} +""" +DescribeTrial(args) = sagemaker("DescribeTrial", args) + +""" + DeleteTrialComponent() + +Deletes the specified trial component. A trial component must be disassociated from all trials before the trial component can be deleted. To disassociate a trial component from a trial, call the DisassociateTrialComponent API. + +Required Parameters +{ + "TrialComponentName": "The name of the component to delete." +} +""" +DeleteTrialComponent(args) = sagemaker("DeleteTrialComponent", args) + +""" + DescribeAutoMLJob() + +Returns information about an Amazon SageMaker job. + +Required Parameters +{ + "AutoMLJobName": "Request information about a job using that job's unique name." +} +""" +DescribeAutoMLJob(args) = sagemaker("DescribeAutoMLJob", args) + +""" + DisassociateTrialComponent() + +Disassociates a trial component from a trial. This doesn't effect other trials the component is associated with. Before you can delete a component, you must disassociate the component from all trials it is associated with. To associate a trial component with a trial, call the AssociateTrialComponent API. To get a list of the trials a component is associated with, use the Search API. Specify ExperimentTrialComponent for the Resource parameter. The list appears in the response under Results.TrialComponent.Parents. + +Required Parameters +{ + "TrialComponentName": "The name of the component to disassociate from the trial.", + "TrialName": "The name of the trial to disassociate from." +} +""" +DisassociateTrialComponent(args) = sagemaker("DisassociateTrialComponent", args) + +""" + Search() + +Finds Amazon SageMaker resources that match a search query. Matching resource objects are returned as a list of SearchResult objects in the response. You can sort the search results by any resource property in a ascending or descending order. You can query against the following value types: numeric, text, Boolean, and timestamp. + +Required Parameters +{ + "Resource": "The name of the Amazon SageMaker resource to search for." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return in a SearchResponse.", + "NextToken": "If more than MaxResults resource objects match the specified SearchExpression, the SearchResponse includes a NextToken. The NextToken can be passed to the next SearchRequest to continue retrieving results for the specified SearchExpression and Sort parameters.", + "SearchExpression": "A Boolean conditional statement. Resource objects must satisfy this condition to be included in search results. You must provide at least one subexpression, filter, or nested filter. The maximum number of recursive SubExpressions, NestedFilters, and Filters that can be included in a SearchExpression object is 50.", + "SortOrder": "How SearchResults are ordered. Valid values are Ascending or Descending. The default is Descending.", + "SortBy": "The name of the resource property used to sort the SearchResults. The default is LastModifiedTime." +} +""" +Search(args) = sagemaker("Search", args) + +""" + ListFlowDefinitions() + +Returns information about the flow definitions in your account. + +Optional Parameters +{ + "MaxResults": "The total number of items to return. If the total number of available items is more than the value specified in MaxResults, then a NextToken will be provided in the output that you can use to resume pagination.", + "NextToken": "A token to resume pagination.", + "CreationTimeAfter": "A filter that returns only flow definitions with a creation time greater than or equal to the specified timestamp.", + "SortOrder": "An optional value that specifies whether you want the results sorted in Ascending or Descending order.", + "CreationTimeBefore": "A filter that returns only flow definitions that were created before the specified timestamp." +} +""" +ListFlowDefinitions() = sagemaker("ListFlowDefinitions") +ListFlowDefinitions(args) = sagemaker("ListFlowDefinitions", args) + +""" + StopCompilationJob() + +Stops a model compilation job. To stop a job, Amazon SageMaker sends the algorithm the SIGTERM signal. This gracefully shuts the job down. If the job hasn't stopped, it sends the SIGKILL signal. When it receives a StopCompilationJob request, Amazon SageMaker changes the CompilationJobSummary CompilationJobStatus of the job to Stopping. After Amazon SageMaker stops the job, it sets the CompilationJobSummary CompilationJobStatus to Stopped. + +Required Parameters +{ + "CompilationJobName": "The name of the model compilation job to stop." +} +""" +StopCompilationJob(args) = sagemaker("StopCompilationJob", args) + +""" + CreateTrainingJob() + +Starts a model training job. After training completes, Amazon SageMaker saves the resulting model artifacts to an Amazon S3 location that you specify. If you choose to host your model using Amazon SageMaker hosting services, you can use the resulting model artifacts as part of the model. You can also use the artifacts in a machine learning service other than Amazon SageMaker, provided that you know how to use them for inferences. In the request body, you provide the following: AlgorithmSpecification - Identifies the training algorithm to use. HyperParameters - Specify these algorithm-specific parameters to enable the estimation of model parameters during training. Hyperparameters can be tuned to optimize this learning process. For a list of hyperparameters for each training algorithm provided by Amazon SageMaker, see Algorithms. InputDataConfig - Describes the training dataset and the Amazon S3, EFS, or FSx location where it is stored. OutputDataConfig - Identifies the Amazon S3 bucket where you want Amazon SageMaker to save the results of model training. ResourceConfig - Identifies the resources, ML compute instances, and ML storage volumes to deploy for model training. In distributed training, you specify more than one instance. EnableManagedSpotTraining - Optimize the cost of training machine learning models by up to 80% by using Amazon EC2 Spot instances. For more information, see Managed Spot Training. RoleARN - The Amazon Resource Number (ARN) that Amazon SageMaker assumes to perform tasks on your behalf during model training. You must grant this role the necessary permissions so that Amazon SageMaker can successfully complete model training. StoppingCondition - To help cap training costs, use MaxRuntimeInSeconds to set a time limit for training. Use MaxWaitTimeInSeconds to specify how long you are willing to wait for a managed spot training job to complete. For more information about Amazon SageMaker, see How It Works. + +Required Parameters +{ + "ResourceConfig": "The resources, including the ML compute instances and ML storage volumes, to use for model training. ML storage volumes store model artifacts and incremental states. Training algorithms might also use ML storage volumes for scratch space. If you want Amazon SageMaker to use the ML storage volume to store the training data, choose File as the TrainingInputMode in the algorithm specification. For distributed training algorithms, specify an instance count greater than 1.", + "AlgorithmSpecification": "The registry path of the Docker image that contains the training algorithm and algorithm-specific metadata, including the input mode. For more information about algorithms provided by Amazon SageMaker, see Algorithms. For information about providing your own algorithms, see Using Your Own Algorithms with Amazon SageMaker. ", + "OutputDataConfig": "Specifies the path to the S3 location where you want to store model artifacts. Amazon SageMaker creates subfolders for the artifacts. ", + "StoppingCondition": "Specifies a limit to how long a model training job can run. When the job reaches the time limit, Amazon SageMaker ends the training job. Use this API to cap model training costs. To stop a job, Amazon SageMaker sends the algorithm the SIGTERM signal, which delays job termination for 120 seconds. Algorithms can use this 120-second window to save the model artifacts, so the results of training are not lost. ", + "TrainingJobName": "The name of the training job. The name must be unique within an AWS Region in an AWS account. ", + "RoleArn": "The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can assume to perform tasks on your behalf. During model training, Amazon SageMaker needs your permission to read input data from an S3 bucket, download a Docker image that contains training code, write model artifacts to an S3 bucket, write logs to Amazon CloudWatch Logs, and publish metrics to Amazon CloudWatch. You grant permissions for all of these tasks to an IAM role. For more information, see Amazon SageMaker Roles. To be able to pass this role to Amazon SageMaker, the caller of this API must have the iam:PassRole permission. " +} + +Optional Parameters +{ + "InputDataConfig": "An array of Channel objects. Each channel is a named input source. InputDataConfig describes the input data and its location. Algorithms can accept input data from one or more channels. For example, an algorithm might have two channels of input data, training_data and validation_data. The configuration for each channel provides the S3, EFS, or FSx location where the input data is stored. It also provides information about the stored data: the MIME type, compression method, and whether the data is wrapped in RecordIO format. Depending on the input mode that the algorithm supports, Amazon SageMaker either copies input data files from an S3 bucket to a local directory in the Docker container, or makes it available as input streams. For example, if you specify an EFS location, input data files will be made available as input streams. They do not need to be downloaded.", + "DebugHookConfig": "", + "DebugRuleConfigurations": "Configuration information for debugging rules.", + "EnableNetworkIsolation": "Isolates the training container. No inbound or outbound network calls can be made, except for calls between peers within a training cluster for distributed training. If you enable network isolation for training jobs that are configured to use a VPC, Amazon SageMaker downloads and uploads customer data and model artifacts through the specified VPC, but the training container does not have network access.", + "Tags": "An array of key-value pairs. For more information, see Using Cost Allocation Tags in the AWS Billing and Cost Management User Guide. ", + "TensorBoardOutputConfig": "", + "VpcConfig": "A VpcConfig object that specifies the VPC that you want your training job to connect to. Control access to and from your training container by configuring the VPC. For more information, see Protect Training Jobs by Using an Amazon Virtual Private Cloud.", + "EnableInterContainerTrafficEncryption": "To encrypt all communications between ML compute instances in distributed training, choose True. Encryption provides greater security for distributed training, but training might take longer. How long it takes depends on the amount of communication between compute instances, especially if you use a deep learning algorithm in distributed training. For more information, see Protect Communications Between ML Compute Instances in a Distributed Training Job.", + "ExperimentConfig": "", + "EnableManagedSpotTraining": "To train models using managed spot training, choose True. Managed spot training provides a fully managed and scalable infrastructure for training machine learning models. this option is useful when training jobs can be interrupted and when there is flexibility when the training job is run. The complete and intermediate results of jobs are stored in an Amazon S3 bucket, and can be used as a starting point to train models incrementally. Amazon SageMaker provides metrics and logs in CloudWatch. They can be used to see when managed spot training jobs are running, interrupted, resumed, or completed. ", + "CheckpointConfig": "Contains information about the output location for managed spot training checkpoint data.", + "HyperParameters": "Algorithm-specific parameters that influence the quality of the model. You set hyperparameters before you start the learning process. For a list of hyperparameters for each training algorithm provided by Amazon SageMaker, see Algorithms. You can specify a maximum of 100 hyperparameters. Each hyperparameter is a key-value pair. Each key and value is limited to 256 characters, as specified by the Length Constraint. " +} +""" +CreateTrainingJob(args) = sagemaker("CreateTrainingJob", args) + +""" + DeleteExperiment() + +Deletes an Amazon SageMaker experiment. All trials associated with the experiment must be deleted first. Use the ListTrials API to get a list of the trials associated with the experiment. + +Required Parameters +{ + "ExperimentName": "The name of the experiment to delete." +} +""" +DeleteExperiment(args) = sagemaker("DeleteExperiment", args) + +""" + UpdateCodeRepository() + +Updates the specified Git repository with the specified values. + +Required Parameters +{ + "CodeRepositoryName": "The name of the Git repository to update." +} + +Optional Parameters +{ + "GitConfig": "The configuration of the git repository, including the URL and the Amazon Resource Name (ARN) of the AWS Secrets Manager secret that contains the credentials used to access the repository. The secret must have a staging label of AWSCURRENT and must be in the following format: {\"username\": UserName, \"password\": Password} " +} +""" +UpdateCodeRepository(args) = sagemaker("UpdateCodeRepository", args) + +""" + DeleteCodeRepository() + +Deletes the specified Git repository from your account. + +Required Parameters +{ + "CodeRepositoryName": "The name of the Git repository to delete." +} +""" +DeleteCodeRepository(args) = sagemaker("DeleteCodeRepository", args) + +""" + ListTrainingJobsForHyperParameterTuningJob() + +Gets a list of TrainingJobSummary objects that describe the training jobs that a hyperparameter tuning job launched. + +Required Parameters +{ + "HyperParameterTuningJobName": "The name of the tuning job whose training jobs you want to list." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of training jobs to return. The default value is 10.", + "NextToken": "If the result of the previous ListTrainingJobsForHyperParameterTuningJob request was truncated, the response includes a NextToken. To retrieve the next set of training jobs, use the token in the next request.", + "StatusEquals": "A filter that returns only training jobs with the specified status.", + "SortOrder": "The sort order for results. The default is Ascending.", + "SortBy": "The field to sort results by. The default is Name. If the value of this field is FinalObjectiveMetricValue, any training jobs that did not return an objective metric are not listed." +} +""" +ListTrainingJobsForHyperParameterTuningJob(args) = sagemaker("ListTrainingJobsForHyperParameterTuningJob", args) + +""" + AssociateTrialComponent() + +Associates a trial component with a trial. A trial component can be associated with multiple trials. To disassociate a trial component from a trial, call the DisassociateTrialComponent API. + +Required Parameters +{ + "TrialComponentName": "The name of the component to associated with the trial.", + "TrialName": "The name of the trial to associate with." +} +""" +AssociateTrialComponent(args) = sagemaker("AssociateTrialComponent", args) + +""" + StopTrainingJob() + +Stops a training job. To stop a job, Amazon SageMaker sends the algorithm the SIGTERM signal, which delays job termination for 120 seconds. Algorithms might use this 120-second window to save the model artifacts, so the results of the training is not lost. When it receives a StopTrainingJob request, Amazon SageMaker changes the status of the job to Stopping. After Amazon SageMaker stops the job, it sets the status to Stopped. + +Required Parameters +{ + "TrainingJobName": "The name of the training job to stop." +} +""" +StopTrainingJob(args) = sagemaker("StopTrainingJob", args) + +""" + UpdateUserProfile() + +Updates a user profile. + +Required Parameters +{ + "UserProfileName": "The user profile name.", + "DomainId": "The domain ID." +} + +Optional Parameters +{ + "UserSettings": "A collection of settings." +} +""" +UpdateUserProfile(args) = sagemaker("UpdateUserProfile", args) + +""" + CreateModelPackage() + +Creates a model package that you can use to create Amazon SageMaker models or list on AWS Marketplace. Buyers can subscribe to model packages listed on AWS Marketplace to create models in Amazon SageMaker. To create a model package by specifying a Docker container that contains your inference code and the Amazon S3 location of your model artifacts, provide values for InferenceSpecification. To create a model from an algorithm resource that you created or subscribed to in AWS Marketplace, provide a value for SourceAlgorithmSpecification. + +Required Parameters +{ + "ModelPackageName": "The name of the model package. The name must have 1 to 63 characters. Valid characters are a-z, A-Z, 0-9, and - (hyphen)." +} + +Optional Parameters +{ + "CertifyForMarketplace": "Whether to certify the model package for listing on AWS Marketplace.", + "SourceAlgorithmSpecification": "Details about the algorithm that was used to create the model package.", + "InferenceSpecification": "Specifies details about inference jobs that can be run with models based on this model package, including the following: The Amazon ECR paths of containers that contain the inference code and model artifacts. The instance types that the model package supports for transform jobs and real-time endpoints used for inference. The input and output content formats that the model package supports for inference. ", + "ValidationSpecification": "Specifies configurations for one or more transform jobs that Amazon SageMaker runs to test the model package.", + "ModelPackageDescription": "A description of the model package." +} +""" +CreateModelPackage(args) = sagemaker("CreateModelPackage", args) + +""" + DescribeWorkteam() + +Gets information about a specific work team. You can see information such as the create date, the last updated date, membership information, and the work team's Amazon Resource Name (ARN). + +Required Parameters +{ + "WorkteamName": "The name of the work team to return a description of." +} +""" +DescribeWorkteam(args) = sagemaker("DescribeWorkteam", args) + +""" + DeleteDomain() + +Used to delete a domain. If you on-boarded with IAM mode, you will need to delete your domain to on-board again using SSO. Use with caution. All of the members of the domain will lose access to their EFS volume, including data, notebooks, and other artifacts. + +Required Parameters +{ + "DomainId": "The domain ID." +} + +Optional Parameters +{ + "RetentionPolicy": "The retention policy for this domain, which specifies which resources will be retained after the Domain is deleted. By default, all resources are retained (not automatically deleted). " +} +""" +DeleteDomain(args) = sagemaker("DeleteDomain", args) + +""" + DeleteEndpoint() + +Deletes an endpoint. Amazon SageMaker frees up all of the resources that were deployed when the endpoint was created. Amazon SageMaker retires any custom KMS key grants associated with the endpoint, meaning you don't need to use the RevokeGrant API call. + +Required Parameters +{ + "EndpointName": "The name of the endpoint that you want to delete." +} +""" +DeleteEndpoint(args) = sagemaker("DeleteEndpoint", args) + +""" + StopNotebookInstance() + +Terminates the ML compute instance. Before terminating the instance, Amazon SageMaker disconnects the ML storage volume from it. Amazon SageMaker preserves the ML storage volume. Amazon SageMaker stops charging you for the ML compute instance when you call StopNotebookInstance. To access data on the ML storage volume for a notebook instance that has been terminated, call the StartNotebookInstance API. StartNotebookInstance launches another ML compute instance, configures it, and attaches the preserved ML storage volume so you can continue your work. + +Required Parameters +{ + "NotebookInstanceName": "The name of the notebook instance to terminate." +} +""" +StopNotebookInstance(args) = sagemaker("StopNotebookInstance", args) + +""" + DescribeApp() + +Describes the app. + +Required Parameters +{ + "AppType": "The type of app.", + "UserProfileName": "The user profile name.", + "AppName": "The name of the app.", + "DomainId": "The domain ID." +} +""" +DescribeApp(args) = sagemaker("DescribeApp", args) + +""" + DescribeDomain() + +The desciption of the domain. + +Required Parameters +{ + "DomainId": "The domain ID." +} +""" +DescribeDomain(args) = sagemaker("DescribeDomain", args) + +""" + DescribeTrialComponent() + +Provides a list of a trials component's properties. + +Required Parameters +{ + "TrialComponentName": "The name of the trial component to describe." +} +""" +DescribeTrialComponent(args) = sagemaker("DescribeTrialComponent", args) + +""" + ListExperiments() + +Lists all the experiments in your account. The list can be filtered to show only experiments that were created in a specific time range. The list can be sorted by experiment name or creation time. + +Optional Parameters +{ + "MaxResults": "The maximum number of experiments to return in the response. The default value is 10.", + "NextToken": "If the previous call to ListExperiments didn't return the full set of experiments, the call returns a token for getting the next set of experiments.", + "SortOrder": "The sort order. The default value is Descending.", + "CreatedAfter": "A filter that returns only experiments created after the specified time.", + "CreatedBefore": "A filter that returns only experiments created before the specified time.", + "SortBy": "The property used to sort results. The default value is CreationTime." +} +""" +ListExperiments() = sagemaker("ListExperiments") +ListExperiments(args) = sagemaker("ListExperiments", args) + +""" + DescribeTrainingJob() + +Returns information about a training job. + +Required Parameters +{ + "TrainingJobName": "The name of the training job." +} +""" +DescribeTrainingJob(args) = sagemaker("DescribeTrainingJob", args) + +""" + CreateEndpointConfig() + +Creates an endpoint configuration that Amazon SageMaker hosting services uses to deploy models. In the configuration, you identify one or more models, created using the CreateModel API, to deploy and the resources that you want Amazon SageMaker to provision. Then you call the CreateEndpoint API. Use this API if you want to use Amazon SageMaker hosting services to deploy models into production. In the request, you define a ProductionVariant, for each model that you want to deploy. Each ProductionVariant parameter also describes the resources that you want Amazon SageMaker to provision. This includes the number and type of ML compute instances to deploy. If you are hosting multiple models, you also assign a VariantWeight to specify how much traffic you want to allocate to each model. For example, suppose that you want to host two models, A and B, and you assign traffic weight 2 for model A and 1 for model B. Amazon SageMaker distributes two-thirds of the traffic to Model A, and one-third to model B. For an example that calls this method when deploying a model to Amazon SageMaker hosting services, see Deploy the Model to Amazon SageMaker Hosting Services (AWS SDK for Python (Boto 3)). + +Required Parameters +{ + "EndpointConfigName": "The name of the endpoint configuration. You specify this name in a CreateEndpoint request. ", + "ProductionVariants": "An list of ProductionVariant objects, one for each model that you want to host at this endpoint." +} + +Optional Parameters +{ + "Tags": "A list of key-value pairs. For more information, see Using Cost Allocation Tags in the AWS Billing and Cost Management User Guide. ", + "DataCaptureConfig": "", + "KmsKeyId": "The Amazon Resource Name (ARN) of a AWS Key Management Service key that Amazon SageMaker uses to encrypt data on the storage volume attached to the ML compute instance that hosts the endpoint. The KmsKeyId can be any of the following formats: Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab Key ARN: arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab Alias name: alias/ExampleAlias Alias name ARN: arn:aws:kms:us-west-2:111122223333:alias/ExampleAlias The KMS key policy must grant permission to the IAM role that you specify in your CreateEndpoint, UpdateEndpoint requests. For more information, refer to the AWS Key Management Service section Using Key Policies in AWS KMS Certain Nitro-based instances include local storage, dependent on the instance type. Local storage volumes are encrypted using a hardware module on the instance. You can't request a KmsKeyId when using an instance type with local storage. If any of the models that you specify in the ProductionVariants parameter use nitro-based instances with local storage, do not specify a value for the KmsKeyId parameter. If you specify a value for KmsKeyId when using any nitro-based instances with local storage, the call to CreateEndpointConfig fails. For a list of instance types that support local instance storage, see Instance Store Volumes. For more information about local instance storage encryption, see SSD Instance Store Volumes. " +} +""" +CreateEndpointConfig(args) = sagemaker("CreateEndpointConfig", args) + +""" + DeleteAlgorithm() + +Removes the specified algorithm from your account. + +Required Parameters +{ + "AlgorithmName": "The name of the algorithm to delete." +} +""" +DeleteAlgorithm(args) = sagemaker("DeleteAlgorithm", args) + +""" + DescribeLabelingJob() + +Gets information about a labeling job. + +Required Parameters +{ + "LabelingJobName": "The name of the labeling job to return information for." +} +""" +DescribeLabelingJob(args) = sagemaker("DescribeLabelingJob", args) + +""" + CreateTrialComponent() + +Creates a trial component, which is a stage of a machine learning trial. A trial is composed of one or more trial components. A trial component can be used in multiple trials. Trial components include pre-processing jobs, training jobs, and batch transform jobs. When you use Amazon SageMaker Studio or the Amazon SageMaker Python SDK, all experiments, trials, and trial components are automatically tracked, logged, and indexed. When you use the AWS SDK for Python (Boto), you must use the logging APIs provided by the SDK. You can add tags to a trial component and then use the Search API to search for the tags. CreateTrialComponent can only be invoked from within an Amazon SageMaker managed environment. This includes Amazon SageMaker training jobs, processing jobs, transform jobs, and Amazon SageMaker notebooks. A call to CreateTrialComponent from outside one of these environments results in an error. + +Required Parameters +{ + "TrialComponentName": "The name of the component. The name must be unique in your AWS account and is not case-sensitive." +} + +Optional Parameters +{ + "StartTime": "When the component started.", + "OutputArtifacts": "The output artifacts for the component. Examples of output artifacts are metrics, snapshots, logs, and images.", + "EndTime": "When the component ended.", + "Tags": "A list of tags to associate with the component. You can use Search API to search on the tags.", + "Status": "The status of the component. States include: InProgress Completed Failed ", + "DisplayName": "The name of the component as displayed. The name doesn't need to be unique. If DisplayName isn't specified, TrialComponentName is displayed.", + "Parameters": "The hyperparameters for the component.", + "InputArtifacts": "The input artifacts for the component. Examples of input artifacts are datasets, algorithms, hyperparameters, source code, and instance types." +} +""" +CreateTrialComponent(args) = sagemaker("CreateTrialComponent", args) + +""" + ListApps() + +Lists apps. + +Optional Parameters +{ + "MaxResults": "Returns a list up to a specified limit.", + "SortBy": "The parameter by which to sort the results. The default is CreationTime.", + "NextToken": "If the previous response was truncated, you will receive this token. Use it in your next request to receive the next set of results.", + "DomainIdEquals": "A parameter to search for the domain ID.", + "SortOrder": "The sort order for the results. The default is Ascending.", + "UserProfileNameEquals": "A parameter to search by user profile name." +} +""" +ListApps() = sagemaker("ListApps") +ListApps(args) = sagemaker("ListApps", args) + +""" + ListModelPackages() + +Lists the model packages that have been created. + +Optional Parameters +{ + "MaxResults": "The maximum number of model packages to return in the response.", + "NameContains": "A string in the model package name. This filter returns only model packages whose name contains the specified string.", + "NextToken": "If the response to a previous ListModelPackages request was truncated, the response includes a NextToken. To retrieve the next set of model packages, use the token in the next request.", + "CreationTimeAfter": "A filter that returns only model packages created after the specified time (timestamp).", + "SortOrder": "The sort order for the results. The default is Ascending.", + "CreationTimeBefore": "A filter that returns only model packages created before the specified time (timestamp).", + "SortBy": "The parameter by which to sort the results. The default is CreationTime." +} +""" +ListModelPackages() = sagemaker("ListModelPackages") +ListModelPackages(args) = sagemaker("ListModelPackages", args) + +""" + ListHyperParameterTuningJobs() + +Gets a list of HyperParameterTuningJobSummary objects that describe the hyperparameter tuning jobs launched in your account. + +Optional Parameters +{ + "MaxResults": "The maximum number of tuning jobs to return. The default value is 10.", + "NameContains": "A string in the tuning job name. This filter returns only tuning jobs whose name contains the specified string.", + "NextToken": "If the result of the previous ListHyperParameterTuningJobs request was truncated, the response includes a NextToken. To retrieve the next set of tuning jobs, use the token in the next request.", + "StatusEquals": "A filter that returns only tuning jobs with the specified status.", + "CreationTimeAfter": "A filter that returns only tuning jobs that were created after the specified time.", + "LastModifiedTimeBefore": "A filter that returns only tuning jobs that were modified before the specified time.", + "SortOrder": "The sort order for results. The default is Ascending.", + "LastModifiedTimeAfter": "A filter that returns only tuning jobs that were modified after the specified time.", + "CreationTimeBefore": "A filter that returns only tuning jobs that were created before the specified time.", + "SortBy": "The field to sort results by. The default is Name." +} +""" +ListHyperParameterTuningJobs() = sagemaker("ListHyperParameterTuningJobs") +ListHyperParameterTuningJobs(args) = sagemaker("ListHyperParameterTuningJobs", args) + +""" + DeleteEndpointConfig() + +Deletes an endpoint configuration. The DeleteEndpointConfig API deletes only the specified configuration. It does not delete endpoints created using the configuration. + +Required Parameters +{ + "EndpointConfigName": "The name of the endpoint configuration that you want to delete." +} +""" +DeleteEndpointConfig(args) = sagemaker("DeleteEndpointConfig", args) + +""" + DescribeNotebookInstanceLifecycleConfig() + +Returns a description of a notebook instance lifecycle configuration. For information about notebook instance lifestyle configurations, see Step 2.1: (Optional) Customize a Notebook Instance. + +Required Parameters +{ + "NotebookInstanceLifecycleConfigName": "The name of the lifecycle configuration to describe." +} +""" +DescribeNotebookInstanceLifecycleConfig(args) = sagemaker("DescribeNotebookInstanceLifecycleConfig", args) + +""" + ListTransformJobs() + +Lists transform jobs. + +Optional Parameters +{ + "NameContains": "A string in the transform job name. This filter returns only transform jobs whose name contains the specified string.", + "MaxResults": "The maximum number of transform jobs to return in the response. The default value is 10.", + "StatusEquals": "A filter that retrieves only transform jobs with a specific status.", + "NextToken": "If the result of the previous ListTransformJobs request was truncated, the response includes a NextToken. To retrieve the next set of transform jobs, use the token in the next request.", + "CreationTimeAfter": "A filter that returns only transform jobs created after the specified time.", + "LastModifiedTimeBefore": "A filter that returns only transform jobs modified before the specified time.", + "SortOrder": "The sort order for results. The default is Descending.", + "LastModifiedTimeAfter": "A filter that returns only transform jobs modified after the specified time.", + "CreationTimeBefore": "A filter that returns only transform jobs created before the specified time.", + "SortBy": "The field to sort results by. The default is CreationTime." +} +""" +ListTransformJobs() = sagemaker("ListTransformJobs") +ListTransformJobs(args) = sagemaker("ListTransformJobs", args) + +""" + CreateWorkteam() + +Creates a new work team for labeling your data. A work team is defined by one or more Amazon Cognito user pools. You must first create the user pools before you can create a work team. You cannot create more than 25 work teams in an account and region. + +Required Parameters +{ + "Description": "A description of the work team.", + "WorkteamName": "The name of the work team. Use this name to identify the work team.", + "MemberDefinitions": "A list of MemberDefinition objects that contains objects that identify the Amazon Cognito user pool that makes up the work team. For more information, see Amazon Cognito User Pools. All of the CognitoMemberDefinition objects that make up the member definition must have the same ClientId and UserPool values." +} + +Optional Parameters +{ + "Tags": "An array of key-value pairs. For more information, see Resource Tag and Using Cost Allocation Tags in the AWS Billing and Cost Management User Guide.", + "NotificationConfiguration": "Configures notification of workers regarding available or expiring work items." +} +""" +CreateWorkteam(args) = sagemaker("CreateWorkteam", args) + +""" + DescribeCodeRepository() + +Gets details about the specified Git repository. + +Required Parameters +{ + "CodeRepositoryName": "The name of the Git repository to describe." +} +""" +DescribeCodeRepository(args) = sagemaker("DescribeCodeRepository", args) + +""" + DeleteModel() + +Deletes a model. The DeleteModel API deletes only the model entry that was created in Amazon SageMaker when you called the CreateModel API. It does not delete model artifacts, inference code, or the IAM role that you specified when creating the model. + +Required Parameters +{ + "ModelName": "The name of the model to delete." +} +""" +DeleteModel(args) = sagemaker("DeleteModel", args) + +""" + ListEndpoints() + +Lists endpoints. + +Optional Parameters +{ + "MaxResults": "The maximum number of endpoints to return in the response.", + "NameContains": "A string in endpoint names. This filter returns only endpoints whose name contains the specified string.", + "NextToken": "If the result of a ListEndpoints request was truncated, the response includes a NextToken. To retrieve the next set of endpoints, use the token in the next request.", + "StatusEquals": " A filter that returns only endpoints with the specified status.", + "CreationTimeAfter": "A filter that returns only endpoints with a creation time greater than or equal to the specified time (timestamp).", + "LastModifiedTimeBefore": " A filter that returns only endpoints that were modified before the specified timestamp. ", + "SortOrder": "The sort order for results. The default is Descending.", + "LastModifiedTimeAfter": " A filter that returns only endpoints that were modified after the specified timestamp. ", + "CreationTimeBefore": "A filter that returns only endpoints that were created before the specified time (timestamp).", + "SortBy": "Sorts the list of results. The default is CreationTime." +} +""" +ListEndpoints() = sagemaker("ListEndpoints") +ListEndpoints(args) = sagemaker("ListEndpoints", args) + +""" + UpdateMonitoringSchedule() + +Updates a previously created schedule. + +Required Parameters +{ + "MonitoringScheduleName": "The name of the monitoring schedule. The name must be unique within an AWS Region within an AWS account.", + "MonitoringScheduleConfig": "The configuration object that specifies the monitoring schedule and defines the monitoring job." +} +""" +UpdateMonitoringSchedule(args) = sagemaker("UpdateMonitoringSchedule", args) + +""" + DescribeModelPackage() + +Returns a description of the specified model package, which is used to create Amazon SageMaker models or list them on AWS Marketplace. To create models in Amazon SageMaker, buyers can subscribe to model packages listed on AWS Marketplace. + +Required Parameters +{ + "ModelPackageName": "The name of the model package to describe." +} +""" +DescribeModelPackage(args) = sagemaker("DescribeModelPackage", args) + +""" + CreateApp() + +Creates a running App for the specified UserProfile. Supported Apps are JupyterServer and KernelGateway. This operation is automatically invoked by Amazon SageMaker Amazon SageMaker Studio (Studio) upon access to the associated Studio Domain, and when new kernel configurations are selected by the user. A user may have multiple Apps active simultaneously. Apps will automatically terminate and be deleted when stopped from within Studio, or when the DeleteApp API is manually called. UserProfiles are limited to 5 concurrently running Apps at a time. + +Required Parameters +{ + "AppType": "The type of app.", + "UserProfileName": "The user profile name.", + "AppName": "The name of the app.", + "DomainId": "The domain ID." +} + +Optional Parameters +{ + "ResourceSpec": "The instance type and quantity.", + "Tags": "Each tag consists of a key and an optional value. Tag keys must be unique per resource." +} +""" +CreateApp(args) = sagemaker("CreateApp", args) + +""" + ListAlgorithms() + +Lists the machine learning algorithms that have been created. + +Optional Parameters +{ + "MaxResults": "The maximum number of algorithms to return in the response.", + "NameContains": "A string in the algorithm name. This filter returns only algorithms whose name contains the specified string.", + "NextToken": "If the response to a previous ListAlgorithms request was truncated, the response includes a NextToken. To retrieve the next set of algorithms, use the token in the next request.", + "CreationTimeAfter": "A filter that returns only algorithms created after the specified time (timestamp).", + "SortOrder": "The sort order for the results. The default is Ascending.", + "CreationTimeBefore": "A filter that returns only algorithms created before the specified time (timestamp).", + "SortBy": "The parameter by which to sort the results. The default is CreationTime." +} +""" +ListAlgorithms() = sagemaker("ListAlgorithms") +ListAlgorithms(args) = sagemaker("ListAlgorithms", args) + +""" + ListTags() + +Returns the tags for the specified Amazon SageMaker resource. + +Required Parameters +{ + "ResourceArn": "The Amazon Resource Name (ARN) of the resource whose tags you want to retrieve." +} + +Optional Parameters +{ + "MaxResults": "Maximum number of tags to return.", + "NextToken": " If the response to the previous ListTags request is truncated, Amazon SageMaker returns this token. To retrieve the next set of tags, use it in the subsequent request. " +} +""" +ListTags(args) = sagemaker("ListTags", args) + +""" + DescribeNotebookInstance() + +Returns information about a notebook instance. + +Required Parameters +{ + "NotebookInstanceName": "The name of the notebook instance that you want information about." +} +""" +DescribeNotebookInstance(args) = sagemaker("DescribeNotebookInstance", args) + +""" + DescribeTransformJob() + +Returns information about a transform job. + +Required Parameters +{ + "TransformJobName": "The name of the transform job that you want to view details of." +} +""" +DescribeTransformJob(args) = sagemaker("DescribeTransformJob", args) + +""" + StopLabelingJob() + +Stops a running labeling job. A job that is stopped cannot be restarted. Any results obtained before the job is stopped are placed in the Amazon S3 output bucket. + +Required Parameters +{ + "LabelingJobName": "The name of the labeling job to stop." +} +""" +StopLabelingJob(args) = sagemaker("StopLabelingJob", args) + +""" + DescribeModel() + +Describes a model that you created using the CreateModel API. + +Required Parameters +{ + "ModelName": "The name of the model." +} +""" +DescribeModel(args) = sagemaker("DescribeModel", args) + +""" + DeleteTrial() + +Deletes the specified trial. All trial components that make up the trial must be deleted first. Use the DescribeTrialComponent API to get the list of trial components. + +Required Parameters +{ + "TrialName": "The name of the trial to delete." +} +""" +DeleteTrial(args) = sagemaker("DeleteTrial", args) + +""" + ListCandidatesForAutoMLJob() + +List the Candidates created for the job. + +Required Parameters +{ + "AutoMLJobName": "List the Candidates created for the job by providing the job's name." +} + +Optional Parameters +{ + "MaxResults": "List the job's Candidates up to a specified limit.", + "StatusEquals": "List the Candidates for the job and filter by status.", + "NextToken": "If the previous response was truncated, you will receive this token. Use it in your next request to receive the next set of results.", + "SortOrder": "The sort order for the results. The default is Ascending.", + "CandidateNameEquals": "List the Candidates for the job and filter by candidate name.", + "SortBy": "The parameter by which to sort the results. The default is Descending." +} +""" +ListCandidatesForAutoMLJob(args) = sagemaker("ListCandidatesForAutoMLJob", args) + +""" + ListNotebookInstances() + +Returns a list of the Amazon SageMaker notebook instances in the requester's account in an AWS Region. + +Optional Parameters +{ + "NameContains": "A string in the notebook instances' name. This filter returns only notebook instances whose name contains the specified string.", + "StatusEquals": "A filter that returns only notebook instances with the specified status.", + "SortOrder": "The sort order for results. ", + "LastModifiedTimeAfter": "A filter that returns only notebook instances that were modified after the specified time (timestamp).", + "NotebookInstanceLifecycleConfigNameContains": "A string in the name of a notebook instances lifecycle configuration associated with this notebook instance. This filter returns only notebook instances associated with a lifecycle configuration with a name that contains the specified string.", + "SortBy": "The field to sort results by. The default is Name.", + "MaxResults": "The maximum number of notebook instances to return.", + "CreationTimeAfter": "A filter that returns only notebook instances that were created after the specified time (timestamp).", + "DefaultCodeRepositoryContains": "A string in the name or URL of a Git repository associated with this notebook instance. This filter returns only notebook instances associated with a git repository with a name that contains the specified string.", + "AdditionalCodeRepositoryEquals": "A filter that returns only notebook instances with associated with the specified git repository.", + "NextToken": " If the previous call to the ListNotebookInstances is truncated, the response includes a NextToken. You can use this token in your subsequent ListNotebookInstances request to fetch the next set of notebook instances. You might specify a filter or a sort order in your request. When response is truncated, you must use the same values for the filer and sort order in the next request. ", + "LastModifiedTimeBefore": "A filter that returns only notebook instances that were modified before the specified time (timestamp).", + "CreationTimeBefore": "A filter that returns only notebook instances that were created before the specified time (timestamp). " +} +""" +ListNotebookInstances() = sagemaker("ListNotebookInstances") +ListNotebookInstances(args) = sagemaker("ListNotebookInstances", args) + +""" + CreateCodeRepository() + +Creates a Git repository as a resource in your Amazon SageMaker account. You can associate the repository with notebook instances so that you can use Git source control for the notebooks you create. The Git repository is a resource in your Amazon SageMaker account, so it can be associated with more than one notebook instance, and it persists independently from the lifecycle of any notebook instances it is associated with. The repository can be hosted either in AWS CodeCommit or in any other Git repository. + +Required Parameters +{ + "CodeRepositoryName": "The name of the Git repository. The name must have 1 to 63 characters. Valid characters are a-z, A-Z, 0-9, and - (hyphen).", + "GitConfig": "Specifies details about the repository, including the URL where the repository is located, the default branch, and credentials to use to access the repository." +} +""" +CreateCodeRepository(args) = sagemaker("CreateCodeRepository", args) + +""" + DescribeEndpoint() + +Returns the description of an endpoint. + +Required Parameters +{ + "EndpointName": "The name of the endpoint." +} +""" +DescribeEndpoint(args) = sagemaker("DescribeEndpoint", args) + +""" + ListLabelingJobs() + +Gets a list of labeling jobs. + +Optional Parameters +{ + "MaxResults": "The maximum number of labeling jobs to return in each page of the response.", + "NameContains": "A string in the labeling job name. This filter returns only labeling jobs whose name contains the specified string.", + "NextToken": "If the result of the previous ListLabelingJobs request was truncated, the response includes a NextToken. To retrieve the next set of labeling jobs, use the token in the next request.", + "StatusEquals": "A filter that retrieves only labeling jobs with a specific status.", + "CreationTimeAfter": "A filter that returns only labeling jobs created after the specified time (timestamp).", + "LastModifiedTimeBefore": "A filter that returns only labeling jobs modified before the specified time (timestamp).", + "SortOrder": "The sort order for results. The default is Ascending.", + "LastModifiedTimeAfter": "A filter that returns only labeling jobs modified after the specified time (timestamp).", + "CreationTimeBefore": "A filter that returns only labeling jobs created before the specified time (timestamp).", + "SortBy": "The field to sort results by. The default is CreationTime." +} +""" +ListLabelingJobs() = sagemaker("ListLabelingJobs") +ListLabelingJobs(args) = sagemaker("ListLabelingJobs", args) diff --git a/src/services/sagemaker_a2i_runtime.jl b/src/services/sagemaker_a2i_runtime.jl new file mode 100644 index 0000000000..de65fef1cf --- /dev/null +++ b/src/services/sagemaker_a2i_runtime.jl @@ -0,0 +1,78 @@ +include("../AWSServices.jl") +using .AWSServices: sagemaker_a2i_runtime + +""" + DescribeHumanLoop() + +Returns information about the specified human loop. + +Required Parameters +{ + "HumanLoopName": "The unique name of the human loop." +} +""" +DescribeHumanLoop(args) = sagemaker_a2i_runtime("GET", "/human-loops/{HumanLoopName}", args) + +""" + ListHumanLoops() + +Returns information about human loops, given the specified parameters. If a human loop was deleted, it will not be included. + +Required Parameters +{ + "FlowDefinitionArn": "The Amazon Resource Name (ARN) of a flow definition." +} + +Optional Parameters +{ + "MaxResults": "The total number of items to return. If the total number of available items is more than the value specified in MaxResults, then a NextToken will be provided in the output that you can use to resume pagination.", + "NextToken": "A token to resume pagination.", + "CreationTimeAfter": "(Optional) The timestamp of the date when you want the human loops to begin in ISO 8601 format. For example, 2020-02-24.", + "SortOrder": "An optional value that specifies whether you want the results sorted in Ascending or Descending order.", + "CreationTimeBefore": "(Optional) The timestamp of the date before which you want the human loops to begin in ISO 8601 format. For example, 2020-02-24." +} +""" +ListHumanLoops(args) = sagemaker_a2i_runtime("GET", "/human-loops", args) + +""" + StartHumanLoop() + +Starts a human loop, provided that at least one activation condition is met. + +Required Parameters +{ + "HumanLoopName": "The name of the human loop.", + "FlowDefinitionArn": "The Amazon Resource Name (ARN) of the flow definition.", + "HumanLoopInput": "An object containing information about the human loop." +} + +Optional Parameters +{ + "DataAttributes": "Attributes of the data specified by the customer." +} +""" +StartHumanLoop(args) = sagemaker_a2i_runtime("POST", "/human-loops", args) + +""" + DeleteHumanLoop() + +Deletes the specified human loop for a flow definition. + +Required Parameters +{ + "HumanLoopName": "The name of the human loop you want to delete." +} +""" +DeleteHumanLoop(args) = sagemaker_a2i_runtime("DELETE", "/human-loops/{HumanLoopName}", args) + +""" + StopHumanLoop() + +Stops the specified human loop. + +Required Parameters +{ + "HumanLoopName": "The name of the human loop you want to stop." +} +""" +StopHumanLoop(args) = sagemaker_a2i_runtime("POST", "/human-loops/stop", args) diff --git a/src/services/sagemaker_runtime.jl b/src/services/sagemaker_runtime.jl new file mode 100644 index 0000000000..d456991c1c --- /dev/null +++ b/src/services/sagemaker_runtime.jl @@ -0,0 +1,23 @@ +include("../AWSServices.jl") +using .AWSServices: sagemaker_runtime + +""" + InvokeEndpoint() + +After you deploy a model into production using Amazon SageMaker hosting services, your client applications use this API to get inferences from the model hosted at the specified endpoint. For an overview of Amazon SageMaker, see How It Works. Amazon SageMaker strips all POST headers except those supported by the API. Amazon SageMaker might add additional headers. You should not rely on the behavior of headers outside those enumerated in the request syntax. Calls to InvokeEndpoint are authenticated by using AWS Signature Version 4. For information, see Authenticating Requests (AWS Signature Version 4) in the Amazon S3 API Reference. A customer's model containers must respond to requests within 60 seconds. The model itself can have a maximum processing time of 60 seconds before responding to the /invocations. If your model is going to take 50-60 seconds of processing time, the SDK socket timeout should be set to be 70 seconds. Endpoints are scoped to an individual account, and are not public. The URL does not contain the account ID, but Amazon SageMaker determines the account ID from the authentication token that is supplied by the caller. + +Required Parameters +{ + "EndpointName": "The name of the endpoint that you specified when you created the endpoint using the CreateEndpoint API. ", + "Body": "Provides input data, in the format specified in the ContentType request header. Amazon SageMaker passes all of the data in the body to the model. For information about the format of the request body, see Common Data Formats—Inference." +} + +Optional Parameters +{ + "TargetModel": "Specifies the model to be requested for an inference when invoking a multi-model endpoint. ", + "Accept": "The desired MIME type of the inference in the response.", + "CustomAttributes": "Provides additional information about a request for an inference submitted to a model hosted at an Amazon SageMaker endpoint. The information is an opaque value that is forwarded verbatim. You could use this value, for example, to provide an ID that you can use to track a request or to provide other metadata that a service endpoint was programmed to process. The value must consist of no more than 1024 visible US-ASCII characters as specified in Section 3.3.6. Field Value Components of the Hypertext Transfer Protocol (HTTP/1.1). This feature is currently supported in the AWS SDKs but not in the Amazon SageMaker Python SDK.", + "ContentType": "The MIME type of the input data in the request body." +} +""" +InvokeEndpoint(args) = sagemaker_runtime("POST", "/endpoints/{EndpointName}/invocations", args) diff --git a/src/services/savingsplans.jl b/src/services/savingsplans.jl new file mode 100644 index 0000000000..35829f32de --- /dev/null +++ b/src/services/savingsplans.jl @@ -0,0 +1,144 @@ +include("../AWSServices.jl") +using .AWSServices: savingsplans + +""" + ListTagsForResource() + +Lists the tags for the specified resource. + +Required Parameters +{ + "resourceArn": "The Amazon Resource Name (ARN) of the resource." +} +""" +ListTagsForResource(args) = savingsplans("POST", "/ListTagsForResource", args) + +""" + CreateSavingsPlan() + +Creates a Savings Plan. + +Required Parameters +{ + "commitment": "The hourly commitment, in USD. This is a value between 0.001 and 1 million. You cannot specify more than three digits after the decimal point.", + "savingsPlanOfferingId": "The ID of the offering." +} + +Optional Parameters +{ + "upfrontPaymentAmount": "The up-front payment amount. This is a whole number between 50 and 99 percent of the total value of the Savings Plan. This parameter is supported only if the payment option is Partial Upfront.", + "clientToken": "Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.", + "tags": "One or more tags." +} +""" +CreateSavingsPlan(args) = savingsplans("POST", "/CreateSavingsPlan", args) + +""" + DescribeSavingsPlansOfferings() + +Describes the specified Savings Plans offerings. + +Optional Parameters +{ + "descriptions": "The descriptions.", + "nextToken": "The token for the next page of results.", + "operations": "The specific AWS operation for the line item in the billing report.", + "usageTypes": "The usage details of the line item in the billing report.", + "durations": "The durations, in seconds.", + "paymentOptions": "The payment options.", + "serviceCodes": "The services.", + "currencies": "The currencies.", + "offeringIds": "The IDs of the offerings.", + "productType": "The product type.", + "filters": "The filters.", + "planTypes": "The plan type.", + "maxResults": "The maximum number of results to return with a single call. To retrieve additional results, make another call with the returned token value." +} +""" +DescribeSavingsPlansOfferings() = savingsplans("POST", "/DescribeSavingsPlansOfferings") +DescribeSavingsPlansOfferings(args) = savingsplans("POST", "/DescribeSavingsPlansOfferings", args) + +""" + DescribeSavingsPlanRates() + +Describes the specified Savings Plans rates. + +Required Parameters +{ + "savingsPlanId": "The ID of the Savings Plan." +} + +Optional Parameters +{ + "filters": "The filters.", + "maxResults": "The maximum number of results to return with a single call. To retrieve additional results, make another call with the returned token value.", + "nextToken": "The token for the next page of results." +} +""" +DescribeSavingsPlanRates(args) = savingsplans("POST", "/DescribeSavingsPlanRates", args) + +""" + DescribeSavingsPlansOfferingRates() + +Describes the specified Savings Plans offering rates. + +Optional Parameters +{ + "operations": "The specific AWS operation for the line item in the billing report.", + "filters": "The filters.", + "savingsPlanOfferingIds": "The IDs of the offerings.", + "usageTypes": "The usage details of the line item in the billing report.", + "products": "The AWS products.", + "savingsPlanTypes": "The plan types.", + "maxResults": "The maximum number of results to return with a single call. To retrieve additional results, make another call with the returned token value.", + "savingsPlanPaymentOptions": "The payment options.", + "nextToken": "The token for the next page of results.", + "serviceCodes": "The services." +} +""" +DescribeSavingsPlansOfferingRates() = savingsplans("POST", "/DescribeSavingsPlansOfferingRates") +DescribeSavingsPlansOfferingRates(args) = savingsplans("POST", "/DescribeSavingsPlansOfferingRates", args) + +""" + DescribeSavingsPlans() + +Describes the specified Savings Plans. + +Optional Parameters +{ + "filters": "The filters.", + "savingsPlanArns": "The Amazon Resource Names (ARN) of the Savings Plans.", + "maxResults": "The maximum number of results to return with a single call. To retrieve additional results, make another call with the returned token value.", + "nextToken": "The token for the next page of results.", + "states": "The states.", + "savingsPlanIds": "The IDs of the Savings Plans." +} +""" +DescribeSavingsPlans() = savingsplans("POST", "/DescribeSavingsPlans") +DescribeSavingsPlans(args) = savingsplans("POST", "/DescribeSavingsPlans", args) + +""" + TagResource() + +Adds the specified tags to the specified resource. + +Required Parameters +{ + "resourceArn": "The Amazon Resource Name (ARN) of the resource.", + "tags": "One or more tags. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }." +} +""" +TagResource(args) = savingsplans("POST", "/TagResource", args) + +""" + UntagResource() + +Removes the specified tags from the specified resource. + +Required Parameters +{ + "resourceArn": "The Amazon Resource Name (ARN) of the resource.", + "tagKeys": "The tag keys." +} +""" +UntagResource(args) = savingsplans("POST", "/UntagResource", args) diff --git a/src/services/schemas.jl b/src/services/schemas.jl new file mode 100644 index 0000000000..dfadb80260 --- /dev/null +++ b/src/services/schemas.jl @@ -0,0 +1,453 @@ +include("../AWSServices.jl") +using .AWSServices: schemas + +""" + ListTagsForResource() + +Get tags for resource. + +Required Parameters +{ + "ResourceArn": "" +} +""" +ListTagsForResource(args) = schemas("GET", "/tags/{resource-arn}", args) + +""" + DeleteSchema() + +Delete a schema definition. + +Required Parameters +{ + "SchemaName": "", + "RegistryName": "" +} +""" +DeleteSchema(args) = schemas("DELETE", "/v1/registries/name/{registryName}/schemas/name/{schemaName}", args) + +""" + DeleteRegistry() + +Deletes a Registry. + +Required Parameters +{ + "RegistryName": "" +} +""" +DeleteRegistry(args) = schemas("DELETE", "/v1/registries/name/{registryName}", args) + +""" + GetDiscoveredSchema() + +Get the discovered schema that was generated based on sampled events. + +Required Parameters +{ + "Type": "The type of event.", + "Events": "An array of strings that" +} +""" +GetDiscoveredSchema(args) = schemas("POST", "/v1/discover", args) + +""" + SearchSchemas() + +Search the schemas + +Required Parameters +{ + "RegistryName": "", + "Keywords": "" +} + +Optional Parameters +{ + "NextToken": "", + "Limit": "" +} +""" +SearchSchemas(args) = schemas("GET", "/v1/registries/name/{registryName}/schemas/search", args) + +""" + UnlockServiceLinkedRole() + + + +Required Parameters +{ + "RoleArn": "" +} +""" +UnlockServiceLinkedRole(args) = schemas("POST", "/slr-deletion/unlock", args) + +""" + ListDiscoverers() + +List the discoverers. + +Optional Parameters +{ + "NextToken": "", + "SourceArnPrefix": "", + "DiscovererIdPrefix": "", + "Limit": "" +} +""" +ListDiscoverers() = schemas("GET", "/v1/discoverers") +ListDiscoverers(args) = schemas("GET", "/v1/discoverers", args) + +""" + CreateRegistry() + +Creates a registry. + +Required Parameters +{ + "RegistryName": "" +} + +Optional Parameters +{ + "Description": "A description of the registry to be created.", + "Tags": "Tags to associate with the registry." +} +""" +CreateRegistry(args) = schemas("POST", "/v1/registries/name/{registryName}", args) + +""" + ListRegistries() + +List the registries. + +Optional Parameters +{ + "NextToken": "", + "RegistryNamePrefix": "", + "Scope": "", + "Limit": "" +} +""" +ListRegistries() = schemas("GET", "/v1/registries") +ListRegistries(args) = schemas("GET", "/v1/registries", args) + +""" + DescribeCodeBinding() + +Describe the code binding URI. + +Required Parameters +{ + "SchemaName": "", + "RegistryName": "", + "Language": "" +} + +Optional Parameters +{ + "SchemaVersion": "" +} +""" +DescribeCodeBinding(args) = schemas("GET", "/v1/registries/name/{registryName}/schemas/name/{schemaName}/language/{language}", args) + +""" + DeleteSchemaVersion() + +Delete the schema version definition + +Required Parameters +{ + "SchemaName": "", + "RegistryName": "", + "SchemaVersion": "" +} +""" +DeleteSchemaVersion(args) = schemas("DELETE", "/v1/registries/name/{registryName}/schemas/name/{schemaName}/version/{schemaVersion}", args) + +""" + LockServiceLinkedRole() + + + +Required Parameters +{ + "Timeout": "", + "RoleArn": "" +} +""" +LockServiceLinkedRole(args) = schemas("POST", "/slr-deletion/lock", args) + +""" + CreateDiscoverer() + +Creates a discoverer. + +Required Parameters +{ + "SourceArn": "The ARN of the event bus." +} + +Optional Parameters +{ + "Description": "A description for the discoverer.", + "Tags": "Tags associated with the resource." +} +""" +CreateDiscoverer(args) = schemas("POST", "/v1/discoverers", args) + +""" + DescribeRegistry() + +Describes the registry. + +Required Parameters +{ + "RegistryName": "" +} +""" +DescribeRegistry(args) = schemas("GET", "/v1/registries/name/{registryName}", args) + +""" + UpdateDiscoverer() + +Updates the discoverer + +Required Parameters +{ + "DiscovererId": "" +} + +Optional Parameters +{ + "Description": "The description of the discoverer to update." +} +""" +UpdateDiscoverer(args) = schemas("PUT", "/v1/discoverers/id/{discovererId}", args) + +""" + ListSchemaVersions() + +Provides a list of the schema versions and related information. + +Required Parameters +{ + "SchemaName": "", + "RegistryName": "" +} + +Optional Parameters +{ + "NextToken": "", + "Limit": "" +} +""" +ListSchemaVersions(args) = schemas("GET", "/v1/registries/name/{registryName}/schemas/name/{schemaName}/versions", args) + +""" + GetCodeBindingSource() + +Get the code binding source URI. + +Required Parameters +{ + "SchemaName": "", + "RegistryName": "", + "Language": "" +} + +Optional Parameters +{ + "SchemaVersion": "" +} +""" +GetCodeBindingSource(args) = schemas("GET", "/v1/registries/name/{registryName}/schemas/name/{schemaName}/language/{language}/source", args) + +""" + DescribeSchema() + +Retrieve the schema definition. + +Required Parameters +{ + "SchemaName": "", + "RegistryName": "" +} + +Optional Parameters +{ + "SchemaVersion": "" +} +""" +DescribeSchema(args) = schemas("GET", "/v1/registries/name/{registryName}/schemas/name/{schemaName}", args) + +""" + TagResource() + +Add tags to a resource. + +Required Parameters +{ + "ResourceArn": "", + "Tags": "" +} +""" +TagResource(args) = schemas("POST", "/tags/{resource-arn}", args) + +""" + UntagResource() + +Removes tags from a resource. + +Required Parameters +{ + "ResourceArn": "", + "TagKeys": "" +} +""" +UntagResource(args) = schemas("DELETE", "/tags/{resource-arn}", args) + +""" + UpdateSchema() + +Updates the schema definition + +Required Parameters +{ + "SchemaName": "", + "RegistryName": "" +} + +Optional Parameters +{ + "Description": "The description of the schema.", + "Content": "The source of the schema definition.", + "Type": "The schema type for the events schema.", + "ClientTokenId": "The ID of the client token." +} +""" +UpdateSchema(args) = schemas("PUT", "/v1/registries/name/{registryName}/schemas/name/{schemaName}", args) + +""" + PutCodeBinding() + +Put code binding URI + +Required Parameters +{ + "SchemaName": "", + "RegistryName": "", + "Language": "" +} + +Optional Parameters +{ + "SchemaVersion": "" +} +""" +PutCodeBinding(args) = schemas("POST", "/v1/registries/name/{registryName}/schemas/name/{schemaName}/language/{language}", args) + +""" + CreateSchema() + +Creates a schema definition. + +Required Parameters +{ + "Content": "", + "SchemaName": "", + "RegistryName": "", + "Type": "" +} + +Optional Parameters +{ + "Description": "A description of the schema.", + "Tags": "Tags associated with the schema." +} +""" +CreateSchema(args) = schemas("POST", "/v1/registries/name/{registryName}/schemas/name/{schemaName}", args) + +""" + DeleteDiscoverer() + +Deletes a discoverer. + +Required Parameters +{ + "DiscovererId": "" +} +""" +DeleteDiscoverer(args) = schemas("DELETE", "/v1/discoverers/id/{discovererId}", args) + +""" + DescribeDiscoverer() + +Describes the discoverer. + +Required Parameters +{ + "DiscovererId": "" +} +""" +DescribeDiscoverer(args) = schemas("GET", "/v1/discoverers/id/{discovererId}", args) + +""" + ListSchemas() + +List the schemas. + +Required Parameters +{ + "RegistryName": "" +} + +Optional Parameters +{ + "NextToken": "", + "SchemaNamePrefix": "", + "Limit": "" +} +""" +ListSchemas(args) = schemas("GET", "/v1/registries/name/{registryName}/schemas", args) + +""" + StartDiscoverer() + +Starts the discoverer + +Required Parameters +{ + "DiscovererId": "" +} +""" +StartDiscoverer(args) = schemas("POST", "/v1/discoverers/id/{discovererId}/start", args) + +""" + UpdateRegistry() + +Updates a registry. + +Required Parameters +{ + "RegistryName": "" +} + +Optional Parameters +{ + "Description": "The description of the registry to update." +} +""" +UpdateRegistry(args) = schemas("PUT", "/v1/registries/name/{registryName}", args) + +""" + StopDiscoverer() + +Stops the discoverer + +Required Parameters +{ + "DiscovererId": "" +} +""" +StopDiscoverer(args) = schemas("POST", "/v1/discoverers/id/{discovererId}/stop", args) diff --git a/src/services/secrets_manager.jl b/src/services/secrets_manager.jl new file mode 100644 index 0000000000..f323387084 --- /dev/null +++ b/src/services/secrets_manager.jl @@ -0,0 +1,291 @@ +include("../AWSServices.jl") +using .AWSServices: secrets_manager + +""" + DeleteResourcePolicy() + +Deletes the resource-based permission policy that's attached to the secret. Minimum permissions To run this command, you must have the following permissions: secretsmanager:DeleteResourcePolicy Related operations To attach a resource policy to a secret, use PutResourcePolicy. To retrieve the current resource-based policy that's attached to a secret, use GetResourcePolicy. To list all of the currently available secrets, use ListSecrets. + +Required Parameters +{ + "SecretId": "Specifies the secret that you want to delete the attached resource-based policy for. You can specify either the Amazon Resource Name (ARN) or the friendly name of the secret. If you specify an ARN, we generally recommend that you specify a complete ARN. You can specify a partial ARN too—for example, if you don’t include the final hyphen and six random characters that Secrets Manager adds at the end of the ARN when you created the secret. A partial ARN match can work as long as it uniquely matches only one secret. However, if your secret has a name that ends in a hyphen followed by six characters (before Secrets Manager adds the hyphen and six characters to the ARN) and you try to use that as a partial ARN, then those characters cause Secrets Manager to assume that you’re specifying a complete ARN. This confusion can cause unexpected results. To avoid this situation, we recommend that you don’t create secret names that end with a hyphen followed by six characters. " +} +""" +DeleteResourcePolicy(args) = secrets_manager("DeleteResourcePolicy", args) + +""" + ListSecrets() + +Lists all of the secrets that are stored by Secrets Manager in the AWS account. To list the versions currently stored for a specific secret, use ListSecretVersionIds. The encrypted fields SecretString and SecretBinary are not included in the output. To get that information, call the GetSecretValue operation. Always check the NextToken response parameter when calling any of the List* operations. These operations can occasionally return an empty or shorter than expected list of results even when there are more results available. When this happens, the NextToken response parameter contains a value to pass to the next call to the same API to request the next part of the list. Minimum permissions To run this command, you must have the following permissions: secretsmanager:ListSecrets Related operations To list the versions attached to a secret, use ListSecretVersionIds. + +Optional Parameters +{ + "MaxResults": "(Optional) Limits the number of results that you want to include in the response. If you don't include this parameter, it defaults to a value that's specific to the operation. If additional items exist beyond the maximum you specify, the NextToken response element is present and has a value (isn't null). Include that value as the NextToken request parameter in the next call to the operation to get the next part of the results. Note that Secrets Manager might return fewer results than the maximum even when there are more results available. You should check NextToken after every operation to ensure that you receive all of the results.", + "NextToken": "(Optional) Use this parameter in a request if you receive a NextToken response in a previous request that indicates that there's more output available. In a subsequent call, set it to the value of the previous call's NextToken response to indicate where the output should continue from." +} +""" +ListSecrets() = secrets_manager("ListSecrets") +ListSecrets(args) = secrets_manager("ListSecrets", args) + +""" + GetResourcePolicy() + +Retrieves the JSON text of the resource-based policy document that's attached to the specified secret. The JSON request string input and response output are shown formatted with white space and line breaks for better readability. Submit your input as a single line JSON string. Minimum permissions To run this command, you must have the following permissions: secretsmanager:GetResourcePolicy Related operations To attach a resource policy to a secret, use PutResourcePolicy. To delete the resource-based policy that's attached to a secret, use DeleteResourcePolicy. To list all of the currently available secrets, use ListSecrets. + +Required Parameters +{ + "SecretId": "Specifies the secret that you want to retrieve the attached resource-based policy for. You can specify either the Amazon Resource Name (ARN) or the friendly name of the secret. If you specify an ARN, we generally recommend that you specify a complete ARN. You can specify a partial ARN too—for example, if you don’t include the final hyphen and six random characters that Secrets Manager adds at the end of the ARN when you created the secret. A partial ARN match can work as long as it uniquely matches only one secret. However, if your secret has a name that ends in a hyphen followed by six characters (before Secrets Manager adds the hyphen and six characters to the ARN) and you try to use that as a partial ARN, then those characters cause Secrets Manager to assume that you’re specifying a complete ARN. This confusion can cause unexpected results. To avoid this situation, we recommend that you don’t create secret names that end with a hyphen followed by six characters. " +} +""" +GetResourcePolicy(args) = secrets_manager("GetResourcePolicy", args) + +""" + UpdateSecret() + +Modifies many of the details of the specified secret. If you include a ClientRequestToken and either SecretString or SecretBinary then it also creates a new version attached to the secret. To modify the rotation configuration of a secret, use RotateSecret instead. The Secrets Manager console uses only the SecretString parameter and therefore limits you to encrypting and storing only a text string. To encrypt and store binary data as part of the version of a secret, you must use either the AWS CLI or one of the AWS SDKs. If a version with a VersionId with the same value as the ClientRequestToken parameter already exists, the operation results in an error. You cannot modify an existing version, you can only create a new version. If you include SecretString or SecretBinary to create a new secret version, Secrets Manager automatically attaches the staging label AWSCURRENT to the new version. If you call an operation that needs to encrypt or decrypt the SecretString or SecretBinary for a secret in the same account as the calling user and that secret doesn't specify a AWS KMS encryption key, Secrets Manager uses the account's default AWS managed customer master key (CMK) with the alias aws/secretsmanager. If this key doesn't already exist in your account then Secrets Manager creates it for you automatically. All users and roles in the same AWS account automatically have access to use the default CMK. Note that if an Secrets Manager API call results in AWS having to create the account's AWS-managed CMK, it can result in a one-time significant delay in returning the result. If the secret is in a different AWS account from the credentials calling an API that requires encryption or decryption of the secret value then you must create and use a custom AWS KMS CMK because you can't access the default CMK for the account using credentials from a different AWS account. Store the ARN of the CMK in the secret when you create the secret or when you update it by including it in the KMSKeyId. If you call an API that must encrypt or decrypt SecretString or SecretBinary using credentials from a different account then the AWS KMS key policy must grant cross-account access to that other account's user or role for both the kms:GenerateDataKey and kms:Decrypt operations. Minimum permissions To run this command, you must have the following permissions: secretsmanager:UpdateSecret kms:GenerateDataKey - needed only if you use a custom AWS KMS key to encrypt the secret. You do not need this permission to use the account's AWS managed CMK for Secrets Manager. kms:Decrypt - needed only if you use a custom AWS KMS key to encrypt the secret. You do not need this permission to use the account's AWS managed CMK for Secrets Manager. Related operations To create a new secret, use CreateSecret. To add only a new version to an existing secret, use PutSecretValue. To get the details for a secret, use DescribeSecret. To list the versions contained in a secret, use ListSecretVersionIds. + +Required Parameters +{ + "SecretId": "Specifies the secret that you want to modify or to which you want to add a new version. You can specify either the Amazon Resource Name (ARN) or the friendly name of the secret. If you specify an ARN, we generally recommend that you specify a complete ARN. You can specify a partial ARN too—for example, if you don’t include the final hyphen and six random characters that Secrets Manager adds at the end of the ARN when you created the secret. A partial ARN match can work as long as it uniquely matches only one secret. However, if your secret has a name that ends in a hyphen followed by six characters (before Secrets Manager adds the hyphen and six characters to the ARN) and you try to use that as a partial ARN, then those characters cause Secrets Manager to assume that you’re specifying a complete ARN. This confusion can cause unexpected results. To avoid this situation, we recommend that you don’t create secret names that end with a hyphen followed by six characters. " +} + +Optional Parameters +{ + "Description": "(Optional) Specifies an updated user-provided description of the secret.", + "SecretBinary": "(Optional) Specifies updated binary data that you want to encrypt and store in the new version of the secret. To use this parameter in the command-line tools, we recommend that you store your binary data in a file and then use the appropriate technique for your tool to pass the contents of the file as a parameter. Either SecretBinary or SecretString must have a value, but not both. They cannot both be empty. This parameter is not accessible using the Secrets Manager console.", + "ClientRequestToken": "(Optional) If you want to add a new version to the secret, this parameter specifies a unique identifier for the new version that helps ensure idempotency. If you use the AWS CLI or one of the AWS SDK to call this operation, then you can leave this parameter empty. The CLI or SDK generates a random UUID for you and includes that in the request. If you don't use the SDK and instead generate a raw HTTP request to the Secrets Manager service endpoint, then you must generate a ClientRequestToken yourself for new versions and include that value in the request. You typically only need to interact with this value if you implement your own retry logic and want to ensure that a given secret is not created twice. We recommend that you generate a UUID-type value to ensure uniqueness within the specified secret. Secrets Manager uses this value to prevent the accidental creation of duplicate versions if there are failures and retries during the Lambda rotation function's processing. If the ClientRequestToken value isn't already associated with a version of the secret then a new version of the secret is created. If a version with this value already exists and that version's SecretString and SecretBinary values are the same as those in the request then the request is ignored (the operation is idempotent). If a version with this value already exists and that version's SecretString and SecretBinary values are different from the request then an error occurs because you cannot modify an existing secret value. This value becomes the VersionId of the new version.", + "SecretString": "(Optional) Specifies updated text data that you want to encrypt and store in this new version of the secret. Either SecretBinary or SecretString must have a value, but not both. They cannot both be empty. If you create this secret by using the Secrets Manager console then Secrets Manager puts the protected secret text in only the SecretString parameter. The Secrets Manager console stores the information as a JSON structure of key/value pairs that the default Lambda rotation function knows how to parse. For storing multiple values, we recommend that you use a JSON text string argument and specify key/value pairs. For information on how to format a JSON parameter for the various command line tool environments, see Using JSON for Parameters in the AWS CLI User Guide. For example: [{\"username\":\"bob\"},{\"password\":\"abc123xyz456\"}] If your command-line tool or SDK requires quotation marks around the parameter, you should use single quotes to avoid confusion with the double quotes required in the JSON text. You can also 'escape' the double quote character in the embedded JSON text by prefacing each with a backslash. For example, the following string is surrounded by double-quotes. All of the embedded double quotes are escaped: \"[{ \"username \": \"bob \"},{ \"password \": \"abc123xyz456 \"}]\" ", + "KmsKeyId": "(Optional) Specifies an updated ARN or alias of the AWS KMS customer master key (CMK) to be used to encrypt the protected text in new versions of this secret. You can only use the account's default CMK to encrypt and decrypt if you call this operation using credentials from the same account that owns the secret. If the secret is in a different account, then you must create a custom CMK and provide the ARN of that CMK in this field. The user making the call must have permissions to both the secret and the CMK in their respective accounts. " +} +""" +UpdateSecret(args) = secrets_manager("UpdateSecret", args) + +""" + CreateSecret() + +Creates a new secret. A secret in Secrets Manager consists of both the protected secret data and the important information needed to manage the secret. Secrets Manager stores the encrypted secret data in one of a collection of "versions" associated with the secret. Each version contains a copy of the encrypted secret data. Each version is associated with one or more "staging labels" that identify where the version is in the rotation cycle. The SecretVersionsToStages field of the secret contains the mapping of staging labels to the active versions of the secret. Versions without a staging label are considered deprecated and are not included in the list. You provide the secret data to be encrypted by putting text in either the SecretString parameter or binary data in the SecretBinary parameter, but not both. If you include SecretString or SecretBinary then Secrets Manager also creates an initial secret version and automatically attaches the staging label AWSCURRENT to the new version. If you call an operation that needs to encrypt or decrypt the SecretString or SecretBinary for a secret in the same account as the calling user and that secret doesn't specify a AWS KMS encryption key, Secrets Manager uses the account's default AWS managed customer master key (CMK) with the alias aws/secretsmanager. If this key doesn't already exist in your account then Secrets Manager creates it for you automatically. All users and roles in the same AWS account automatically have access to use the default CMK. Note that if an Secrets Manager API call results in AWS having to create the account's AWS-managed CMK, it can result in a one-time significant delay in returning the result. If the secret is in a different AWS account from the credentials calling an API that requires encryption or decryption of the secret value then you must create and use a custom AWS KMS CMK because you can't access the default CMK for the account using credentials from a different AWS account. Store the ARN of the CMK in the secret when you create the secret or when you update it by including it in the KMSKeyId. If you call an API that must encrypt or decrypt SecretString or SecretBinary using credentials from a different account then the AWS KMS key policy must grant cross-account access to that other account's user or role for both the kms:GenerateDataKey and kms:Decrypt operations. Minimum permissions To run this command, you must have the following permissions: secretsmanager:CreateSecret kms:GenerateDataKey - needed only if you use a customer-managed AWS KMS key to encrypt the secret. You do not need this permission to use the account's default AWS managed CMK for Secrets Manager. kms:Decrypt - needed only if you use a customer-managed AWS KMS key to encrypt the secret. You do not need this permission to use the account's default AWS managed CMK for Secrets Manager. secretsmanager:TagResource - needed only if you include the Tags parameter. Related operations To delete a secret, use DeleteSecret. To modify an existing secret, use UpdateSecret. To create a new version of a secret, use PutSecretValue. To retrieve the encrypted secure string and secure binary values, use GetSecretValue. To retrieve all other details for a secret, use DescribeSecret. This does not include the encrypted secure string and secure binary values. To retrieve the list of secret versions associated with the current secret, use DescribeSecret and examine the SecretVersionsToStages response value. + +Required Parameters +{ + "Name": "Specifies the friendly name of the new secret. The secret name must be ASCII letters, digits, or the following characters : /_+=.@- Don't end your secret name with a hyphen followed by six characters. If you do so, you risk confusion and unexpected results when searching for a secret by partial ARN. This is because Secrets Manager automatically adds a hyphen and six random characters at the end of the ARN. " +} + +Optional Parameters +{ + "Description": "(Optional) Specifies a user-provided description of the secret.", + "SecretBinary": "(Optional) Specifies binary data that you want to encrypt and store in the new version of the secret. To use this parameter in the command-line tools, we recommend that you store your binary data in a file and then use the appropriate technique for your tool to pass the contents of the file as a parameter. Either SecretString or SecretBinary must have a value, but not both. They cannot both be empty. This parameter is not available using the Secrets Manager console. It can be accessed only by using the AWS CLI or one of the AWS SDKs.", + "ClientRequestToken": "(Optional) If you include SecretString or SecretBinary, then an initial version is created as part of the secret, and this parameter specifies a unique identifier for the new version. If you use the AWS CLI or one of the AWS SDK to call this operation, then you can leave this parameter empty. The CLI or SDK generates a random UUID for you and includes it as the value for this parameter in the request. If you don't use the SDK and instead generate a raw HTTP request to the Secrets Manager service endpoint, then you must generate a ClientRequestToken yourself for the new version and include that value in the request. This value helps ensure idempotency. Secrets Manager uses this value to prevent the accidental creation of duplicate versions if there are failures and retries during a rotation. We recommend that you generate a UUID-type value to ensure uniqueness of your versions within the specified secret. If the ClientRequestToken value isn't already associated with a version of the secret then a new version of the secret is created. If a version with this value already exists and that version's SecretString and SecretBinary values are the same as those in the request, then the request is ignored (the operation is idempotent). If a version with this value already exists and that version's SecretString and SecretBinary values are different from those in the request then the request fails because you cannot modify an existing version. Instead, use PutSecretValue to create a new version. This value becomes the VersionId of the new version.", + "SecretString": "(Optional) Specifies text data that you want to encrypt and store in this new version of the secret. Either SecretString or SecretBinary must have a value, but not both. They cannot both be empty. If you create a secret by using the Secrets Manager console then Secrets Manager puts the protected secret text in only the SecretString parameter. The Secrets Manager console stores the information as a JSON structure of key/value pairs that the Lambda rotation function knows how to parse. For storing multiple values, we recommend that you use a JSON text string argument and specify key/value pairs. For information on how to format a JSON parameter for the various command line tool environments, see Using JSON for Parameters in the AWS CLI User Guide. For example: [{\"username\":\"bob\"},{\"password\":\"abc123xyz456\"}] If your command-line tool or SDK requires quotation marks around the parameter, you should use single quotes to avoid confusion with the double quotes required in the JSON text. ", + "Tags": "(Optional) Specifies a list of user-defined tags that are attached to the secret. Each tag is a \"Key\" and \"Value\" pair of strings. This operation only appends tags to the existing list of tags. To remove tags, you must use UntagResource. Secrets Manager tag key names are case sensitive. A tag with the key \"ABC\" is a different tag from one with key \"abc\". If you check tags in IAM policy Condition elements as part of your security strategy, then adding or removing a tag can change permissions. If the successful completion of this operation would result in you losing your permissions for this secret, then this operation is blocked and returns an Access Denied error. This parameter requires a JSON text string argument. For information on how to format a JSON parameter for the various command line tool environments, see Using JSON for Parameters in the AWS CLI User Guide. For example: [{\"Key\":\"CostCenter\",\"Value\":\"12345\"},{\"Key\":\"environment\",\"Value\":\"production\"}] If your command-line tool or SDK requires quotation marks around the parameter, you should use single quotes to avoid confusion with the double quotes required in the JSON text. The following basic restrictions apply to tags: Maximum number of tags per secret—50 Maximum key length—127 Unicode characters in UTF-8 Maximum value length—255 Unicode characters in UTF-8 Tag keys and values are case sensitive. Do not use the aws: prefix in your tag names or values because it is reserved for AWS use. You can't edit or delete tag names or values with this prefix. Tags with this prefix do not count against your tags per secret limit. If your tagging schema will be used across multiple services and resources, remember that other services might have restrictions on allowed characters. Generally allowed characters are: letters, spaces, and numbers representable in UTF-8, plus the following special characters: + - = . _ : / @. ", + "KmsKeyId": "(Optional) Specifies the ARN, Key ID, or alias of the AWS KMS customer master key (CMK) to be used to encrypt the SecretString or SecretBinary values in the versions stored in this secret. You can specify any of the supported ways to identify a AWS KMS key ID. If you need to reference a CMK in a different account, you can use only the key ARN or the alias ARN. If you don't specify this value, then Secrets Manager defaults to using the AWS account's default CMK (the one named aws/secretsmanager). If a AWS KMS CMK with that name doesn't yet exist, then Secrets Manager creates it for you automatically the first time it needs to encrypt a version's SecretString or SecretBinary fields. You can use the account's default CMK to encrypt and decrypt only if you call this operation using credentials from the same account that owns the secret. If the secret is in a different account, then you must create a custom CMK and specify the ARN in this field. " +} +""" +CreateSecret(args) = secrets_manager("CreateSecret", args) + +""" + PutResourcePolicy() + +Attaches the contents of the specified resource-based permission policy to a secret. A resource-based policy is optional. Alternatively, you can use IAM identity-based policies that specify the secret's Amazon Resource Name (ARN) in the policy statement's Resources element. You can also use a combination of both identity-based and resource-based policies. The affected users and roles receive the permissions that are permitted by all of the relevant policies. For more information, see Using Resource-Based Policies for AWS Secrets Manager. For the complete description of the AWS policy syntax and grammar, see IAM JSON Policy Reference in the IAM User Guide. Minimum permissions To run this command, you must have the following permissions: secretsmanager:PutResourcePolicy Related operations To retrieve the resource policy that's attached to a secret, use GetResourcePolicy. To delete the resource-based policy that's attached to a secret, use DeleteResourcePolicy. To list all of the currently available secrets, use ListSecrets. + +Required Parameters +{ + "SecretId": "Specifies the secret that you want to attach the resource-based policy to. You can specify either the ARN or the friendly name of the secret. If you specify an ARN, we generally recommend that you specify a complete ARN. You can specify a partial ARN too—for example, if you don’t include the final hyphen and six random characters that Secrets Manager adds at the end of the ARN when you created the secret. A partial ARN match can work as long as it uniquely matches only one secret. However, if your secret has a name that ends in a hyphen followed by six characters (before Secrets Manager adds the hyphen and six characters to the ARN) and you try to use that as a partial ARN, then those characters cause Secrets Manager to assume that you’re specifying a complete ARN. This confusion can cause unexpected results. To avoid this situation, we recommend that you don’t create secret names that end with a hyphen followed by six characters. ", + "ResourcePolicy": "A JSON-formatted string that's constructed according to the grammar and syntax for an AWS resource-based policy. The policy in the string identifies who can access or manage this secret and its versions. For information on how to format a JSON parameter for the various command line tool environments, see Using JSON for Parameters in the AWS CLI User Guide." +} +""" +PutResourcePolicy(args) = secrets_manager("PutResourcePolicy", args) + +""" + PutSecretValue() + +Stores a new encrypted secret value in the specified secret. To do this, the operation creates a new version and attaches it to the secret. The version can contain a new SecretString value or a new SecretBinary value. You can also specify the staging labels that are initially attached to the new version. The Secrets Manager console uses only the SecretString field. To add binary data to a secret with the SecretBinary field you must use the AWS CLI or one of the AWS SDKs. If this operation creates the first version for the secret then Secrets Manager automatically attaches the staging label AWSCURRENT to the new version. If another version of this secret already exists, then this operation does not automatically move any staging labels other than those that you explicitly specify in the VersionStages parameter. If this operation moves the staging label AWSCURRENT from another version to this version (because you included it in the StagingLabels parameter) then Secrets Manager also automatically moves the staging label AWSPREVIOUS to the version that AWSCURRENT was removed from. This operation is idempotent. If a version with a VersionId with the same value as the ClientRequestToken parameter already exists and you specify the same secret data, the operation succeeds but does nothing. However, if the secret data is different, then the operation fails because you cannot modify an existing version; you can only create new ones. If you call an operation that needs to encrypt or decrypt the SecretString or SecretBinary for a secret in the same account as the calling user and that secret doesn't specify a AWS KMS encryption key, Secrets Manager uses the account's default AWS managed customer master key (CMK) with the alias aws/secretsmanager. If this key doesn't already exist in your account then Secrets Manager creates it for you automatically. All users and roles in the same AWS account automatically have access to use the default CMK. Note that if an Secrets Manager API call results in AWS having to create the account's AWS-managed CMK, it can result in a one-time significant delay in returning the result. If the secret is in a different AWS account from the credentials calling an API that requires encryption or decryption of the secret value then you must create and use a custom AWS KMS CMK because you can't access the default CMK for the account using credentials from a different AWS account. Store the ARN of the CMK in the secret when you create the secret or when you update it by including it in the KMSKeyId. If you call an API that must encrypt or decrypt SecretString or SecretBinary using credentials from a different account then the AWS KMS key policy must grant cross-account access to that other account's user or role for both the kms:GenerateDataKey and kms:Decrypt operations. Minimum permissions To run this command, you must have the following permissions: secretsmanager:PutSecretValue kms:GenerateDataKey - needed only if you use a customer-managed AWS KMS key to encrypt the secret. You do not need this permission to use the account's default AWS managed CMK for Secrets Manager. Related operations To retrieve the encrypted value you store in the version of a secret, use GetSecretValue. To create a secret, use CreateSecret. To get the details for a secret, use DescribeSecret. To list the versions attached to a secret, use ListSecretVersionIds. + +Required Parameters +{ + "SecretId": "Specifies the secret to which you want to add a new version. You can specify either the Amazon Resource Name (ARN) or the friendly name of the secret. The secret must already exist. If you specify an ARN, we generally recommend that you specify a complete ARN. You can specify a partial ARN too—for example, if you don’t include the final hyphen and six random characters that Secrets Manager adds at the end of the ARN when you created the secret. A partial ARN match can work as long as it uniquely matches only one secret. However, if your secret has a name that ends in a hyphen followed by six characters (before Secrets Manager adds the hyphen and six characters to the ARN) and you try to use that as a partial ARN, then those characters cause Secrets Manager to assume that you’re specifying a complete ARN. This confusion can cause unexpected results. To avoid this situation, we recommend that you don’t create secret names that end with a hyphen followed by six characters. " +} + +Optional Parameters +{ + "SecretBinary": "(Optional) Specifies binary data that you want to encrypt and store in the new version of the secret. To use this parameter in the command-line tools, we recommend that you store your binary data in a file and then use the appropriate technique for your tool to pass the contents of the file as a parameter. Either SecretBinary or SecretString must have a value, but not both. They cannot both be empty. This parameter is not accessible if the secret using the Secrets Manager console. ", + "ClientRequestToken": "(Optional) Specifies a unique identifier for the new version of the secret. If you use the AWS CLI or one of the AWS SDK to call this operation, then you can leave this parameter empty. The CLI or SDK generates a random UUID for you and includes that in the request. If you don't use the SDK and instead generate a raw HTTP request to the Secrets Manager service endpoint, then you must generate a ClientRequestToken yourself for new versions and include that value in the request. This value helps ensure idempotency. Secrets Manager uses this value to prevent the accidental creation of duplicate versions if there are failures and retries during the Lambda rotation function's processing. We recommend that you generate a UUID-type value to ensure uniqueness within the specified secret. If the ClientRequestToken value isn't already associated with a version of the secret then a new version of the secret is created. If a version with this value already exists and that version's SecretString or SecretBinary values are the same as those in the request then the request is ignored (the operation is idempotent). If a version with this value already exists and that version's SecretString and SecretBinary values are different from those in the request then the request fails because you cannot modify an existing secret version. You can only create new versions to store new secret values. This value becomes the VersionId of the new version.", + "SecretString": "(Optional) Specifies text data that you want to encrypt and store in this new version of the secret. Either SecretString or SecretBinary must have a value, but not both. They cannot both be empty. If you create this secret by using the Secrets Manager console then Secrets Manager puts the protected secret text in only the SecretString parameter. The Secrets Manager console stores the information as a JSON structure of key/value pairs that the default Lambda rotation function knows how to parse. For storing multiple values, we recommend that you use a JSON text string argument and specify key/value pairs. For information on how to format a JSON parameter for the various command line tool environments, see Using JSON for Parameters in the AWS CLI User Guide. For example: [{\"username\":\"bob\"},{\"password\":\"abc123xyz456\"}] If your command-line tool or SDK requires quotation marks around the parameter, you should use single quotes to avoid confusion with the double quotes required in the JSON text.", + "VersionStages": "(Optional) Specifies a list of staging labels that are attached to this version of the secret. These staging labels are used to track the versions through the rotation process by the Lambda rotation function. A staging label must be unique to a single version of the secret. If you specify a staging label that's already associated with a different version of the same secret then that staging label is automatically removed from the other version and attached to this version. If you do not specify a value for VersionStages then Secrets Manager automatically moves the staging label AWSCURRENT to this new version." +} +""" +PutSecretValue(args) = secrets_manager("PutSecretValue", args) + +""" + GetRandomPassword() + +Generates a random password of the specified complexity. This operation is intended for use in the Lambda rotation function. Per best practice, we recommend that you specify the maximum length and include every character type that the system you are generating a password for can support. Minimum permissions To run this command, you must have the following permissions: secretsmanager:GetRandomPassword + +Optional Parameters +{ + "ExcludeCharacters": "A string that includes characters that should not be included in the generated password. The default is that all characters from the included sets can be used.", + "PasswordLength": "The desired length of the generated password. The default value if you do not include this parameter is 32 characters.", + "ExcludeLowercase": "Specifies that the generated password should not include lowercase letters. The default if you do not include this switch parameter is that lowercase letters can be included.", + "IncludeSpace": "Specifies that the generated password can include the space character. The default if you do not include this switch parameter is that the space character is not included.", + "RequireEachIncludedType": "A boolean value that specifies whether the generated password must include at least one of every allowed character type. The default value is True and the operation requires at least one of every character type.", + "ExcludeNumbers": "Specifies that the generated password should not include digits. The default if you do not include this switch parameter is that digits can be included.", + "ExcludePunctuation": "Specifies that the generated password should not include punctuation characters. The default if you do not include this switch parameter is that punctuation characters can be included. The following are the punctuation characters that can be included in the generated password if you don't explicitly exclude them with ExcludeCharacters or ExcludePunctuation: ! \" # % & ' ( ) * + , - . / : ; < = > ? @ [ ] ^ _ ` { | } ~ ", + "ExcludeUppercase": "Specifies that the generated password should not include uppercase letters. The default if you do not include this switch parameter is that uppercase letters can be included." +} +""" +GetRandomPassword() = secrets_manager("GetRandomPassword") +GetRandomPassword(args) = secrets_manager("GetRandomPassword", args) + +""" + UpdateSecretVersionStage() + +Modifies the staging labels attached to a version of a secret. Staging labels are used to track a version as it progresses through the secret rotation process. You can attach a staging label to only one version of a secret at a time. If a staging label to be added is already attached to another version, then it is moved--removed from the other version first and then attached to this one. For more information about staging labels, see Staging Labels in the AWS Secrets Manager User Guide. The staging labels that you specify in the VersionStage parameter are added to the existing list of staging labels--they don't replace it. You can move the AWSCURRENT staging label to this version by including it in this call. Whenever you move AWSCURRENT, Secrets Manager automatically moves the label AWSPREVIOUS to the version that AWSCURRENT was removed from. If this action results in the last label being removed from a version, then the version is considered to be 'deprecated' and can be deleted by Secrets Manager. Minimum permissions To run this command, you must have the following permissions: secretsmanager:UpdateSecretVersionStage Related operations To get the list of staging labels that are currently associated with a version of a secret, use DescribeSecret and examine the SecretVersionsToStages response value. + +Required Parameters +{ + "SecretId": "Specifies the secret with the version whose list of staging labels you want to modify. You can specify either the Amazon Resource Name (ARN) or the friendly name of the secret. If you specify an ARN, we generally recommend that you specify a complete ARN. You can specify a partial ARN too—for example, if you don’t include the final hyphen and six random characters that Secrets Manager adds at the end of the ARN when you created the secret. A partial ARN match can work as long as it uniquely matches only one secret. However, if your secret has a name that ends in a hyphen followed by six characters (before Secrets Manager adds the hyphen and six characters to the ARN) and you try to use that as a partial ARN, then those characters cause Secrets Manager to assume that you’re specifying a complete ARN. This confusion can cause unexpected results. To avoid this situation, we recommend that you don’t create secret names that end with a hyphen followed by six characters. ", + "VersionStage": "The staging label to add to this version." +} + +Optional Parameters +{ + "RemoveFromVersionId": "Specifies the secret version ID of the version that the staging label is to be removed from. If the staging label you are trying to attach to one version is already attached to a different version, then you must include this parameter and specify the version that the label is to be removed from. If the label is attached and you either do not specify this parameter, or the version ID does not match, then the operation fails.", + "MoveToVersionId": "(Optional) The secret version ID that you want to add the staging label to. If you want to remove a label from a version, then do not specify this parameter. If the staging label is already attached to a different version of the secret, then you must also specify the RemoveFromVersionId parameter. " +} +""" +UpdateSecretVersionStage(args) = secrets_manager("UpdateSecretVersionStage", args) + +""" + RestoreSecret() + +Cancels the scheduled deletion of a secret by removing the DeletedDate time stamp. This makes the secret accessible to query once again. Minimum permissions To run this command, you must have the following permissions: secretsmanager:RestoreSecret Related operations To delete a secret, use DeleteSecret. + +Required Parameters +{ + "SecretId": "Specifies the secret that you want to restore from a previously scheduled deletion. You can specify either the Amazon Resource Name (ARN) or the friendly name of the secret. If you specify an ARN, we generally recommend that you specify a complete ARN. You can specify a partial ARN too—for example, if you don’t include the final hyphen and six random characters that Secrets Manager adds at the end of the ARN when you created the secret. A partial ARN match can work as long as it uniquely matches only one secret. However, if your secret has a name that ends in a hyphen followed by six characters (before Secrets Manager adds the hyphen and six characters to the ARN) and you try to use that as a partial ARN, then those characters cause Secrets Manager to assume that you’re specifying a complete ARN. This confusion can cause unexpected results. To avoid this situation, we recommend that you don’t create secret names that end with a hyphen followed by six characters. " +} +""" +RestoreSecret(args) = secrets_manager("RestoreSecret", args) + +""" + RotateSecret() + +Configures and starts the asynchronous process of rotating this secret. If you include the configuration parameters, the operation sets those values for the secret and then immediately starts a rotation. If you do not include the configuration parameters, the operation starts a rotation with the values already stored in the secret. After the rotation completes, the protected service and its clients all use the new version of the secret. This required configuration information includes the ARN of an AWS Lambda function and the time between scheduled rotations. The Lambda rotation function creates a new version of the secret and creates or updates the credentials on the protected service to match. After testing the new credentials, the function marks the new secret with the staging label AWSCURRENT so that your clients all immediately begin to use the new version. For more information about rotating secrets and how to configure a Lambda function to rotate the secrets for your protected service, see Rotating Secrets in AWS Secrets Manager in the AWS Secrets Manager User Guide. Secrets Manager schedules the next rotation when the previous one is complete. Secrets Manager schedules the date by adding the rotation interval (number of days) to the actual date of the last rotation. The service chooses the hour within that 24-hour date window randomly. The minute is also chosen somewhat randomly, but weighted towards the top of the hour and influenced by a variety of factors that help distribute load. The rotation function must end with the versions of the secret in one of two states: The AWSPENDING and AWSCURRENT staging labels are attached to the same version of the secret, or The AWSPENDING staging label is not attached to any version of the secret. If instead the AWSPENDING staging label is present but is not attached to the same version as AWSCURRENT then any later invocation of RotateSecret assumes that a previous rotation request is still in progress and returns an error. Minimum permissions To run this command, you must have the following permissions: secretsmanager:RotateSecret lambda:InvokeFunction (on the function specified in the secret's metadata) Related operations To list the secrets in your account, use ListSecrets. To get the details for a version of a secret, use DescribeSecret. To create a new version of a secret, use CreateSecret. To attach staging labels to or remove staging labels from a version of a secret, use UpdateSecretVersionStage. + +Required Parameters +{ + "SecretId": "Specifies the secret that you want to rotate. You can specify either the Amazon Resource Name (ARN) or the friendly name of the secret. If you specify an ARN, we generally recommend that you specify a complete ARN. You can specify a partial ARN too—for example, if you don’t include the final hyphen and six random characters that Secrets Manager adds at the end of the ARN when you created the secret. A partial ARN match can work as long as it uniquely matches only one secret. However, if your secret has a name that ends in a hyphen followed by six characters (before Secrets Manager adds the hyphen and six characters to the ARN) and you try to use that as a partial ARN, then those characters cause Secrets Manager to assume that you’re specifying a complete ARN. This confusion can cause unexpected results. To avoid this situation, we recommend that you don’t create secret names that end with a hyphen followed by six characters. " +} + +Optional Parameters +{ + "ClientRequestToken": "(Optional) Specifies a unique identifier for the new version of the secret that helps ensure idempotency. If you use the AWS CLI or one of the AWS SDK to call this operation, then you can leave this parameter empty. The CLI or SDK generates a random UUID for you and includes that in the request for this parameter. If you don't use the SDK and instead generate a raw HTTP request to the Secrets Manager service endpoint, then you must generate a ClientRequestToken yourself for new versions and include that value in the request. You only need to specify your own value if you are implementing your own retry logic and want to ensure that a given secret is not created twice. We recommend that you generate a UUID-type value to ensure uniqueness within the specified secret. Secrets Manager uses this value to prevent the accidental creation of duplicate versions if there are failures and retries during the function's processing. This value becomes the VersionId of the new version.", + "RotationLambdaARN": "(Optional) Specifies the ARN of the Lambda function that can rotate the secret.", + "RotationRules": "A structure that defines the rotation configuration for this secret." +} +""" +RotateSecret(args) = secrets_manager("RotateSecret", args) + +""" + TagResource() + +Attaches one or more tags, each consisting of a key name and a value, to the specified secret. Tags are part of the secret's overall metadata, and are not associated with any specific version of the secret. This operation only appends tags to the existing list of tags. To remove tags, you must use UntagResource. The following basic restrictions apply to tags: Maximum number of tags per secret—50 Maximum key length—127 Unicode characters in UTF-8 Maximum value length—255 Unicode characters in UTF-8 Tag keys and values are case sensitive. Do not use the aws: prefix in your tag names or values because it is reserved for AWS use. You can't edit or delete tag names or values with this prefix. Tags with this prefix do not count against your tags per secret limit. If your tagging schema will be used across multiple services and resources, remember that other services might have restrictions on allowed characters. Generally allowed characters are: letters, spaces, and numbers representable in UTF-8, plus the following special characters: + - = . _ : / @. If you use tags as part of your security strategy, then adding or removing a tag can change permissions. If successfully completing this operation would result in you losing your permissions for this secret, then the operation is blocked and returns an Access Denied error. Minimum permissions To run this command, you must have the following permissions: secretsmanager:TagResource Related operations To remove one or more tags from the collection attached to a secret, use UntagResource. To view the list of tags attached to a secret, use DescribeSecret. + +Required Parameters +{ + "SecretId": "The identifier for the secret that you want to attach tags to. You can specify either the Amazon Resource Name (ARN) or the friendly name of the secret. If you specify an ARN, we generally recommend that you specify a complete ARN. You can specify a partial ARN too—for example, if you don’t include the final hyphen and six random characters that Secrets Manager adds at the end of the ARN when you created the secret. A partial ARN match can work as long as it uniquely matches only one secret. However, if your secret has a name that ends in a hyphen followed by six characters (before Secrets Manager adds the hyphen and six characters to the ARN) and you try to use that as a partial ARN, then those characters cause Secrets Manager to assume that you’re specifying a complete ARN. This confusion can cause unexpected results. To avoid this situation, we recommend that you don’t create secret names that end with a hyphen followed by six characters. ", + "Tags": "The tags to attach to the secret. Each element in the list consists of a Key and a Value. This parameter to the API requires a JSON text string argument. For information on how to format a JSON parameter for the various command line tool environments, see Using JSON for Parameters in the AWS CLI User Guide. For the AWS CLI, you can also use the syntax: --Tags Key=\"Key1\",Value=\"Value1\",Key=\"Key2\",Value=\"Value2\"[,…] " +} +""" +TagResource(args) = secrets_manager("TagResource", args) + +""" + UntagResource() + +Removes one or more tags from the specified secret. This operation is idempotent. If a requested tag is not attached to the secret, no error is returned and the secret metadata is unchanged. If you use tags as part of your security strategy, then removing a tag can change permissions. If successfully completing this operation would result in you losing your permissions for this secret, then the operation is blocked and returns an Access Denied error. Minimum permissions To run this command, you must have the following permissions: secretsmanager:UntagResource Related operations To add one or more tags to the collection attached to a secret, use TagResource. To view the list of tags attached to a secret, use DescribeSecret. + +Required Parameters +{ + "SecretId": "The identifier for the secret that you want to remove tags from. You can specify either the Amazon Resource Name (ARN) or the friendly name of the secret. If you specify an ARN, we generally recommend that you specify a complete ARN. You can specify a partial ARN too—for example, if you don’t include the final hyphen and six random characters that Secrets Manager adds at the end of the ARN when you created the secret. A partial ARN match can work as long as it uniquely matches only one secret. However, if your secret has a name that ends in a hyphen followed by six characters (before Secrets Manager adds the hyphen and six characters to the ARN) and you try to use that as a partial ARN, then those characters cause Secrets Manager to assume that you’re specifying a complete ARN. This confusion can cause unexpected results. To avoid this situation, we recommend that you don’t create secret names that end with a hyphen followed by six characters. ", + "TagKeys": "A list of tag key names to remove from the secret. You don't specify the value. Both the key and its associated value are removed. This parameter to the API requires a JSON text string argument. For information on how to format a JSON parameter for the various command line tool environments, see Using JSON for Parameters in the AWS CLI User Guide." +} +""" +UntagResource(args) = secrets_manager("UntagResource", args) + +""" + DeleteSecret() + +Deletes an entire secret and all of its versions. You can optionally include a recovery window during which you can restore the secret. If you don't specify a recovery window value, the operation defaults to 30 days. Secrets Manager attaches a DeletionDate stamp to the secret that specifies the end of the recovery window. At the end of the recovery window, Secrets Manager deletes the secret permanently. At any time before recovery window ends, you can use RestoreSecret to remove the DeletionDate and cancel the deletion of the secret. You cannot access the encrypted secret information in any secret that is scheduled for deletion. If you need to access that information, you must cancel the deletion with RestoreSecret and then retrieve the information. There is no explicit operation to delete a version of a secret. Instead, remove all staging labels from the VersionStage field of a version. That marks the version as deprecated and allows Secrets Manager to delete it as needed. Versions that do not have any staging labels do not show up in ListSecretVersionIds unless you specify IncludeDeprecated. The permanent secret deletion at the end of the waiting period is performed as a background task with low priority. There is no guarantee of a specific time after the recovery window for the actual delete operation to occur. Minimum permissions To run this command, you must have the following permissions: secretsmanager:DeleteSecret Related operations To create a secret, use CreateSecret. To cancel deletion of a version of a secret before the recovery window has expired, use RestoreSecret. + +Required Parameters +{ + "SecretId": "Specifies the secret that you want to delete. You can specify either the Amazon Resource Name (ARN) or the friendly name of the secret. If you specify an ARN, we generally recommend that you specify a complete ARN. You can specify a partial ARN too—for example, if you don’t include the final hyphen and six random characters that Secrets Manager adds at the end of the ARN when you created the secret. A partial ARN match can work as long as it uniquely matches only one secret. However, if your secret has a name that ends in a hyphen followed by six characters (before Secrets Manager adds the hyphen and six characters to the ARN) and you try to use that as a partial ARN, then those characters cause Secrets Manager to assume that you’re specifying a complete ARN. This confusion can cause unexpected results. To avoid this situation, we recommend that you don’t create secret names that end with a hyphen followed by six characters. " +} + +Optional Parameters +{ + "ForceDeleteWithoutRecovery": "(Optional) Specifies that the secret is to be deleted without any recovery window. You can't use both this parameter and the RecoveryWindowInDays parameter in the same API call. An asynchronous background process performs the actual deletion, so there can be a short delay before the operation completes. If you write code to delete and then immediately recreate a secret with the same name, ensure that your code includes appropriate back off and retry logic. Use this parameter with caution. This parameter causes the operation to skip the normal waiting period before the permanent deletion that AWS would normally impose with the RecoveryWindowInDays parameter. If you delete a secret with the ForceDeleteWithouRecovery parameter, then you have no opportunity to recover the secret. It is permanently lost. ", + "RecoveryWindowInDays": "(Optional) Specifies the number of days that Secrets Manager waits before it can delete the secret. You can't use both this parameter and the ForceDeleteWithoutRecovery parameter in the same API call. This value can range from 7 to 30 days. The default value is 30." +} +""" +DeleteSecret(args) = secrets_manager("DeleteSecret", args) + +""" + DescribeSecret() + +Retrieves the details of a secret. It does not include the encrypted fields. Only those fields that are populated with a value are returned in the response. Minimum permissions To run this command, you must have the following permissions: secretsmanager:DescribeSecret Related operations To create a secret, use CreateSecret. To modify a secret, use UpdateSecret. To retrieve the encrypted secret information in a version of the secret, use GetSecretValue. To list all of the secrets in the AWS account, use ListSecrets. + +Required Parameters +{ + "SecretId": "The identifier of the secret whose details you want to retrieve. You can specify either the Amazon Resource Name (ARN) or the friendly name of the secret. If you specify an ARN, we generally recommend that you specify a complete ARN. You can specify a partial ARN too—for example, if you don’t include the final hyphen and six random characters that Secrets Manager adds at the end of the ARN when you created the secret. A partial ARN match can work as long as it uniquely matches only one secret. However, if your secret has a name that ends in a hyphen followed by six characters (before Secrets Manager adds the hyphen and six characters to the ARN) and you try to use that as a partial ARN, then those characters cause Secrets Manager to assume that you’re specifying a complete ARN. This confusion can cause unexpected results. To avoid this situation, we recommend that you don’t create secret names that end with a hyphen followed by six characters. " +} +""" +DescribeSecret(args) = secrets_manager("DescribeSecret", args) + +""" + CancelRotateSecret() + +Disables automatic scheduled rotation and cancels the rotation of a secret if one is currently in progress. To re-enable scheduled rotation, call RotateSecret with AutomaticallyRotateAfterDays set to a value greater than 0. This will immediately rotate your secret and then enable the automatic schedule. If you cancel a rotation that is in progress, it can leave the VersionStage labels in an unexpected state. Depending on what step of the rotation was in progress, you might need to remove the staging label AWSPENDING from the partially created version, specified by the VersionId response value. You should also evaluate the partially rotated new version to see if it should be deleted, which you can do by removing all staging labels from the new version's VersionStage field. To successfully start a rotation, the staging label AWSPENDING must be in one of the following states: Not be attached to any version at all Attached to the same version as the staging label AWSCURRENT If the staging label AWSPENDING is attached to a different version than the version with AWSCURRENT then the attempt to rotate fails. Minimum permissions To run this command, you must have the following permissions: secretsmanager:CancelRotateSecret Related operations To configure rotation for a secret or to manually trigger a rotation, use RotateSecret. To get the rotation configuration details for a secret, use DescribeSecret. To list all of the currently available secrets, use ListSecrets. To list all of the versions currently associated with a secret, use ListSecretVersionIds. + +Required Parameters +{ + "SecretId": "Specifies the secret for which you want to cancel a rotation request. You can specify either the Amazon Resource Name (ARN) or the friendly name of the secret. If you specify an ARN, we generally recommend that you specify a complete ARN. You can specify a partial ARN too—for example, if you don’t include the final hyphen and six random characters that Secrets Manager adds at the end of the ARN when you created the secret. A partial ARN match can work as long as it uniquely matches only one secret. However, if your secret has a name that ends in a hyphen followed by six characters (before Secrets Manager adds the hyphen and six characters to the ARN) and you try to use that as a partial ARN, then those characters cause Secrets Manager to assume that you’re specifying a complete ARN. This confusion can cause unexpected results. To avoid this situation, we recommend that you don’t create secret names that end with a hyphen followed by six characters. " +} +""" +CancelRotateSecret(args) = secrets_manager("CancelRotateSecret", args) + +""" + ListSecretVersionIds() + +Lists all of the versions attached to the specified secret. The output does not include the SecretString or SecretBinary fields. By default, the list includes only versions that have at least one staging label in VersionStage attached. Always check the NextToken response parameter when calling any of the List* operations. These operations can occasionally return an empty or shorter than expected list of results even when there are more results available. When this happens, the NextToken response parameter contains a value to pass to the next call to the same API to request the next part of the list. Minimum permissions To run this command, you must have the following permissions: secretsmanager:ListSecretVersionIds Related operations To list the secrets in an account, use ListSecrets. + +Required Parameters +{ + "SecretId": "The identifier for the secret containing the versions you want to list. You can specify either the Amazon Resource Name (ARN) or the friendly name of the secret. If you specify an ARN, we generally recommend that you specify a complete ARN. You can specify a partial ARN too—for example, if you don’t include the final hyphen and six random characters that Secrets Manager adds at the end of the ARN when you created the secret. A partial ARN match can work as long as it uniquely matches only one secret. However, if your secret has a name that ends in a hyphen followed by six characters (before Secrets Manager adds the hyphen and six characters to the ARN) and you try to use that as a partial ARN, then those characters cause Secrets Manager to assume that you’re specifying a complete ARN. This confusion can cause unexpected results. To avoid this situation, we recommend that you don’t create secret names that end with a hyphen followed by six characters. " +} + +Optional Parameters +{ + "MaxResults": "(Optional) Limits the number of results that you want to include in the response. If you don't include this parameter, it defaults to a value that's specific to the operation. If additional items exist beyond the maximum you specify, the NextToken response element is present and has a value (isn't null). Include that value as the NextToken request parameter in the next call to the operation to get the next part of the results. Note that Secrets Manager might return fewer results than the maximum even when there are more results available. You should check NextToken after every operation to ensure that you receive all of the results.", + "IncludeDeprecated": "(Optional) Specifies that you want the results to include versions that do not have any staging labels attached to them. Such versions are considered deprecated and are subject to deletion by Secrets Manager as needed.", + "NextToken": "(Optional) Use this parameter in a request if you receive a NextToken response in a previous request that indicates that there's more output available. In a subsequent call, set it to the value of the previous call's NextToken response to indicate where the output should continue from." +} +""" +ListSecretVersionIds(args) = secrets_manager("ListSecretVersionIds", args) + +""" + GetSecretValue() + +Retrieves the contents of the encrypted fields SecretString or SecretBinary from the specified version of a secret, whichever contains content. Minimum permissions To run this command, you must have the following permissions: secretsmanager:GetSecretValue kms:Decrypt - required only if you use a customer-managed AWS KMS key to encrypt the secret. You do not need this permission to use the account's default AWS managed CMK for Secrets Manager. Related operations To create a new version of the secret with different encrypted information, use PutSecretValue. To retrieve the non-encrypted details for the secret, use DescribeSecret. + +Required Parameters +{ + "SecretId": "Specifies the secret containing the version that you want to retrieve. You can specify either the Amazon Resource Name (ARN) or the friendly name of the secret. If you specify an ARN, we generally recommend that you specify a complete ARN. You can specify a partial ARN too—for example, if you don’t include the final hyphen and six random characters that Secrets Manager adds at the end of the ARN when you created the secret. A partial ARN match can work as long as it uniquely matches only one secret. However, if your secret has a name that ends in a hyphen followed by six characters (before Secrets Manager adds the hyphen and six characters to the ARN) and you try to use that as a partial ARN, then those characters cause Secrets Manager to assume that you’re specifying a complete ARN. This confusion can cause unexpected results. To avoid this situation, we recommend that you don’t create secret names that end with a hyphen followed by six characters. " +} + +Optional Parameters +{ + "VersionId": "Specifies the unique identifier of the version of the secret that you want to retrieve. If you specify this parameter then don't specify VersionStage. If you don't specify either a VersionStage or VersionId then the default is to perform the operation on the version with the VersionStage value of AWSCURRENT. This value is typically a UUID-type value with 32 hexadecimal digits.", + "VersionStage": "Specifies the secret version that you want to retrieve by the staging label attached to the version. Staging labels are used to keep track of different versions during the rotation process. If you use this parameter then don't specify VersionId. If you don't specify either a VersionStage or VersionId, then the default is to perform the operation on the version with the VersionStage value of AWSCURRENT." +} +""" +GetSecretValue(args) = secrets_manager("GetSecretValue", args) diff --git a/src/services/securityhub.jl b/src/services/securityhub.jl new file mode 100644 index 0000000000..6a1bd5e75d --- /dev/null +++ b/src/services/securityhub.jl @@ -0,0 +1,547 @@ +include("../AWSServices.jl") +using .AWSServices: securityhub + +""" + DescribeStandardsControls() + +Returns a list of security standards controls. For each control, the results include information about whether it is currently enabled, the severity, and a link to remediation information. + +Required Parameters +{ + "StandardsSubscriptionArn": "The ARN of a resource that represents your subscription to a supported standard." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of security standard controls to return.", + "NextToken": "The token that is required for pagination. On your first call to the DescribeStandardsControls operation, set the value of this parameter to NULL. For subsequent calls to the operation, to continue listing data, set the value of this parameter to the value returned from the previous response." +} +""" +DescribeStandardsControls(args) = securityhub("GET", "/standards/controls/{StandardsSubscriptionArn+}", args) + +""" + GetEnabledStandards() + +Returns a list of the standards that are currently enabled. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return in the response.", + "NextToken": "The token that is required for pagination. On your first call to the GetEnabledStandards operation, set the value of this parameter to NULL. For subsequent calls to the operation, to continue listing data, set the value of this parameter to the value returned from the previous response.", + "StandardsSubscriptionArns": "The list of the standards subscription ARNs for the standards to retrieve." +} +""" +GetEnabledStandards() = securityhub("POST", "/standards/get") +GetEnabledStandards(args) = securityhub("POST", "/standards/get", args) + +""" + ListTagsForResource() + +Returns a list of tags associated with a resource. + +Required Parameters +{ + "ResourceArn": "The ARN of the resource to retrieve tags for." +} +""" +ListTagsForResource(args) = securityhub("GET", "/tags/{ResourceArn}", args) + +""" + UpdateFindings() + +Updates the Note and RecordState of the Security Hub-aggregated findings that the filter attributes specify. Any member account that can view the finding also sees the update to the finding. + +Required Parameters +{ + "Filters": "A collection of attributes that specify which findings you want to update." +} + +Optional Parameters +{ + "Note": "The updated note for the finding.", + "RecordState": "The updated record state for the finding." +} +""" +UpdateFindings(args) = securityhub("PATCH", "/findings", args) + +""" + UpdateActionTarget() + +Updates the name and description of a custom action target in Security Hub. + +Required Parameters +{ + "ActionTargetArn": "The ARN of the custom action target to update." +} + +Optional Parameters +{ + "Description": "The updated description for the custom action target.", + "Name": "The updated name of the custom action target." +} +""" +UpdateActionTarget(args) = securityhub("PATCH", "/actionTargets/{ActionTargetArn+}", args) + +""" + ListInvitations() + +Lists all Security Hub membership invitations that were sent to the current AWS account. + +Optional Parameters +{ + "MaxResults": "The maximum number of items to return in the response. ", + "NextToken": "The token that is required for pagination. On your first call to the ListInvitations operation, set the value of this parameter to NULL. For subsequent calls to the operation, to continue listing data, set the value of this parameter to the value returned from the previous response." +} +""" +ListInvitations() = securityhub("GET", "/invitations") +ListInvitations(args) = securityhub("GET", "/invitations", args) + +""" + CreateMembers() + +Creates a member association in Security Hub between the specified accounts and the account used to make the request, which is the master account. To successfully create a member, you must use this action from an account that already has Security Hub enabled. To enable Security Hub, you can use the EnableSecurityHub operation. After you use CreateMembers to create member account associations in Security Hub, you must use the InviteMembers operation to invite the accounts to enable Security Hub and become member accounts in Security Hub. If the account owner accepts the invitation, the account becomes a member account in Security Hub, and a permission policy is added that permits the master account to view the findings generated in the member account. When Security Hub is enabled in the invited account, findings start to be sent to both the member and master accounts. To remove the association between the master and member accounts, use the DisassociateFromMasterAccount or DisassociateMembers operation. + +Optional Parameters +{ + "AccountDetails": "The list of accounts to associate with the Security Hub master account. For each account, the list includes the account ID and the email address." +} +""" +CreateMembers() = securityhub("POST", "/members") +CreateMembers(args) = securityhub("POST", "/members", args) + +""" + UpdateInsight() + +Updates the Security Hub insight identified by the specified insight ARN. + +Required Parameters +{ + "InsightArn": "The ARN of the insight that you want to update." +} + +Optional Parameters +{ + "GroupByAttribute": "The updated GroupBy attribute that defines this insight.", + "Filters": "The updated filters that define this insight.", + "Name": "The updated name for the insight." +} +""" +UpdateInsight(args) = securityhub("PATCH", "/insights/{InsightArn+}", args) + +""" + CreateActionTarget() + +Creates a custom action target in Security Hub. You can use custom actions on findings and insights in Security Hub to trigger target actions in Amazon CloudWatch Events. + +Required Parameters +{ + "Id": "The ID for the custom action target.", + "Description": "The description for the custom action target.", + "Name": "The name of the custom action target." +} +""" +CreateActionTarget(args) = securityhub("POST", "/actionTargets", args) + +""" + ListEnabledProductsForImport() + +Lists all findings-generating solutions (products) that you are subscribed to receive findings from in Security Hub. + +Optional Parameters +{ + "MaxResults": "The maximum number of items to return in the response.", + "NextToken": "The token that is required for pagination. On your first call to the ListEnabledProductsForImport operation, set the value of this parameter to NULL. For subsequent calls to the operation, to continue listing data, set the value of this parameter to the value returned from the previous response." +} +""" +ListEnabledProductsForImport() = securityhub("GET", "/productSubscriptions") +ListEnabledProductsForImport(args) = securityhub("GET", "/productSubscriptions", args) + +""" + DeclineInvitations() + +Declines invitations to become a member account. + +Required Parameters +{ + "AccountIds": "The list of account IDs for the accounts from which to decline the invitations to Security Hub." +} +""" +DeclineInvitations(args) = securityhub("POST", "/invitations/decline", args) + +""" + UpdateStandardsControl() + +Used to control whether an individual security standard control is enabled or disabled. + +Required Parameters +{ + "StandardsControlArn": "The ARN of the security standard control to enable or disable." +} + +Optional Parameters +{ + "ControlStatus": "The updated status of the security standard control.", + "DisabledReason": "A description of the reason why you are disabling a security standard control." +} +""" +UpdateStandardsControl(args) = securityhub("PATCH", "/standards/control/{StandardsControlArn+}", args) + +""" + InviteMembers() + +Invites other AWS accounts to become member accounts for the Security Hub master account that the invitation is sent from. Before you can use this action to invite a member, you must first use the CreateMembers action to create the member account in Security Hub. When the account owner accepts the invitation to become a member account and enables Security Hub, the master account can view the findings generated from the member account. + +Optional Parameters +{ + "AccountIds": "The list of account IDs of the AWS accounts to invite to Security Hub as members. " +} +""" +InviteMembers() = securityhub("POST", "/members/invite") +InviteMembers(args) = securityhub("POST", "/members/invite", args) + +""" + DescribeActionTargets() + +Returns a list of the custom action targets in Security Hub in your account. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return.", + "NextToken": "The token that is required for pagination. On your first call to the DescribeActionTargets operation, set the value of this parameter to NULL. For subsequent calls to the operation, to continue listing data, set the value of this parameter to the value returned from the previous response.", + "ActionTargetArns": "A list of custom action target ARNs for the custom action targets to retrieve." +} +""" +DescribeActionTargets() = securityhub("POST", "/actionTargets/get") +DescribeActionTargets(args) = securityhub("POST", "/actionTargets/get", args) + +""" + BatchEnableStandards() + +Enables the standards specified by the provided StandardsArn. To obtain the ARN for a standard, use the DescribeStandards operation. For more information, see the Security Standards section of the AWS Security Hub User Guide. + +Required Parameters +{ + "StandardsSubscriptionRequests": "The list of standards checks to enable." +} +""" +BatchEnableStandards(args) = securityhub("POST", "/standards/register", args) + +""" + GetInsights() + +Lists and describes insights for the specified insight ARNs. + +Optional Parameters +{ + "MaxResults": "The maximum number of items to return in the response.", + "NextToken": "The token that is required for pagination. On your first call to the GetInsights operation, set the value of this parameter to NULL. For subsequent calls to the operation, to continue listing data, set the value of this parameter to the value returned from the previous response.", + "InsightArns": "The ARNs of the insights to describe. If you do not provide any insight ARNs, then GetInsights returns all of your custom insights. It does not return any managed insights." +} +""" +GetInsights() = securityhub("POST", "/insights/get") +GetInsights(args) = securityhub("POST", "/insights/get", args) + +""" + DeleteActionTarget() + +Deletes a custom action target from Security Hub. Deleting a custom action target does not affect any findings or insights that were already sent to Amazon CloudWatch Events using the custom action. + +Required Parameters +{ + "ActionTargetArn": "The ARN of the custom action target to delete." +} +""" +DeleteActionTarget(args) = securityhub("DELETE", "/actionTargets/{ActionTargetArn+}", args) + +""" + DisableSecurityHub() + +Disables Security Hub in your account only in the current Region. To disable Security Hub in all Regions, you must submit one request per Region where you have enabled Security Hub. When you disable Security Hub for a master account, it doesn't disable Security Hub for any associated member accounts. When you disable Security Hub, your existing findings and insights and any Security Hub configuration settings are deleted after 90 days and cannot be recovered. Any standards that were enabled are disabled, and your master and member account associations are removed. If you want to save your existing findings, you must export them before you disable Security Hub. +""" +DisableSecurityHub() = securityhub("DELETE", "/accounts") +DisableSecurityHub(args) = securityhub("DELETE", "/accounts", args) + +""" + GetInvitationsCount() + +Returns the count of all Security Hub membership invitations that were sent to the current member account, not including the currently accepted invitation. +""" +GetInvitationsCount() = securityhub("GET", "/invitations/count") +GetInvitationsCount(args) = securityhub("GET", "/invitations/count", args) + +""" + ListMembers() + +Lists details about all member accounts for the current Security Hub master account. + +Optional Parameters +{ + "MaxResults": "The maximum number of items to return in the response. ", + "NextToken": "The token that is required for pagination. On your first call to the ListMembers operation, set the value of this parameter to NULL. For subsequent calls to the operation, to continue listing data, set the value of this parameter to the value returned from the previous response.", + "OnlyAssociated": "Specifies which member accounts to include in the response based on their relationship status with the master account. The default value is TRUE. If OnlyAssociated is set to TRUE, the response includes member accounts whose relationship status with the master is set to ENABLED or DISABLED. If OnlyAssociated is set to FALSE, the response includes all existing member accounts. " +} +""" +ListMembers() = securityhub("GET", "/members") +ListMembers(args) = securityhub("GET", "/members", args) + +""" + CreateInsight() + +Creates a custom insight in Security Hub. An insight is a consolidation of findings that relate to a security issue that requires attention or remediation. To group the related findings in the insight, use the GroupByAttribute. + +Required Parameters +{ + "GroupByAttribute": "The attribute used to group the findings for the insight. The grouping attribute identifies the type of item that the insight applies to. For example, if an insight is grouped by resource identifier, then the insight produces a list of resource identifiers.", + "Filters": "One or more attributes used to filter the findings included in the insight. The insight only includes findings that match the criteria defined in the filters.", + "Name": "The name of the custom insight to create." +} +""" +CreateInsight(args) = securityhub("POST", "/insights", args) + +""" + TagResource() + +Adds one or more tags to a resource. + +Required Parameters +{ + "ResourceArn": "The ARN of the resource to apply the tags to.", + "Tags": "The tags to add to the resource." +} +""" +TagResource(args) = securityhub("POST", "/tags/{ResourceArn}", args) + +""" + DescribeHub() + +Returns details about the Hub resource in your account, including the HubArn and the time when you enabled Security Hub. + +Optional Parameters +{ + "HubArn": "The ARN of the Hub resource to retrieve." +} +""" +DescribeHub() = securityhub("GET", "/accounts") +DescribeHub(args) = securityhub("GET", "/accounts", args) + +""" + UntagResource() + +Removes one or more tags from a resource. + +Required Parameters +{ + "ResourceArn": "The ARN of the resource to remove the tags from.", + "TagKeys": "The tag keys associated with the tags to remove from the resource." +} +""" +UntagResource(args) = securityhub("DELETE", "/tags/{ResourceArn}", args) + +""" + DeleteInvitations() + +Deletes invitations received by the AWS account to become a member account. + +Required Parameters +{ + "AccountIds": "The list of the account IDs that sent the invitations to delete." +} +""" +DeleteInvitations(args) = securityhub("POST", "/invitations/delete", args) + +""" + DeleteMembers() + +Deletes the specified member accounts from Security Hub. + +Optional Parameters +{ + "AccountIds": "The list of account IDs for the member accounts to delete." +} +""" +DeleteMembers() = securityhub("POST", "/members/delete") +DeleteMembers(args) = securityhub("POST", "/members/delete", args) + +""" + AcceptInvitation() + +Accepts the invitation to be a member account and be monitored by the Security Hub master account that the invitation was sent from. When the member account accepts the invitation, permission is granted to the master account to view findings generated in the member account. + +Required Parameters +{ + "InvitationId": "The ID of the invitation sent from the Security Hub master account.", + "MasterId": "The account ID of the Security Hub master account that sent the invitation." +} +""" +AcceptInvitation(args) = securityhub("POST", "/master", args) + +""" + DescribeStandards() + +Returns a list of the available standards in Security Hub. For each standard, the results include the standard ARN, the name, and a description. + +Optional Parameters +{ + "MaxResults": "The maximum number of standards to return.", + "NextToken": "The token that is required for pagination. On your first call to the DescribeStandards operation, set the value of this parameter to NULL. For subsequent calls to the operation, to continue listing data, set the value of this parameter to the value returned from the previous response." +} +""" +DescribeStandards() = securityhub("GET", "/standards") +DescribeStandards(args) = securityhub("GET", "/standards", args) + +""" + DisassociateFromMasterAccount() + +Disassociates the current Security Hub member account from the associated master account. +""" +DisassociateFromMasterAccount() = securityhub("POST", "/master/disassociate") +DisassociateFromMasterAccount(args) = securityhub("POST", "/master/disassociate", args) + +""" + DescribeProducts() + +Returns information about the available products that you can subscribe to and integrate with Security Hub in order to consolidate findings. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return.", + "NextToken": "The token that is required for pagination. On your first call to the DescribeProducts operation, set the value of this parameter to NULL. For subsequent calls to the operation, to continue listing data, set the value of this parameter to the value returned from the previous response." +} +""" +DescribeProducts() = securityhub("GET", "/products") +DescribeProducts(args) = securityhub("GET", "/products", args) + +""" + DeleteInsight() + +Deletes the insight specified by the InsightArn. + +Required Parameters +{ + "InsightArn": "The ARN of the insight to delete." +} +""" +DeleteInsight(args) = securityhub("DELETE", "/insights/{InsightArn+}", args) + +""" + GetMasterAccount() + +Provides the details for the Security Hub master account for the current member account. +""" +GetMasterAccount() = securityhub("GET", "/master") +GetMasterAccount(args) = securityhub("GET", "/master", args) + +""" + GetFindings() + +Returns a list of findings that match the specified criteria. + +Optional Parameters +{ + "MaxResults": "The maximum number of findings to return.", + "NextToken": "The token that is required for pagination. On your first call to the GetFindings operation, set the value of this parameter to NULL. For subsequent calls to the operation, to continue listing data, set the value of this parameter to the value returned from the previous response.", + "SortCriteria": "The finding attributes used to sort the list of returned findings.", + "Filters": "The finding attributes used to define a condition to filter the returned findings." +} +""" +GetFindings() = securityhub("POST", "/findings") +GetFindings(args) = securityhub("POST", "/findings", args) + +""" + EnableImportFindingsForProduct() + +Enables the integration of a partner product with Security Hub. Integrated products send findings to Security Hub. When you enable a product integration, a permission policy that grants permission for the product to send findings to Security Hub is applied. + +Required Parameters +{ + "ProductArn": "The ARN of the product to enable the integration for." +} +""" +EnableImportFindingsForProduct(args) = securityhub("POST", "/productSubscriptions", args) + +""" + EnableSecurityHub() + +Enables Security Hub for your account in the current Region or the Region you specify in the request. When you enable Security Hub, you grant to Security Hub the permissions necessary to gather findings from other services that are integrated with Security Hub. When you use the EnableSecurityHub operation to enable Security Hub, you also automatically enable the CIS AWS Foundations standard. You do not enable the Payment Card Industry Data Security Standard (PCI DSS) standard. To not enable the CIS AWS Foundations standard, set EnableDefaultStandards to false. After you enable Security Hub, to enable a standard, use the BatchEnableStandards operation. To disable a standard, use the BatchDisableStandards operation. To learn more, see Setting Up AWS Security Hub in the AWS Security Hub User Guide. + +Optional Parameters +{ + "Tags": "The tags to add to the Hub resource when you enable Security Hub.", + "EnableDefaultStandards": "Whether to enable the security standards that Security Hub has designated as automatically enabled. If you do not provide a value for EnableDefaultStandards, it is set to true. To not enable the automatically enabled standards, set EnableDefaultStandards to false." +} +""" +EnableSecurityHub() = securityhub("POST", "/accounts") +EnableSecurityHub(args) = securityhub("POST", "/accounts", args) + +""" + BatchDisableStandards() + +Disables the standards specified by the provided StandardsSubscriptionArns. For more information, see Security Standards section of the AWS Security Hub User Guide. + +Required Parameters +{ + "StandardsSubscriptionArns": "The ARNs of the standards subscriptions to disable." +} +""" +BatchDisableStandards(args) = securityhub("POST", "/standards/deregister", args) + +""" + DisassociateMembers() + +Disassociates the specified member accounts from the associated master account. + +Optional Parameters +{ + "AccountIds": "The account IDs of the member accounts to disassociate from the master account." +} +""" +DisassociateMembers() = securityhub("POST", "/members/disassociate") +DisassociateMembers(args) = securityhub("POST", "/members/disassociate", args) + +""" + DisableImportFindingsForProduct() + +Disables the integration of the specified product with Security Hub. After the integration is disabled, findings from that product are no longer sent to Security Hub. + +Required Parameters +{ + "ProductSubscriptionArn": "The ARN of the integrated product to disable the integration for." +} +""" +DisableImportFindingsForProduct(args) = securityhub("DELETE", "/productSubscriptions/{ProductSubscriptionArn+}", args) + +""" + GetInsightResults() + +Lists the results of the Security Hub insight specified by the insight ARN. + +Required Parameters +{ + "InsightArn": "The ARN of the insight for which to return results." +} +""" +GetInsightResults(args) = securityhub("GET", "/insights/results/{InsightArn+}", args) + +""" + GetMembers() + +Returns the details for the Security Hub member accounts for the specified account IDs. + +Required Parameters +{ + "AccountIds": "The list of account IDs for the Security Hub member accounts to return the details for. " +} +""" +GetMembers(args) = securityhub("POST", "/members/get", args) + +""" + BatchImportFindings() + +Imports security findings generated from an integrated third-party product into Security Hub. This action is requested by the integrated product to import its findings into Security Hub. The maximum allowed size for a finding is 240 Kb. An error is returned for any finding larger than 240 Kb. + +Required Parameters +{ + "Findings": "A list of findings to import. To successfully import a finding, it must follow the AWS Security Finding Format. Maximum of 100 findings per request." +} +""" +BatchImportFindings(args) = securityhub("POST", "/findings/import", args) diff --git a/src/services/serverlessapplicationrepository.jl b/src/services/serverlessapplicationrepository.jl new file mode 100644 index 0000000000..fa90e3e248 --- /dev/null +++ b/src/services/serverlessapplicationrepository.jl @@ -0,0 +1,254 @@ +include("../AWSServices.jl") +using .AWSServices: serverlessapplicationrepository + +""" + ListApplicationVersions() + +Lists versions for the specified application. + +Required Parameters +{ + "ApplicationId": "The Amazon Resource Name (ARN) of the application." +} + +Optional Parameters +{ + "NextToken": "A token to specify where to start paginating.", + "MaxItems": "The total number of items to return." +} +""" +ListApplicationVersions(args) = serverlessapplicationrepository("GET", "/applications/{applicationId}/versions", args) + +""" + GetApplication() + +Gets the specified application. + +Required Parameters +{ + "ApplicationId": "The Amazon Resource Name (ARN) of the application." +} + +Optional Parameters +{ + "SemanticVersion": "The semantic version of the application to get." +} +""" +GetApplication(args) = serverlessapplicationrepository("GET", "/applications/{applicationId}", args) + +""" + GetCloudFormationTemplate() + +Gets the specified AWS CloudFormation template. + +Required Parameters +{ + "ApplicationId": "The Amazon Resource Name (ARN) of the application.", + "TemplateId": "The UUID returned by CreateCloudFormationTemplate.Pattern: [0-9a-fA-F]{8} -[0-9a-fA-F]{4} -[0-9a-fA-F]{4} -[0-9a-fA-F]{4} -[0-9a-fA-F]{12}" +} +""" +GetCloudFormationTemplate(args) = serverlessapplicationrepository("GET", "/applications/{applicationId}/templates/{templateId}", args) + +""" + DeleteApplication() + +Deletes the specified application. + +Required Parameters +{ + "ApplicationId": "The Amazon Resource Name (ARN) of the application." +} +""" +DeleteApplication(args) = serverlessapplicationrepository("DELETE", "/applications/{applicationId}", args) + +""" + PutApplicationPolicy() + +Sets the permission policy for an application. For the list of actions supported for this operation, see + Application + Permissions + . + +Required Parameters +{ + "ApplicationId": "The Amazon Resource Name (ARN) of the application.", + "Statements": "An array of policy statements applied to the application." +} +""" +PutApplicationPolicy(args) = serverlessapplicationrepository("PUT", "/applications/{applicationId}/policy", args) + +""" + ListApplicationDependencies() + +Retrieves the list of applications nested in the containing application. + +Required Parameters +{ + "ApplicationId": "The Amazon Resource Name (ARN) of the application." +} + +Optional Parameters +{ + "SemanticVersion": "The semantic version of the application to get.", + "NextToken": "A token to specify where to start paginating.", + "MaxItems": "The total number of items to return." +} +""" +ListApplicationDependencies(args) = serverlessapplicationrepository("GET", "/applications/{applicationId}/dependencies", args) + +""" + CreateApplication() + +Creates an application, optionally including an AWS SAM file to create the first application version in the same call. + +Required Parameters +{ + "Description": "The description of the application.Minimum length=1. Maximum length=256", + "Author": "The name of the author publishing the app.Minimum length=1. Maximum length=127.Pattern \"^[a-z0-9](([a-z0-9]|-(?!-))*[a-z0-9])? \";", + "Name": "The name of the application that you want to publish.Minimum length=1. Maximum length=140Pattern: \"[a-zA-Z0-9 -]+\";" +} + +Optional Parameters +{ + "TemplateUrl": "A link to the S3 object containing the packaged AWS SAM template of your application.You can specify only one of templateBody and templateUrl; otherwise an error results.", + "SourceCodeUrl": "A link to a public repository for the source code of your application, for example the URL of a specific GitHub commit.", + "SourceCodeArchiveUrl": "A link to the S3 object that contains the ZIP archive of the source code for this version of your application.Maximum size 50 MB", + "SpdxLicenseId": "A valid identifier from https://spdx.org/licenses/.", + "ReadmeUrl": "A link to the S3 object in Markdown language that contains a more detailed description of the application and how it works.Maximum size 5 MBYou can specify only one of readmeBody and readmeUrl; otherwise, an error results.", + "LicenseBody": "A local text file that contains the license of the app that matches the spdxLicenseID value of your application.\n The file has the format file://<path>/<filename>.Maximum size 5 MBYou can specify only one of licenseBody and licenseUrl; otherwise, an error results.", + "LicenseUrl": "A link to the S3 object that contains the license of the app that matches the spdxLicenseID value of your application.Maximum size 5 MBYou can specify only one of licenseBody and licenseUrl; otherwise, an error results.", + "SemanticVersion": "The semantic version of the application:\n https://semver.org/\n ", + "ReadmeBody": "A local text readme file in Markdown language that contains a more detailed description of the application and how it works.\n The file has the format file://<path>/<filename>.Maximum size 5 MBYou can specify only one of readmeBody and readmeUrl; otherwise, an error results.", + "TemplateBody": "The local raw packaged AWS SAM template file of your application.\n The file has the format file://<path>/<filename>.You can specify only one of templateBody and templateUrl; otherwise an error results.", + "HomePageUrl": "A URL with more information about the application, for example the location of your GitHub repository for the application.", + "Labels": "Labels to improve discovery of apps in search results.Minimum length=1. Maximum length=127. Maximum number of labels: 10Pattern: \"^[a-zA-Z0-9+ -_: /@]+ \";" +} +""" +CreateApplication(args) = serverlessapplicationrepository("POST", "/applications", args) + +""" + UpdateApplication() + +Updates the specified application. + +Required Parameters +{ + "ApplicationId": "The Amazon Resource Name (ARN) of the application." +} + +Optional Parameters +{ + "Description": "The description of the application.Minimum length=1. Maximum length=256", + "HomePageUrl": "A URL with more information about the application, for example the location of your GitHub repository for the application.", + "ReadmeBody": "A text readme file in Markdown language that contains a more detailed description of the application and how it works.Maximum size 5 MB", + "Author": "The name of the author publishing the app.Minimum length=1. Maximum length=127.Pattern \"^[a-z0-9](([a-z0-9]|-(?!-))*[a-z0-9])? \";", + "Labels": "Labels to improve discovery of apps in search results.Minimum length=1. Maximum length=127. Maximum number of labels: 10Pattern: \"^[a-zA-Z0-9+ -_: /@]+ \";", + "ReadmeUrl": "A link to the readme file in Markdown language that contains a more detailed description of the application and how it works.Maximum size 5 MB" +} +""" +UpdateApplication(args) = serverlessapplicationrepository("PATCH", "/applications/{applicationId}", args) + +""" + UnshareApplication() + +Unshares an application from an AWS Organization.This operation can be called only from the organization's master account. + +Required Parameters +{ + "ApplicationId": "The Amazon Resource Name (ARN) of the application.", + "OrganizationId": "The AWS Organization ID to unshare the application from." +} +""" +UnshareApplication(args) = serverlessapplicationrepository("POST", "/applications/{applicationId}/unshare", args) + +""" + CreateCloudFormationTemplate() + +Creates an AWS CloudFormation template. + +Required Parameters +{ + "ApplicationId": "The Amazon Resource Name (ARN) of the application." +} + +Optional Parameters +{ + "SemanticVersion": "The semantic version of the application:\n https://semver.org/\n " +} +""" +CreateCloudFormationTemplate(args) = serverlessapplicationrepository("POST", "/applications/{applicationId}/templates", args) + +""" + ListApplications() + +Lists applications owned by the requester. + +Optional Parameters +{ + "NextToken": "A token to specify where to start paginating.", + "MaxItems": "The total number of items to return." +} +""" +ListApplications() = serverlessapplicationrepository("GET", "/applications") +ListApplications(args) = serverlessapplicationrepository("GET", "/applications", args) + +""" + CreateCloudFormationChangeSet() + +Creates an AWS CloudFormation change set for the given application. + +Required Parameters +{ + "ApplicationId": "The Amazon Resource Name (ARN) of the application.", + "StackName": "This property corresponds to the parameter of the same name for the AWS CloudFormation CreateChangeSet\n API." +} + +Optional Parameters +{ + "ParameterOverrides": "A list of parameter values for the parameters of the application.", + "Tags": "This property corresponds to the parameter of the same name for the AWS CloudFormation CreateChangeSet\n API.", + "ChangeSetName": "This property corresponds to the parameter of the same name for the AWS CloudFormation CreateChangeSet\n API.", + "TemplateId": "The UUID returned by CreateCloudFormationTemplate.Pattern: [0-9a-fA-F]{8} -[0-9a-fA-F]{4} -[0-9a-fA-F]{4} -[0-9a-fA-F]{4} -[0-9a-fA-F]{12}", + "ClientToken": "This property corresponds to the parameter of the same name for the AWS CloudFormation CreateChangeSet\n API.", + "SemanticVersion": "The semantic version of the application:\n https://semver.org/\n ", + "Capabilities": "A list of values that you must specify before you can deploy certain applications.\n Some applications might include resources that can affect permissions in your AWS\n account, for example, by creating new AWS Identity and Access Management (IAM) users.\n For those applications, you must explicitly acknowledge their capabilities by\n specifying this parameter.The only valid values are CAPABILITY_IAM, CAPABILITY_NAMED_IAM,\n CAPABILITY_RESOURCE_POLICY, and CAPABILITY_AUTO_EXPAND.The following resources require you to specify CAPABILITY_IAM or\n CAPABILITY_NAMED_IAM:\n AWS::IAM::Group,\n AWS::IAM::InstanceProfile,\n AWS::IAM::Policy, and\n AWS::IAM::Role.\n If the application contains IAM resources, you can specify either CAPABILITY_IAM\n or CAPABILITY_NAMED_IAM. If the application contains IAM resources\n with custom names, you must specify CAPABILITY_NAMED_IAM.The following resources require you to specify CAPABILITY_RESOURCE_POLICY:\n AWS::Lambda::Permission,\n AWS::IAM:Policy,\n AWS::ApplicationAutoScaling::ScalingPolicy,\n AWS::S3::BucketPolicy,\n AWS::SQS::QueuePolicy, and\n AWS::SNS:TopicPolicy.Applications that contain one or more nested applications require you to specify\n CAPABILITY_AUTO_EXPAND.If your application template contains any of the above resources, we recommend that you review\n all permissions associated with the application before deploying. If you don't specify\n this parameter for an application that requires capabilities, the call will fail.", + "RollbackConfiguration": "This property corresponds to the parameter of the same name for the AWS CloudFormation CreateChangeSet\n API.", + "Description": "This property corresponds to the parameter of the same name for the AWS CloudFormation CreateChangeSet\n API.", + "ResourceTypes": "This property corresponds to the parameter of the same name for the AWS CloudFormation CreateChangeSet\n API.", + "NotificationArns": "This property corresponds to the parameter of the same name for the AWS CloudFormation CreateChangeSet\n API." +} +""" +CreateCloudFormationChangeSet(args) = serverlessapplicationrepository("POST", "/applications/{applicationId}/changesets", args) + +""" + GetApplicationPolicy() + +Retrieves the policy for the application. + +Required Parameters +{ + "ApplicationId": "The Amazon Resource Name (ARN) of the application." +} +""" +GetApplicationPolicy(args) = serverlessapplicationrepository("GET", "/applications/{applicationId}/policy", args) + +""" + CreateApplicationVersion() + +Creates an application version. + +Required Parameters +{ + "ApplicationId": "The Amazon Resource Name (ARN) of the application.", + "SemanticVersion": "The semantic version of the new version." +} + +Optional Parameters +{ + "TemplateBody": "The raw packaged AWS SAM template of your application.", + "SourceCodeArchiveUrl": "A link to the S3 object that contains the ZIP archive of the source code for this version of your application.Maximum size 50 MB", + "TemplateUrl": "A link to the packaged AWS SAM template of your application.", + "SourceCodeUrl": "A link to a public repository for the source code of your application, for example the URL of a specific GitHub commit." +} +""" +CreateApplicationVersion(args) = serverlessapplicationrepository("PUT", "/applications/{applicationId}/versions/{semanticVersion}", args) diff --git a/src/services/service_catalog.jl b/src/services/service_catalog.jl new file mode 100644 index 0000000000..32bd89ed03 --- /dev/null +++ b/src/services/service_catalog.jl @@ -0,0 +1,1491 @@ +include("../AWSServices.jl") +using .AWSServices: service_catalog + +""" + DisassociateServiceActionFromProvisioningArtifact() + +Disassociates the specified self-service action association from the specified provisioning artifact. + +Required Parameters +{ + "ProductId": "The product identifier. For example, prod-abcdzk7xy33qa.", + "ServiceActionId": "The self-service action identifier. For example, act-fs7abcd89wxyz.", + "ProvisioningArtifactId": "The identifier of the provisioning artifact. For example, pa-4abcdjnxjj6ne." +} + +Optional Parameters +{ + "AcceptLanguage": "The language code. en - English (default) jp - Japanese zh - Chinese " +} +""" +DisassociateServiceActionFromProvisioningArtifact(args) = service_catalog("DisassociateServiceActionFromProvisioningArtifact", args) + +""" + ListLaunchPaths() + +Lists the paths to the specified product. A path is how the user has access to a specified product, and is necessary when provisioning a product. A path also determines the constraints put on the product. + +Required Parameters +{ + "ProductId": "The product identifier." +} + +Optional Parameters +{ + "AcceptLanguage": "The language code. en - English (default) jp - Japanese zh - Chinese ", + "PageSize": "The maximum number of items to return with this call.", + "PageToken": "The page token for the next set of results. To retrieve the first set of results, use null." +} +""" +ListLaunchPaths(args) = service_catalog("ListLaunchPaths", args) + +""" + RejectPortfolioShare() + +Rejects an offer to share the specified portfolio. + +Required Parameters +{ + "PortfolioId": "The portfolio identifier." +} + +Optional Parameters +{ + "AcceptLanguage": "The language code. en - English (default) jp - Japanese zh - Chinese ", + "PortfolioShareType": "The type of shared portfolios to reject. The default is to reject imported portfolios. AWS_ORGANIZATIONS - Reject portfolios shared by the master account of your organization. IMPORTED - Reject imported portfolios. AWS_SERVICECATALOG - Not supported. (Throws ResourceNotFoundException.) For example, aws servicecatalog reject-portfolio-share --portfolio-id \"port-2qwzkwxt3y5fk\" --portfolio-share-type AWS_ORGANIZATIONS " +} +""" +RejectPortfolioShare(args) = service_catalog("RejectPortfolioShare", args) + +""" + CreateConstraint() + +Creates a constraint. + +Required Parameters +{ + "IdempotencyToken": "A unique identifier that you provide to ensure idempotency. If multiple requests differ only by the idempotency token, the same response is returned for each repeated request.", + "ProductId": "The product identifier.", + "Parameters": "The constraint parameters, in JSON format. The syntax depends on the constraint type as follows: LAUNCH You are required to specify either the RoleArn or the LocalRoleName but can't use both. Specify the RoleArn property as follows: {\"RoleArn\" : \"arn:aws:iam::123456789012:role/LaunchRole\"} Specify the LocalRoleName property as follows: {\"LocalRoleName\": \"SCBasicLaunchRole\"} If you specify the LocalRoleName property, when an account uses the launch constraint, the IAM role with that name in the account will be used. This allows launch-role constraints to be account-agnostic so the administrator can create fewer resources per shared account. The given role name must exist in the account used to create the launch constraint and the account of the user who launches a product with this launch constraint. You cannot have both a LAUNCH and a STACKSET constraint. You also cannot have more than one LAUNCH constraint on a product and portfolio. NOTIFICATION Specify the NotificationArns property as follows: {\"NotificationArns\" : [\"arn:aws:sns:us-east-1:123456789012:Topic\"]} RESOURCE_UPDATE Specify the TagUpdatesOnProvisionedProduct property as follows: {\"Version\":\"2.0\",\"Properties\":{\"TagUpdateOnProvisionedProduct\":\"String\"}} The TagUpdatesOnProvisionedProduct property accepts a string value of ALLOWED or NOT_ALLOWED. STACKSET Specify the Parameters property as follows: {\"Version\": \"String\", \"Properties\": {\"AccountList\": [ \"String\" ], \"RegionList\": [ \"String\" ], \"AdminRole\": \"String\", \"ExecutionRole\": \"String\"}} You cannot have both a LAUNCH and a STACKSET constraint. You also cannot have more than one STACKSET constraint on a product and portfolio. Products with a STACKSET constraint will launch an AWS CloudFormation stack set. TEMPLATE Specify the Rules property. For more information, see Template Constraint Rules. ", + "Type": "The type of constraint. LAUNCH NOTIFICATION RESOURCE_UPDATE STACKSET TEMPLATE ", + "PortfolioId": "The portfolio identifier." +} + +Optional Parameters +{ + "AcceptLanguage": "The language code. en - English (default) jp - Japanese zh - Chinese ", + "Description": "The description of the constraint." +} +""" +CreateConstraint(args) = service_catalog("CreateConstraint", args) + +""" + CreateProvisionedProductPlan() + +Creates a plan. A plan includes the list of resources to be created (when provisioning a new product) or modified (when updating a provisioned product) when the plan is executed. You can create one plan per provisioned product. To create a plan for an existing provisioned product, the product status must be AVAILBLE or TAINTED. To view the resource changes in the change set, use DescribeProvisionedProductPlan. To create or modify the provisioned product, use ExecuteProvisionedProductPlan. + +Required Parameters +{ + "PlanName": "The name of the plan.", + "PlanType": "The plan type.", + "ProvisionedProductName": "A user-friendly name for the provisioned product. This value must be unique for the AWS account and cannot be updated after the product is provisioned.", + "IdempotencyToken": "A unique identifier that you provide to ensure idempotency. If multiple requests differ only by the idempotency token, the same response is returned for each repeated request.", + "ProductId": "The product identifier.", + "ProvisioningArtifactId": "The identifier of the provisioning artifact." +} + +Optional Parameters +{ + "PathId": "The path identifier of the product. This value is optional if the product has a default path, and required if the product has more than one path. To list the paths for a product, use ListLaunchPaths.", + "AcceptLanguage": "The language code. en - English (default) jp - Japanese zh - Chinese ", + "ProvisioningParameters": "Parameters specified by the administrator that are required for provisioning the product.", + "Tags": "One or more tags. If the plan is for an existing provisioned product, the product must have a RESOURCE_UPDATE constraint with TagUpdatesOnProvisionedProduct set to ALLOWED to allow tag updates.", + "NotificationArns": "Passed to CloudFormation. The SNS topic ARNs to which to publish stack-related events." +} +""" +CreateProvisionedProductPlan(args) = service_catalog("CreateProvisionedProductPlan", args) + +""" + CreateTagOption() + +Creates a TagOption. + +Required Parameters +{ + "Value": "The TagOption value.", + "Key": "The TagOption key." +} +""" +CreateTagOption(args) = service_catalog("CreateTagOption", args) + +""" + DescribeProduct() + +Gets information about the specified product. + +Required Parameters +{ + "Id": "The product identifier." +} + +Optional Parameters +{ + "AcceptLanguage": "The language code. en - English (default) jp - Japanese zh - Chinese " +} +""" +DescribeProduct(args) = service_catalog("DescribeProduct", args) + +""" + AcceptPortfolioShare() + +Accepts an offer to share the specified portfolio. + +Required Parameters +{ + "PortfolioId": "The portfolio identifier." +} + +Optional Parameters +{ + "AcceptLanguage": "The language code. en - English (default) jp - Japanese zh - Chinese ", + "PortfolioShareType": "The type of shared portfolios to accept. The default is to accept imported portfolios. AWS_ORGANIZATIONS - Accept portfolios shared by the master account of your organization. IMPORTED - Accept imported portfolios. AWS_SERVICECATALOG - Not supported. (Throws ResourceNotFoundException.) For example, aws servicecatalog accept-portfolio-share --portfolio-id \"port-2qwzkwxt3y5fk\" --portfolio-share-type AWS_ORGANIZATIONS " +} +""" +AcceptPortfolioShare(args) = service_catalog("AcceptPortfolioShare", args) + +""" + ListServiceActionsForProvisioningArtifact() + +Returns a paginated list of self-service actions associated with the specified Product ID and Provisioning Artifact ID. + +Required Parameters +{ + "ProductId": "The product identifier. For example, prod-abcdzk7xy33qa.", + "ProvisioningArtifactId": "The identifier of the provisioning artifact. For example, pa-4abcdjnxjj6ne." +} + +Optional Parameters +{ + "AcceptLanguage": "The language code. en - English (default) jp - Japanese zh - Chinese ", + "PageSize": "The maximum number of items to return with this call.", + "PageToken": "The page token for the next set of results. To retrieve the first set of results, use null." +} +""" +ListServiceActionsForProvisioningArtifact(args) = service_catalog("ListServiceActionsForProvisioningArtifact", args) + +""" + AssociateServiceActionWithProvisioningArtifact() + +Associates a self-service action with a provisioning artifact. + +Required Parameters +{ + "ProductId": "The product identifier. For example, prod-abcdzk7xy33qa.", + "ServiceActionId": "The self-service action identifier. For example, act-fs7abcd89wxyz.", + "ProvisioningArtifactId": "The identifier of the provisioning artifact. For example, pa-4abcdjnxjj6ne." +} + +Optional Parameters +{ + "AcceptLanguage": "The language code. en - English (default) jp - Japanese zh - Chinese " +} +""" +AssociateServiceActionWithProvisioningArtifact(args) = service_catalog("AssociateServiceActionWithProvisioningArtifact", args) + +""" + DeleteConstraint() + +Deletes the specified constraint. + +Required Parameters +{ + "Id": "The identifier of the constraint." +} + +Optional Parameters +{ + "AcceptLanguage": "The language code. en - English (default) jp - Japanese zh - Chinese " +} +""" +DeleteConstraint(args) = service_catalog("DeleteConstraint", args) + +""" + DisassociatePrincipalFromPortfolio() + +Disassociates a previously associated principal ARN from a specified portfolio. + +Required Parameters +{ + "PrincipalARN": "The ARN of the principal (IAM user, role, or group).", + "PortfolioId": "The portfolio identifier." +} + +Optional Parameters +{ + "AcceptLanguage": "The language code. en - English (default) jp - Japanese zh - Chinese " +} +""" +DisassociatePrincipalFromPortfolio(args) = service_catalog("DisassociatePrincipalFromPortfolio", args) + +""" + ListOrganizationPortfolioAccess() + +Lists the organization nodes that have access to the specified portfolio. This API can only be called by the master account in the organization. + +Required Parameters +{ + "PortfolioId": "The portfolio identifier. For example, port-2abcdext3y5fk.", + "OrganizationNodeType": "The organization node type that will be returned in the output. ORGANIZATION - Organization that has access to the portfolio. ORGANIZATIONAL_UNIT - Organizational unit that has access to the portfolio within your organization. ACCOUNT - Account that has access to the portfolio within your organization. " +} + +Optional Parameters +{ + "AcceptLanguage": "The language code. en - English (default) jp - Japanese zh - Chinese ", + "PageSize": "The maximum number of items to return with this call.", + "PageToken": "The page token for the next set of results. To retrieve the first set of results, use null." +} +""" +ListOrganizationPortfolioAccess(args) = service_catalog("ListOrganizationPortfolioAccess", args) + +""" + CreateServiceAction() + +Creates a self-service action. + +Required Parameters +{ + "Definition": "The self-service action definition. Can be one of the following: Name The name of the AWS Systems Manager Document. For example, AWS-RestartEC2Instance. Version The AWS Systems Manager automation document version. For example, \"Version\": \"1\" AssumeRole The Amazon Resource Name (ARN) of the role that performs the self-service actions on your behalf. For example, \"AssumeRole\": \"arn:aws:iam::12345678910:role/ActionRole\". To reuse the provisioned product launch role, set to \"AssumeRole\": \"LAUNCH_ROLE\". Parameters The list of parameters in JSON format. For example: [{ \"Name \": \"InstanceId \", \"Type \": \"TARGET \"}] or [{ \"Name \": \"InstanceId \", \"Type \": \"TEXT_VALUE \"}]. ", + "IdempotencyToken": "A unique identifier that you provide to ensure idempotency. If multiple requests differ only by the idempotency token, the same response is returned for each repeated request.", + "DefinitionType": "The service action definition type. For example, SSM_AUTOMATION.", + "Name": "The self-service action name." +} + +Optional Parameters +{ + "Description": "The self-service action description.", + "AcceptLanguage": "The language code. en - English (default) jp - Japanese zh - Chinese " +} +""" +CreateServiceAction(args) = service_catalog("CreateServiceAction", args) + +""" + DisableAWSOrganizationsAccess() + +Disable portfolio sharing through AWS Organizations feature. This feature will not delete your current shares but it will prevent you from creating new shares throughout your organization. Current shares will not be in sync with your organization structure if it changes after calling this API. This API can only be called by the master account in the organization. +""" +DisableAWSOrganizationsAccess() = service_catalog("DisableAWSOrganizationsAccess") +DisableAWSOrganizationsAccess(args) = service_catalog("DisableAWSOrganizationsAccess", args) + +""" + GetAWSOrganizationsAccessStatus() + +Get the Access Status for AWS Organization portfolio share feature. This API can only be called by the master account in the organization. +""" +GetAWSOrganizationsAccessStatus() = service_catalog("GetAWSOrganizationsAccessStatus") +GetAWSOrganizationsAccessStatus(args) = service_catalog("GetAWSOrganizationsAccessStatus", args) + +""" + BatchDisassociateServiceActionFromProvisioningArtifact() + +Disassociates a batch of self-service actions from the specified provisioning artifact. + +Required Parameters +{ + "ServiceActionAssociations": "One or more associations, each consisting of the Action ID, the Product ID, and the Provisioning Artifact ID." +} + +Optional Parameters +{ + "AcceptLanguage": "The language code. en - English (default) jp - Japanese zh - Chinese " +} +""" +BatchDisassociateServiceActionFromProvisioningArtifact(args) = service_catalog("BatchDisassociateServiceActionFromProvisioningArtifact", args) + +""" + AssociateProductWithPortfolio() + +Associates the specified product with the specified portfolio. + +Required Parameters +{ + "ProductId": "The product identifier.", + "PortfolioId": "The portfolio identifier." +} + +Optional Parameters +{ + "AcceptLanguage": "The language code. en - English (default) jp - Japanese zh - Chinese ", + "SourcePortfolioId": "The identifier of the source portfolio." +} +""" +AssociateProductWithPortfolio(args) = service_catalog("AssociateProductWithPortfolio", args) + +""" + CreateProduct() + +Creates a product. + +Required Parameters +{ + "IdempotencyToken": "A unique identifier that you provide to ensure idempotency. If multiple requests differ only by the idempotency token, the same response is returned for each repeated request.", + "Owner": "The owner of the product.", + "Name": "The name of the product.", + "ProvisioningArtifactParameters": "The configuration of the provisioning artifact.", + "ProductType": "The type of product." +} + +Optional Parameters +{ + "SupportUrl": "The contact URL for product support.", + "AcceptLanguage": "The language code. en - English (default) jp - Japanese zh - Chinese ", + "Description": "The description of the product.", + "Distributor": "The distributor of the product.", + "Tags": "One or more tags.", + "SupportDescription": "The support information about the product.", + "SupportEmail": "The contact email for product support." +} +""" +CreateProduct(args) = service_catalog("CreateProduct", args) + +""" + UpdateTagOption() + +Updates the specified TagOption. + +Required Parameters +{ + "Id": "The TagOption identifier." +} + +Optional Parameters +{ + "Value": "The updated value.", + "Active": "The updated active state." +} +""" +UpdateTagOption(args) = service_catalog("UpdateTagOption", args) + +""" + CopyProduct() + +Copies the specified source product to the specified target product or a new product. You can copy a product to the same account or another account. You can copy a product to the same region or another region. This operation is performed asynchronously. To track the progress of the operation, use DescribeCopyProductStatus. + +Required Parameters +{ + "SourceProductArn": "The Amazon Resource Name (ARN) of the source product.", + "IdempotencyToken": " A unique identifier that you provide to ensure idempotency. If multiple requests differ only by the idempotency token, the same response is returned for each repeated request. " +} + +Optional Parameters +{ + "AcceptLanguage": "The language code. en - English (default) jp - Japanese zh - Chinese ", + "TargetProductId": "The identifier of the target product. By default, a new product is created.", + "TargetProductName": "A name for the target product. The default is the name of the source product.", + "SourceProvisioningArtifactIdentifiers": "The identifiers of the provisioning artifacts (also known as versions) of the product to copy. By default, all provisioning artifacts are copied.", + "CopyOptions": "The copy options. If the value is CopyTags, the tags from the source product are copied to the target product." +} +""" +CopyProduct(args) = service_catalog("CopyProduct", args) + +""" + ListPortfoliosForProduct() + +Lists all portfolios that the specified product is associated with. + +Required Parameters +{ + "ProductId": "The product identifier." +} + +Optional Parameters +{ + "AcceptLanguage": "The language code. en - English (default) jp - Japanese zh - Chinese ", + "PageSize": "The maximum number of items to return with this call.", + "PageToken": "The page token for the next set of results. To retrieve the first set of results, use null." +} +""" +ListPortfoliosForProduct(args) = service_catalog("ListPortfoliosForProduct", args) + +""" + DescribeProvisioningParameters() + +Gets information about the configuration required to provision the specified product using the specified provisioning artifact. If the output contains a TagOption key with an empty list of values, there is a TagOption conflict for that key. The end user cannot take action to fix the conflict, and launch is not blocked. In subsequent calls to ProvisionProduct, do not include conflicted TagOption keys as tags, or this causes the error "Parameter validation failed: Missing required parameter in Tags[N]:Value". Tag the provisioned product with the value sc-tagoption-conflict-portfolioId-productId. + +Required Parameters +{ + "ProductId": "The product identifier.", + "ProvisioningArtifactId": "The identifier of the provisioning artifact." +} + +Optional Parameters +{ + "PathId": "The path identifier of the product. This value is optional if the product has a default path, and required if the product has more than one path. To list the paths for a product, use ListLaunchPaths.", + "AcceptLanguage": "The language code. en - English (default) jp - Japanese zh - Chinese " +} +""" +DescribeProvisioningParameters(args) = service_catalog("DescribeProvisioningParameters", args) + +""" + ListProvisionedProductPlans() + +Lists the plans for the specified provisioned product or all plans to which the user has access. + +Optional Parameters +{ + "AcceptLanguage": "The language code. en - English (default) jp - Japanese zh - Chinese ", + "AccessLevelFilter": "The access level to use to obtain results. The default is User.", + "ProvisionProductId": "The product identifier.", + "PageSize": "The maximum number of items to return with this call.", + "PageToken": "The page token for the next set of results. To retrieve the first set of results, use null." +} +""" +ListProvisionedProductPlans() = service_catalog("ListProvisionedProductPlans") +ListProvisionedProductPlans(args) = service_catalog("ListProvisionedProductPlans", args) + +""" + ProvisionProduct() + +Provisions the specified product. A provisioned product is a resourced instance of a product. For example, provisioning a product based on a CloudFormation template launches a CloudFormation stack and its underlying resources. You can check the status of this request using DescribeRecord. If the request contains a tag key with an empty list of values, there is a tag conflict for that key. Do not include conflicted keys as tags, or this causes the error "Parameter validation failed: Missing required parameter in Tags[N]:Value". + +Required Parameters +{ + "ProvisionedProductName": "A user-friendly name for the provisioned product. This value must be unique for the AWS account and cannot be updated after the product is provisioned.", + "ProductId": "The product identifier.", + "ProvisioningArtifactId": "The identifier of the provisioning artifact.", + "ProvisionToken": "An idempotency token that uniquely identifies the provisioning request." +} + +Optional Parameters +{ + "PathId": "The path identifier of the product. This value is optional if the product has a default path, and required if the product has more than one path. To list the paths for a product, use ListLaunchPaths.", + "AcceptLanguage": "The language code. en - English (default) jp - Japanese zh - Chinese ", + "ProvisioningParameters": "Parameters specified by the administrator that are required for provisioning the product.", + "ProvisioningPreferences": "An object that contains information about the provisioning preferences for a stack set.", + "Tags": "One or more tags.", + "NotificationArns": "Passed to CloudFormation. The SNS topic ARNs to which to publish stack-related events." +} +""" +ProvisionProduct(args) = service_catalog("ProvisionProduct", args) + +""" + ListPortfolios() + +Lists all portfolios in the catalog. + +Optional Parameters +{ + "AcceptLanguage": "The language code. en - English (default) jp - Japanese zh - Chinese ", + "PageSize": "The maximum number of items to return with this call.", + "PageToken": "The page token for the next set of results. To retrieve the first set of results, use null." +} +""" +ListPortfolios() = service_catalog("ListPortfolios") +ListPortfolios(args) = service_catalog("ListPortfolios", args) + +""" + DescribeServiceActionExecutionParameters() + +Finds the default parameters for a specific self-service action on a specific provisioned product and returns a map of the results to the user. + +Required Parameters +{ + "ProvisionedProductId": "The identifier of the provisioned product.", + "ServiceActionId": "The self-service action identifier." +} + +Optional Parameters +{ + "AcceptLanguage": "The language code. en - English (default) jp - Japanese zh - Chinese " +} +""" +DescribeServiceActionExecutionParameters(args) = service_catalog("DescribeServiceActionExecutionParameters", args) + +""" + ScanProvisionedProducts() + +Lists the provisioned products that are available (not terminated). To use additional filtering, see SearchProvisionedProducts. + +Optional Parameters +{ + "AcceptLanguage": "The language code. en - English (default) jp - Japanese zh - Chinese ", + "AccessLevelFilter": "The access level to use to obtain results. The default is User.", + "PageSize": "The maximum number of items to return with this call.", + "PageToken": "The page token for the next set of results. To retrieve the first set of results, use null." +} +""" +ScanProvisionedProducts() = service_catalog("ScanProvisionedProducts") +ScanProvisionedProducts(args) = service_catalog("ScanProvisionedProducts", args) + +""" + AssociatePrincipalWithPortfolio() + +Associates the specified principal ARN with the specified portfolio. + +Required Parameters +{ + "PrincipalARN": "The ARN of the principal (IAM user, role, or group).", + "PortfolioId": "The portfolio identifier.", + "PrincipalType": "The principal type. The supported value is IAM." +} + +Optional Parameters +{ + "AcceptLanguage": "The language code. en - English (default) jp - Japanese zh - Chinese " +} +""" +AssociatePrincipalWithPortfolio(args) = service_catalog("AssociatePrincipalWithPortfolio", args) + +""" + ExecuteProvisionedProductPlan() + +Provisions or modifies a product based on the resource changes for the specified plan. + +Required Parameters +{ + "IdempotencyToken": "A unique identifier that you provide to ensure idempotency. If multiple requests differ only by the idempotency token, the same response is returned for each repeated request.", + "PlanId": "The plan identifier." +} + +Optional Parameters +{ + "AcceptLanguage": "The language code. en - English (default) jp - Japanese zh - Chinese " +} +""" +ExecuteProvisionedProductPlan(args) = service_catalog("ExecuteProvisionedProductPlan", args) + +""" + ListPrincipalsForPortfolio() + +Lists all principal ARNs associated with the specified portfolio. + +Required Parameters +{ + "PortfolioId": "The portfolio identifier." +} + +Optional Parameters +{ + "AcceptLanguage": "The language code. en - English (default) jp - Japanese zh - Chinese ", + "PageSize": "The maximum number of items to return with this call.", + "PageToken": "The page token for the next set of results. To retrieve the first set of results, use null." +} +""" +ListPrincipalsForPortfolio(args) = service_catalog("ListPrincipalsForPortfolio", args) + +""" + ListTagOptions() + +Lists the specified TagOptions or all TagOptions. + +Optional Parameters +{ + "PageSize": "The maximum number of items to return with this call.", + "Filters": "The search filters. If no search filters are specified, the output includes all TagOptions.", + "PageToken": "The page token for the next set of results. To retrieve the first set of results, use null." +} +""" +ListTagOptions() = service_catalog("ListTagOptions") +ListTagOptions(args) = service_catalog("ListTagOptions", args) + +""" + DisassociateTagOptionFromResource() + +Disassociates the specified TagOption from the specified resource. + +Required Parameters +{ + "TagOptionId": "The TagOption identifier.", + "ResourceId": "The resource identifier." +} +""" +DisassociateTagOptionFromResource(args) = service_catalog("DisassociateTagOptionFromResource", args) + +""" + UpdateProvisionedProductProperties() + +Requests updates to the properties of the specified provisioned product. + +Required Parameters +{ + "ProvisionedProductId": "The identifier of the provisioned product.", + "IdempotencyToken": "The idempotency token that uniquely identifies the provisioning product update request.", + "ProvisionedProductProperties": "A map that contains the provisioned product properties to be updated. The OWNER key only accepts user ARNs. The owner is the user that is allowed to see, update, terminate, and execute service actions in the provisioned product. The administrator can change the owner of a provisioned product to another IAM user within the same account. Both end user owners and administrators can see ownership history of the provisioned product using the ListRecordHistory API. The new owner can describe all past records for the provisioned product using the DescribeRecord API. The previous owner can no longer use DescribeRecord, but can still see the product's history from when he was an owner using ListRecordHistory. If a provisioned product ownership is assigned to an end user, they can see and perform any action through the API or Service Catalog console such as update, terminate, and execute service actions. If an end user provisions a product and the owner is updated to someone else, they will no longer be able to see or perform any actions through API or the Service Catalog console on that provisioned product." +} + +Optional Parameters +{ + "AcceptLanguage": "The language code. en - English (default) jp - Japanese zh - Chinese " +} +""" +UpdateProvisionedProductProperties(args) = service_catalog("UpdateProvisionedProductProperties", args) + +""" + DescribeProductAsAdmin() + +Gets information about the specified product. This operation is run with administrator access. + +Required Parameters +{ + "Id": "The product identifier." +} + +Optional Parameters +{ + "AcceptLanguage": "The language code. en - English (default) jp - Japanese zh - Chinese " +} +""" +DescribeProductAsAdmin(args) = service_catalog("DescribeProductAsAdmin", args) + +""" + DeleteServiceAction() + +Deletes a self-service action. + +Required Parameters +{ + "Id": "The self-service action identifier. For example, act-fs7abcd89wxyz." +} + +Optional Parameters +{ + "AcceptLanguage": "The language code. en - English (default) jp - Japanese zh - Chinese " +} +""" +DeleteServiceAction(args) = service_catalog("DeleteServiceAction", args) + +""" + ListProvisioningArtifactsForServiceAction() + +Lists all provisioning artifacts (also known as versions) for the specified self-service action. + +Required Parameters +{ + "ServiceActionId": "The self-service action identifier. For example, act-fs7abcd89wxyz." +} + +Optional Parameters +{ + "AcceptLanguage": "The language code. en - English (default) jp - Japanese zh - Chinese ", + "PageSize": "The maximum number of items to return with this call.", + "PageToken": "The page token for the next set of results. To retrieve the first set of results, use null." +} +""" +ListProvisioningArtifactsForServiceAction(args) = service_catalog("ListProvisioningArtifactsForServiceAction", args) + +""" + DeleteProvisioningArtifact() + +Deletes the specified provisioning artifact (also known as a version) for the specified product. You cannot delete a provisioning artifact associated with a product that was shared with you. You cannot delete the last provisioning artifact for a product, because a product must have at least one provisioning artifact. + +Required Parameters +{ + "ProductId": "The product identifier.", + "ProvisioningArtifactId": "The identifier of the provisioning artifact." +} + +Optional Parameters +{ + "AcceptLanguage": "The language code. en - English (default) jp - Japanese zh - Chinese " +} +""" +DeleteProvisioningArtifact(args) = service_catalog("DeleteProvisioningArtifact", args) + +""" + ListServiceActions() + +Lists all self-service actions. + +Optional Parameters +{ + "AcceptLanguage": "The language code. en - English (default) jp - Japanese zh - Chinese ", + "PageSize": "The maximum number of items to return with this call.", + "PageToken": "The page token for the next set of results. To retrieve the first set of results, use null." +} +""" +ListServiceActions() = service_catalog("ListServiceActions") +ListServiceActions(args) = service_catalog("ListServiceActions", args) + +""" + TerminateProvisionedProduct() + +Terminates the specified provisioned product. This operation does not delete any records associated with the provisioned product. You can check the status of this request using DescribeRecord. + +Required Parameters +{ + "TerminateToken": "An idempotency token that uniquely identifies the termination request. This token is only valid during the termination process. After the provisioned product is terminated, subsequent requests to terminate the same provisioned product always return ResourceNotFound." +} + +Optional Parameters +{ + "ProvisionedProductId": "The identifier of the provisioned product. You cannot specify both ProvisionedProductName and ProvisionedProductId.", + "AcceptLanguage": "The language code. en - English (default) jp - Japanese zh - Chinese ", + "ProvisionedProductName": "The name of the provisioned product. You cannot specify both ProvisionedProductName and ProvisionedProductId.", + "IgnoreErrors": "If set to true, AWS Service Catalog stops managing the specified provisioned product even if it cannot delete the underlying resources." +} +""" +TerminateProvisionedProduct(args) = service_catalog("TerminateProvisionedProduct", args) + +""" + CreatePortfolio() + +Creates a portfolio. + +Required Parameters +{ + "ProviderName": "The name of the portfolio provider.", + "IdempotencyToken": "A unique identifier that you provide to ensure idempotency. If multiple requests differ only by the idempotency token, the same response is returned for each repeated request.", + "DisplayName": "The name to use for display purposes." +} + +Optional Parameters +{ + "AcceptLanguage": "The language code. en - English (default) jp - Japanese zh - Chinese ", + "Description": "The description of the portfolio.", + "Tags": "One or more tags." +} +""" +CreatePortfolio(args) = service_catalog("CreatePortfolio", args) + +""" + DeletePortfolioShare() + +Stops sharing the specified portfolio with the specified account or organization node. Shares to an organization node can only be deleted by the master account of an Organization. + +Required Parameters +{ + "PortfolioId": "The portfolio identifier." +} + +Optional Parameters +{ + "AcceptLanguage": "The language code. en - English (default) jp - Japanese zh - Chinese ", + "AccountId": "The AWS account ID.", + "OrganizationNode": "The organization node to whom you are going to stop sharing." +} +""" +DeletePortfolioShare(args) = service_catalog("DeletePortfolioShare", args) + +""" + UpdateProvisionedProduct() + +Requests updates to the configuration of the specified provisioned product. If there are tags associated with the object, they cannot be updated or added. Depending on the specific updates requested, this operation can update with no interruption, with some interruption, or replace the provisioned product entirely. You can check the status of this request using DescribeRecord. + +Required Parameters +{ + "UpdateToken": "The idempotency token that uniquely identifies the provisioning update request." +} + +Optional Parameters +{ + "PathId": "The new path identifier. This value is optional if the product has a default path, and required if the product has more than one path.", + "ProvisionedProductId": "The identifier of the provisioned product. You cannot specify both ProvisionedProductName and ProvisionedProductId.", + "AcceptLanguage": "The language code. en - English (default) jp - Japanese zh - Chinese ", + "ProvisioningParameters": "The new parameters.", + "ProvisionedProductName": "The name of the provisioned product. You cannot specify both ProvisionedProductName and ProvisionedProductId.", + "ProvisioningPreferences": "An object that contains information about the provisioning preferences for a stack set.", + "Tags": "One or more tags. Requires the product to have RESOURCE_UPDATE constraint with TagUpdatesOnProvisionedProduct set to ALLOWED to allow tag updates.", + "ProductId": "The identifier of the product.", + "ProvisioningArtifactId": "The identifier of the provisioning artifact." +} +""" +UpdateProvisionedProduct(args) = service_catalog("UpdateProvisionedProduct", args) + +""" + SearchProvisionedProducts() + +Gets information about the provisioned products that meet the specified criteria. + +Optional Parameters +{ + "AcceptLanguage": "The language code. en - English (default) jp - Japanese zh - Chinese ", + "AccessLevelFilter": "The access level to use to obtain results. The default is User.", + "SortOrder": "The sort order. If no value is specified, the results are not sorted.", + "PageSize": "The maximum number of items to return with this call.", + "Filters": "The search filters. When the key is SearchQuery, the searchable fields are arn, createdTime, id, lastRecordId, idempotencyToken, name, physicalId, productId, provisioningArtifact, type, status, tags, userArn, and userArnSession. Example: \"SearchQuery\":[\"status:AVAILABLE\"] ", + "PageToken": "The page token for the next set of results. To retrieve the first set of results, use null.", + "SortBy": "The sort field. If no value is specified, the results are not sorted. The valid values are arn, id, name, and lastRecordId." +} +""" +SearchProvisionedProducts() = service_catalog("SearchProvisionedProducts") +SearchProvisionedProducts(args) = service_catalog("SearchProvisionedProducts", args) + +""" + DescribeProductView() + +Gets information about the specified product. + +Required Parameters +{ + "Id": "The product view identifier." +} + +Optional Parameters +{ + "AcceptLanguage": "The language code. en - English (default) jp - Japanese zh - Chinese " +} +""" +DescribeProductView(args) = service_catalog("DescribeProductView", args) + +""" + EnableAWSOrganizationsAccess() + +Enable portfolio sharing feature through AWS Organizations. This API will allow Service Catalog to receive updates on your organization in order to sync your shares with the current structure. This API can only be called by the master account in the organization. By calling this API Service Catalog will make a call to organizations:EnableAWSServiceAccess on your behalf so that your shares can be in sync with any changes in your AWS Organizations structure. +""" +EnableAWSOrganizationsAccess() = service_catalog("EnableAWSOrganizationsAccess") +EnableAWSOrganizationsAccess(args) = service_catalog("EnableAWSOrganizationsAccess", args) + +""" + UpdatePortfolio() + +Updates the specified portfolio. You cannot update a product that was shared with you. + +Required Parameters +{ + "Id": "The portfolio identifier." +} + +Optional Parameters +{ + "ProviderName": "The updated name of the portfolio provider.", + "AcceptLanguage": "The language code. en - English (default) jp - Japanese zh - Chinese ", + "Description": "The updated description of the portfolio.", + "AddTags": "The tags to add.", + "RemoveTags": "The tags to remove.", + "DisplayName": "The name to use for display purposes." +} +""" +UpdatePortfolio(args) = service_catalog("UpdatePortfolio", args) + +""" + DescribeConstraint() + +Gets information about the specified constraint. + +Required Parameters +{ + "Id": "The identifier of the constraint." +} + +Optional Parameters +{ + "AcceptLanguage": "The language code. en - English (default) jp - Japanese zh - Chinese " +} +""" +DescribeConstraint(args) = service_catalog("DescribeConstraint", args) + +""" + ListRecordHistory() + +Lists the specified requests or all performed requests. + +Optional Parameters +{ + "AcceptLanguage": "The language code. en - English (default) jp - Japanese zh - Chinese ", + "AccessLevelFilter": "The access level to use to obtain results. The default is User.", + "SearchFilter": "The search filter to scope the results.", + "PageSize": "The maximum number of items to return with this call.", + "PageToken": "The page token for the next set of results. To retrieve the first set of results, use null." +} +""" +ListRecordHistory() = service_catalog("ListRecordHistory") +ListRecordHistory(args) = service_catalog("ListRecordHistory", args) + +""" + UpdateServiceAction() + +Updates a self-service action. + +Required Parameters +{ + "Id": "The self-service action identifier." +} + +Optional Parameters +{ + "Definition": "A map that defines the self-service action.", + "Description": "The self-service action description.", + "AcceptLanguage": "The language code. en - English (default) jp - Japanese zh - Chinese ", + "Name": "The self-service action name." +} +""" +UpdateServiceAction(args) = service_catalog("UpdateServiceAction", args) + +""" + ListBudgetsForResource() + +Lists all the budgets associated to the specified resource. + +Required Parameters +{ + "ResourceId": "The resource identifier." +} + +Optional Parameters +{ + "AcceptLanguage": "The language code. en - English (default) jp - Japanese zh - Chinese ", + "PageSize": "The maximum number of items to return with this call.", + "PageToken": "The page token for the next set of results. To retrieve the first set of results, use null." +} +""" +ListBudgetsForResource(args) = service_catalog("ListBudgetsForResource", args) + +""" + CreateProvisioningArtifact() + +Creates a provisioning artifact (also known as a version) for the specified product. You cannot create a provisioning artifact for a product that was shared with you. + +Required Parameters +{ + "IdempotencyToken": "A unique identifier that you provide to ensure idempotency. If multiple requests differ only by the idempotency token, the same response is returned for each repeated request.", + "ProductId": "The product identifier.", + "Parameters": "The configuration for the provisioning artifact." +} + +Optional Parameters +{ + "AcceptLanguage": "The language code. en - English (default) jp - Japanese zh - Chinese " +} +""" +CreateProvisioningArtifact(args) = service_catalog("CreateProvisioningArtifact", args) + +""" + UpdateConstraint() + +Updates the specified constraint. + +Required Parameters +{ + "Id": "The identifier of the constraint." +} + +Optional Parameters +{ + "AcceptLanguage": "The language code. en - English (default) jp - Japanese zh - Chinese ", + "Description": "The updated description of the constraint.", + "Parameters": "The constraint parameters, in JSON format. The syntax depends on the constraint type as follows: LAUNCH You are required to specify either the RoleArn or the LocalRoleName but can't use both. Specify the RoleArn property as follows: {\"RoleArn\" : \"arn:aws:iam::123456789012:role/LaunchRole\"} Specify the LocalRoleName property as follows: {\"LocalRoleName\": \"SCBasicLaunchRole\"} If you specify the LocalRoleName property, when an account uses the launch constraint, the IAM role with that name in the account will be used. This allows launch-role constraints to be account-agnostic so the administrator can create fewer resources per shared account. The given role name must exist in the account used to create the launch constraint and the account of the user who launches a product with this launch constraint. You cannot have both a LAUNCH and a STACKSET constraint. You also cannot have more than one LAUNCH constraint on a product and portfolio. NOTIFICATION Specify the NotificationArns property as follows: {\"NotificationArns\" : [\"arn:aws:sns:us-east-1:123456789012:Topic\"]} RESOURCE_UPDATE Specify the TagUpdatesOnProvisionedProduct property as follows: {\"Version\":\"2.0\",\"Properties\":{\"TagUpdateOnProvisionedProduct\":\"String\"}} The TagUpdatesOnProvisionedProduct property accepts a string value of ALLOWED or NOT_ALLOWED. STACKSET Specify the Parameters property as follows: {\"Version\": \"String\", \"Properties\": {\"AccountList\": [ \"String\" ], \"RegionList\": [ \"String\" ], \"AdminRole\": \"String\", \"ExecutionRole\": \"String\"}} You cannot have both a LAUNCH and a STACKSET constraint. You also cannot have more than one STACKSET constraint on a product and portfolio. Products with a STACKSET constraint will launch an AWS CloudFormation stack set. TEMPLATE Specify the Rules property. For more information, see Template Constraint Rules. " +} +""" +UpdateConstraint(args) = service_catalog("UpdateConstraint", args) + +""" + DescribePortfolio() + +Gets information about the specified portfolio. + +Required Parameters +{ + "Id": "The portfolio identifier." +} + +Optional Parameters +{ + "AcceptLanguage": "The language code. en - English (default) jp - Japanese zh - Chinese " +} +""" +DescribePortfolio(args) = service_catalog("DescribePortfolio", args) + +""" + DeleteProduct() + +Deletes the specified product. You cannot delete a product if it was shared with you or is associated with a portfolio. + +Required Parameters +{ + "Id": "The product identifier." +} + +Optional Parameters +{ + "AcceptLanguage": "The language code. en - English (default) jp - Japanese zh - Chinese " +} +""" +DeleteProduct(args) = service_catalog("DeleteProduct", args) + +""" + AssociateTagOptionWithResource() + +Associate the specified TagOption with the specified portfolio or product. + +Required Parameters +{ + "TagOptionId": "The TagOption identifier.", + "ResourceId": "The resource identifier." +} +""" +AssociateTagOptionWithResource(args) = service_catalog("AssociateTagOptionWithResource", args) + +""" + BatchAssociateServiceActionWithProvisioningArtifact() + +Associates multiple self-service actions with provisioning artifacts. + +Required Parameters +{ + "ServiceActionAssociations": "One or more associations, each consisting of the Action ID, the Product ID, and the Provisioning Artifact ID." +} + +Optional Parameters +{ + "AcceptLanguage": "The language code. en - English (default) jp - Japanese zh - Chinese " +} +""" +BatchAssociateServiceActionWithProvisioningArtifact(args) = service_catalog("BatchAssociateServiceActionWithProvisioningArtifact", args) + +""" + DescribeTagOption() + +Gets information about the specified TagOption. + +Required Parameters +{ + "Id": "The TagOption identifier." +} +""" +DescribeTagOption(args) = service_catalog("DescribeTagOption", args) + +""" + ExecuteProvisionedProductServiceAction() + +Executes a self-service action against a provisioned product. + +Required Parameters +{ + "ProvisionedProductId": "The identifier of the provisioned product.", + "ExecuteToken": "An idempotency token that uniquely identifies the execute request.", + "ServiceActionId": "The self-service action identifier. For example, act-fs7abcd89wxyz." +} + +Optional Parameters +{ + "AcceptLanguage": "The language code. en - English (default) jp - Japanese zh - Chinese ", + "Parameters": "A map of all self-service action parameters and their values. If a provided parameter is of a special type, such as TARGET, the provided value will override the default value generated by AWS Service Catalog. If the parameters field is not provided, no additional parameters are passed and default values will be used for any special parameters such as TARGET." +} +""" +ExecuteProvisionedProductServiceAction(args) = service_catalog("ExecuteProvisionedProductServiceAction", args) + +""" + DescribeProvisioningArtifact() + +Gets information about the specified provisioning artifact (also known as a version) for the specified product. + +Required Parameters +{ + "ProductId": "The product identifier.", + "ProvisioningArtifactId": "The identifier of the provisioning artifact." +} + +Optional Parameters +{ + "Verbose": "Indicates whether a verbose level of detail is enabled.", + "AcceptLanguage": "The language code. en - English (default) jp - Japanese zh - Chinese " +} +""" +DescribeProvisioningArtifact(args) = service_catalog("DescribeProvisioningArtifact", args) + +""" + DescribeProvisionedProductPlan() + +Gets information about the resource changes for the specified plan. + +Required Parameters +{ + "PlanId": "The plan identifier." +} + +Optional Parameters +{ + "AcceptLanguage": "The language code. en - English (default) jp - Japanese zh - Chinese ", + "PageSize": "The maximum number of items to return with this call.", + "PageToken": "The page token for the next set of results. To retrieve the first set of results, use null." +} +""" +DescribeProvisionedProductPlan(args) = service_catalog("DescribeProvisionedProductPlan", args) + +""" + DescribeRecord() + +Gets information about the specified request operation. Use this operation after calling a request operation (for example, ProvisionProduct, TerminateProvisionedProduct, or UpdateProvisionedProduct). If a provisioned product was transferred to a new owner using UpdateProvisionedProductProperties, the new owner will be able to describe all past records for that product. The previous owner will no longer be able to describe the records, but will be able to use ListRecordHistory to see the product's history from when he was the owner. + +Required Parameters +{ + "Id": "The record identifier of the provisioned product. This identifier is returned by the request operation." +} + +Optional Parameters +{ + "AcceptLanguage": "The language code. en - English (default) jp - Japanese zh - Chinese ", + "PageSize": "The maximum number of items to return with this call.", + "PageToken": "The page token for the next set of results. To retrieve the first set of results, use null." +} +""" +DescribeRecord(args) = service_catalog("DescribeRecord", args) + +""" + DeleteTagOption() + +Deletes the specified TagOption. You cannot delete a TagOption if it is associated with a product or portfolio. + +Required Parameters +{ + "Id": "The TagOption identifier." +} +""" +DeleteTagOption(args) = service_catalog("DeleteTagOption", args) + +""" + DeleteProvisionedProductPlan() + +Deletes the specified plan. + +Required Parameters +{ + "PlanId": "The plan identifier." +} + +Optional Parameters +{ + "AcceptLanguage": "The language code. en - English (default) jp - Japanese zh - Chinese ", + "IgnoreErrors": "If set to true, AWS Service Catalog stops managing the specified provisioned product even if it cannot delete the underlying resources." +} +""" +DeleteProvisionedProductPlan(args) = service_catalog("DeleteProvisionedProductPlan", args) + +""" + SearchProducts() + +Gets information about the products to which the caller has access. + +Optional Parameters +{ + "AcceptLanguage": "The language code. en - English (default) jp - Japanese zh - Chinese ", + "PageSize": "The maximum number of items to return with this call.", + "SortOrder": "The sort order. If no value is specified, the results are not sorted.", + "Filters": "The search filters. If no search filters are specified, the output includes all products to which the caller has access.", + "PageToken": "The page token for the next set of results. To retrieve the first set of results, use null.", + "SortBy": "The sort field. If no value is specified, the results are not sorted." +} +""" +SearchProducts() = service_catalog("SearchProducts") +SearchProducts(args) = service_catalog("SearchProducts", args) + +""" + DescribeProvisionedProduct() + +Gets information about the specified provisioned product. + +Required Parameters +{ + "Id": "The provisioned product identifier." +} + +Optional Parameters +{ + "AcceptLanguage": "The language code. en - English (default) jp - Japanese zh - Chinese " +} +""" +DescribeProvisionedProduct(args) = service_catalog("DescribeProvisionedProduct", args) + +""" + DisassociateBudgetFromResource() + +Disassociates the specified budget from the specified resource. + +Required Parameters +{ + "ResourceId": "The resource identifier you want to disassociate from. Either a portfolio-id or a product-id.", + "BudgetName": "The name of the budget you want to disassociate." +} +""" +DisassociateBudgetFromResource(args) = service_catalog("DisassociateBudgetFromResource", args) + +""" + DescribeCopyProductStatus() + +Gets the status of the specified copy product operation. + +Required Parameters +{ + "CopyProductToken": "The token for the copy product operation. This token is returned by CopyProduct." +} + +Optional Parameters +{ + "AcceptLanguage": "The language code. en - English (default) jp - Japanese zh - Chinese " +} +""" +DescribeCopyProductStatus(args) = service_catalog("DescribeCopyProductStatus", args) + +""" + DisassociateProductFromPortfolio() + +Disassociates the specified product from the specified portfolio. + +Required Parameters +{ + "ProductId": "The product identifier.", + "PortfolioId": "The portfolio identifier." +} + +Optional Parameters +{ + "AcceptLanguage": "The language code. en - English (default) jp - Japanese zh - Chinese " +} +""" +DisassociateProductFromPortfolio(args) = service_catalog("DisassociateProductFromPortfolio", args) + +""" + DescribeServiceAction() + +Describes a self-service action. + +Required Parameters +{ + "Id": "The self-service action identifier." +} + +Optional Parameters +{ + "AcceptLanguage": "The language code. en - English (default) jp - Japanese zh - Chinese " +} +""" +DescribeServiceAction(args) = service_catalog("DescribeServiceAction", args) + +""" + ListResourcesForTagOption() + +Lists the resources associated with the specified TagOption. + +Required Parameters +{ + "TagOptionId": "The TagOption identifier." +} + +Optional Parameters +{ + "ResourceType": "The resource type. Portfolio Product ", + "PageSize": "The maximum number of items to return with this call.", + "PageToken": "The page token for the next set of results. To retrieve the first set of results, use null." +} +""" +ListResourcesForTagOption(args) = service_catalog("ListResourcesForTagOption", args) + +""" + ListProvisioningArtifacts() + +Lists all provisioning artifacts (also known as versions) for the specified product. + +Required Parameters +{ + "ProductId": "The product identifier." +} + +Optional Parameters +{ + "AcceptLanguage": "The language code. en - English (default) jp - Japanese zh - Chinese " +} +""" +ListProvisioningArtifacts(args) = service_catalog("ListProvisioningArtifacts", args) + +""" + DeletePortfolio() + +Deletes the specified portfolio. You cannot delete a portfolio if it was shared with you or if it has associated products, users, constraints, or shared accounts. + +Required Parameters +{ + "Id": "The portfolio identifier." +} + +Optional Parameters +{ + "AcceptLanguage": "The language code. en - English (default) jp - Japanese zh - Chinese " +} +""" +DeletePortfolio(args) = service_catalog("DeletePortfolio", args) + +""" + ListAcceptedPortfolioShares() + +Lists all portfolios for which sharing was accepted by this account. + +Optional Parameters +{ + "AcceptLanguage": "The language code. en - English (default) jp - Japanese zh - Chinese ", + "PageSize": "The maximum number of items to return with this call.", + "PortfolioShareType": "The type of shared portfolios to list. The default is to list imported portfolios. AWS_ORGANIZATIONS - List portfolios shared by the master account of your organization AWS_SERVICECATALOG - List default portfolios IMPORTED - List imported portfolios ", + "PageToken": "The page token for the next set of results. To retrieve the first set of results, use null." +} +""" +ListAcceptedPortfolioShares() = service_catalog("ListAcceptedPortfolioShares") +ListAcceptedPortfolioShares(args) = service_catalog("ListAcceptedPortfolioShares", args) + +""" + ListStackInstancesForProvisionedProduct() + +Returns summary information about stack instances that are associated with the specified CFN_STACKSET type provisioned product. You can filter for stack instances that are associated with a specific AWS account name or region. + +Required Parameters +{ + "ProvisionedProductId": "The identifier of the provisioned product." +} + +Optional Parameters +{ + "AcceptLanguage": "The language code. en - English (default) jp - Japanese zh - Chinese ", + "PageSize": "The maximum number of items to return with this call.", + "PageToken": "The page token for the next set of results. To retrieve the first set of results, use null." +} +""" +ListStackInstancesForProvisionedProduct(args) = service_catalog("ListStackInstancesForProvisionedProduct", args) + +""" + UpdateProduct() + +Updates the specified product. + +Required Parameters +{ + "Id": "The product identifier." +} + +Optional Parameters +{ + "SupportUrl": "The updated support URL for the product.", + "AcceptLanguage": "The language code. en - English (default) jp - Japanese zh - Chinese ", + "Description": "The updated description of the product.", + "Distributor": "The updated distributor of the product.", + "SupportDescription": "The updated support description for the product.", + "RemoveTags": "The tags to remove from the product.", + "AddTags": "The tags to add to the product.", + "Owner": "The updated owner of the product.", + "Name": "The updated product name.", + "SupportEmail": "The updated support email for the product." +} +""" +UpdateProduct(args) = service_catalog("UpdateProduct", args) + +""" + AssociateBudgetWithResource() + +Associates the specified budget with the specified resource. + +Required Parameters +{ + "ResourceId": " The resource identifier. Either a portfolio-id or a product-id.", + "BudgetName": "The name of the budget you want to associate." +} +""" +AssociateBudgetWithResource(args) = service_catalog("AssociateBudgetWithResource", args) + +""" + SearchProductsAsAdmin() + +Gets information about the products for the specified portfolio or all products. + +Optional Parameters +{ + "AcceptLanguage": "The language code. en - English (default) jp - Japanese zh - Chinese ", + "SortOrder": "The sort order. If no value is specified, the results are not sorted.", + "PortfolioId": "The portfolio identifier.", + "PageSize": "The maximum number of items to return with this call.", + "Filters": "The search filters. If no search filters are specified, the output includes all products to which the administrator has access.", + "PageToken": "The page token for the next set of results. To retrieve the first set of results, use null.", + "ProductSource": "Access level of the source of the product.", + "SortBy": "The sort field. If no value is specified, the results are not sorted." +} +""" +SearchProductsAsAdmin() = service_catalog("SearchProductsAsAdmin") +SearchProductsAsAdmin(args) = service_catalog("SearchProductsAsAdmin", args) + +""" + ListPortfolioAccess() + +Lists the account IDs that have access to the specified portfolio. + +Required Parameters +{ + "PortfolioId": "The portfolio identifier." +} + +Optional Parameters +{ + "OrganizationParentId": "The ID of an organization node the portfolio is shared with. All children of this node with an inherited portfolio share will be returned.", + "AcceptLanguage": "The language code. en - English (default) jp - Japanese zh - Chinese ", + "PageSize": "The maximum number of items to return with this call.", + "PageToken": "The page token for the next set of results. To retrieve the first set of results, use null." +} +""" +ListPortfolioAccess(args) = service_catalog("ListPortfolioAccess", args) + +""" + DescribePortfolioShareStatus() + +Gets the status of the specified portfolio share operation. This API can only be called by the master account in the organization. + +Required Parameters +{ + "PortfolioShareToken": "The token for the portfolio share operation. This token is returned either by CreatePortfolioShare or by DeletePortfolioShare." +} +""" +DescribePortfolioShareStatus(args) = service_catalog("DescribePortfolioShareStatus", args) + +""" + ListConstraintsForPortfolio() + +Lists the constraints for the specified portfolio and product. + +Required Parameters +{ + "PortfolioId": "The portfolio identifier." +} + +Optional Parameters +{ + "AcceptLanguage": "The language code. en - English (default) jp - Japanese zh - Chinese ", + "ProductId": "The product identifier.", + "PageSize": "The maximum number of items to return with this call.", + "PageToken": "The page token for the next set of results. To retrieve the first set of results, use null." +} +""" +ListConstraintsForPortfolio(args) = service_catalog("ListConstraintsForPortfolio", args) + +""" + UpdateProvisioningArtifact() + +Updates the specified provisioning artifact (also known as a version) for the specified product. You cannot update a provisioning artifact for a product that was shared with you. + +Required Parameters +{ + "ProductId": "The product identifier.", + "ProvisioningArtifactId": "The identifier of the provisioning artifact." +} + +Optional Parameters +{ + "Guidance": "Information set by the administrator to provide guidance to end users about which provisioning artifacts to use. The DEFAULT value indicates that the product version is active. The administrator can set the guidance to DEPRECATED to inform users that the product version is deprecated. Users are able to make updates to a provisioned product of a deprecated version but cannot launch new provisioned products using a deprecated version.", + "AcceptLanguage": "The language code. en - English (default) jp - Japanese zh - Chinese ", + "Description": "The updated description of the provisioning artifact.", + "Active": "Indicates whether the product version is active. Inactive provisioning artifacts are invisible to end users. End users cannot launch or update a provisioned product from an inactive provisioning artifact.", + "Name": "The updated name of the provisioning artifact." +} +""" +UpdateProvisioningArtifact(args) = service_catalog("UpdateProvisioningArtifact", args) + +""" + CreatePortfolioShare() + +Shares the specified portfolio with the specified account or organization node. Shares to an organization node can only be created by the master account of an Organization. AWSOrganizationsAccess must be enabled in order to create a portfolio share to an organization node. + +Required Parameters +{ + "PortfolioId": "The portfolio identifier." +} + +Optional Parameters +{ + "AcceptLanguage": "The language code. en - English (default) jp - Japanese zh - Chinese ", + "AccountId": "The AWS account ID. For example, 123456789012.", + "OrganizationNode": "The organization node to whom you are going to share. If OrganizationNode is passed in, PortfolioShare will be created for the node and its children (when applies), and a PortfolioShareToken will be returned in the output in order for the administrator to monitor the status of the PortfolioShare creation process." +} +""" +CreatePortfolioShare(args) = service_catalog("CreatePortfolioShare", args) diff --git a/src/services/service_quotas.jl b/src/services/service_quotas.jl new file mode 100644 index 0000000000..b0bb42998e --- /dev/null +++ b/src/services/service_quotas.jl @@ -0,0 +1,223 @@ +include("../AWSServices.jl") +using .AWSServices: service_quotas + +""" + AssociateServiceQuotaTemplate() + +Associates the Service Quotas template with your organization so that when new accounts are created in your organization, the template submits increase requests for the specified service quotas. Use the Service Quotas template to request an increase for any adjustable quota value. After you define the Service Quotas template, use this operation to associate, or enable, the template. +""" +AssociateServiceQuotaTemplate() = service_quotas("AssociateServiceQuotaTemplate") +AssociateServiceQuotaTemplate(args) = service_quotas("AssociateServiceQuotaTemplate", args) + +""" + ListServiceQuotaIncreaseRequestsInTemplate() + +Returns a list of the quota increase requests in the template. + +Optional Parameters +{ + "MaxResults": "(Optional) Limits the number of results that you want to include in the response. If you don't include this parameter, the response defaults to a value that's specific to the operation. If additional items exist beyond the specified maximum, the NextToken element is present and has a value (isn't null). Include that value as the NextToken request parameter in the call to the operation to get the next part of the results. You should check NextToken after every operation to ensure that you receive all of the results.", + "NextToken": "(Optional) Use this parameter in a request if you receive a NextToken response in a previous request that indicates that there's more output available. In a subsequent call, set it to the value of the previous call's NextToken response to indicate where the output should continue from.", + "AwsRegion": "Specifies the AWS Region for the quota that you want to use.", + "ServiceCode": "The identifier for a service. When performing an operation, use the ServiceCode to specify a particular service. " +} +""" +ListServiceQuotaIncreaseRequestsInTemplate() = service_quotas("ListServiceQuotaIncreaseRequestsInTemplate") +ListServiceQuotaIncreaseRequestsInTemplate(args) = service_quotas("ListServiceQuotaIncreaseRequestsInTemplate", args) + +""" + DisassociateServiceQuotaTemplate() + +Disables the Service Quotas template. Once the template is disabled, it does not request quota increases for new accounts in your organization. Disabling the quota template does not apply the quota increase requests from the template. Related operations To enable the quota template, call AssociateServiceQuotaTemplate. To delete a specific service quota from the template, use DeleteServiceQuotaIncreaseRequestFromTemplate. +""" +DisassociateServiceQuotaTemplate() = service_quotas("DisassociateServiceQuotaTemplate") +DisassociateServiceQuotaTemplate(args) = service_quotas("DisassociateServiceQuotaTemplate", args) + +""" + GetServiceQuota() + +Returns the details for the specified service quota. This operation provides a different Value than the GetAWSDefaultServiceQuota operation. This operation returns the applied value for each quota. GetAWSDefaultServiceQuota returns the default AWS value for each quota. + +Required Parameters +{ + "QuotaCode": "Identifies the service quota you want to select.", + "ServiceCode": "Specifies the service that you want to use." +} +""" +GetServiceQuota(args) = service_quotas("GetServiceQuota", args) + +""" + RequestServiceQuotaIncrease() + +Retrieves the details of a service quota increase request. The response to this command provides the details in the RequestedServiceQuotaChange object. + +Required Parameters +{ + "QuotaCode": "Specifies the service quota that you want to use.", + "DesiredValue": "Specifies the value submitted in the service quota increase request. ", + "ServiceCode": "Specifies the service that you want to use." +} +""" +RequestServiceQuotaIncrease(args) = service_quotas("RequestServiceQuotaIncrease", args) + +""" + DeleteServiceQuotaIncreaseRequestFromTemplate() + +Removes a service quota increase request from the Service Quotas template. + +Required Parameters +{ + "AwsRegion": "Specifies the AWS Region for the quota that you want to delete.", + "QuotaCode": "Specifies the code for the quota that you want to delete.", + "ServiceCode": "Specifies the code for the service that you want to delete." +} +""" +DeleteServiceQuotaIncreaseRequestFromTemplate(args) = service_quotas("DeleteServiceQuotaIncreaseRequestFromTemplate", args) + +""" + GetServiceQuotaIncreaseRequestFromTemplate() + +Returns the details of the service quota increase request in your template. + +Required Parameters +{ + "AwsRegion": "Specifies the AWS Region for the quota that you want to use.", + "QuotaCode": "Specifies the quota you want.", + "ServiceCode": "Specifies the service that you want to use." +} +""" +GetServiceQuotaIncreaseRequestFromTemplate(args) = service_quotas("GetServiceQuotaIncreaseRequestFromTemplate", args) + +""" + ListServices() + +Lists the AWS services available in Service Quotas. Not all AWS services are available in Service Quotas. To list the see the list of the service quotas for a specific service, use ListServiceQuotas. + +Optional Parameters +{ + "MaxResults": "(Optional) Limits the number of results that you want to include in the response. If you don't include this parameter, the response defaults to a value that's specific to the operation. If additional items exist beyond the specified maximum, the NextToken element is present and has a value (isn't null). Include that value as the NextToken request parameter in the call to the operation to get the next part of the results. You should check NextToken after every operation to ensure that you receive all of the results.", + "NextToken": "(Optional) Use this parameter in a request if you receive a NextToken response in a previous request that indicates that there's more output available. In a subsequent call, set it to the value of the previous call's NextToken response to indicate where the output should continue from." +} +""" +ListServices() = service_quotas("ListServices") +ListServices(args) = service_quotas("ListServices", args) + +""" + ListRequestedServiceQuotaChangeHistory() + +Requests a list of the changes to quotas for a service. + +Optional Parameters +{ + "MaxResults": "(Optional) Limits the number of results that you want to include in the response. If you don't include this parameter, the response defaults to a value that's specific to the operation. If additional items exist beyond the specified maximum, the NextToken element is present and has a value (isn't null). Include that value as the NextToken request parameter in the call to the operation to get the next part of the results. You should check NextToken after every operation to ensure that you receive all of the results.", + "NextToken": "(Optional) Use this parameter in a request if you receive a NextToken response in a previous request that indicates that there's more output available. In a subsequent call, set it to the value of the previous call's NextToken response to indicate where the output should continue from.", + "Status": "Specifies the status value of the quota increase request.", + "ServiceCode": "Specifies the service that you want to use." +} +""" +ListRequestedServiceQuotaChangeHistory() = service_quotas("ListRequestedServiceQuotaChangeHistory") +ListRequestedServiceQuotaChangeHistory(args) = service_quotas("ListRequestedServiceQuotaChangeHistory", args) + +""" + GetAWSDefaultServiceQuota() + +Retrieves the default service quotas values. The Value returned for each quota is the AWS default value, even if the quotas have been increased.. + +Required Parameters +{ + "QuotaCode": "Identifies the service quota you want to select.", + "ServiceCode": "Specifies the service that you want to use." +} +""" +GetAWSDefaultServiceQuota(args) = service_quotas("GetAWSDefaultServiceQuota", args) + +""" + PutServiceQuotaIncreaseRequestIntoTemplate() + +Defines and adds a quota to the service quota template. To add a quota to the template, you must provide the ServiceCode, QuotaCode, AwsRegion, and DesiredValue. Once you add a quota to the template, use ListServiceQuotaIncreaseRequestsInTemplate to see the list of quotas in the template. + +Required Parameters +{ + "AwsRegion": "Specifies the AWS Region for the quota. ", + "QuotaCode": "Specifies the service quota that you want to use.", + "DesiredValue": "Specifies the new, increased value for the quota. ", + "ServiceCode": "Specifies the service that you want to use." +} +""" +PutServiceQuotaIncreaseRequestIntoTemplate(args) = service_quotas("PutServiceQuotaIncreaseRequestIntoTemplate", args) + +""" + GetAssociationForServiceQuotaTemplate() + +Retrieves the ServiceQuotaTemplateAssociationStatus value from the service. Use this action to determine if the Service Quota template is associated, or enabled. +""" +GetAssociationForServiceQuotaTemplate() = service_quotas("GetAssociationForServiceQuotaTemplate") +GetAssociationForServiceQuotaTemplate(args) = service_quotas("GetAssociationForServiceQuotaTemplate", args) + +""" + ListServiceQuotas() + +Lists all service quotas for the specified AWS service. This request returns a list of the service quotas for the specified service. you'll see the default values are the values that AWS provides for the quotas. Always check the NextToken response parameter when calling any of the List* operations. These operations can return an unexpected list of results, even when there are more results available. When this happens, the NextToken response parameter contains a value to pass the next call to the same API to request the next part of the list. + +Required Parameters +{ + "ServiceCode": "The identifier for a service. When performing an operation, use the ServiceCode to specify a particular service. " +} + +Optional Parameters +{ + "MaxResults": "(Optional) Limits the number of results that you want to include in the response. If you don't include this parameter, the response defaults to a value that's specific to the operation. If additional items exist beyond the specified maximum, the NextToken element is present and has a value (isn't null). Include that value as the NextToken request parameter in the call to the operation to get the next part of the results. You should check NextToken after every operation to ensure that you receive all of the results.", + "NextToken": "(Optional) Use this parameter in a request if you receive a NextToken response in a previous request that indicates that there's more output available. In a subsequent call, set it to the value of the previous call's NextToken response to indicate where the output should continue from." +} +""" +ListServiceQuotas(args) = service_quotas("ListServiceQuotas", args) + +""" + ListAWSDefaultServiceQuotas() + +Lists all default service quotas for the specified AWS service or all AWS services. ListAWSDefaultServiceQuotas is similar to ListServiceQuotas except for the Value object. The Value object returned by ListAWSDefaultServiceQuotas is the default value assigned by AWS. This request returns a list of all service quotas for the specified service. The listing of each you'll see the default values are the values that AWS provides for the quotas. Always check the NextToken response parameter when calling any of the List* operations. These operations can return an unexpected list of results, even when there are more results available. When this happens, the NextToken response parameter contains a value to pass the next call to the same API to request the next part of the list. + +Required Parameters +{ + "ServiceCode": "Specifies the service that you want to use." +} + +Optional Parameters +{ + "MaxResults": "(Optional) Limits the number of results that you want to include in the response. If you don't include this parameter, the response defaults to a value that's specific to the operation. If additional items exist beyond the specified maximum, the NextToken element is present and has a value (isn't null). Include that value as the NextToken request parameter in the call to the operation to get the next part of the results. You should check NextToken after every operation to ensure that you receive all of the results.", + "NextToken": "(Optional) Use this parameter in a request if you receive a NextToken response in a previous request that indicates that there's more output available. In a subsequent call, set it to the value of the previous call's NextToken response to indicate where the output should continue from. If additional items exist beyond the specified maximum, the NextToken element is present and has a value (isn't null). Include that value as the NextToken request parameter in the call to the operation to get the next part of the results. You should check NextToken after every operation to ensure that you receive all of the results." +} +""" +ListAWSDefaultServiceQuotas(args) = service_quotas("ListAWSDefaultServiceQuotas", args) + +""" + ListRequestedServiceQuotaChangeHistoryByQuota() + +Requests a list of the changes to specific service quotas. This command provides additional granularity over the ListRequestedServiceQuotaChangeHistory command. Once a quota change request has reached CASE_CLOSED, APPROVED, or DENIED, the history has been kept for 90 days. + +Required Parameters +{ + "QuotaCode": "Specifies the service quota that you want to use", + "ServiceCode": "Specifies the service that you want to use." +} + +Optional Parameters +{ + "MaxResults": "(Optional) Limits the number of results that you want to include in the response. If you don't include this parameter, the response defaults to a value that's specific to the operation. If additional items exist beyond the specified maximum, the NextToken element is present and has a value (isn't null). Include that value as the NextToken request parameter in the call to the operation to get the next part of the results. You should check NextToken after every operation to ensure that you receive all of the results.", + "NextToken": "(Optional) Use this parameter in a request if you receive a NextToken response in a previous request that indicates that there's more output available. In a subsequent call, set it to the value of the previous call's NextToken response to indicate where the output should continue from.", + "Status": "Specifies the status value of the quota increase request." +} +""" +ListRequestedServiceQuotaChangeHistoryByQuota(args) = service_quotas("ListRequestedServiceQuotaChangeHistoryByQuota", args) + +""" + GetRequestedServiceQuotaChange() + +Retrieves the details for a particular increase request. + +Required Parameters +{ + "RequestId": "Identifies the quota increase request." +} +""" +GetRequestedServiceQuotaChange(args) = service_quotas("GetRequestedServiceQuotaChange", args) diff --git a/src/services/servicediscovery.jl b/src/services/servicediscovery.jl new file mode 100644 index 0000000000..fd611ec14f --- /dev/null +++ b/src/services/servicediscovery.jl @@ -0,0 +1,313 @@ +include("../AWSServices.jl") +using .AWSServices: servicediscovery + +""" + UpdateService() + +Submits a request to perform the following operations: Add or delete DnsRecords configurations Update the TTL setting for existing DnsRecords configurations Add, update, or delete HealthCheckConfig for a specified service For public and private DNS namespaces, you must specify all DnsRecords configurations (and, optionally, HealthCheckConfig) that you want to appear in the updated service. Any current configurations that don't appear in an UpdateService request are deleted. When you update the TTL setting for a service, AWS Cloud Map also updates the corresponding settings in all the records and health checks that were created by using the specified service. + +Required Parameters +{ + "Id": "The ID of the service that you want to update.", + "Service": "A complex type that contains the new settings for the service." +} +""" +UpdateService(args) = servicediscovery("UpdateService", args) + +""" + GetService() + +Gets the settings for a specified service. + +Required Parameters +{ + "Id": "The ID of the service that you want to get settings for." +} +""" +GetService(args) = servicediscovery("GetService", args) + +""" + DeleteService() + +Deletes a specified service. If the service still contains one or more registered instances, the request fails. + +Required Parameters +{ + "Id": "The ID of the service that you want to delete." +} +""" +DeleteService(args) = servicediscovery("DeleteService", args) + +""" + CreatePublicDnsNamespace() + +Creates a public namespace based on DNS, which will be visible on the internet. The namespace defines your service naming scheme. For example, if you name your namespace example.com and name your service backend, the resulting DNS name for the service will be backend.example.com. For the current limit on the number of namespaces that you can create using the same AWS account, see AWS Cloud Map Limits in the AWS Cloud Map Developer Guide. + +Required Parameters +{ + "Name": "The name that you want to assign to this namespace." +} + +Optional Parameters +{ + "Description": "A description for the namespace.", + "CreatorRequestId": "A unique string that identifies the request and that allows failed CreatePublicDnsNamespace requests to be retried without the risk of executing the operation twice. CreatorRequestId can be any unique string, for example, a date/time stamp." +} +""" +CreatePublicDnsNamespace(args) = servicediscovery("CreatePublicDnsNamespace", args) + +""" + CreatePrivateDnsNamespace() + +Creates a private namespace based on DNS, which will be visible only inside a specified Amazon VPC. The namespace defines your service naming scheme. For example, if you name your namespace example.com and name your service backend, the resulting DNS name for the service will be backend.example.com. For the current limit on the number of namespaces that you can create using the same AWS account, see AWS Cloud Map Limits in the AWS Cloud Map Developer Guide. + +Required Parameters +{ + "Vpc": "The ID of the Amazon VPC that you want to associate the namespace with.", + "Name": "The name that you want to assign to this namespace. When you create a private DNS namespace, AWS Cloud Map automatically creates an Amazon Route 53 private hosted zone that has the same name as the namespace." +} + +Optional Parameters +{ + "Description": "A description for the namespace.", + "CreatorRequestId": "A unique string that identifies the request and that allows failed CreatePrivateDnsNamespace requests to be retried without the risk of executing the operation twice. CreatorRequestId can be any unique string, for example, a date/time stamp." +} +""" +CreatePrivateDnsNamespace(args) = servicediscovery("CreatePrivateDnsNamespace", args) + +""" + ListNamespaces() + +Lists summary information about the namespaces that were created by the current AWS account. + +Optional Parameters +{ + "MaxResults": "The maximum number of namespaces that you want AWS Cloud Map to return in the response to a ListNamespaces request. If you don't specify a value for MaxResults, AWS Cloud Map returns up to 100 namespaces.", + "NextToken": "For the first ListNamespaces request, omit this value. If the response contains NextToken, submit another ListNamespaces request to get the next group of results. Specify the value of NextToken from the previous response in the next request. AWS Cloud Map gets MaxResults namespaces and then filters them based on the specified criteria. It's possible that no namespaces in the first MaxResults namespaces matched the specified criteria but that subsequent groups of MaxResults namespaces do contain namespaces that match the criteria. ", + "Filters": "A complex type that contains specifications for the namespaces that you want to list. If you specify more than one filter, a namespace must match all filters to be returned by ListNamespaces." +} +""" +ListNamespaces() = servicediscovery("ListNamespaces") +ListNamespaces(args) = servicediscovery("ListNamespaces", args) + +""" + ListServices() + +Lists summary information for all the services that are associated with one or more specified namespaces. + +Optional Parameters +{ + "MaxResults": "The maximum number of services that you want AWS Cloud Map to return in the response to a ListServices request. If you don't specify a value for MaxResults, AWS Cloud Map returns up to 100 services.", + "NextToken": "For the first ListServices request, omit this value. If the response contains NextToken, submit another ListServices request to get the next group of results. Specify the value of NextToken from the previous response in the next request. AWS Cloud Map gets MaxResults services and then filters them based on the specified criteria. It's possible that no services in the first MaxResults services matched the specified criteria but that subsequent groups of MaxResults services do contain services that match the criteria. ", + "Filters": "A complex type that contains specifications for the namespaces that you want to list services for. If you specify more than one filter, an operation must match all filters to be returned by ListServices." +} +""" +ListServices() = servicediscovery("ListServices") +ListServices(args) = servicediscovery("ListServices", args) + +""" + RegisterInstance() + +Creates or updates one or more records and, optionally, creates a health check based on the settings in a specified service. When you submit a RegisterInstance request, the following occurs: For each DNS record that you define in the service that is specified by ServiceId, a record is created or updated in the hosted zone that is associated with the corresponding namespace. If the service includes HealthCheckConfig, a health check is created based on the settings in the health check configuration. The health check, if any, is associated with each of the new or updated records. One RegisterInstance request must complete before you can submit another request and specify the same service ID and instance ID. For more information, see CreateService. When AWS Cloud Map receives a DNS query for the specified DNS name, it returns the applicable value: If the health check is healthy: returns all the records If the health check is unhealthy: returns the applicable value for the last healthy instance If you didn't specify a health check configuration: returns all the records For the current limit on the number of instances that you can register using the same namespace and using the same service, see AWS Cloud Map Limits in the AWS Cloud Map Developer Guide. + +Required Parameters +{ + "InstanceId": "An identifier that you want to associate with the instance. Note the following: If the service that is specified by ServiceId includes settings for an SRV record, the value of InstanceId is automatically included as part of the value for the SRV record. For more information, see DnsRecord Type. You can use this value to update an existing instance. To register a new instance, you must specify a value that is unique among instances that you register by using the same service. If you specify an existing InstanceId and ServiceId, AWS Cloud Map updates the existing DNS records, if any. If there's also an existing health check, AWS Cloud Map deletes the old health check and creates a new one. The health check isn't deleted immediately, so it will still appear for a while if you submit a ListHealthChecks request, for example. ", + "ServiceId": "The ID of the service that you want to use for settings for the instance.", + "Attributes": "A string map that contains the following information for the service that you specify in ServiceId: The attributes that apply to the records that are defined in the service. For each attribute, the applicable value. Supported attribute keys include the following: AWS_ALIAS_DNS_NAME If you want AWS Cloud Map to create an Amazon Route 53 alias record that routes traffic to an Elastic Load Balancing load balancer, specify the DNS name that is associated with the load balancer. For information about how to get the DNS name, see \"DNSName\" in the topic AliasTarget in the Route 53 API Reference. Note the following: The configuration for the service that is specified by ServiceId must include settings for an A record, an AAAA record, or both. In the service that is specified by ServiceId, the value of RoutingPolicy must be WEIGHTED. If the service that is specified by ServiceId includes HealthCheckConfig settings, AWS Cloud Map will create the Route 53 health check, but it won't associate the health check with the alias record. Auto naming currently doesn't support creating alias records that route traffic to AWS resources other than ELB load balancers. If you specify a value for AWS_ALIAS_DNS_NAME, don't specify values for any of the AWS_INSTANCE attributes. AWS_INIT_HEALTH_STATUS If the service configuration includes HealthCheckCustomConfig, you can optionally use AWS_INIT_HEALTH_STATUS to specify the initial status of the custom health check, HEALTHY or UNHEALTHY. If you don't specify a value for AWS_INIT_HEALTH_STATUS, the initial status is HEALTHY. AWS_INSTANCE_CNAME If the service configuration includes a CNAME record, the domain name that you want Route 53 to return in response to DNS queries, for example, example.com. This value is required if the service specified by ServiceId includes settings for an CNAME record. AWS_INSTANCE_IPV4 If the service configuration includes an A record, the IPv4 address that you want Route 53 to return in response to DNS queries, for example, 192.0.2.44. This value is required if the service specified by ServiceId includes settings for an A record. If the service includes settings for an SRV record, you must specify a value for AWS_INSTANCE_IPV4, AWS_INSTANCE_IPV6, or both. AWS_INSTANCE_IPV6 If the service configuration includes an AAAA record, the IPv6 address that you want Route 53 to return in response to DNS queries, for example, 2001:0db8:85a3:0000:0000:abcd:0001:2345. This value is required if the service specified by ServiceId includes settings for an AAAA record. If the service includes settings for an SRV record, you must specify a value for AWS_INSTANCE_IPV4, AWS_INSTANCE_IPV6, or both. AWS_INSTANCE_PORT If the service includes an SRV record, the value that you want Route 53 to return for the port. If the service includes HealthCheckConfig, the port on the endpoint that you want Route 53 to send requests to. This value is required if you specified settings for an SRV record when you created the service. Custom attributes You can add up to 30 custom attributes. For each key-value pair, the maximum length of the attribute name is 255 characters, and the maximum length of the attribute value is 1,024 characters. " +} + +Optional Parameters +{ + "CreatorRequestId": "A unique string that identifies the request and that allows failed RegisterInstance requests to be retried without the risk of executing the operation twice. You must use a unique CreatorRequestId string every time you submit a RegisterInstance request if you're registering additional instances for the same namespace and service. CreatorRequestId can be any unique string, for example, a date/time stamp." +} +""" +RegisterInstance(args) = servicediscovery("RegisterInstance", args) + +""" + GetInstancesHealthStatus() + +Gets the current health status (Healthy, Unhealthy, or Unknown) of one or more instances that are associated with a specified service. There is a brief delay between when you register an instance and when the health status for the instance is available. + +Required Parameters +{ + "ServiceId": "The ID of the service that the instance is associated with." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of instances that you want AWS Cloud Map to return in the response to a GetInstancesHealthStatus request. If you don't specify a value for MaxResults, AWS Cloud Map returns up to 100 instances.", + "Instances": "An array that contains the IDs of all the instances that you want to get the health status for. If you omit Instances, AWS Cloud Map returns the health status for all the instances that are associated with the specified service. To get the IDs for the instances that you've registered by using a specified service, submit a ListInstances request. ", + "NextToken": "For the first GetInstancesHealthStatus request, omit this value. If more than MaxResults instances match the specified criteria, you can submit another GetInstancesHealthStatus request to get the next group of results. Specify the value of NextToken from the previous response in the next request." +} +""" +GetInstancesHealthStatus(args) = servicediscovery("GetInstancesHealthStatus", args) + +""" + CreateService() + +Creates a service, which defines the configuration for the following entities: For public and private DNS namespaces, one of the following combinations of DNS records in Amazon Route 53: A AAAA A and AAAA SRV CNAME Optionally, a health check After you create the service, you can submit a RegisterInstance request, and AWS Cloud Map uses the values in the configuration to create the specified entities. For the current limit on the number of instances that you can register using the same namespace and using the same service, see AWS Cloud Map Limits in the AWS Cloud Map Developer Guide. + +Required Parameters +{ + "Name": "The name that you want to assign to the service." +} + +Optional Parameters +{ + "CreatorRequestId": "A unique string that identifies the request and that allows failed CreateService requests to be retried without the risk of executing the operation twice. CreatorRequestId can be any unique string, for example, a date/time stamp.", + "Description": "A description for the service.", + "DnsConfig": "A complex type that contains information about the Amazon Route 53 records that you want AWS Cloud Map to create when you register an instance. ", + "HealthCheckCustomConfig": "A complex type that contains information about an optional custom health check. If you specify a health check configuration, you can specify either HealthCheckCustomConfig or HealthCheckConfig but not both. ", + "NamespaceId": "The ID of the namespace that you want to use to create the service.", + "HealthCheckConfig": " Public DNS namespaces only. A complex type that contains settings for an optional Route 53 health check. If you specify settings for a health check, AWS Cloud Map associates the health check with all the Route 53 DNS records that you specify in DnsConfig. If you specify a health check configuration, you can specify either HealthCheckCustomConfig or HealthCheckConfig but not both. For information about the charges for health checks, see AWS Cloud Map Pricing." +} +""" +CreateService(args) = servicediscovery("CreateService", args) + +""" + ListInstances() + +Lists summary information about the instances that you registered by using a specified service. + +Required Parameters +{ + "ServiceId": "The ID of the service that you want to list instances for." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of instances that you want AWS Cloud Map to return in the response to a ListInstances request. If you don't specify a value for MaxResults, AWS Cloud Map returns up to 100 instances.", + "NextToken": "For the first ListInstances request, omit this value. If more than MaxResults instances match the specified criteria, you can submit another ListInstances request to get the next group of results. Specify the value of NextToken from the previous response in the next request." +} +""" +ListInstances(args) = servicediscovery("ListInstances", args) + +""" + GetInstance() + +Gets information about a specified instance. + +Required Parameters +{ + "InstanceId": "The ID of the instance that you want to get information about.", + "ServiceId": "The ID of the service that the instance is associated with." +} +""" +GetInstance(args) = servicediscovery("GetInstance", args) + +""" + DeregisterInstance() + +Deletes the Amazon Route 53 DNS records and health check, if any, that AWS Cloud Map created for the specified instance. + +Required Parameters +{ + "InstanceId": "The value that you specified for Id in the RegisterInstance request.", + "ServiceId": "The ID of the service that the instance is associated with." +} +""" +DeregisterInstance(args) = servicediscovery("DeregisterInstance", args) + +""" + DiscoverInstances() + +Discovers registered instances for a specified namespace and service. + +Required Parameters +{ + "NamespaceName": "The name of the namespace that you specified when you registered the instance.", + "ServiceName": "The name of the service that you specified when you registered the instance." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of instances that you want Cloud Map to return in the response to a DiscoverInstances request. If you don't specify a value for MaxResults, Cloud Map returns up to 100 instances.", + "HealthStatus": "The health status of the instances that you want to discover.", + "QueryParameters": "A string map that contains attributes with values that you can use to filter instances by any custom attribute that you specified when you registered the instance. Only instances that match all the specified key/value pairs will be returned." +} +""" +DiscoverInstances(args) = servicediscovery("DiscoverInstances", args) + +""" + UpdateInstanceCustomHealthStatus() + +Submits a request to change the health status of a custom health check to healthy or unhealthy. You can use UpdateInstanceCustomHealthStatus to change the status only for custom health checks, which you define using HealthCheckCustomConfig when you create a service. You can't use it to change the status for Route 53 health checks, which you define using HealthCheckConfig. For more information, see HealthCheckCustomConfig. + +Required Parameters +{ + "InstanceId": "The ID of the instance that you want to change the health status for.", + "ServiceId": "The ID of the service that includes the configuration for the custom health check that you want to change the status for.", + "Status": "The new status of the instance, HEALTHY or UNHEALTHY." +} +""" +UpdateInstanceCustomHealthStatus(args) = servicediscovery("UpdateInstanceCustomHealthStatus", args) + +""" + DeleteNamespace() + +Deletes a namespace from the current account. If the namespace still contains one or more services, the request fails. + +Required Parameters +{ + "Id": "The ID of the namespace that you want to delete." +} +""" +DeleteNamespace(args) = servicediscovery("DeleteNamespace", args) + +""" + GetNamespace() + +Gets information about a namespace. + +Required Parameters +{ + "Id": "The ID of the namespace that you want to get information about." +} +""" +GetNamespace(args) = servicediscovery("GetNamespace", args) + +""" + CreateHttpNamespace() + +Creates an HTTP namespace. Service instances that you register using an HTTP namespace can be discovered using a DiscoverInstances request but can't be discovered using DNS. For the current limit on the number of namespaces that you can create using the same AWS account, see AWS Cloud Map Limits in the AWS Cloud Map Developer Guide. + +Required Parameters +{ + "Name": "The name that you want to assign to this namespace." +} + +Optional Parameters +{ + "Description": "A description for the namespace.", + "CreatorRequestId": "A unique string that identifies the request and that allows failed CreateHttpNamespace requests to be retried without the risk of executing the operation twice. CreatorRequestId can be any unique string, for example, a date/time stamp." +} +""" +CreateHttpNamespace(args) = servicediscovery("CreateHttpNamespace", args) + +""" + GetOperation() + +Gets information about any operation that returns an operation ID in the response, such as a CreateService request. To get a list of operations that match specified criteria, see ListOperations. + +Required Parameters +{ + "OperationId": "The ID of the operation that you want to get more information about." +} +""" +GetOperation(args) = servicediscovery("GetOperation", args) + +""" + ListOperations() + +Lists operations that match the criteria that you specify. + +Optional Parameters +{ + "MaxResults": "The maximum number of items that you want AWS Cloud Map to return in the response to a ListOperations request. If you don't specify a value for MaxResults, AWS Cloud Map returns up to 100 operations.", + "NextToken": "For the first ListOperations request, omit this value. If the response contains NextToken, submit another ListOperations request to get the next group of results. Specify the value of NextToken from the previous response in the next request. AWS Cloud Map gets MaxResults operations and then filters them based on the specified criteria. It's possible that no operations in the first MaxResults operations matched the specified criteria but that subsequent groups of MaxResults operations do contain operations that match the criteria. ", + "Filters": "A complex type that contains specifications for the operations that you want to list, for example, operations that you started between a specified start date and end date. If you specify more than one filter, an operation must match all filters to be returned by ListOperations." +} +""" +ListOperations() = servicediscovery("ListOperations") +ListOperations(args) = servicediscovery("ListOperations", args) diff --git a/src/services/ses.jl b/src/services/ses.jl new file mode 100644 index 0000000000..c301bdb1ee --- /dev/null +++ b/src/services/ses.jl @@ -0,0 +1,977 @@ +include("../AWSServices.jl") +using .AWSServices: ses + +""" + ReorderReceiptRuleSet() + +Reorders the receipt rules within a receipt rule set. All of the rules in the rule set must be represented in this request. That is, this API will return an error if the reorder request doesn't explicitly position all of the rules. For information about managing receipt rule sets, see the Amazon SES Developer Guide. You can execute this operation no more than once per second. + +Required Parameters +{ + "RuleNames": "A list of the specified receipt rule set's receipt rules in the order that you want to put them.", + "RuleSetName": "The name of the receipt rule set to reorder." +} +""" +ReorderReceiptRuleSet(args) = ses("ReorderReceiptRuleSet", args) + +""" + SendRawEmail() + +Composes an email message and immediately queues it for sending. This operation is more flexible than the SendEmail API operation. When you use the SendRawEmail operation, you can specify the headers of the message as well as its content. This flexibility is useful, for example, when you want to send a multipart MIME email (such a message that contains both a text and an HTML version). You can also use this operation to send messages that include attachments. The SendRawEmail operation has the following requirements: You can only send email from verified email addresses or domains. If you try to send email from an address that isn't verified, the operation results in an "Email address not verified" error. If your account is still in the Amazon SES sandbox, you can only send email to other verified addresses in your account, or to addresses that are associated with the Amazon SES mailbox simulator. The maximum message size, including attachments, is 10 MB. Each message has to include at least one recipient address. A recipient address includes any address on the To:, CC:, or BCC: lines. If you send a single message to more than one recipient address, and one of the recipient addresses isn't in a valid format (that is, it's not in the format UserName@[SubDomain.]Domain.TopLevelDomain), Amazon SES rejects the entire message, even if the other addresses are valid. Each message can include up to 50 recipient addresses across the To:, CC:, or BCC: lines. If you need to send a single message to more than 50 recipients, you have to split the list of recipient addresses into groups of less than 50 recipients, and send separate messages to each group. Amazon SES allows you to specify 8-bit Content-Transfer-Encoding for MIME message parts. However, if Amazon SES has to modify the contents of your message (for example, if you use open and click tracking), 8-bit content isn't preserved. For this reason, we highly recommend that you encode all content that isn't 7-bit ASCII. For more information, see MIME Encoding in the Amazon SES Developer Guide. Additionally, keep the following considerations in mind when using the SendRawEmail operation: Although you can customize the message headers when using the SendRawEmail operation, Amazon SES will automatically apply its own Message-ID and Date headers; if you passed these headers when creating the message, they will be overwritten by the values that Amazon SES provides. If you are using sending authorization to send on behalf of another user, SendRawEmail enables you to specify the cross-account identity for the email's Source, From, and Return-Path parameters in one of two ways: you can pass optional parameters SourceArn, FromArn, and/or ReturnPathArn to the API, or you can include the following X-headers in the header of your raw email: X-SES-SOURCE-ARN X-SES-FROM-ARN X-SES-RETURN-PATH-ARN Don't include these X-headers in the DKIM signature. Amazon SES removes these before it sends the email. If you only specify the SourceIdentityArn parameter, Amazon SES sets the From and Return-Path addresses to the same identity that you specified. For more information about sending authorization, see the Using Sending Authorization with Amazon SES in the Amazon SES Developer Guide. For every message that you send, the total number of recipients (including each recipient in the To:, CC: and BCC: fields) is counted against the maximum number of emails you can send in a 24-hour period (your sending quota). For more information about sending quotas in Amazon SES, see Managing Your Amazon SES Sending Limits in the Amazon SES Developer Guide. + +Required Parameters +{ + "RawMessage": "The raw email message itself. The message has to meet the following criteria: The message has to contain a header and a body, separated by a blank line. All of the required header fields must be present in the message. Each part of a multipart MIME message must be formatted properly. Attachments must be of a content type that Amazon SES supports. For a list on unsupported content types, see Unsupported Attachment Types in the Amazon SES Developer Guide. The entire message must be base64-encoded. If any of the MIME parts in your message contain content that is outside of the 7-bit ASCII character range, we highly recommend that you encode that content. For more information, see Sending Raw Email in the Amazon SES Developer Guide. Per RFC 5321, the maximum length of each line of text, including the <CRLF>, must not exceed 1,000 characters. " +} + +Optional Parameters +{ + "ConfigurationSetName": "The name of the configuration set to use when you send an email using SendRawEmail.", + "Destinations": "A list of destinations for the message, consisting of To:, CC:, and BCC: addresses.", + "SourceArn": "This parameter is used only for sending authorization. It is the ARN of the identity that is associated with the sending authorization policy that permits you to send for the email address specified in the Source parameter. For example, if the owner of example.com (which has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com) attaches a policy to it that authorizes you to send from user@example.com, then you would specify the SourceArn to be arn:aws:ses:us-east-1:123456789012:identity/example.com, and the Source to be user@example.com. Instead of using this parameter, you can use the X-header X-SES-SOURCE-ARN in the raw message of the email. If you use both the SourceArn parameter and the corresponding X-header, Amazon SES uses the value of the SourceArn parameter. For information about when to use this parameter, see the description of SendRawEmail in this guide, or see the Amazon SES Developer Guide. ", + "Source": "The identity's email address. If you do not provide a value for this parameter, you must specify a \"From\" address in the raw text of the message. (You can also specify both.) Amazon SES does not support the SMTPUTF8 extension, as described inRFC6531. For this reason, the local part of a source email address (the part of the email address that precedes the @ sign) may only contain 7-bit ASCII characters. If the domain part of an address (the part after the @ sign) contains non-ASCII characters, they must be encoded using Punycode, as described in RFC3492. The sender name (also known as the friendly name) may contain non-ASCII characters. These characters must be encoded using MIME encoded-word syntax, as described in RFC 2047. MIME encoded-word syntax uses the following form: =?charset?encoding?encoded-text?=. If you specify the Source parameter and have feedback forwarding enabled, then bounces and complaints will be sent to this email address. This takes precedence over any Return-Path header that you might include in the raw text of the message.", + "Tags": "A list of tags, in the form of name/value pairs, to apply to an email that you send using SendRawEmail. Tags correspond to characteristics of the email that you define, so that you can publish email sending events.", + "FromArn": "This parameter is used only for sending authorization. It is the ARN of the identity that is associated with the sending authorization policy that permits you to specify a particular \"From\" address in the header of the raw email. Instead of using this parameter, you can use the X-header X-SES-FROM-ARN in the raw message of the email. If you use both the FromArn parameter and the corresponding X-header, Amazon SES uses the value of the FromArn parameter. For information about when to use this parameter, see the description of SendRawEmail in this guide, or see the Amazon SES Developer Guide. ", + "ReturnPathArn": "This parameter is used only for sending authorization. It is the ARN of the identity that is associated with the sending authorization policy that permits you to use the email address specified in the ReturnPath parameter. For example, if the owner of example.com (which has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com) attaches a policy to it that authorizes you to use feedback@example.com, then you would specify the ReturnPathArn to be arn:aws:ses:us-east-1:123456789012:identity/example.com, and the ReturnPath to be feedback@example.com. Instead of using this parameter, you can use the X-header X-SES-RETURN-PATH-ARN in the raw message of the email. If you use both the ReturnPathArn parameter and the corresponding X-header, Amazon SES uses the value of the ReturnPathArn parameter. For information about when to use this parameter, see the description of SendRawEmail in this guide, or see the Amazon SES Developer Guide. " +} +""" +SendRawEmail(args) = ses("SendRawEmail", args) + +""" + DeleteReceiptRule() + +Deletes the specified receipt rule. For information about managing receipt rules, see the Amazon SES Developer Guide. You can execute this operation no more than once per second. + +Required Parameters +{ + "RuleSetName": "The name of the receipt rule set that contains the receipt rule to delete.", + "RuleName": "The name of the receipt rule to delete." +} +""" +DeleteReceiptRule(args) = ses("DeleteReceiptRule", args) + +""" + CreateTemplate() + +Creates an email template. Email templates enable you to send personalized email to one or more destinations in a single API operation. For more information, see the Amazon SES Developer Guide. You can execute this operation no more than once per second. + +Required Parameters +{ + "Template": "The content of the email, composed of a subject line, an HTML part, and a text-only part." +} +""" +CreateTemplate(args) = ses("CreateTemplate", args) + +""" + CreateCustomVerificationEmailTemplate() + +Creates a new custom verification email template. For more information about custom verification email templates, see Using Custom Verification Email Templates in the Amazon SES Developer Guide. You can execute this operation no more than once per second. + +Required Parameters +{ + "TemplateContent": "The content of the custom verification email. The total size of the email must be less than 10 MB. The message body may contain HTML, with some limitations. For more information, see Custom Verification Email Frequently Asked Questions in the Amazon SES Developer Guide.", + "FailureRedirectionURL": "The URL that the recipient of the verification email is sent to if his or her address is not successfully verified.", + "FromEmailAddress": "The email address that the custom verification email is sent from.", + "TemplateSubject": "The subject line of the custom verification email.", + "SuccessRedirectionURL": "The URL that the recipient of the verification email is sent to if his or her address is successfully verified.", + "TemplateName": "The name of the custom verification email template." +} +""" +CreateCustomVerificationEmailTemplate(args) = ses("CreateCustomVerificationEmailTemplate", args) + +""" + CreateReceiptFilter() + +Creates a new IP address filter. For information about setting up IP address filters, see the Amazon SES Developer Guide. You can execute this operation no more than once per second. + +Required Parameters +{ + "Filter": "A data structure that describes the IP address filter to create, which consists of a name, an IP address range, and whether to allow or block mail from it." +} +""" +CreateReceiptFilter(args) = ses("CreateReceiptFilter", args) + +""" + CreateConfigurationSet() + +Creates a configuration set. Configuration sets enable you to publish email sending events. For information about using configuration sets, see the Amazon SES Developer Guide. You can execute this operation no more than once per second. + +Required Parameters +{ + "ConfigurationSet": "A data structure that contains the name of the configuration set." +} +""" +CreateConfigurationSet(args) = ses("CreateConfigurationSet", args) + +""" + PutIdentityPolicy() + +Adds or updates a sending authorization policy for the specified identity (an email address or a domain). This API is for the identity owner only. If you have not verified the identity, this API will return an error. Sending authorization is a feature that enables an identity owner to authorize other senders to use its identities. For information about using sending authorization, see the Amazon SES Developer Guide. You can execute this operation no more than once per second. + +Required Parameters +{ + "Identity": "The identity that the policy will apply to. You can specify an identity by using its name or by using its Amazon Resource Name (ARN). Examples: user@example.com, example.com, arn:aws:ses:us-east-1:123456789012:identity/example.com. To successfully call this API, you must own the identity.", + "PolicyName": "The name of the policy. The policy name cannot exceed 64 characters and can only include alphanumeric characters, dashes, and underscores.", + "Policy": "The text of the policy in JSON format. The policy cannot exceed 4 KB. For information about the syntax of sending authorization policies, see the Amazon SES Developer Guide. " +} +""" +PutIdentityPolicy(args) = ses("PutIdentityPolicy", args) + +""" + GetIdentityDkimAttributes() + +Returns the current status of Easy DKIM signing for an entity. For domain name identities, this operation also returns the DKIM tokens that are required for Easy DKIM signing, and whether Amazon SES has successfully verified that these tokens have been published. This operation takes a list of identities as input and returns the following information for each: Whether Easy DKIM signing is enabled or disabled. A set of DKIM tokens that represent the identity. If the identity is an email address, the tokens represent the domain of that address. Whether Amazon SES has successfully verified the DKIM tokens published in the domain's DNS. This information is only returned for domain name identities, not for email addresses. This operation is throttled at one request per second and can only get DKIM attributes for up to 100 identities at a time. For more information about creating DNS records using DKIM tokens, go to the Amazon SES Developer Guide. + +Required Parameters +{ + "Identities": "A list of one or more verified identities - email addresses, domains, or both." +} +""" +GetIdentityDkimAttributes(args) = ses("GetIdentityDkimAttributes", args) + +""" + GetIdentityVerificationAttributes() + +Given a list of identities (email addresses and/or domains), returns the verification status and (for domain identities) the verification token for each identity. The verification status of an email address is "Pending" until the email address owner clicks the link within the verification email that Amazon SES sent to that address. If the email address owner clicks the link within 24 hours, the verification status of the email address changes to "Success". If the link is not clicked within 24 hours, the verification status changes to "Failed." In that case, if you still want to verify the email address, you must restart the verification process from the beginning. For domain identities, the domain's verification status is "Pending" as Amazon SES searches for the required TXT record in the DNS settings of the domain. When Amazon SES detects the record, the domain's verification status changes to "Success". If Amazon SES is unable to detect the record within 72 hours, the domain's verification status changes to "Failed." In that case, if you still want to verify the domain, you must restart the verification process from the beginning. This operation is throttled at one request per second and can only get verification attributes for up to 100 identities at a time. + +Required Parameters +{ + "Identities": "A list of identities." +} +""" +GetIdentityVerificationAttributes(args) = ses("GetIdentityVerificationAttributes", args) + +""" + ListConfigurationSets() + +Provides a list of the configuration sets associated with your Amazon SES account in the current AWS Region. For information about using configuration sets, see Monitoring Your Amazon SES Sending Activity in the Amazon SES Developer Guide. You can execute this operation no more than once per second. This operation will return up to 1,000 configuration sets each time it is run. If your Amazon SES account has more than 1,000 configuration sets, this operation will also return a NextToken element. You can then execute the ListConfigurationSets operation again, passing the NextToken parameter and the value of the NextToken element to retrieve additional results. + +Optional Parameters +{ + "NextToken": "A token returned from a previous call to ListConfigurationSets to indicate the position of the configuration set in the configuration set list.", + "MaxItems": "The number of configuration sets to return." +} +""" +ListConfigurationSets() = ses("ListConfigurationSets") +ListConfigurationSets(args) = ses("ListConfigurationSets", args) + +""" + UpdateConfigurationSetEventDestination() + +Updates the event destination of a configuration set. Event destinations are associated with configuration sets, which enable you to publish email sending events to Amazon CloudWatch, Amazon Kinesis Firehose, or Amazon Simple Notification Service (Amazon SNS). For information about using configuration sets, see Monitoring Your Amazon SES Sending Activity in the Amazon SES Developer Guide. When you create or update an event destination, you must provide one, and only one, destination. The destination can be Amazon CloudWatch, Amazon Kinesis Firehose, or Amazon Simple Notification Service (Amazon SNS). You can execute this operation no more than once per second. + +Required Parameters +{ + "ConfigurationSetName": "The name of the configuration set that contains the event destination that you want to update.", + "EventDestination": "The event destination object that you want to apply to the specified configuration set." +} +""" +UpdateConfigurationSetEventDestination(args) = ses("UpdateConfigurationSetEventDestination", args) + +""" + GetIdentityMailFromDomainAttributes() + +Returns the custom MAIL FROM attributes for a list of identities (email addresses : domains). This operation is throttled at one request per second and can only get custom MAIL FROM attributes for up to 100 identities at a time. + +Required Parameters +{ + "Identities": "A list of one or more identities." +} +""" +GetIdentityMailFromDomainAttributes(args) = ses("GetIdentityMailFromDomainAttributes", args) + +""" + SendTemplatedEmail() + +Composes an email message using an email template and immediately queues it for sending. In order to send email using the SendTemplatedEmail operation, your call to the API must meet the following requirements: The call must refer to an existing email template. You can create email templates using the CreateTemplate operation. The message must be sent from a verified email address or domain. If your account is still in the Amazon SES sandbox, you may only send to verified addresses or domains, or to email addresses associated with the Amazon SES Mailbox Simulator. For more information, see Verifying Email Addresses and Domains in the Amazon SES Developer Guide. The maximum message size is 10 MB. Calls to the SendTemplatedEmail operation may only include one Destination parameter. A destination is a set of recipients who will receive the same version of the email. The Destination parameter can include up to 50 recipients, across the To:, CC: and BCC: fields. The Destination parameter must include at least one recipient email address. The recipient address can be a To: address, a CC: address, or a BCC: address. If a recipient email address is invalid (that is, it is not in the format UserName@[SubDomain.]Domain.TopLevelDomain), the entire message will be rejected, even if the message contains other recipients that are valid. If your call to the SendTemplatedEmail operation includes all of the required parameters, Amazon SES accepts it and returns a Message ID. However, if Amazon SES can't render the email because the template contains errors, it doesn't send the email. Additionally, because it already accepted the message, Amazon SES doesn't return a message stating that it was unable to send the email. For these reasons, we highly recommend that you set up Amazon SES to send you notifications when Rendering Failure events occur. For more information, see Sending Personalized Email Using the Amazon SES API in the Amazon Simple Email Service Developer Guide. + +Required Parameters +{ + "Source": "The email address that is sending the email. This email address must be either individually verified with Amazon SES, or from a domain that has been verified with Amazon SES. For information about verifying identities, see the Amazon SES Developer Guide. If you are sending on behalf of another user and have been permitted to do so by a sending authorization policy, then you must also specify the SourceArn parameter. For more information about sending authorization, see the Amazon SES Developer Guide. Amazon SES does not support the SMTPUTF8 extension, as described in RFC6531. For this reason, the local part of a source email address (the part of the email address that precedes the @ sign) may only contain 7-bit ASCII characters. If the domain part of an address (the part after the @ sign) contains non-ASCII characters, they must be encoded using Punycode, as described in RFC3492. The sender name (also known as the friendly name) may contain non-ASCII characters. These characters must be encoded using MIME encoded-word syntax, as described inRFC 2047. MIME encoded-word syntax uses the following form: =?charset?encoding?encoded-text?=. ", + "TemplateData": "A list of replacement values to apply to the template. This parameter is a JSON object, typically consisting of key-value pairs in which the keys correspond to replacement tags in the email template.", + "Template": "The template to use when sending this email.", + "Destination": "The destination for this email, composed of To:, CC:, and BCC: fields. A Destination can include up to 50 recipients across these three fields." +} + +Optional Parameters +{ + "ConfigurationSetName": "The name of the configuration set to use when you send an email using SendTemplatedEmail.", + "SourceArn": "This parameter is used only for sending authorization. It is the ARN of the identity that is associated with the sending authorization policy that permits you to send for the email address specified in the Source parameter. For example, if the owner of example.com (which has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com) attaches a policy to it that authorizes you to send from user@example.com, then you would specify the SourceArn to be arn:aws:ses:us-east-1:123456789012:identity/example.com, and the Source to be user@example.com. For more information about sending authorization, see the Amazon SES Developer Guide.", + "ReturnPath": "The email address that bounces and complaints will be forwarded to when feedback forwarding is enabled. If the message cannot be delivered to the recipient, then an error message will be returned from the recipient's ISP; this message will then be forwarded to the email address specified by the ReturnPath parameter. The ReturnPath parameter is never overwritten. This email address must be either individually verified with Amazon SES, or from a domain that has been verified with Amazon SES. ", + "Tags": "A list of tags, in the form of name/value pairs, to apply to an email that you send using SendTemplatedEmail. Tags correspond to characteristics of the email that you define, so that you can publish email sending events.", + "TemplateArn": "The ARN of the template to use when sending this email.", + "ReplyToAddresses": "The reply-to email address(es) for the message. If the recipient replies to the message, each reply-to address will receive the reply.", + "ReturnPathArn": "This parameter is used only for sending authorization. It is the ARN of the identity that is associated with the sending authorization policy that permits you to use the email address specified in the ReturnPath parameter. For example, if the owner of example.com (which has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com) attaches a policy to it that authorizes you to use feedback@example.com, then you would specify the ReturnPathArn to be arn:aws:ses:us-east-1:123456789012:identity/example.com, and the ReturnPath to be feedback@example.com. For more information about sending authorization, see the Amazon SES Developer Guide." +} +""" +SendTemplatedEmail(args) = ses("SendTemplatedEmail", args) + +""" + VerifyEmailAddress() + +Deprecated. Use the VerifyEmailIdentity operation to verify a new email address. + +Required Parameters +{ + "EmailAddress": "The email address to be verified." +} +""" +VerifyEmailAddress(args) = ses("VerifyEmailAddress", args) + +""" + VerifyDomainDkim() + +Returns a set of DKIM tokens for a domain identity. When you execute the VerifyDomainDkim operation, the domain that you specify is added to the list of identities that are associated with your account. This is true even if you haven't already associated the domain with your account by using the VerifyDomainIdentity operation. However, you can't send email from the domain until you either successfully verify it or you successfully set up DKIM for it. You use the tokens that are generated by this operation to create CNAME records. When Amazon SES detects that you've added these records to the DNS configuration for a domain, you can start sending email from that domain. You can start sending email even if you haven't added the TXT record provided by the VerifyDomainIdentity operation to the DNS configuration for your domain. All email that you send from the domain is authenticated using DKIM. To create the CNAME records for DKIM authentication, use the following values: Name: token._domainkey.example.com Type: CNAME Value: token.dkim.amazonses.com In the preceding example, replace token with one of the tokens that are generated when you execute this operation. Replace example.com with your domain. Repeat this process for each token that's generated by this operation. You can execute this operation no more than once per second. + +Required Parameters +{ + "Domain": "The name of the domain to be verified for Easy DKIM signing." +} +""" +VerifyDomainDkim(args) = ses("VerifyDomainDkim", args) + +""" + CreateConfigurationSetTrackingOptions() + +Creates an association between a configuration set and a custom domain for open and click event tracking. By default, images and links used for tracking open and click events are hosted on domains operated by Amazon SES. You can configure a subdomain of your own to handle these events. For information about using custom domains, see the Amazon SES Developer Guide. + +Required Parameters +{ + "ConfigurationSetName": "The name of the configuration set that the tracking options should be associated with.", + "TrackingOptions": "" +} +""" +CreateConfigurationSetTrackingOptions(args) = ses("CreateConfigurationSetTrackingOptions", args) + +""" + ListIdentityPolicies() + +Returns a list of sending authorization policies that are attached to the given identity (an email address or a domain). This API returns only a list. If you want the actual policy content, you can use GetIdentityPolicies. This API is for the identity owner only. If you have not verified the identity, this API will return an error. Sending authorization is a feature that enables an identity owner to authorize other senders to use its identities. For information about using sending authorization, see the Amazon SES Developer Guide. You can execute this operation no more than once per second. + +Required Parameters +{ + "Identity": "The identity that is associated with the policy for which the policies will be listed. You can specify an identity by using its name or by using its Amazon Resource Name (ARN). Examples: user@example.com, example.com, arn:aws:ses:us-east-1:123456789012:identity/example.com. To successfully call this API, you must own the identity." +} +""" +ListIdentityPolicies(args) = ses("ListIdentityPolicies", args) + +""" + UpdateConfigurationSetTrackingOptions() + +Modifies an association between a configuration set and a custom domain for open and click event tracking. By default, images and links used for tracking open and click events are hosted on domains operated by Amazon SES. You can configure a subdomain of your own to handle these events. For information about using custom domains, see the Amazon SES Developer Guide. + +Required Parameters +{ + "ConfigurationSetName": "The name of the configuration set for which you want to update the custom tracking domain.", + "TrackingOptions": "" +} +""" +UpdateConfigurationSetTrackingOptions(args) = ses("UpdateConfigurationSetTrackingOptions", args) + +""" + CreateReceiptRuleSet() + +Creates an empty receipt rule set. For information about setting up receipt rule sets, see the Amazon SES Developer Guide. You can execute this operation no more than once per second. + +Required Parameters +{ + "RuleSetName": "The name of the rule set to create. The name must: This value can only contain ASCII letters (a-z, A-Z), numbers (0-9), underscores (_), or dashes (-). Start and end with a letter or number. Contain less than 64 characters. " +} +""" +CreateReceiptRuleSet(args) = ses("CreateReceiptRuleSet", args) + +""" + DeleteConfigurationSet() + +Deletes a configuration set. Configuration sets enable you to publish email sending events. For information about using configuration sets, see the Amazon SES Developer Guide. You can execute this operation no more than once per second. + +Required Parameters +{ + "ConfigurationSetName": "The name of the configuration set to delete." +} +""" +DeleteConfigurationSet(args) = ses("DeleteConfigurationSet", args) + +""" + SetActiveReceiptRuleSet() + +Sets the specified receipt rule set as the active receipt rule set. To disable your email-receiving through Amazon SES completely, you can call this API with RuleSetName set to null. For information about managing receipt rule sets, see the Amazon SES Developer Guide. You can execute this operation no more than once per second. + +Optional Parameters +{ + "RuleSetName": "The name of the receipt rule set to make active. Setting this value to null disables all email receiving." +} +""" +SetActiveReceiptRuleSet() = ses("SetActiveReceiptRuleSet") +SetActiveReceiptRuleSet(args) = ses("SetActiveReceiptRuleSet", args) + +""" + SetIdentityNotificationTopic() + +Sets an Amazon Simple Notification Service (Amazon SNS) topic to use when delivering notifications. When you use this operation, you specify a verified identity, such as an email address or domain. When you send an email that uses the chosen identity in the Source field, Amazon SES sends notifications to the topic you specified. You can send bounce, complaint, or delivery notifications (or any combination of the three) to the Amazon SNS topic that you specify. You can execute this operation no more than once per second. For more information about feedback notification, see the Amazon SES Developer Guide. + +Required Parameters +{ + "Identity": "The identity (email address or domain) that you want to set the Amazon SNS topic for. You can only specify a verified identity for this parameter. You can specify an identity by using its name or by using its Amazon Resource Name (ARN). The following examples are all valid identities: sender@example.com, example.com, arn:aws:ses:us-east-1:123456789012:identity/example.com.", + "NotificationType": "The type of notifications that will be published to the specified Amazon SNS topic." +} + +Optional Parameters +{ + "SnsTopic": "The Amazon Resource Name (ARN) of the Amazon SNS topic. If the parameter is omitted from the request or a null value is passed, SnsTopic is cleared and publishing is disabled." +} +""" +SetIdentityNotificationTopic(args) = ses("SetIdentityNotificationTopic", args) + +""" + DescribeReceiptRule() + +Returns the details of the specified receipt rule. For information about setting up receipt rules, see the Amazon SES Developer Guide. You can execute this operation no more than once per second. + +Required Parameters +{ + "RuleSetName": "The name of the receipt rule set that the receipt rule belongs to.", + "RuleName": "The name of the receipt rule." +} +""" +DescribeReceiptRule(args) = ses("DescribeReceiptRule", args) + +""" + UpdateTemplate() + +Updates an email template. Email templates enable you to send personalized email to one or more destinations in a single API operation. For more information, see the Amazon SES Developer Guide. You can execute this operation no more than once per second. + +Required Parameters +{ + "Template": "" +} +""" +UpdateTemplate(args) = ses("UpdateTemplate", args) + +""" + UpdateAccountSendingEnabled() + +Enables or disables email sending across your entire Amazon SES account in the current AWS Region. You can use this operation in conjunction with Amazon CloudWatch alarms to temporarily pause email sending across your Amazon SES account in a given AWS Region when reputation metrics (such as your bounce or complaint rates) reach certain thresholds. You can execute this operation no more than once per second. + +Optional Parameters +{ + "Enabled": "Describes whether email sending is enabled or disabled for your Amazon SES account in the current AWS Region." +} +""" +UpdateAccountSendingEnabled() = ses("UpdateAccountSendingEnabled") +UpdateAccountSendingEnabled(args) = ses("UpdateAccountSendingEnabled", args) + +""" + GetSendQuota() + +Provides the sending limits for the Amazon SES account. You can execute this operation no more than once per second. +""" +GetSendQuota() = ses("GetSendQuota") +GetSendQuota(args) = ses("GetSendQuota", args) + +""" + DeleteReceiptRuleSet() + +Deletes the specified receipt rule set and all of the receipt rules it contains. The currently active rule set cannot be deleted. For information about managing receipt rule sets, see the Amazon SES Developer Guide. You can execute this operation no more than once per second. + +Required Parameters +{ + "RuleSetName": "The name of the receipt rule set to delete." +} +""" +DeleteReceiptRuleSet(args) = ses("DeleteReceiptRuleSet", args) + +""" + PutConfigurationSetDeliveryOptions() + +Adds or updates the delivery options for a configuration set. + +Required Parameters +{ + "ConfigurationSetName": "The name of the configuration set that you want to specify the delivery options for." +} + +Optional Parameters +{ + "DeliveryOptions": "Specifies whether messages that use the configuration set are required to use Transport Layer Security (TLS)." +} +""" +PutConfigurationSetDeliveryOptions(args) = ses("PutConfigurationSetDeliveryOptions", args) + +""" + ListReceiptRuleSets() + +Lists the receipt rule sets that exist under your AWS account in the current AWS Region. If there are additional receipt rule sets to be retrieved, you will receive a NextToken that you can provide to the next call to ListReceiptRuleSets to retrieve the additional entries. For information about managing receipt rule sets, see the Amazon SES Developer Guide. You can execute this operation no more than once per second. + +Optional Parameters +{ + "NextToken": "A token returned from a previous call to ListReceiptRuleSets to indicate the position in the receipt rule set list." +} +""" +ListReceiptRuleSets() = ses("ListReceiptRuleSets") +ListReceiptRuleSets(args) = ses("ListReceiptRuleSets", args) + +""" + VerifyDomainIdentity() + +Adds a domain to the list of identities for your Amazon SES account in the current AWS Region and attempts to verify it. For more information about verifying domains, see Verifying Email Addresses and Domains in the Amazon SES Developer Guide. You can execute this operation no more than once per second. + +Required Parameters +{ + "Domain": "The domain to be verified." +} +""" +VerifyDomainIdentity(args) = ses("VerifyDomainIdentity", args) + +""" + UpdateConfigurationSetReputationMetricsEnabled() + +Enables or disables the publishing of reputation metrics for emails sent using a specific configuration set in a given AWS Region. Reputation metrics include bounce and complaint rates. These metrics are published to Amazon CloudWatch. By using CloudWatch, you can create alarms when bounce or complaint rates exceed certain thresholds. You can execute this operation no more than once per second. + +Required Parameters +{ + "ConfigurationSetName": "The name of the configuration set that you want to update.", + "Enabled": "Describes whether or not Amazon SES will publish reputation metrics for the configuration set, such as bounce and complaint rates, to Amazon CloudWatch." +} +""" +UpdateConfigurationSetReputationMetricsEnabled(args) = ses("UpdateConfigurationSetReputationMetricsEnabled", args) + +""" + CloneReceiptRuleSet() + +Creates a receipt rule set by cloning an existing one. All receipt rules and configurations are copied to the new receipt rule set and are completely independent of the source rule set. For information about setting up rule sets, see the Amazon SES Developer Guide. You can execute this operation no more than once per second. + +Required Parameters +{ + "OriginalRuleSetName": "The name of the rule set to clone.", + "RuleSetName": "The name of the rule set to create. The name must: This value can only contain ASCII letters (a-z, A-Z), numbers (0-9), underscores (_), or dashes (-). Start and end with a letter or number. Contain less than 64 characters. " +} +""" +CloneReceiptRuleSet(args) = ses("CloneReceiptRuleSet", args) + +""" + SendCustomVerificationEmail() + +Adds an email address to the list of identities for your Amazon SES account in the current AWS Region and attempts to verify it. As a result of executing this operation, a customized verification email is sent to the specified address. To use this operation, you must first create a custom verification email template. For more information about creating and using custom verification email templates, see Using Custom Verification Email Templates in the Amazon SES Developer Guide. You can execute this operation no more than once per second. + +Required Parameters +{ + "EmailAddress": "The email address to verify.", + "TemplateName": "The name of the custom verification email template to use when sending the verification email." +} + +Optional Parameters +{ + "ConfigurationSetName": "Name of a configuration set to use when sending the verification email." +} +""" +SendCustomVerificationEmail(args) = ses("SendCustomVerificationEmail", args) + +""" + UpdateConfigurationSetSendingEnabled() + +Enables or disables email sending for messages sent using a specific configuration set in a given AWS Region. You can use this operation in conjunction with Amazon CloudWatch alarms to temporarily pause email sending for a configuration set when the reputation metrics for that configuration set (such as your bounce on complaint rate) exceed certain thresholds. You can execute this operation no more than once per second. + +Required Parameters +{ + "ConfigurationSetName": "The name of the configuration set that you want to update.", + "Enabled": "Describes whether email sending is enabled or disabled for the configuration set. " +} +""" +UpdateConfigurationSetSendingEnabled(args) = ses("UpdateConfigurationSetSendingEnabled", args) + +""" + DeleteReceiptFilter() + +Deletes the specified IP address filter. For information about managing IP address filters, see the Amazon SES Developer Guide. You can execute this operation no more than once per second. + +Required Parameters +{ + "FilterName": "The name of the IP address filter to delete." +} +""" +DeleteReceiptFilter(args) = ses("DeleteReceiptFilter", args) + +""" + DeleteConfigurationSetTrackingOptions() + +Deletes an association between a configuration set and a custom domain for open and click event tracking. By default, images and links used for tracking open and click events are hosted on domains operated by Amazon SES. You can configure a subdomain of your own to handle these events. For information about using custom domains, see the Amazon SES Developer Guide. Deleting this kind of association will result in emails sent using the specified configuration set to capture open and click events using the standard, Amazon SES-operated domains. + +Required Parameters +{ + "ConfigurationSetName": "The name of the configuration set from which you want to delete the tracking options." +} +""" +DeleteConfigurationSetTrackingOptions(args) = ses("DeleteConfigurationSetTrackingOptions", args) + +""" + ListVerifiedEmailAddresses() + +Deprecated. Use the ListIdentities operation to list the email addresses and domains associated with your account. +""" +ListVerifiedEmailAddresses() = ses("ListVerifiedEmailAddresses") +ListVerifiedEmailAddresses(args) = ses("ListVerifiedEmailAddresses", args) + +""" + GetSendStatistics() + +Provides sending statistics for the current AWS Region. The result is a list of data points, representing the last two weeks of sending activity. Each data point in the list contains statistics for a 15-minute period of time. You can execute this operation no more than once per second. +""" +GetSendStatistics() = ses("GetSendStatistics") +GetSendStatistics(args) = ses("GetSendStatistics", args) + +""" + CreateConfigurationSetEventDestination() + +Creates a configuration set event destination. When you create or update an event destination, you must provide one, and only one, destination. The destination can be CloudWatch, Amazon Kinesis Firehose, or Amazon Simple Notification Service (Amazon SNS). An event destination is the AWS service to which Amazon SES publishes the email sending events associated with a configuration set. For information about using configuration sets, see the Amazon SES Developer Guide. You can execute this operation no more than once per second. + +Required Parameters +{ + "ConfigurationSetName": "The name of the configuration set that the event destination should be associated with.", + "EventDestination": "An object that describes the AWS service that email sending event information will be published to." +} +""" +CreateConfigurationSetEventDestination(args) = ses("CreateConfigurationSetEventDestination", args) + +""" + GetIdentityPolicies() + +Returns the requested sending authorization policies for the given identity (an email address or a domain). The policies are returned as a map of policy names to policy contents. You can retrieve a maximum of 20 policies at a time. This API is for the identity owner only. If you have not verified the identity, this API will return an error. Sending authorization is a feature that enables an identity owner to authorize other senders to use its identities. For information about using sending authorization, see the Amazon SES Developer Guide. You can execute this operation no more than once per second. + +Required Parameters +{ + "PolicyNames": "A list of the names of policies to be retrieved. You can retrieve a maximum of 20 policies at a time. If you do not know the names of the policies that are attached to the identity, you can use ListIdentityPolicies.", + "Identity": "The identity for which the policies will be retrieved. You can specify an identity by using its name or by using its Amazon Resource Name (ARN). Examples: user@example.com, example.com, arn:aws:ses:us-east-1:123456789012:identity/example.com. To successfully call this API, you must own the identity." +} +""" +GetIdentityPolicies(args) = ses("GetIdentityPolicies", args) + +""" + CreateReceiptRule() + +Creates a receipt rule. For information about setting up receipt rules, see the Amazon SES Developer Guide. You can execute this operation no more than once per second. + +Required Parameters +{ + "Rule": "A data structure that contains the specified rule's name, actions, recipients, domains, enabled status, scan status, and TLS policy.", + "RuleSetName": "The name of the rule set that the receipt rule will be added to." +} + +Optional Parameters +{ + "After": "The name of an existing rule after which the new rule will be placed. If this parameter is null, the new rule will be inserted at the beginning of the rule list." +} +""" +CreateReceiptRule(args) = ses("CreateReceiptRule", args) + +""" + SetIdentityMailFromDomain() + +Enables or disables the custom MAIL FROM domain setup for a verified identity (an email address or a domain). To send emails using the specified MAIL FROM domain, you must add an MX record to your MAIL FROM domain's DNS settings. If you want your emails to pass Sender Policy Framework (SPF) checks, you must also add or update an SPF record. For more information, see the Amazon SES Developer Guide. You can execute this operation no more than once per second. + +Required Parameters +{ + "Identity": "The verified identity for which you want to enable or disable the specified custom MAIL FROM domain." +} + +Optional Parameters +{ + "BehaviorOnMXFailure": "The action that you want Amazon SES to take if it cannot successfully read the required MX record when you send an email. If you choose UseDefaultValue, Amazon SES will use amazonses.com (or a subdomain of that) as the MAIL FROM domain. If you choose RejectMessage, Amazon SES will return a MailFromDomainNotVerified error and not send the email. The action specified in BehaviorOnMXFailure is taken when the custom MAIL FROM domain setup is in the Pending, Failed, and TemporaryFailure states.", + "MailFromDomain": "The custom MAIL FROM domain that you want the verified identity to use. The MAIL FROM domain must 1) be a subdomain of the verified identity, 2) not be used in a \"From\" address if the MAIL FROM domain is the destination of email feedback forwarding (for more information, see the Amazon SES Developer Guide), and 3) not be used to receive emails. A value of null disables the custom MAIL FROM setting for the identity." +} +""" +SetIdentityMailFromDomain(args) = ses("SetIdentityMailFromDomain", args) + +""" + VerifyEmailIdentity() + +Adds an email address to the list of identities for your Amazon SES account in the current AWS region and attempts to verify it. As a result of executing this operation, a verification email is sent to the specified address. You can execute this operation no more than once per second. + +Required Parameters +{ + "EmailAddress": "The email address to be verified." +} +""" +VerifyEmailIdentity(args) = ses("VerifyEmailIdentity", args) + +""" + DeleteVerifiedEmailAddress() + +Deprecated. Use the DeleteIdentity operation to delete email addresses and domains. + +Required Parameters +{ + "EmailAddress": "An email address to be removed from the list of verified addresses." +} +""" +DeleteVerifiedEmailAddress(args) = ses("DeleteVerifiedEmailAddress", args) + +""" + DeleteTemplate() + +Deletes an email template. You can execute this operation no more than once per second. + +Required Parameters +{ + "TemplateName": "The name of the template to be deleted." +} +""" +DeleteTemplate(args) = ses("DeleteTemplate", args) + +""" + UpdateCustomVerificationEmailTemplate() + +Updates an existing custom verification email template. For more information about custom verification email templates, see Using Custom Verification Email Templates in the Amazon SES Developer Guide. You can execute this operation no more than once per second. + +Required Parameters +{ + "TemplateName": "The name of the custom verification email template that you want to update." +} + +Optional Parameters +{ + "TemplateContent": "The content of the custom verification email. The total size of the email must be less than 10 MB. The message body may contain HTML, with some limitations. For more information, see Custom Verification Email Frequently Asked Questions in the Amazon SES Developer Guide.", + "FailureRedirectionURL": "The URL that the recipient of the verification email is sent to if his or her address is not successfully verified.", + "FromEmailAddress": "The email address that the custom verification email is sent from.", + "TemplateSubject": "The subject line of the custom verification email.", + "SuccessRedirectionURL": "The URL that the recipient of the verification email is sent to if his or her address is successfully verified." +} +""" +UpdateCustomVerificationEmailTemplate(args) = ses("UpdateCustomVerificationEmailTemplate", args) + +""" + SetIdentityFeedbackForwardingEnabled() + +Given an identity (an email address or a domain), enables or disables whether Amazon SES forwards bounce and complaint notifications as email. Feedback forwarding can only be disabled when Amazon Simple Notification Service (Amazon SNS) topics are specified for both bounces and complaints. Feedback forwarding does not apply to delivery notifications. Delivery notifications are only available through Amazon SNS. You can execute this operation no more than once per second. For more information about using notifications with Amazon SES, see the Amazon SES Developer Guide. + +Required Parameters +{ + "ForwardingEnabled": "Sets whether Amazon SES will forward bounce and complaint notifications as email. true specifies that Amazon SES will forward bounce and complaint notifications as email, in addition to any Amazon SNS topic publishing otherwise specified. false specifies that Amazon SES will publish bounce and complaint notifications only through Amazon SNS. This value can only be set to false when Amazon SNS topics are set for both Bounce and Complaint notification types.", + "Identity": "The identity for which to set bounce and complaint notification forwarding. Examples: user@example.com, example.com." +} +""" +SetIdentityFeedbackForwardingEnabled(args) = ses("SetIdentityFeedbackForwardingEnabled", args) + +""" + TestRenderTemplate() + +Creates a preview of the MIME content of an email when provided with a template and a set of replacement data. You can execute this operation no more than once per second. + +Required Parameters +{ + "TemplateData": "A list of replacement values to apply to the template. This parameter is a JSON object, typically consisting of key-value pairs in which the keys correspond to replacement tags in the email template.", + "TemplateName": "The name of the template that you want to render." +} +""" +TestRenderTemplate(args) = ses("TestRenderTemplate", args) + +""" + DescribeActiveReceiptRuleSet() + +Returns the metadata and receipt rules for the receipt rule set that is currently active. For information about setting up receipt rule sets, see the Amazon SES Developer Guide. You can execute this operation no more than once per second. +""" +DescribeActiveReceiptRuleSet() = ses("DescribeActiveReceiptRuleSet") +DescribeActiveReceiptRuleSet(args) = ses("DescribeActiveReceiptRuleSet", args) + +""" + SendBounce() + +Generates and sends a bounce message to the sender of an email you received through Amazon SES. You can only use this API on an email up to 24 hours after you receive it. You cannot use this API to send generic bounces for mail that was not received by Amazon SES. For information about receiving email through Amazon SES, see the Amazon SES Developer Guide. You can execute this operation no more than once per second. + +Required Parameters +{ + "OriginalMessageId": "The message ID of the message to be bounced.", + "BounceSender": "The address to use in the \"From\" header of the bounce message. This must be an identity that you have verified with Amazon SES.", + "BouncedRecipientInfoList": "A list of recipients of the bounced message, including the information required to create the Delivery Status Notifications (DSNs) for the recipients. You must specify at least one BouncedRecipientInfo in the list." +} + +Optional Parameters +{ + "MessageDsn": "Message-related DSN fields. If not specified, Amazon SES will choose the values.", + "Explanation": "Human-readable text for the bounce message to explain the failure. If not specified, the text will be auto-generated based on the bounced recipient information.", + "BounceSenderArn": "This parameter is used only for sending authorization. It is the ARN of the identity that is associated with the sending authorization policy that permits you to use the address in the \"From\" header of the bounce. For more information about sending authorization, see the Amazon SES Developer Guide." +} +""" +SendBounce(args) = ses("SendBounce", args) + +""" + SendBulkTemplatedEmail() + +Composes an email message to multiple destinations. The message body is created using an email template. In order to send email using the SendBulkTemplatedEmail operation, your call to the API must meet the following requirements: The call must refer to an existing email template. You can create email templates using the CreateTemplate operation. The message must be sent from a verified email address or domain. If your account is still in the Amazon SES sandbox, you may only send to verified addresses or domains, or to email addresses associated with the Amazon SES Mailbox Simulator. For more information, see Verifying Email Addresses and Domains in the Amazon SES Developer Guide. The maximum message size is 10 MB. Each Destination parameter must include at least one recipient email address. The recipient address can be a To: address, a CC: address, or a BCC: address. If a recipient email address is invalid (that is, it is not in the format UserName@[SubDomain.]Domain.TopLevelDomain), the entire message will be rejected, even if the message contains other recipients that are valid. The message may not include more than 50 recipients, across the To:, CC: and BCC: fields. If you need to send an email message to a larger audience, you can divide your recipient list into groups of 50 or fewer, and then call the SendBulkTemplatedEmail operation several times to send the message to each group. The number of destinations you can contact in a single call to the API may be limited by your account's maximum sending rate. + +Required Parameters +{ + "Destinations": "One or more Destination objects. All of the recipients in a Destination will receive the same version of the email. You can specify up to 50 Destination objects within a Destinations array.", + "Source": "The email address that is sending the email. This email address must be either individually verified with Amazon SES, or from a domain that has been verified with Amazon SES. For information about verifying identities, see the Amazon SES Developer Guide. If you are sending on behalf of another user and have been permitted to do so by a sending authorization policy, then you must also specify the SourceArn parameter. For more information about sending authorization, see the Amazon SES Developer Guide. Amazon SES does not support the SMTPUTF8 extension, as described in RFC6531. For this reason, the local part of a source email address (the part of the email address that precedes the @ sign) may only contain 7-bit ASCII characters. If the domain part of an address (the part after the @ sign) contains non-ASCII characters, they must be encoded using Punycode, as described in RFC3492. The sender name (also known as the friendly name) may contain non-ASCII characters. These characters must be encoded using MIME encoded-word syntax, as described in RFC 2047. MIME encoded-word syntax uses the following form: =?charset?encoding?encoded-text?=. ", + "Template": "The template to use when sending this email." +} + +Optional Parameters +{ + "ConfigurationSetName": "The name of the configuration set to use when you send an email using SendBulkTemplatedEmail.", + "SourceArn": "This parameter is used only for sending authorization. It is the ARN of the identity that is associated with the sending authorization policy that permits you to send for the email address specified in the Source parameter. For example, if the owner of example.com (which has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com) attaches a policy to it that authorizes you to send from user@example.com, then you would specify the SourceArn to be arn:aws:ses:us-east-1:123456789012:identity/example.com, and the Source to be user@example.com. For more information about sending authorization, see the Amazon SES Developer Guide.", + "ReturnPath": "The email address that bounces and complaints will be forwarded to when feedback forwarding is enabled. If the message cannot be delivered to the recipient, then an error message will be returned from the recipient's ISP; this message will then be forwarded to the email address specified by the ReturnPath parameter. The ReturnPath parameter is never overwritten. This email address must be either individually verified with Amazon SES, or from a domain that has been verified with Amazon SES. ", + "TemplateArn": "The ARN of the template to use when sending this email.", + "DefaultTemplateData": "A list of replacement values to apply to the template when replacement data is not specified in a Destination object. These values act as a default or fallback option when no other data is available. The template data is a JSON object, typically consisting of key-value pairs in which the keys correspond to replacement tags in the email template.", + "DefaultTags": "A list of tags, in the form of name/value pairs, to apply to an email that you send to a destination using SendBulkTemplatedEmail.", + "ReplyToAddresses": "The reply-to email address(es) for the message. If the recipient replies to the message, each reply-to address will receive the reply.", + "ReturnPathArn": "This parameter is used only for sending authorization. It is the ARN of the identity that is associated with the sending authorization policy that permits you to use the email address specified in the ReturnPath parameter. For example, if the owner of example.com (which has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com) attaches a policy to it that authorizes you to use feedback@example.com, then you would specify the ReturnPathArn to be arn:aws:ses:us-east-1:123456789012:identity/example.com, and the ReturnPath to be feedback@example.com. For more information about sending authorization, see the Amazon SES Developer Guide." +} +""" +SendBulkTemplatedEmail(args) = ses("SendBulkTemplatedEmail", args) + +""" + DeleteCustomVerificationEmailTemplate() + +Deletes an existing custom verification email template. For more information about custom verification email templates, see Using Custom Verification Email Templates in the Amazon SES Developer Guide. You can execute this operation no more than once per second. + +Required Parameters +{ + "TemplateName": "The name of the custom verification email template that you want to delete." +} +""" +DeleteCustomVerificationEmailTemplate(args) = ses("DeleteCustomVerificationEmailTemplate", args) + +""" + GetCustomVerificationEmailTemplate() + +Returns the custom email verification template for the template name you specify. For more information about custom verification email templates, see Using Custom Verification Email Templates in the Amazon SES Developer Guide. You can execute this operation no more than once per second. + +Required Parameters +{ + "TemplateName": "The name of the custom verification email template that you want to retrieve." +} +""" +GetCustomVerificationEmailTemplate(args) = ses("GetCustomVerificationEmailTemplate", args) + +""" + ListTemplates() + +Lists the email templates present in your Amazon SES account in the current AWS Region. You can execute this operation no more than once per second. + +Optional Parameters +{ + "NextToken": "A token returned from a previous call to ListTemplates to indicate the position in the list of email templates.", + "MaxItems": "The maximum number of templates to return. This value must be at least 1 and less than or equal to 10. If you do not specify a value, or if you specify a value less than 1 or greater than 10, the operation will return up to 10 results." +} +""" +ListTemplates() = ses("ListTemplates") +ListTemplates(args) = ses("ListTemplates", args) + +""" + DeleteConfigurationSetEventDestination() + +Deletes a configuration set event destination. Configuration set event destinations are associated with configuration sets, which enable you to publish email sending events. For information about using configuration sets, see the Amazon SES Developer Guide. You can execute this operation no more than once per second. + +Required Parameters +{ + "ConfigurationSetName": "The name of the configuration set from which to delete the event destination.", + "EventDestinationName": "The name of the event destination to delete." +} +""" +DeleteConfigurationSetEventDestination(args) = ses("DeleteConfigurationSetEventDestination", args) + +""" + GetIdentityNotificationAttributes() + +Given a list of verified identities (email addresses and/or domains), returns a structure describing identity notification attributes. This operation is throttled at one request per second and can only get notification attributes for up to 100 identities at a time. For more information about using notifications with Amazon SES, see the Amazon SES Developer Guide. + +Required Parameters +{ + "Identities": "A list of one or more identities. You can specify an identity by using its name or by using its Amazon Resource Name (ARN). Examples: user@example.com, example.com, arn:aws:ses:us-east-1:123456789012:identity/example.com." +} +""" +GetIdentityNotificationAttributes(args) = ses("GetIdentityNotificationAttributes", args) + +""" + GetAccountSendingEnabled() + +Returns the email sending status of the Amazon SES account for the current region. You can execute this operation no more than once per second. +""" +GetAccountSendingEnabled() = ses("GetAccountSendingEnabled") +GetAccountSendingEnabled(args) = ses("GetAccountSendingEnabled", args) + +""" + SendEmail() + +Composes an email message and immediately queues it for sending. In order to send email using the SendEmail operation, your message must meet the following requirements: The message must be sent from a verified email address or domain. If you attempt to send email using a non-verified address or domain, the operation will result in an "Email address not verified" error. If your account is still in the Amazon SES sandbox, you may only send to verified addresses or domains, or to email addresses associated with the Amazon SES Mailbox Simulator. For more information, see Verifying Email Addresses and Domains in the Amazon SES Developer Guide. The maximum message size is 10 MB. The message must include at least one recipient email address. The recipient address can be a To: address, a CC: address, or a BCC: address. If a recipient email address is invalid (that is, it is not in the format UserName@[SubDomain.]Domain.TopLevelDomain), the entire message will be rejected, even if the message contains other recipients that are valid. The message may not include more than 50 recipients, across the To:, CC: and BCC: fields. If you need to send an email message to a larger audience, you can divide your recipient list into groups of 50 or fewer, and then call the SendEmail operation several times to send the message to each group. For every message that you send, the total number of recipients (including each recipient in the To:, CC: and BCC: fields) is counted against the maximum number of emails you can send in a 24-hour period (your sending quota). For more information about sending quotas in Amazon SES, see Managing Your Amazon SES Sending Limits in the Amazon SES Developer Guide. + +Required Parameters +{ + "Source": "The email address that is sending the email. This email address must be either individually verified with Amazon SES, or from a domain that has been verified with Amazon SES. For information about verifying identities, see the Amazon SES Developer Guide. If you are sending on behalf of another user and have been permitted to do so by a sending authorization policy, then you must also specify the SourceArn parameter. For more information about sending authorization, see the Amazon SES Developer Guide. Amazon SES does not support the SMTPUTF8 extension, as described in RFC6531. For this reason, the local part of a source email address (the part of the email address that precedes the @ sign) may only contain 7-bit ASCII characters. If the domain part of an address (the part after the @ sign) contains non-ASCII characters, they must be encoded using Punycode, as described in RFC3492. The sender name (also known as the friendly name) may contain non-ASCII characters. These characters must be encoded using MIME encoded-word syntax, as described in RFC 2047. MIME encoded-word syntax uses the following form: =?charset?encoding?encoded-text?=. ", + "Message": "The message to be sent.", + "Destination": "The destination for this email, composed of To:, CC:, and BCC: fields." +} + +Optional Parameters +{ + "ConfigurationSetName": "The name of the configuration set to use when you send an email using SendEmail.", + "SourceArn": "This parameter is used only for sending authorization. It is the ARN of the identity that is associated with the sending authorization policy that permits you to send for the email address specified in the Source parameter. For example, if the owner of example.com (which has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com) attaches a policy to it that authorizes you to send from user@example.com, then you would specify the SourceArn to be arn:aws:ses:us-east-1:123456789012:identity/example.com, and the Source to be user@example.com. For more information about sending authorization, see the Amazon SES Developer Guide.", + "ReturnPath": "The email address that bounces and complaints will be forwarded to when feedback forwarding is enabled. If the message cannot be delivered to the recipient, then an error message will be returned from the recipient's ISP; this message will then be forwarded to the email address specified by the ReturnPath parameter. The ReturnPath parameter is never overwritten. This email address must be either individually verified with Amazon SES, or from a domain that has been verified with Amazon SES. ", + "Tags": "A list of tags, in the form of name/value pairs, to apply to an email that you send using SendEmail. Tags correspond to characteristics of the email that you define, so that you can publish email sending events.", + "ReplyToAddresses": "The reply-to email address(es) for the message. If the recipient replies to the message, each reply-to address will receive the reply.", + "ReturnPathArn": "This parameter is used only for sending authorization. It is the ARN of the identity that is associated with the sending authorization policy that permits you to use the email address specified in the ReturnPath parameter. For example, if the owner of example.com (which has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com) attaches a policy to it that authorizes you to use feedback@example.com, then you would specify the ReturnPathArn to be arn:aws:ses:us-east-1:123456789012:identity/example.com, and the ReturnPath to be feedback@example.com. For more information about sending authorization, see the Amazon SES Developer Guide." +} +""" +SendEmail(args) = ses("SendEmail", args) + +""" + DescribeReceiptRuleSet() + +Returns the details of the specified receipt rule set. For information about managing receipt rule sets, see the Amazon SES Developer Guide. You can execute this operation no more than once per second. + +Required Parameters +{ + "RuleSetName": "The name of the receipt rule set to describe." +} +""" +DescribeReceiptRuleSet(args) = ses("DescribeReceiptRuleSet", args) + +""" + UpdateReceiptRule() + +Updates a receipt rule. For information about managing receipt rules, see the Amazon SES Developer Guide. You can execute this operation no more than once per second. + +Required Parameters +{ + "Rule": "A data structure that contains the updated receipt rule information.", + "RuleSetName": "The name of the receipt rule set that the receipt rule belongs to." +} +""" +UpdateReceiptRule(args) = ses("UpdateReceiptRule", args) + +""" + DeleteIdentity() + +Deletes the specified identity (an email address or a domain) from the list of verified identities. You can execute this operation no more than once per second. + +Required Parameters +{ + "Identity": "The identity to be removed from the list of identities for the AWS Account." +} +""" +DeleteIdentity(args) = ses("DeleteIdentity", args) + +""" + DescribeConfigurationSet() + +Returns the details of the specified configuration set. For information about using configuration sets, see the Amazon SES Developer Guide. You can execute this operation no more than once per second. + +Required Parameters +{ + "ConfigurationSetName": "The name of the configuration set to describe." +} + +Optional Parameters +{ + "ConfigurationSetAttributeNames": "A list of configuration set attributes to return." +} +""" +DescribeConfigurationSet(args) = ses("DescribeConfigurationSet", args) + +""" + GetTemplate() + +Displays the template object (which includes the Subject line, HTML part and text part) for the template you specify. You can execute this operation no more than once per second. + +Required Parameters +{ + "TemplateName": "The name of the template you want to retrieve." +} +""" +GetTemplate(args) = ses("GetTemplate", args) + +""" + ListIdentities() + +Returns a list containing all of the identities (email addresses and domains) for your AWS account in the current AWS Region, regardless of verification status. You can execute this operation no more than once per second. + +Optional Parameters +{ + "IdentityType": "The type of the identities to list. Possible values are \"EmailAddress\" and \"Domain\". If this parameter is omitted, then all identities will be listed.", + "NextToken": "The token to use for pagination.", + "MaxItems": "The maximum number of identities per page. Possible values are 1-1000 inclusive." +} +""" +ListIdentities() = ses("ListIdentities") +ListIdentities(args) = ses("ListIdentities", args) + +""" + SetIdentityHeadersInNotificationsEnabled() + +Given an identity (an email address or a domain), sets whether Amazon SES includes the original email headers in the Amazon Simple Notification Service (Amazon SNS) notifications of a specified type. You can execute this operation no more than once per second. For more information about using notifications with Amazon SES, see the Amazon SES Developer Guide. + +Required Parameters +{ + "Identity": "The identity for which to enable or disable headers in notifications. Examples: user@example.com, example.com.", + "NotificationType": "The notification type for which to enable or disable headers in notifications. ", + "Enabled": "Sets whether Amazon SES includes the original email headers in Amazon SNS notifications of the specified notification type. A value of true specifies that Amazon SES will include headers in notifications, and a value of false specifies that Amazon SES will not include headers in notifications. This value can only be set when NotificationType is already set to use a particular Amazon SNS topic." +} +""" +SetIdentityHeadersInNotificationsEnabled(args) = ses("SetIdentityHeadersInNotificationsEnabled", args) + +""" + SetIdentityDkimEnabled() + +Enables or disables Easy DKIM signing of email sent from an identity. If Easy DKIM signing is enabled for a domain, then Amazon SES uses DKIM to sign all email that it sends from addresses on that domain. If Easy DKIM signing is enabled for an email address, then Amazon SES uses DKIM to sign all email it sends from that address. For email addresses (for example, user@example.com), you can only enable DKIM signing if the corresponding domain (in this case, example.com) has been set up to use Easy DKIM. You can enable DKIM signing for an identity at any time after you start the verification process for the identity, even if the verification process isn't complete. You can execute this operation no more than once per second. For more information about Easy DKIM signing, go to the Amazon SES Developer Guide. + +Required Parameters +{ + "Identity": "The identity for which DKIM signing should be enabled or disabled.", + "DkimEnabled": "Sets whether DKIM signing is enabled for an identity. Set to true to enable DKIM signing for this identity; false to disable it. " +} +""" +SetIdentityDkimEnabled(args) = ses("SetIdentityDkimEnabled", args) + +""" + ListCustomVerificationEmailTemplates() + +Lists the existing custom verification email templates for your account in the current AWS Region. For more information about custom verification email templates, see Using Custom Verification Email Templates in the Amazon SES Developer Guide. You can execute this operation no more than once per second. + +Optional Parameters +{ + "MaxResults": "The maximum number of custom verification email templates to return. This value must be at least 1 and less than or equal to 50. If you do not specify a value, or if you specify a value less than 1 or greater than 50, the operation will return up to 50 results.", + "NextToken": "An array the contains the name and creation time stamp for each template in your Amazon SES account." +} +""" +ListCustomVerificationEmailTemplates() = ses("ListCustomVerificationEmailTemplates") +ListCustomVerificationEmailTemplates(args) = ses("ListCustomVerificationEmailTemplates", args) + +""" + DeleteIdentityPolicy() + +Deletes the specified sending authorization policy for the given identity (an email address or a domain). This API returns successfully even if a policy with the specified name does not exist. This API is for the identity owner only. If you have not verified the identity, this API will return an error. Sending authorization is a feature that enables an identity owner to authorize other senders to use its identities. For information about using sending authorization, see the Amazon SES Developer Guide. You can execute this operation no more than once per second. + +Required Parameters +{ + "Identity": "The identity that is associated with the policy that you want to delete. You can specify the identity by using its name or by using its Amazon Resource Name (ARN). Examples: user@example.com, example.com, arn:aws:ses:us-east-1:123456789012:identity/example.com. To successfully call this API, you must own the identity.", + "PolicyName": "The name of the policy to be deleted." +} +""" +DeleteIdentityPolicy(args) = ses("DeleteIdentityPolicy", args) + +""" + ListReceiptFilters() + +Lists the IP address filters associated with your AWS account in the current AWS Region. For information about managing IP address filters, see the Amazon SES Developer Guide. You can execute this operation no more than once per second. +""" +ListReceiptFilters() = ses("ListReceiptFilters") +ListReceiptFilters(args) = ses("ListReceiptFilters", args) + +""" + SetReceiptRulePosition() + +Sets the position of the specified receipt rule in the receipt rule set. For information about managing receipt rules, see the Amazon SES Developer Guide. You can execute this operation no more than once per second. + +Required Parameters +{ + "RuleSetName": "The name of the receipt rule set that contains the receipt rule to reposition.", + "RuleName": "The name of the receipt rule to reposition." +} + +Optional Parameters +{ + "After": "The name of the receipt rule after which to place the specified receipt rule." +} +""" +SetReceiptRulePosition(args) = ses("SetReceiptRulePosition", args) diff --git a/src/services/sesv2.jl b/src/services/sesv2.jl new file mode 100644 index 0000000000..d680767f32 --- /dev/null +++ b/src/services/sesv2.jl @@ -0,0 +1,712 @@ +include("../AWSServices.jl") +using .AWSServices: sesv2 + +""" + PutDedicatedIpWarmupAttributes() + + + +Required Parameters +{ + "Ip": "The dedicated IP address that you want to update the warm-up attributes for.", + "WarmupPercentage": "The warm-up percentage that you want to associate with the dedicated IP address." +} +""" +PutDedicatedIpWarmupAttributes(args) = sesv2("PUT", "/v2/email/dedicated-ips/{IP}/warmup", args) + +""" + CreateEmailIdentity() + +Starts the process of verifying an email identity. An identity is an email address or domain that you use when you send email. Before you can use an identity to send email, you first have to verify it. By verifying an identity, you demonstrate that you're the owner of the identity, and that you've given Amazon SES API v2 permission to send email from the identity. When you verify an email address, Amazon SES sends an email to the address. Your email address is verified as soon as you follow the link in the verification email. When you verify a domain without specifying the DkimSigningAttributes object, this operation provides a set of DKIM tokens. You can convert these tokens into CNAME records, which you then add to the DNS configuration for your domain. Your domain is verified when Amazon SES detects these records in the DNS configuration for your domain. This verification method is known as Easy DKIM. Alternatively, you can perform the verification process by providing your own public-private key pair. This verification method is known as Bring Your Own DKIM (BYODKIM). To use BYODKIM, your call to the CreateEmailIdentity operation has to include the DkimSigningAttributes object. When you specify this object, you provide a selector (a component of the DNS record name that identifies the public key that you want to use for DKIM authentication) and a private key. + +Required Parameters +{ + "EmailIdentity": "The email address or domain that you want to verify." +} + +Optional Parameters +{ + "Tags": "An array of objects that define the tags (keys and values) that you want to associate with the email identity.", + "DkimSigningAttributes": "If your request includes this object, Amazon SES configures the identity to use Bring Your Own DKIM (BYODKIM) for DKIM authentication purposes, as opposed to the default method, Easy DKIM. You can only specify this object if the email identity is a domain, as opposed to an address." +} +""" +CreateEmailIdentity(args) = sesv2("POST", "/v2/email/identities", args) + +""" + PutAccountSuppressionAttributes() + +Change the settings for the account-level suppression list. + +Optional Parameters +{ + "SuppressedReasons": "A list that contains the reasons that email addresses will be automatically added to the suppression list for your account. This list can contain any or all of the following: COMPLAINT – Amazon SES adds an email address to the suppression list for your account when a message sent to that address results in a complaint. BOUNCE – Amazon SES adds an email address to the suppression list for your account when a message sent to that address results in a hard bounce. " +} +""" +PutAccountSuppressionAttributes() = sesv2("PUT", "/v2/email/account/suppression") +PutAccountSuppressionAttributes(args) = sesv2("PUT", "/v2/email/account/suppression", args) + +""" + CreateDedicatedIpPool() + +Create a new pool of dedicated IP addresses. A pool can include one or more dedicated IP addresses that are associated with your AWS account. You can associate a pool with a configuration set. When you send an email that uses that configuration set, the message is sent from one of the addresses in the associated pool. + +Required Parameters +{ + "PoolName": "The name of the dedicated IP pool." +} + +Optional Parameters +{ + "Tags": "An object that defines the tags (keys and values) that you want to associate with the pool." +} +""" +CreateDedicatedIpPool(args) = sesv2("POST", "/v2/email/dedicated-ip-pools", args) + +""" + CreateConfigurationSet() + +Create a configuration set. Configuration sets are groups of rules that you can apply to the emails that you send. You apply a configuration set to an email by specifying the name of the configuration set when you call the Amazon SES API v2. When you apply a configuration set to an email, all of the rules in that configuration set are applied to the email. + +Required Parameters +{ + "ConfigurationSetName": "The name of the configuration set." +} + +Optional Parameters +{ + "ReputationOptions": "An object that defines whether or not Amazon SES collects reputation metrics for the emails that you send that use the configuration set.", + "Tags": "An array of objects that define the tags (keys and values) that you want to associate with the configuration set.", + "SendingOptions": "An object that defines whether or not Amazon SES can send email that you send using the configuration set.", + "TrackingOptions": "An object that defines the open and click tracking options for emails that you send using the configuration set.", + "SuppressionOptions": "", + "DeliveryOptions": "An object that defines the dedicated IP pool that is used to send emails that you send using the configuration set." +} +""" +CreateConfigurationSet(args) = sesv2("POST", "/v2/email/configuration-sets", args) + +""" + TagResource() + +Add one or more tags (keys and values) to a specified resource. A tag is a label that you optionally define and associate with a resource. Tags can help you categorize and manage resources in different ways, such as by purpose, owner, environment, or other criteria. A resource can have as many as 50 tags. Each tag consists of a required tag key and an associated tag value, both of which you define. A tag key is a general label that acts as a category for more specific tag values. A tag value acts as a descriptor within a tag key. + +Required Parameters +{ + "ResourceArn": "The Amazon Resource Name (ARN) of the resource that you want to add one or more tags to.", + "Tags": "A list of the tags that you want to add to the resource. A tag consists of a required tag key (Key) and an associated tag value (Value). The maximum length of a tag key is 128 characters. The maximum length of a tag value is 256 characters." +} +""" +TagResource(args) = sesv2("POST", "/v2/email/tags", args) + +""" + GetBlacklistReports() + +Retrieve a list of the blacklists that your dedicated IP addresses appear on. + +Required Parameters +{ + "BlacklistItemNames": "A list of IP addresses that you want to retrieve blacklist information about. You can only specify the dedicated IP addresses that you use to send email using Amazon SES or Amazon Pinpoint." +} +""" +GetBlacklistReports(args) = sesv2("GET", "/v2/email/deliverability-dashboard/blacklist-report", args) + +""" + PutConfigurationSetSendingOptions() + +Enable or disable email sending for messages that use a particular configuration set in a specific AWS Region. + +Required Parameters +{ + "ConfigurationSetName": "The name of the configuration set that you want to enable or disable email sending for." +} + +Optional Parameters +{ + "SendingEnabled": "If true, email sending is enabled for the configuration set. If false, email sending is disabled for the configuration set." +} +""" +PutConfigurationSetSendingOptions(args) = sesv2("PUT", "/v2/email/configuration-sets/{ConfigurationSetName}/sending", args) + +""" + GetAccount() + +Obtain information about the email-sending status and capabilities of your Amazon SES account in the current AWS Region. +""" +GetAccount() = sesv2("GET", "/v2/email/account") +GetAccount(args) = sesv2("GET", "/v2/email/account", args) + +""" + ListConfigurationSets() + +List all of the configuration sets associated with your account in the current region. Configuration sets are groups of rules that you can apply to the emails you send. You apply a configuration set to an email by including a reference to the configuration set in the headers of the email. When you apply a configuration set to an email, all of the rules in that configuration set are applied to the email. + +Optional Parameters +{ + "NextToken": "A token returned from a previous call to ListConfigurationSets to indicate the position in the list of configuration sets.", + "PageSize": "The number of results to show in a single call to ListConfigurationSets. If the number of results is larger than the number you specified in this parameter, then the response includes a NextToken element, which you can use to obtain additional results." +} +""" +ListConfigurationSets() = sesv2("GET", "/v2/email/configuration-sets") +ListConfigurationSets(args) = sesv2("GET", "/v2/email/configuration-sets", args) + +""" + UpdateConfigurationSetEventDestination() + +Update the configuration of an event destination for a configuration set. Events include message sends, deliveries, opens, clicks, bounces, and complaints. Event destinations are places that you can send information about these events to. For example, you can send event data to Amazon SNS to receive notifications when you receive bounces or complaints, or you can use Amazon Kinesis Data Firehose to stream data to Amazon S3 for long-term storage. + +Required Parameters +{ + "ConfigurationSetName": "The name of the configuration set that contains the event destination that you want to modify.", + "EventDestination": "An object that defines the event destination.", + "EventDestinationName": "The name of the event destination that you want to modify." +} +""" +UpdateConfigurationSetEventDestination(args) = sesv2("PUT", "/v2/email/configuration-sets/{ConfigurationSetName}/event-destinations/{EventDestinationName}", args) + +""" + ListDeliverabilityTestReports() + +Show a list of the predictive inbox placement tests that you've performed, regardless of their statuses. For predictive inbox placement tests that are complete, you can use the GetDeliverabilityTestReport operation to view the results. + +Optional Parameters +{ + "NextToken": "A token returned from a previous call to ListDeliverabilityTestReports to indicate the position in the list of predictive inbox placement tests.", + "PageSize": "The number of results to show in a single call to ListDeliverabilityTestReports. If the number of results is larger than the number you specified in this parameter, then the response includes a NextToken element, which you can use to obtain additional results. The value you specify has to be at least 0, and can be no more than 1000." +} +""" +ListDeliverabilityTestReports() = sesv2("GET", "/v2/email/deliverability-dashboard/test-reports") +ListDeliverabilityTestReports(args) = sesv2("GET", "/v2/email/deliverability-dashboard/test-reports", args) + +""" + DeleteEmailIdentity() + +Deletes an email identity. An identity can be either an email address or a domain name. + +Required Parameters +{ + "EmailIdentity": "The identity (that is, the email address or domain) that you want to delete." +} +""" +DeleteEmailIdentity(args) = sesv2("DELETE", "/v2/email/identities/{EmailIdentity}", args) + +""" + GetSuppressedDestination() + +Retrieves information about a specific email address that's on the suppression list for your account. + +Required Parameters +{ + "EmailAddress": "The email address that's on the account suppression list." +} +""" +GetSuppressedDestination(args) = sesv2("GET", "/v2/email/suppression/addresses/{EmailAddress}", args) + +""" + DeleteSuppressedDestination() + +Removes an email address from the suppression list for your account. + +Required Parameters +{ + "EmailAddress": "The suppressed email destination to remove from the account suppression list." +} +""" +DeleteSuppressedDestination(args) = sesv2("DELETE", "/v2/email/suppression/addresses/{EmailAddress}", args) + +""" + DeleteConfigurationSet() + +Delete an existing configuration set. Configuration sets are groups of rules that you can apply to the emails you send. You apply a configuration set to an email by including a reference to the configuration set in the headers of the email. When you apply a configuration set to an email, all of the rules in that configuration set are applied to the email. + +Required Parameters +{ + "ConfigurationSetName": "The name of the configuration set that you want to delete." +} +""" +DeleteConfigurationSet(args) = sesv2("DELETE", "/v2/email/configuration-sets/{ConfigurationSetName}", args) + +""" + PutDeliverabilityDashboardOption() + +Enable or disable the Deliverability dashboard. When you enable the Deliverability dashboard, you gain access to reputation, deliverability, and other metrics for the domains that you use to send email. You also gain the ability to perform predictive inbox placement tests. When you use the Deliverability dashboard, you pay a monthly subscription charge, in addition to any other fees that you accrue by using Amazon SES and other AWS services. For more information about the features and cost of a Deliverability dashboard subscription, see Amazon SES Pricing. + +Required Parameters +{ + "DashboardEnabled": "Specifies whether to enable the Deliverability dashboard. To enable the dashboard, set this value to true." +} + +Optional Parameters +{ + "SubscribedDomains": "An array of objects, one for each verified domain that you use to send email and enabled the Deliverability dashboard for." +} +""" +PutDeliverabilityDashboardOption(args) = sesv2("PUT", "/v2/email/deliverability-dashboard", args) + +""" + CreateDeliverabilityTestReport() + +Create a new predictive inbox placement test. Predictive inbox placement tests can help you predict how your messages will be handled by various email providers around the world. When you perform a predictive inbox placement test, you provide a sample message that contains the content that you plan to send to your customers. Amazon SES then sends that message to special email addresses spread across several major email providers. After about 24 hours, the test is complete, and you can use the GetDeliverabilityTestReport operation to view the results of the test. + +Required Parameters +{ + "Content": "The HTML body of the message that you sent when you performed the predictive inbox placement test.", + "FromEmailAddress": "The email address that the predictive inbox placement test email was sent from." +} + +Optional Parameters +{ + "ReportName": "A unique name that helps you to identify the predictive inbox placement test when you retrieve the results.", + "Tags": "An array of objects that define the tags (keys and values) that you want to associate with the predictive inbox placement test." +} +""" +CreateDeliverabilityTestReport(args) = sesv2("POST", "/v2/email/deliverability-dashboard/test", args) + +""" + PutDedicatedIpInPool() + +Move a dedicated IP address to an existing dedicated IP pool. The dedicated IP address that you specify must already exist, and must be associated with your AWS account. The dedicated IP pool you specify must already exist. You can create a new pool by using the CreateDedicatedIpPool operation. + +Required Parameters +{ + "DestinationPoolName": "The name of the IP pool that you want to add the dedicated IP address to. You have to specify an IP pool that already exists.", + "Ip": "The IP address that you want to move to the dedicated IP pool. The value you specify has to be a dedicated IP address that's associated with your AWS account." +} +""" +PutDedicatedIpInPool(args) = sesv2("PUT", "/v2/email/dedicated-ips/{IP}/pool", args) + +""" + PutConfigurationSetDeliveryOptions() + +Associate a configuration set with a dedicated IP pool. You can use dedicated IP pools to create groups of dedicated IP addresses for sending specific types of email. + +Required Parameters +{ + "ConfigurationSetName": "The name of the configuration set that you want to associate with a dedicated IP pool." +} + +Optional Parameters +{ + "TlsPolicy": "Specifies whether messages that use the configuration set are required to use Transport Layer Security (TLS). If the value is Require, messages are only delivered if a TLS connection can be established. If the value is Optional, messages can be delivered in plain text if a TLS connection can't be established.", + "SendingPoolName": "The name of the dedicated IP pool that you want to associate with the configuration set." +} +""" +PutConfigurationSetDeliveryOptions(args) = sesv2("PUT", "/v2/email/configuration-sets/{ConfigurationSetName}/delivery-options", args) + +""" + UntagResource() + +Remove one or more tags (keys and values) from a specified resource. + +Required Parameters +{ + "ResourceArn": "The Amazon Resource Name (ARN) of the resource that you want to remove one or more tags from.", + "TagKeys": "The tags (tag keys) that you want to remove from the resource. When you specify a tag key, the action removes both that key and its associated tag value. To remove more than one tag from the resource, append the TagKeys parameter and argument for each additional tag to remove, separated by an ampersand. For example: /v2/email/tags?ResourceArn=ResourceArn&TagKeys=Key1&TagKeys=Key2 " +} +""" +UntagResource(args) = sesv2("DELETE", "/v2/email/tags", args) + +""" + PutConfigurationSetReputationOptions() + +Enable or disable collection of reputation metrics for emails that you send using a particular configuration set in a specific AWS Region. + +Required Parameters +{ + "ConfigurationSetName": "The name of the configuration set that you want to enable or disable reputation metric tracking for." +} + +Optional Parameters +{ + "ReputationMetricsEnabled": "If true, tracking of reputation metrics is enabled for the configuration set. If false, tracking of reputation metrics is disabled for the configuration set." +} +""" +PutConfigurationSetReputationOptions(args) = sesv2("PUT", "/v2/email/configuration-sets/{ConfigurationSetName}/reputation-options", args) + +""" + PutConfigurationSetSuppressionOptions() + +Specify the account suppression list preferences for a configuration set. + +Required Parameters +{ + "ConfigurationSetName": "The name of the configuration set that you want to change the suppression list preferences for." +} + +Optional Parameters +{ + "SuppressedReasons": "A list that contains the reasons that email addresses are automatically added to the suppression list for your account. This list can contain any or all of the following: COMPLAINT – Amazon SES adds an email address to the suppression list for your account when a message sent to that address results in a complaint. BOUNCE – Amazon SES adds an email address to the suppression list for your account when a message sent to that address results in a hard bounce. " +} +""" +PutConfigurationSetSuppressionOptions(args) = sesv2("PUT", "/v2/email/configuration-sets/{ConfigurationSetName}/suppression-options", args) + +""" + GetEmailIdentity() + +Provides information about a specific identity, including the identity's verification status, its DKIM authentication status, and its custom Mail-From settings. + +Required Parameters +{ + "EmailIdentity": "The email identity that you want to retrieve details for." +} +""" +GetEmailIdentity(args) = sesv2("GET", "/v2/email/identities/{EmailIdentity}", args) + +""" + ListSuppressedDestinations() + +Retrieves a list of email addresses that are on the suppression list for your account. + +Optional Parameters +{ + "EndDate": "Used to filter the list of suppressed email destinations so that it only includes addresses that were added to the list before a specific date. The date that you specify should be in Unix time format.", + "NextToken": "A token returned from a previous call to ListSuppressedDestinations to indicate the position in the list of suppressed email addresses.", + "StartDate": "Used to filter the list of suppressed email destinations so that it only includes addresses that were added to the list after a specific date. The date that you specify should be in Unix time format.", + "Reasons": "The factors that caused the email address to be added to .", + "PageSize": "The number of results to show in a single call to ListSuppressedDestinations. If the number of results is larger than the number you specified in this parameter, then the response includes a NextToken element, which you can use to obtain additional results." +} +""" +ListSuppressedDestinations() = sesv2("GET", "/v2/email/suppression/addresses") +ListSuppressedDestinations(args) = sesv2("GET", "/v2/email/suppression/addresses", args) + +""" + ListDedicatedIpPools() + +List all of the dedicated IP pools that exist in your AWS account in the current Region. + +Optional Parameters +{ + "NextToken": "A token returned from a previous call to ListDedicatedIpPools to indicate the position in the list of dedicated IP pools.", + "PageSize": "The number of results to show in a single call to ListDedicatedIpPools. If the number of results is larger than the number you specified in this parameter, then the response includes a NextToken element, which you can use to obtain additional results." +} +""" +ListDedicatedIpPools() = sesv2("GET", "/v2/email/dedicated-ip-pools") +ListDedicatedIpPools(args) = sesv2("GET", "/v2/email/dedicated-ip-pools", args) + +""" + GetDedicatedIp() + +Get information about a dedicated IP address, including the name of the dedicated IP pool that it's associated with, as well information about the automatic warm-up process for the address. + +Required Parameters +{ + "Ip": "The IP address that you want to obtain more information about. The value you specify has to be a dedicated IP address that's assocaited with your AWS account." +} +""" +GetDedicatedIp(args) = sesv2("GET", "/v2/email/dedicated-ips/{IP}", args) + +""" + PutAccountDedicatedIpWarmupAttributes() + +Enable or disable the automatic warm-up feature for dedicated IP addresses. + +Optional Parameters +{ + "AutoWarmupEnabled": "Enables or disables the automatic warm-up feature for dedicated IP addresses that are associated with your Amazon SES account in the current AWS Region. Set to true to enable the automatic warm-up feature, or set to false to disable it." +} +""" +PutAccountDedicatedIpWarmupAttributes() = sesv2("PUT", "/v2/email/account/dedicated-ips/warmup") +PutAccountDedicatedIpWarmupAttributes(args) = sesv2("PUT", "/v2/email/account/dedicated-ips/warmup", args) + +""" + GetDedicatedIps() + +List the dedicated IP addresses that are associated with your AWS account. + +Optional Parameters +{ + "NextToken": "A token returned from a previous call to GetDedicatedIps to indicate the position of the dedicated IP pool in the list of IP pools.", + "PageSize": "The number of results to show in a single call to GetDedicatedIpsRequest. If the number of results is larger than the number you specified in this parameter, then the response includes a NextToken element, which you can use to obtain additional results.", + "PoolName": "The name of the IP pool that the dedicated IP address is associated with." +} +""" +GetDedicatedIps() = sesv2("GET", "/v2/email/dedicated-ips") +GetDedicatedIps(args) = sesv2("GET", "/v2/email/dedicated-ips", args) + +""" + ListTagsForResource() + +Retrieve a list of the tags (keys and values) that are associated with a specified resource. A tag is a label that you optionally define and associate with a resource. Each tag consists of a required tag key and an optional associated tag value. A tag key is a general label that acts as a category for more specific tag values. A tag value acts as a descriptor within a tag key. + +Required Parameters +{ + "ResourceArn": "The Amazon Resource Name (ARN) of the resource that you want to retrieve tag information for." +} +""" +ListTagsForResource(args) = sesv2("GET", "/v2/email/tags", args) + +""" + CreateConfigurationSetEventDestination() + +Create an event destination. Events include message sends, deliveries, opens, clicks, bounces, and complaints. Event destinations are places that you can send information about these events to. For example, you can send event data to Amazon SNS to receive notifications when you receive bounces or complaints, or you can use Amazon Kinesis Data Firehose to stream data to Amazon S3 for long-term storage. A single configuration set can include more than one event destination. + +Required Parameters +{ + "ConfigurationSetName": "The name of the configuration set that you want to add an event destination to.", + "EventDestination": "An object that defines the event destination.", + "EventDestinationName": "A name that identifies the event destination within the configuration set." +} +""" +CreateConfigurationSetEventDestination(args) = sesv2("POST", "/v2/email/configuration-sets/{ConfigurationSetName}/event-destinations", args) + +""" + PutEmailIdentityMailFromAttributes() + +Used to enable or disable the custom Mail-From domain configuration for an email identity. + +Required Parameters +{ + "EmailIdentity": "The verified email identity that you want to set up the custom MAIL FROM domain for." +} + +Optional Parameters +{ + "BehaviorOnMxFailure": "The action that you want to take if the required MX record isn't found when you send an email. When you set this value to UseDefaultValue, the mail is sent using amazonses.com as the MAIL FROM domain. When you set this value to RejectMessage, the Amazon SES API v2 returns a MailFromDomainNotVerified error, and doesn't attempt to deliver the email. These behaviors are taken when the custom MAIL FROM domain configuration is in the Pending, Failed, and TemporaryFailure states.", + "MailFromDomain": " The custom MAIL FROM domain that you want the verified identity to use. The MAIL FROM domain must meet the following criteria: It has to be a subdomain of the verified identity. It can't be used to receive email. It can't be used in a \"From\" address if the MAIL FROM domain is a destination for feedback forwarding emails. " +} +""" +PutEmailIdentityMailFromAttributes(args) = sesv2("PUT", "/v2/email/identities/{EmailIdentity}/mail-from", args) + +""" + PutConfigurationSetTrackingOptions() + +Specify a custom domain to use for open and click tracking elements in email that you send. + +Required Parameters +{ + "ConfigurationSetName": "The name of the configuration set that you want to add a custom tracking domain to." +} + +Optional Parameters +{ + "CustomRedirectDomain": "The domain that you want to use to track open and click events." +} +""" +PutConfigurationSetTrackingOptions(args) = sesv2("PUT", "/v2/email/configuration-sets/{ConfigurationSetName}/tracking-options", args) + +""" + GetDomainDeliverabilityCampaign() + +Retrieve all the deliverability data for a specific campaign. This data is available for a campaign only if the campaign sent email by using a domain that the Deliverability dashboard is enabled for. + +Required Parameters +{ + "CampaignId": "The unique identifier for the campaign. The Deliverability dashboard automatically generates and assigns this identifier to a campaign." +} +""" +GetDomainDeliverabilityCampaign(args) = sesv2("GET", "/v2/email/deliverability-dashboard/campaigns/{CampaignId}", args) + +""" + GetDomainStatisticsReport() + +Retrieve inbox placement and engagement rates for the domains that you use to send email. + +Required Parameters +{ + "EndDate": "The last day (in Unix time) that you want to obtain domain deliverability metrics for. The EndDate that you specify has to be less than or equal to 30 days after the StartDate.", + "StartDate": "The first day (in Unix time) that you want to obtain domain deliverability metrics for.", + "Domain": "The domain that you want to obtain deliverability metrics for." +} +""" +GetDomainStatisticsReport(args) = sesv2("GET", "/v2/email/deliverability-dashboard/statistics-report/{Domain}", args) + +""" + PutEmailIdentityDkimAttributes() + +Used to enable or disable DKIM authentication for an email identity. + +Required Parameters +{ + "EmailIdentity": "The email identity that you want to change the DKIM settings for." +} + +Optional Parameters +{ + "SigningEnabled": "Sets the DKIM signing configuration for the identity. When you set this value true, then the messages that are sent from the identity are signed using DKIM. If you set this value to false, your messages are sent without DKIM signing." +} +""" +PutEmailIdentityDkimAttributes(args) = sesv2("PUT", "/v2/email/identities/{EmailIdentity}/dkim", args) + +""" + GetDeliverabilityDashboardOptions() + +Retrieve information about the status of the Deliverability dashboard for your account. When the Deliverability dashboard is enabled, you gain access to reputation, deliverability, and other metrics for the domains that you use to send email. You also gain the ability to perform predictive inbox placement tests. When you use the Deliverability dashboard, you pay a monthly subscription charge, in addition to any other fees that you accrue by using Amazon SES and other AWS services. For more information about the features and cost of a Deliverability dashboard subscription, see Amazon SES Pricing. +""" +GetDeliverabilityDashboardOptions() = sesv2("GET", "/v2/email/deliverability-dashboard") +GetDeliverabilityDashboardOptions(args) = sesv2("GET", "/v2/email/deliverability-dashboard", args) + +""" + DeleteConfigurationSetEventDestination() + +Delete an event destination. Events include message sends, deliveries, opens, clicks, bounces, and complaints. Event destinations are places that you can send information about these events to. For example, you can send event data to Amazon SNS to receive notifications when you receive bounces or complaints, or you can use Amazon Kinesis Data Firehose to stream data to Amazon S3 for long-term storage. + +Required Parameters +{ + "ConfigurationSetName": "The name of the configuration set that contains the event destination that you want to delete.", + "EventDestinationName": "The name of the event destination that you want to delete." +} +""" +DeleteConfigurationSetEventDestination(args) = sesv2("DELETE", "/v2/email/configuration-sets/{ConfigurationSetName}/event-destinations/{EventDestinationName}", args) + +""" + SendEmail() + +Sends an email message. You can use the Amazon SES API v2 to send two types of messages: Simple – A standard email message. When you create this type of message, you specify the sender, the recipient, and the message body, and Amazon SES assembles the message for you. Raw – A raw, MIME-formatted email message. When you send this type of email, you have to specify all of the message headers, as well as the message body. You can use this message type to send messages that contain attachments. The message that you specify has to be a valid MIME message. + +Required Parameters +{ + "Content": "An object that contains the body of the message. You can send either a Simple message or a Raw message.", + "Destination": "An object that contains the recipients of the email message." +} + +Optional Parameters +{ + "ConfigurationSetName": "The name of the configuration set that you want to use when sending the email.", + "FeedbackForwardingEmailAddress": "The address that you want bounce and complaint notifications to be sent to.", + "EmailTags": "A list of tags, in the form of name/value pairs, to apply to an email that you send using the SendEmail operation. Tags correspond to characteristics of the email that you define, so that you can publish email sending events. ", + "FromEmailAddress": "The email address that you want to use as the \"From\" address for the email. The address that you specify has to be verified. ", + "ReplyToAddresses": "The \"Reply-to\" email addresses for the message. When the recipient replies to the message, each Reply-to address receives the reply." +} +""" +SendEmail(args) = sesv2("POST", "/v2/email/outbound-emails", args) + +""" + PutEmailIdentityFeedbackAttributes() + +Used to enable or disable feedback forwarding for an identity. This setting determines what happens when an identity is used to send an email that results in a bounce or complaint event. If the value is true, you receive email notifications when bounce or complaint events occur. These notifications are sent to the address that you specified in the Return-Path header of the original email. You're required to have a method of tracking bounces and complaints. If you haven't set up another mechanism for receiving bounce or complaint notifications (for example, by setting up an event destination), you receive an email notification when these events occur (even if this setting is disabled). + +Required Parameters +{ + "EmailIdentity": "The email identity that you want to configure bounce and complaint feedback forwarding for." +} + +Optional Parameters +{ + "EmailForwardingEnabled": "Sets the feedback forwarding configuration for the identity. If the value is true, you receive email notifications when bounce or complaint events occur. These notifications are sent to the address that you specified in the Return-Path header of the original email. You're required to have a method of tracking bounces and complaints. If you haven't set up another mechanism for receiving bounce or complaint notifications (for example, by setting up an event destination), you receive an email notification when these events occur (even if this setting is disabled)." +} +""" +PutEmailIdentityFeedbackAttributes(args) = sesv2("PUT", "/v2/email/identities/{EmailIdentity}/feedback", args) + +""" + GetConfigurationSet() + +Get information about an existing configuration set, including the dedicated IP pool that it's associated with, whether or not it's enabled for sending email, and more. Configuration sets are groups of rules that you can apply to the emails you send. You apply a configuration set to an email by including a reference to the configuration set in the headers of the email. When you apply a configuration set to an email, all of the rules in that configuration set are applied to the email. + +Required Parameters +{ + "ConfigurationSetName": "The name of the configuration set that you want to obtain more information about." +} +""" +GetConfigurationSet(args) = sesv2("GET", "/v2/email/configuration-sets/{ConfigurationSetName}", args) + +""" + ListEmailIdentities() + +Returns a list of all of the email identities that are associated with your AWS account. An identity can be either an email address or a domain. This operation returns identities that are verified as well as those that aren't. This operation returns identities that are associated with Amazon SES and Amazon Pinpoint. + +Optional Parameters +{ + "NextToken": "A token returned from a previous call to ListEmailIdentities to indicate the position in the list of identities.", + "PageSize": "The number of results to show in a single call to ListEmailIdentities. If the number of results is larger than the number you specified in this parameter, then the response includes a NextToken element, which you can use to obtain additional results. The value you specify has to be at least 0, and can be no more than 1000." +} +""" +ListEmailIdentities() = sesv2("GET", "/v2/email/identities") +ListEmailIdentities(args) = sesv2("GET", "/v2/email/identities", args) + +""" + DeleteDedicatedIpPool() + +Delete a dedicated IP pool. + +Required Parameters +{ + "PoolName": "The name of the dedicated IP pool that you want to delete." +} +""" +DeleteDedicatedIpPool(args) = sesv2("DELETE", "/v2/email/dedicated-ip-pools/{PoolName}", args) + +""" + GetDeliverabilityTestReport() + +Retrieve the results of a predictive inbox placement test. + +Required Parameters +{ + "ReportId": "A unique string that identifies the predictive inbox placement test." +} +""" +GetDeliverabilityTestReport(args) = sesv2("GET", "/v2/email/deliverability-dashboard/test-reports/{ReportId}", args) + +""" + ListDomainDeliverabilityCampaigns() + +Retrieve deliverability data for all the campaigns that used a specific domain to send email during a specified time range. This data is available for a domain only if you enabled the Deliverability dashboard for the domain. + +Required Parameters +{ + "EndDate": "The last day, in Unix time format, that you want to obtain deliverability data for. This value has to be less than or equal to 30 days after the value of the StartDate parameter.", + "StartDate": "The first day, in Unix time format, that you want to obtain deliverability data for.", + "SubscribedDomain": "The domain to obtain deliverability data for." +} + +Optional Parameters +{ + "NextToken": "A token that’s returned from a previous call to the ListDomainDeliverabilityCampaigns operation. This token indicates the position of a campaign in the list of campaigns.", + "PageSize": "The maximum number of results to include in response to a single call to the ListDomainDeliverabilityCampaigns operation. If the number of results is larger than the number that you specify in this parameter, the response includes a NextToken element, which you can use to obtain additional results." +} +""" +ListDomainDeliverabilityCampaigns(args) = sesv2("GET", "/v2/email/deliverability-dashboard/domains/{SubscribedDomain}/campaigns", args) + +""" + PutEmailIdentityDkimSigningAttributes() + +Used to configure or change the DKIM authentication settings for an email domain identity. You can use this operation to do any of the following: Update the signing attributes for an identity that uses Bring Your Own DKIM (BYODKIM). Change from using no DKIM authentication to using Easy DKIM. Change from using no DKIM authentication to using BYODKIM. Change from using Easy DKIM to using BYODKIM. Change from using BYODKIM to using Easy DKIM. + +Required Parameters +{ + "EmailIdentity": "The email identity that you want to configure DKIM for.", + "SigningAttributesOrigin": "The method that you want to use to configure DKIM for the identity. There are two possible values: AWS_SES – Configure DKIM for the identity by using Easy DKIM. EXTERNAL – Configure DKIM for the identity by using Bring Your Own DKIM (BYODKIM). " +} + +Optional Parameters +{ + "SigningAttributes": "An object that contains information about the private key and selector that you want to use to configure DKIM for the identity. This object is only required if you want to configure Bring Your Own DKIM (BYODKIM) for the identity." +} +""" +PutEmailIdentityDkimSigningAttributes(args) = sesv2("PUT", "/v1/email/identities/{EmailIdentity}/dkim/signing", args) + +""" + PutSuppressedDestination() + +Adds an email address to the suppression list for your account. + +Required Parameters +{ + "Reason": "The factors that should cause the email address to be added to the suppression list for your account.", + "EmailAddress": "The email address that should be added to the suppression list for your account." +} +""" +PutSuppressedDestination(args) = sesv2("PUT", "/v2/email/suppression/addresses", args) + +""" + GetConfigurationSetEventDestinations() + +Retrieve a list of event destinations that are associated with a configuration set. Events include message sends, deliveries, opens, clicks, bounces, and complaints. Event destinations are places that you can send information about these events to. For example, you can send event data to Amazon SNS to receive notifications when you receive bounces or complaints, or you can use Amazon Kinesis Data Firehose to stream data to Amazon S3 for long-term storage. + +Required Parameters +{ + "ConfigurationSetName": "The name of the configuration set that contains the event destination." +} +""" +GetConfigurationSetEventDestinations(args) = sesv2("GET", "/v2/email/configuration-sets/{ConfigurationSetName}/event-destinations", args) + +""" + PutAccountSendingAttributes() + +Enable or disable the ability of your account to send email. + +Optional Parameters +{ + "SendingEnabled": "Enables or disables your account's ability to send email. Set to true to enable email sending, or set to false to disable email sending. If AWS paused your account's ability to send email, you can't use this operation to resume your account's ability to send email. " +} +""" +PutAccountSendingAttributes() = sesv2("PUT", "/v2/email/account/sending") +PutAccountSendingAttributes(args) = sesv2("PUT", "/v2/email/account/sending", args) diff --git a/src/services/sfn.jl b/src/services/sfn.jl new file mode 100644 index 0000000000..20338b296e --- /dev/null +++ b/src/services/sfn.jl @@ -0,0 +1,331 @@ +include("../AWSServices.jl") +using .AWSServices: sfn + +""" + ListTagsForResource() + +List tags for a given resource. Tags may only contain Unicode letters, digits, white space, or these symbols: _ . : / = + - @. + +Required Parameters +{ + "resourceArn": "The Amazon Resource Name (ARN) for the Step Functions state machine or activity." +} +""" +ListTagsForResource(args) = sfn("ListTagsForResource", args) + +""" + GetActivityTask() + +Used by workers to retrieve a task (with the specified activity ARN) which has been scheduled for execution by a running state machine. This initiates a long poll, where the service holds the HTTP connection open and responds as soon as a task becomes available (i.e. an execution of a task of this type is needed.) The maximum time the service holds on to the request before responding is 60 seconds. If no task is available within 60 seconds, the poll returns a taskToken with a null string. Workers should set their client side socket timeout to at least 65 seconds (5 seconds higher than the maximum time the service may hold the poll request). Polling with GetActivityTask can cause latency in some implementations. See Avoid Latency When Polling for Activity Tasks in the Step Functions Developer Guide. + +Required Parameters +{ + "activityArn": "The Amazon Resource Name (ARN) of the activity to retrieve tasks from (assigned when you create the task using CreateActivity.)" +} + +Optional Parameters +{ + "workerName": "You can provide an arbitrary name in order to identify the worker that the task is assigned to. This name is used when it is logged in the execution history." +} +""" +GetActivityTask(args) = sfn("GetActivityTask", args) + +""" + StopExecution() + +Stops an execution. This API action is not supported by EXPRESS state machines. + +Required Parameters +{ + "executionArn": "The Amazon Resource Name (ARN) of the execution to stop." +} + +Optional Parameters +{ + "error": "The error code of the failure.", + "cause": "A more detailed explanation of the cause of the failure." +} +""" +StopExecution(args) = sfn("StopExecution", args) + +""" + DeleteActivity() + +Deletes an activity. + +Required Parameters +{ + "activityArn": "The Amazon Resource Name (ARN) of the activity to delete." +} +""" +DeleteActivity(args) = sfn("DeleteActivity", args) + +""" + SendTaskHeartbeat() + +Used by activity workers and task states using the callback pattern to report to Step Functions that the task represented by the specified taskToken is still making progress. This action resets the Heartbeat clock. The Heartbeat threshold is specified in the state machine's Amazon States Language definition (HeartbeatSeconds). This action does not in itself create an event in the execution history. However, if the task times out, the execution history contains an ActivityTimedOut entry for activities, or a TaskTimedOut entry for for tasks using the job run or callback pattern. The Timeout of a task, defined in the state machine's Amazon States Language definition, is its maximum allowed duration, regardless of the number of SendTaskHeartbeat requests received. Use HeartbeatSeconds to configure the timeout interval for heartbeats. + +Required Parameters +{ + "taskToken": "The token that represents this task. Task tokens are generated by Step Functions when tasks are assigned to a worker, or in the context object when a workflow enters a task state. See GetActivityTaskOutput taskToken." +} +""" +SendTaskHeartbeat(args) = sfn("SendTaskHeartbeat", args) + +""" + GetExecutionHistory() + +Returns the history of the specified execution as a list of events. By default, the results are returned in ascending order of the timeStamp of the events. Use the reverseOrder parameter to get the latest events first. If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error. This API action is not supported by EXPRESS state machines. + +Required Parameters +{ + "executionArn": "The Amazon Resource Name (ARN) of the execution." +} + +Optional Parameters +{ + "reverseOrder": "Lists events in descending order of their timeStamp.", + "maxResults": "The maximum number of results that are returned per call. You can use nextToken to obtain further pages of results. The default is 100 and the maximum allowed page size is 1000. A value of 0 uses the default. This is only an upper limit. The actual number of results returned per call might be fewer than the specified maximum.", + "nextToken": "If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error." +} +""" +GetExecutionHistory(args) = sfn("GetExecutionHistory", args) + +""" + ListStateMachines() + +Lists the existing state machines. If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error. This operation is eventually consistent. The results are best effort and may not reflect very recent updates and changes. + +Optional Parameters +{ + "maxResults": "The maximum number of results that are returned per call. You can use nextToken to obtain further pages of results. The default is 100 and the maximum allowed page size is 1000. A value of 0 uses the default. This is only an upper limit. The actual number of results returned per call might be fewer than the specified maximum.", + "nextToken": "If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error." +} +""" +ListStateMachines() = sfn("ListStateMachines") +ListStateMachines(args) = sfn("ListStateMachines", args) + +""" + DescribeStateMachine() + +Describes a state machine. This operation is eventually consistent. The results are best effort and may not reflect very recent updates and changes. + +Required Parameters +{ + "stateMachineArn": "The Amazon Resource Name (ARN) of the state machine to describe." +} +""" +DescribeStateMachine(args) = sfn("DescribeStateMachine", args) + +""" + StartExecution() + +Starts a state machine execution. StartExecution is idempotent. If StartExecution is called with the same name and input as a running execution, the call will succeed and return the same response as the original request. If the execution is closed or if the input is different, it will return a 400 ExecutionAlreadyExists error. Names can be reused after 90 days. + +Required Parameters +{ + "stateMachineArn": "The Amazon Resource Name (ARN) of the state machine to execute." +} + +Optional Parameters +{ + "name": "The name of the execution. This name must be unique for your AWS account, region, and state machine for 90 days. For more information, see Limits Related to State Machine Executions in the AWS Step Functions Developer Guide. A name must not contain: white space brackets < > { } [ ] wildcard characters ? * special characters \" # % ^ | ~ ` & , ; : / control characters (U+0000-001F, U+007F-009F) To enable logging with CloudWatch Logs, the name should only contain 0-9, A-Z, a-z, - and _.", + "input": "The string that contains the JSON input data for the execution, for example: \"input\": \"{ \"first_name \" : \"test \"}\" If you don't include any JSON input data, you still must include the two braces, for example: \"input\": \"{}\" " +} +""" +StartExecution(args) = sfn("StartExecution", args) + +""" + ListActivities() + +Lists the existing activities. If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error. This operation is eventually consistent. The results are best effort and may not reflect very recent updates and changes. + +Optional Parameters +{ + "maxResults": "The maximum number of results that are returned per call. You can use nextToken to obtain further pages of results. The default is 100 and the maximum allowed page size is 1000. A value of 0 uses the default. This is only an upper limit. The actual number of results returned per call might be fewer than the specified maximum.", + "nextToken": "If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error." +} +""" +ListActivities() = sfn("ListActivities") +ListActivities(args) = sfn("ListActivities", args) + +""" + TagResource() + +Add a tag to a Step Functions resource. An array of key-value pairs. For more information, see Using Cost Allocation Tags in the AWS Billing and Cost Management User Guide, and Controlling Access Using IAM Tags. Tags may only contain Unicode letters, digits, white space, or these symbols: _ . : / = + - @. + +Required Parameters +{ + "resourceArn": "The Amazon Resource Name (ARN) for the Step Functions state machine or activity.", + "tags": "The list of tags to add to a resource. Tags may only contain Unicode letters, digits, white space, or these symbols: _ . : / = + - @." +} +""" +TagResource(args) = sfn("TagResource", args) + +""" + UntagResource() + +Remove a tag from a Step Functions resource + +Required Parameters +{ + "resourceArn": "The Amazon Resource Name (ARN) for the Step Functions state machine or activity.", + "tagKeys": "The list of tags to remove from the resource." +} +""" +UntagResource(args) = sfn("UntagResource", args) + +""" + DescribeExecution() + +Describes an execution. This operation is eventually consistent. The results are best effort and may not reflect very recent updates and changes. This API action is not supported by EXPRESS state machines. + +Required Parameters +{ + "executionArn": "The Amazon Resource Name (ARN) of the execution to describe." +} +""" +DescribeExecution(args) = sfn("DescribeExecution", args) + +""" + ListExecutions() + +Lists the executions of a state machine that meet the filtering criteria. Results are sorted by time, with the most recent execution first. If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error. This operation is eventually consistent. The results are best effort and may not reflect very recent updates and changes. This API action is not supported by EXPRESS state machines. + +Required Parameters +{ + "stateMachineArn": "The Amazon Resource Name (ARN) of the state machine whose executions is listed." +} + +Optional Parameters +{ + "statusFilter": "If specified, only list the executions whose current execution status matches the given filter.", + "maxResults": "The maximum number of results that are returned per call. You can use nextToken to obtain further pages of results. The default is 100 and the maximum allowed page size is 1000. A value of 0 uses the default. This is only an upper limit. The actual number of results returned per call might be fewer than the specified maximum.", + "nextToken": "If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error." +} +""" +ListExecutions(args) = sfn("ListExecutions", args) + +""" + CreateActivity() + +Creates an activity. An activity is a task that you write in any programming language and host on any machine that has access to AWS Step Functions. Activities must poll Step Functions using the GetActivityTask API action and respond using SendTask* API actions. This function lets Step Functions know the existence of your activity and returns an identifier for use in a state machine and when polling from the activity. This operation is eventually consistent. The results are best effort and may not reflect very recent updates and changes. CreateActivity is an idempotent API. Subsequent requests won’t create a duplicate resource if it was already created. CreateActivity's idempotency check is based on the activity name. If a following request has different tags values, Step Functions will ignore these differences and treat it as an idempotent request of the previous. In this case, tags will not be updated, even if they are different. + +Required Parameters +{ + "name": "The name of the activity to create. This name must be unique for your AWS account and region for 90 days. For more information, see Limits Related to State Machine Executions in the AWS Step Functions Developer Guide. A name must not contain: white space brackets < > { } [ ] wildcard characters ? * special characters \" # % ^ | ~ ` & , ; : / control characters (U+0000-001F, U+007F-009F) To enable logging with CloudWatch Logs, the name should only contain 0-9, A-Z, a-z, - and _." +} + +Optional Parameters +{ + "tags": "The list of tags to add to a resource. An array of key-value pairs. For more information, see Using Cost Allocation Tags in the AWS Billing and Cost Management User Guide, and Controlling Access Using IAM Tags. Tags may only contain Unicode letters, digits, white space, or these symbols: _ . : / = + - @." +} +""" +CreateActivity(args) = sfn("CreateActivity", args) + +""" + DescribeStateMachineForExecution() + +Describes the state machine associated with a specific execution. This operation is eventually consistent. The results are best effort and may not reflect very recent updates and changes. This API action is not supported by EXPRESS state machines. + +Required Parameters +{ + "executionArn": "The Amazon Resource Name (ARN) of the execution you want state machine information for." +} +""" +DescribeStateMachineForExecution(args) = sfn("DescribeStateMachineForExecution", args) + +""" + SendTaskSuccess() + +Used by activity workers and task states using the callback pattern to report that the task identified by the taskToken completed successfully. + +Required Parameters +{ + "output": "The JSON output of the task.", + "taskToken": "The token that represents this task. Task tokens are generated by Step Functions when tasks are assigned to a worker, or in the context object when a workflow enters a task state. See GetActivityTaskOutput taskToken." +} +""" +SendTaskSuccess(args) = sfn("SendTaskSuccess", args) + +""" + SendTaskFailure() + +Used by activity workers and task states using the callback pattern to report that the task identified by the taskToken failed. + +Required Parameters +{ + "taskToken": "The token that represents this task. Task tokens are generated by Step Functions when tasks are assigned to a worker, or in the context object when a workflow enters a task state. See GetActivityTaskOutput taskToken." +} + +Optional Parameters +{ + "error": "The error code of the failure.", + "cause": "A more detailed explanation of the cause of the failure." +} +""" +SendTaskFailure(args) = sfn("SendTaskFailure", args) + +""" + UpdateStateMachine() + +Updates an existing state machine by modifying its definition, roleArn, or loggingConfiguration. Running executions will continue to use the previous definition and roleArn. You must include at least one of definition or roleArn or you will receive a MissingRequiredParameter error. All StartExecution calls within a few seconds will use the updated definition and roleArn. Executions started immediately after calling UpdateStateMachine may use the previous state machine definition and roleArn. + +Required Parameters +{ + "stateMachineArn": "The Amazon Resource Name (ARN) of the state machine." +} + +Optional Parameters +{ + "roleArn": "The Amazon Resource Name (ARN) of the IAM role of the state machine.", + "loggingConfiguration": "The LoggingConfiguration data type is used to set CloudWatch Logs options.", + "definition": "The Amazon States Language definition of the state machine. See Amazon States Language." +} +""" +UpdateStateMachine(args) = sfn("UpdateStateMachine", args) + +""" + CreateStateMachine() + +Creates a state machine. A state machine consists of a collection of states that can do work (Task states), determine to which states to transition next (Choice states), stop an execution with an error (Fail states), and so on. State machines are specified using a JSON-based, structured language. For more information, see Amazon States Language in the AWS Step Functions User Guide. This operation is eventually consistent. The results are best effort and may not reflect very recent updates and changes. CreateStateMachine is an idempotent API. Subsequent requests won’t create a duplicate resource if it was already created. CreateStateMachine's idempotency check is based on the state machine name, definition, type, and LoggingConfiguration. If a following request has a different roleArn or tags, Step Functions will ignore these differences and treat it as an idempotent request of the previous. In this case, roleArn and tags will not be updated, even if they are different. + +Required Parameters +{ + "roleArn": "The Amazon Resource Name (ARN) of the IAM role to use for this state machine.", + "name": "The name of the state machine. A name must not contain: white space brackets < > { } [ ] wildcard characters ? * special characters \" # % ^ | ~ ` & , ; : / control characters (U+0000-001F, U+007F-009F) To enable logging with CloudWatch Logs, the name should only contain 0-9, A-Z, a-z, - and _.", + "definition": "The Amazon States Language definition of the state machine. See Amazon States Language." +} + +Optional Parameters +{ + "loggingConfiguration": "Defines what execution history events are logged and where they are logged. By default, the level is set to OFF. For more information see Log Levels in the AWS Step Functions User Guide. ", + "tags": "Tags to be added when creating a state machine. An array of key-value pairs. For more information, see Using Cost Allocation Tags in the AWS Billing and Cost Management User Guide, and Controlling Access Using IAM Tags. Tags may only contain Unicode letters, digits, white space, or these symbols: _ . : / = + - @.", + "type": "Determines whether a Standard or Express state machine is created. The default is STANDARD. You cannot update the type of a state machine once it has been created." +} +""" +CreateStateMachine(args) = sfn("CreateStateMachine", args) + +""" + DeleteStateMachine() + +Deletes a state machine. This is an asynchronous operation: It sets the state machine's status to DELETING and begins the deletion process. For EXPRESSstate machines, the deletion will happen eventually (usually less than a minute). Running executions may emit logs after DeleteStateMachine API is called. + +Required Parameters +{ + "stateMachineArn": "The Amazon Resource Name (ARN) of the state machine to delete." +} +""" +DeleteStateMachine(args) = sfn("DeleteStateMachine", args) + +""" + DescribeActivity() + +Describes an activity. This operation is eventually consistent. The results are best effort and may not reflect very recent updates and changes. + +Required Parameters +{ + "activityArn": "The Amazon Resource Name (ARN) of the activity to describe." +} +""" +DescribeActivity(args) = sfn("DescribeActivity", args) diff --git a/src/services/shield.jl b/src/services/shield.jl new file mode 100644 index 0000000000..209374b3d7 --- /dev/null +++ b/src/services/shield.jl @@ -0,0 +1,228 @@ +include("../AWSServices.jl") +using .AWSServices: shield + +""" + DescribeSubscription() + +Provides details about the AWS Shield Advanced subscription for an account. +""" +DescribeSubscription() = shield("DescribeSubscription") +DescribeSubscription(args) = shield("DescribeSubscription", args) + +""" + AssociateDRTRole() + +Authorizes the DDoS Response team (DRT), using the specified role, to access your AWS account to assist with DDoS attack mitigation during potential attacks. This enables the DRT to inspect your AWS WAF configuration and create or update AWS WAF rules and web ACLs. You can associate only one RoleArn with your subscription. If you submit an AssociateDRTRole request for an account that already has an associated role, the new RoleArn will replace the existing RoleArn. Prior to making the AssociateDRTRole request, you must attach the AWSShieldDRTAccessPolicy managed policy to the role you will specify in the request. For more information see Attaching and Detaching IAM Policies. The role must also trust the service principal drt.shield.amazonaws.com. For more information, see IAM JSON Policy Elements: Principal. The DRT will have access only to your AWS WAF and Shield resources. By submitting this request, you authorize the DRT to inspect your AWS WAF and Shield configuration and create and update AWS WAF rules and web ACLs on your behalf. The DRT takes these actions only if explicitly authorized by you. You must have the iam:PassRole permission to make an AssociateDRTRole request. For more information, see Granting a User Permissions to Pass a Role to an AWS Service. To use the services of the DRT and make an AssociateDRTRole request, you must be subscribed to the Business Support plan or the Enterprise Support plan. + +Required Parameters +{ + "RoleArn": "The Amazon Resource Name (ARN) of the role the DRT will use to access your AWS account. Prior to making the AssociateDRTRole request, you must attach the AWSShieldDRTAccessPolicy managed policy to this role. For more information see Attaching and Detaching IAM Policies." +} +""" +AssociateDRTRole(args) = shield("AssociateDRTRole", args) + +""" + CreateSubscription() + +Activates AWS Shield Advanced for an account. As part of this request you can specify EmergencySettings that automaticaly grant the DDoS response team (DRT) needed permissions to assist you during a suspected DDoS attack. For more information see Authorize the DDoS Response Team to Create Rules and Web ACLs on Your Behalf. To use the services of the DRT, you must be subscribed to the Business Support plan or the Enterprise Support plan. When you initally create a subscription, your subscription is set to be automatically renewed at the end of the existing subscription period. You can change this by submitting an UpdateSubscription request. +""" +CreateSubscription() = shield("CreateSubscription") +CreateSubscription(args) = shield("CreateSubscription", args) + +""" + DescribeEmergencyContactSettings() + +Lists the email addresses that the DRT can use to contact you during a suspected attack. +""" +DescribeEmergencyContactSettings() = shield("DescribeEmergencyContactSettings") +DescribeEmergencyContactSettings(args) = shield("DescribeEmergencyContactSettings", args) + +""" + DescribeDRTAccess() + +Returns the current role and list of Amazon S3 log buckets used by the DDoS Response team (DRT) to access your AWS account while assisting with attack mitigation. +""" +DescribeDRTAccess() = shield("DescribeDRTAccess") +DescribeDRTAccess(args) = shield("DescribeDRTAccess", args) + +""" + UpdateSubscription() + +Updates the details of an existing subscription. Only enter values for parameters you want to change. Empty parameters are not updated. + +Optional Parameters +{ + "AutoRenew": "When you initally create a subscription, AutoRenew is set to ENABLED. If ENABLED, the subscription will be automatically renewed at the end of the existing subscription period. You can change this by submitting an UpdateSubscription request. If the UpdateSubscription request does not included a value for AutoRenew, the existing value for AutoRenew remains unchanged." +} +""" +UpdateSubscription() = shield("UpdateSubscription") +UpdateSubscription(args) = shield("UpdateSubscription", args) + +""" + UpdateEmergencyContactSettings() + +Updates the details of the list of email addresses that the DRT can use to contact you during a suspected attack. + +Optional Parameters +{ + "EmergencyContactList": "A list of email addresses that the DRT can use to contact you during a suspected attack." +} +""" +UpdateEmergencyContactSettings() = shield("UpdateEmergencyContactSettings") +UpdateEmergencyContactSettings(args) = shield("UpdateEmergencyContactSettings", args) + +""" + DescribeAttack() + +Describes the details of a DDoS attack. + +Required Parameters +{ + "AttackId": "The unique identifier (ID) for the attack that to be described." +} +""" +DescribeAttack(args) = shield("DescribeAttack", args) + +""" + ListProtections() + +Lists all Protection objects for the account. + +Optional Parameters +{ + "MaxResults": "The maximum number of Protection objects to be returned. If this is left blank the first 20 results will be returned. This is a maximum value; it is possible that AWS WAF will return the results in smaller batches. That is, the number of Protection objects returned could be less than MaxResults, even if there are still more Protection objects yet to return. If there are more Protection objects to return, AWS WAF will always also return a NextToken.", + "NextToken": "The ListProtectionsRequest.NextToken value from a previous call to ListProtections. Pass null if this is the first call." +} +""" +ListProtections() = shield("ListProtections") +ListProtections(args) = shield("ListProtections", args) + +""" + DeleteProtection() + +Deletes an AWS Shield Advanced Protection. + +Required Parameters +{ + "ProtectionId": "The unique identifier (ID) for the Protection object to be deleted." +} +""" +DeleteProtection(args) = shield("DeleteProtection", args) + +""" + DeleteSubscription() + +Removes AWS Shield Advanced from an account. AWS Shield Advanced requires a 1-year subscription commitment. You cannot delete a subscription prior to the completion of that commitment. +""" +DeleteSubscription() = shield("DeleteSubscription") +DeleteSubscription(args) = shield("DeleteSubscription", args) + +""" + AssociateHealthCheck() + +Adds health-based detection to the Shield Advanced protection for a resource. Shield Advanced health-based detection uses the health of your AWS resource to improve responsiveness and accuracy in attack detection and mitigation. You define the health check in Route 53 and then associate it with your Shield Advanced protection. For more information, see Shield Advanced Health-Based Detection in the AWS WAF and AWS Shield Developer Guide. + +Required Parameters +{ + "ProtectionId": "The unique identifier (ID) for the Protection object to add the health check association to. ", + "HealthCheckArn": "The Amazon Resource Name (ARN) of the health check to associate with the protection." +} +""" +AssociateHealthCheck(args) = shield("AssociateHealthCheck", args) + +""" + DisassociateDRTRole() + +Removes the DDoS Response team's (DRT) access to your AWS account. To make a DisassociateDRTRole request, you must be subscribed to the Business Support plan or the Enterprise Support plan. However, if you are not subscribed to one of these support plans, but had been previously and had granted the DRT access to your account, you can submit a DisassociateDRTRole request to remove this access. +""" +DisassociateDRTRole() = shield("DisassociateDRTRole") +DisassociateDRTRole(args) = shield("DisassociateDRTRole", args) + +""" + DisassociateHealthCheck() + +Removes health-based detection from the Shield Advanced protection for a resource. Shield Advanced health-based detection uses the health of your AWS resource to improve responsiveness and accuracy in attack detection and mitigation. You define the health check in Route 53 and then associate or disassociate it with your Shield Advanced protection. For more information, see Shield Advanced Health-Based Detection in the AWS WAF and AWS Shield Developer Guide. + +Required Parameters +{ + "ProtectionId": "The unique identifier (ID) for the Protection object to remove the health check association from. ", + "HealthCheckArn": "The Amazon Resource Name (ARN) of the health check that is associated with the protection." +} +""" +DisassociateHealthCheck(args) = shield("DisassociateHealthCheck", args) + +""" + CreateProtection() + +Enables AWS Shield Advanced for a specific AWS resource. The resource can be an Amazon CloudFront distribution, Elastic Load Balancing load balancer, AWS Global Accelerator accelerator, Elastic IP Address, or an Amazon Route 53 hosted zone. You can add protection to only a single resource with each CreateProtection request. If you want to add protection to multiple resources at once, use the AWS WAF console. For more information see Getting Started with AWS Shield Advanced and Add AWS Shield Advanced Protection to more AWS Resources. + +Required Parameters +{ + "ResourceArn": "The ARN (Amazon Resource Name) of the resource to be protected. The ARN should be in one of the following formats: For an Application Load Balancer: arn:aws:elasticloadbalancing:region:account-id:loadbalancer/app/load-balancer-name/load-balancer-id For an Elastic Load Balancer (Classic Load Balancer): arn:aws:elasticloadbalancing:region:account-id:loadbalancer/load-balancer-name For an AWS CloudFront distribution: arn:aws:cloudfront::account-id:distribution/distribution-id For an AWS Global Accelerator accelerator: arn:aws:globalaccelerator::account-id:accelerator/accelerator-id For Amazon Route 53: arn:aws:route53:::hostedzone/hosted-zone-id For an Elastic IP address: arn:aws:ec2:region:account-id:eip-allocation/allocation-id ", + "Name": "Friendly name for the Protection you are creating." +} +""" +CreateProtection(args) = shield("CreateProtection", args) + +""" + AssociateDRTLogBucket() + +Authorizes the DDoS Response team (DRT) to access the specified Amazon S3 bucket containing your AWS WAF logs. You can associate up to 10 Amazon S3 buckets with your subscription. To use the services of the DRT and make an AssociateDRTLogBucket request, you must be subscribed to the Business Support plan or the Enterprise Support plan. + +Required Parameters +{ + "LogBucket": "The Amazon S3 bucket that contains your AWS WAF logs." +} +""" +AssociateDRTLogBucket(args) = shield("AssociateDRTLogBucket", args) + +""" + ListAttacks() + +Returns all ongoing DDoS attacks or all DDoS attacks during a specified time period. + +Optional Parameters +{ + "StartTime": "The start of the time period for the attacks. This is a timestamp type. The sample request above indicates a number type because the default used by WAF is Unix time in seconds. However any valid timestamp format is allowed. ", + "MaxResults": "The maximum number of AttackSummary objects to be returned. If this is left blank, the first 20 results will be returned. This is a maximum value; it is possible that AWS WAF will return the results in smaller batches. That is, the number of AttackSummary objects returned could be less than MaxResults, even if there are still more AttackSummary objects yet to return. If there are more AttackSummary objects to return, AWS WAF will always also return a NextToken.", + "ResourceArns": "The ARN (Amazon Resource Name) of the resource that was attacked. If this is left blank, all applicable resources for this account will be included.", + "EndTime": "The end of the time period for the attacks. This is a timestamp type. The sample request above indicates a number type because the default used by WAF is Unix time in seconds. However any valid timestamp format is allowed. ", + "NextToken": "The ListAttacksRequest.NextMarker value from a previous call to ListAttacksRequest. Pass null if this is the first call." +} +""" +ListAttacks() = shield("ListAttacks") +ListAttacks(args) = shield("ListAttacks", args) + +""" + DisassociateDRTLogBucket() + +Removes the DDoS Response team's (DRT) access to the specified Amazon S3 bucket containing your AWS WAF logs. To make a DisassociateDRTLogBucket request, you must be subscribed to the Business Support plan or the Enterprise Support plan. However, if you are not subscribed to one of these support plans, but had been previously and had granted the DRT access to your account, you can submit a DisassociateDRTLogBucket request to remove this access. + +Required Parameters +{ + "LogBucket": "The Amazon S3 bucket that contains your AWS WAF logs." +} +""" +DisassociateDRTLogBucket(args) = shield("DisassociateDRTLogBucket", args) + +""" + GetSubscriptionState() + +Returns the SubscriptionState, either Active or Inactive. +""" +GetSubscriptionState() = shield("GetSubscriptionState") +GetSubscriptionState(args) = shield("GetSubscriptionState", args) + +""" + DescribeProtection() + +Lists the details of a Protection object. + +Optional Parameters +{ + "ResourceArn": "The ARN (Amazon Resource Name) of the AWS resource for the Protection object that is described. When submitting the DescribeProtection request you must provide either the ResourceArn or the ProtectionID, but not both.", + "ProtectionId": "The unique identifier (ID) for the Protection object that is described. When submitting the DescribeProtection request you must provide either the ResourceArn or the ProtectionID, but not both." +} +""" +DescribeProtection() = shield("DescribeProtection") +DescribeProtection(args) = shield("DescribeProtection", args) diff --git a/src/services/signer.jl b/src/services/signer.jl new file mode 100644 index 0000000000..283aef9d65 --- /dev/null +++ b/src/services/signer.jl @@ -0,0 +1,177 @@ +include("../AWSServices.jl") +using .AWSServices: signer + +""" + ListTagsForResource() + +Returns a list of the tags associated with a signing profile resource. + +Required Parameters +{ + "resourceArn": "The Amazon Resource Name (ARN) for the signing profile." +} +""" +ListTagsForResource(args) = signer("GET", "/tags/{resourceArn}", args) + +""" + GetSigningProfile() + +Returns information on a specific signing profile. + +Required Parameters +{ + "profileName": "The name of the target signing profile." +} +""" +GetSigningProfile(args) = signer("GET", "/signing-profiles/{profileName}", args) + +""" + GetSigningPlatform() + +Returns information on a specific signing platform. + +Required Parameters +{ + "platformId": "The ID of the target signing platform." +} +""" +GetSigningPlatform(args) = signer("GET", "/signing-platforms/{platformId}", args) + +""" + ListSigningPlatforms() + +Lists all signing platforms available in code signing that match the request parameters. If additional jobs remain to be listed, code signing returns a nextToken value. Use this value in subsequent calls to ListSigningJobs to fetch the remaining values. You can continue calling ListSigningJobs with your maxResults parameter and with new values that code signing returns in the nextToken parameter until all of your signing jobs have been returned. + +Optional Parameters +{ + "maxResults": "The maximum number of results to be returned by this operation.", + "target": "The validation template that is used by the target signing platform.", + "partner": "Any partner entities connected to a signing platform.", + "category": "The category type of a signing platform.", + "nextToken": "Value for specifying the next set of paginated results to return. After you receive a response with truncated results, use this parameter in a subsequent request. Set it to the value of nextToken from the response that you just received." +} +""" +ListSigningPlatforms() = signer("GET", "/signing-platforms") +ListSigningPlatforms(args) = signer("GET", "/signing-platforms", args) + +""" + CancelSigningProfile() + +Changes the state of an ACTIVE signing profile to CANCELED. A canceled profile is still viewable with the ListSigningProfiles operation, but it cannot perform new signing jobs, and is deleted two years after cancelation. + +Required Parameters +{ + "profileName": "The name of the signing profile to be canceled." +} +""" +CancelSigningProfile(args) = signer("DELETE", "/signing-profiles/{profileName}", args) + +""" + TagResource() + +Adds one or more tags to a signing profile. Tags are labels that you can use to identify and organize your AWS resources. Each tag consists of a key and an optional value. To specify the signing profile, use its Amazon Resource Name (ARN). To specify the tag, use a key-value pair. + +Required Parameters +{ + "resourceArn": "The Amazon Resource Name (ARN) for the signing profile.", + "tags": "One or more tags to be associated with the signing profile." +} +""" +TagResource(args) = signer("POST", "/tags/{resourceArn}", args) + +""" + UntagResource() + +Removes one or more tags from a signing profile. To remove the tags, specify a list of tag keys. + +Required Parameters +{ + "resourceArn": "The Amazon Resource Name (ARN) for the signing profile.", + "tagKeys": "A list of tag keys to be removed from the signing profile." +} +""" +UntagResource(args) = signer("DELETE", "/tags/{resourceArn}", args) + +""" + ListSigningJobs() + +Lists all your signing jobs. You can use the maxResults parameter to limit the number of signing jobs that are returned in the response. If additional jobs remain to be listed, code signing returns a nextToken value. Use this value in subsequent calls to ListSigningJobs to fetch the remaining values. You can continue calling ListSigningJobs with your maxResults parameter and with new values that code signing returns in the nextToken parameter until all of your signing jobs have been returned. + +Optional Parameters +{ + "requestedBy": "The IAM principal that requested the signing job.", + "status": "A status value with which to filter your results.", + "maxResults": "Specifies the maximum number of items to return in the response. Use this parameter when paginating results. If additional items exist beyond the number you specify, the nextToken element is set in the response. Use the nextToken value in a subsequent request to retrieve additional items. ", + "nextToken": "String for specifying the next set of paginated results to return. After you receive a response with truncated results, use this parameter in a subsequent request. Set it to the value of nextToken from the response that you just received.", + "platformId": "The ID of microcontroller platform that you specified for the distribution of your code image." +} +""" +ListSigningJobs() = signer("GET", "/signing-jobs") +ListSigningJobs(args) = signer("GET", "/signing-jobs", args) + +""" + DescribeSigningJob() + +Returns information about a specific code signing job. You specify the job by using the jobId value that is returned by the StartSigningJob operation. + +Required Parameters +{ + "jobId": "The ID of the signing job on input." +} +""" +DescribeSigningJob(args) = signer("GET", "/signing-jobs/{jobId}", args) + +""" + ListSigningProfiles() + +Lists all available signing profiles in your AWS account. Returns only profiles with an ACTIVE status unless the includeCanceled request field is set to true. If additional jobs remain to be listed, code signing returns a nextToken value. Use this value in subsequent calls to ListSigningJobs to fetch the remaining values. You can continue calling ListSigningJobs with your maxResults parameter and with new values that code signing returns in the nextToken parameter until all of your signing jobs have been returned. + +Optional Parameters +{ + "maxResults": "The maximum number of profiles to be returned.", + "includeCanceled": "Designates whether to include profiles with the status of CANCELED.", + "nextToken": "Value for specifying the next set of paginated results to return. After you receive a response with truncated results, use this parameter in a subsequent request. Set it to the value of nextToken from the response that you just received." +} +""" +ListSigningProfiles() = signer("GET", "/signing-profiles") +ListSigningProfiles(args) = signer("GET", "/signing-profiles", args) + +""" + PutSigningProfile() + +Creates a signing profile. A signing profile is a code signing template that can be used to carry out a pre-defined signing job. For more information, see http://docs.aws.amazon.com/signer/latest/developerguide/gs-profile.html + +Required Parameters +{ + "profileName": "The name of the signing profile to be created.", + "platformId": "The ID of the signing platform to be created.", + "signingMaterial": "The AWS Certificate Manager certificate that will be used to sign code with the new signing profile." +} + +Optional Parameters +{ + "overrides": "A subfield of platform. This specifies any different configuration options that you want to apply to the chosen platform (such as a different hash-algorithm or signing-algorithm).", + "signingParameters": "Map of key-value pairs for signing. These can include any information that you want to use during signing.", + "tags": "Tags to be associated with the signing profile that is being created." +} +""" +PutSigningProfile(args) = signer("PUT", "/signing-profiles/{profileName}", args) + +""" + StartSigningJob() + +Initiates a signing job to be performed on the code provided. Signing jobs are viewable by the ListSigningJobs operation for two years after they are performed. Note the following requirements: You must create an Amazon S3 source bucket. For more information, see Create a Bucket in the Amazon S3 Getting Started Guide. Your S3 source bucket must be version enabled. You must create an S3 destination bucket. Code signing uses your S3 destination bucket to write your signed code. You specify the name of the source and destination buckets when calling the StartSigningJob operation. You must also specify a request token that identifies your request to code signing. You can call the DescribeSigningJob and the ListSigningJobs actions after you call StartSigningJob. For a Java example that shows how to use this action, see http://docs.aws.amazon.com/acm/latest/userguide/ + +Required Parameters +{ + "destination": "The S3 bucket in which to save your signed object. The destination contains the name of your bucket and an optional prefix.", + "source": "The S3 bucket that contains the object to sign or a BLOB that contains your raw code.", + "clientRequestToken": "String that identifies the signing request. All calls after the first that use this token return the same response as the first call." +} + +Optional Parameters +{ + "profileName": "The name of the signing profile." +} +""" +StartSigningJob(args) = signer("POST", "/signing-jobs", args) diff --git a/src/services/simpledb.jl b/src/services/simpledb.jl new file mode 100644 index 0000000000..8fe5819cb8 --- /dev/null +++ b/src/services/simpledb.jl @@ -0,0 +1,153 @@ +include("../AWSServices.jl") +using .AWSServices: simpledb + +""" + DeleteAttributes() + + Deletes one or more attributes associated with an item. If all attributes of the item are deleted, the item is deleted. If DeleteAttributes is called without being passed any attributes or values specified, all the attributes for the item are deleted. DeleteAttributes is an idempotent operation; running it multiple times on the same item or attribute does not result in an error response. Because Amazon SimpleDB makes multiple copies of item data and uses an eventual consistency update model, performing a GetAttributes or Select operation (read) immediately after a DeleteAttributes or PutAttributes operation (write) might not return updated item data. + +Required Parameters +{ + "DomainName": "The name of the domain in which to perform the operation.", + "ItemName": "The name of the item. Similar to rows on a spreadsheet, items represent individual objects that contain one or more value-attribute pairs." +} + +Optional Parameters +{ + "Attributes": "A list of Attributes. Similar to columns on a spreadsheet, attributes represent categories of data that can be assigned to items.", + "Expected": "The update condition which, if specified, determines whether the specified attributes will be deleted or not. The update condition must be satisfied in order for this request to be processed and the attributes to be deleted." +} +""" +DeleteAttributes(args) = simpledb("DeleteAttributes", args) + +""" + GetAttributes() + + Returns all of the attributes associated with the specified item. Optionally, the attributes returned can be limited to one or more attributes by specifying an attribute name parameter. If the item does not exist on the replica that was accessed for this operation, an empty set is returned. The system does not return an error as it cannot guarantee the item does not exist on other replicas. If GetAttributes is called without being passed any attribute names, all the attributes for the item are returned. + +Required Parameters +{ + "DomainName": "The name of the domain in which to perform the operation.", + "ItemName": "The name of the item." +} + +Optional Parameters +{ + "AttributeNames": "The names of the attributes.", + "ConsistentRead": "Determines whether or not strong consistency should be enforced when data is read from SimpleDB. If true, any data previously written to SimpleDB will be returned. Otherwise, results will be consistent eventually, and the client may not see data that was written immediately before your read." +} +""" +GetAttributes(args) = simpledb("GetAttributes", args) + +""" + DeleteDomain() + + The DeleteDomain operation deletes a domain. Any items (and their attributes) in the domain are deleted as well. The DeleteDomain operation might take 10 or more seconds to complete. Running DeleteDomain on a domain that does not exist or running the function multiple times using the same domain name will not result in an error response. + +Required Parameters +{ + "DomainName": "The name of the domain to delete." +} +""" +DeleteDomain(args) = simpledb("DeleteDomain", args) + +""" + BatchDeleteAttributes() + + Performs multiple DeleteAttributes operations in a single call, which reduces round trips and latencies. This enables Amazon SimpleDB to optimize requests, which generally yields better throughput. If you specify BatchDeleteAttributes without attributes or values, all the attributes for the item are deleted. BatchDeleteAttributes is an idempotent operation; running it multiple times on the same item or attribute doesn't result in an error. The BatchDeleteAttributes operation succeeds or fails in its entirety. There are no partial deletes. You can execute multiple BatchDeleteAttributes operations and other operations in parallel. However, large numbers of concurrent BatchDeleteAttributes calls can result in Service Unavailable (503) responses. This operation is vulnerable to exceeding the maximum URL size when making a REST request using the HTTP GET method. This operation does not support conditions using Expected.X.Name, Expected.X.Value, or Expected.X.Exists. The following limitations are enforced for this operation: 1 MB request size 25 item limit per BatchDeleteAttributes operation + +Required Parameters +{ + "DomainName": "The name of the domain in which the attributes are being deleted.", + "Items": "A list of items on which to perform the operation." +} +""" +BatchDeleteAttributes(args) = simpledb("BatchDeleteAttributes", args) + +""" + DomainMetadata() + + Returns information about the domain, including when the domain was created, the number of items and attributes in the domain, and the size of the attribute names and values. + +Required Parameters +{ + "DomainName": "The name of the domain for which to display the metadata of." +} +""" +DomainMetadata(args) = simpledb("DomainMetadata", args) + +""" + ListDomains() + + The ListDomains operation lists all domains associated with the Access Key ID. It returns domain names up to the limit set by MaxNumberOfDomains. A NextToken is returned if there are more than MaxNumberOfDomains domains. Calling ListDomains successive times with the NextToken provided by the operation returns up to MaxNumberOfDomains more domain names with each successive operation call. + +Optional Parameters +{ + "MaxNumberOfDomains": "The maximum number of domain names you want returned. The range is 1 to 100. The default setting is 100.", + "NextToken": "A string informing Amazon SimpleDB where to start the next list of domain names." +} +""" +ListDomains() = simpledb("ListDomains") +ListDomains(args) = simpledb("ListDomains", args) + +""" + PutAttributes() + + The PutAttributes operation creates or replaces attributes in an item. The client may specify new attributes using a combination of the Attribute.X.Name and Attribute.X.Value parameters. The client specifies the first attribute by the parameters Attribute.0.Name and Attribute.0.Value, the second attribute by the parameters Attribute.1.Name and Attribute.1.Value, and so on. Attributes are uniquely identified in an item by their name/value combination. For example, a single item can have the attributes { "first_name", "first_value" } and { "first_name", second_value" }. However, it cannot have two attribute instances where both the Attribute.X.Name and Attribute.X.Value are the same. Optionally, the requestor can supply the Replace parameter for each individual attribute. Setting this value to true causes the new attribute value to replace the existing attribute value(s). For example, if an item has the attributes { 'a', '1' }, { 'b', '2'} and { 'b', '3' } and the requestor calls PutAttributes using the attributes { 'b', '4' } with the Replace parameter set to true, the final attributes of the item are changed to { 'a', '1' } and { 'b', '4' }, which replaces the previous values of the 'b' attribute with the new value. Using PutAttributes to replace attribute values that do not exist will not result in an error response. You cannot specify an empty string as an attribute name. Because Amazon SimpleDB makes multiple copies of client data and uses an eventual consistency update model, an immediate GetAttributes or Select operation (read) immediately after a PutAttributes or DeleteAttributes operation (write) might not return the updated data. The following limitations are enforced for this operation: 256 total attribute name-value pairs per item One billion attributes per domain 10 GB of total user data storage per domain + +Required Parameters +{ + "DomainName": "The name of the domain in which to perform the operation.", + "Attributes": "The list of attributes.", + "ItemName": "The name of the item." +} + +Optional Parameters +{ + "Expected": "The update condition which, if specified, determines whether the specified attributes will be updated or not. The update condition must be satisfied in order for this request to be processed and the attributes to be updated." +} +""" +PutAttributes(args) = simpledb("PutAttributes", args) + +""" + Select() + + The Select operation returns a set of attributes for ItemNames that match the select expression. Select is similar to the standard SQL SELECT statement. The total size of the response cannot exceed 1 MB in total size. Amazon SimpleDB automatically adjusts the number of items returned per page to enforce this limit. For example, if the client asks to retrieve 2500 items, but each individual item is 10 kB in size, the system returns 100 items and an appropriate NextToken so the client can access the next page of results. For information on how to construct select expressions, see Using Select to Create Amazon SimpleDB Queries in the Developer Guide. + +Required Parameters +{ + "SelectExpression": "The expression used to query the domain." +} + +Optional Parameters +{ + "NextToken": "A string informing Amazon SimpleDB where to start the next list of ItemNames.", + "ConsistentRead": "Determines whether or not strong consistency should be enforced when data is read from SimpleDB. If true, any data previously written to SimpleDB will be returned. Otherwise, results will be consistent eventually, and the client may not see data that was written immediately before your read." +} +""" +Select(args) = simpledb("Select", args) + +""" + CreateDomain() + + The CreateDomain operation creates a new domain. The domain name should be unique among the domains associated with the Access Key ID provided in the request. The CreateDomain operation may take 10 or more seconds to complete. CreateDomain is an idempotent operation; running it multiple times using the same domain name will not result in an error response. The client can create up to 100 domains per account. If the client requires additional domains, go to http://aws.amazon.com/contact-us/simpledb-limit-request/. + +Required Parameters +{ + "DomainName": "The name of the domain to create. The name can range between 3 and 255 characters and can contain the following characters: a-z, A-Z, 0-9, '_', '-', and '.'." +} +""" +CreateDomain(args) = simpledb("CreateDomain", args) + +""" + BatchPutAttributes() + + The BatchPutAttributes operation creates or replaces attributes within one or more items. By using this operation, the client can perform multiple PutAttribute operation with a single call. This helps yield savings in round trips and latencies, enabling Amazon SimpleDB to optimize requests and generally produce better throughput. The client may specify the item name with the Item.X.ItemName parameter. The client may specify new attributes using a combination of the Item.X.Attribute.Y.Name and Item.X.Attribute.Y.Value parameters. The client may specify the first attribute for the first item using the parameters Item.0.Attribute.0.Name and Item.0.Attribute.0.Value, and for the second attribute for the first item by the parameters Item.0.Attribute.1.Name and Item.0.Attribute.1.Value, and so on. Attributes are uniquely identified within an item by their name/value combination. For example, a single item can have the attributes { "first_name", "first_value" } and { "first_name", "second_value" }. However, it cannot have two attribute instances where both the Item.X.Attribute.Y.Name and Item.X.Attribute.Y.Value are the same. Optionally, the requester can supply the Replace parameter for each individual value. Setting this value to true will cause the new attribute values to replace the existing attribute values. For example, if an item I has the attributes { 'a', '1' }, { 'b', '2'} and { 'b', '3' } and the requester does a BatchPutAttributes of {'I', 'b', '4' } with the Replace parameter set to true, the final attributes of the item will be { 'a', '1' } and { 'b', '4' }, replacing the previous values of the 'b' attribute with the new value. You cannot specify an empty string as an item or as an attribute name. The BatchPutAttributes operation succeeds or fails in its entirety. There are no partial puts. This operation is vulnerable to exceeding the maximum URL size when making a REST request using the HTTP GET method. This operation does not support conditions using Expected.X.Name, Expected.X.Value, or Expected.X.Exists. You can execute multiple BatchPutAttributes operations and other operations in parallel. However, large numbers of concurrent BatchPutAttributes calls can result in Service Unavailable (503) responses. The following limitations are enforced for this operation: 256 attribute name-value pairs per item 1 MB request size 1 billion attributes per domain 10 GB of total user data storage per domain 25 item limit per BatchPutAttributes operation + +Required Parameters +{ + "DomainName": "The name of the domain in which the attributes are being stored.", + "Items": "A list of items on which to perform the operation." +} +""" +BatchPutAttributes(args) = simpledb("BatchPutAttributes", args) diff --git a/src/services/sms.jl b/src/services/sms.jl new file mode 100644 index 0000000000..f5b9833570 --- /dev/null +++ b/src/services/sms.jl @@ -0,0 +1,410 @@ +include("../AWSServices.jl") +using .AWSServices: sms + +""" + LaunchApp() + +Launches an application stack. + +Optional Parameters +{ + "appId": "ID of the application to launch." +} +""" +LaunchApp() = sms("LaunchApp") +LaunchApp(args) = sms("LaunchApp", args) + +""" + GetServers() + +Describes the servers in your server catalog. Before you can describe your servers, you must import them using ImportServerCatalog. + +Optional Parameters +{ + "vmServerAddressList": "List of VmServerAddress objects", + "maxResults": "The maximum number of results to return in a single call. The default value is 50. To retrieve the remaining results, make another call with the returned NextToken value.", + "nextToken": "The token for the next set of results." +} +""" +GetServers() = sms("GetServers") +GetServers(args) = sms("GetServers", args) + +""" + GetAppLaunchConfiguration() + +Retrieves the application launch configuration associated with an application. + +Optional Parameters +{ + "appId": "ID of the application launch configuration." +} +""" +GetAppLaunchConfiguration() = sms("GetAppLaunchConfiguration") +GetAppLaunchConfiguration(args) = sms("GetAppLaunchConfiguration", args) + +""" + GetReplicationJobs() + +Describes the specified replication job or all of your replication jobs. + +Optional Parameters +{ + "maxResults": "The maximum number of results to return in a single call. The default value is 50. To retrieve the remaining results, make another call with the returned NextToken value.", + "nextToken": "The token for the next set of results.", + "replicationJobId": "The identifier of the replication job." +} +""" +GetReplicationJobs() = sms("GetReplicationJobs") +GetReplicationJobs(args) = sms("GetReplicationJobs", args) + +""" + PutAppReplicationConfiguration() + +Creates or updates a replication configuration for an application. + +Optional Parameters +{ + "appId": "ID of the application tassociated with the replication configuration.", + "serverGroupReplicationConfigurations": "Replication configurations for server groups in the application." +} +""" +PutAppReplicationConfiguration() = sms("PutAppReplicationConfiguration") +PutAppReplicationConfiguration(args) = sms("PutAppReplicationConfiguration", args) + +""" + DeleteServerCatalog() + +Deletes all servers from your server catalog. +""" +DeleteServerCatalog() = sms("DeleteServerCatalog") +DeleteServerCatalog(args) = sms("DeleteServerCatalog", args) + +""" + ImportServerCatalog() + +Gathers a complete list of on-premises servers. Connectors must be installed and monitoring all servers that you want to import. This call returns immediately, but might take additional time to retrieve all the servers. +""" +ImportServerCatalog() = sms("ImportServerCatalog") +ImportServerCatalog(args) = sms("ImportServerCatalog", args) + +""" + StartOnDemandReplicationRun() + +Starts an on-demand replication run for the specified replication job. This replication run starts immediately. This replication run is in addition to the ones already scheduled. There is a limit on the number of on-demand replications runs you can request in a 24-hour period. + +Required Parameters +{ + "replicationJobId": "The identifier of the replication job." +} + +Optional Parameters +{ + "description": "The description of the replication run." +} +""" +StartOnDemandReplicationRun(args) = sms("StartOnDemandReplicationRun", args) + +""" + DeleteApp() + +Deletes an existing application. Optionally deletes the launched stack associated with the application and all AWS SMS replication jobs for servers in the application. + +Optional Parameters +{ + "appId": "ID of the application to delete.", + "forceTerminateApp": "While deleting the application, terminate the stack corresponding to the application.", + "forceStopAppReplication": "While deleting the application, stop all replication jobs corresponding to the servers in the application." +} +""" +DeleteApp() = sms("DeleteApp") +DeleteApp(args) = sms("DeleteApp", args) + +""" + StartAppReplication() + +Starts replicating an application. + +Optional Parameters +{ + "appId": "ID of the application to replicate." +} +""" +StartAppReplication() = sms("StartAppReplication") +StartAppReplication(args) = sms("StartAppReplication", args) + +""" + ListApps() + +Returns a list of summaries for all applications. + +Optional Parameters +{ + "maxResults": "The maximum number of results to return in a single call. The default value is 50. To retrieve the remaining results, make another call with the returned NextToken value. ", + "nextToken": "The token for the next set of results.", + "appIds": "" +} +""" +ListApps() = sms("ListApps") +ListApps(args) = sms("ListApps", args) + +""" + GetReplicationRuns() + +Describes the replication runs for the specified replication job. + +Required Parameters +{ + "replicationJobId": "The identifier of the replication job." +} + +Optional Parameters +{ + "maxResults": "The maximum number of results to return in a single call. The default value is 50. To retrieve the remaining results, make another call with the returned NextToken value.", + "nextToken": "The token for the next set of results." +} +""" +GetReplicationRuns(args) = sms("GetReplicationRuns", args) + +""" + PutAppLaunchConfiguration() + +Creates a launch configuration for an application. + +Optional Parameters +{ + "appId": "ID of the application associated with the launch configuration.", + "serverGroupLaunchConfigurations": "Launch configurations for server groups in the application.", + "roleName": "Name of service role in the customer's account that Amazon CloudFormation uses to launch the application." +} +""" +PutAppLaunchConfiguration() = sms("PutAppLaunchConfiguration") +PutAppLaunchConfiguration(args) = sms("PutAppLaunchConfiguration", args) + +""" + DeleteAppReplicationConfiguration() + +Deletes existing replication configuration for an application. + +Optional Parameters +{ + "appId": "ID of the application associated with the replication configuration." +} +""" +DeleteAppReplicationConfiguration() = sms("DeleteAppReplicationConfiguration") +DeleteAppReplicationConfiguration(args) = sms("DeleteAppReplicationConfiguration", args) + +""" + CreateReplicationJob() + +Creates a replication job. The replication job schedules periodic replication runs to replicate your server to AWS. Each replication run creates an Amazon Machine Image (AMI). + +Required Parameters +{ + "seedReplicationTime": "The seed replication time.", + "serverId": "The identifier of the server." +} + +Optional Parameters +{ + "encrypted": "When true, the replication job produces encrypted AMIs. See also KmsKeyId below.", + "roleName": "The name of the IAM role to be used by the AWS SMS.", + "numberOfRecentAmisToKeep": "The maximum number of SMS-created AMIs to retain. The oldest will be deleted once the maximum number is reached and a new AMI is created.", + "licenseType": "The license type to be used for the AMI created by a successful replication run.", + "frequency": "The time between consecutive replication runs, in hours.", + "kmsKeyId": "KMS key ID for replication jobs that produce encrypted AMIs. Can be any of the following: KMS key ID KMS key alias ARN referring to KMS key ID ARN referring to KMS key alias If encrypted is true but a KMS key id is not specified, the customer's default KMS key for EBS is used. ", + "description": "The description of the replication job.", + "runOnce": "" +} +""" +CreateReplicationJob(args) = sms("CreateReplicationJob", args) + +""" + UpdateApp() + +Updates an application. + +Optional Parameters +{ + "appId": "ID of the application to update.", + "name": "New name of the application.", + "roleName": "Name of the service role in the customer's account used by AWS SMS.", + "serverGroups": "List of server groups in the application to update.", + "tags": "List of tags to associate with the application.", + "description": "New description of the application." +} +""" +UpdateApp() = sms("UpdateApp") +UpdateApp(args) = sms("UpdateApp", args) + +""" + DeleteReplicationJob() + +Deletes the specified replication job. After you delete a replication job, there are no further replication runs. AWS deletes the contents of the Amazon S3 bucket used to store AWS SMS artifacts. The AMIs created by the replication runs are not deleted. + +Required Parameters +{ + "replicationJobId": "The identifier of the replication job." +} +""" +DeleteReplicationJob(args) = sms("DeleteReplicationJob", args) + +""" + DisassociateConnector() + +Disassociates the specified connector from AWS SMS. After you disassociate a connector, it is no longer available to support replication jobs. + +Required Parameters +{ + "connectorId": "The identifier of the connector." +} +""" +DisassociateConnector(args) = sms("DisassociateConnector", args) + +""" + GetAppReplicationConfiguration() + +Retrieves an application replication configuration associatd with an application. + +Optional Parameters +{ + "appId": "ID of the application associated with the replication configuration." +} +""" +GetAppReplicationConfiguration() = sms("GetAppReplicationConfiguration") +GetAppReplicationConfiguration(args) = sms("GetAppReplicationConfiguration", args) + +""" + CreateApp() + +Creates an application. An application consists of one or more server groups. Each server group contain one or more servers. + +Optional Parameters +{ + "name": "Name of the new application.", + "roleName": "Name of service role in customer's account to be used by AWS SMS.", + "clientToken": "A unique, case-sensitive identifier you provide to ensure idempotency of application creation.", + "serverGroups": "List of server groups to include in the application.", + "tags": "List of tags to be associated with the application.", + "description": "Description of the new application" +} +""" +CreateApp() = sms("CreateApp") +CreateApp(args) = sms("CreateApp", args) + +""" + GenerateChangeSet() + +Generates a target change set for a currently launched stack and writes it to an Amazon S3 object in the customer’s Amazon S3 bucket. + +Optional Parameters +{ + "appId": "ID of the application associated with the change set.", + "changesetFormat": "Format for the change set." +} +""" +GenerateChangeSet() = sms("GenerateChangeSet") +GenerateChangeSet(args) = sms("GenerateChangeSet", args) + +""" + StopAppReplication() + +Stops replicating an application. + +Optional Parameters +{ + "appId": "ID of the application to stop replicating." +} +""" +StopAppReplication() = sms("StopAppReplication") +StopAppReplication(args) = sms("StopAppReplication", args) + +""" + DeleteAppLaunchConfiguration() + +Deletes existing launch configuration for an application. + +Optional Parameters +{ + "appId": "ID of the application associated with the launch configuration." +} +""" +DeleteAppLaunchConfiguration() = sms("DeleteAppLaunchConfiguration") +DeleteAppLaunchConfiguration(args) = sms("DeleteAppLaunchConfiguration", args) + +""" + GenerateTemplate() + +Generates an Amazon CloudFormation template based on the current launch configuration and writes it to an Amazon S3 object in the customer’s Amazon S3 bucket. + +Optional Parameters +{ + "appId": "ID of the application associated with the Amazon CloudFormation template.", + "templateFormat": "Format for generating the Amazon CloudFormation template." +} +""" +GenerateTemplate() = sms("GenerateTemplate") +GenerateTemplate(args) = sms("GenerateTemplate", args) + +""" + TerminateApp() + +Terminates the stack for an application. + +Optional Parameters +{ + "appId": "ID of the application to terminate." +} +""" +TerminateApp() = sms("TerminateApp") +TerminateApp(args) = sms("TerminateApp", args) + +""" + GetApp() + +Retrieve information about an application. + +Optional Parameters +{ + "appId": "ID of the application whose information is being retrieved." +} +""" +GetApp() = sms("GetApp") +GetApp(args) = sms("GetApp", args) + +""" + GetConnectors() + +Describes the connectors registered with the AWS SMS. + +Optional Parameters +{ + "maxResults": "The maximum number of results to return in a single call. The default value is 50. To retrieve the remaining results, make another call with the returned NextToken value.", + "nextToken": "The token for the next set of results." +} +""" +GetConnectors() = sms("GetConnectors") +GetConnectors(args) = sms("GetConnectors", args) + +""" + UpdateReplicationJob() + +Updates the specified settings for the specified replication job. + +Required Parameters +{ + "replicationJobId": "The identifier of the replication job." +} + +Optional Parameters +{ + "nextReplicationRunStartTime": "The start time of the next replication run.", + "roleName": "The name of the IAM role to be used by AWS SMS.", + "numberOfRecentAmisToKeep": "The maximum number of SMS-created AMIs to retain. The oldest will be deleted once the maximum number is reached and a new AMI is created.", + "licenseType": "The license type to be used for the AMI created by a successful replication run.", + "frequency": "The time between consecutive replication runs, in hours.", + "encrypted": "When true, the replication job produces encrypted AMIs . See also KmsKeyId below.", + "kmsKeyId": " KMS key ID for replication jobs that produce encrypted AMIs. Can be any of the following: KMS key ID KMS key alias ARN referring to KMS key ID ARN referring to KMS key alias If encrypted is true but a KMS key id is not specified, the customer's default KMS key for EBS is used. ", + "description": "The description of the replication job." +} +""" +UpdateReplicationJob(args) = sms("UpdateReplicationJob", args) diff --git a/src/services/snowball.jl b/src/services/snowball.jl new file mode 100644 index 0000000000..a4a5059ba9 --- /dev/null +++ b/src/services/snowball.jl @@ -0,0 +1,290 @@ +include("../AWSServices.jl") +using .AWSServices: snowball + +""" + CreateCluster() + +Creates an empty cluster. Each cluster supports five nodes. You use the CreateJob action separately to create the jobs for each of these nodes. The cluster does not ship until these five node jobs have been created. + +Required Parameters +{ + "AddressId": "The ID for the address that you want the cluster shipped to.", + "ShippingOption": "The shipping speed for each node in this cluster. This speed doesn't dictate how soon you'll get each Snowball Edge device, rather it represents how quickly each device moves to its destination while in transit. Regional shipping speeds are as follows: In Australia, you have access to express shipping. Typically, devices shipped express are delivered in about a day. In the European Union (EU), you have access to express shipping. Typically, Snowball Edges shipped express are delivered in about a day. In addition, most countries in the EU have access to standard shipping, which typically takes less than a week, one way. In India, Snowball Edges are delivered in one to seven days. In the US, you have access to one-day shipping and two-day shipping. ", + "Resources": "The resources associated with the cluster job. These resources include Amazon S3 buckets and optional AWS Lambda functions written in the Python language. ", + "RoleARN": "The RoleARN that you want to associate with this cluster. RoleArn values are created by using the CreateRole API action in AWS Identity and Access Management (IAM).", + "JobType": "The type of job for this cluster. Currently, the only job type supported for clusters is LOCAL_USE." +} + +Optional Parameters +{ + "Description": "An optional description of this specific cluster, for example Environmental Data Cluster-01.", + "SnowballType": "The type of AWS Snowball device to use for this cluster. Currently, the only supported device type for cluster jobs is EDGE. For more information, see Snowball Edge Device Options in the Snowball Edge Developer Guide.", + "TaxDocuments": "The tax documents required in your AWS Region.", + "Notification": "The Amazon Simple Notification Service (Amazon SNS) notification settings for this cluster.", + "ForwardingAddressId": "The forwarding address ID for a cluster. This field is not supported in most regions.", + "KmsKeyARN": "The KmsKeyARN value that you want to associate with this cluster. KmsKeyARN values are created by using the CreateKey API action in AWS Key Management Service (AWS KMS). " +} +""" +CreateCluster(args) = snowball("CreateCluster", args) + +""" + ListCompatibleImages() + +This action returns a list of the different Amazon EC2 Amazon Machine Images (AMIs) that are owned by your AWS account that would be supported for use on a Snowball Edge device. Currently, supported AMIs are based on the CentOS 7 (x86_64) - with Updates HVM, Ubuntu Server 14.04 LTS (HVM), and Ubuntu 16.04 LTS - Xenial (HVM) images, available on the AWS Marketplace. + +Optional Parameters +{ + "MaxResults": "The maximum number of results for the list of compatible images. Currently, a Snowball Edge device can store 10 AMIs.", + "NextToken": "HTTP requests are stateless. To identify what object comes \"next\" in the list of compatible images, you can specify a value for NextToken as the starting point for your list of returned images." +} +""" +ListCompatibleImages() = snowball("ListCompatibleImages") +ListCompatibleImages(args) = snowball("ListCompatibleImages", args) + +""" + CreateAddress() + +Creates an address for a Snowball to be shipped to. In most regions, addresses are validated at the time of creation. The address you provide must be located within the serviceable area of your region. If the address is invalid or unsupported, then an exception is thrown. + +Required Parameters +{ + "Address": "The address that you want the Snowball shipped to." +} +""" +CreateAddress(args) = snowball("CreateAddress", args) + +""" + ListClusterJobs() + +Returns an array of JobListEntry objects of the specified length. Each JobListEntry object is for a job in the specified cluster and contains a job's state, a job's ID, and other information. + +Required Parameters +{ + "ClusterId": "The 39-character ID for the cluster that you want to list, for example CID123e4567-e89b-12d3-a456-426655440000." +} + +Optional Parameters +{ + "MaxResults": "The number of JobListEntry objects to return.", + "NextToken": "HTTP requests are stateless. To identify what object comes \"next\" in the list of JobListEntry objects, you have the option of specifying NextToken as the starting point for your returned list." +} +""" +ListClusterJobs(args) = snowball("ListClusterJobs", args) + +""" + DescribeAddress() + +Takes an AddressId and returns specific details about that address in the form of an Address object. + +Required Parameters +{ + "AddressId": "The automatically generated ID for a specific address." +} +""" +DescribeAddress(args) = snowball("DescribeAddress", args) + +""" + CancelJob() + +Cancels the specified job. You can only cancel a job before its JobState value changes to PreparingAppliance. Requesting the ListJobs or DescribeJob action returns a job's JobState as part of the response element data returned. + +Required Parameters +{ + "JobId": "The 39-character job ID for the job that you want to cancel, for example JID123e4567-e89b-12d3-a456-426655440000." +} +""" +CancelJob(args) = snowball("CancelJob", args) + +""" + GetSnowballUsage() + +Returns information about the Snowball service limit for your account, and also the number of Snowballs your account has in use. The default service limit for the number of Snowballs that you can have at one time is 1. If you want to increase your service limit, contact AWS Support. +""" +GetSnowballUsage() = snowball("GetSnowballUsage") +GetSnowballUsage(args) = snowball("GetSnowballUsage", args) + +""" + CreateJob() + +Creates a job to import or export data between Amazon S3 and your on-premises data center. Your AWS account must have the right trust policies and permissions in place to create a job for Snowball. If you're creating a job for a node in a cluster, you only need to provide the clusterId value; the other job attributes are inherited from the cluster. + +Optional Parameters +{ + "TaxDocuments": "The tax documents required in your AWS Region.", + "SnowballCapacityPreference": "If your job is being created in one of the US regions, you have the option of specifying what size Snowball you'd like for this job. In all other regions, Snowballs come with 80 TB in storage capacity.", + "KmsKeyARN": "The KmsKeyARN that you want to associate with this job. KmsKeyARNs are created using the CreateKey AWS Key Management Service (KMS) API action.", + "ShippingOption": "The shipping speed for this job. This speed doesn't dictate how soon you'll get the Snowball, rather it represents how quickly the Snowball moves to its destination while in transit. Regional shipping speeds are as follows: In Australia, you have access to express shipping. Typically, Snowballs shipped express are delivered in about a day. In the European Union (EU), you have access to express shipping. Typically, Snowballs shipped express are delivered in about a day. In addition, most countries in the EU have access to standard shipping, which typically takes less than a week, one way. In India, Snowballs are delivered in one to seven days. In the US, you have access to one-day shipping and two-day shipping. ", + "Notification": "Defines the Amazon Simple Notification Service (Amazon SNS) notification settings for this job.", + "SnowballType": "The type of AWS Snowball device to use for this job. Currently, the only supported device type for cluster jobs is EDGE. For more information, see Snowball Edge Device Options in the Snowball Edge Developer Guide.", + "ClusterId": "The ID of a cluster. If you're creating a job for a node in a cluster, you need to provide only this clusterId value. The other job attributes are inherited from the cluster.", + "Description": "Defines an optional description of this specific job, for example Important Photos 2016-08-11.", + "AddressId": "The ID for the address that you want the Snowball shipped to.", + "Resources": "Defines the Amazon S3 buckets associated with this job. With IMPORT jobs, you specify the bucket or buckets that your transferred data will be imported into. With EXPORT jobs, you specify the bucket or buckets that your transferred data will be exported from. Optionally, you can also specify a KeyRange value. If you choose to export a range, you define the length of the range by providing either an inclusive BeginMarker value, an inclusive EndMarker value, or both. Ranges are UTF-8 binary sorted.", + "RoleARN": "The RoleARN that you want to associate with this job. RoleArns are created using the CreateRole AWS Identity and Access Management (IAM) API action.", + "ForwardingAddressId": "The forwarding address ID for a job. This field is not supported in most regions.", + "JobType": "Defines the type of job that you're creating. " +} +""" +CreateJob() = snowball("CreateJob") +CreateJob(args) = snowball("CreateJob", args) + +""" + UpdateCluster() + +While a cluster's ClusterState value is in the AwaitingQuorum state, you can update some of the information associated with a cluster. Once the cluster changes to a different job state, usually 60 minutes after the cluster being created, this action is no longer available. + +Required Parameters +{ + "ClusterId": "The cluster ID of the cluster that you want to update, for example CID123e4567-e89b-12d3-a456-426655440000." +} + +Optional Parameters +{ + "Description": "The updated description of this cluster.", + "AddressId": "The ID of the updated Address object.", + "ShippingOption": "The updated shipping option value of this cluster's ShippingDetails object.", + "RoleARN": "The new role Amazon Resource Name (ARN) that you want to associate with this cluster. To create a role ARN, use the CreateRole API action in AWS Identity and Access Management (IAM).", + "Resources": "The updated arrays of JobResource objects that can include updated S3Resource objects or LambdaResource objects.", + "Notification": "The new or updated Notification object.", + "ForwardingAddressId": "The updated ID for the forwarding address for a cluster. This field is not supported in most regions." +} +""" +UpdateCluster(args) = snowball("UpdateCluster", args) + +""" + GetJobUnlockCode() + +Returns the UnlockCode code value for the specified job. A particular UnlockCode value can be accessed for up to 90 days after the associated job has been created. The UnlockCode value is a 29-character code with 25 alphanumeric characters and 4 hyphens. This code is used to decrypt the manifest file when it is passed along with the manifest to the Snowball through the Snowball client when the client is started for the first time. As a best practice, we recommend that you don't save a copy of the UnlockCode in the same location as the manifest file for that job. Saving these separately helps prevent unauthorized parties from gaining access to the Snowball associated with that job. + +Required Parameters +{ + "JobId": "The ID for the job that you want to get the UnlockCode value for, for example JID123e4567-e89b-12d3-a456-426655440000." +} +""" +GetJobUnlockCode(args) = snowball("GetJobUnlockCode", args) + +""" + UpdateJob() + +While a job's JobState value is New, you can update some of the information associated with a job. Once the job changes to a different job state, usually within 60 minutes of the job being created, this action is no longer available. + +Required Parameters +{ + "JobId": "The job ID of the job that you want to update, for example JID123e4567-e89b-12d3-a456-426655440000." +} + +Optional Parameters +{ + "Description": "The updated description of this job's JobMetadata object.", + "AddressId": "The ID of the updated Address object.", + "ShippingOption": "The updated shipping option value of this job's ShippingDetails object.", + "RoleARN": "The new role Amazon Resource Name (ARN) that you want to associate with this job. To create a role ARN, use the CreateRoleAWS Identity and Access Management (IAM) API action.", + "Notification": "The new or updated Notification object.", + "Resources": "The updated JobResource object, or the updated JobResource object. ", + "ForwardingAddressId": "The updated ID for the forwarding address for a job. This field is not supported in most regions.", + "SnowballCapacityPreference": "The updated SnowballCapacityPreference of this job's JobMetadata object. The 50 TB Snowballs are only available in the US regions." +} +""" +UpdateJob(args) = snowball("UpdateJob", args) + +""" + DescribeJob() + +Returns information about a specific job including shipping information, job status, and other important metadata. + +Required Parameters +{ + "JobId": "The automatically generated ID for a job, for example JID123e4567-e89b-12d3-a456-426655440000." +} +""" +DescribeJob(args) = snowball("DescribeJob", args) + +""" + DescribeAddresses() + +Returns a specified number of ADDRESS objects. Calling this API in one of the US regions will return addresses from the list of all addresses associated with this account in all US regions. + +Optional Parameters +{ + "MaxResults": "The number of ADDRESS objects to return.", + "NextToken": "HTTP requests are stateless. To identify what object comes \"next\" in the list of ADDRESS objects, you have the option of specifying a value for NextToken as the starting point for your list of returned addresses." +} +""" +DescribeAddresses() = snowball("DescribeAddresses") +DescribeAddresses(args) = snowball("DescribeAddresses", args) + +""" + DescribeCluster() + +Returns information about a specific cluster including shipping information, cluster status, and other important metadata. + +Required Parameters +{ + "ClusterId": "The automatically generated ID for a cluster." +} +""" +DescribeCluster(args) = snowball("DescribeCluster", args) + +""" + GetJobManifest() + +Returns a link to an Amazon S3 presigned URL for the manifest file associated with the specified JobId value. You can access the manifest file for up to 60 minutes after this request has been made. To access the manifest file after 60 minutes have passed, you'll have to make another call to the GetJobManifest action. The manifest is an encrypted file that you can download after your job enters the WithCustomer status. The manifest is decrypted by using the UnlockCode code value, when you pass both values to the Snowball through the Snowball client when the client is started for the first time. As a best practice, we recommend that you don't save a copy of an UnlockCode value in the same location as the manifest file for that job. Saving these separately helps prevent unauthorized parties from gaining access to the Snowball associated with that job. The credentials of a given job, including its manifest file and unlock code, expire 90 days after the job is created. + +Required Parameters +{ + "JobId": "The ID for a job that you want to get the manifest file for, for example JID123e4567-e89b-12d3-a456-426655440000." +} +""" +GetJobManifest(args) = snowball("GetJobManifest", args) + +""" + ListJobs() + +Returns an array of JobListEntry objects of the specified length. Each JobListEntry object contains a job's state, a job's ID, and a value that indicates whether the job is a job part, in the case of export jobs. Calling this API action in one of the US regions will return jobs from the list of all jobs associated with this account in all US regions. + +Optional Parameters +{ + "MaxResults": "The number of JobListEntry objects to return.", + "NextToken": "HTTP requests are stateless. To identify what object comes \"next\" in the list of JobListEntry objects, you have the option of specifying NextToken as the starting point for your returned list." +} +""" +ListJobs() = snowball("ListJobs") +ListJobs(args) = snowball("ListJobs", args) + +""" + GetSoftwareUpdates() + +Returns an Amazon S3 presigned URL for an update file associated with a specified JobId. + +Required Parameters +{ + "JobId": "The ID for a job that you want to get the software update file for, for example JID123e4567-e89b-12d3-a456-426655440000." +} +""" +GetSoftwareUpdates(args) = snowball("GetSoftwareUpdates", args) + +""" + CancelCluster() + +Cancels a cluster job. You can only cancel a cluster job while it's in the AwaitingQuorum status. You'll have at least an hour after creating a cluster job to cancel it. + +Required Parameters +{ + "ClusterId": "The 39-character ID for the cluster that you want to cancel, for example CID123e4567-e89b-12d3-a456-426655440000." +} +""" +CancelCluster(args) = snowball("CancelCluster", args) + +""" + ListClusters() + +Returns an array of ClusterListEntry objects of the specified length. Each ClusterListEntry object contains a cluster's state, a cluster's ID, and other important status information. + +Optional Parameters +{ + "MaxResults": "The number of ClusterListEntry objects to return.", + "NextToken": "HTTP requests are stateless. To identify what object comes \"next\" in the list of ClusterListEntry objects, you have the option of specifying NextToken as the starting point for your returned list." +} +""" +ListClusters() = snowball("ListClusters") +ListClusters(args) = snowball("ListClusters", args) diff --git a/src/services/sns.jl b/src/services/sns.jl new file mode 100644 index 0000000000..c81167f031 --- /dev/null +++ b/src/services/sns.jl @@ -0,0 +1,472 @@ +include("../AWSServices.jl") +using .AWSServices: sns + +""" + ListTagsForResource() + +List all tags added to the specified Amazon SNS topic. For an overview, see Amazon SNS Tags in the Amazon Simple Notification Service Developer Guide. + +Required Parameters +{ + "ResourceArn": "The ARN of the topic for which to list tags." +} +""" +ListTagsForResource(args) = sns("ListTagsForResource", args) + +""" + RemovePermission() + +Removes a statement from a topic's access control policy. + +Required Parameters +{ + "TopicArn": "The ARN of the topic whose access control policy you wish to modify.", + "Label": "The unique label of the statement you want to remove." +} +""" +RemovePermission(args) = sns("RemovePermission", args) + +""" + SetTopicAttributes() + +Allows a topic owner to set an attribute of the topic to a new value. + +Required Parameters +{ + "TopicArn": "The ARN of the topic to modify.", + "AttributeName": "A map of attributes with their corresponding values. The following lists the names, descriptions, and values of the special request parameters that the SetTopicAttributes action uses: DeliveryPolicy – The policy that defines how Amazon SNS retries failed deliveries to HTTP/S endpoints. DisplayName – The display name to use for a topic with SMS subscriptions. Policy – The policy that defines who can access your topic. By default, only the topic owner can publish or subscribe to the topic. The following attribute applies only to server-side-encryption: KmsMasterKeyId - The ID of an AWS-managed customer master key (CMK) for Amazon SNS or a custom CMK. For more information, see Key Terms. For more examples, see KeyId in the AWS Key Management Service API Reference. " +} + +Optional Parameters +{ + "AttributeValue": "The new value for the attribute." +} +""" +SetTopicAttributes(args) = sns("SetTopicAttributes", args) + +""" + GetEndpointAttributes() + +Retrieves the endpoint attributes for a device on one of the supported push notification services, such as FCM and APNS. For more information, see Using Amazon SNS Mobile Push Notifications. + +Required Parameters +{ + "EndpointArn": "EndpointArn for GetEndpointAttributes input." +} +""" +GetEndpointAttributes(args) = sns("GetEndpointAttributes", args) + +""" + GetSubscriptionAttributes() + +Returns all of the properties of a subscription. + +Required Parameters +{ + "SubscriptionArn": "The ARN of the subscription whose properties you want to get." +} +""" +GetSubscriptionAttributes(args) = sns("GetSubscriptionAttributes", args) + +""" + CreatePlatformApplication() + +Creates a platform application object for one of the supported push notification services, such as APNS and FCM, to which devices and mobile apps may register. You must specify PlatformPrincipal and PlatformCredential attributes when using the CreatePlatformApplication action. The PlatformPrincipal is received from the notification service. For APNS/APNS_SANDBOX, PlatformPrincipal is "SSL certificate". For FCM, PlatformPrincipal is not applicable. For ADM, PlatformPrincipal is "client id". The PlatformCredential is also received from the notification service. For WNS, PlatformPrincipal is "Package Security Identifier". For MPNS, PlatformPrincipal is "TLS certificate". For Baidu, PlatformPrincipal is "API key". For APNS/APNS_SANDBOX, PlatformCredential is "private key". For FCM, PlatformCredential is "API key". For ADM, PlatformCredential is "client secret". For WNS, PlatformCredential is "secret key". For MPNS, PlatformCredential is "private key". For Baidu, PlatformCredential is "secret key". The PlatformApplicationArn that is returned when using CreatePlatformApplication is then used as an attribute for the CreatePlatformEndpoint action. + +Required Parameters +{ + "Attributes": "For a list of attributes, see SetPlatformApplicationAttributes ", + "Platform": "The following platforms are supported: ADM (Amazon Device Messaging), APNS (Apple Push Notification Service), APNS_SANDBOX, and FCM (Firebase Cloud Messaging).", + "Name": "Application names must be made up of only uppercase and lowercase ASCII letters, numbers, underscores, hyphens, and periods, and must be between 1 and 256 characters long." +} +""" +CreatePlatformApplication(args) = sns("CreatePlatformApplication", args) + +""" + CheckIfPhoneNumberIsOptedOut() + +Accepts a phone number and indicates whether the phone holder has opted out of receiving SMS messages from your account. You cannot send SMS messages to a number that is opted out. To resume sending messages, you can opt in the number by using the OptInPhoneNumber action. + +Required Parameters +{ + "phoneNumber": "The phone number for which you want to check the opt out status." +} +""" +CheckIfPhoneNumberIsOptedOut(args) = sns("CheckIfPhoneNumberIsOptedOut", args) + +""" + ListTopics() + +Returns a list of the requester's topics. Each call returns a limited list of topics, up to 100. If there are more topics, a NextToken is also returned. Use the NextToken parameter in a new ListTopics call to get further results. This action is throttled at 30 transactions per second (TPS). + +Optional Parameters +{ + "NextToken": "Token returned by the previous ListTopics request." +} +""" +ListTopics() = sns("ListTopics") +ListTopics(args) = sns("ListTopics", args) + +""" + ListSubscriptions() + +Returns a list of the requester's subscriptions. Each call returns a limited list of subscriptions, up to 100. If there are more subscriptions, a NextToken is also returned. Use the NextToken parameter in a new ListSubscriptions call to get further results. This action is throttled at 30 transactions per second (TPS). + +Optional Parameters +{ + "NextToken": "Token returned by the previous ListSubscriptions request." +} +""" +ListSubscriptions() = sns("ListSubscriptions") +ListSubscriptions(args) = sns("ListSubscriptions", args) + +""" + SetSMSAttributes() + +Use this request to set the default settings for sending SMS messages and receiving daily SMS usage reports. You can override some of these settings for a single message when you use the Publish action with the MessageAttributes.entry.N parameter. For more information, see Sending an SMS Message in the Amazon SNS Developer Guide. + +Required Parameters +{ + "attributes": "The default settings for sending SMS messages from your account. You can set values for the following attribute names: MonthlySpendLimit – The maximum amount in USD that you are willing to spend each month to send SMS messages. When Amazon SNS determines that sending an SMS message would incur a cost that exceeds this limit, it stops sending SMS messages within minutes. Amazon SNS stops sending SMS messages within minutes of the limit being crossed. During that interval, if you continue to send SMS messages, you will incur costs that exceed your limit. By default, the spend limit is set to the maximum allowed by Amazon SNS. If you want to raise the limit, submit an SNS Limit Increase case. For New limit value, enter your desired monthly spend limit. In the Use Case Description field, explain that you are requesting an SMS monthly spend limit increase. DeliveryStatusIAMRole – The ARN of the IAM role that allows Amazon SNS to write logs about SMS deliveries in CloudWatch Logs. For each SMS message that you send, Amazon SNS writes a log that includes the message price, the success or failure status, the reason for failure (if the message failed), the message dwell time, and other information. DeliveryStatusSuccessSamplingRate – The percentage of successful SMS deliveries for which Amazon SNS will write logs in CloudWatch Logs. The value can be an integer from 0 - 100. For example, to write logs only for failed deliveries, set this value to 0. To write logs for 10% of your successful deliveries, set it to 10. DefaultSenderID – A string, such as your business brand, that is displayed as the sender on the receiving device. Support for sender IDs varies by country. The sender ID can be 1 - 11 alphanumeric characters, and it must contain at least one letter. DefaultSMSType – The type of SMS message that you will send by default. You can assign the following values: Promotional – (Default) Noncritical messages, such as marketing messages. Amazon SNS optimizes the message delivery to incur the lowest cost. Transactional – Critical messages that support customer transactions, such as one-time passcodes for multi-factor authentication. Amazon SNS optimizes the message delivery to achieve the highest reliability. UsageReportS3Bucket – The name of the Amazon S3 bucket to receive daily SMS usage reports from Amazon SNS. Each day, Amazon SNS will deliver a usage report as a CSV file to the bucket. The report includes the following information for each SMS message that was successfully delivered by your account: Time that the message was published (in UTC) Message ID Destination phone number Message type Delivery status Message price (in USD) Part number (a message is split into multiple parts if it is too long for a single message) Total number of parts To receive the report, the bucket must have a policy that allows the Amazon SNS service principle to perform the s3:PutObject and s3:GetBucketLocation actions. For an example bucket policy and usage report, see Monitoring SMS Activity in the Amazon SNS Developer Guide." +} +""" +SetSMSAttributes(args) = sns("SetSMSAttributes", args) + +""" + SetEndpointAttributes() + +Sets the attributes for an endpoint for a device on one of the supported push notification services, such as FCM and APNS. For more information, see Using Amazon SNS Mobile Push Notifications. + +Required Parameters +{ + "Attributes": "A map of the endpoint attributes. Attributes in this map include the following: CustomUserData – arbitrary user data to associate with the endpoint. Amazon SNS does not use this data. The data must be in UTF-8 format and less than 2KB. Enabled – flag that enables/disables delivery to the endpoint. Amazon SNS will set this to false when a notification service indicates to Amazon SNS that the endpoint is invalid. Users can set it back to true, typically after updating Token. Token – device token, also referred to as a registration id, for an app and mobile device. This is returned from the notification service when an app and mobile device are registered with the notification service. ", + "EndpointArn": "EndpointArn used for SetEndpointAttributes action." +} +""" +SetEndpointAttributes(args) = sns("SetEndpointAttributes", args) + +""" + DeleteTopic() + +Deletes a topic and all its subscriptions. Deleting a topic might prevent some messages previously sent to the topic from being delivered to subscribers. This action is idempotent, so deleting a topic that does not exist does not result in an error. + +Required Parameters +{ + "TopicArn": "The ARN of the topic you want to delete." +} +""" +DeleteTopic(args) = sns("DeleteTopic", args) + +""" + DeletePlatformApplication() + +Deletes a platform application object for one of the supported push notification services, such as APNS and FCM. For more information, see Using Amazon SNS Mobile Push Notifications. + +Required Parameters +{ + "PlatformApplicationArn": "PlatformApplicationArn of platform application object to delete." +} +""" +DeletePlatformApplication(args) = sns("DeletePlatformApplication", args) + +""" + GetSMSAttributes() + +Returns the settings for sending SMS messages from your account. These settings are set with the SetSMSAttributes action. + +Optional Parameters +{ + "attributes": "A list of the individual attribute names, such as MonthlySpendLimit, for which you want values. For all attribute names, see SetSMSAttributes. If you don't use this parameter, Amazon SNS returns all SMS attributes." +} +""" +GetSMSAttributes() = sns("GetSMSAttributes") +GetSMSAttributes(args) = sns("GetSMSAttributes", args) + +""" + TagResource() + +Add tags to the specified Amazon SNS topic. For an overview, see Amazon SNS Tags in the Amazon SNS Developer Guide. When you use topic tags, keep the following guidelines in mind: Adding more than 50 tags to a topic isn't recommended. Tags don't have any semantic meaning. Amazon SNS interprets tags as character strings. Tags are case-sensitive. A new tag with a key identical to that of an existing tag overwrites the existing tag. Tagging actions are limited to 10 TPS per AWS account, per AWS region. If your application requires a higher throughput, file a technical support request. + +Required Parameters +{ + "ResourceArn": "The ARN of the topic to which to add tags.", + "Tags": "The tags to be added to the specified topic. A tag consists of a required key and an optional value." +} +""" +TagResource(args) = sns("TagResource", args) + +""" + CreatePlatformEndpoint() + +Creates an endpoint for a device and mobile app on one of the supported push notification services, such as FCM and APNS. CreatePlatformEndpoint requires the PlatformApplicationArn that is returned from CreatePlatformApplication. The EndpointArn that is returned when using CreatePlatformEndpoint can then be used by the Publish action to send a message to a mobile app or by the Subscribe action for subscription to a topic. The CreatePlatformEndpoint action is idempotent, so if the requester already owns an endpoint with the same device token and attributes, that endpoint's ARN is returned without creating a new endpoint. For more information, see Using Amazon SNS Mobile Push Notifications. When using CreatePlatformEndpoint with Baidu, two attributes must be provided: ChannelId and UserId. The token field must also contain the ChannelId. For more information, see Creating an Amazon SNS Endpoint for Baidu. + +Required Parameters +{ + "Token": "Unique identifier created by the notification service for an app on a device. The specific name for Token will vary, depending on which notification service is being used. For example, when using APNS as the notification service, you need the device token. Alternatively, when using FCM or ADM, the device token equivalent is called the registration ID.", + "PlatformApplicationArn": "PlatformApplicationArn returned from CreatePlatformApplication is used to create a an endpoint." +} + +Optional Parameters +{ + "Attributes": "For a list of attributes, see SetEndpointAttributes.", + "CustomUserData": "Arbitrary user data to associate with the endpoint. Amazon SNS does not use this data. The data must be in UTF-8 format and less than 2KB." +} +""" +CreatePlatformEndpoint(args) = sns("CreatePlatformEndpoint", args) + +""" + Subscribe() + +Prepares to subscribe an endpoint by sending the endpoint a confirmation message. To actually create a subscription, the endpoint owner must call the ConfirmSubscription action with the token from the confirmation message. Confirmation tokens are valid for three days. This action is throttled at 100 transactions per second (TPS). + +Required Parameters +{ + "TopicArn": "The ARN of the topic you want to subscribe to.", + "Protocol": "The protocol you want to use. Supported protocols include: http – delivery of JSON-encoded message via HTTP POST https – delivery of JSON-encoded message via HTTPS POST email – delivery of message via SMTP email-json – delivery of JSON-encoded message via SMTP sms – delivery of message via SMS sqs – delivery of JSON-encoded message to an Amazon SQS queue application – delivery of JSON-encoded message to an EndpointArn for a mobile app and device. lambda – delivery of JSON-encoded message to an Amazon Lambda function. " +} + +Optional Parameters +{ + "Endpoint": "The endpoint that you want to receive notifications. Endpoints vary by protocol: For the http protocol, the endpoint is an URL beginning with http:// For the https protocol, the endpoint is a URL beginning with https:// For the email protocol, the endpoint is an email address For the email-json protocol, the endpoint is an email address For the sms protocol, the endpoint is a phone number of an SMS-enabled device For the sqs protocol, the endpoint is the ARN of an Amazon SQS queue For the application protocol, the endpoint is the EndpointArn of a mobile app and device. For the lambda protocol, the endpoint is the ARN of an Amazon Lambda function. ", + "ReturnSubscriptionArn": "Sets whether the response from the Subscribe request includes the subscription ARN, even if the subscription is not yet confirmed. If you have the subscription ARN returned, the response includes the ARN in all cases, even if the subscription is not yet confirmed. If you don't have the subscription ARN returned, in addition to the ARN for confirmed subscriptions, the response also includes the pending subscription ARN value for subscriptions that aren't yet confirmed. A subscription becomes confirmed when the subscriber calls the ConfirmSubscription action with a confirmation token. If you set this parameter to true, . The default value is false.", + "Attributes": "A map of attributes with their corresponding values. The following lists the names, descriptions, and values of the special request parameters that the SetTopicAttributes action uses: DeliveryPolicy – The policy that defines how Amazon SNS retries failed deliveries to HTTP/S endpoints. FilterPolicy – The simple JSON object that lets your subscriber receive only a subset of messages, rather than receiving every message published to the topic. RawMessageDelivery – When set to true, enables raw message delivery to Amazon SQS or HTTP/S endpoints. This eliminates the need for the endpoints to process JSON formatting, which is otherwise created for Amazon SNS metadata. RedrivePolicy – When specified, sends undeliverable messages to the specified Amazon SQS dead-letter queue. Messages that can't be delivered due to client errors (for example, when the subscribed endpoint is unreachable) or server errors (for example, when the service that powers the subscribed endpoint becomes unavailable) are held in the dead-letter queue for further analysis or reprocessing. " +} +""" +Subscribe(args) = sns("Subscribe", args) + +""" + UntagResource() + +Remove tags from the specified Amazon SNS topic. For an overview, see Amazon SNS Tags in the Amazon SNS Developer Guide. + +Required Parameters +{ + "ResourceArn": "The ARN of the topic from which to remove tags.", + "TagKeys": "The list of tag keys to remove from the specified topic." +} +""" +UntagResource(args) = sns("UntagResource", args) + +""" + ListPlatformApplications() + +Lists the platform application objects for the supported push notification services, such as APNS and FCM. The results for ListPlatformApplications are paginated and return a limited list of applications, up to 100. If additional records are available after the first page results, then a NextToken string will be returned. To receive the next page, you call ListPlatformApplications using the NextToken string received from the previous call. When there are no more records to return, NextToken will be null. For more information, see Using Amazon SNS Mobile Push Notifications. This action is throttled at 15 transactions per second (TPS). + +Optional Parameters +{ + "NextToken": "NextToken string is used when calling ListPlatformApplications action to retrieve additional records that are available after the first page results." +} +""" +ListPlatformApplications() = sns("ListPlatformApplications") +ListPlatformApplications(args) = sns("ListPlatformApplications", args) + +""" + ListSubscriptionsByTopic() + +Returns a list of the subscriptions to a specific topic. Each call returns a limited list of subscriptions, up to 100. If there are more subscriptions, a NextToken is also returned. Use the NextToken parameter in a new ListSubscriptionsByTopic call to get further results. This action is throttled at 30 transactions per second (TPS). + +Required Parameters +{ + "TopicArn": "The ARN of the topic for which you wish to find subscriptions." +} + +Optional Parameters +{ + "NextToken": "Token returned by the previous ListSubscriptionsByTopic request." +} +""" +ListSubscriptionsByTopic(args) = sns("ListSubscriptionsByTopic", args) + +""" + OptInPhoneNumber() + +Use this request to opt in a phone number that is opted out, which enables you to resume sending SMS messages to the number. You can opt in a phone number only once every 30 days. + +Required Parameters +{ + "phoneNumber": "The phone number to opt in." +} +""" +OptInPhoneNumber(args) = sns("OptInPhoneNumber", args) + +""" + CreateTopic() + +Creates a topic to which notifications can be published. Users can create at most 100,000 topics. For more information, see https://aws.amazon.com/sns. This action is idempotent, so if the requester already owns a topic with the specified name, that topic's ARN is returned without creating a new topic. + +Required Parameters +{ + "Name": "The name of the topic you want to create. Constraints: Topic names must be made up of only uppercase and lowercase ASCII letters, numbers, underscores, and hyphens, and must be between 1 and 256 characters long." +} + +Optional Parameters +{ + "Tags": "The list of tags to add to a new topic. To be able to tag a topic on creation, you must have the sns:CreateTopic and sns:TagResource permissions. ", + "Attributes": "A map of attributes with their corresponding values. The following lists the names, descriptions, and values of the special request parameters that the CreateTopic action uses: DeliveryPolicy – The policy that defines how Amazon SNS retries failed deliveries to HTTP/S endpoints. DisplayName – The display name to use for a topic with SMS subscriptions. Policy – The policy that defines who can access your topic. By default, only the topic owner can publish or subscribe to the topic. The following attribute applies only to server-side-encryption: KmsMasterKeyId - The ID of an AWS-managed customer master key (CMK) for Amazon SNS or a custom CMK. For more information, see Key Terms. For more examples, see KeyId in the AWS Key Management Service API Reference. " +} +""" +CreateTopic(args) = sns("CreateTopic", args) + +""" + GetPlatformApplicationAttributes() + +Retrieves the attributes of the platform application object for the supported push notification services, such as APNS and FCM. For more information, see Using Amazon SNS Mobile Push Notifications. + +Required Parameters +{ + "PlatformApplicationArn": "PlatformApplicationArn for GetPlatformApplicationAttributesInput." +} +""" +GetPlatformApplicationAttributes(args) = sns("GetPlatformApplicationAttributes", args) + +""" + GetTopicAttributes() + +Returns all of the properties of a topic. Topic properties returned might differ based on the authorization of the user. + +Required Parameters +{ + "TopicArn": "The ARN of the topic whose properties you want to get." +} +""" +GetTopicAttributes(args) = sns("GetTopicAttributes", args) + +""" + SetPlatformApplicationAttributes() + +Sets the attributes of the platform application object for the supported push notification services, such as APNS and FCM. For more information, see Using Amazon SNS Mobile Push Notifications. For information on configuring attributes for message delivery status, see Using Amazon SNS Application Attributes for Message Delivery Status. + +Required Parameters +{ + "Attributes": "A map of the platform application attributes. Attributes in this map include the following: PlatformCredential – The credential received from the notification service. For APNS/APNS_SANDBOX, PlatformCredential is private key. For FCM, PlatformCredential is \"API key\". For ADM, PlatformCredential is \"client secret\". PlatformPrincipal – The principal received from the notification service. For APNS/APNS_SANDBOX, PlatformPrincipal is SSL certificate. For FCM, PlatformPrincipal is not applicable. For ADM, PlatformPrincipal is \"client id\". EventEndpointCreated – Topic ARN to which EndpointCreated event notifications should be sent. EventEndpointDeleted – Topic ARN to which EndpointDeleted event notifications should be sent. EventEndpointUpdated – Topic ARN to which EndpointUpdate event notifications should be sent. EventDeliveryFailure – Topic ARN to which DeliveryFailure event notifications should be sent upon Direct Publish delivery failure (permanent) to one of the application's endpoints. SuccessFeedbackRoleArn – IAM role ARN used to give Amazon SNS write access to use CloudWatch Logs on your behalf. FailureFeedbackRoleArn – IAM role ARN used to give Amazon SNS write access to use CloudWatch Logs on your behalf. SuccessFeedbackSampleRate – Sample rate percentage (0-100) of successfully delivered messages. ", + "PlatformApplicationArn": "PlatformApplicationArn for SetPlatformApplicationAttributes action." +} +""" +SetPlatformApplicationAttributes(args) = sns("SetPlatformApplicationAttributes", args) + +""" + ListEndpointsByPlatformApplication() + +Lists the endpoints and endpoint attributes for devices in a supported push notification service, such as FCM and APNS. The results for ListEndpointsByPlatformApplication are paginated and return a limited list of endpoints, up to 100. If additional records are available after the first page results, then a NextToken string will be returned. To receive the next page, you call ListEndpointsByPlatformApplication again using the NextToken string received from the previous call. When there are no more records to return, NextToken will be null. For more information, see Using Amazon SNS Mobile Push Notifications. This action is throttled at 30 transactions per second (TPS). + +Required Parameters +{ + "PlatformApplicationArn": "PlatformApplicationArn for ListEndpointsByPlatformApplicationInput action." +} + +Optional Parameters +{ + "NextToken": "NextToken string is used when calling ListEndpointsByPlatformApplication action to retrieve additional records that are available after the first page results." +} +""" +ListEndpointsByPlatformApplication(args) = sns("ListEndpointsByPlatformApplication", args) + +""" + SetSubscriptionAttributes() + +Allows a subscription owner to set an attribute of the subscription to a new value. + +Required Parameters +{ + "AttributeName": "A map of attributes with their corresponding values. The following lists the names, descriptions, and values of the special request parameters that the SetTopicAttributes action uses: DeliveryPolicy – The policy that defines how Amazon SNS retries failed deliveries to HTTP/S endpoints. FilterPolicy – The simple JSON object that lets your subscriber receive only a subset of messages, rather than receiving every message published to the topic. RawMessageDelivery – When set to true, enables raw message delivery to Amazon SQS or HTTP/S endpoints. This eliminates the need for the endpoints to process JSON formatting, which is otherwise created for Amazon SNS metadata. RedrivePolicy – When specified, sends undeliverable messages to the specified Amazon SQS dead-letter queue. Messages that can't be delivered due to client errors (for example, when the subscribed endpoint is unreachable) or server errors (for example, when the service that powers the subscribed endpoint becomes unavailable) are held in the dead-letter queue for further analysis or reprocessing. ", + "SubscriptionArn": "The ARN of the subscription to modify." +} + +Optional Parameters +{ + "AttributeValue": "The new value for the attribute in JSON format." +} +""" +SetSubscriptionAttributes(args) = sns("SetSubscriptionAttributes", args) + +""" + DeleteEndpoint() + +Deletes the endpoint for a device and mobile app from Amazon SNS. This action is idempotent. For more information, see Using Amazon SNS Mobile Push Notifications. When you delete an endpoint that is also subscribed to a topic, then you must also unsubscribe the endpoint from the topic. + +Required Parameters +{ + "EndpointArn": "EndpointArn of endpoint to delete." +} +""" +DeleteEndpoint(args) = sns("DeleteEndpoint", args) + +""" + Unsubscribe() + +Deletes a subscription. If the subscription requires authentication for deletion, only the owner of the subscription or the topic's owner can unsubscribe, and an AWS signature is required. If the Unsubscribe call does not require authentication and the requester is not the subscription owner, a final cancellation message is delivered to the endpoint, so that the endpoint owner can easily resubscribe to the topic if the Unsubscribe request was unintended. This action is throttled at 100 transactions per second (TPS). + +Required Parameters +{ + "SubscriptionArn": "The ARN of the subscription to be deleted." +} +""" +Unsubscribe(args) = sns("Unsubscribe", args) + +""" + ConfirmSubscription() + +Verifies an endpoint owner's intent to receive messages by validating the token sent to the endpoint by an earlier Subscribe action. If the token is valid, the action creates a new subscription and returns its Amazon Resource Name (ARN). This call requires an AWS signature only when the AuthenticateOnUnsubscribe flag is set to "true". + +Required Parameters +{ + "TopicArn": "The ARN of the topic for which you wish to confirm a subscription.", + "Token": "Short-lived token sent to an endpoint during the Subscribe action." +} + +Optional Parameters +{ + "AuthenticateOnUnsubscribe": "Disallows unauthenticated unsubscribes of the subscription. If the value of this parameter is true and the request has an AWS signature, then only the topic owner and the subscription owner can unsubscribe the endpoint. The unsubscribe action requires AWS authentication. " +} +""" +ConfirmSubscription(args) = sns("ConfirmSubscription", args) + +""" + ListPhoneNumbersOptedOut() + +Returns a list of phone numbers that are opted out, meaning you cannot send SMS messages to them. The results for ListPhoneNumbersOptedOut are paginated, and each page returns up to 100 phone numbers. If additional phone numbers are available after the first page of results, then a NextToken string will be returned. To receive the next page, you call ListPhoneNumbersOptedOut again using the NextToken string received from the previous call. When there are no more records to return, NextToken will be null. + +Optional Parameters +{ + "nextToken": "A NextToken string is used when you call the ListPhoneNumbersOptedOut action to retrieve additional records that are available after the first page of results." +} +""" +ListPhoneNumbersOptedOut() = sns("ListPhoneNumbersOptedOut") +ListPhoneNumbersOptedOut(args) = sns("ListPhoneNumbersOptedOut", args) + +""" + Publish() + +Sends a message to an Amazon SNS topic or sends a text message (SMS message) directly to a phone number. If you send a message to a topic, Amazon SNS delivers the message to each endpoint that is subscribed to the topic. The format of the message depends on the notification protocol for each subscribed endpoint. When a messageId is returned, the message has been saved and Amazon SNS will attempt to deliver it shortly. To use the Publish action for sending a message to a mobile endpoint, such as an app on a Kindle device or mobile phone, you must specify the EndpointArn for the TargetArn parameter. The EndpointArn is returned when making a call with the CreatePlatformEndpoint action. For more information about formatting messages, see Send Custom Platform-Specific Payloads in Messages to Mobile Devices. + +Required Parameters +{ + "Message": "The message you want to send. If you are publishing to a topic and you want to send the same message to all transport protocols, include the text of the message as a String value. If you want to send different messages for each transport protocol, set the value of the MessageStructure parameter to json and use a JSON object for the Message parameter. Constraints: With the exception of SMS, messages must be UTF-8 encoded strings and at most 256 KB in size (262,144 bytes, not 262,144 characters). For SMS, each message can contain up to 140 characters. This character limit depends on the encoding schema. For example, an SMS message can contain 160 GSM characters, 140 ASCII characters, or 70 UCS-2 characters. If you publish a message that exceeds this size limit, Amazon SNS sends the message as multiple messages, each fitting within the size limit. Messages aren't truncated mid-word but are cut off at whole-word boundaries. The total size limit for a single SMS Publish action is 1,600 characters. JSON-specific constraints: Keys in the JSON object that correspond to supported transport protocols must have simple JSON string values. The values will be parsed (unescaped) before they are used in outgoing messages. Outbound notifications are JSON encoded (meaning that the characters will be reescaped for sending). Values have a minimum length of 0 (the empty string, \"\", is allowed). Values have a maximum length bounded by the overall message size (so, including multiple protocols may limit message sizes). Non-string values will cause the key to be ignored. Keys that do not correspond to supported transport protocols are ignored. Duplicate keys are not allowed. Failure to parse or validate any key or value in the message will cause the Publish call to return an error (no partial delivery). " +} + +Optional Parameters +{ + "Subject": "Optional parameter to be used as the \"Subject\" line when the message is delivered to email endpoints. This field will also be included, if present, in the standard JSON messages delivered to other endpoints. Constraints: Subjects must be ASCII text that begins with a letter, number, or punctuation mark; must not include line breaks or control characters; and must be less than 100 characters long.", + "TopicArn": "The topic you want to publish to. If you don't specify a value for the TopicArn parameter, you must specify a value for the PhoneNumber or TargetArn parameters.", + "PhoneNumber": "The phone number to which you want to deliver an SMS message. Use E.164 format. If you don't specify a value for the PhoneNumber parameter, you must specify a value for the TargetArn or TopicArn parameters.", + "MessageAttributes": "Message attributes for Publish action.", + "TargetArn": "If you don't specify a value for the TargetArn parameter, you must specify a value for the PhoneNumber or TopicArn parameters.", + "MessageStructure": "Set MessageStructure to json if you want to send a different message for each protocol. For example, using one publish action, you can send a short message to your SMS subscribers and a longer message to your email subscribers. If you set MessageStructure to json, the value of the Message parameter must: be a syntactically valid JSON object; and contain at least a top-level JSON key of \"default\" with a value that is a string. You can define other top-level keys that define the message you want to send to a specific transport protocol (e.g., \"http\"). Valid value: json " +} +""" +Publish(args) = sns("Publish", args) + +""" + AddPermission() + +Adds a statement to a topic's access control policy, granting access for the specified AWS accounts to the specified actions. + +Required Parameters +{ + "TopicArn": "The ARN of the topic whose access control policy you wish to modify.", + "Label": "A unique identifier for the new policy statement.", + "ActionName": "The action you want to allow for the specified principal(s). Valid values: Any Amazon SNS action name, for example Publish.", + "AWSAccountId": "The AWS account IDs of the users (principals) who will be given access to the specified actions. The users must have AWS accounts, but do not need to be signed up for this service." +} +""" +AddPermission(args) = sns("AddPermission", args) diff --git a/src/services/sqs.jl b/src/services/sqs.jl new file mode 100644 index 0000000000..31ff334fb6 --- /dev/null +++ b/src/services/sqs.jl @@ -0,0 +1,292 @@ +include("../AWSServices.jl") +using .AWSServices: sqs + +""" + ChangeMessageVisibility() + +Changes the visibility timeout of a specified message in a queue to a new value. The default visibility timeout for a message is 30 seconds. The minimum is 0 seconds. The maximum is 12 hours. For more information, see Visibility Timeout in the Amazon Simple Queue Service Developer Guide. For example, you have a message with a visibility timeout of 5 minutes. After 3 minutes, you call ChangeMessageVisibility with a timeout of 10 minutes. You can continue to call ChangeMessageVisibility to extend the visibility timeout to the maximum allowed time. If you try to extend the visibility timeout beyond the maximum, your request is rejected. An Amazon SQS message has three basic states: Sent to a queue by a producer. Received from the queue by a consumer. Deleted from the queue. A message is considered to be stored after it is sent to a queue by a producer, but not yet received from the queue by a consumer (that is, between states 1 and 2). There is no limit to the number of stored messages. A message is considered to be in flight after it is received from a queue by a consumer, but not yet deleted from the queue (that is, between states 2 and 3). There is a limit to the number of inflight messages. Limits that apply to inflight messages are unrelated to the unlimited number of stored messages. For most standard queues (depending on queue traffic and message backlog), there can be a maximum of approximately 120,000 inflight messages (received from a queue by a consumer, but not yet deleted from the queue). If you reach this limit, Amazon SQS returns the OverLimit error message. To avoid reaching the limit, you should delete messages from the queue after they're processed. You can also increase the number of queues you use to process your messages. To request a limit increase, file a support request. For FIFO queues, there can be a maximum of 20,000 inflight messages (received from a queue by a consumer, but not yet deleted from the queue). If you reach this limit, Amazon SQS returns no error messages. If you attempt to set the VisibilityTimeout to a value greater than the maximum time left, Amazon SQS returns an error. Amazon SQS doesn't automatically recalculate and increase the timeout to the maximum remaining time. Unlike with a queue, when you change the visibility timeout for a specific message the timeout value is applied immediately but isn't saved in memory for that message. If you don't delete a message after it is received, the visibility timeout for the message reverts to the original timeout value (not to the value you set using the ChangeMessageVisibility action) the next time the message is received. + +Required Parameters +{ + "QueueUrl": "The URL of the Amazon SQS queue whose message's visibility is changed. Queue URLs and names are case-sensitive.", + "VisibilityTimeout": "The new value for the message's visibility timeout (in seconds). Values values: 0 to 43200. Maximum: 12 hours.", + "ReceiptHandle": "The receipt handle associated with the message whose visibility timeout is changed. This parameter is returned by the ReceiveMessage action." +} +""" +ChangeMessageVisibility(args) = sqs("ChangeMessageVisibility", args) + +""" + DeleteMessage() + +Deletes the specified message from the specified queue. To select the message to delete, use the ReceiptHandle of the message (not the MessageId which you receive when you send the message). Amazon SQS can delete a message from a queue even if a visibility timeout setting causes the message to be locked by another consumer. Amazon SQS automatically deletes messages left in a queue longer than the retention period configured for the queue. The ReceiptHandle is associated with a specific instance of receiving a message. If you receive a message more than once, the ReceiptHandle is different each time you receive a message. When you use the DeleteMessage action, you must provide the most recently received ReceiptHandle for the message (otherwise, the request succeeds, but the message might not be deleted). For standard queues, it is possible to receive a message even after you delete it. This might happen on rare occasions if one of the servers which stores a copy of the message is unavailable when you send the request to delete the message. The copy remains on the server and might be returned to you during a subsequent receive request. You should ensure that your application is idempotent, so that receiving a message more than once does not cause issues. + +Required Parameters +{ + "QueueUrl": "The URL of the Amazon SQS queue from which messages are deleted. Queue URLs and names are case-sensitive.", + "ReceiptHandle": "The receipt handle associated with the message to delete." +} +""" +DeleteMessage(args) = sqs("DeleteMessage", args) + +""" + RemovePermission() + +Revokes any permissions in the queue policy that matches the specified Label parameter. Only the owner of a queue can remove permissions from it. Cross-account permissions don't apply to this action. For more information, see Grant Cross-Account Permissions to a Role and a User Name in the Amazon Simple Queue Service Developer Guide. To remove the ability to change queue permissions, you must deny permission to the AddPermission, RemovePermission, and SetQueueAttributes actions in your IAM policy. + +Required Parameters +{ + "QueueUrl": "The URL of the Amazon SQS queue from which permissions are removed. Queue URLs and names are case-sensitive.", + "Label": "The identification of the permission to remove. This is the label added using the AddPermission action." +} +""" +RemovePermission(args) = sqs("RemovePermission", args) + +""" + SendMessage() + +Delivers a message to the specified queue. A message can include only XML, JSON, and unformatted text. The following Unicode characters are allowed: #x9 | #xA | #xD | #x20 to #xD7FF | #xE000 to #xFFFD | #x10000 to #x10FFFF Any characters not included in this list will be rejected. For more information, see the W3C specification for characters. + +Required Parameters +{ + "QueueUrl": "The URL of the Amazon SQS queue to which a message is sent. Queue URLs and names are case-sensitive.", + "MessageBody": "The message to send. The maximum string size is 256 KB. A message can include only XML, JSON, and unformatted text. The following Unicode characters are allowed: #x9 | #xA | #xD | #x20 to #xD7FF | #xE000 to #xFFFD | #x10000 to #x10FFFF Any characters not included in this list will be rejected. For more information, see the W3C specification for characters. " +} + +Optional Parameters +{ + "MessageDeduplicationId": "This parameter applies only to FIFO (first-in-first-out) queues. The token used for deduplication of sent messages. If a message with a particular MessageDeduplicationId is sent successfully, any messages sent with the same MessageDeduplicationId are accepted successfully but aren't delivered during the 5-minute deduplication interval. For more information, see Exactly-Once Processing in the Amazon Simple Queue Service Developer Guide. Every message must have a unique MessageDeduplicationId, You may provide a MessageDeduplicationId explicitly. If you aren't able to provide a MessageDeduplicationId and you enable ContentBasedDeduplication for your queue, Amazon SQS uses a SHA-256 hash to generate the MessageDeduplicationId using the body of the message (but not the attributes of the message). If you don't provide a MessageDeduplicationId and the queue doesn't have ContentBasedDeduplication set, the action fails with an error. If the queue has ContentBasedDeduplication set, your MessageDeduplicationId overrides the generated one. When ContentBasedDeduplication is in effect, messages with identical content sent within the deduplication interval are treated as duplicates and only one copy of the message is delivered. If you send one message with ContentBasedDeduplication enabled and then another message with a MessageDeduplicationId that is the same as the one generated for the first MessageDeduplicationId, the two messages are treated as duplicates and only one copy of the message is delivered. The MessageDeduplicationId is available to the consumer of the message (this can be useful for troubleshooting delivery issues). If a message is sent successfully but the acknowledgement is lost and the message is resent with the same MessageDeduplicationId after the deduplication interval, Amazon SQS can't detect duplicate messages. Amazon SQS continues to keep track of the message deduplication ID even after the message is received and deleted. The length of MessageDeduplicationId is 128 characters. MessageDeduplicationId can contain alphanumeric characters (a-z, A-Z, 0-9) and punctuation (!\"# %&'()*+,-./:;<=>?@[ ]^_`{|}~). For best practices of using MessageDeduplicationId, see Using the MessageDeduplicationId Property in the Amazon Simple Queue Service Developer Guide.", + "MessageGroupId": "This parameter applies only to FIFO (first-in-first-out) queues. The tag that specifies that a message belongs to a specific message group. Messages that belong to the same message group are processed in a FIFO manner (however, messages in different message groups might be processed out of order). To interleave multiple ordered streams within a single queue, use MessageGroupId values (for example, session data for multiple users). In this scenario, multiple consumers can process the queue, but the session data of each user is processed in a FIFO fashion. You must associate a non-empty MessageGroupId with a message. If you don't provide a MessageGroupId, the action fails. ReceiveMessage might return messages with multiple MessageGroupId values. For each MessageGroupId, the messages are sorted by time sent. The caller can't specify a MessageGroupId. The length of MessageGroupId is 128 characters. Valid values: alphanumeric characters and punctuation (!\"# %&'()*+,-./:;<=>?@[ ]^_`{|}~). For best practices of using MessageGroupId, see Using the MessageGroupId Property in the Amazon Simple Queue Service Developer Guide. MessageGroupId is required for FIFO queues. You can't use it for Standard queues. ", + "MessageAttributes": "Each message attribute consists of a Name, Type, and Value. For more information, see Amazon SQS Message Attributes in the Amazon Simple Queue Service Developer Guide.", + "MessageSystemAttributes": "The message system attribute to send. Each message system attribute consists of a Name, Type, and Value. Currently, the only supported message system attribute is AWSTraceHeader. Its type must be String and its value must be a correctly formatted AWS X-Ray trace string. The size of a message system attribute doesn't count towards the total size of a message. ", + "DelaySeconds": " The length of time, in seconds, for which to delay a specific message. Valid values: 0 to 900. Maximum: 15 minutes. Messages with a positive DelaySeconds value become available for processing after the delay period is finished. If you don't specify a value, the default value for the queue applies. When you set FifoQueue, you can't set DelaySeconds per message. You can set this parameter only on a queue level. " +} +""" +SendMessage(args) = sqs("SendMessage", args) + +""" + ListQueueTags() + +List all cost allocation tags added to the specified Amazon SQS queue. For an overview, see Tagging Your Amazon SQS Queues in the Amazon Simple Queue Service Developer Guide. Cross-account permissions don't apply to this action. For more information, see Grant Cross-Account Permissions to a Role and a User Name in the Amazon Simple Queue Service Developer Guide. + +Required Parameters +{ + "QueueUrl": "The URL of the queue." +} +""" +ListQueueTags(args) = sqs("ListQueueTags", args) + +""" + CreateQueue() + +Creates a new standard or FIFO queue. You can pass one or more attributes in the request. Keep the following caveats in mind: If you don't specify the FifoQueue attribute, Amazon SQS creates a standard queue. You can't change the queue type after you create it and you can't convert an existing standard queue into a FIFO queue. You must either create a new FIFO queue for your application or delete your existing standard queue and recreate it as a FIFO queue. For more information, see Moving From a Standard Queue to a FIFO Queue in the Amazon Simple Queue Service Developer Guide. If you don't provide a value for an attribute, the queue is created with the default value for the attribute. If you delete a queue, you must wait at least 60 seconds before creating a queue with the same name. To successfully create a new queue, you must provide a queue name that adheres to the limits related to queues and is unique within the scope of your queues. To get the queue URL, use the GetQueueUrl action. GetQueueUrl requires only the QueueName parameter. be aware of existing queue names: If you provide the name of an existing queue along with the exact names and values of all the queue's attributes, CreateQueue returns the queue URL for the existing queue. If the queue name, attribute names, or attribute values don't match an existing queue, CreateQueue returns an error. Some actions take lists of parameters. These lists are specified using the param.n notation. Values of n are integers starting from 1. For example, a parameter list with two elements looks like this: &Attribute.1=first &Attribute.2=second Cross-account permissions don't apply to this action. For more information, see Grant Cross-Account Permissions to a Role and a User Name in the Amazon Simple Queue Service Developer Guide. + +Required Parameters +{ + "QueueName": "The name of the new queue. The following limits apply to this name: A queue name can have up to 80 characters. Valid values: alphanumeric characters, hyphens (-), and underscores (_). A FIFO queue name must end with the .fifo suffix. Queue URLs and names are case-sensitive." +} + +Optional Parameters +{ + "Attributes": "A map of attributes with their corresponding values. The following lists the names, descriptions, and values of the special request parameters that the CreateQueue action uses: DelaySeconds - The length of time, in seconds, for which the delivery of all messages in the queue is delayed. Valid values: An integer from 0 to 900 seconds (15 minutes). Default: 0. MaximumMessageSize - The limit of how many bytes a message can contain before Amazon SQS rejects it. Valid values: An integer from 1,024 bytes (1 KiB) to 262,144 bytes (256 KiB). Default: 262,144 (256 KiB). MessageRetentionPeriod - The length of time, in seconds, for which Amazon SQS retains a message. Valid values: An integer from 60 seconds (1 minute) to 1,209,600 seconds (14 days). Default: 345,600 (4 days). Policy - The queue's policy. A valid AWS policy. For more information about policy structure, see Overview of AWS IAM Policies in the Amazon IAM User Guide. ReceiveMessageWaitTimeSeconds - The length of time, in seconds, for which a ReceiveMessage action waits for a message to arrive. Valid values: An integer from 0 to 20 (seconds). Default: 0. RedrivePolicy - The string that includes the parameters for the dead-letter queue functionality of the source queue. For more information about the redrive policy and dead-letter queues, see Using Amazon SQS Dead-Letter Queues in the Amazon Simple Queue Service Developer Guide. deadLetterTargetArn - The Amazon Resource Name (ARN) of the dead-letter queue to which Amazon SQS moves messages after the value of maxReceiveCount is exceeded. maxReceiveCount - The number of times a message is delivered to the source queue before being moved to the dead-letter queue. When the ReceiveCount for a message exceeds the maxReceiveCount for a queue, Amazon SQS moves the message to the dead-letter-queue. The dead-letter queue of a FIFO queue must also be a FIFO queue. Similarly, the dead-letter queue of a standard queue must also be a standard queue. VisibilityTimeout - The visibility timeout for the queue, in seconds. Valid values: An integer from 0 to 43,200 (12 hours). Default: 30. For more information about the visibility timeout, see Visibility Timeout in the Amazon Simple Queue Service Developer Guide. The following attributes apply only to server-side-encryption: KmsMasterKeyId - The ID of an AWS-managed customer master key (CMK) for Amazon SQS or a custom CMK. For more information, see Key Terms. While the alias of the AWS-managed CMK for Amazon SQS is always alias/aws/sqs, the alias of a custom CMK can, for example, be alias/MyAlias . For more examples, see KeyId in the AWS Key Management Service API Reference. KmsDataKeyReusePeriodSeconds - The length of time, in seconds, for which Amazon SQS can reuse a data key to encrypt or decrypt messages before calling AWS KMS again. An integer representing seconds, between 60 seconds (1 minute) and 86,400 seconds (24 hours). Default: 300 (5 minutes). A shorter time period provides better security but results in more calls to KMS which might incur charges after Free Tier. For more information, see How Does the Data Key Reuse Period Work?. The following attributes apply only to FIFO (first-in-first-out) queues: FifoQueue - Designates a queue as FIFO. Valid values: true, false. If you don't specify the FifoQueue attribute, Amazon SQS creates a standard queue. You can provide this attribute only during queue creation. You can't change it for an existing queue. When you set this attribute, you must also provide the MessageGroupId for your messages explicitly. For more information, see FIFO Queue Logic in the Amazon Simple Queue Service Developer Guide. ContentBasedDeduplication - Enables content-based deduplication. Valid values: true, false. For more information, see Exactly-Once Processing in the Amazon Simple Queue Service Developer Guide. Every message must have a unique MessageDeduplicationId, You may provide a MessageDeduplicationId explicitly. If you aren't able to provide a MessageDeduplicationId and you enable ContentBasedDeduplication for your queue, Amazon SQS uses a SHA-256 hash to generate the MessageDeduplicationId using the body of the message (but not the attributes of the message). If you don't provide a MessageDeduplicationId and the queue doesn't have ContentBasedDeduplication set, the action fails with an error. If the queue has ContentBasedDeduplication set, your MessageDeduplicationId overrides the generated one. When ContentBasedDeduplication is in effect, messages with identical content sent within the deduplication interval are treated as duplicates and only one copy of the message is delivered. If you send one message with ContentBasedDeduplication enabled and then another message with a MessageDeduplicationId that is the same as the one generated for the first MessageDeduplicationId, the two messages are treated as duplicates and only one copy of the message is delivered. ", + "tags": "Add cost allocation tags to the specified Amazon SQS queue. For an overview, see Tagging Your Amazon SQS Queues in the Amazon Simple Queue Service Developer Guide. When you use queue tags, keep the following guidelines in mind: Adding more than 50 tags to a queue isn't recommended. Tags don't have any semantic meaning. Amazon SQS interprets tags as character strings. Tags are case-sensitive. A new tag with a key identical to that of an existing tag overwrites the existing tag. For a full list of tag restrictions, see Limits Related to Queues in the Amazon Simple Queue Service Developer Guide. To be able to tag a queue on creation, you must have the sqs:CreateQueue and sqs:TagQueue permissions. Cross-account permissions don't apply to this action. For more information, see Grant Cross-Account Permissions to a Role and a User Name in the Amazon Simple Queue Service Developer Guide. " +} +""" +CreateQueue(args) = sqs("CreateQueue", args) + +""" + DeleteQueue() + +Deletes the queue specified by the QueueUrl, regardless of the queue's contents. If the specified queue doesn't exist, Amazon SQS returns a successful response. Be careful with the DeleteQueue action: When you delete a queue, any messages in the queue are no longer available. When you delete a queue, the deletion process takes up to 60 seconds. Requests you send involving that queue during the 60 seconds might succeed. For example, a SendMessage request might succeed, but after 60 seconds the queue and the message you sent no longer exist. When you delete a queue, you must wait at least 60 seconds before creating a queue with the same name. Cross-account permissions don't apply to this action. For more information, see Grant Cross-Account Permissions to a Role and a User Name in the Amazon Simple Queue Service Developer Guide. + +Required Parameters +{ + "QueueUrl": "The URL of the Amazon SQS queue to delete. Queue URLs and names are case-sensitive." +} +""" +DeleteQueue(args) = sqs("DeleteQueue", args) + +""" + ReceiveMessage() + +Retrieves one or more messages (up to 10), from the specified queue. Using the WaitTimeSeconds parameter enables long-poll support. For more information, see Amazon SQS Long Polling in the Amazon Simple Queue Service Developer Guide. Short poll is the default behavior where a weighted random set of machines is sampled on a ReceiveMessage call. Thus, only the messages on the sampled machines are returned. If the number of messages in the queue is small (fewer than 1,000), you most likely get fewer messages than you requested per ReceiveMessage call. If the number of messages in the queue is extremely small, you might not receive any messages in a particular ReceiveMessage response. If this happens, repeat the request. For each message returned, the response includes the following: The message body. An MD5 digest of the message body. For information about MD5, see RFC1321. The MessageId you received when you sent the message to the queue. The receipt handle. The message attributes. An MD5 digest of the message attributes. The receipt handle is the identifier you must provide when deleting the message. For more information, see Queue and Message Identifiers in the Amazon Simple Queue Service Developer Guide. You can provide the VisibilityTimeout parameter in your request. The parameter is applied to the messages that Amazon SQS returns in the response. If you don't include the parameter, the overall visibility timeout for the queue is used for the returned messages. For more information, see Visibility Timeout in the Amazon Simple Queue Service Developer Guide. A message that isn't deleted or a message whose visibility isn't extended before the visibility timeout expires counts as a failed receive. Depending on the configuration of the queue, the message might be sent to the dead-letter queue. In the future, new attributes might be added. If you write code that calls this action, we recommend that you structure your code so that it can handle new attributes gracefully. + +Required Parameters +{ + "QueueUrl": "The URL of the Amazon SQS queue from which messages are received. Queue URLs and names are case-sensitive." +} + +Optional Parameters +{ + "AttributeNames": "A list of attributes that need to be returned along with each message. These attributes include: All - Returns all values. ApproximateFirstReceiveTimestamp - Returns the time the message was first received from the queue (epoch time in milliseconds). ApproximateReceiveCount - Returns the number of times a message has been received from the queue but not deleted. AWSTraceHeader - Returns the AWS X-Ray trace header string. SenderId For an IAM user, returns the IAM user ID, for example ABCDEFGHI1JKLMNOPQ23R. For an IAM role, returns the IAM role ID, for example ABCDE1F2GH3I4JK5LMNOP:i-a123b456. SentTimestamp - Returns the time the message was sent to the queue (epoch time in milliseconds). MessageDeduplicationId - Returns the value provided by the producer that calls the SendMessage action. MessageGroupId - Returns the value provided by the producer that calls the SendMessage action. Messages with the same MessageGroupId are returned in sequence. SequenceNumber - Returns the value provided by Amazon SQS. ", + "WaitTimeSeconds": "The duration (in seconds) for which the call waits for a message to arrive in the queue before returning. If a message is available, the call returns sooner than WaitTimeSeconds. If no messages are available and the wait time expires, the call returns successfully with an empty list of messages.", + "MessageAttributeNames": "The name of the message attribute, where N is the index. The name can contain alphanumeric characters and the underscore (_), hyphen (-), and period (.). The name is case-sensitive and must be unique among all attribute names for the message. The name must not start with AWS-reserved prefixes such as AWS. or Amazon. (or any casing variants). The name must not start or end with a period (.), and it should not have periods in succession (..). The name can be up to 256 characters long. When using ReceiveMessage, you can send a list of attribute names to receive, or you can return all of the attributes by specifying All or .* in your request. You can also use all message attributes starting with a prefix, for example bar.*.", + "MaxNumberOfMessages": "The maximum number of messages to return. Amazon SQS never returns more messages than this value (however, fewer messages might be returned). Valid values: 1 to 10. Default: 1.", + "VisibilityTimeout": "The duration (in seconds) that the received messages are hidden from subsequent retrieve requests after being retrieved by a ReceiveMessage request.", + "ReceiveRequestAttemptId": "This parameter applies only to FIFO (first-in-first-out) queues. The token used for deduplication of ReceiveMessage calls. If a networking issue occurs after a ReceiveMessage action, and instead of a response you receive a generic error, you can retry the same action with an identical ReceiveRequestAttemptId to retrieve the same set of messages, even if their visibility timeout has not yet expired. You can use ReceiveRequestAttemptId only for 5 minutes after a ReceiveMessage action. When you set FifoQueue, a caller of the ReceiveMessage action can provide a ReceiveRequestAttemptId explicitly. If a caller of the ReceiveMessage action doesn't provide a ReceiveRequestAttemptId, Amazon SQS generates a ReceiveRequestAttemptId. You can retry the ReceiveMessage action with the same ReceiveRequestAttemptId if none of the messages have been modified (deleted or had their visibility changes). During a visibility timeout, subsequent calls with the same ReceiveRequestAttemptId return the same messages and receipt handles. If a retry occurs within the deduplication interval, it resets the visibility timeout. For more information, see Visibility Timeout in the Amazon Simple Queue Service Developer Guide. If a caller of the ReceiveMessage action still processes messages when the visibility timeout expires and messages become visible, another worker consuming from the same queue can receive the same messages and therefore process duplicates. Also, if a consumer whose message processing time is longer than the visibility timeout tries to delete the processed messages, the action fails with an error. To mitigate this effect, ensure that your application observes a safe threshold before the visibility timeout expires and extend the visibility timeout as necessary. While messages with a particular MessageGroupId are invisible, no more messages belonging to the same MessageGroupId are returned until the visibility timeout expires. You can still receive messages with another MessageGroupId as long as it is also visible. If a caller of ReceiveMessage can't track the ReceiveRequestAttemptId, no retries work until the original visibility timeout expires. As a result, delays might occur but the messages in the queue remain in a strict order. The length of ReceiveRequestAttemptId is 128 characters. ReceiveRequestAttemptId can contain alphanumeric characters (a-z, A-Z, 0-9) and punctuation (!\"# %&'()*+,-./:;<=>?@[ ]^_`{|}~). For best practices of using ReceiveRequestAttemptId, see Using the ReceiveRequestAttemptId Request Parameter in the Amazon Simple Queue Service Developer Guide." +} +""" +ReceiveMessage(args) = sqs("ReceiveMessage", args) + +""" + GetQueueAttributes() + +Gets attributes for the specified queue. To determine whether a queue is FIFO, you can check whether QueueName ends with the .fifo suffix. Some actions take lists of parameters. These lists are specified using the param.n notation. Values of n are integers starting from 1. For example, a parameter list with two elements looks like this: &Attribute.1=first &Attribute.2=second + +Required Parameters +{ + "QueueUrl": "The URL of the Amazon SQS queue whose attribute information is retrieved. Queue URLs and names are case-sensitive." +} + +Optional Parameters +{ + "AttributeNames": "A list of attributes for which to retrieve information. In the future, new attributes might be added. If you write code that calls this action, we recommend that you structure your code so that it can handle new attributes gracefully. The following attributes are supported: All - Returns all values. ApproximateNumberOfMessages - Returns the approximate number of messages available for retrieval from the queue. ApproximateNumberOfMessagesDelayed - Returns the approximate number of messages in the queue that are delayed and not available for reading immediately. This can happen when the queue is configured as a delay queue or when a message has been sent with a delay parameter. ApproximateNumberOfMessagesNotVisible - Returns the approximate number of messages that are in flight. Messages are considered to be in flight if they have been sent to a client but have not yet been deleted or have not yet reached the end of their visibility window. CreatedTimestamp - Returns the time when the queue was created in seconds (epoch time). DelaySeconds - Returns the default delay on the queue in seconds. LastModifiedTimestamp - Returns the time when the queue was last changed in seconds (epoch time). MaximumMessageSize - Returns the limit of how many bytes a message can contain before Amazon SQS rejects it. MessageRetentionPeriod - Returns the length of time, in seconds, for which Amazon SQS retains a message. Policy - Returns the policy of the queue. QueueArn - Returns the Amazon resource name (ARN) of the queue. ReceiveMessageWaitTimeSeconds - Returns the length of time, in seconds, for which the ReceiveMessage action waits for a message to arrive. RedrivePolicy - Returns the string that includes the parameters for dead-letter queue functionality of the source queue. For more information about the redrive policy and dead-letter queues, see Using Amazon SQS Dead-Letter Queues in the Amazon Simple Queue Service Developer Guide. deadLetterTargetArn - The Amazon Resource Name (ARN) of the dead-letter queue to which Amazon SQS moves messages after the value of maxReceiveCount is exceeded. maxReceiveCount - The number of times a message is delivered to the source queue before being moved to the dead-letter queue. When the ReceiveCount for a message exceeds the maxReceiveCount for a queue, Amazon SQS moves the message to the dead-letter-queue. VisibilityTimeout - Returns the visibility timeout for the queue. For more information about the visibility timeout, see Visibility Timeout in the Amazon Simple Queue Service Developer Guide. The following attributes apply only to server-side-encryption: KmsMasterKeyId - Returns the ID of an AWS-managed customer master key (CMK) for Amazon SQS or a custom CMK. For more information, see Key Terms. KmsDataKeyReusePeriodSeconds - Returns the length of time, in seconds, for which Amazon SQS can reuse a data key to encrypt or decrypt messages before calling AWS KMS again. For more information, see How Does the Data Key Reuse Period Work?. The following attributes apply only to FIFO (first-in-first-out) queues: FifoQueue - Returns whether the queue is FIFO. For more information, see FIFO Queue Logic in the Amazon Simple Queue Service Developer Guide. To determine whether a queue is FIFO, you can check whether QueueName ends with the .fifo suffix. ContentBasedDeduplication - Returns whether content-based deduplication is enabled for the queue. For more information, see Exactly-Once Processing in the Amazon Simple Queue Service Developer Guide. " +} +""" +GetQueueAttributes(args) = sqs("GetQueueAttributes", args) + +""" + TagQueue() + +Add cost allocation tags to the specified Amazon SQS queue. For an overview, see Tagging Your Amazon SQS Queues in the Amazon Simple Queue Service Developer Guide. When you use queue tags, keep the following guidelines in mind: Adding more than 50 tags to a queue isn't recommended. Tags don't have any semantic meaning. Amazon SQS interprets tags as character strings. Tags are case-sensitive. A new tag with a key identical to that of an existing tag overwrites the existing tag. For a full list of tag restrictions, see Limits Related to Queues in the Amazon Simple Queue Service Developer Guide. Cross-account permissions don't apply to this action. For more information, see Grant Cross-Account Permissions to a Role and a User Name in the Amazon Simple Queue Service Developer Guide. + +Required Parameters +{ + "Tags": "The list of tags to be added to the specified queue.", + "QueueUrl": "The URL of the queue." +} +""" +TagQueue(args) = sqs("TagQueue", args) + +""" + PurgeQueue() + +Deletes the messages in a queue specified by the QueueURL parameter. When you use the PurgeQueue action, you can't retrieve any messages deleted from a queue. The message deletion process takes up to 60 seconds. We recommend waiting for 60 seconds regardless of your queue's size. Messages sent to the queue before you call PurgeQueue might be received but are deleted within the next minute. Messages sent to the queue after you call PurgeQueue might be deleted while the queue is being purged. + +Required Parameters +{ + "QueueUrl": "The URL of the queue from which the PurgeQueue action deletes messages. Queue URLs and names are case-sensitive." +} +""" +PurgeQueue(args) = sqs("PurgeQueue", args) + +""" + UntagQueue() + +Remove cost allocation tags from the specified Amazon SQS queue. For an overview, see Tagging Your Amazon SQS Queues in the Amazon Simple Queue Service Developer Guide. Cross-account permissions don't apply to this action. For more information, see Grant Cross-Account Permissions to a Role and a User Name in the Amazon Simple Queue Service Developer Guide. + +Required Parameters +{ + "QueueUrl": "The URL of the queue.", + "TagKeys": "The list of tags to be removed from the specified queue." +} +""" +UntagQueue(args) = sqs("UntagQueue", args) + +""" + DeleteMessageBatch() + +Deletes up to ten messages from the specified queue. This is a batch version of DeleteMessage. The result of the action on each message is reported individually in the response. Because the batch request can result in a combination of successful and unsuccessful actions, you should check for batch errors even when the call returns an HTTP status code of 200. Some actions take lists of parameters. These lists are specified using the param.n notation. Values of n are integers starting from 1. For example, a parameter list with two elements looks like this: &Attribute.1=first &Attribute.2=second + +Required Parameters +{ + "QueueUrl": "The URL of the Amazon SQS queue from which messages are deleted. Queue URLs and names are case-sensitive.", + "Entries": "A list of receipt handles for the messages to be deleted." +} +""" +DeleteMessageBatch(args) = sqs("DeleteMessageBatch", args) + +""" + SendMessageBatch() + +Delivers up to ten messages to the specified queue. This is a batch version of SendMessage. For a FIFO queue, multiple messages within a single batch are enqueued in the order they are sent. The result of sending each message is reported individually in the response. Because the batch request can result in a combination of successful and unsuccessful actions, you should check for batch errors even when the call returns an HTTP status code of 200. The maximum allowed individual message size and the maximum total payload size (the sum of the individual lengths of all of the batched messages) are both 256 KB (262,144 bytes). A message can include only XML, JSON, and unformatted text. The following Unicode characters are allowed: #x9 | #xA | #xD | #x20 to #xD7FF | #xE000 to #xFFFD | #x10000 to #x10FFFF Any characters not included in this list will be rejected. For more information, see the W3C specification for characters. If you don't specify the DelaySeconds parameter for an entry, Amazon SQS uses the default value for the queue. Some actions take lists of parameters. These lists are specified using the param.n notation. Values of n are integers starting from 1. For example, a parameter list with two elements looks like this: &Attribute.1=first &Attribute.2=second + +Required Parameters +{ + "QueueUrl": "The URL of the Amazon SQS queue to which batched messages are sent. Queue URLs and names are case-sensitive.", + "Entries": "A list of SendMessageBatchRequestEntry items." +} +""" +SendMessageBatch(args) = sqs("SendMessageBatch", args) + +""" + SetQueueAttributes() + +Sets the value of one or more queue attributes. When you change a queue's attributes, the change can take up to 60 seconds for most of the attributes to propagate throughout the Amazon SQS system. Changes made to the MessageRetentionPeriod attribute can take up to 15 minutes. In the future, new attributes might be added. If you write code that calls this action, we recommend that you structure your code so that it can handle new attributes gracefully. Cross-account permissions don't apply to this action. For more information, see Grant Cross-Account Permissions to a Role and a User Name in the Amazon Simple Queue Service Developer Guide. To remove the ability to change queue permissions, you must deny permission to the AddPermission, RemovePermission, and SetQueueAttributes actions in your IAM policy. + +Required Parameters +{ + "QueueUrl": "The URL of the Amazon SQS queue whose attributes are set. Queue URLs and names are case-sensitive.", + "Attributes": "A map of attributes to set. The following lists the names, descriptions, and values of the special request parameters that the SetQueueAttributes action uses: DelaySeconds - The length of time, in seconds, for which the delivery of all messages in the queue is delayed. Valid values: An integer from 0 to 900 (15 minutes). Default: 0. MaximumMessageSize - The limit of how many bytes a message can contain before Amazon SQS rejects it. Valid values: An integer from 1,024 bytes (1 KiB) up to 262,144 bytes (256 KiB). Default: 262,144 (256 KiB). MessageRetentionPeriod - The length of time, in seconds, for which Amazon SQS retains a message. Valid values: An integer representing seconds, from 60 (1 minute) to 1,209,600 (14 days). Default: 345,600 (4 days). Policy - The queue's policy. A valid AWS policy. For more information about policy structure, see Overview of AWS IAM Policies in the Amazon IAM User Guide. ReceiveMessageWaitTimeSeconds - The length of time, in seconds, for which a ReceiveMessage action waits for a message to arrive. Valid values: an integer from 0 to 20 (seconds). Default: 0. RedrivePolicy - The string that includes the parameters for the dead-letter queue functionality of the source queue. For more information about the redrive policy and dead-letter queues, see Using Amazon SQS Dead-Letter Queues in the Amazon Simple Queue Service Developer Guide. deadLetterTargetArn - The Amazon Resource Name (ARN) of the dead-letter queue to which Amazon SQS moves messages after the value of maxReceiveCount is exceeded. maxReceiveCount - The number of times a message is delivered to the source queue before being moved to the dead-letter queue. When the ReceiveCount for a message exceeds the maxReceiveCount for a queue, Amazon SQS moves the message to the dead-letter-queue. The dead-letter queue of a FIFO queue must also be a FIFO queue. Similarly, the dead-letter queue of a standard queue must also be a standard queue. VisibilityTimeout - The visibility timeout for the queue, in seconds. Valid values: an integer from 0 to 43,200 (12 hours). Default: 30. For more information about the visibility timeout, see Visibility Timeout in the Amazon Simple Queue Service Developer Guide. The following attributes apply only to server-side-encryption: KmsMasterKeyId - The ID of an AWS-managed customer master key (CMK) for Amazon SQS or a custom CMK. For more information, see Key Terms. While the alias of the AWS-managed CMK for Amazon SQS is always alias/aws/sqs, the alias of a custom CMK can, for example, be alias/MyAlias . For more examples, see KeyId in the AWS Key Management Service API Reference. KmsDataKeyReusePeriodSeconds - The length of time, in seconds, for which Amazon SQS can reuse a data key to encrypt or decrypt messages before calling AWS KMS again. An integer representing seconds, between 60 seconds (1 minute) and 86,400 seconds (24 hours). Default: 300 (5 minutes). A shorter time period provides better security but results in more calls to KMS which might incur charges after Free Tier. For more information, see How Does the Data Key Reuse Period Work?. The following attribute applies only to FIFO (first-in-first-out) queues: ContentBasedDeduplication - Enables content-based deduplication. For more information, see Exactly-Once Processing in the Amazon Simple Queue Service Developer Guide. Every message must have a unique MessageDeduplicationId, You may provide a MessageDeduplicationId explicitly. If you aren't able to provide a MessageDeduplicationId and you enable ContentBasedDeduplication for your queue, Amazon SQS uses a SHA-256 hash to generate the MessageDeduplicationId using the body of the message (but not the attributes of the message). If you don't provide a MessageDeduplicationId and the queue doesn't have ContentBasedDeduplication set, the action fails with an error. If the queue has ContentBasedDeduplication set, your MessageDeduplicationId overrides the generated one. When ContentBasedDeduplication is in effect, messages with identical content sent within the deduplication interval are treated as duplicates and only one copy of the message is delivered. If you send one message with ContentBasedDeduplication enabled and then another message with a MessageDeduplicationId that is the same as the one generated for the first MessageDeduplicationId, the two messages are treated as duplicates and only one copy of the message is delivered. " +} +""" +SetQueueAttributes(args) = sqs("SetQueueAttributes", args) + +""" + AddPermission() + +Adds a permission to a queue for a specific principal. This allows sharing access to the queue. When you create a queue, you have full control access rights for the queue. Only you, the owner of the queue, can grant or deny permissions to the queue. For more information about these permissions, see Allow Developers to Write Messages to a Shared Queue in the Amazon Simple Queue Service Developer Guide. AddPermission generates a policy for you. You can use SetQueueAttributes to upload your policy. For more information, see Using Custom Policies with the Amazon SQS Access Policy Language in the Amazon Simple Queue Service Developer Guide. An Amazon SQS policy can have a maximum of 7 actions. To remove the ability to change queue permissions, you must deny permission to the AddPermission, RemovePermission, and SetQueueAttributes actions in your IAM policy. Some actions take lists of parameters. These lists are specified using the param.n notation. Values of n are integers starting from 1. For example, a parameter list with two elements looks like this: &Attribute.1=first &Attribute.2=second Cross-account permissions don't apply to this action. For more information, see Grant Cross-Account Permissions to a Role and a User Name in the Amazon Simple Queue Service Developer Guide. + +Required Parameters +{ + "Actions": "The action the client wants to allow for the specified principal. Valid values: the name of any action or *. For more information about these actions, see Overview of Managing Access Permissions to Your Amazon Simple Queue Service Resource in the Amazon Simple Queue Service Developer Guide. Specifying SendMessage, DeleteMessage, or ChangeMessageVisibility for ActionName.n also grants permissions for the corresponding batch versions of those actions: SendMessageBatch, DeleteMessageBatch, and ChangeMessageVisibilityBatch.", + "QueueUrl": "The URL of the Amazon SQS queue to which permissions are added. Queue URLs and names are case-sensitive.", + "Label": "The unique identification of the permission you're setting (for example, AliceSendMessage). Maximum 80 characters. Allowed characters include alphanumeric characters, hyphens (-), and underscores (_).", + "AWSAccountIds": "The AWS account number of the principal who is given permission. The principal must have an AWS account, but does not need to be signed up for Amazon SQS. For information about locating the AWS account identification, see Your AWS Identifiers in the Amazon Simple Queue Service Developer Guide." +} +""" +AddPermission(args) = sqs("AddPermission", args) + +""" + ChangeMessageVisibilityBatch() + +Changes the visibility timeout of multiple messages. This is a batch version of ChangeMessageVisibility. The result of the action on each message is reported individually in the response. You can send up to 10 ChangeMessageVisibility requests with each ChangeMessageVisibilityBatch action. Because the batch request can result in a combination of successful and unsuccessful actions, you should check for batch errors even when the call returns an HTTP status code of 200. Some actions take lists of parameters. These lists are specified using the param.n notation. Values of n are integers starting from 1. For example, a parameter list with two elements looks like this: &Attribute.1=first &Attribute.2=second + +Required Parameters +{ + "QueueUrl": "The URL of the Amazon SQS queue whose messages' visibility is changed. Queue URLs and names are case-sensitive.", + "Entries": "A list of receipt handles of the messages for which the visibility timeout must be changed." +} +""" +ChangeMessageVisibilityBatch(args) = sqs("ChangeMessageVisibilityBatch", args) + +""" + ListDeadLetterSourceQueues() + +Returns a list of your queues that have the RedrivePolicy queue attribute configured with a dead-letter queue. For more information about using dead-letter queues, see Using Amazon SQS Dead-Letter Queues in the Amazon Simple Queue Service Developer Guide. + +Required Parameters +{ + "QueueUrl": "The URL of a dead-letter queue. Queue URLs and names are case-sensitive." +} +""" +ListDeadLetterSourceQueues(args) = sqs("ListDeadLetterSourceQueues", args) + +""" + ListQueues() + +Returns a list of your queues. The maximum number of queues that can be returned is 1,000. If you specify a value for the optional QueueNamePrefix parameter, only queues with a name that begins with the specified value are returned. Cross-account permissions don't apply to this action. For more information, see Grant Cross-Account Permissions to a Role and a User Name in the Amazon Simple Queue Service Developer Guide. + +Optional Parameters +{ + "QueueNamePrefix": "A string to use for filtering the list results. Only those queues whose name begins with the specified string are returned. Queue URLs and names are case-sensitive." +} +""" +ListQueues() = sqs("ListQueues") +ListQueues(args) = sqs("ListQueues", args) + +""" + GetQueueUrl() + +Returns the URL of an existing Amazon SQS queue. To access a queue that belongs to another AWS account, use the QueueOwnerAWSAccountId parameter to specify the account ID of the queue's owner. The queue's owner must grant you permission to access the queue. For more information about shared queue access, see AddPermission or see Allow Developers to Write Messages to a Shared Queue in the Amazon Simple Queue Service Developer Guide. + +Required Parameters +{ + "QueueName": "The name of the queue whose URL must be fetched. Maximum 80 characters. Valid values: alphanumeric characters, hyphens (-), and underscores (_). Queue URLs and names are case-sensitive." +} + +Optional Parameters +{ + "QueueOwnerAWSAccountId": "The AWS account ID of the account that created the queue." +} +""" +GetQueueUrl(args) = sqs("GetQueueUrl", args) diff --git a/src/services/ssm.jl b/src/services/ssm.jl new file mode 100644 index 0000000000..4ae8f49f5b --- /dev/null +++ b/src/services/ssm.jl @@ -0,0 +1,2104 @@ +include("../AWSServices.jl") +using .AWSServices: ssm + +""" + GetParameter() + +Get information about a parameter by using the parameter name. Don't confuse this API action with the GetParameters API action. + +Required Parameters +{ + "Name": "The name of the parameter you want to query." +} + +Optional Parameters +{ + "WithDecryption": "Return decrypted values for secure string parameters. This flag is ignored for String and StringList parameter types." +} +""" +GetParameter(args) = ssm("GetParameter", args) + +""" + LabelParameterVersion() + +A parameter label is a user-defined alias to help you manage different versions of a parameter. When you modify a parameter, Systems Manager automatically saves a new version and increments the version number by one. A label can help you remember the purpose of a parameter when there are multiple versions. Parameter labels have the following requirements and restrictions. A version of a parameter can have a maximum of 10 labels. You can't attach the same label to different versions of the same parameter. For example, if version 1 has the label Production, then you can't attach Production to version 2. You can move a label from one version of a parameter to another. You can't create a label when you create a new parameter. You must attach a label to a specific version of a parameter. You can't delete a parameter label. If you no longer want to use a parameter label, then you must move it to a different version of a parameter. A label can have a maximum of 100 characters. Labels can contain letters (case sensitive), numbers, periods (.), hyphens (-), or underscores (_). Labels can't begin with a number, "aws," or "ssm" (not case sensitive). If a label fails to meet these requirements, then the label is not associated with a parameter and the system displays it in the list of InvalidLabels. + +Required Parameters +{ + "Labels": "One or more labels to attach to the specified parameter version.", + "Name": "The parameter name on which you want to attach one or more labels." +} + +Optional Parameters +{ + "ParameterVersion": "The specific version of the parameter on which you want to attach one or more labels. If no version is specified, the system attaches the label to the latest version." +} +""" +LabelParameterVersion(args) = ssm("LabelParameterVersion", args) + +""" + GetOpsSummary() + +View a summary of OpsItems based on specified filters and aggregators. + +Optional Parameters +{ + "MaxResults": "The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.", + "Aggregators": "Optional aggregators that return counts of OpsItems based on one or more expressions.", + "NextToken": "A token to start the list. Use this token to get the next set of results. ", + "SyncName": "Specify the name of a resource data sync to get.", + "Filters": "Optional filters used to scope down the returned OpsItems. ", + "ResultAttributes": "The OpsItem data type to return." +} +""" +GetOpsSummary() = ssm("GetOpsSummary") +GetOpsSummary(args) = ssm("GetOpsSummary", args) + +""" + DeleteResourceDataSync() + +Deletes a Resource Data Sync configuration. After the configuration is deleted, changes to data on managed instances are no longer synced to or from the target. Deleting a sync configuration does not delete data. + +Required Parameters +{ + "SyncName": "The name of the configuration to delete." +} + +Optional Parameters +{ + "SyncType": "Specify the type of resource data sync to delete." +} +""" +DeleteResourceDataSync(args) = ssm("DeleteResourceDataSync", args) + +""" + DescribeMaintenanceWindowTasks() + +Lists the tasks in a maintenance window. + +Required Parameters +{ + "WindowId": "The ID of the maintenance window whose tasks should be retrieved." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.", + "NextToken": "The token for the next set of items to return. (You received this token from a previous call.)", + "Filters": "Optional filters used to narrow down the scope of the returned tasks. The supported filter keys are WindowTaskId, TaskArn, Priority, and TaskType." +} +""" +DescribeMaintenanceWindowTasks(args) = ssm("DescribeMaintenanceWindowTasks", args) + +""" + GetInventory() + +Query inventory information. + +Optional Parameters +{ + "MaxResults": "The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.", + "Aggregators": "Returns counts of inventory types based on one or more expressions. For example, if you aggregate by using an expression that uses the AWS:InstanceInformation.PlatformType type, you can see a count of how many Windows and Linux instances exist in your inventoried fleet.", + "NextToken": "The token for the next set of items to return. (You received this token from a previous call.)", + "Filters": "One or more filters. Use a filter to return a more specific list of results.", + "ResultAttributes": "The list of inventory item types to return." +} +""" +GetInventory() = ssm("GetInventory") +GetInventory(args) = ssm("GetInventory", args) + +""" + DescribeAvailablePatches() + +Lists all patches eligible to be included in a patch baseline. + +Optional Parameters +{ + "MaxResults": "The maximum number of patches to return (per page).", + "NextToken": "The token for the next set of items to return. (You received this token from a previous call.)", + "Filters": "Filters used to scope down the returned patches." +} +""" +DescribeAvailablePatches() = ssm("DescribeAvailablePatches") +DescribeAvailablePatches(args) = ssm("DescribeAvailablePatches", args) + +""" + UpdateOpsItem() + +Edit or change an OpsItem. You must have permission in AWS Identity and Access Management (IAM) to update an OpsItem. For more information, see Getting Started with OpsCenter in the AWS Systems Manager User Guide. Operations engineers and IT professionals use OpsCenter to view, investigate, and remediate operational issues impacting the performance and health of their AWS resources. For more information, see AWS Systems Manager OpsCenter in the AWS Systems Manager User Guide. + +Required Parameters +{ + "OpsItemId": "The ID of the OpsItem." +} + +Optional Parameters +{ + "OperationalData": "Add new keys or edit existing key-value pairs of the OperationalData map in the OpsItem object. Operational data is custom data that provides useful reference details about the OpsItem. For example, you can specify log files, error strings, license keys, troubleshooting tips, or other relevant data. You enter operational data as key-value pairs. The key has a maximum length of 128 characters. The value has a maximum size of 20 KB. Operational data keys can't begin with the following: amazon, aws, amzn, ssm, /amazon, /aws, /amzn, /ssm. You can choose to make the data searchable by other users in the account or you can restrict search access. Searchable data means that all users with access to the OpsItem Overview page (as provided by the DescribeOpsItems API action) can view and search on the specified data. Operational data that is not searchable is only viewable by users who have access to the OpsItem (as provided by the GetOpsItem API action). Use the /aws/resources key in OperationalData to specify a related resource in the request. Use the /aws/automations key in OperationalData to associate an Automation runbook with the OpsItem. To view AWS CLI example commands that use these keys, see Creating OpsItems Manually in the AWS Systems Manager User Guide.", + "OperationalDataToDelete": "Keys that you want to remove from the OperationalData map.", + "Description": "Update the information about the OpsItem. Provide enough information so that users reading this OpsItem for the first time understand the issue. ", + "Status": "The OpsItem status. Status can be Open, In Progress, or Resolved. For more information, see Editing OpsItem Details in the AWS Systems Manager User Guide.", + "Severity": "Specify a new severity for an OpsItem.", + "Notifications": "The Amazon Resource Name (ARN) of an SNS topic where notifications are sent when this OpsItem is edited or changed.", + "RelatedOpsItems": "One or more OpsItems that share something in common with the current OpsItems. For example, related OpsItems can include OpsItems with similar error messages, impacted resources, or statuses for the impacted resource.", + "Priority": "The importance of this OpsItem in relation to other OpsItems in the system.", + "Category": "Specify a new category for an OpsItem.", + "Title": "A short heading that describes the nature of the OpsItem and the impacted resource." +} +""" +UpdateOpsItem(args) = ssm("UpdateOpsItem", args) + +""" + StartAssociationsOnce() + +Use this API action to run an association immediately and only one time. This action can be helpful when troubleshooting associations. + +Required Parameters +{ + "AssociationIds": "The association IDs that you want to run immediately and only one time." +} +""" +StartAssociationsOnce(args) = ssm("StartAssociationsOnce", args) + +""" + UpdateAssociationStatus() + +Updates the status of the Systems Manager document associated with the specified instance. + +Required Parameters +{ + "InstanceId": "The ID of the instance.", + "AssociationStatus": "The association status.", + "Name": "The name of the Systems Manager document." +} +""" +UpdateAssociationStatus(args) = ssm("UpdateAssociationStatus", args) + +""" + DeregisterManagedInstance() + +Removes the server or virtual machine from the list of registered servers. You can reregister the instance again at any time. If you don't plan to use Run Command on the server, we suggest uninstalling SSM Agent first. + +Required Parameters +{ + "InstanceId": "The ID assigned to the managed instance when you registered it using the activation process. " +} +""" +DeregisterManagedInstance(args) = ssm("DeregisterManagedInstance", args) + +""" + GetMaintenanceWindow() + +Retrieves a maintenance window. + +Required Parameters +{ + "WindowId": "The ID of the maintenance window for which you want to retrieve information." +} +""" +GetMaintenanceWindow(args) = ssm("GetMaintenanceWindow", args) + +""" + GetOpsItem() + +Get information about an OpsItem by using the ID. You must have permission in AWS Identity and Access Management (IAM) to view information about an OpsItem. For more information, see Getting Started with OpsCenter in the AWS Systems Manager User Guide. Operations engineers and IT professionals use OpsCenter to view, investigate, and remediate operational issues impacting the performance and health of their AWS resources. For more information, see AWS Systems Manager OpsCenter in the AWS Systems Manager User Guide. + +Required Parameters +{ + "OpsItemId": "The ID of the OpsItem that you want to get." +} +""" +GetOpsItem(args) = ssm("GetOpsItem", args) + +""" + GetServiceSetting() + + ServiceSetting is an account-level setting for an AWS service. This setting defines how a user interacts with or uses a service or a feature of a service. For example, if an AWS service charges money to the account based on feature or service usage, then the AWS service team might create a default setting of "false". This means the user can't use this feature unless they change the setting to "true" and intentionally opt in for a paid feature. Services map a SettingId object to a setting value. AWS services teams define the default value for a SettingId. You can't create a new SettingId, but you can overwrite the default value if you have the ssm:UpdateServiceSetting permission for the setting. Use the UpdateServiceSetting API action to change the default setting. Or use the ResetServiceSetting to change the value back to the original value defined by the AWS service team. Query the current service setting for the account. + +Required Parameters +{ + "SettingId": "The ID of the service setting to get." +} +""" +GetServiceSetting(args) = ssm("GetServiceSetting", args) + +""" + DeregisterTargetFromMaintenanceWindow() + +Removes a target from a maintenance window. + +Required Parameters +{ + "WindowId": "The ID of the maintenance window the target should be removed from.", + "WindowTargetId": "The ID of the target definition to remove." +} + +Optional Parameters +{ + "Safe": "The system checks if the target is being referenced by a task. If the target is being referenced, the system returns an error and does not deregister the target from the maintenance window." +} +""" +DeregisterTargetFromMaintenanceWindow(args) = ssm("DeregisterTargetFromMaintenanceWindow", args) + +""" + GetPatchBaseline() + +Retrieves information about a patch baseline. + +Required Parameters +{ + "BaselineId": "The ID of the patch baseline to retrieve." +} +""" +GetPatchBaseline(args) = ssm("GetPatchBaseline", args) + +""" + DescribeSessions() + +Retrieves a list of all active sessions (both connected and disconnected) or terminated sessions from the past 30 days. + +Required Parameters +{ + "State": "The session status to retrieve a list of sessions for. For example, \"Active\"." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.", + "NextToken": "The token for the next set of items to return. (You received this token from a previous call.)", + "Filters": "One or more filters to limit the type of sessions returned by the request." +} +""" +DescribeSessions(args) = ssm("DescribeSessions", args) + +""" + DescribeAssociation() + +Describes the association for the specified target or instance. If you created the association by using the Targets parameter, then you must retrieve the association by using the association ID. If you created the association by specifying an instance ID and a Systems Manager document, then you retrieve the association by specifying the document name and the instance ID. + +Optional Parameters +{ + "AssociationId": "The association ID for which you want information.", + "InstanceId": "The instance ID.", + "AssociationVersion": "Specify the association version to retrieve. To view the latest version, either specify LATEST for this parameter, or omit this parameter. To view a list of all associations for an instance, use ListAssociations. To get a list of versions for a specific association, use ListAssociationVersions. ", + "Name": "The name of the Systems Manager document." +} +""" +DescribeAssociation() = ssm("DescribeAssociation") +DescribeAssociation(args) = ssm("DescribeAssociation", args) + +""" + GetMaintenanceWindowExecutionTask() + +Retrieves the details about a specific task run as part of a maintenance window execution. + +Required Parameters +{ + "TaskId": "The ID of the specific task execution in the maintenance window task that should be retrieved.", + "WindowExecutionId": "The ID of the maintenance window execution that includes the task." +} +""" +GetMaintenanceWindowExecutionTask(args) = ssm("GetMaintenanceWindowExecutionTask", args) + +""" + PutComplianceItems() + +Registers a compliance type and other compliance details on a designated resource. This action lets you register custom compliance details with a resource. This call overwrites existing compliance information on the resource, so you must provide a full list of compliance items each time that you send the request. ComplianceType can be one of the following: ExecutionId: The execution ID when the patch, association, or custom compliance item was applied. ExecutionType: Specify patch, association, or Custom:string. ExecutionTime. The time the patch, association, or custom compliance item was applied to the instance. Id: The patch, association, or custom compliance ID. Title: A title. Status: The status of the compliance item. For example, approved for patches, or Failed for associations. Severity: A patch severity. For example, critical. DocumentName: A SSM document name. For example, AWS-RunPatchBaseline. DocumentVersion: An SSM document version number. For example, 4. Classification: A patch classification. For example, security updates. PatchBaselineId: A patch baseline ID. PatchSeverity: A patch severity. For example, Critical. PatchState: A patch state. For example, InstancesWithFailedPatches. PatchGroup: The name of a patch group. InstalledTime: The time the association, patch, or custom compliance item was applied to the resource. Specify the time by using the following format: yyyy-MM-dd'T'HH:mm:ss'Z' + +Required Parameters +{ + "ExecutionSummary": "A summary of the call execution that includes an execution ID, the type of execution (for example, Command), and the date/time of the execution using a datetime object that is saved in the following format: yyyy-MM-dd'T'HH:mm:ss'Z'.", + "Items": "Information about the compliance as defined by the resource type. For example, for a patch compliance type, Items includes information about the PatchSeverity, Classification, etc.", + "ResourceType": "Specify the type of resource. ManagedInstance is currently the only supported resource type.", + "ResourceId": "Specify an ID for this resource. For a managed instance, this is the instance ID.", + "ComplianceType": "Specify the compliance type. For example, specify Association (for a State Manager association), Patch, or Custom:string." +} + +Optional Parameters +{ + "ItemContentHash": "MD5 or SHA-256 content hash. The content hash is used to determine if existing information should be overwritten or ignored. If the content hashes match, the request to put compliance information is ignored." +} +""" +PutComplianceItems(args) = ssm("PutComplianceItems", args) + +""" + DeleteAssociation() + +Disassociates the specified Systems Manager document from the specified instance. When you disassociate a document from an instance, it does not change the configuration of the instance. To change the configuration state of an instance after you disassociate a document, you must create a new document with the desired configuration and associate it with the instance. + +Optional Parameters +{ + "AssociationId": "The association ID that you want to delete.", + "InstanceId": "The ID of the instance.", + "Name": "The name of the Systems Manager document." +} +""" +DeleteAssociation() = ssm("DeleteAssociation") +DeleteAssociation(args) = ssm("DeleteAssociation", args) + +""" + DescribePatchBaselines() + +Lists the patch baselines in your AWS account. + +Optional Parameters +{ + "MaxResults": "The maximum number of patch baselines to return (per page).", + "NextToken": "The token for the next set of items to return. (You received this token from a previous call.)", + "Filters": "Each element in the array is a structure containing: Key: (string, \"NAME_PREFIX\" or \"OWNER\") Value: (array of strings, exactly 1 entry, between 1 and 255 characters)" +} +""" +DescribePatchBaselines() = ssm("DescribePatchBaselines") +DescribePatchBaselines(args) = ssm("DescribePatchBaselines", args) + +""" + GetMaintenanceWindowTask() + +Lists the tasks in a maintenance window. + +Required Parameters +{ + "WindowId": "The maintenance window ID that includes the task to retrieve.", + "WindowTaskId": "The maintenance window task ID to retrieve." +} +""" +GetMaintenanceWindowTask(args) = ssm("GetMaintenanceWindowTask", args) + +""" + CreateAssociation() + +Associates the specified Systems Manager document with the specified instances or targets. When you associate a document with one or more instances using instance IDs or tags, SSM Agent running on the instance processes the document and configures the instance as specified. If you associate a document with an instance that already has an associated document, the system returns the AssociationAlreadyExists exception. + +Required Parameters +{ + "Name": "The name of the SSM document that contains the configuration information for the instance. You can specify Command or Automation documents. You can specify AWS-predefined documents, documents you created, or a document that is shared with you from another account. For SSM documents that are shared with you from other AWS accounts, you must specify the complete SSM document ARN, in the following format: arn:partition:ssm:region:account-id:document/document-name For example: arn:aws:ssm:us-east-2:12345678912:document/My-Shared-Document For AWS-predefined documents and SSM documents you created in your account, you only need to specify the document name. For example, AWS-ApplyPatchBaseline or My-Document." +} + +Optional Parameters +{ + "AutomationTargetParameterName": "Specify the target for the association. This target is required for associations that use an Automation document and target resources by using rate controls.", + "DocumentVersion": "The document version you want to associate with the target(s). Can be a specific version or the default version.", + "ScheduleExpression": "A cron expression when the association will be applied to the target(s).", + "InstanceId": "The instance ID. InstanceId has been deprecated. To specify an instance ID for an association, use the Targets parameter. Requests that include the parameter InstanceID with SSM documents that use schema version 2.0 or later will fail. In addition, if you use the parameter InstanceId, you cannot use the parameters AssociationName, DocumentVersion, MaxErrors, MaxConcurrency, OutputLocation, or ScheduleExpression. To use these parameters, you must use the Targets parameter. ", + "OutputLocation": "An Amazon S3 bucket where you want to store the output details of the request.", + "AssociationName": "Specify a descriptive name for the association.", + "MaxConcurrency": "The maximum number of targets allowed to run the association at the same time. You can specify a number, for example 10, or a percentage of the target set, for example 10%. The default value is 100%, which means all targets run the association at the same time. If a new instance starts and attempts to run an association while Systems Manager is running MaxConcurrency associations, the association is allowed to run. During the next association interval, the new instance will process its association within the limit specified for MaxConcurrency.", + "MaxErrors": "The number of errors that are allowed before the system stops sending requests to run the association on additional targets. You can specify either an absolute number of errors, for example 10, or a percentage of the target set, for example 10%. If you specify 3, for example, the system stops sending requests when the fourth error is received. If you specify 0, then the system stops sending requests after the first error is returned. If you run an association on 50 instances and set MaxError to 10%, then the system stops sending the request when the sixth error is received. Executions that are already running an association when MaxErrors is reached are allowed to complete, but some of these executions may fail as well. If you need to ensure that there won't be more than max-errors failed executions, set MaxConcurrency to 1 so that executions proceed one at a time.", + "Parameters": "The parameters for the runtime configuration of the document.", + "ComplianceSeverity": "The severity level to assign to the association.", + "Targets": "The targets (either instances or tags) for the association. You must specify a value for Targets if you don't specify a value for InstanceId." +} +""" +CreateAssociation(args) = ssm("CreateAssociation", args) + +""" + ListCommands() + +Lists the commands requested by users of the AWS account. + +Optional Parameters +{ + "MaxResults": "(Optional) The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.", + "NextToken": "(Optional) The token for the next set of items to return. (You received this token from a previous call.)", + "InstanceId": "(Optional) Lists commands issued against this instance ID.", + "CommandId": "(Optional) If provided, lists only the specified command.", + "Filters": "(Optional) One or more filters. Use a filter to return a more specific list of results. " +} +""" +ListCommands() = ssm("ListCommands") +ListCommands(args) = ssm("ListCommands", args) + +""" + DescribeActivations() + +Describes details about the activation, such as the date and time the activation was created, its expiration date, the IAM role assigned to the instances in the activation, and the number of instances registered by using this activation. + +Optional Parameters +{ + "MaxResults": "The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.", + "NextToken": "A token to start the list. Use this token to get the next set of results. ", + "Filters": "A filter to view information about your activations." +} +""" +DescribeActivations() = ssm("DescribeActivations") +DescribeActivations(args) = ssm("DescribeActivations", args) + +""" + DeleteMaintenanceWindow() + +Deletes a maintenance window. + +Required Parameters +{ + "WindowId": "The ID of the maintenance window to delete." +} +""" +DeleteMaintenanceWindow(args) = ssm("DeleteMaintenanceWindow", args) + +""" + DeleteParameters() + +Delete a list of parameters. + +Required Parameters +{ + "Names": "The names of the parameters to delete." +} +""" +DeleteParameters(args) = ssm("DeleteParameters", args) + +""" + ListDocuments() + +Returns all Systems Manager (SSM) documents in the current AWS account and Region. You can limit the results of this request by using a filter. + +Optional Parameters +{ + "MaxResults": "The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.", + "DocumentFilterList": "One or more filters. Use a filter to return a more specific list of results.", + "NextToken": "The token for the next set of items to return. (You received this token from a previous call.)", + "Filters": "One or more filters. Use a filter to return a more specific list of results." +} +""" +ListDocuments() = ssm("ListDocuments") +ListDocuments(args) = ssm("ListDocuments", args) + +""" + UpdateServiceSetting() + + ServiceSetting is an account-level setting for an AWS service. This setting defines how a user interacts with or uses a service or a feature of a service. For example, if an AWS service charges money to the account based on feature or service usage, then the AWS service team might create a default setting of "false". This means the user can't use this feature unless they change the setting to "true" and intentionally opt in for a paid feature. Services map a SettingId object to a setting value. AWS services teams define the default value for a SettingId. You can't create a new SettingId, but you can overwrite the default value if you have the ssm:UpdateServiceSetting permission for the setting. Use the GetServiceSetting API action to view the current value. Or, use the ResetServiceSetting to change the value back to the original value defined by the AWS service team. Update the service setting for the account. + +Required Parameters +{ + "SettingValue": "The new value to specify for the service setting.", + "SettingId": "The ID of the service setting to update." +} +""" +UpdateServiceSetting(args) = ssm("UpdateServiceSetting", args) + +""" + GetMaintenanceWindowExecutionTaskInvocation() + +Retrieves information about a specific task running on a specific target. + +Required Parameters +{ + "InvocationId": "The invocation ID to retrieve.", + "TaskId": "The ID of the specific task in the maintenance window task that should be retrieved. ", + "WindowExecutionId": "The ID of the maintenance window execution for which the task is a part." +} +""" +GetMaintenanceWindowExecutionTaskInvocation(args) = ssm("GetMaintenanceWindowExecutionTaskInvocation", args) + +""" + GetConnectionStatus() + +Retrieves the Session Manager connection status for an instance to determine whether it is connected and ready to receive Session Manager connections. + +Required Parameters +{ + "Target": "The ID of the instance." +} +""" +GetConnectionStatus(args) = ssm("GetConnectionStatus", args) + +""" + GetInventorySchema() + +Return a list of inventory type names for the account, or return a list of attribute names for a specific Inventory item type. + +Optional Parameters +{ + "MaxResults": "The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.", + "NextToken": "The token for the next set of items to return. (You received this token from a previous call.)", + "TypeName": "The type of inventory item to return.", + "SubType": "Returns the sub-type schema for a specified inventory type.", + "Aggregator": "Returns inventory schemas that support aggregation. For example, this call returns the AWS:InstanceInformation type, because it supports aggregation based on the PlatformName, PlatformType, and PlatformVersion attributes." +} +""" +GetInventorySchema() = ssm("GetInventorySchema") +GetInventorySchema(args) = ssm("GetInventorySchema", args) + +""" + ModifyDocumentPermission() + +Shares a Systems Manager document publicly or privately. If you share a document privately, you must specify the AWS user account IDs for those people who can use the document. If you share a document publicly, you must specify All as the account ID. + +Required Parameters +{ + "PermissionType": "The permission type for the document. The permission type can be Share.", + "Name": "The name of the document that you want to share." +} + +Optional Parameters +{ + "SharedDocumentVersion": "(Optional) The version of the document to share. If it's not specified, the system choose the Default version to share.", + "AccountIdsToAdd": "The AWS user accounts that should have access to the document. The account IDs can either be a group of account IDs or All.", + "AccountIdsToRemove": "The AWS user accounts that should no longer have access to the document. The AWS user account can either be a group of account IDs or All. This action has a higher priority than AccountIdsToAdd. If you specify an account ID to add and the same ID to remove, the system removes access to the document." +} +""" +ModifyDocumentPermission(args) = ssm("ModifyDocumentPermission", args) + +""" + ListAssociationVersions() + +Retrieves all versions of an association for a specific association ID. + +Required Parameters +{ + "AssociationId": "The association ID for which you want to view all versions." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.", + "NextToken": "A token to start the list. Use this token to get the next set of results. " +} +""" +ListAssociationVersions(args) = ssm("ListAssociationVersions", args) + +""" + ListResourceComplianceSummaries() + +Returns a resource-level summary count. The summary includes information about compliant and non-compliant statuses and detailed compliance-item severity counts, according to the filter criteria you specify. + +Optional Parameters +{ + "MaxResults": "The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.", + "NextToken": "A token to start the list. Use this token to get the next set of results. ", + "Filters": "One or more filters. Use a filter to return a more specific list of results." +} +""" +ListResourceComplianceSummaries() = ssm("ListResourceComplianceSummaries") +ListResourceComplianceSummaries(args) = ssm("ListResourceComplianceSummaries", args) + +""" + DescribeOpsItems() + +Query a set of OpsItems. You must have permission in AWS Identity and Access Management (IAM) to query a list of OpsItems. For more information, see Getting Started with OpsCenter in the AWS Systems Manager User Guide. Operations engineers and IT professionals use OpsCenter to view, investigate, and remediate operational issues impacting the performance and health of their AWS resources. For more information, see AWS Systems Manager OpsCenter in the AWS Systems Manager User Guide. + +Optional Parameters +{ + "MaxResults": "The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.", + "NextToken": "A token to start the list. Use this token to get the next set of results.", + "OpsItemFilters": "One or more filters to limit the reponse. Key: CreatedTime Operations: GreaterThan, LessThan Key: LastModifiedBy Operations: Contains, Equals Key: LastModifiedTime Operations: GreaterThan, LessThan Key: Priority Operations: Equals Key: Source Operations: Contains, Equals Key: Status Operations: Equals Key: Title Operations: Contains Key: OperationalData* Operations: Equals Key: OperationalDataKey Operations: Equals Key: OperationalDataValue Operations: Equals, Contains Key: OpsItemId Operations: Equals Key: ResourceId Operations: Contains Key: AutomationId Operations: Equals *If you filter the response by using the OperationalData operator, specify a key-value pair by using the following JSON format: {\"key\":\"key_name\",\"value\":\"a_value\"}" +} +""" +DescribeOpsItems() = ssm("DescribeOpsItems") +DescribeOpsItems(args) = ssm("DescribeOpsItems", args) + +""" + DescribeInstancePatchStates() + +Retrieves the high-level patch state of one or more instances. + +Required Parameters +{ + "InstanceIds": "The ID of the instance whose patch state information should be retrieved." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of instances to return (per page).", + "NextToken": "The token for the next set of items to return. (You received this token from a previous call.)" +} +""" +DescribeInstancePatchStates(args) = ssm("DescribeInstancePatchStates", args) + +""" + StopAutomationExecution() + +Stop an Automation that is currently running. + +Required Parameters +{ + "AutomationExecutionId": "The execution ID of the Automation to stop." +} + +Optional Parameters +{ + "Type": "The stop request type. Valid types include the following: Cancel and Complete. The default type is Cancel." +} +""" +StopAutomationExecution(args) = ssm("StopAutomationExecution", args) + +""" + UpdateMaintenanceWindowTask() + +Modifies a task assigned to a maintenance window. You can't change the task type, but you can change the following values: TaskARN. For example, you can change a RUN_COMMAND task from AWS-RunPowerShellScript to AWS-RunShellScript. ServiceRoleArn TaskInvocationParameters Priority MaxConcurrency MaxErrors If a parameter is null, then the corresponding field is not modified. Also, if you set Replace to true, then all fields required by the RegisterTaskWithMaintenanceWindow action are required for this request. Optional fields that aren't specified are set to null. + +Required Parameters +{ + "WindowId": "The maintenance window ID that contains the task to modify.", + "WindowTaskId": "The task ID to modify." +} + +Optional Parameters +{ + "LoggingInfo": "The new logging location in Amazon S3 to specify. LoggingInfo has been deprecated. To specify an S3 bucket to contain logs, instead use the OutputS3BucketName and OutputS3KeyPrefix options in the TaskInvocationParameters structure. For information about how Systems Manager handles these options for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters. ", + "TaskArn": "The task ARN to modify.", + "ServiceRoleArn": "The ARN of the IAM service role for Systems Manager to assume when running a maintenance window task. If you do not specify a service role ARN, Systems Manager uses your account's service-linked role. If no service-linked role for Systems Manager exists in your account, it is created when you run RegisterTaskWithMaintenanceWindow. For more information, see the following topics in the in the AWS Systems Manager User Guide: Service-Linked Role Permissions for Systems Manager Should I Use a Service-Linked Role or a Custom Service Role to Run Maintenance Window Tasks? ", + "Name": "The new task name to specify.", + "TaskParameters": "The parameters to modify. TaskParameters has been deprecated. To specify parameters to pass to a task when it runs, instead use the Parameters option in the TaskInvocationParameters structure. For information about how Systems Manager handles these options for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters. The map has the following format: Key: string, between 1 and 255 characters Value: an array of strings, each string is between 1 and 255 characters", + "TaskInvocationParameters": "The parameters that the task should use during execution. Populate only the fields that match the task type. All other fields should be empty.", + "MaxConcurrency": "The new MaxConcurrency value you want to specify. MaxConcurrency is the number of targets that are allowed to run this task in parallel.", + "MaxErrors": "The new MaxErrors value to specify. MaxErrors is the maximum number of errors that are allowed before the task stops being scheduled.", + "Description": "The new task description to specify.", + "Priority": "The new task priority to specify. The lower the number, the higher the priority. Tasks that have the same priority are scheduled in parallel.", + "Targets": "The targets (either instances or tags) to modify. Instances are specified using Key=instanceids,Values=instanceID_1,instanceID_2. Tags are specified using Key=tag_name,Values=tag_value. ", + "Replace": "If True, then all fields that are required by the RegisterTaskWithMaintenanceWndow action are also required for this API request. Optional fields that are not specified are set to null." +} +""" +UpdateMaintenanceWindowTask(args) = ssm("UpdateMaintenanceWindowTask", args) + +""" + ListComplianceItems() + +For a specified resource ID, this API action returns a list of compliance statuses for different resource types. Currently, you can only specify one resource ID per call. List results depend on the criteria specified in the filter. + +Optional Parameters +{ + "MaxResults": "The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.", + "NextToken": "A token to start the list. Use this token to get the next set of results. ", + "ResourceIds": "The ID for the resources from which to get compliance information. Currently, you can only specify one resource ID.", + "ResourceTypes": "The type of resource from which to get compliance information. Currently, the only supported resource type is ManagedInstance.", + "Filters": "One or more compliance filters. Use a filter to return a more specific list of results." +} +""" +ListComplianceItems() = ssm("ListComplianceItems") +ListComplianceItems(args) = ssm("ListComplianceItems", args) + +""" + DescribeEffectiveInstanceAssociations() + +All associations for the instance(s). + +Required Parameters +{ + "InstanceId": "The instance ID for which you want to view all associations." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.", + "NextToken": "The token for the next set of items to return. (You received this token from a previous call.)" +} +""" +DescribeEffectiveInstanceAssociations(args) = ssm("DescribeEffectiveInstanceAssociations", args) + +""" + ListResourceDataSync() + +Lists your resource data sync configurations. Includes information about the last time a sync attempted to start, the last sync status, and the last time a sync successfully completed. The number of sync configurations might be too large to return using a single call to ListResourceDataSync. You can limit the number of sync configurations returned by using the MaxResults parameter. To determine whether there are more sync configurations to list, check the value of NextToken in the output. If there are more sync configurations to list, you can request them by specifying the NextToken returned in the call to the parameter of a subsequent call. + +Optional Parameters +{ + "MaxResults": "The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.", + "NextToken": "A token to start the list. Use this token to get the next set of results. ", + "SyncType": "View a list of resource data syncs according to the sync type. Specify SyncToDestination to view resource data syncs that synchronize data to an Amazon S3 buckets. Specify SyncFromSource to view resource data syncs from AWS Organizations or from multiple AWS Regions. " +} +""" +ListResourceDataSync() = ssm("ListResourceDataSync") +ListResourceDataSync(args) = ssm("ListResourceDataSync", args) + +""" + ListComplianceSummaries() + +Returns a summary count of compliant and non-compliant resources for a compliance type. For example, this call can return State Manager associations, patches, or custom compliance types according to the filter criteria that you specify. + +Optional Parameters +{ + "MaxResults": "The maximum number of items to return for this call. Currently, you can specify null or 50. The call also returns a token that you can specify in a subsequent call to get the next set of results.", + "NextToken": "A token to start the list. Use this token to get the next set of results. ", + "Filters": "One or more compliance or inventory filters. Use a filter to return a more specific list of results." +} +""" +ListComplianceSummaries() = ssm("ListComplianceSummaries") +ListComplianceSummaries(args) = ssm("ListComplianceSummaries", args) + +""" + RegisterTargetWithMaintenanceWindow() + +Registers a target with a maintenance window. + +Required Parameters +{ + "WindowId": "The ID of the maintenance window the target should be registered with.", + "ResourceType": "The type of target being registered with the maintenance window.", + "Targets": "The targets to register with the maintenance window. In other words, the instances to run commands on when the maintenance window runs. You can specify targets using instance IDs, resource group names, or tags that have been applied to instances. Example 1: Specify instance IDs Key=InstanceIds,Values=instance-id-1,instance-id-2,instance-id-3 Example 2: Use tag key-pairs applied to instances Key=tag:my-tag-key,Values=my-tag-value-1,my-tag-value-2 Example 3: Use tag-keys applied to instances Key=tag-key,Values=my-tag-key-1,my-tag-key-2 Example 4: Use resource group names Key=resource-groups:Name,Values=resource-group-name Example 5: Use filters for resource group types Key=resource-groups:ResourceTypeFilters,Values=resource-type-1,resource-type-2 For Key=resource-groups:ResourceTypeFilters, specify resource types in the following format Key=resource-groups:ResourceTypeFilters,Values=AWS::EC2::INSTANCE,AWS::EC2::VPC For more information about these examples formats, including the best use case for each one, see Examples: Register Targets with a Maintenance Window in the AWS Systems Manager User Guide." +} + +Optional Parameters +{ + "Description": "An optional description for the target.", + "OwnerInformation": "User-provided value that will be included in any CloudWatch events raised while running tasks for these targets in this maintenance window.", + "ClientToken": "User-provided idempotency token.", + "Name": "An optional name for the target." +} +""" +RegisterTargetWithMaintenanceWindow(args) = ssm("RegisterTargetWithMaintenanceWindow", args) + +""" + GetParametersByPath() + +Retrieve information about one or more parameters in a specific hierarchy. Request results are returned on a best-effort basis. If you specify MaxResults in the request, the response includes information up to the limit specified. The number of items returned, however, can be between zero and the value of MaxResults. If the service reaches an internal limit while processing the results, it stops the operation and returns the matching values up to that point and a NextToken. You can specify the NextToken in a subsequent call to get the next set of results. + +Required Parameters +{ + "Path": "The hierarchy for the parameter. Hierarchies start with a forward slash (/) and end with the parameter name. A parameter name hierarchy can have a maximum of 15 levels. Here is an example of a hierarchy: /Finance/Prod/IAD/WinServ2016/license33 " +} + +Optional Parameters +{ + "Recursive": "Retrieve all parameters within a hierarchy. If a user has access to a path, then the user can access all levels of that path. For example, if a user has permission to access path /a, then the user can also access /a/b. Even if a user has explicitly been denied access in IAM for parameter /a/b, they can still call the GetParametersByPath API action recursively for /a and view /a/b. ", + "MaxResults": "The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.", + "NextToken": "A token to start the list. Use this token to get the next set of results. ", + "ParameterFilters": "Filters to limit the request results.", + "WithDecryption": "Retrieve all parameters in a hierarchy with their value decrypted." +} +""" +GetParametersByPath(args) = ssm("GetParametersByPath", args) + +""" + StartAutomationExecution() + +Initiates execution of an Automation document. + +Required Parameters +{ + "DocumentName": "The name of the Automation document to use for this execution." +} + +Optional Parameters +{ + "TargetParameterName": "The name of the parameter used as the target resource for the rate-controlled execution. Required if you specify targets.", + "TargetMaps": "A key-value mapping of document parameters to target resources. Both Targets and TargetMaps cannot be specified together.", + "Mode": "The execution mode of the automation. Valid modes include the following: Auto and Interactive. The default mode is Auto.", + "DocumentVersion": "The version of the Automation document to use for this execution.", + "Tags": "Optional metadata that you assign to a resource. You can specify a maximum of five tags for an automation. Tags enable you to categorize a resource in different ways, such as by purpose, owner, or environment. For example, you might want to tag an automation to identify an environment or operating system. In this case, you could specify the following key name/value pairs: Key=environment,Value=test Key=OS,Value=Windows To add tags to an existing patch baseline, use the AddTagsToResource action. ", + "ClientToken": "User-provided idempotency token. The token must be unique, is case insensitive, enforces the UUID format, and can't be reused.", + "MaxConcurrency": "The maximum number of targets allowed to run this task in parallel. You can specify a number, such as 10, or a percentage, such as 10%. The default value is 10.", + "MaxErrors": "The number of errors that are allowed before the system stops running the automation on additional targets. You can specify either an absolute number of errors, for example 10, or a percentage of the target set, for example 10%. If you specify 3, for example, the system stops running the automation when the fourth error is received. If you specify 0, then the system stops running the automation on additional targets after the first error result is returned. If you run an automation on 50 resources and set max-errors to 10%, then the system stops running the automation on additional targets when the sixth error is received. Executions that are already running an automation when max-errors is reached are allowed to complete, but some of these executions may fail as well. If you need to ensure that there won't be more than max-errors failed executions, set max-concurrency to 1 so the executions proceed one at a time.", + "TargetLocations": "A location is a combination of AWS Regions and/or AWS accounts where you want to run the Automation. Use this action to start an Automation in multiple Regions and multiple accounts. For more information, see Executing Automations in Multiple AWS Regions and Accounts in the AWS Systems Manager User Guide. ", + "Parameters": "A key-value map of execution parameters, which match the declared parameters in the Automation document.", + "Targets": "A key-value mapping to target resources. Required if you specify TargetParameterName." +} +""" +StartAutomationExecution(args) = ssm("StartAutomationExecution", args) + +""" + DescribeAutomationStepExecutions() + +Information about all active and terminated step executions in an Automation workflow. + +Required Parameters +{ + "AutomationExecutionId": "The Automation execution ID for which you want step execution descriptions." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.", + "NextToken": "The token for the next set of items to return. (You received this token from a previous call.)", + "ReverseOrder": "A boolean that indicates whether to list step executions in reverse order by start time. The default value is false.", + "Filters": "One or more filters to limit the number of step executions returned by the request." +} +""" +DescribeAutomationStepExecutions(args) = ssm("DescribeAutomationStepExecutions", args) + +""" + DescribeMaintenanceWindowSchedule() + +Retrieves information about upcoming executions of a maintenance window. + +Optional Parameters +{ + "MaxResults": "The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.", + "WindowId": "The ID of the maintenance window to retrieve information about.", + "NextToken": "The token for the next set of items to return. (You received this token from a previous call.)", + "ResourceType": "The type of resource you want to retrieve information about. For example, \"INSTANCE\".", + "Targets": "The instance ID or key/value pair to retrieve information about.", + "Filters": "Filters used to limit the range of results. For example, you can limit maintenance window executions to only those scheduled before or after a certain date and time." +} +""" +DescribeMaintenanceWindowSchedule() = ssm("DescribeMaintenanceWindowSchedule") +DescribeMaintenanceWindowSchedule(args) = ssm("DescribeMaintenanceWindowSchedule", args) + +""" + GetCalendarState() + +Gets the state of the AWS Systems Manager Change Calendar at an optional, specified time. If you specify a time, GetCalendarState returns the state of the calendar at a specific time, and returns the next time that the Change Calendar state will transition. If you do not specify a time, GetCalendarState assumes the current time. Change Calendar entries have two possible states: OPEN or CLOSED. For more information about Systems Manager Change Calendar, see AWS Systems Manager Change Calendar in the AWS Systems Manager User Guide. + +Required Parameters +{ + "CalendarNames": "The names or Amazon Resource Names (ARNs) of the Systems Manager documents that represent the calendar entries for which you want to get the state." +} + +Optional Parameters +{ + "AtTime": "(Optional) The specific time for which you want to get calendar state information, in ISO 8601 format. If you do not add AtTime, the current time is assumed." +} +""" +GetCalendarState(args) = ssm("GetCalendarState", args) + +""" + DescribeInventoryDeletions() + +Describes a specific delete inventory operation. + +Optional Parameters +{ + "MaxResults": "The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.", + "NextToken": "A token to start the list. Use this token to get the next set of results. ", + "DeletionId": "Specify the delete inventory ID for which you want information. This ID was returned by the DeleteInventory action." +} +""" +DescribeInventoryDeletions() = ssm("DescribeInventoryDeletions") +DescribeInventoryDeletions(args) = ssm("DescribeInventoryDeletions", args) + +""" + DescribeInstanceInformation() + +Describes one or more of your instances. You can use this to get information about instances like the operating system platform, the SSM Agent version (Linux), status etc. If you specify one or more instance IDs, it returns information for those instances. If you do not specify instance IDs, it returns information for all your instances. If you specify an instance ID that is not valid or an instance that you do not own, you receive an error. The IamRole field for this API action is the Amazon Identity and Access Management (IAM) role assigned to on-premises instances. This call does not return the IAM role for Amazon EC2 instances. + +Optional Parameters +{ + "MaxResults": "The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results. ", + "NextToken": "The token for the next set of items to return. (You received this token from a previous call.)", + "Filters": "One or more filters. Use a filter to return a more specific list of instances. You can filter on Amazon EC2 tag. Specify tags by using a key-value mapping.", + "InstanceInformationFilterList": "This is a legacy method. We recommend that you don't use this method. Instead, use the InstanceInformationFilter action. The InstanceInformationFilter action enables you to return instance information by using tags that are specified as a key-value mapping. If you do use this method, then you can't use the InstanceInformationFilter action. Using this method and the InstanceInformationFilter action causes an exception error. " +} +""" +DescribeInstanceInformation() = ssm("DescribeInstanceInformation") +DescribeInstanceInformation(args) = ssm("DescribeInstanceInformation", args) + +""" + RegisterTaskWithMaintenanceWindow() + +Adds a new task to a maintenance window. + +Required Parameters +{ + "MaxConcurrency": "The maximum number of targets this task can be run for in parallel.", + "WindowId": "The ID of the maintenance window the task should be added to.", + "MaxErrors": "The maximum number of errors allowed before this task stops being scheduled.", + "TaskType": "The type of task being registered.", + "TaskArn": "The ARN of the task to run.", + "Targets": "The targets (either instances or maintenance window targets). Specify instances using the following format: Key=InstanceIds,Values=<instance-id-1>,<instance-id-2> Specify maintenance window targets using the following format: Key=WindowTargetIds;,Values=<window-target-id-1>,<window-target-id-2> " +} + +Optional Parameters +{ + "TaskInvocationParameters": "The parameters that the task should use during execution. Populate only the fields that match the task type. All other fields should be empty. ", + "Description": "An optional description for the task.", + "LoggingInfo": "A structure containing information about an Amazon S3 bucket to write instance-level logs to. LoggingInfo has been deprecated. To specify an S3 bucket to contain logs, instead use the OutputS3BucketName and OutputS3KeyPrefix options in the TaskInvocationParameters structure. For information about how Systems Manager handles these options for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters. ", + "Priority": "The priority of the task in the maintenance window, the lower the number the higher the priority. Tasks in a maintenance window are scheduled in priority order with tasks that have the same priority scheduled in parallel.", + "ServiceRoleArn": "The ARN of the IAM service role for Systems Manager to assume when running a maintenance window task. If you do not specify a service role ARN, Systems Manager uses your account's service-linked role. If no service-linked role for Systems Manager exists in your account, it is created when you run RegisterTaskWithMaintenanceWindow. For more information, see the following topics in the in the AWS Systems Manager User Guide: Service-Linked Role Permissions for Systems Manager Should I Use a Service-Linked Role or a Custom Service Role to Run Maintenance Window Tasks? ", + "ClientToken": "User-provided idempotency token.", + "Name": "An optional name for the task.", + "TaskParameters": "The parameters that should be passed to the task when it is run. TaskParameters has been deprecated. To specify parameters to pass to a task when it runs, instead use the Parameters option in the TaskInvocationParameters structure. For information about how Systems Manager handles these options for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters. " +} +""" +RegisterTaskWithMaintenanceWindow(args) = ssm("RegisterTaskWithMaintenanceWindow", args) + +""" + UpdateDocument() + +Updates one or more values for an SSM document. + +Required Parameters +{ + "Content": "A valid JSON or YAML string.", + "Name": "The name of the document that you want to update." +} + +Optional Parameters +{ + "TargetType": "Specify a new target type for the document.", + "Attachments": "A list of key and value pairs that describe attachments to a version of a document.", + "DocumentVersion": "(Required) The version of the document that you want to update. ", + "DocumentFormat": "Specify the document format for the new document version. Systems Manager supports JSON and YAML documents. JSON is the default format.", + "VersionName": "An optional field specifying the version of the artifact you are updating with the document. For example, \"Release 12, Update 6\". This value is unique across all versions of a document, and cannot be changed." +} +""" +UpdateDocument(args) = ssm("UpdateDocument", args) + +""" + DescribeMaintenanceWindowExecutionTaskInvocations() + +Retrieves the individual task executions (one per target) for a particular task run as part of a maintenance window execution. + +Required Parameters +{ + "TaskId": "The ID of the specific task in the maintenance window task that should be retrieved.", + "WindowExecutionId": "The ID of the maintenance window execution the task is part of." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.", + "NextToken": "The token for the next set of items to return. (You received this token from a previous call.)", + "Filters": "Optional filters used to scope down the returned task invocations. The supported filter key is STATUS with the corresponding values PENDING, IN_PROGRESS, SUCCESS, FAILED, TIMED_OUT, CANCELLING, and CANCELLED." +} +""" +DescribeMaintenanceWindowExecutionTaskInvocations(args) = ssm("DescribeMaintenanceWindowExecutionTaskInvocations", args) + +""" + UpdateMaintenanceWindow() + +Updates an existing maintenance window. Only specified parameters are modified. The value you specify for Duration determines the specific end time for the maintenance window based on the time it begins. No maintenance window tasks are permitted to start after the resulting endtime minus the number of hours you specify for Cutoff. For example, if the maintenance window starts at 3 PM, the duration is three hours, and the value you specify for Cutoff is one hour, no maintenance window tasks can start after 5 PM. + +Required Parameters +{ + "WindowId": "The ID of the maintenance window to update." +} + +Optional Parameters +{ + "EndDate": "The date and time, in ISO-8601 Extended format, for when you want the maintenance window to become inactive. EndDate allows you to set a date and time in the future when the maintenance window will no longer run.", + "StartDate": "The time zone that the scheduled maintenance window executions are based on, in Internet Assigned Numbers Authority (IANA) format. For example: \"America/Los_Angeles\", \"etc/UTC\", or \"Asia/Seoul\". For more information, see the Time Zone Database on the IANA website.", + "Duration": "The duration of the maintenance window in hours.", + "Name": "The name of the maintenance window.", + "Schedule": "The schedule of the maintenance window in the form of a cron or rate expression.", + "AllowUnassociatedTargets": "Whether targets must be registered with the maintenance window before tasks can be defined for those targets.", + "Description": "An optional description for the update request.", + "Cutoff": "The number of hours before the end of the maintenance window that Systems Manager stops scheduling new tasks for execution.", + "ScheduleTimezone": "The time zone that the scheduled maintenance window executions are based on, in Internet Assigned Numbers Authority (IANA) format. For example: \"America/Los_Angeles\", \"etc/UTC\", or \"Asia/Seoul\". For more information, see the Time Zone Database on the IANA website.", + "Enabled": "Whether the maintenance window is enabled.", + "Replace": "If True, then all fields that are required by the CreateMaintenanceWindow action are also required for this API request. Optional fields that are not specified are set to null. " +} +""" +UpdateMaintenanceWindow(args) = ssm("UpdateMaintenanceWindow", args) + +""" + CreateDocument() + +Creates a Systems Manager document. After you create a document, you can use CreateAssociation to associate it with one or more running instances. + +Required Parameters +{ + "Content": "A valid JSON or YAML string.", + "Name": "A name for the Systems Manager document. Do not use the following to begin the names of documents you create. They are reserved by AWS for use as document prefixes: aws amazon amzn " +} + +Optional Parameters +{ + "TargetType": "Specify a target type to define the kinds of resources the document can run on. For example, to run a document on EC2 instances, specify the following value: /AWS::EC2::Instance. If you specify a value of '/' the document can run on all types of resources. If you don't specify a value, the document can't run on any resources. For a list of valid resource types, see AWS Resource Types Reference in the AWS CloudFormation User Guide. ", + "Attachments": "A list of key and value pairs that describe attachments to a version of a document.", + "DocumentType": "The type of document to create.", + "DocumentFormat": "Specify the document format for the request. The document format can be JSON, YAML, or TEXT. JSON is the default format.", + "VersionName": "An optional field specifying the version of the artifact you are creating with the document. For example, \"Release 12, Update 6\". This value is unique across all versions of a document, and cannot be changed.", + "Tags": "Optional metadata that you assign to a resource. Tags enable you to categorize a resource in different ways, such as by purpose, owner, or environment. For example, you might want to tag an SSM document to identify the types of targets or the environment where it will run. In this case, you could specify the following key name/value pairs: Key=OS,Value=Windows Key=Environment,Value=Production To add tags to an existing SSM document, use the AddTagsToResource action. ", + "Requires": "A list of SSM documents required by a document. For example, an ApplicationConfiguration document requires an ApplicationConfigurationSchema document." +} +""" +CreateDocument(args) = ssm("CreateDocument", args) + +""" + CreateAssociationBatch() + +Associates the specified Systems Manager document with the specified instances or targets. When you associate a document with one or more instances using instance IDs or tags, SSM Agent running on the instance processes the document and configures the instance as specified. If you associate a document with an instance that already has an associated document, the system returns the AssociationAlreadyExists exception. + +Required Parameters +{ + "Entries": "One or more associations." +} +""" +CreateAssociationBatch(args) = ssm("CreateAssociationBatch", args) + +""" + CreateOpsItem() + +Creates a new OpsItem. You must have permission in AWS Identity and Access Management (IAM) to create a new OpsItem. For more information, see Getting Started with OpsCenter in the AWS Systems Manager User Guide. Operations engineers and IT professionals use OpsCenter to view, investigate, and remediate operational issues impacting the performance and health of their AWS resources. For more information, see AWS Systems Manager OpsCenter in the AWS Systems Manager User Guide. + +Required Parameters +{ + "Description": "Information about the OpsItem. ", + "Source": "The origin of the OpsItem, such as Amazon EC2 or AWS Systems Manager.", + "Title": "A short heading that describes the nature of the OpsItem and the impacted resource." +} + +Optional Parameters +{ + "OperationalData": "Operational data is custom data that provides useful reference details about the OpsItem. For example, you can specify log files, error strings, license keys, troubleshooting tips, or other relevant data. You enter operational data as key-value pairs. The key has a maximum length of 128 characters. The value has a maximum size of 20 KB. Operational data keys can't begin with the following: amazon, aws, amzn, ssm, /amazon, /aws, /amzn, /ssm. You can choose to make the data searchable by other users in the account or you can restrict search access. Searchable data means that all users with access to the OpsItem Overview page (as provided by the DescribeOpsItems API action) can view and search on the specified data. Operational data that is not searchable is only viewable by users who have access to the OpsItem (as provided by the GetOpsItem API action). Use the /aws/resources key in OperationalData to specify a related resource in the request. Use the /aws/automations key in OperationalData to associate an Automation runbook with the OpsItem. To view AWS CLI example commands that use these keys, see Creating OpsItems Manually in the AWS Systems Manager User Guide.", + "Tags": "Optional metadata that you assign to a resource. You can restrict access to OpsItems by using an inline IAM policy that specifies tags. For more information, see Getting Started with OpsCenter in the AWS Systems Manager User Guide. Tags use a key-value pair. For example: Key=Department,Value=Finance To add tags to an existing OpsItem, use the AddTagsToResource action. ", + "Notifications": "The Amazon Resource Name (ARN) of an SNS topic where notifications are sent when this OpsItem is edited or changed.", + "Priority": "The importance of this OpsItem in relation to other OpsItems in the system.", + "RelatedOpsItems": "One or more OpsItems that share something in common with the current OpsItems. For example, related OpsItems can include OpsItems with similar error messages, impacted resources, or statuses for the impacted resource.", + "Category": "Specify a category to assign to an OpsItem. ", + "Severity": "Specify a severity to assign to an OpsItem." +} +""" +CreateOpsItem(args) = ssm("CreateOpsItem", args) + +""" + ListTagsForResource() + +Returns a list of the tags assigned to the specified resource. + +Required Parameters +{ + "ResourceType": "Returns a list of tags for a specific resource type.", + "ResourceId": "The resource ID for which you want to see a list of tags." +} +""" +ListTagsForResource(args) = ssm("ListTagsForResource", args) + +""" + DescribeMaintenanceWindowTargets() + +Lists the targets registered with the maintenance window. + +Required Parameters +{ + "WindowId": "The ID of the maintenance window whose targets should be retrieved." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.", + "NextToken": "The token for the next set of items to return. (You received this token from a previous call.)", + "Filters": "Optional filters that can be used to narrow down the scope of the returned window targets. The supported filter keys are Type, WindowTargetId and OwnerInformation." +} +""" +DescribeMaintenanceWindowTargets(args) = ssm("DescribeMaintenanceWindowTargets", args) + +""" + DescribeParameters() + +Get information about a parameter. Request results are returned on a best-effort basis. If you specify MaxResults in the request, the response includes information up to the limit specified. The number of items returned, however, can be between zero and the value of MaxResults. If the service reaches an internal limit while processing the results, it stops the operation and returns the matching values up to that point and a NextToken. You can specify the NextToken in a subsequent call to get the next set of results. + +Optional Parameters +{ + "MaxResults": "The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.", + "NextToken": "The token for the next set of items to return. (You received this token from a previous call.)", + "ParameterFilters": "Filters to limit the request results.", + "Filters": "This data type is deprecated. Instead, use ParameterFilters." +} +""" +DescribeParameters() = ssm("DescribeParameters") +DescribeParameters(args) = ssm("DescribeParameters", args) + +""" + DescribeAutomationExecutions() + +Provides details about all active and terminated Automation executions. + +Optional Parameters +{ + "MaxResults": "The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.", + "NextToken": "The token for the next set of items to return. (You received this token from a previous call.)", + "Filters": "Filters used to limit the scope of executions that are requested." +} +""" +DescribeAutomationExecutions() = ssm("DescribeAutomationExecutions") +DescribeAutomationExecutions(args) = ssm("DescribeAutomationExecutions", args) + +""" + GetAutomationExecution() + +Get detailed information about a particular Automation execution. + +Required Parameters +{ + "AutomationExecutionId": "The unique identifier for an existing automation execution to examine. The execution ID is returned by StartAutomationExecution when the execution of an Automation document is initiated." +} +""" +GetAutomationExecution(args) = ssm("GetAutomationExecution", args) + +""" + GetDeployablePatchSnapshotForInstance() + +Retrieves the current snapshot for the patch baseline the instance uses. This API is primarily used by the AWS-RunPatchBaseline Systems Manager document. + +Required Parameters +{ + "SnapshotId": "The user-defined snapshot ID.", + "InstanceId": "The ID of the instance for which the appropriate patch snapshot should be retrieved." +} +""" +GetDeployablePatchSnapshotForInstance(args) = ssm("GetDeployablePatchSnapshotForInstance", args) + +""" + ResumeSession() + +Reconnects a session to an instance after it has been disconnected. Connections can be resumed for disconnected sessions, but not terminated sessions. This command is primarily for use by client machines to automatically reconnect during intermittent network issues. It is not intended for any other use. + +Required Parameters +{ + "SessionId": "The ID of the disconnected session to resume." +} +""" +ResumeSession(args) = ssm("ResumeSession", args) + +""" + DeregisterTaskFromMaintenanceWindow() + +Removes a task from a maintenance window. + +Required Parameters +{ + "WindowId": "The ID of the maintenance window the task should be removed from.", + "WindowTaskId": "The ID of the task to remove from the maintenance window." +} +""" +DeregisterTaskFromMaintenanceWindow(args) = ssm("DeregisterTaskFromMaintenanceWindow", args) + +""" + DescribeAssociationExecutions() + +Use this API action to view all executions for a specific association ID. + +Required Parameters +{ + "AssociationId": "The association ID for which you want to view execution history details." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.", + "NextToken": "A token to start the list. Use this token to get the next set of results. ", + "Filters": "Filters for the request. You can specify the following filters and values. ExecutionId (EQUAL) Status (EQUAL) CreatedTime (EQUAL, GREATER_THAN, LESS_THAN)" +} +""" +DescribeAssociationExecutions(args) = ssm("DescribeAssociationExecutions", args) + +""" + DeleteInventory() + +Delete a custom inventory type, or the data associated with a custom Inventory type. Deleting a custom inventory type is also referred to as deleting a custom inventory schema. + +Required Parameters +{ + "TypeName": "The name of the custom inventory type for which you want to delete either all previously collected data, or the inventory type itself. " +} + +Optional Parameters +{ + "DryRun": "Use this option to view a summary of the deletion request without deleting any data or the data type. This option is useful when you only want to understand what will be deleted. Once you validate that the data to be deleted is what you intend to delete, you can run the same command without specifying the DryRun option.", + "ClientToken": "User-provided idempotency token.", + "SchemaDeleteOption": "Use the SchemaDeleteOption to delete a custom inventory type (schema). If you don't choose this option, the system only deletes existing inventory data associated with the custom inventory type. Choose one of the following options: DisableSchema: If you choose this option, the system ignores all inventory data for the specified version, and any earlier versions. To enable this schema again, you must call the PutInventory action for a version greater than the disabled version. DeleteSchema: This option deletes the specified custom type from the Inventory service. You can recreate the schema later, if you want." +} +""" +DeleteInventory(args) = ssm("DeleteInventory", args) + +""" + DeleteParameter() + +Delete a parameter from the system. + +Required Parameters +{ + "Name": "The name of the parameter to delete." +} +""" +DeleteParameter(args) = ssm("DeleteParameter", args) + +""" + DescribeEffectivePatchesForPatchBaseline() + +Retrieves the current effective patches (the patch and the approval state) for the specified patch baseline. Note that this API applies only to Windows patch baselines. + +Required Parameters +{ + "BaselineId": "The ID of the patch baseline to retrieve the effective patches for." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of patches to return (per page).", + "NextToken": "The token for the next set of items to return. (You received this token from a previous call.)" +} +""" +DescribeEffectivePatchesForPatchBaseline(args) = ssm("DescribeEffectivePatchesForPatchBaseline", args) + +""" + DescribeDocumentPermission() + +Describes the permissions for a Systems Manager document. If you created the document, you are the owner. If a document is shared, it can either be shared privately (by specifying a user's AWS account ID) or publicly (All). + +Required Parameters +{ + "PermissionType": "The permission type for the document. The permission type can be Share.", + "Name": "The name of the document for which you are the owner." +} +""" +DescribeDocumentPermission(args) = ssm("DescribeDocumentPermission", args) + +""" + ListAssociations() + +Returns all State Manager associations in the current AWS account and Region. You can limit the results to a specific State Manager association document or instance by specifying a filter. + +Optional Parameters +{ + "MaxResults": "The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.", + "NextToken": "The token for the next set of items to return. (You received this token from a previous call.)", + "AssociationFilterList": "One or more filters. Use a filter to return a more specific list of results." +} +""" +ListAssociations() = ssm("ListAssociations") +ListAssociations(args) = ssm("ListAssociations", args) + +""" + ListInventoryEntries() + +A list of inventory items returned by the request. + +Required Parameters +{ + "InstanceId": "The instance ID for which you want inventory information.", + "TypeName": "The type of inventory item for which you want information." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.", + "NextToken": "The token for the next set of items to return. (You received this token from a previous call.)", + "Filters": "One or more filters. Use a filter to return a more specific list of results." +} +""" +ListInventoryEntries(args) = ssm("ListInventoryEntries", args) + +""" + AddTagsToResource() + +Adds or overwrites one or more tags for the specified resource. Tags are metadata that you can assign to your documents, managed instances, maintenance windows, Parameter Store parameters, and patch baselines. Tags enable you to categorize your resources in different ways, for example, by purpose, owner, or environment. Each tag consists of a key and an optional value, both of which you define. For example, you could define a set of tags for your account's managed instances that helps you track each instance's owner and stack level. For example: Key=Owner and Value=DbAdmin, SysAdmin, or Dev. Or Key=Stack and Value=Production, Pre-Production, or Test. Each resource can have a maximum of 50 tags. We recommend that you devise a set of tag keys that meets your needs for each resource type. Using a consistent set of tag keys makes it easier for you to manage your resources. You can search and filter the resources based on the tags you add. Tags don't have any semantic meaning to Amazon EC2 and are interpreted strictly as a string of characters. For more information about tags, see Tagging Your Amazon EC2 Resources in the Amazon EC2 User Guide. + +Required Parameters +{ + "Tags": " One or more tags. The value parameter is required, but if you don't want the tag to have a value, specify the parameter with no value, and we set the value to an empty string. Do not enter personally identifiable information in this field. ", + "ResourceType": "Specifies the type of resource you are tagging. The ManagedInstance type for this API action is for on-premises managed instances. You must specify the name of the managed instance in the following format: mi-ID_number. For example, mi-1a2b3c4d5e6f. ", + "ResourceId": "The resource ID you want to tag. Use the ID of the resource. Here are some examples: ManagedInstance: mi-012345abcde MaintenanceWindow: mw-012345abcde PatchBaseline: pb-012345abcde For the Document and Parameter values, use the name of the resource. The ManagedInstance type for this API action is only for on-premises managed instances. You must specify the name of the managed instance in the following format: mi-ID_number. For example, mi-1a2b3c4d5e6f. " +} +""" +AddTagsToResource(args) = ssm("AddTagsToResource", args) + +""" + SendCommand() + +Runs commands on one or more managed instances. + +Required Parameters +{ + "DocumentName": "Required. The name of the Systems Manager document to run. This can be a public document or a custom document." +} + +Optional Parameters +{ + "Comment": "User-specified information about the command, such as a brief description of what the command should do.", + "DocumentHashType": "Sha256 or Sha1. Sha1 hashes have been deprecated. ", + "OutputS3Region": "(Deprecated) You can no longer specify this parameter. The system ignores it. Instead, Systems Manager automatically determines the Amazon S3 bucket region.", + "DocumentVersion": "The SSM document version to use in the request. You can specify DEFAULT, LATEST, or a specific version number. If you run commands by using the AWS CLI, then you must escape the first two options by using a backslash. If you specify a version number, then you don't need to use the backslash. For example: --document-version \" DEFAULT\" --document-version \" LATEST\" --document-version \"3\"", + "CloudWatchOutputConfig": "Enables Systems Manager to send Run Command output to Amazon CloudWatch Logs. ", + "ServiceRoleArn": "The ARN of the IAM service role to use to publish Amazon Simple Notification Service (Amazon SNS) notifications for Run Command commands.", + "TimeoutSeconds": "If this time is reached and the command has not already started running, it will not run.", + "InstanceIds": "The instance IDs where the command should run. You can specify a maximum of 50 IDs. If you prefer not to list individual instance IDs, you can instead send commands to a fleet of instances using the Targets parameter, which accepts EC2 tags. For more information about how to use targets, see Sending Commands to a Fleet in the AWS Systems Manager User Guide.", + "MaxConcurrency": "(Optional) The maximum number of instances that are allowed to run the command at the same time. You can specify a number such as 10 or a percentage such as 10%. The default value is 50. For more information about how to use MaxConcurrency, see Using Concurrency Controls in the AWS Systems Manager User Guide.", + "MaxErrors": "The maximum number of errors allowed without the command failing. When the command fails one more time beyond the value of MaxErrors, the systems stops sending the command to additional targets. You can specify a number like 10 or a percentage like 10%. The default value is 0. For more information about how to use MaxErrors, see Using Error Controls in the AWS Systems Manager User Guide.", + "OutputS3KeyPrefix": "The directory structure within the S3 bucket where the responses should be stored.", + "Parameters": "The required and optional parameters specified in the document being run.", + "NotificationConfig": "Configurations for sending notifications.", + "Targets": "(Optional) An array of search criteria that targets instances using a Key,Value combination that you specify. Targets is required if you don't provide one or more instance IDs in the call. For more information about how to use targets, see Sending Commands to a Fleet in the AWS Systems Manager User Guide.", + "DocumentHash": "The Sha256 or Sha1 hash created by the system when the document was created. Sha1 hashes have been deprecated. ", + "OutputS3BucketName": "The name of the S3 bucket where command execution responses should be stored." +} +""" +SendCommand(args) = ssm("SendCommand", args) + +""" + RemoveTagsFromResource() + +Removes tag keys from the specified resource. + +Required Parameters +{ + "ResourceType": "The type of resource from which you want to remove a tag. The ManagedInstance type for this API action is only for on-premises managed instances. Specify the name of the managed instance in the following format: mi-ID_number. For example, mi-1a2b3c4d5e6f. ", + "ResourceId": "The ID of the resource from which you want to remove tags. For example: ManagedInstance: mi-012345abcde MaintenanceWindow: mw-012345abcde PatchBaseline: pb-012345abcde For the Document and Parameter values, use the name of the resource. The ManagedInstance type for this API action is only for on-premises managed instances. Specify the name of the managed instance in the following format: mi-ID_number. For example, mi-1a2b3c4d5e6f. ", + "TagKeys": "Tag keys that you want to remove from the specified resource." +} +""" +RemoveTagsFromResource(args) = ssm("RemoveTagsFromResource", args) + +""" + StartSession() + +Initiates a connection to a target (for example, an instance) for a Session Manager session. Returns a URL and token that can be used to open a WebSocket connection for sending input and receiving outputs. AWS CLI usage: start-session is an interactive command that requires the Session Manager plugin to be installed on the client machine making the call. For information, see Install the Session Manager Plugin for the AWS CLI in the AWS Systems Manager User Guide. AWS Tools for PowerShell usage: Start-SSMSession is not currently supported by AWS Tools for PowerShell on Windows local machines. + +Required Parameters +{ + "Target": "The instance to connect to for the session." +} + +Optional Parameters +{ + "DocumentName": "The name of the SSM document to define the parameters and plugin settings for the session. For example, SSM-SessionManagerRunShell. If no document name is provided, a shell to the instance is launched by default.", + "Parameters": "Reserved for future use." +} +""" +StartSession(args) = ssm("StartSession", args) + +""" + CancelCommand() + +Attempts to cancel the command specified by the Command ID. There is no guarantee that the command will be terminated and the underlying process stopped. + +Required Parameters +{ + "CommandId": "The ID of the command you want to cancel." +} + +Optional Parameters +{ + "InstanceIds": "(Optional) A list of instance IDs on which you want to cancel the command. If not provided, the command is canceled on every instance on which it was requested." +} +""" +CancelCommand(args) = ssm("CancelCommand", args) + +""" + DeregisterPatchBaselineForPatchGroup() + +Removes a patch group from a patch baseline. + +Required Parameters +{ + "BaselineId": "The ID of the patch baseline to deregister the patch group from.", + "PatchGroup": "The name of the patch group that should be deregistered from the patch baseline." +} +""" +DeregisterPatchBaselineForPatchGroup(args) = ssm("DeregisterPatchBaselineForPatchGroup", args) + +""" + DescribeAssociationExecutionTargets() + +Use this API action to view information about a specific execution of a specific association. + +Required Parameters +{ + "AssociationId": "The association ID that includes the execution for which you want to view details.", + "ExecutionId": "The execution ID for which you want to view details." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.", + "NextToken": "A token to start the list. Use this token to get the next set of results. ", + "Filters": "Filters for the request. You can specify the following filters and values. Status (EQUAL) ResourceId (EQUAL) ResourceType (EQUAL)" +} +""" +DescribeAssociationExecutionTargets(args) = ssm("DescribeAssociationExecutionTargets", args) + +""" + DescribePatchProperties() + +Lists the properties of available patches organized by product, product family, classification, severity, and other properties of available patches. You can use the reported properties in the filters you specify in requests for actions such as CreatePatchBaseline, UpdatePatchBaseline, DescribeAvailablePatches, and DescribePatchBaselines. The following section lists the properties that can be used in filters for each major operating system type: WINDOWS Valid properties: PRODUCT, PRODUCT_FAMILY, CLASSIFICATION, MSRC_SEVERITY AMAZON_LINUX Valid properties: PRODUCT, CLASSIFICATION, SEVERITY AMAZON_LINUX_2 Valid properties: PRODUCT, CLASSIFICATION, SEVERITY UBUNTU Valid properties: PRODUCT, PRIORITY REDHAT_ENTERPRISE_LINUX Valid properties: PRODUCT, CLASSIFICATION, SEVERITY SUSE Valid properties: PRODUCT, CLASSIFICATION, SEVERITY CENTOS Valid properties: PRODUCT, CLASSIFICATION, SEVERITY + +Required Parameters +{ + "OperatingSystem": "The operating system type for which to list patches.", + "Property": "The patch property for which you want to view patch details. " +} + +Optional Parameters +{ + "MaxResults": "The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.", + "NextToken": "The token for the next set of items to return. (You received this token from a previous call.)", + "PatchSet": "Indicates whether to list patches for the Windows operating system or for Microsoft applications. Not applicable for Linux operating systems." +} +""" +DescribePatchProperties(args) = ssm("DescribePatchProperties", args) + +""" + RegisterPatchBaselineForPatchGroup() + +Registers a patch baseline for a patch group. + +Required Parameters +{ + "BaselineId": "The ID of the patch baseline to register the patch group with.", + "PatchGroup": "The name of the patch group that should be registered with the patch baseline." +} +""" +RegisterPatchBaselineForPatchGroup(args) = ssm("RegisterPatchBaselineForPatchGroup", args) + +""" + DescribeDocument() + +Describes the specified Systems Manager document. + +Required Parameters +{ + "Name": "The name of the Systems Manager document." +} + +Optional Parameters +{ + "DocumentVersion": "The document version for which you want information. Can be a specific version or the default version.", + "VersionName": "An optional field specifying the version of the artifact associated with the document. For example, \"Release 12, Update 6\". This value is unique across all versions of a document, and cannot be changed." +} +""" +DescribeDocument(args) = ssm("DescribeDocument", args) + +""" + GetDefaultPatchBaseline() + +Retrieves the default patch baseline. Note that Systems Manager supports creating multiple default patch baselines. For example, you can create a default patch baseline for each operating system. If you do not specify an operating system value, the default patch baseline for Windows is returned. + +Optional Parameters +{ + "OperatingSystem": "Returns the default patch baseline for the specified operating system." +} +""" +GetDefaultPatchBaseline() = ssm("GetDefaultPatchBaseline") +GetDefaultPatchBaseline(args) = ssm("GetDefaultPatchBaseline", args) + +""" + DescribeMaintenanceWindowExecutionTasks() + +For a given maintenance window execution, lists the tasks that were run. + +Required Parameters +{ + "WindowExecutionId": "The ID of the maintenance window execution whose task executions should be retrieved." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.", + "NextToken": "The token for the next set of items to return. (You received this token from a previous call.)", + "Filters": "Optional filters used to scope down the returned tasks. The supported filter key is STATUS with the corresponding values PENDING, IN_PROGRESS, SUCCESS, FAILED, TIMED_OUT, CANCELLING, and CANCELLED. " +} +""" +DescribeMaintenanceWindowExecutionTasks(args) = ssm("DescribeMaintenanceWindowExecutionTasks", args) + +""" + CreateMaintenanceWindow() + +Creates a new maintenance window. The value you specify for Duration determines the specific end time for the maintenance window based on the time it begins. No maintenance window tasks are permitted to start after the resulting endtime minus the number of hours you specify for Cutoff. For example, if the maintenance window starts at 3 PM, the duration is three hours, and the value you specify for Cutoff is one hour, no maintenance window tasks can start after 5 PM. + +Required Parameters +{ + "Schedule": "The schedule of the maintenance window in the form of a cron or rate expression.", + "Cutoff": "The number of hours before the end of the maintenance window that Systems Manager stops scheduling new tasks for execution.", + "Duration": "The duration of the maintenance window in hours.", + "AllowUnassociatedTargets": "Enables a maintenance window task to run on managed instances, even if you have not registered those instances as targets. If enabled, then you must specify the unregistered instances (by instance ID) when you register a task with the maintenance window. If you don't enable this option, then you must specify previously-registered targets when you register a task with the maintenance window.", + "Name": "The name of the maintenance window." +} + +Optional Parameters +{ + "EndDate": "The date and time, in ISO-8601 Extended format, for when you want the maintenance window to become inactive. EndDate allows you to set a date and time in the future when the maintenance window will no longer run.", + "Description": "An optional description for the maintenance window. We recommend specifying a description to help you organize your maintenance windows. ", + "Tags": "Optional metadata that you assign to a resource. Tags enable you to categorize a resource in different ways, such as by purpose, owner, or environment. For example, you might want to tag a maintenance window to identify the type of tasks it will run, the types of targets, and the environment it will run in. In this case, you could specify the following key name/value pairs: Key=TaskType,Value=AgentUpdate Key=OS,Value=Windows Key=Environment,Value=Production To add tags to an existing maintenance window, use the AddTagsToResource action. ", + "StartDate": "The date and time, in ISO-8601 Extended format, for when you want the maintenance window to become active. StartDate allows you to delay activation of the maintenance window until the specified future date.", + "ScheduleTimezone": "The time zone that the scheduled maintenance window executions are based on, in Internet Assigned Numbers Authority (IANA) format. For example: \"America/Los_Angeles\", \"etc/UTC\", or \"Asia/Seoul\". For more information, see the Time Zone Database on the IANA website.", + "ClientToken": "User-provided idempotency token." +} +""" +CreateMaintenanceWindow(args) = ssm("CreateMaintenanceWindow", args) + +""" + UpdateMaintenanceWindowTarget() + +Modifies the target of an existing maintenance window. You can change the following: Name Description Owner IDs for an ID target Tags for a Tag target From any supported tag type to another. The three supported tag types are ID target, Tag target, and resource group. For more information, see Target. If a parameter is null, then the corresponding field is not modified. + +Required Parameters +{ + "WindowId": "The maintenance window ID with which to modify the target.", + "WindowTargetId": "The target ID to modify." +} + +Optional Parameters +{ + "Description": "An optional description for the update.", + "OwnerInformation": "User-provided value that will be included in any CloudWatch events raised while running tasks for these targets in this maintenance window.", + "Targets": "The targets to add or replace.", + "Name": "A name for the update.", + "Replace": "If True, then all fields that are required by the RegisterTargetWithMaintenanceWindow action are also required for this API request. Optional fields that are not specified are set to null." +} +""" +UpdateMaintenanceWindowTarget(args) = ssm("UpdateMaintenanceWindowTarget", args) + +""" + GetParameterHistory() + +Query a list of all parameters used by the AWS account. + +Required Parameters +{ + "Name": "The name of a parameter you want to query." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.", + "NextToken": "The token for the next set of items to return. (You received this token from a previous call.)", + "WithDecryption": "Return decrypted values for secure string parameters. This flag is ignored for String and StringList parameter types." +} +""" +GetParameterHistory(args) = ssm("GetParameterHistory", args) + +""" + GetParameters() + +Get details of a parameter. Don't confuse this API action with the GetParameter API action. + +Required Parameters +{ + "Names": "Names of the parameters for which you want to query information." +} + +Optional Parameters +{ + "WithDecryption": "Return decrypted secure string value. Return decrypted values for secure string parameters. This flag is ignored for String and StringList parameter types." +} +""" +GetParameters(args) = ssm("GetParameters", args) + +""" + CreatePatchBaseline() + +Creates a patch baseline. For information about valid key and value pairs in PatchFilters for each supported operating system type, see PatchFilter. + +Required Parameters +{ + "Name": "The name of the patch baseline." +} + +Optional Parameters +{ + "ApprovedPatchesComplianceLevel": "Defines the compliance level for approved patches. This means that if an approved patch is reported as missing, this is the severity of the compliance violation. The default value is UNSPECIFIED.", + "GlobalFilters": "A set of global filters used to include patches in the baseline.", + "Tags": "Optional metadata that you assign to a resource. Tags enable you to categorize a resource in different ways, such as by purpose, owner, or environment. For example, you might want to tag a patch baseline to identify the severity level of patches it specifies and the operating system family it applies to. In this case, you could specify the following key name/value pairs: Key=PatchSeverity,Value=Critical Key=OS,Value=Windows To add tags to an existing patch baseline, use the AddTagsToResource action. ", + "ClientToken": "User-provided idempotency token.", + "RejectedPatches": "A list of explicitly rejected patches for the baseline. For information about accepted formats for lists of approved patches and rejected patches, see Package Name Formats for Approved and Rejected Patch Lists in the AWS Systems Manager User Guide.", + "RejectedPatchesAction": "The action for Patch Manager to take on patches included in the RejectedPackages list. ALLOW_AS_DEPENDENCY: A package in the Rejected patches list is installed only if it is a dependency of another package. It is considered compliant with the patch baseline, and its status is reported as InstalledOther. This is the default action if no option is specified. BLOCK: Packages in the RejectedPatches list, and packages that include them as dependencies, are not installed under any circumstances. If a package was installed before it was added to the Rejected patches list, it is considered non-compliant with the patch baseline, and its status is reported as InstalledRejected. ", + "ApprovedPatchesEnableNonSecurity": "Indicates whether the list of approved patches includes non-security updates that should be applied to the instances. The default value is 'false'. Applies to Linux instances only.", + "Description": "A description of the patch baseline.", + "ApprovalRules": "A set of rules used to include patches in the baseline.", + "Sources": "Information about the patches to use to update the instances, including target operating systems and source repositories. Applies to Linux instances only.", + "ApprovedPatches": "A list of explicitly approved patches for the baseline. For information about accepted formats for lists of approved patches and rejected patches, see Package Name Formats for Approved and Rejected Patch Lists in the AWS Systems Manager User Guide.", + "OperatingSystem": "Defines the operating system the patch baseline applies to. The Default value is WINDOWS." +} +""" +CreatePatchBaseline(args) = ssm("CreatePatchBaseline", args) + +""" + DeleteDocument() + +Deletes the Systems Manager document and all instance associations to the document. Before you delete the document, we recommend that you use DeleteAssociation to disassociate all instances that are associated with the document. + +Required Parameters +{ + "Name": "The name of the document." +} + +Optional Parameters +{ + "DocumentVersion": "The version of the document that you want to delete. If not provided, all versions of the document are deleted.", + "Force": "Some SSM document types require that you specify a Force flag before you can delete the document. For example, you must specify a Force flag to delete a document of type ApplicationConfigurationSchema. You can restrict access to the Force flag in an AWS Identity and Access Management (IAM) policy.", + "VersionName": "The version name of the document that you want to delete. If not provided, all versions of the document are deleted." +} +""" +DeleteDocument(args) = ssm("DeleteDocument", args) + +""" + ListCommandInvocations() + +An invocation is copy of a command sent to a specific instance. A command can apply to one or more instances. A command invocation applies to one instance. For example, if a user runs SendCommand against three instances, then a command invocation is created for each requested instance ID. ListCommandInvocations provide status about command execution. + +Optional Parameters +{ + "MaxResults": "(Optional) The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.", + "NextToken": "(Optional) The token for the next set of items to return. (You received this token from a previous call.)", + "InstanceId": "(Optional) The command execution details for a specific instance ID.", + "CommandId": "(Optional) The invocations for a specific command ID.", + "Filters": "(Optional) One or more filters. Use a filter to return a more specific list of results. Note that the DocumentName filter is not supported for ListCommandInvocations.", + "Details": "(Optional) If set this returns the response of the command executions and any command output. By default this is set to False. " +} +""" +ListCommandInvocations() = ssm("ListCommandInvocations") +ListCommandInvocations(args) = ssm("ListCommandInvocations", args) + +""" + TerminateSession() + +Permanently ends a session and closes the data connection between the Session Manager client and SSM Agent on the instance. A terminated session cannot be resumed. + +Required Parameters +{ + "SessionId": "The ID of the session to terminate." +} +""" +TerminateSession(args) = ssm("TerminateSession", args) + +""" + CreateResourceDataSync() + +A resource data sync helps you view data from multiple sources in a single location. Systems Manager offers two types of resource data sync: SyncToDestination and SyncFromSource. You can configure Systems Manager Inventory to use the SyncToDestination type to synchronize Inventory data from multiple AWS Regions to a single Amazon S3 bucket. For more information, see Configuring Resource Data Sync for Inventory in the AWS Systems Manager User Guide. You can configure Systems Manager Explorer to use the SyncFromSource type to synchronize operational work items (OpsItems) and operational data (OpsData) from multiple AWS Regions to a single Amazon S3 bucket. This type can synchronize OpsItems and OpsData from multiple AWS accounts and Regions or EntireOrganization by using AWS Organizations. For more information, see Setting Up Explorer to Display Data from Multiple Accounts and Regions in the AWS Systems Manager User Guide. A resource data sync is an asynchronous operation that returns immediately. After a successful initial sync is completed, the system continuously syncs data. To check the status of a sync, use the ListResourceDataSync. By default, data is not encrypted in Amazon S3. We strongly recommend that you enable encryption in Amazon S3 to ensure secure data storage. We also recommend that you secure access to the Amazon S3 bucket by creating a restrictive bucket policy. + +Required Parameters +{ + "SyncName": "A name for the configuration." +} + +Optional Parameters +{ + "SyncSource": "Specify information about the data sources to synchronize.", + "S3Destination": "Amazon S3 configuration details for the sync.", + "SyncType": "Specify SyncToDestination to create a resource data sync that synchronizes data from multiple AWS Regions to an Amazon S3 bucket. Specify SyncFromSource to synchronize data from multiple AWS accounts and Regions, as listed in AWS Organizations." +} +""" +CreateResourceDataSync(args) = ssm("CreateResourceDataSync", args) + +""" + UpdateAssociation() + +Updates an association. You can update the association name and version, the document version, schedule, parameters, and Amazon S3 output. In order to call this API action, your IAM user account, group, or role must be configured with permission to call the DescribeAssociation API action. If you don't have permission to call DescribeAssociation, then you receive the following error: An error occurred (AccessDeniedException) when calling the UpdateAssociation operation: User: <user_arn> is not authorized to perform: ssm:DescribeAssociation on resource: <resource_arn> When you update an association, the association immediately runs against the specified targets. + +Required Parameters +{ + "AssociationId": "The ID of the association you want to update. " +} + +Optional Parameters +{ + "AutomationTargetParameterName": "Specify the target for the association. This target is required for associations that use an Automation document and target resources by using rate controls.", + "DocumentVersion": "The document version you want update for the association. ", + "ScheduleExpression": "The cron expression used to schedule the association that you want to update.", + "OutputLocation": "An Amazon S3 bucket where you want to store the results of this request.", + "AssociationVersion": "This parameter is provided for concurrency control purposes. You must specify the latest association version in the service. If you want to ensure that this request succeeds, either specify LATEST, or omit this parameter.", + "Name": "The name of the SSM document that contains the configuration information for the instance. You can specify Command or Automation documents. You can specify AWS-predefined documents, documents you created, or a document that is shared with you from another account. For SSM documents that are shared with you from other AWS accounts, you must specify the complete SSM document ARN, in the following format: arn:aws:ssm:region:account-id:document/document-name For example: arn:aws:ssm:us-east-2:12345678912:document/My-Shared-Document For AWS-predefined documents and SSM documents you created in your account, you only need to specify the document name. For example, AWS-ApplyPatchBaseline or My-Document.", + "AssociationName": "The name of the association that you want to update.", + "MaxConcurrency": "The maximum number of targets allowed to run the association at the same time. You can specify a number, for example 10, or a percentage of the target set, for example 10%. The default value is 100%, which means all targets run the association at the same time. If a new instance starts and attempts to run an association while Systems Manager is running MaxConcurrency associations, the association is allowed to run. During the next association interval, the new instance will process its association within the limit specified for MaxConcurrency.", + "MaxErrors": "The number of errors that are allowed before the system stops sending requests to run the association on additional targets. You can specify either an absolute number of errors, for example 10, or a percentage of the target set, for example 10%. If you specify 3, for example, the system stops sending requests when the fourth error is received. If you specify 0, then the system stops sending requests after the first error is returned. If you run an association on 50 instances and set MaxError to 10%, then the system stops sending the request when the sixth error is received. Executions that are already running an association when MaxErrors is reached are allowed to complete, but some of these executions may fail as well. If you need to ensure that there won't be more than max-errors failed executions, set MaxConcurrency to 1 so that executions proceed one at a time.", + "Parameters": "The parameters you want to update for the association. If you create a parameter using Parameter Store, you can reference the parameter using {{ssm:parameter-name}}", + "ComplianceSeverity": "The severity level to assign to the association.", + "Targets": "The targets of the association." +} +""" +UpdateAssociation(args) = ssm("UpdateAssociation", args) + +""" + PutInventory() + +Bulk update custom inventory items on one more instance. The request adds an inventory item, if it doesn't already exist, or updates an inventory item, if it does exist. + +Required Parameters +{ + "Items": "The inventory items that you want to add or update on instances.", + "InstanceId": "An instance ID where you want to add or update inventory items." +} +""" +PutInventory(args) = ssm("PutInventory", args) + +""" + DescribeInstanceAssociationsStatus() + +The status of the associations for the instance(s). + +Required Parameters +{ + "InstanceId": "The instance IDs for which you want association status information." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.", + "NextToken": "The token for the next set of items to return. (You received this token from a previous call.)" +} +""" +DescribeInstanceAssociationsStatus(args) = ssm("DescribeInstanceAssociationsStatus", args) + +""" + GetCommandInvocation() + +Returns detailed information about command execution for an invocation or plugin. + +Required Parameters +{ + "InstanceId": "(Required) The ID of the managed instance targeted by the command. A managed instance can be an Amazon EC2 instance or an instance in your hybrid environment that is configured for Systems Manager.", + "CommandId": "(Required) The parent command ID of the invocation plugin." +} + +Optional Parameters +{ + "PluginName": "(Optional) The name of the plugin for which you want detailed results. If the document contains only one plugin, the name can be omitted and the details will be returned." +} +""" +GetCommandInvocation(args) = ssm("GetCommandInvocation", args) + +""" + DescribeInstancePatchStatesForPatchGroup() + +Retrieves the high-level patch state for the instances in the specified patch group. + +Required Parameters +{ + "PatchGroup": "The name of the patch group for which the patch state information should be retrieved." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of patches to return (per page).", + "NextToken": "The token for the next set of items to return. (You received this token from a previous call.)", + "Filters": "Each entry in the array is a structure containing: Key (string between 1 and 200 characters) Values (array containing a single string) Type (string \"Equal\", \"NotEqual\", \"LessThan\", \"GreaterThan\")" +} +""" +DescribeInstancePatchStatesForPatchGroup(args) = ssm("DescribeInstancePatchStatesForPatchGroup", args) + +""" + UpdateResourceDataSync() + +Update a resource data sync. After you create a resource data sync for a Region, you can't change the account options for that sync. For example, if you create a sync in the us-east-2 (Ohio) Region and you choose the Include only the current account option, you can't edit that sync later and choose the Include all accounts from my AWS Organizations configuration option. Instead, you must delete the first resource data sync, and create a new one. + +Required Parameters +{ + "SyncSource": "Specify information about the data sources to synchronize.", + "SyncName": "The name of the resource data sync you want to update.", + "SyncType": "The type of resource data sync. If SyncType is SyncToDestination, then the resource data sync synchronizes data to an Amazon S3 bucket. If the SyncType is SyncFromSource then the resource data sync synchronizes data from AWS Organizations or from multiple AWS Regions." +} +""" +UpdateResourceDataSync(args) = ssm("UpdateResourceDataSync", args) + +""" + GetMaintenanceWindowExecution() + +Retrieves details about a specific a maintenance window execution. + +Required Parameters +{ + "WindowExecutionId": "The ID of the maintenance window execution that includes the task." +} +""" +GetMaintenanceWindowExecution(args) = ssm("GetMaintenanceWindowExecution", args) + +""" + CreateActivation() + +Generates an activation code and activation ID you can use to register your on-premises server or virtual machine (VM) with Systems Manager. Registering these machines with Systems Manager makes it possible to manage them using Systems Manager capabilities. You use the activation code and ID when installing SSM Agent on machines in your hybrid environment. For more information about requirements for managing on-premises instances and VMs using Systems Manager, see Setting Up AWS Systems Manager for Hybrid Environments in the AWS Systems Manager User Guide. On-premises servers or VMs that are registered with Systems Manager and Amazon EC2 instances that you manage with Systems Manager are all called managed instances. + +Required Parameters +{ + "IamRole": "The Amazon Identity and Access Management (IAM) role that you want to assign to the managed instance. This IAM role must provide AssumeRole permissions for the Systems Manager service principal ssm.amazonaws.com. For more information, see Create an IAM Service Role for a Hybrid Environment in the AWS Systems Manager User Guide." +} + +Optional Parameters +{ + "Description": "A user-defined description of the resource that you want to register with Systems Manager. Do not enter personally identifiable information in this field. ", + "ExpirationDate": "The date by which this activation request should expire. The default value is 24 hours.", + "Tags": "Optional metadata that you assign to a resource. Tags enable you to categorize a resource in different ways, such as by purpose, owner, or environment. For example, you might want to tag an activation to identify which servers or virtual machines (VMs) in your on-premises environment you intend to activate. In this case, you could specify the following key name/value pairs: Key=OS,Value=Windows Key=Environment,Value=Production When you install SSM Agent on your on-premises servers and VMs, you specify an activation ID and code. When you specify the activation ID and code, tags assigned to the activation are automatically applied to the on-premises servers or VMs. You can't add tags to or delete tags from an existing activation. You can tag your on-premises servers and VMs after they connect to Systems Manager for the first time and are assigned a managed instance ID. This means they are listed in the AWS Systems Manager console with an ID that is prefixed with \"mi-\". For information about how to add tags to your managed instances, see AddTagsToResource. For information about how to remove tags from your managed instances, see RemoveTagsFromResource.", + "DefaultInstanceName": "The name of the registered, managed instance as it will appear in the Systems Manager console or when you use the AWS command line tools to list Systems Manager resources. Do not enter personally identifiable information in this field. ", + "RegistrationLimit": "Specify the maximum number of managed instances you want to register. The default value is 1 instance." +} +""" +CreateActivation(args) = ssm("CreateActivation", args) + +""" + RegisterDefaultPatchBaseline() + +Defines the default patch baseline for the relevant operating system. To reset the AWS predefined patch baseline as the default, specify the full patch baseline ARN as the baseline ID value. For example, for CentOS, specify arn:aws:ssm:us-east-2:733109147000:patchbaseline/pb-0574b43a65ea646ed instead of pb-0574b43a65ea646ed. + +Required Parameters +{ + "BaselineId": "The ID of the patch baseline that should be the default patch baseline." +} +""" +RegisterDefaultPatchBaseline(args) = ssm("RegisterDefaultPatchBaseline", args) + +""" + DescribeMaintenanceWindowsForTarget() + +Retrieves information about the maintenance window targets or tasks that an instance is associated with. + +Required Parameters +{ + "ResourceType": "The type of resource you want to retrieve information about. For example, \"INSTANCE\".", + "Targets": "The instance ID or key/value pair to retrieve information about." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.", + "NextToken": "The token for the next set of items to return. (You received this token from a previous call.)" +} +""" +DescribeMaintenanceWindowsForTarget(args) = ssm("DescribeMaintenanceWindowsForTarget", args) + +""" + GetDocument() + +Gets the contents of the specified Systems Manager document. + +Required Parameters +{ + "Name": "The name of the Systems Manager document." +} + +Optional Parameters +{ + "DocumentVersion": "The document version for which you want information.", + "DocumentFormat": "Returns the document in the specified format. The document format can be either JSON or YAML. JSON is the default format.", + "VersionName": "An optional field specifying the version of the artifact associated with the document. For example, \"Release 12, Update 6\". This value is unique across all versions of a document, and cannot be changed." +} +""" +GetDocument(args) = ssm("GetDocument", args) + +""" + DescribePatchGroupState() + +Returns high-level aggregated patch compliance state for a patch group. + +Required Parameters +{ + "PatchGroup": "The name of the patch group whose patch snapshot should be retrieved." +} +""" +DescribePatchGroupState(args) = ssm("DescribePatchGroupState", args) + +""" + ResetServiceSetting() + + ServiceSetting is an account-level setting for an AWS service. This setting defines how a user interacts with or uses a service or a feature of a service. For example, if an AWS service charges money to the account based on feature or service usage, then the AWS service team might create a default setting of "false". This means the user can't use this feature unless they change the setting to "true" and intentionally opt in for a paid feature. Services map a SettingId object to a setting value. AWS services teams define the default value for a SettingId. You can't create a new SettingId, but you can overwrite the default value if you have the ssm:UpdateServiceSetting permission for the setting. Use the GetServiceSetting API action to view the current value. Use the UpdateServiceSetting API action to change the default setting. Reset the service setting for the account to the default value as provisioned by the AWS service team. + +Required Parameters +{ + "SettingId": "The ID of the service setting to reset." +} +""" +ResetServiceSetting(args) = ssm("ResetServiceSetting", args) + +""" + DeleteActivation() + +Deletes an activation. You are not required to delete an activation. If you delete an activation, you can no longer use it to register additional managed instances. Deleting an activation does not de-register managed instances. You must manually de-register managed instances. + +Required Parameters +{ + "ActivationId": "The ID of the activation that you want to delete." +} +""" +DeleteActivation(args) = ssm("DeleteActivation", args) + +""" + PutParameter() + +Add a parameter to the system. + +Required Parameters +{ + "Value": "The parameter value that you want to add to the system. Standard parameters have a value limit of 4 KB. Advanced parameters have a value limit of 8 KB.", + "Type": "The type of parameter that you want to add to the system. Items in a StringList must be separated by a comma (,). You can't use other punctuation or special character to escape items in the list. If you have a parameter value that requires a comma, then use the String data type. SecureString is not currently supported for AWS CloudFormation templates or in the China Regions. ", + "Name": "The fully qualified name of the parameter that you want to add to the system. The fully qualified name includes the complete hierarchy of the parameter path and name. For parameters in a hierarchy, you must include a leading forward slash character (/) when you create or reference a parameter. For example: /Dev/DBServer/MySQL/db-string13 Naming Constraints: Parameter names are case sensitive. A parameter name must be unique within an AWS Region A parameter name can't be prefixed with \"aws\" or \"ssm\" (case-insensitive). Parameter names can include only the following symbols and letters: a-zA-Z0-9_.-/ A parameter name can't include spaces. Parameter hierarchies are limited to a maximum depth of fifteen levels. For additional information about valid values for parameter names, see Requirements and Constraints for Parameter Names in the AWS Systems Manager User Guide. The maximum length constraint listed below includes capacity for additional system attributes that are not part of the name. The maximum length for a parameter name, including the full length of the parameter ARN, is 1011 characters. For example, the length of the following parameter name is 65 characters, not 20 characters: arn:aws:ssm:us-east-2:111122223333:parameter/ExampleParameterName " +} + +Optional Parameters +{ + "Policies": "One or more policies to apply to a parameter. This action takes a JSON array. Parameter Store supports the following policy types: Expiration: This policy deletes the parameter after it expires. When you create the policy, you specify the expiration date. You can update the expiration date and time by updating the policy. Updating the parameter does not affect the expiration date and time. When the expiration time is reached, Parameter Store deletes the parameter. ExpirationNotification: This policy triggers an event in Amazon CloudWatch Events that notifies you about the expiration. By using this policy, you can receive notification before or after the expiration time is reached, in units of days or hours. NoChangeNotification: This policy triggers a CloudWatch event if a parameter has not been modified for a specified period of time. This policy type is useful when, for example, a secret needs to be changed within a period of time, but it has not been changed. All existing policies are preserved until you send new policies or an empty policy. For more information about parameter policies, see Working with Parameter Policies. ", + "Description": "Information about the parameter that you want to add to the system. Optional but recommended. Do not enter personally identifiable information in this field. ", + "Tags": "Optional metadata that you assign to a resource. Tags enable you to categorize a resource in different ways, such as by purpose, owner, or environment. For example, you might want to tag a Systems Manager parameter to identify the type of resource to which it applies, the environment, or the type of configuration data referenced by the parameter. In this case, you could specify the following key name/value pairs: Key=Resource,Value=S3bucket Key=OS,Value=Windows Key=ParameterType,Value=LicenseKey To add tags to an existing Systems Manager parameter, use the AddTagsToResource action. ", + "Overwrite": "Overwrite an existing parameter. If not specified, will default to \"false\".", + "KeyId": "The KMS Key ID that you want to use to encrypt a parameter. Either the default AWS Key Management Service (AWS KMS) key automatically assigned to your AWS account or a custom key. Required for parameters that use the SecureString data type. If you don't specify a key ID, the system uses the default key associated with your AWS account. To use your default AWS KMS key, choose the SecureString data type, and do not specify the Key ID when you create the parameter. The system automatically populates Key ID with your default KMS key. To use a custom KMS key, choose the SecureString data type with the Key ID parameter. ", + "AllowedPattern": "A regular expression used to validate the parameter value. For example, for String types with values restricted to numbers, you can specify the following: AllowedPattern=^ d+ ", + "Tier": "The parameter tier to assign to a parameter. Parameter Store offers a standard tier and an advanced tier for parameters. Standard parameters have a content size limit of 4 KB and can't be configured to use parameter policies. You can create a maximum of 10,000 standard parameters for each Region in an AWS account. Standard parameters are offered at no additional cost. Advanced parameters have a content size limit of 8 KB and can be configured to use parameter policies. You can create a maximum of 100,000 advanced parameters for each Region in an AWS account. Advanced parameters incur a charge. For more information, see About Advanced Parameters in the AWS Systems Manager User Guide. You can change a standard parameter to an advanced parameter any time. But you can't revert an advanced parameter to a standard parameter. Reverting an advanced parameter to a standard parameter would result in data loss because the system would truncate the size of the parameter from 8 KB to 4 KB. Reverting would also remove any policies attached to the parameter. Lastly, advanced parameters use a different form of encryption than standard parameters. If you no longer need an advanced parameter, or if you no longer want to incur charges for an advanced parameter, you must delete it and recreate it as a new standard parameter. Using the Default Tier Configuration In PutParameter requests, you can specify the tier to create the parameter in. Whenever you specify a tier in the request, Parameter Store creates or updates the parameter according to that request. However, if you do not specify a tier in a request, Parameter Store assigns the tier based on the current Parameter Store default tier configuration. The default tier when you begin using Parameter Store is the standard-parameter tier. If you use the advanced-parameter tier, you can specify one of the following as the default: Advanced: With this option, Parameter Store evaluates all requests as advanced parameters. Intelligent-Tiering: With this option, Parameter Store evaluates each request to determine if the parameter is standard or advanced. If the request doesn't include any options that require an advanced parameter, the parameter is created in the standard-parameter tier. If one or more options requiring an advanced parameter are included in the request, Parameter Store create a parameter in the advanced-parameter tier. This approach helps control your parameter-related costs by always creating standard parameters unless an advanced parameter is necessary. Options that require an advanced parameter include the following: The content size of the parameter is more than 4 KB. The parameter uses a parameter policy. More than 10,000 parameters already exist in your AWS account in the current Region. For more information about configuring the default tier option, see Specifying a Default Parameter Tier in the AWS Systems Manager User Guide." +} +""" +PutParameter(args) = ssm("PutParameter", args) + +""" + DescribeMaintenanceWindows() + +Retrieves the maintenance windows in an AWS account. + +Optional Parameters +{ + "MaxResults": "The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.", + "NextToken": "The token for the next set of items to return. (You received this token from a previous call.)", + "Filters": "Optional filters used to narrow down the scope of the returned maintenance windows. Supported filter keys are Name and Enabled." +} +""" +DescribeMaintenanceWindows() = ssm("DescribeMaintenanceWindows") +DescribeMaintenanceWindows(args) = ssm("DescribeMaintenanceWindows", args) + +""" + GetPatchBaselineForPatchGroup() + +Retrieves the patch baseline that should be used for the specified patch group. + +Required Parameters +{ + "PatchGroup": "The name of the patch group whose patch baseline should be retrieved." +} + +Optional Parameters +{ + "OperatingSystem": "Returns he operating system rule specified for patch groups using the patch baseline." +} +""" +GetPatchBaselineForPatchGroup(args) = ssm("GetPatchBaselineForPatchGroup", args) + +""" + DeletePatchBaseline() + +Deletes a patch baseline. + +Required Parameters +{ + "BaselineId": "The ID of the patch baseline to delete." +} +""" +DeletePatchBaseline(args) = ssm("DeletePatchBaseline", args) + +""" + SendAutomationSignal() + +Sends a signal to an Automation execution to change the current behavior or status of the execution. + +Required Parameters +{ + "AutomationExecutionId": "The unique identifier for an existing Automation execution that you want to send the signal to.", + "SignalType": "The type of signal to send to an Automation execution. " +} + +Optional Parameters +{ + "Payload": "The data sent with the signal. The data schema depends on the type of signal used in the request. For Approve and Reject signal types, the payload is an optional comment that you can send with the signal type. For example: Comment=\"Looks good\" For StartStep and Resume signal types, you must send the name of the Automation step to start or resume as the payload. For example: StepName=\"step1\" For the StopStep signal type, you must send the step execution ID as the payload. For example: StepExecutionId=\"97fff367-fc5a-4299-aed8-0123456789ab\" " +} +""" +SendAutomationSignal(args) = ssm("SendAutomationSignal", args) + +""" + ListDocumentVersions() + +List all versions for a document. + +Required Parameters +{ + "Name": "The name of the document. You can specify an Amazon Resource Name (ARN)." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.", + "NextToken": "The token for the next set of items to return. (You received this token from a previous call.)" +} +""" +ListDocumentVersions(args) = ssm("ListDocumentVersions", args) + +""" + CancelMaintenanceWindowExecution() + +Stops a maintenance window execution that is already in progress and cancels any tasks in the window that have not already starting running. (Tasks already in progress will continue to completion.) + +Required Parameters +{ + "WindowExecutionId": "The ID of the maintenance window execution to stop." +} +""" +CancelMaintenanceWindowExecution(args) = ssm("CancelMaintenanceWindowExecution", args) + +""" + DescribeMaintenanceWindowExecutions() + +Lists the executions of a maintenance window. This includes information about when the maintenance window was scheduled to be active, and information about tasks registered and run with the maintenance window. + +Required Parameters +{ + "WindowId": "The ID of the maintenance window whose executions should be retrieved." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.", + "NextToken": "The token for the next set of items to return. (You received this token from a previous call.)", + "Filters": "Each entry in the array is a structure containing: Key (string, between 1 and 128 characters) Values (array of strings, each string is between 1 and 256 characters) The supported Keys are ExecutedBefore and ExecutedAfter with the value being a date/time string such as 2016-11-04T05:00:00Z." +} +""" +DescribeMaintenanceWindowExecutions(args) = ssm("DescribeMaintenanceWindowExecutions", args) + +""" + DescribeInstancePatches() + +Retrieves information about the patches on the specified instance and their state relative to the patch baseline being used for the instance. + +Required Parameters +{ + "InstanceId": "The ID of the instance whose patch state information should be retrieved." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of patches to return (per page).", + "NextToken": "The token for the next set of items to return. (You received this token from a previous call.)", + "Filters": "An array of structures. Each entry in the array is a structure containing a Key, Value combination. Valid values for Key are Classification | KBId | Severity | State." +} +""" +DescribeInstancePatches(args) = ssm("DescribeInstancePatches", args) + +""" + DescribePatchGroups() + +Lists all patch groups that have been registered with patch baselines. + +Optional Parameters +{ + "MaxResults": "The maximum number of patch groups to return (per page).", + "NextToken": "The token for the next set of items to return. (You received this token from a previous call.)", + "Filters": "One or more filters. Use a filter to return a more specific list of results." +} +""" +DescribePatchGroups() = ssm("DescribePatchGroups") +DescribePatchGroups(args) = ssm("DescribePatchGroups", args) + +""" + UpdateManagedInstanceRole() + +Assigns or changes an Amazon Identity and Access Management (IAM) role for the managed instance. + +Required Parameters +{ + "InstanceId": "The ID of the managed instance where you want to update the role.", + "IamRole": "The IAM role you want to assign or change." +} +""" +UpdateManagedInstanceRole(args) = ssm("UpdateManagedInstanceRole", args) + +""" + UpdateDocumentDefaultVersion() + +Set the default version of a document. + +Required Parameters +{ + "DocumentVersion": "The version of a custom document that you want to set as the default version.", + "Name": "The name of a custom document that you want to set as the default version." +} +""" +UpdateDocumentDefaultVersion(args) = ssm("UpdateDocumentDefaultVersion", args) + +""" + UpdatePatchBaseline() + +Modifies an existing patch baseline. Fields not specified in the request are left unchanged. For information about valid key and value pairs in PatchFilters for each supported operating system type, see PatchFilter. + +Required Parameters +{ + "BaselineId": "The ID of the patch baseline to update." +} + +Optional Parameters +{ + "ApprovedPatchesComplianceLevel": "Assigns a new compliance severity level to an existing patch baseline.", + "GlobalFilters": "A set of global filters used to include patches in the baseline.", + "Name": "The name of the patch baseline.", + "RejectedPatches": "A list of explicitly rejected patches for the baseline. For information about accepted formats for lists of approved patches and rejected patches, see Package Name Formats for Approved and Rejected Patch Lists in the AWS Systems Manager User Guide.", + "RejectedPatchesAction": "The action for Patch Manager to take on patches included in the RejectedPackages list. ALLOW_AS_DEPENDENCY: A package in the Rejected patches list is installed only if it is a dependency of another package. It is considered compliant with the patch baseline, and its status is reported as InstalledOther. This is the default action if no option is specified. BLOCK: Packages in the RejectedPatches list, and packages that include them as dependencies, are not installed under any circumstances. If a package was installed before it was added to the Rejected patches list, it is considered non-compliant with the patch baseline, and its status is reported as InstalledRejected. ", + "ApprovedPatchesEnableNonSecurity": "Indicates whether the list of approved patches includes non-security updates that should be applied to the instances. The default value is 'false'. Applies to Linux instances only.", + "Description": "A description of the patch baseline.", + "ApprovalRules": "A set of rules used to include patches in the baseline.", + "Sources": "Information about the patches to use to update the instances, including target operating systems and source repositories. Applies to Linux instances only.", + "ApprovedPatches": "A list of explicitly approved patches for the baseline. For information about accepted formats for lists of approved patches and rejected patches, see Package Name Formats for Approved and Rejected Patch Lists in the AWS Systems Manager User Guide.", + "Replace": "If True, then all fields that are required by the CreatePatchBaseline action are also required for this API request. Optional fields that are not specified are set to null." +} +""" +UpdatePatchBaseline(args) = ssm("UpdatePatchBaseline", args) diff --git a/src/services/sso.jl b/src/services/sso.jl new file mode 100644 index 0000000000..96b72acafc --- /dev/null +++ b/src/services/sso.jl @@ -0,0 +1,65 @@ +include("../AWSServices.jl") +using .AWSServices: sso + +""" + Logout() + +Removes the client- and server-side session that is associated with the user. + +Required Parameters +{ + "accessToken": "The token issued by the CreateToken API call. For more information, see CreateToken in the AWS SSO OIDC API Reference Guide." +} +""" +Logout(args) = sso("POST", "/logout", args) + +""" + GetRoleCredentials() + +Returns the STS short-term credentials for a given role name that is assigned to the user. + +Required Parameters +{ + "roleName": "The friendly name of the role that is assigned to the user.", + "accessToken": "The token issued by the CreateToken API call. For more information, see CreateToken in the AWS SSO OIDC API Reference Guide.", + "accountId": "The identifier for the AWS account that is assigned to the user." +} +""" +GetRoleCredentials(args) = sso("GET", "/federation/credentials", args) + +""" + ListAccounts() + +Lists all AWS accounts assigned to the user. These AWS accounts are assigned by the administrator of the account. For more information, see Assign User Access in the AWS SSO User Guide. This operation returns a paginated response. + +Required Parameters +{ + "accessToken": "The token issued by the CreateToken API call. For more information, see CreateToken in the AWS SSO OIDC API Reference Guide." +} + +Optional Parameters +{ + "maxResults": "This is the number of items clients can request per page.", + "nextToken": "(Optional) When requesting subsequent pages, this is the page token from the previous response output." +} +""" +ListAccounts(args) = sso("GET", "/assignment/accounts", args) + +""" + ListAccountRoles() + +Lists all roles that are assigned to the user for a given AWS account. + +Required Parameters +{ + "accessToken": "The token issued by the CreateToken API call. For more information, see CreateToken in the AWS SSO OIDC API Reference Guide.", + "accountId": "The identifier for the AWS account that is assigned to the user." +} + +Optional Parameters +{ + "maxResults": "The number of items that clients can request per page.", + "nextToken": "The page token from the previous response output when you request subsequent pages." +} +""" +ListAccountRoles(args) = sso("GET", "/assignment/roles", args) diff --git a/src/services/sso_oidc.jl b/src/services/sso_oidc.jl new file mode 100644 index 0000000000..df4635f2fb --- /dev/null +++ b/src/services/sso_oidc.jl @@ -0,0 +1,57 @@ +include("../AWSServices.jl") +using .AWSServices: sso_oidc + +""" + CreateToken() + +Creates and returns an access token for the authorized client. The access token issued will be used to fetch short-term credentials for the assigned roles in the AWS account. + +Required Parameters +{ + "deviceCode": "Used only when calling this API for the device code grant type. This short-term code is used to identify this authentication attempt. This should come from an in-memory reference to the result of the StartDeviceAuthorization API.", + "grantType": "Supports grant types for authorization code, refresh token, and device code request.", + "clientId": "The unique identifier string for each client. This value should come from the persisted result of the RegisterClient API.", + "clientSecret": "A secret string generated for the client. This value should come from the persisted result of the RegisterClient API." +} + +Optional Parameters +{ + "refreshToken": "The token used to obtain an access token in the event that the access token is invalid or expired. This token is not issued by the service.", + "scope": "The list of scopes that is defined by the client. Upon authorization, this list is used to restrict permissions when granting an access token.", + "code": "The authorization code received from the authorization service. This parameter is required to perform an authorization grant request to get access to a token.", + "redirectUri": "The location of the application that will receive the authorization code. Users authorize the service to send the request to this location." +} +""" +CreateToken(args) = sso_oidc("POST", "/token", args) + +""" + StartDeviceAuthorization() + +Initiates device authorization by requesting a pair of verification codes from the authorization service. + +Required Parameters +{ + "startUrl": "The URL for the AWS SSO user portal. For more information, see Using the User Portal in the AWS Single Sign-On User Guide.", + "clientId": "The unique identifier string for the client that is registered with AWS SSO. This value should come from the persisted result of the RegisterClient API operation.", + "clientSecret": "A secret string that is generated for the client. This value should come from the persisted result of the RegisterClient API operation." +} +""" +StartDeviceAuthorization(args) = sso_oidc("POST", "/device_authorization", args) + +""" + RegisterClient() + +Registers a client with AWS SSO. This allows clients to initiate device authorization. The output should be persisted for reuse through many authentication requests. + +Required Parameters +{ + "clientType": "The type of client. The service supports only public as a client type. Anything other than public will be rejected by the service.", + "clientName": "The friendly name of the client." +} + +Optional Parameters +{ + "scopes": "The list of scopes that are defined by the client. Upon authorization, this list is used to restrict permissions when granting an access token." +} +""" +RegisterClient(args) = sso_oidc("POST", "/client/register", args) diff --git a/src/services/storage_gateway.jl b/src/services/storage_gateway.jl new file mode 100644 index 0000000000..6ce3f26d44 --- /dev/null +++ b/src/services/storage_gateway.jl @@ -0,0 +1,1166 @@ +include("../AWSServices.jl") +using .AWSServices: storage_gateway + +""" + DeleteBandwidthRateLimit() + +Deletes the bandwidth rate limits of a gateway. You can delete either the upload and download bandwidth rate limit, or you can delete both. If you delete only one of the limits, the other limit remains unchanged. To specify which gateway to work with, use the Amazon Resource Name (ARN) of the gateway in your request. This operation is supported for the stored volume, cached volume and tape gateway types. + +Required Parameters +{ + "BandwidthType": "One of the BandwidthType values that indicates the gateway bandwidth rate limit to delete. Valid Values: Upload, Download, All.", + "GatewayARN": "" +} +""" +DeleteBandwidthRateLimit(args) = storage_gateway("DeleteBandwidthRateLimit", args) + +""" + ListGateways() + +Lists gateways owned by an AWS account in an AWS Region specified in the request. The returned list is ordered by gateway Amazon Resource Name (ARN). By default, the operation returns a maximum of 100 gateways. This operation supports pagination that allows you to optionally reduce the number of gateways returned in a response. If you have more gateways than are returned in a response (that is, the response returns only a truncated list of your gateways), the response contains a marker that you can specify in your next request to fetch the next page of gateways. + +Optional Parameters +{ + "Marker": "An opaque string that indicates the position at which to begin the returned list of gateways.", + "Limit": "Specifies that the list of gateways returned be limited to the specified number of items." +} +""" +ListGateways() = storage_gateway("ListGateways") +ListGateways(args) = storage_gateway("ListGateways", args) + +""" + DetachVolume() + +Disconnects a volume from an iSCSI connection and then detaches the volume from the specified gateway. Detaching and attaching a volume enables you to recover your data from one gateway to a different gateway without creating a snapshot. It also makes it easier to move your volumes from an on-premises gateway to a gateway hosted on an Amazon EC2 instance. This operation is only supported in the volume gateway type. + +Required Parameters +{ + "VolumeARN": "The Amazon Resource Name (ARN) of the volume to detach from the gateway." +} + +Optional Parameters +{ + "ForceDetach": "Set to true to forcibly remove the iSCSI connection of the target volume and detach the volume. The default is false. If this value is set to false, you must manually disconnect the iSCSI connection from the target volume." +} +""" +DetachVolume(args) = storage_gateway("DetachVolume", args) + +""" + DescribeSMBSettings() + +Gets a description of a Server Message Block (SMB) file share settings from a file gateway. This operation is only supported for file gateways. + +Required Parameters +{ + "GatewayARN": "" +} +""" +DescribeSMBSettings(args) = storage_gateway("DescribeSMBSettings", args) + +""" + DescribeStorediSCSIVolumes() + +Returns the description of the gateway volumes specified in the request. The list of gateway volumes in the request must be from one gateway. In the response Amazon Storage Gateway returns volume information sorted by volume ARNs. This operation is only supported in stored volume gateway type. + +Required Parameters +{ + "VolumeARNs": "An array of strings where each string represents the Amazon Resource Name (ARN) of a stored volume. All of the specified stored volumes must from the same gateway. Use ListVolumes to get volume ARNs for a gateway." +} +""" +DescribeStorediSCSIVolumes(args) = storage_gateway("DescribeStorediSCSIVolumes", args) + +""" + CreateTapeWithBarcode() + +Creates a virtual tape by using your own barcode. You write data to the virtual tape and then archive the tape. A barcode is unique and can not be reused if it has already been used on a tape . This applies to barcodes used on deleted tapes. This operation is only supported in the tape gateway type. Cache storage must be allocated to the gateway before you can create a virtual tape. Use the AddCache operation to add cache storage to a gateway. + +Required Parameters +{ + "TapeSizeInBytes": "The size, in bytes, of the virtual tape that you want to create. The size must be aligned by gigabyte (1024*1024*1024 byte). ", + "TapeBarcode": "The barcode that you want to assign to the tape. Barcodes cannot be reused. This includes barcodes used for tapes that have been deleted. ", + "GatewayARN": "The unique Amazon Resource Name (ARN) that represents the gateway to associate the virtual tape with. Use the ListGateways operation to return a list of gateways for your account and AWS Region." +} + +Optional Parameters +{ + "KMSEncrypted": "True to use Amazon S3 server side encryption with your own AWS KMS key, or false to use a key managed by Amazon S3. Optional.", + "Tags": "A list of up to 50 tags that can be assigned to a virtual tape that has a barcode. Each tag is a key-value pair. Valid characters for key and value are letters, spaces, and numbers representable in UTF-8 format, and the following special characters: + - = . _ : / @. The maximum length of a tag's key is 128 characters, and the maximum length for a tag's value is 256. ", + "KMSKey": "The Amazon Resource Name (ARN) of the AWS KMS Key used for Amazon S3 server side encryption. This value can only be set when KMSEncrypted is true. Optional.", + "PoolId": "The ID of the pool that you want to add your tape to for archiving. The tape in this pool is archived in the S3 storage class that is associated with the pool. When you use your backup application to eject the tape, the tape is archived directly into the storage class (Glacier or Deep Archive) that corresponds to the pool. Valid values: \"GLACIER\", \"DEEP_ARCHIVE\"" +} +""" +CreateTapeWithBarcode(args) = storage_gateway("CreateTapeWithBarcode", args) + +""" + DescribeCache() + +Returns information about the cache of a gateway. This operation is only supported in the cached volume, tape and file gateway types. The response includes disk IDs that are configured as cache, and it includes the amount of cache allocated and used. + +Required Parameters +{ + "GatewayARN": "" +} +""" +DescribeCache(args) = storage_gateway("DescribeCache", args) + +""" + DescribeChapCredentials() + +Returns an array of Challenge-Handshake Authentication Protocol (CHAP) credentials information for a specified iSCSI target, one for each target-initiator pair. This operation is supported in the volume and tape gateway types. + +Required Parameters +{ + "TargetARN": "The Amazon Resource Name (ARN) of the iSCSI volume target. Use the DescribeStorediSCSIVolumes operation to return to retrieve the TargetARN for specified VolumeARN." +} +""" +DescribeChapCredentials(args) = storage_gateway("DescribeChapCredentials", args) + +""" + SetSMBGuestPassword() + +Sets the password for the guest user smbguest. The smbguest user is the user when the authentication method for the file share is set to GuestAccess. + +Required Parameters +{ + "Password": "The password that you want to set for your SMB Server.", + "GatewayARN": "The Amazon Resource Name (ARN) of the file gateway the SMB file share is associated with." +} +""" +SetSMBGuestPassword(args) = storage_gateway("SetSMBGuestPassword", args) + +""" + UpdateSnapshotSchedule() + +Updates a snapshot schedule configured for a gateway volume. This operation is only supported in the cached volume and stored volume gateway types. The default snapshot schedule for volume is once every 24 hours, starting at the creation time of the volume. You can use this API to change the snapshot schedule configured for the volume. In the request you must identify the gateway volume whose snapshot schedule you want to update, and the schedule information, including when you want the snapshot to begin on a day and the frequency (in hours) of snapshots. + +Required Parameters +{ + "StartAt": "The hour of the day at which the snapshot schedule begins represented as hh, where hh is the hour (0 to 23). The hour of the day is in the time zone of the gateway.", + "VolumeARN": "The Amazon Resource Name (ARN) of the volume. Use the ListVolumes operation to return a list of gateway volumes.", + "RecurrenceInHours": "Frequency of snapshots. Specify the number of hours between snapshots." +} + +Optional Parameters +{ + "Description": "Optional description of the snapshot that overwrites the existing description.", + "Tags": "A list of up to 50 tags that can be assigned to a snapshot. Each tag is a key-value pair. Valid characters for key and value are letters, spaces, and numbers representable in UTF-8 format, and the following special characters: + - = . _ : / @. The maximum length of a tag's key is 128 characters, and the maximum length for a tag's value is 256. " +} +""" +UpdateSnapshotSchedule(args) = storage_gateway("UpdateSnapshotSchedule", args) + +""" + AddCache() + +Configures one or more gateway local disks as cache for a gateway. This operation is only supported in the cached volume, tape and file gateway type (see Storage Gateway Concepts). In the request, you specify the gateway Amazon Resource Name (ARN) to which you want to add cache, and one or more disk IDs that you want to configure as cache. + +Required Parameters +{ + "GatewayARN": "", + "DiskIds": "An array of strings that identify disks that are to be configured as working storage. Each string have a minimum length of 1 and maximum length of 300. You can get the disk IDs from the ListLocalDisks API." +} +""" +AddCache(args) = storage_gateway("AddCache", args) + +""" + AttachVolume() + +Connects a volume to an iSCSI connection and then attaches the volume to the specified gateway. Detaching and attaching a volume enables you to recover your data from one gateway to a different gateway without creating a snapshot. It also makes it easier to move your volumes from an on-premises gateway to a gateway hosted on an Amazon EC2 instance. + +Required Parameters +{ + "VolumeARN": "The Amazon Resource Name (ARN) of the volume to attach to the specified gateway.", + "NetworkInterfaceId": "The network interface of the gateway on which to expose the iSCSI target. Only IPv4 addresses are accepted. Use DescribeGatewayInformation to get a list of the network interfaces available on a gateway. Valid Values: A valid IP address.", + "GatewayARN": "The Amazon Resource Name (ARN) of the gateway that you want to attach the volume to." +} + +Optional Parameters +{ + "DiskId": "The unique device ID or other distinguishing data that identifies the local disk used to create the volume. This value is only required when you are attaching a stored volume.", + "TargetName": "The name of the iSCSI target used by an initiator to connect to a volume and used as a suffix for the target ARN. For example, specifying TargetName as myvolume results in the target ARN of arn:aws:storagegateway:us-east-2:111122223333:gateway/sgw-12A3456B/target/iqn.1997-05.com.amazon:myvolume. The target name must be unique across all volumes on a gateway. If you don't specify a value, Storage Gateway uses the value that was previously used for this volume as the new target name." +} +""" +AttachVolume(args) = storage_gateway("AttachVolume", args) + +""" + UpdateBandwidthRateLimit() + +Updates the bandwidth rate limits of a gateway. You can update both the upload and download bandwidth rate limit or specify only one of the two. If you don't set a bandwidth rate limit, the existing rate limit remains. This operation is supported for the stored volume, cached volume and tape gateway types.' By default, a gateway's bandwidth rate limits are not set. If you don't set any limit, the gateway does not have any limitations on its bandwidth usage and could potentially use the maximum available bandwidth. To specify which gateway to update, use the Amazon Resource Name (ARN) of the gateway in your request. + +Required Parameters +{ + "GatewayARN": "" +} + +Optional Parameters +{ + "AverageDownloadRateLimitInBitsPerSec": "The average download bandwidth rate limit in bits per second.", + "AverageUploadRateLimitInBitsPerSec": "The average upload bandwidth rate limit in bits per second." +} +""" +UpdateBandwidthRateLimit(args) = storage_gateway("UpdateBandwidthRateLimit", args) + +""" + RetrieveTapeRecoveryPoint() + +Retrieves the recovery point for the specified virtual tape. This operation is only supported in the tape gateway type. A recovery point is a point in time view of a virtual tape at which all the data on the tape is consistent. If your gateway crashes, virtual tapes that have recovery points can be recovered to a new gateway. The virtual tape can be retrieved to only one gateway. The retrieved tape is read-only. The virtual tape can be retrieved to only a tape gateway. There is no charge for retrieving recovery points. + +Required Parameters +{ + "GatewayARN": "", + "TapeARN": "The Amazon Resource Name (ARN) of the virtual tape for which you want to retrieve the recovery point." +} +""" +RetrieveTapeRecoveryPoint(args) = storage_gateway("RetrieveTapeRecoveryPoint", args) + +""" + ActivateGateway() + +Activates the gateway you previously deployed on your host. In the activation process, you specify information such as the AWS Region that you want to use for storing snapshots or tapes, the time zone for scheduled snapshots the gateway snapshot schedule window, an activation key, and a name for your gateway. The activation process also associates your gateway with your account; for more information, see UpdateGatewayInformation. You must turn on the gateway VM before you can activate your gateway. + +Required Parameters +{ + "GatewayName": "The name you configured for your gateway.", + "GatewayRegion": "A value that indicates the AWS Region where you want to store your data. The gateway AWS Region specified must be the same AWS Region as the AWS Region in your Host header in the request. For more information about available AWS Regions and endpoints for AWS Storage Gateway, see Regions and Endpoints in the Amazon Web Services Glossary. Valid Values: See AWS Storage Gateway Regions and Endpoints in the AWS General Reference. ", + "GatewayTimezone": "A value that indicates the time zone you want to set for the gateway. The time zone is of the format \"GMT-hr:mm\" or \"GMT+hr:mm\". For example, GMT-4:00 indicates the time is 4 hours behind GMT. GMT+2:00 indicates the time is 2 hours ahead of GMT. The time zone is used, for example, for scheduling snapshots and your gateway's maintenance schedule.", + "ActivationKey": "Your gateway activation key. You can obtain the activation key by sending an HTTP GET request with redirects enabled to the gateway IP address (port 80). The redirect URL returned in the response provides you the activation key for your gateway in the query string parameter activationKey. It may also include other activation-related parameters, however, these are merely defaults -- the arguments you pass to the ActivateGateway API call determine the actual configuration of your gateway. For more information, see https://docs.aws.amazon.com/storagegateway/latest/userguide/get-activation-key.html in the Storage Gateway User Guide." +} + +Optional Parameters +{ + "Tags": "A list of up to 50 tags that you can assign to the gateway. Each tag is a key-value pair. Valid characters for key and value are letters, spaces, and numbers that can be represented in UTF-8 format, and the following special characters: + - = . _ : / @. The maximum length of a tag's key is 128 characters, and the maximum length for a tag's value is 256 characters. ", + "MediumChangerType": "The value that indicates the type of medium changer to use for tape gateway. This field is optional. Valid Values: \"STK-L700\", \"AWS-Gateway-VTL\"", + "TapeDriveType": "The value that indicates the type of tape drive to use for tape gateway. This field is optional. Valid Values: \"IBM-ULT3580-TD5\" ", + "GatewayType": "A value that defines the type of gateway to activate. The type specified is critical to all later functions of the gateway and cannot be changed after activation. The default value is CACHED. Valid Values: \"STORED\", \"CACHED\", \"VTL\", \"FILE_S3\"" +} +""" +ActivateGateway(args) = storage_gateway("ActivateGateway", args) + +""" + DescribeWorkingStorage() + +Returns information about the working storage of a gateway. This operation is only supported in the stored volumes gateway type. This operation is deprecated in cached volumes API version (20120630). Use DescribeUploadBuffer instead. Working storage is also referred to as upload buffer. You can also use the DescribeUploadBuffer operation to add upload buffer to a stored volume gateway. The response includes disk IDs that are configured as working storage, and it includes the amount of working storage allocated and used. + +Required Parameters +{ + "GatewayARN": "" +} +""" +DescribeWorkingStorage(args) = storage_gateway("DescribeWorkingStorage", args) + +""" + DescribeCachediSCSIVolumes() + +Returns a description of the gateway volumes specified in the request. This operation is only supported in the cached volume gateway types. The list of gateway volumes in the request must be from one gateway. In the response Amazon Storage Gateway returns volume information sorted by volume Amazon Resource Name (ARN). + +Required Parameters +{ + "VolumeARNs": "An array of strings where each string represents the Amazon Resource Name (ARN) of a cached volume. All of the specified cached volumes must from the same gateway. Use ListVolumes to get volume ARNs for a gateway." +} +""" +DescribeCachediSCSIVolumes(args) = storage_gateway("DescribeCachediSCSIVolumes", args) + +""" + DeleteChapCredentials() + +Deletes Challenge-Handshake Authentication Protocol (CHAP) credentials for a specified iSCSI target and initiator pair. This operation is supported in volume and tape gateway types. + +Required Parameters +{ + "TargetARN": "The Amazon Resource Name (ARN) of the iSCSI volume target. Use the DescribeStorediSCSIVolumes operation to return to retrieve the TargetARN for specified VolumeARN.", + "InitiatorName": "The iSCSI initiator that connects to the target." +} +""" +DeleteChapCredentials(args) = storage_gateway("DeleteChapCredentials", args) + +""" + ListVolumes() + +Lists the iSCSI stored volumes of a gateway. Results are sorted by volume ARN. The response includes only the volume ARNs. If you want additional volume information, use the DescribeStorediSCSIVolumes or the DescribeCachediSCSIVolumes API. The operation supports pagination. By default, the operation returns a maximum of up to 100 volumes. You can optionally specify the Limit field in the body to limit the number of volumes in the response. If the number of volumes returned in the response is truncated, the response includes a Marker field. You can use this Marker value in your subsequent request to retrieve the next set of volumes. This operation is only supported in the cached volume and stored volume gateway types. + +Optional Parameters +{ + "Marker": "A string that indicates the position at which to begin the returned list of volumes. Obtain the marker from the response of a previous List iSCSI Volumes request.", + "GatewayARN": "", + "Limit": "Specifies that the list of volumes returned be limited to the specified number of items." +} +""" +ListVolumes() = storage_gateway("ListVolumes") +ListVolumes(args) = storage_gateway("ListVolumes", args) + +""" + CreateSnapshotFromVolumeRecoveryPoint() + +Initiates a snapshot of a gateway from a volume recovery point. This operation is only supported in the cached volume gateway type. A volume recovery point is a point in time at which all data of the volume is consistent and from which you can create a snapshot. To get a list of volume recovery point for cached volume gateway, use ListVolumeRecoveryPoints. In the CreateSnapshotFromVolumeRecoveryPoint request, you identify the volume by providing its Amazon Resource Name (ARN). You must also provide a description for the snapshot. When the gateway takes a snapshot of the specified volume, the snapshot and its description appear in the AWS Storage Gateway console. In response, the gateway returns you a snapshot ID. You can use this snapshot ID to check the snapshot progress or later use it when you want to create a volume from a snapshot. To list or delete a snapshot, you must use the Amazon EC2 API. For more information, in Amazon Elastic Compute Cloud API Reference. + +Required Parameters +{ + "VolumeARN": "The Amazon Resource Name (ARN) of the iSCSI volume target. Use the DescribeStorediSCSIVolumes operation to return to retrieve the TargetARN for specified VolumeARN.", + "SnapshotDescription": "Textual description of the snapshot that appears in the Amazon EC2 console, Elastic Block Store snapshots panel in the Description field, and in the AWS Storage Gateway snapshot Details pane, Description field" +} + +Optional Parameters +{ + "Tags": "A list of up to 50 tags that can be assigned to a snapshot. Each tag is a key-value pair. Valid characters for key and value are letters, spaces, and numbers representable in UTF-8 format, and the following special characters: + - = . _ : / @. The maximum length of a tag's key is 128 characters, and the maximum length for a tag's value is 256. " +} +""" +CreateSnapshotFromVolumeRecoveryPoint(args) = storage_gateway("CreateSnapshotFromVolumeRecoveryPoint", args) + +""" + CreateNFSFileShare() + +Creates a Network File System (NFS) file share on an existing file gateway. In Storage Gateway, a file share is a file system mount point backed by Amazon S3 cloud storage. Storage Gateway exposes file shares using a NFS interface. This operation is only supported for file gateways. File gateway requires AWS Security Token Service (AWS STS) to be activated to enable you create a file share. Make sure AWS STS is activated in the AWS Region you are creating your file gateway in. If AWS STS is not activated in the AWS Region, activate it. For information about how to activate AWS STS, see Activating and Deactivating AWS STS in an AWS Region in the AWS Identity and Access Management User Guide. File gateway does not support creating hard or symbolic links on a file share. + +Required Parameters +{ + "LocationARN": "The ARN of the backed storage used for storing file data. ", + "GatewayARN": "The Amazon Resource Name (ARN) of the file gateway on which you want to create a file share.", + "ClientToken": "A unique string value that you supply that is used by file gateway to ensure idempotent file share creation.", + "Role": "The ARN of the AWS Identity and Access Management (IAM) role that a file gateway assumes when it accesses the underlying storage. " +} + +Optional Parameters +{ + "DefaultStorageClass": "The default storage class for objects put into an Amazon S3 bucket by the file gateway. Possible values are S3_STANDARD, S3_STANDARD_IA, or S3_ONEZONE_IA. If this field is not populated, the default value S3_STANDARD is used. Optional.", + "Tags": "A list of up to 50 tags that can be assigned to the NFS file share. Each tag is a key-value pair. Valid characters for key and value are letters, spaces, and numbers representable in UTF-8 format, and the following special characters: + - = . _ : / @. The maximum length of a tag's key is 128 characters, and the maximum length for a tag's value is 256. ", + "ReadOnly": "A value that sets the write status of a file share. This value is true if the write status is read-only, and otherwise false.", + "GuessMIMETypeEnabled": "A value that enables guessing of the MIME type for uploaded objects based on file extensions. Set this value to true to enable MIME type guessing, and otherwise to false. The default value is true.", + "KMSEncrypted": "True to use Amazon S3 server side encryption with your own AWS KMS key, or false to use a key managed by Amazon S3. Optional.", + "NFSFileShareDefaults": "File share default values. Optional.", + "ObjectACL": "A value that sets the access control list permission for objects in the S3 bucket that a file gateway puts objects into. The default value is \"private\".", + "RequesterPays": "A value that sets who pays the cost of the request and the cost associated with data download from the S3 bucket. If this value is set to true, the requester pays the costs. Otherwise the S3 bucket owner pays. However, the S3 bucket owner always pays the cost of storing data. RequesterPays is a configuration for the S3 bucket that backs the file share, so make sure that the configuration on the file share is the same as the S3 bucket configuration. ", + "Squash": "A value that maps a user to anonymous user. Valid options are the following: RootSquash - Only root is mapped to anonymous user. NoSquash - No one is mapped to anonymous user AllSquash - Everyone is mapped to anonymous user. ", + "KMSKey": "The Amazon Resource Name (ARN) AWS KMS key used for Amazon S3 server side encryption. This value can only be set when KMSEncrypted is true. Optional.", + "ClientList": "The list of clients that are allowed to access the file gateway. The list must contain either valid IP addresses or valid CIDR blocks. " +} +""" +CreateNFSFileShare(args) = storage_gateway("CreateNFSFileShare", args) + +""" + SetLocalConsolePassword() + +Sets the password for your VM local console. When you log in to the local console for the first time, you log in to the VM with the default credentials. We recommend that you set a new password. You don't need to know the default password to set a new password. + +Required Parameters +{ + "LocalConsolePassword": "The password you want to set for your VM local console.", + "GatewayARN": "" +} +""" +SetLocalConsolePassword(args) = storage_gateway("SetLocalConsolePassword", args) + +""" + DescribeVTLDevices() + +Returns a description of virtual tape library (VTL) devices for the specified tape gateway. In the response, AWS Storage Gateway returns VTL device information. This operation is only supported in the tape gateway type. + +Required Parameters +{ + "GatewayARN": "" +} + +Optional Parameters +{ + "Marker": "An opaque string that indicates the position at which to begin describing the VTL devices.", + "VTLDeviceARNs": "An array of strings, where each string represents the Amazon Resource Name (ARN) of a VTL device. All of the specified VTL devices must be from the same gateway. If no VTL devices are specified, the result will contain all devices on the specified gateway. ", + "Limit": "Specifies that the number of VTL devices described be limited to the specified number." +} +""" +DescribeVTLDevices(args) = storage_gateway("DescribeVTLDevices", args) + +""" + AddWorkingStorage() + +Configures one or more gateway local disks as working storage for a gateway. This operation is only supported in the stored volume gateway type. This operation is deprecated in cached volume API version 20120630. Use AddUploadBuffer instead. Working storage is also referred to as upload buffer. You can also use the AddUploadBuffer operation to add upload buffer to a stored volume gateway. In the request, you specify the gateway Amazon Resource Name (ARN) to which you want to add working storage, and one or more disk IDs that you want to configure as working storage. + +Required Parameters +{ + "GatewayARN": "", + "DiskIds": "An array of strings that identify disks that are to be configured as working storage. Each string have a minimum length of 1 and maximum length of 300. You can get the disk IDs from the ListLocalDisks API." +} +""" +AddWorkingStorage(args) = storage_gateway("AddWorkingStorage", args) + +""" + DescribeMaintenanceStartTime() + +Returns your gateway's weekly maintenance start time including the day and time of the week. Note that values are in terms of the gateway's time zone. + +Required Parameters +{ + "GatewayARN": "" +} +""" +DescribeMaintenanceStartTime(args) = storage_gateway("DescribeMaintenanceStartTime", args) + +""" + DescribeSnapshotSchedule() + +Describes the snapshot schedule for the specified gateway volume. The snapshot schedule information includes intervals at which snapshots are automatically initiated on the volume. This operation is only supported in the cached volume and stored volume types. + +Required Parameters +{ + "VolumeARN": "The Amazon Resource Name (ARN) of the volume. Use the ListVolumes operation to return a list of gateway volumes." +} +""" +DescribeSnapshotSchedule(args) = storage_gateway("DescribeSnapshotSchedule", args) + +""" + StartAvailabilityMonitorTest() + +Start a test that verifies that the specified gateway is configured for High Availability monitoring in your host environment. This request only initiates the test and that a successful response only indicates that the test was started. It doesn't indicate that the test passed. For the status of the test, invoke the DescribeAvailabilityMonitorTest API. Starting this test will cause your gateway to go offline for a brief period. + +Required Parameters +{ + "GatewayARN": "" +} +""" +StartAvailabilityMonitorTest(args) = storage_gateway("StartAvailabilityMonitorTest", args) + +""" + ListFileShares() + +Gets a list of the file shares for a specific file gateway, or the list of file shares that belong to the calling user account. This operation is only supported for file gateways. + +Optional Parameters +{ + "Marker": "Opaque pagination token returned from a previous ListFileShares operation. If present, Marker specifies where to continue the list from after a previous call to ListFileShares. Optional.", + "GatewayARN": "The Amazon resource Name (ARN) of the gateway whose file shares you want to list. If this field is not present, all file shares under your account are listed.", + "Limit": "The maximum number of file shares to return in the response. The value must be an integer with a value greater than zero. Optional." +} +""" +ListFileShares() = storage_gateway("ListFileShares") +ListFileShares(args) = storage_gateway("ListFileShares", args) + +""" + NotifyWhenUploaded() + +Sends you notification through CloudWatch Events when all files written to your file share have been uploaded to Amazon S3. AWS Storage Gateway can send a notification through Amazon CloudWatch Events when all files written to your file share up to that point in time have been uploaded to Amazon S3. These files include files written to the file share up to the time that you make a request for notification. When the upload is done, Storage Gateway sends you notification through an Amazon CloudWatch Event. You can configure CloudWatch Events to send the notification through event targets such as Amazon SNS or AWS Lambda function. This operation is only supported for file gateways. For more information, see Getting File Upload Notification in the Storage Gateway User Guide (https://docs.aws.amazon.com/storagegateway/latest/userguide/monitoring-file-gateway.html#get-upload-notification). + +Required Parameters +{ + "FileShareARN": "" +} +""" +NotifyWhenUploaded(args) = storage_gateway("NotifyWhenUploaded", args) + +""" + DescribeTapeRecoveryPoints() + +Returns a list of virtual tape recovery points that are available for the specified tape gateway. A recovery point is a point-in-time view of a virtual tape at which all the data on the virtual tape is consistent. If your gateway crashes, virtual tapes that have recovery points can be recovered to a new gateway. This operation is only supported in the tape gateway type. + +Required Parameters +{ + "GatewayARN": "" +} + +Optional Parameters +{ + "Marker": "An opaque string that indicates the position at which to begin describing the virtual tape recovery points.", + "Limit": "Specifies that the number of virtual tape recovery points that are described be limited to the specified number." +} +""" +DescribeTapeRecoveryPoints(args) = storage_gateway("DescribeTapeRecoveryPoints", args) + +""" + ListVolumeRecoveryPoints() + +Lists the recovery points for a specified gateway. This operation is only supported in the cached volume gateway type. Each cache volume has one recovery point. A volume recovery point is a point in time at which all data of the volume is consistent and from which you can create a snapshot or clone a new cached volume from a source volume. To create a snapshot from a volume recovery point use the CreateSnapshotFromVolumeRecoveryPoint operation. + +Required Parameters +{ + "GatewayARN": "" +} +""" +ListVolumeRecoveryPoints(args) = storage_gateway("ListVolumeRecoveryPoints", args) + +""" + AssignTapePool() + +Assigns a tape to a tape pool for archiving. The tape assigned to a pool is archived in the S3 storage class that is associated with the pool. When you use your backup application to eject the tape, the tape is archived directly into the S3 storage class (Glacier or Deep Archive) that corresponds to the pool. Valid values: "GLACIER", "DEEP_ARCHIVE" + +Required Parameters +{ + "TapeARN": "The unique Amazon Resource Name (ARN) of the virtual tape that you want to add to the tape pool.", + "PoolId": "The ID of the pool that you want to add your tape to for archiving. The tape in this pool is archived in the S3 storage class that is associated with the pool. When you use your backup application to eject the tape, the tape is archived directly into the storage class (Glacier or Deep Archive) that corresponds to the pool. Valid values: \"GLACIER\", \"DEEP_ARCHIVE\"" +} +""" +AssignTapePool(args) = storage_gateway("AssignTapePool", args) + +""" + UpdateSMBFileShare() + +Updates a Server Message Block (SMB) file share. To leave a file share field unchanged, set the corresponding input field to null. This operation is only supported for file gateways. File gateways require AWS Security Token Service (AWS STS) to be activated to enable you to create a file share. Make sure that AWS STS is activated in the AWS Region you are creating your file gateway in. If AWS STS is not activated in this AWS Region, activate it. For information about how to activate AWS STS, see Activating and Deactivating AWS STS in an AWS Region in the AWS Identity and Access Management User Guide. File gateways don't support creating hard or symbolic links on a file share. + +Required Parameters +{ + "FileShareARN": "The Amazon Resource Name (ARN) of the SMB file share that you want to update." +} + +Optional Parameters +{ + "DefaultStorageClass": "The default storage class for objects put into an Amazon S3 bucket by the file gateway. Possible values are S3_STANDARD, S3_STANDARD_IA, or S3_ONEZONE_IA. If this field is not populated, the default value S3_STANDARD is used. Optional.", + "ValidUserList": "A list of users or groups in the Active Directory that are allowed to access the file share. A group must be prefixed with the @ character. For example @group1. Can only be set if Authentication is set to ActiveDirectory.", + "ReadOnly": "A value that sets the write status of a file share. This value is true if the write status is read-only, and otherwise false.", + "AdminUserList": "A list of users in the Active Directory that have administrator rights to the file share. A group must be prefixed with the @ character. For example @group1. Can only be set if Authentication is set to ActiveDirectory.", + "GuessMIMETypeEnabled": "A value that enables guessing of the MIME type for uploaded objects based on file extensions. Set this value to true to enable MIME type guessing, and otherwise to false. The default value is true.", + "KMSEncrypted": "True to use Amazon S3 server side encryption with your own AWS KMS key, or false to use a key managed by Amazon S3. Optional.", + "ObjectACL": "A value that sets the access control list permission for objects in the S3 bucket that a file gateway puts objects into. The default value is \"private\".", + "SMBACLEnabled": "Set this value to \"true to enable ACL (access control list) on the SMB file share. Set it to \"false\" to map file and directory permissions to the POSIX permissions. For more information, see https://docs.aws.amazon.com/storagegateway/latest/userguide/smb-acl.htmlin the Storage Gateway User Guide.", + "RequesterPays": "A value that sets who pays the cost of the request and the cost associated with data download from the S3 bucket. If this value is set to true, the requester pays the costs. Otherwise the S3 bucket owner pays. However, the S3 bucket owner always pays the cost of storing data. RequesterPays is a configuration for the S3 bucket that backs the file share, so make sure that the configuration on the file share is the same as the S3 bucket configuration. ", + "KMSKey": "The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 server side encryption. This value can only be set when KMSEncrypted is true. Optional.", + "InvalidUserList": "A list of users or groups in the Active Directory that are not allowed to access the file share. A group must be prefixed with the @ character. For example @group1. Can only be set if Authentication is set to ActiveDirectory." +} +""" +UpdateSMBFileShare(args) = storage_gateway("UpdateSMBFileShare", args) + +""" + RefreshCache() + +Refreshes the cache for the specified file share. This operation finds objects in the Amazon S3 bucket that were added, removed or replaced since the gateway last listed the bucket's contents and cached the results. This operation is only supported in the file gateway type. You can subscribe to be notified through an Amazon CloudWatch event when your RefreshCache operation completes. For more information, see Getting Notified About File Operations. When this API is called, it only initiates the refresh operation. When the API call completes and returns a success code, it doesn't necessarily mean that the file refresh has completed. You should use the refresh-complete notification to determine that the operation has completed before you check for new files on the gateway file share. You can subscribe to be notified through an CloudWatch event when your RefreshCache operation completes. Throttle limit: This API is asynchronous so the gateway will accept no more than two refreshes at any time. We recommend using the refresh-complete CloudWatch event notification before issuing additional requests. For more information, see Getting Notified About File Operations. If you invoke the RefreshCache API when two requests are already being processed, any new request will cause an InvalidGatewayRequestException error because too many requests were sent to the server. For more information, see "https://docs.aws.amazon.com/storagegateway/latest/userguide/monitoring-file-gateway.html#get-notification". + +Required Parameters +{ + "FileShareARN": "The Amazon Resource Name (ARN) of the file share you want to refresh." +} + +Optional Parameters +{ + "Recursive": "A value that specifies whether to recursively refresh folders in the cache. The refresh includes folders that were in the cache the last time the gateway listed the folder's contents. If this value set to \"true\", each folder that is listed in FolderList is recursively updated. Otherwise, subfolders listed in FolderList are not refreshed. Only objects that are in folders listed directly under FolderList are found and used for the update. The default is \"true\".", + "FolderList": "A comma-separated list of the paths of folders to refresh in the cache. The default is [\"/\"]. The default refreshes objects and folders at the root of the Amazon S3 bucket. If Recursive is set to \"true\", the entire S3 bucket that the file share has access to is refreshed." +} +""" +RefreshCache(args) = storage_gateway("RefreshCache", args) + +""" + ListTapes() + +Lists virtual tapes in your virtual tape library (VTL) and your virtual tape shelf (VTS). You specify the tapes to list by specifying one or more tape Amazon Resource Names (ARNs). If you don't specify a tape ARN, the operation lists all virtual tapes in both your VTL and VTS. This operation supports pagination. By default, the operation returns a maximum of up to 100 tapes. You can optionally specify the Limit parameter in the body to limit the number of tapes in the response. If the number of tapes returned in the response is truncated, the response includes a Marker element that you can use in your subsequent request to retrieve the next set of tapes. This operation is only supported in the tape gateway type. + +Optional Parameters +{ + "Marker": "A string that indicates the position at which to begin the returned list of tapes.", + "TapeARNs": "", + "Limit": "An optional number limit for the tapes in the list returned by this call." +} +""" +ListTapes() = storage_gateway("ListTapes") +ListTapes(args) = storage_gateway("ListTapes", args) + +""" + UpdateSMBSecurityStrategy() + +Updates the SMB security strategy on a file gateway. This action is only supported in file gateways. This API is called Security level in the User Guide. A higher security level can affect performance of the gateway. + +Required Parameters +{ + "GatewayARN": "", + "SMBSecurityStrategy": "Specifies the type of security strategy. ClientSpecified: if you use this option, requests are established based on what is negotiated by the client. This option is recommended when you want to maximize compatibility across different clients in your environment. MandatorySigning: if you use this option, file gateway only allows connections from SMBv2 or SMBv3 clients that have signing enabled. This option works with SMB clients on Microsoft Windows Vista, Windows Server 2008 or newer. MandatoryEncryption: if you use this option, file gateway only allows connections from SMBv3 clients that have encryption enabled. This option is highly recommended for environments that handle sensitive data. This option works with SMB clients on Microsoft Windows 8, Windows Server 2012 or newer. " +} +""" +UpdateSMBSecurityStrategy(args) = storage_gateway("UpdateSMBSecurityStrategy", args) + +""" + UpdateNFSFileShare() + +Updates a Network File System (NFS) file share. This operation is only supported in the file gateway type. To leave a file share field unchanged, set the corresponding input field to null. Updates the following file share setting: Default storage class for your S3 bucket Metadata defaults for your S3 bucket Allowed NFS clients for your file share Squash settings Write status of your file share To leave a file share field unchanged, set the corresponding input field to null. This operation is only supported in file gateways. + +Required Parameters +{ + "FileShareARN": "The Amazon Resource Name (ARN) of the file share to be updated. " +} + +Optional Parameters +{ + "KMSEncrypted": "True to use Amazon S3 server side encryption with your own AWS KMS key, or false to use a key managed by Amazon S3. Optional. ", + "ReadOnly": "A value that sets the write status of a file share. This value is true if the write status is read-only, and otherwise false.", + "DefaultStorageClass": "The default storage class for objects put into an Amazon S3 bucket by the file gateway. Possible values are S3_STANDARD, S3_STANDARD_IA, or S3_ONEZONE_IA. If this field is not populated, the default value S3_STANDARD is used. Optional.", + "RequesterPays": "A value that sets who pays the cost of the request and the cost associated with data download from the S3 bucket. If this value is set to true, the requester pays the costs. Otherwise the S3 bucket owner pays. However, the S3 bucket owner always pays the cost of storing data. RequesterPays is a configuration for the S3 bucket that backs the file share, so make sure that the configuration on the file share is the same as the S3 bucket configuration. ", + "Squash": "The user mapped to anonymous user. Valid options are the following: RootSquash - Only root is mapped to anonymous user. NoSquash - No one is mapped to anonymous user AllSquash - Everyone is mapped to anonymous user. ", + "NFSFileShareDefaults": "The default values for the file share. Optional.", + "KMSKey": "The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 server side encryption. This value can only be set when KMSEncrypted is true. Optional. ", + "ClientList": "The list of clients that are allowed to access the file gateway. The list must contain either valid IP addresses or valid CIDR blocks.", + "ObjectACL": "A value that sets the access control list permission for objects in the S3 bucket that a file gateway puts objects into. The default value is \"private\".", + "GuessMIMETypeEnabled": "A value that enables guessing of the MIME type for uploaded objects based on file extensions. Set this value to true to enable MIME type guessing, and otherwise to false. The default value is true." +} +""" +UpdateNFSFileShare(args) = storage_gateway("UpdateNFSFileShare", args) + +""" + ResetCache() + +Resets all cache disks that have encountered a error and makes the disks available for reconfiguration as cache storage. If your cache disk encounters a error, the gateway prevents read and write operations on virtual tapes in the gateway. For example, an error can occur when a disk is corrupted or removed from the gateway. When a cache is reset, the gateway loses its cache storage. At this point you can reconfigure the disks as cache disks. This operation is only supported in the cached volume and tape types. If the cache disk you are resetting contains data that has not been uploaded to Amazon S3 yet, that data can be lost. After you reset cache disks, there will be no configured cache disks left in the gateway, so you must configure at least one new cache disk for your gateway to function properly. + +Required Parameters +{ + "GatewayARN": "" +} +""" +ResetCache(args) = storage_gateway("ResetCache", args) + +""" + ShutdownGateway() + +Shuts down a gateway. To specify which gateway to shut down, use the Amazon Resource Name (ARN) of the gateway in the body of your request. The operation shuts down the gateway service component running in the gateway's virtual machine (VM) and not the host VM. If you want to shut down the VM, it is recommended that you first shut down the gateway component in the VM to avoid unpredictable conditions. After the gateway is shutdown, you cannot call any other API except StartGateway, DescribeGatewayInformation, and ListGateways. For more information, see ActivateGateway. Your applications cannot read from or write to the gateway's storage volumes, and there are no snapshots taken. When you make a shutdown request, you will get a 200 OK success response immediately. However, it might take some time for the gateway to shut down. You can call the DescribeGatewayInformation API to check the status. For more information, see ActivateGateway. If do not intend to use the gateway again, you must delete the gateway (using DeleteGateway) to no longer pay software charges associated with the gateway. + +Required Parameters +{ + "GatewayARN": "" +} +""" +ShutdownGateway(args) = storage_gateway("ShutdownGateway", args) + +""" + ListTagsForResource() + +Lists the tags that have been added to the specified resource. This operation is supported in storage gateways of all types. + +Required Parameters +{ + "ResourceARN": "The Amazon Resource Name (ARN) of the resource for which you want to list tags." +} + +Optional Parameters +{ + "Marker": "An opaque string that indicates the position at which to begin returning the list of tags.", + "Limit": "Specifies that the list of tags returned be limited to the specified number of items." +} +""" +ListTagsForResource(args) = storage_gateway("ListTagsForResource", args) + +""" + DeleteSnapshotSchedule() + +Deletes a snapshot of a volume. You can take snapshots of your gateway volumes on a scheduled or ad hoc basis. This API action enables you to delete a snapshot schedule for a volume. For more information, see Working with Snapshots. In the DeleteSnapshotSchedule request, you identify the volume by providing its Amazon Resource Name (ARN). This operation is only supported in stored and cached volume gateway types. To list or delete a snapshot, you must use the Amazon EC2 API. in Amazon Elastic Compute Cloud API Reference. + +Required Parameters +{ + "VolumeARN": "The volume which snapshot schedule to delete." +} +""" +DeleteSnapshotSchedule(args) = storage_gateway("DeleteSnapshotSchedule", args) + +""" + DescribeTapes() + +Returns a description of the specified Amazon Resource Name (ARN) of virtual tapes. If a TapeARN is not specified, returns a description of all virtual tapes associated with the specified gateway. This operation is only supported in the tape gateway type. + +Required Parameters +{ + "GatewayARN": "" +} + +Optional Parameters +{ + "Marker": "A marker value, obtained in a previous call to DescribeTapes. This marker indicates which page of results to retrieve. If not specified, the first page of results is retrieved.", + "TapeARNs": "Specifies one or more unique Amazon Resource Names (ARNs) that represent the virtual tapes you want to describe. If this parameter is not specified, Tape gateway returns a description of all virtual tapes associated with the specified gateway.", + "Limit": "Specifies that the number of virtual tapes described be limited to the specified number. Amazon Web Services may impose its own limit, if this field is not set. " +} +""" +DescribeTapes(args) = storage_gateway("DescribeTapes", args) + +""" + CreateSMBFileShare() + +Creates a Server Message Block (SMB) file share on an existing file gateway. In Storage Gateway, a file share is a file system mount point backed by Amazon S3 cloud storage. Storage Gateway expose file shares using a SMB interface. This operation is only supported for file gateways. File gateways require AWS Security Token Service (AWS STS) to be activated to enable you to create a file share. Make sure that AWS STS is activated in the AWS Region you are creating your file gateway in. If AWS STS is not activated in this AWS Region, activate it. For information about how to activate AWS STS, see Activating and Deactivating AWS STS in an AWS Region in the AWS Identity and Access Management User Guide. File gateways don't support creating hard or symbolic links on a file share. + +Required Parameters +{ + "LocationARN": "The ARN of the backed storage used for storing file data. ", + "GatewayARN": "The Amazon Resource Name (ARN) of the file gateway on which you want to create a file share.", + "ClientToken": "A unique string value that you supply that is used by file gateway to ensure idempotent file share creation.", + "Role": "The ARN of the AWS Identity and Access Management (IAM) role that a file gateway assumes when it accesses the underlying storage. " +} + +Optional Parameters +{ + "Authentication": "The authentication method that users use to access the file share. Valid values are ActiveDirectory or GuestAccess. The default is ActiveDirectory.", + "DefaultStorageClass": "The default storage class for objects put into an Amazon S3 bucket by the file gateway. Possible values are S3_STANDARD, S3_STANDARD_IA, or S3_ONEZONE_IA. If this field is not populated, the default value S3_STANDARD is used. Optional.", + "ValidUserList": "A list of users or groups in the Active Directory that are allowed to access the file share. A group must be prefixed with the @ character. For example @group1. Can only be set if Authentication is set to ActiveDirectory.", + "Tags": "A list of up to 50 tags that can be assigned to the NFS file share. Each tag is a key-value pair. Valid characters for key and value are letters, spaces, and numbers representable in UTF-8 format, and the following special characters: + - = . _ : / @. The maximum length of a tag's key is 128 characters, and the maximum length for a tag's value is 256. ", + "ReadOnly": "A value that sets the write status of a file share. This value is true if the write status is read-only, and otherwise false.", + "AdminUserList": "A list of users in the Active Directory that will be granted administrator privileges on the file share. These users can do all file operations as the super-user. Use this option very carefully, because any user in this list can do anything they like on the file share, regardless of file permissions. ", + "GuessMIMETypeEnabled": "A value that enables guessing of the MIME type for uploaded objects based on file extensions. Set this value to true to enable MIME type guessing, and otherwise to false. The default value is true.", + "KMSEncrypted": "True to use Amazon S3 server side encryption with your own AWS KMS key, or false to use a key managed by Amazon S3. Optional.", + "ObjectACL": "A value that sets the access control list permission for objects in the S3 bucket that a file gateway puts objects into. The default value is \"private\".", + "SMBACLEnabled": "Set this value to \"true to enable ACL (access control list) on the SMB file share. Set it to \"false\" to map file and directory permissions to the POSIX permissions. For more information, see https://docs.aws.amazon.com/storagegateway/latest/userguide/smb-acl.html in the Storage Gateway User Guide.", + "RequesterPays": "A value that sets who pays the cost of the request and the cost associated with data download from the S3 bucket. If this value is set to true, the requester pays the costs. Otherwise the S3 bucket owner pays. However, the S3 bucket owner always pays the cost of storing data. RequesterPays is a configuration for the S3 bucket that backs the file share, so make sure that the configuration on the file share is the same as the S3 bucket configuration. ", + "KMSKey": "The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 server side encryption. This value can only be set when KMSEncrypted is true. Optional.", + "InvalidUserList": "A list of users or groups in the Active Directory that are not allowed to access the file share. A group must be prefixed with the @ character. For example @group1. Can only be set if Authentication is set to ActiveDirectory." +} +""" +CreateSMBFileShare(args) = storage_gateway("CreateSMBFileShare", args) + +""" + DeleteTape() + +Deletes the specified virtual tape. This operation is only supported in the tape gateway type. + +Required Parameters +{ + "GatewayARN": "The unique Amazon Resource Name (ARN) of the gateway that the virtual tape to delete is associated with. Use the ListGateways operation to return a list of gateways for your account and AWS Region.", + "TapeARN": "The Amazon Resource Name (ARN) of the virtual tape to delete." +} +""" +DeleteTape(args) = storage_gateway("DeleteTape", args) + +""" + RetrieveTapeArchive() + +Retrieves an archived virtual tape from the virtual tape shelf (VTS) to a tape gateway. Virtual tapes archived in the VTS are not associated with any gateway. However after a tape is retrieved, it is associated with a gateway, even though it is also listed in the VTS, that is, archive. This operation is only supported in the tape gateway type. Once a tape is successfully retrieved to a gateway, it cannot be retrieved again to another gateway. You must archive the tape again before you can retrieve it to another gateway. This operation is only supported in the tape gateway type. + +Required Parameters +{ + "GatewayARN": "The Amazon Resource Name (ARN) of the gateway you want to retrieve the virtual tape to. Use the ListGateways operation to return a list of gateways for your account and AWS Region. You retrieve archived virtual tapes to only one gateway and the gateway must be a tape gateway.", + "TapeARN": "The Amazon Resource Name (ARN) of the virtual tape you want to retrieve from the virtual tape shelf (VTS)." +} +""" +RetrieveTapeArchive(args) = storage_gateway("RetrieveTapeArchive", args) + +""" + AddTagsToResource() + +Adds one or more tags to the specified resource. You use tags to add metadata to resources, which you can use to categorize these resources. For example, you can categorize resources by purpose, owner, environment, or team. Each tag consists of a key and a value, which you define. You can add tags to the following AWS Storage Gateway resources: Storage gateways of all types Storage volumes Virtual tapes NFS and SMB file shares You can create a maximum of 50 tags for each resource. Virtual tapes and storage volumes that are recovered to a new gateway maintain their tags. + +Required Parameters +{ + "ResourceARN": "The Amazon Resource Name (ARN) of the resource you want to add tags to.", + "Tags": "The key-value pair that represents the tag you want to add to the resource. The value can be an empty string. Valid characters for key and value are letters, spaces, and numbers representable in UTF-8 format, and the following special characters: + - = . _ : / @. The maximum length of a tag's key is 128 characters, and the maximum length for a tag's value is 256. " +} +""" +AddTagsToResource(args) = storage_gateway("AddTagsToResource", args) + +""" + RemoveTagsFromResource() + +Removes one or more tags from the specified resource. This operation is supported in storage gateways of all types. + +Required Parameters +{ + "ResourceARN": "The Amazon Resource Name (ARN) of the resource you want to remove the tags from.", + "TagKeys": "The keys of the tags you want to remove from the specified resource. A tag is composed of a key/value pair." +} +""" +RemoveTagsFromResource(args) = storage_gateway("RemoveTagsFromResource", args) + +""" + StartGateway() + +Starts a gateway that you previously shut down (see ShutdownGateway). After the gateway starts, you can then make other API calls, your applications can read from or write to the gateway's storage volumes and you will be able to take snapshot backups. When you make a request, you will get a 200 OK success response immediately. However, it might take some time for the gateway to be ready. You should call DescribeGatewayInformation and check the status before making any additional API calls. For more information, see ActivateGateway. To specify which gateway to start, use the Amazon Resource Name (ARN) of the gateway in your request. + +Required Parameters +{ + "GatewayARN": "" +} +""" +StartGateway(args) = storage_gateway("StartGateway", args) + +""" + CancelRetrieval() + +Cancels retrieval of a virtual tape from the virtual tape shelf (VTS) to a gateway after the retrieval process is initiated. The virtual tape is returned to the VTS. This operation is only supported in the tape gateway type. + +Required Parameters +{ + "GatewayARN": "", + "TapeARN": "The Amazon Resource Name (ARN) of the virtual tape you want to cancel retrieval for." +} +""" +CancelRetrieval(args) = storage_gateway("CancelRetrieval", args) + +""" + DisableGateway() + +Disables a tape gateway when the gateway is no longer functioning. For example, if your gateway VM is damaged, you can disable the gateway so you can recover virtual tapes. Use this operation for a tape gateway that is not reachable or not functioning. This operation is only supported in the tape gateway type. Once a gateway is disabled it cannot be enabled. + +Required Parameters +{ + "GatewayARN": "" +} +""" +DisableGateway(args) = storage_gateway("DisableGateway", args) + +""" + CreateStorediSCSIVolume() + +Creates a volume on a specified gateway. This operation is only supported in the stored volume gateway type. The size of the volume to create is inferred from the disk size. You can choose to preserve existing data on the disk, create volume from an existing snapshot, or create an empty volume. If you choose to create an empty gateway volume, then any existing data on the disk is erased. In the request you must specify the gateway and the disk information on which you are creating the volume. In response, the gateway creates the volume and returns volume information such as the volume Amazon Resource Name (ARN), its size, and the iSCSI target ARN that initiators can use to connect to the volume target. + +Required Parameters +{ + "PreserveExistingData": "Specify this field as true if you want to preserve the data on the local disk. Otherwise, specifying this field as false creates an empty volume. Valid Values: true, false", + "DiskId": "The unique identifier for the gateway local disk that is configured as a stored volume. Use ListLocalDisks to list disk IDs for a gateway.", + "NetworkInterfaceId": "The network interface of the gateway on which to expose the iSCSI target. Only IPv4 addresses are accepted. Use DescribeGatewayInformation to get a list of the network interfaces available on a gateway. Valid Values: A valid IP address.", + "GatewayARN": "", + "TargetName": "The name of the iSCSI target used by an initiator to connect to a volume and used as a suffix for the target ARN. For example, specifying TargetName as myvolume results in the target ARN of arn:aws:storagegateway:us-east-2:111122223333:gateway/sgw-12A3456B/target/iqn.1997-05.com.amazon:myvolume. The target name must be unique across all volumes on a gateway. If you don't specify a value, Storage Gateway uses the value that was previously used for this volume as the new target name." +} + +Optional Parameters +{ + "KMSEncrypted": "True to use Amazon S3 server side encryption with your own AWS KMS key, or false to use a key managed by Amazon S3. Optional.", + "SnapshotId": "The snapshot ID (e.g. \"snap-1122aabb\") of the snapshot to restore as the new stored volume. Specify this field if you want to create the iSCSI storage volume from a snapshot otherwise do not include this field. To list snapshots for your account use DescribeSnapshots in the Amazon Elastic Compute Cloud API Reference.", + "Tags": "A list of up to 50 tags that can be assigned to a stored volume. Each tag is a key-value pair. Valid characters for key and value are letters, spaces, and numbers representable in UTF-8 format, and the following special characters: + - = . _ : / @. The maximum length of a tag's key is 128 characters, and the maximum length for a tag's value is 256. ", + "KMSKey": "The Amazon Resource Name (ARN) of the KMS key used for Amazon S3 server side encryption. This value can only be set when KMSEncrypted is true. Optional." +} +""" +CreateStorediSCSIVolume(args) = storage_gateway("CreateStorediSCSIVolume", args) + +""" + UpdateGatewayInformation() + +Updates a gateway's metadata, which includes the gateway's name and time zone. To specify which gateway to update, use the Amazon Resource Name (ARN) of the gateway in your request. For Gateways activated after September 2, 2015, the gateway's ARN contains the gateway ID rather than the gateway name. However, changing the name of the gateway has no effect on the gateway's ARN. + +Required Parameters +{ + "GatewayARN": "" +} + +Optional Parameters +{ + "GatewayName": "", + "CloudWatchLogGroupARN": "The Amazon Resource Name (ARN) of the Amazon CloudWatch log group that you want to use to monitor and log events in the gateway. For more information, see What Is Amazon CloudWatch Logs?.", + "GatewayTimezone": "A value that indicates the time zone of the gateway." +} +""" +UpdateGatewayInformation(args) = storage_gateway("UpdateGatewayInformation", args) + +""" + UpdateGatewaySoftwareNow() + +Updates the gateway virtual machine (VM) software. The request immediately triggers the software update. When you make this request, you get a 200 OK success response immediately. However, it might take some time for the update to complete. You can call DescribeGatewayInformation to verify the gateway is in the STATE_RUNNING state. A software update forces a system restart of your gateway. You can minimize the chance of any disruption to your applications by increasing your iSCSI Initiators' timeouts. For more information about increasing iSCSI Initiator timeouts for Windows and Linux, see Customizing Your Windows iSCSI Settings and Customizing Your Linux iSCSI Settings, respectively. + +Required Parameters +{ + "GatewayARN": "" +} +""" +UpdateGatewaySoftwareNow(args) = storage_gateway("UpdateGatewaySoftwareNow", args) + +""" + CancelArchival() + +Cancels archiving of a virtual tape to the virtual tape shelf (VTS) after the archiving process is initiated. This operation is only supported in the tape gateway type. + +Required Parameters +{ + "GatewayARN": "", + "TapeARN": "The Amazon Resource Name (ARN) of the virtual tape you want to cancel archiving for." +} +""" +CancelArchival(args) = storage_gateway("CancelArchival", args) + +""" + JoinDomain() + +Adds a file gateway to an Active Directory domain. This operation is only supported for file gateways that support the SMB file protocol. + +Required Parameters +{ + "UserName": "Sets the user name of user who has permission to add the gateway to the Active Directory domain. The domain user account should be enabled to join computers to the domain. For example, you can use the domain administrator account or an account with delegated permissions to join computers to the domain.", + "Password": "Sets the password of the user who has permission to add the gateway to the Active Directory domain.", + "DomainName": "The name of the domain that you want the gateway to join.", + "GatewayARN": "The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation to return a list of gateways for your account and AWS Region." +} + +Optional Parameters +{ + "DomainControllers": "List of IPv4 addresses, NetBIOS names, or host names of your domain server. If you need to specify the port number include it after the colon (“:”). For example, mydc.mydomain.com:389.", + "OrganizationalUnit": "The organizational unit (OU) is a container in an Active Directory that can hold users, groups, computers, and other OUs and this parameter specifies the OU that the gateway will join within the AD domain.", + "TimeoutInSeconds": "Specifies the time in seconds, in which the JoinDomain operation must complete. The default is 20 seconds." +} +""" +JoinDomain(args) = storage_gateway("JoinDomain", args) + +""" + ListLocalDisks() + +Returns a list of the gateway's local disks. To specify which gateway to describe, you use the Amazon Resource Name (ARN) of the gateway in the body of the request. The request returns a list of all disks, specifying which are configured as working storage, cache storage, or stored volume or not configured at all. The response includes a DiskStatus field. This field can have a value of present (the disk is available to use), missing (the disk is no longer connected to the gateway), or mismatch (the disk node is occupied by a disk that has incorrect metadata or the disk content is corrupted). + +Required Parameters +{ + "GatewayARN": "" +} +""" +ListLocalDisks(args) = storage_gateway("ListLocalDisks", args) + +""" + UpdateChapCredentials() + +Updates the Challenge-Handshake Authentication Protocol (CHAP) credentials for a specified iSCSI target. By default, a gateway does not have CHAP enabled; however, for added security, you might use it. This operation is supported in the volume and tape gateway types. When you update CHAP credentials, all existing connections on the target are closed and initiators must reconnect with the new credentials. + +Required Parameters +{ + "TargetARN": "The Amazon Resource Name (ARN) of the iSCSI volume target. Use the DescribeStorediSCSIVolumes operation to return the TargetARN for specified VolumeARN.", + "InitiatorName": "The iSCSI initiator that connects to the target.", + "SecretToAuthenticateInitiator": "The secret key that the initiator (for example, the Windows client) must provide to participate in mutual CHAP with the target. The secret key must be between 12 and 16 bytes when encoded in UTF-8. " +} + +Optional Parameters +{ + "SecretToAuthenticateTarget": "The secret key that the target must provide to participate in mutual CHAP with the initiator (e.g. Windows client). Byte constraints: Minimum bytes of 12. Maximum bytes of 16. The secret key must be between 12 and 16 bytes when encoded in UTF-8. " +} +""" +UpdateChapCredentials(args) = storage_gateway("UpdateChapCredentials", args) + +""" + DescribeUploadBuffer() + +Returns information about the upload buffer of a gateway. This operation is supported for the stored volume, cached volume and tape gateway types. The response includes disk IDs that are configured as upload buffer space, and it includes the amount of upload buffer space allocated and used. + +Required Parameters +{ + "GatewayARN": "" +} +""" +DescribeUploadBuffer(args) = storage_gateway("DescribeUploadBuffer", args) + +""" + DescribeAvailabilityMonitorTest() + +Returns information about the most recent High Availability monitoring test that was performed on the host in a cluster. If a test isn't performed, the status and start time in the response would be null. + +Required Parameters +{ + "GatewayARN": "" +} +""" +DescribeAvailabilityMonitorTest(args) = storage_gateway("DescribeAvailabilityMonitorTest", args) + +""" + CreateTapes() + +Creates one or more virtual tapes. You write data to the virtual tapes and then archive the tapes. This operation is only supported in the tape gateway type. Cache storage must be allocated to the gateway before you can create virtual tapes. Use the AddCache operation to add cache storage to a gateway. + +Required Parameters +{ + "TapeBarcodePrefix": "A prefix that you append to the barcode of the virtual tape you are creating. This prefix makes the barcode unique. The prefix must be 1 to 4 characters in length and must be one of the uppercase letters from A to Z. ", + "TapeSizeInBytes": "The size, in bytes, of the virtual tapes that you want to create. The size must be aligned by gigabyte (1024*1024*1024 byte). ", + "GatewayARN": "The unique Amazon Resource Name (ARN) that represents the gateway to associate the virtual tapes with. Use the ListGateways operation to return a list of gateways for your account and AWS Region.", + "ClientToken": "A unique identifier that you use to retry a request. If you retry a request, use the same ClientToken you specified in the initial request. Using the same ClientToken prevents creating the tape multiple times. ", + "NumTapesToCreate": "The number of virtual tapes that you want to create." +} + +Optional Parameters +{ + "KMSEncrypted": "True to use Amazon S3 server side encryption with your own AWS KMS key, or false to use a key managed by Amazon S3. Optional.", + "Tags": "A list of up to 50 tags that can be assigned to a virtual tape. Each tag is a key-value pair. Valid characters for key and value are letters, spaces, and numbers representable in UTF-8 format, and the following special characters: + - = . _ : / @. The maximum length of a tag's key is 128 characters, and the maximum length for a tag's value is 256. ", + "KMSKey": "The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 server side encryption. This value can only be set when KMSEncrypted is true. Optional.", + "PoolId": "The ID of the pool that you want to add your tape to for archiving. The tape in this pool is archived in the S3 storage class that is associated with the pool. When you use your backup application to eject the tape, the tape is archived directly into the storage class (Glacier or Deep Archive) that corresponds to the pool. Valid values: \"GLACIER\", \"DEEP_ARCHIVE\"" +} +""" +CreateTapes(args) = storage_gateway("CreateTapes", args) + +""" + UpdateVTLDeviceType() + +Updates the type of medium changer in a tape gateway. When you activate a tape gateway, you select a medium changer type for the tape gateway. This operation enables you to select a different type of medium changer after a tape gateway is activated. This operation is only supported in the tape gateway type. + +Required Parameters +{ + "DeviceType": "The type of medium changer you want to select. Valid Values: \"STK-L700\", \"AWS-Gateway-VTL\"", + "VTLDeviceARN": "The Amazon Resource Name (ARN) of the medium changer you want to select." +} +""" +UpdateVTLDeviceType(args) = storage_gateway("UpdateVTLDeviceType", args) + +""" + DescribeBandwidthRateLimit() + +Returns the bandwidth rate limits of a gateway. By default, these limits are not set, which means no bandwidth rate limiting is in effect. This operation is supported for the stored volume, cached volume and tape gateway types.' This operation only returns a value for a bandwidth rate limit only if the limit is set. If no limits are set for the gateway, then this operation returns only the gateway ARN in the response body. To specify which gateway to describe, use the Amazon Resource Name (ARN) of the gateway in your request. + +Required Parameters +{ + "GatewayARN": "" +} +""" +DescribeBandwidthRateLimit(args) = storage_gateway("DescribeBandwidthRateLimit", args) + +""" + CreateSnapshot() + +Initiates a snapshot of a volume. AWS Storage Gateway provides the ability to back up point-in-time snapshots of your data to Amazon Simple Storage (S3) for durable off-site recovery, as well as import the data to an Amazon Elastic Block Store (EBS) volume in Amazon Elastic Compute Cloud (EC2). You can take snapshots of your gateway volume on a scheduled or ad hoc basis. This API enables you to take ad-hoc snapshot. For more information, see Editing a Snapshot Schedule. In the CreateSnapshot request you identify the volume by providing its Amazon Resource Name (ARN). You must also provide description for the snapshot. When AWS Storage Gateway takes the snapshot of specified volume, the snapshot and description appears in the AWS Storage Gateway Console. In response, AWS Storage Gateway returns you a snapshot ID. You can use this snapshot ID to check the snapshot progress or later use it when you want to create a volume from a snapshot. This operation is only supported in stored and cached volume gateway type. To list or delete a snapshot, you must use the Amazon EC2 API. For more information, see DescribeSnapshots or DeleteSnapshot in the EC2 API reference. Volume and snapshot IDs are changing to a longer length ID format. For more information, see the important note on the Welcome page. + +Required Parameters +{ + "VolumeARN": "The Amazon Resource Name (ARN) of the volume. Use the ListVolumes operation to return a list of gateway volumes.", + "SnapshotDescription": "Textual description of the snapshot that appears in the Amazon EC2 console, Elastic Block Store snapshots panel in the Description field, and in the AWS Storage Gateway snapshot Details pane, Description field" +} + +Optional Parameters +{ + "Tags": "A list of up to 50 tags that can be assigned to a snapshot. Each tag is a key-value pair. Valid characters for key and value are letters, spaces, and numbers representable in UTF-8 format, and the following special characters: + - = . _ : / @. The maximum length of a tag's key is 128 characters, and the maximum length for a tag's value is 256. " +} +""" +CreateSnapshot(args) = storage_gateway("CreateSnapshot", args) + +""" + AddUploadBuffer() + +Configures one or more gateway local disks as upload buffer for a specified gateway. This operation is supported for the stored volume, cached volume and tape gateway types. In the request, you specify the gateway Amazon Resource Name (ARN) to which you want to add upload buffer, and one or more disk IDs that you want to configure as upload buffer. + +Required Parameters +{ + "GatewayARN": "", + "DiskIds": "An array of strings that identify disks that are to be configured as working storage. Each string have a minimum length of 1 and maximum length of 300. You can get the disk IDs from the ListLocalDisks API." +} +""" +AddUploadBuffer(args) = storage_gateway("AddUploadBuffer", args) + +""" + DescribeNFSFileShares() + +Gets a description for one or more Network File System (NFS) file shares from a file gateway. This operation is only supported for file gateways. + +Required Parameters +{ + "FileShareARNList": "An array containing the Amazon Resource Name (ARN) of each file share to be described. " +} +""" +DescribeNFSFileShares(args) = storage_gateway("DescribeNFSFileShares", args) + +""" + DescribeTapeArchives() + +Returns a description of specified virtual tapes in the virtual tape shelf (VTS). This operation is only supported in the tape gateway type. If a specific TapeARN is not specified, AWS Storage Gateway returns a description of all virtual tapes found in the VTS associated with your account. + +Optional Parameters +{ + "Marker": "An opaque string that indicates the position at which to begin describing virtual tapes.", + "TapeARNs": "Specifies one or more unique Amazon Resource Names (ARNs) that represent the virtual tapes you want to describe.", + "Limit": "Specifies that the number of virtual tapes descried be limited to the specified number." +} +""" +DescribeTapeArchives() = storage_gateway("DescribeTapeArchives") +DescribeTapeArchives(args) = storage_gateway("DescribeTapeArchives", args) + +""" + DeleteFileShare() + +Deletes a file share from a file gateway. This operation is only supported for file gateways. + +Required Parameters +{ + "FileShareARN": "The Amazon Resource Name (ARN) of the file share to be deleted. " +} + +Optional Parameters +{ + "ForceDelete": "If this value is set to true, the operation deletes a file share immediately and aborts all data uploads to AWS. Otherwise, the file share is not deleted until all data is uploaded to AWS. This process aborts the data upload process, and the file share enters the FORCE_DELETING status." +} +""" +DeleteFileShare(args) = storage_gateway("DeleteFileShare", args) + +""" + DeleteTapeArchive() + +Deletes the specified virtual tape from the virtual tape shelf (VTS). This operation is only supported in the tape gateway type. + +Required Parameters +{ + "TapeARN": "The Amazon Resource Name (ARN) of the virtual tape to delete from the virtual tape shelf (VTS)." +} +""" +DeleteTapeArchive(args) = storage_gateway("DeleteTapeArchive", args) + +""" + UpdateMaintenanceStartTime() + +Updates a gateway's weekly maintenance start time information, including day and time of the week. The maintenance time is the time in your gateway's time zone. + +Required Parameters +{ + "MinuteOfHour": "The minute component of the maintenance start time represented as mm, where mm is the minute (00 to 59). The minute of the hour is in the time zone of the gateway.", + "GatewayARN": "", + "HourOfDay": "The hour component of the maintenance start time represented as hh, where hh is the hour (00 to 23). The hour of the day is in the time zone of the gateway." +} + +Optional Parameters +{ + "DayOfWeek": "The day of the week component of the maintenance start time week represented as an ordinal number from 0 to 6, where 0 represents Sunday and 6 Saturday.", + "DayOfMonth": "The day of the month component of the maintenance start time represented as an ordinal number from 1 to 28, where 1 represents the first day of the month and 28 represents the last day of the month. This value is only available for tape and volume gateways. " +} +""" +UpdateMaintenanceStartTime(args) = storage_gateway("UpdateMaintenanceStartTime", args) + +""" + DescribeSMBFileShares() + +Gets a description for one or more Server Message Block (SMB) file shares from a file gateway. This operation is only supported for file gateways. + +Required Parameters +{ + "FileShareARNList": "An array containing the Amazon Resource Name (ARN) of each file share to be described. " +} +""" +DescribeSMBFileShares(args) = storage_gateway("DescribeSMBFileShares", args) + +""" + DeleteGateway() + +Deletes a gateway. To specify which gateway to delete, use the Amazon Resource Name (ARN) of the gateway in your request. The operation deletes the gateway; however, it does not delete the gateway virtual machine (VM) from your host computer. After you delete a gateway, you cannot reactivate it. Completed snapshots of the gateway volumes are not deleted upon deleting the gateway, however, pending snapshots will not complete. After you delete a gateway, your next step is to remove it from your environment. You no longer pay software charges after the gateway is deleted; however, your existing Amazon EBS snapshots persist and you will continue to be billed for these snapshots. You can choose to remove all remaining Amazon EBS snapshots by canceling your Amazon EC2 subscription.  If you prefer not to cancel your Amazon EC2 subscription, you can delete your snapshots using the Amazon EC2 console. For more information, see the AWS Storage Gateway Detail Page. + +Required Parameters +{ + "GatewayARN": "" +} +""" +DeleteGateway(args) = storage_gateway("DeleteGateway", args) + +""" + DeleteVolume() + +Deletes the specified storage volume that you previously created using the CreateCachediSCSIVolume or CreateStorediSCSIVolume API. This operation is only supported in the cached volume and stored volume types. For stored volume gateways, the local disk that was configured as the storage volume is not deleted. You can reuse the local disk to create another storage volume. Before you delete a volume, make sure there are no iSCSI connections to the volume you are deleting. You should also make sure there is no snapshot in progress. You can use the Amazon Elastic Compute Cloud (Amazon EC2) API to query snapshots on the volume you are deleting and check the snapshot status. For more information, go to DescribeSnapshots in the Amazon Elastic Compute Cloud API Reference. In the request, you must provide the Amazon Resource Name (ARN) of the storage volume you want to delete. + +Required Parameters +{ + "VolumeARN": "The Amazon Resource Name (ARN) of the volume. Use the ListVolumes operation to return a list of gateway volumes." +} +""" +DeleteVolume(args) = storage_gateway("DeleteVolume", args) + +""" + DescribeGatewayInformation() + +Returns metadata about a gateway such as its name, network interfaces, configured time zone, and the state (whether the gateway is running or not). To specify which gateway to describe, use the Amazon Resource Name (ARN) of the gateway in your request. + +Required Parameters +{ + "GatewayARN": "" +} +""" +DescribeGatewayInformation(args) = storage_gateway("DescribeGatewayInformation", args) + +""" + CreateCachediSCSIVolume() + +Creates a cached volume on a specified cached volume gateway. This operation is only supported in the cached volume gateway type. Cache storage must be allocated to the gateway before you can create a cached volume. Use the AddCache operation to add cache storage to a gateway. In the request, you must specify the gateway, size of the volume in bytes, the iSCSI target name, an IP address on which to expose the target, and a unique client token. In response, the gateway creates the volume and returns information about it. This information includes the volume Amazon Resource Name (ARN), its size, and the iSCSI target ARN that initiators can use to connect to the volume target. Optionally, you can provide the ARN for an existing volume as the SourceVolumeARN for this cached volume, which creates an exact copy of the existing volume’s latest recovery point. The VolumeSizeInBytes value must be equal to or larger than the size of the copied volume, in bytes. + +Required Parameters +{ + "VolumeSizeInBytes": "The size of the volume in bytes.", + "NetworkInterfaceId": "The network interface of the gateway on which to expose the iSCSI target. Only IPv4 addresses are accepted. Use DescribeGatewayInformation to get a list of the network interfaces available on a gateway. Valid Values: A valid IP address.", + "GatewayARN": "", + "ClientToken": "A unique identifier that you use to retry a request. If you retry a request, use the same ClientToken you specified in the initial request.", + "TargetName": "The name of the iSCSI target used by an initiator to connect to a volume and used as a suffix for the target ARN. For example, specifying TargetName as myvolume results in the target ARN of arn:aws:storagegateway:us-east-2:111122223333:gateway/sgw-12A3456B/target/iqn.1997-05.com.amazon:myvolume. The target name must be unique across all volumes on a gateway. If you don't specify a value, Storage Gateway uses the value that was previously used for this volume as the new target name." +} + +Optional Parameters +{ + "KMSEncrypted": "True to use Amazon S3 server side encryption with your own AWS KMS key, or false to use a key managed by Amazon S3. Optional.", + "SnapshotId": "The snapshot ID (e.g. \"snap-1122aabb\") of the snapshot to restore as the new cached volume. Specify this field if you want to create the iSCSI storage volume from a snapshot otherwise do not include this field. To list snapshots for your account use DescribeSnapshots in the Amazon Elastic Compute Cloud API Reference.", + "Tags": "A list of up to 50 tags that you can assign to a cached volume. Each tag is a key-value pair. Valid characters for key and value are letters, spaces, and numbers that you can represent in UTF-8 format, and the following special characters: + - = . _ : / @. The maximum length of a tag's key is 128 characters, and the maximum length for a tag's value is 256 characters. ", + "KMSKey": "The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 server side encryption. This value can only be set when KMSEncrypted is true. Optional.", + "SourceVolumeARN": "The ARN for an existing volume. Specifying this ARN makes the new volume into an exact copy of the specified existing volume's latest recovery point. The VolumeSizeInBytes value for this new volume must be equal to or larger than the size of the existing volume, in bytes." +} +""" +CreateCachediSCSIVolume(args) = storage_gateway("CreateCachediSCSIVolume", args) + +""" + ListVolumeInitiators() + +Lists iSCSI initiators that are connected to a volume. You can use this operation to determine whether a volume is being used or not. This operation is only supported in the cached volume and stored volume gateway types. + +Required Parameters +{ + "VolumeARN": "The Amazon Resource Name (ARN) of the volume. Use the ListVolumes operation to return a list of gateway volumes for the gateway." +} +""" +ListVolumeInitiators(args) = storage_gateway("ListVolumeInitiators", args) diff --git a/src/services/sts.jl b/src/services/sts.jl new file mode 100644 index 0000000000..c057593a99 --- /dev/null +++ b/src/services/sts.jl @@ -0,0 +1,137 @@ +include("../AWSServices.jl") +using .AWSServices: sts + +""" + GetFederationToken() + +Returns a set of temporary security credentials (consisting of an access key ID, a secret access key, and a security token) for a federated user. A typical use is in a proxy application that gets temporary security credentials on behalf of distributed applications inside a corporate network. You must call the GetFederationToken operation using the long-term security credentials of an IAM user. As a result, this call is appropriate in contexts where those credentials can be safely stored, usually in a server-based application. For a comparison of GetFederationToken with the other API operations that produce temporary credentials, see Requesting Temporary Security Credentials and Comparing the AWS STS API operations in the IAM User Guide. You can create a mobile-based or browser-based app that can authenticate users using a web identity provider like Login with Amazon, Facebook, Google, or an OpenID Connect-compatible identity provider. In this case, we recommend that you use Amazon Cognito or AssumeRoleWithWebIdentity. For more information, see Federation Through a Web-based Identity Provider in the IAM User Guide. You can also call GetFederationToken using the security credentials of an AWS account root user, but we do not recommend it. Instead, we recommend that you create an IAM user for the purpose of the proxy application. Then attach a policy to the IAM user that limits federated users to only the actions and resources that they need to access. For more information, see IAM Best Practices in the IAM User Guide. Session duration The temporary credentials are valid for the specified duration, from 900 seconds (15 minutes) up to a maximum of 129,600 seconds (36 hours). The default session duration is 43,200 seconds (12 hours). Temporary credentials that are obtained by using AWS account root user credentials have a maximum duration of 3,600 seconds (1 hour). Permissions You can use the temporary credentials created by GetFederationToken in any AWS service except the following: You cannot call any IAM operations using the AWS CLI or the AWS API. You cannot call any STS operations except GetCallerIdentity. You must pass an inline or managed session policy to this operation. You can pass a single JSON policy document to use as an inline session policy. You can also specify up to 10 managed policies to use as managed session policies. The plain text that you use for both inline and managed session policies can't exceed 2,048 characters. Though the session policy parameters are optional, if you do not pass a policy, then the resulting federated user session has no permissions. When you pass session policies, the session permissions are the intersection of the IAM user policies and the session policies that you pass. This gives you a way to further restrict the permissions for a federated user. You cannot use session policies to grant more permissions than those that are defined in the permissions policy of the IAM user. For more information, see Session Policies in the IAM User Guide. For information about using GetFederationToken to create temporary security credentials, see GetFederationToken—Federation Through a Custom Identity Broker. You can use the credentials to access a resource that has a resource-based policy. If that policy specifically references the federated user session in the Principal element of the policy, the session has the permissions allowed by the policy. These permissions are granted in addition to the permissions granted by the session policies. Tags (Optional) You can pass tag key-value pairs to your session. These are called session tags. For more information about session tags, see Passing Session Tags in STS in the IAM User Guide. An administrator must grant you the permissions necessary to pass session tags. The administrator can also create granular permissions to allow you to pass only specific session tags. For more information, see Tutorial: Using Tags for Attribute-Based Access Control in the IAM User Guide. Tag key–value pairs are not case sensitive, but case is preserved. This means that you cannot have separate Department and department tag keys. Assume that the user that you are federating has the Department=Marketing tag and you pass the department=engineering session tag. Department and department are not saved as separate tags, and the session tag passed in the request takes precedence over the user tag. + +Required Parameters +{ + "Name": "The name of the federated user. The name is used as an identifier for the temporary security credentials (such as Bob). For example, you can reference the federated user name in a resource-based policy, such as in an Amazon S3 bucket policy. The regex used to validate this parameter is a string of characters consisting of upper- and lower-case alphanumeric characters with no spaces. You can also include underscores or any of the following characters: =,.@-" +} + +Optional Parameters +{ + "Tags": "A list of session tags. Each session tag consists of a key name and an associated value. For more information about session tags, see Passing Session Tags in STS in the IAM User Guide. This parameter is optional. You can pass up to 50 session tags. The plain text session tag keys can’t exceed 128 characters and the values can’t exceed 256 characters. For these and additional limits, see IAM and STS Character Limits in the IAM User Guide. An AWS conversion compresses the passed session policies and session tags into a packed binary format that has a separate limit. Your request can fail for this limit even if your plain text meets the other requirements. The PackedPolicySize response element indicates by percentage how close the policies and tags for your request are to the upper size limit. You can pass a session tag with the same key as a tag that is already attached to the user you are federating. When you do, session tags override a user tag with the same key. Tag key–value pairs are not case sensitive, but case is preserved. This means that you cannot have separate Department and department tag keys. Assume that the role has the Department=Marketing tag and you pass the department=engineering session tag. Department and department are not saved as separate tags, and the session tag passed in the request takes precedence over the role tag.", + "PolicyArns": "The Amazon Resource Names (ARNs) of the IAM managed policies that you want to use as a managed session policy. The policies must exist in the same account as the IAM user that is requesting federated access. You must pass an inline or managed session policy to this operation. You can pass a single JSON policy document to use as an inline session policy. You can also specify up to 10 managed policies to use as managed session policies. The plain text that you use for both inline and managed session policies can't exceed 2,048 characters. You can provide up to 10 managed policy ARNs. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference. This parameter is optional. However, if you do not pass any session policies, then the resulting federated user session has no permissions. When you pass session policies, the session permissions are the intersection of the IAM user policies and the session policies that you pass. This gives you a way to further restrict the permissions for a federated user. You cannot use session policies to grant more permissions than those that are defined in the permissions policy of the IAM user. For more information, see Session Policies in the IAM User Guide. The resulting credentials can be used to access a resource that has a resource-based policy. If that policy specifically references the federated user session in the Principal element of the policy, the session has the permissions allowed by the policy. These permissions are granted in addition to the permissions that are granted by the session policies. An AWS conversion compresses the passed session policies and session tags into a packed binary format that has a separate limit. Your request can fail for this limit even if your plain text meets the other requirements. The PackedPolicySize response element indicates by percentage how close the policies and tags for your request are to the upper size limit. ", + "Policy": "An IAM policy in JSON format that you want to use as an inline session policy. You must pass an inline or managed session policy to this operation. You can pass a single JSON policy document to use as an inline session policy. You can also specify up to 10 managed policies to use as managed session policies. This parameter is optional. However, if you do not pass any session policies, then the resulting federated user session has no permissions. When you pass session policies, the session permissions are the intersection of the IAM user policies and the session policies that you pass. This gives you a way to further restrict the permissions for a federated user. You cannot use session policies to grant more permissions than those that are defined in the permissions policy of the IAM user. For more information, see Session Policies in the IAM User Guide. The resulting credentials can be used to access a resource that has a resource-based policy. If that policy specifically references the federated user session in the Principal element of the policy, the session has the permissions allowed by the policy. These permissions are granted in addition to the permissions that are granted by the session policies. The plain text that you use for both inline and managed session policies can't exceed 2,048 characters. The JSON policy characters can be any ASCII character from the space character to the end of the valid character list ( u0020 through u00FF). It can also include the tab ( u0009), linefeed ( u000A), and carriage return ( u000D) characters. An AWS conversion compresses the passed session policies and session tags into a packed binary format that has a separate limit. Your request can fail for this limit even if your plain text meets the other requirements. The PackedPolicySize response element indicates by percentage how close the policies and tags for your request are to the upper size limit. ", + "DurationSeconds": "The duration, in seconds, that the session should last. Acceptable durations for federation sessions range from 900 seconds (15 minutes) to 129,600 seconds (36 hours), with 43,200 seconds (12 hours) as the default. Sessions obtained using AWS account root user credentials are restricted to a maximum of 3,600 seconds (one hour). If the specified duration is longer than one hour, the session obtained by using root user credentials defaults to one hour." +} +""" +GetFederationToken(args) = sts("GetFederationToken", args) + +""" + AssumeRole() + +Returns a set of temporary security credentials that you can use to access AWS resources that you might not normally have access to. These temporary credentials consist of an access key ID, a secret access key, and a security token. Typically, you use AssumeRole within your account or for cross-account access. For a comparison of AssumeRole with other API operations that produce temporary credentials, see Requesting Temporary Security Credentials and Comparing the AWS STS API operations in the IAM User Guide. You cannot use AWS account root user credentials to call AssumeRole. You must use credentials for an IAM user or an IAM role to call AssumeRole. For cross-account access, imagine that you own multiple accounts and need to access resources in each account. You could create long-term credentials in each account to access those resources. However, managing all those credentials and remembering which one can access which account can be time consuming. Instead, you can create one set of long-term credentials in one account. Then use temporary security credentials to access all the other accounts by assuming roles in those accounts. For more information about roles, see IAM Roles in the IAM User Guide. Session Duration By default, the temporary security credentials created by AssumeRole last for one hour. However, you can use the optional DurationSeconds parameter to specify the duration of your session. You can provide a value from 900 seconds (15 minutes) up to the maximum session duration setting for the role. This setting can have a value from 1 hour to 12 hours. To learn how to view the maximum value for your role, see View the Maximum Session Duration Setting for a Role in the IAM User Guide. The maximum session duration limit applies when you use the AssumeRole* API operations or the assume-role* CLI commands. However the limit does not apply when you use those operations to create a console URL. For more information, see Using IAM Roles in the IAM User Guide. Permissions The temporary security credentials created by AssumeRole can be used to make API calls to any AWS service with the following exception: You cannot call the AWS STS GetFederationToken or GetSessionToken API operations. (Optional) You can pass inline or managed session policies to this operation. You can pass a single JSON policy document to use as an inline session policy. You can also specify up to 10 managed policies to use as managed session policies. The plain text that you use for both inline and managed session policies can't exceed 2,048 characters. Passing policies to this operation returns new temporary credentials. The resulting session's permissions are the intersection of the role's identity-based policy and the session policies. You can use the role's temporary credentials in subsequent AWS API calls to access resources in the account that owns the role. You cannot use session policies to grant more permissions than those allowed by the identity-based policy of the role that is being assumed. For more information, see Session Policies in the IAM User Guide. To assume a role from a different account, your AWS account must be trusted by the role. The trust relationship is defined in the role's trust policy when the role is created. That trust policy states which accounts are allowed to delegate that access to users in the account. A user who wants to access a role in a different account must also have permissions that are delegated from the user account administrator. The administrator must attach a policy that allows the user to call AssumeRole for the ARN of the role in the other account. If the user is in the same account as the role, then you can do either of the following: Attach a policy to the user (identical to the previous user in a different account). Add the user as a principal directly in the role's trust policy. In this case, the trust policy acts as an IAM resource-based policy. Users in the same account as the role do not need explicit permission to assume the role. For more information about trust policies and resource-based policies, see IAM Policies in the IAM User Guide. Tags (Optional) You can pass tag key-value pairs to your session. These tags are called session tags. For more information about session tags, see Passing Session Tags in STS in the IAM User Guide. An administrator must grant you the permissions necessary to pass session tags. The administrator can also create granular permissions to allow you to pass only specific session tags. For more information, see Tutorial: Using Tags for Attribute-Based Access Control in the IAM User Guide. You can set the session tags as transitive. Transitive tags persist during role chaining. For more information, see Chaining Roles with Session Tags in the IAM User Guide. Using MFA with AssumeRole (Optional) You can include multi-factor authentication (MFA) information when you call AssumeRole. This is useful for cross-account scenarios to ensure that the user that assumes the role has been authenticated with an AWS MFA device. In that scenario, the trust policy of the role being assumed includes a condition that tests for MFA authentication. If the caller does not include valid MFA information, the request to assume the role is denied. The condition in a trust policy that tests for MFA authentication might look like the following example. "Condition": {"Bool": {"aws:MultiFactorAuthPresent": true}} For more information, see Configuring MFA-Protected API Access in the IAM User Guide guide. To use MFA with AssumeRole, you pass values for the SerialNumber and TokenCode parameters. The SerialNumber value identifies the user's hardware or virtual MFA device. The TokenCode is the time-based one-time password (TOTP) that the MFA device produces. + +Required Parameters +{ + "RoleSessionName": "An identifier for the assumed role session. Use the role session name to uniquely identify a session when the same role is assumed by different principals or for different reasons. In cross-account scenarios, the role session name is visible to, and can be logged by the account that owns the role. The role session name is also used in the ARN of the assumed role principal. This means that subsequent cross-account API requests that use the temporary security credentials will expose the role session name to the external account in their AWS CloudTrail logs. The regex used to validate this parameter is a string of characters consisting of upper- and lower-case alphanumeric characters with no spaces. You can also include underscores or any of the following characters: =,.@-", + "RoleArn": "The Amazon Resource Name (ARN) of the role to assume." +} + +Optional Parameters +{ + "DurationSeconds": "The duration, in seconds, of the role session. The value can range from 900 seconds (15 minutes) up to the maximum session duration setting for the role. This setting can have a value from 1 hour to 12 hours. If you specify a value higher than this setting, the operation fails. For example, if you specify a session duration of 12 hours, but your administrator set the maximum session duration to 6 hours, your operation fails. To learn how to view the maximum value for your role, see View the Maximum Session Duration Setting for a Role in the IAM User Guide. By default, the value is set to 3600 seconds. The DurationSeconds parameter is separate from the duration of a console session that you might request using the returned credentials. The request to the federation endpoint for a console sign-in token takes a SessionDuration parameter that specifies the maximum length of the console session. For more information, see Creating a URL that Enables Federated Users to Access the AWS Management Console in the IAM User Guide. ", + "TransitiveTagKeys": "A list of keys for session tags that you want to set as transitive. If you set a tag key as transitive, the corresponding key and value passes to subsequent sessions in a role chain. For more information, see Chaining Roles with Session Tags in the IAM User Guide. This parameter is optional. When you set session tags as transitive, the session policy and session tags packed binary limit is not affected. If you choose not to specify a transitive tag key, then no tags are passed from this session to any subsequent sessions.", + "TokenCode": "The value provided by the MFA device, if the trust policy of the role being assumed requires MFA (that is, if the policy includes a condition that tests for MFA). If the role being assumed requires MFA and if the TokenCode value is missing or expired, the AssumeRole call returns an \"access denied\" error. The format for this parameter, as described by its regex pattern, is a sequence of six numeric digits.", + "Tags": "A list of session tags that you want to pass. Each session tag consists of a key name and an associated value. For more information about session tags, see Tagging AWS STS Sessions in the IAM User Guide. This parameter is optional. You can pass up to 50 session tags. The plain text session tag keys can’t exceed 128 characters, and the values can’t exceed 256 characters. For these and additional limits, see IAM and STS Character Limits in the IAM User Guide. An AWS conversion compresses the passed session policies and session tags into a packed binary format that has a separate limit. Your request can fail for this limit even if your plain text meets the other requirements. The PackedPolicySize response element indicates by percentage how close the policies and tags for your request are to the upper size limit. You can pass a session tag with the same key as a tag that is already attached to the role. When you do, session tags override a role tag with the same key. Tag key–value pairs are not case sensitive, but case is preserved. This means that you cannot have separate Department and department tag keys. Assume that the role has the Department=Marketing tag and you pass the department=engineering session tag. Department and department are not saved as separate tags, and the session tag passed in the request takes precedence over the role tag. Additionally, if you used temporary credentials to perform this operation, the new session inherits any transitive session tags from the calling session. If you pass a session tag with the same key as an inherited tag, the operation fails. To view the inherited tags for a session, see the AWS CloudTrail logs. For more information, see Viewing Session Tags in CloudTrail in the IAM User Guide.", + "PolicyArns": "The Amazon Resource Names (ARNs) of the IAM managed policies that you want to use as managed session policies. The policies must exist in the same account as the role. This parameter is optional. You can provide up to 10 managed policy ARNs. However, the plain text that you use for both inline and managed session policies can't exceed 2,048 characters. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference. An AWS conversion compresses the passed session policies and session tags into a packed binary format that has a separate limit. Your request can fail for this limit even if your plain text meets the other requirements. The PackedPolicySize response element indicates by percentage how close the policies and tags for your request are to the upper size limit. Passing policies to this operation returns new temporary credentials. The resulting session's permissions are the intersection of the role's identity-based policy and the session policies. You can use the role's temporary credentials in subsequent AWS API calls to access resources in the account that owns the role. You cannot use session policies to grant more permissions than those allowed by the identity-based policy of the role that is being assumed. For more information, see Session Policies in the IAM User Guide.", + "Policy": "An IAM policy in JSON format that you want to use as an inline session policy. This parameter is optional. Passing policies to this operation returns new temporary credentials. The resulting session's permissions are the intersection of the role's identity-based policy and the session policies. You can use the role's temporary credentials in subsequent AWS API calls to access resources in the account that owns the role. You cannot use session policies to grant more permissions than those allowed by the identity-based policy of the role that is being assumed. For more information, see Session Policies in the IAM User Guide. The plain text that you use for both inline and managed session policies can't exceed 2,048 characters. The JSON policy characters can be any ASCII character from the space character to the end of the valid character list ( u0020 through u00FF). It can also include the tab ( u0009), linefeed ( u000A), and carriage return ( u000D) characters. An AWS conversion compresses the passed session policies and session tags into a packed binary format that has a separate limit. Your request can fail for this limit even if your plain text meets the other requirements. The PackedPolicySize response element indicates by percentage how close the policies and tags for your request are to the upper size limit. ", + "ExternalId": "A unique identifier that might be required when you assume a role in another account. If the administrator of the account to which the role belongs provided you with an external ID, then provide that value in the ExternalId parameter. This value can be any string, such as a passphrase or account number. A cross-account role is usually set up to trust everyone in an account. Therefore, the administrator of the trusting account might send an external ID to the administrator of the trusted account. That way, only someone with the ID can assume the role, rather than everyone in the account. For more information about the external ID, see How to Use an External ID When Granting Access to Your AWS Resources to a Third Party in the IAM User Guide. The regex used to validate this parameter is a string of characters consisting of upper- and lower-case alphanumeric characters with no spaces. You can also include underscores or any of the following characters: =,.@:/-", + "SerialNumber": "The identification number of the MFA device that is associated with the user who is making the AssumeRole call. Specify this value if the trust policy of the role being assumed includes a condition that requires MFA authentication. The value is either the serial number for a hardware device (such as GAHT12345678) or an Amazon Resource Name (ARN) for a virtual device (such as arn:aws:iam::123456789012:mfa/user). The regex used to validate this parameter is a string of characters consisting of upper- and lower-case alphanumeric characters with no spaces. You can also include underscores or any of the following characters: =,.@-" +} +""" +AssumeRole(args) = sts("AssumeRole", args) + +""" + AssumeRoleWithWebIdentity() + +Returns a set of temporary security credentials for users who have been authenticated in a mobile or web application with a web identity provider. Example providers include Amazon Cognito, Login with Amazon, Facebook, Google, or any OpenID Connect-compatible identity provider. For mobile applications, we recommend that you use Amazon Cognito. You can use Amazon Cognito with the AWS SDK for iOS Developer Guide and the AWS SDK for Android Developer Guide to uniquely identify a user. You can also supply the user with a consistent identity throughout the lifetime of an application. To learn more about Amazon Cognito, see Amazon Cognito Overview in AWS SDK for Android Developer Guide and Amazon Cognito Overview in the AWS SDK for iOS Developer Guide. Calling AssumeRoleWithWebIdentity does not require the use of AWS security credentials. Therefore, you can distribute an application (for example, on mobile devices) that requests temporary security credentials without including long-term AWS credentials in the application. You also don't need to deploy server-based proxy services that use long-term AWS credentials. Instead, the identity of the caller is validated by using a token from the web identity provider. For a comparison of AssumeRoleWithWebIdentity with the other API operations that produce temporary credentials, see Requesting Temporary Security Credentials and Comparing the AWS STS API operations in the IAM User Guide. The temporary security credentials returned by this API consist of an access key ID, a secret access key, and a security token. Applications can use these temporary security credentials to sign calls to AWS service API operations. Session Duration By default, the temporary security credentials created by AssumeRoleWithWebIdentity last for one hour. However, you can use the optional DurationSeconds parameter to specify the duration of your session. You can provide a value from 900 seconds (15 minutes) up to the maximum session duration setting for the role. This setting can have a value from 1 hour to 12 hours. To learn how to view the maximum value for your role, see View the Maximum Session Duration Setting for a Role in the IAM User Guide. The maximum session duration limit applies when you use the AssumeRole* API operations or the assume-role* CLI commands. However the limit does not apply when you use those operations to create a console URL. For more information, see Using IAM Roles in the IAM User Guide. Permissions The temporary security credentials created by AssumeRoleWithWebIdentity can be used to make API calls to any AWS service with the following exception: you cannot call the STS GetFederationToken or GetSessionToken API operations. (Optional) You can pass inline or managed session policies to this operation. You can pass a single JSON policy document to use as an inline session policy. You can also specify up to 10 managed policies to use as managed session policies. The plain text that you use for both inline and managed session policies can't exceed 2,048 characters. Passing policies to this operation returns new temporary credentials. The resulting session's permissions are the intersection of the role's identity-based policy and the session policies. You can use the role's temporary credentials in subsequent AWS API calls to access resources in the account that owns the role. You cannot use session policies to grant more permissions than those allowed by the identity-based policy of the role that is being assumed. For more information, see Session Policies in the IAM User Guide. Tags (Optional) You can configure your IdP to pass attributes into your web identity token as session tags. Each session tag consists of a key name and an associated value. For more information about session tags, see Passing Session Tags in STS in the IAM User Guide. You can pass up to 50 session tags. The plain text session tag keys can’t exceed 128 characters and the values can’t exceed 256 characters. For these and additional limits, see IAM and STS Character Limits in the IAM User Guide. An AWS conversion compresses the passed session policies and session tags into a packed binary format that has a separate limit. Your request can fail for this limit even if your plain text meets the other requirements. The PackedPolicySize response element indicates by percentage how close the policies and tags for your request are to the upper size limit. You can pass a session tag with the same key as a tag that is attached to the role. When you do, the session tag overrides the role tag with the same key. An administrator must grant you the permissions necessary to pass session tags. The administrator can also create granular permissions to allow you to pass only specific session tags. For more information, see Tutorial: Using Tags for Attribute-Based Access Control in the IAM User Guide. You can set the session tags as transitive. Transitive tags persist during role chaining. For more information, see Chaining Roles with Session Tags in the IAM User Guide. Identities Before your application can call AssumeRoleWithWebIdentity, you must have an identity token from a supported identity provider and create a role that the application can assume. The role that your application assumes must trust the identity provider that is associated with the identity token. In other words, the identity provider must be specified in the role's trust policy. Calling AssumeRoleWithWebIdentity can result in an entry in your AWS CloudTrail logs. The entry includes the Subject of the provided Web Identity Token. We recommend that you avoid using any personally identifiable information (PII) in this field. For example, you could instead use a GUID or a pairwise identifier, as suggested in the OIDC specification. For more information about how to use web identity federation and the AssumeRoleWithWebIdentity API, see the following resources: Using Web Identity Federation API Operations for Mobile Apps and Federation Through a Web-based Identity Provider. Web Identity Federation Playground. Walk through the process of authenticating through Login with Amazon, Facebook, or Google, getting temporary security credentials, and then using those credentials to make a request to AWS. AWS SDK for iOS Developer Guide and AWS SDK for Android Developer Guide. These toolkits contain sample apps that show how to invoke the identity providers. The toolkits then show how to use the information from these providers to get and use temporary security credentials. Web Identity Federation with Mobile Applications. This article discusses web identity federation and shows an example of how to use web identity federation to get access to content in Amazon S3. + +Required Parameters +{ + "RoleSessionName": "An identifier for the assumed role session. Typically, you pass the name or identifier that is associated with the user who is using your application. That way, the temporary security credentials that your application will use are associated with that user. This session name is included as part of the ARN and assumed role ID in the AssumedRoleUser response element. The regex used to validate this parameter is a string of characters consisting of upper- and lower-case alphanumeric characters with no spaces. You can also include underscores or any of the following characters: =,.@-", + "WebIdentityToken": "The OAuth 2.0 access token or OpenID Connect ID token that is provided by the identity provider. Your application must get this token by authenticating the user who is using your application with a web identity provider before the application makes an AssumeRoleWithWebIdentity call. ", + "RoleArn": "The Amazon Resource Name (ARN) of the role that the caller is assuming." +} + +Optional Parameters +{ + "PolicyArns": "The Amazon Resource Names (ARNs) of the IAM managed policies that you want to use as managed session policies. The policies must exist in the same account as the role. This parameter is optional. You can provide up to 10 managed policy ARNs. However, the plain text that you use for both inline and managed session policies can't exceed 2,048 characters. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference. An AWS conversion compresses the passed session policies and session tags into a packed binary format that has a separate limit. Your request can fail for this limit even if your plain text meets the other requirements. The PackedPolicySize response element indicates by percentage how close the policies and tags for your request are to the upper size limit. Passing policies to this operation returns new temporary credentials. The resulting session's permissions are the intersection of the role's identity-based policy and the session policies. You can use the role's temporary credentials in subsequent AWS API calls to access resources in the account that owns the role. You cannot use session policies to grant more permissions than those allowed by the identity-based policy of the role that is being assumed. For more information, see Session Policies in the IAM User Guide.", + "ProviderId": "The fully qualified host component of the domain name of the identity provider. Specify this value only for OAuth 2.0 access tokens. Currently www.amazon.com and graph.facebook.com are the only supported identity providers for OAuth 2.0 access tokens. Do not include URL schemes and port numbers. Do not specify this value for OpenID Connect ID tokens.", + "Policy": "An IAM policy in JSON format that you want to use as an inline session policy. This parameter is optional. Passing policies to this operation returns new temporary credentials. The resulting session's permissions are the intersection of the role's identity-based policy and the session policies. You can use the role's temporary credentials in subsequent AWS API calls to access resources in the account that owns the role. You cannot use session policies to grant more permissions than those allowed by the identity-based policy of the role that is being assumed. For more information, see Session Policies in the IAM User Guide. The plain text that you use for both inline and managed session policies can't exceed 2,048 characters. The JSON policy characters can be any ASCII character from the space character to the end of the valid character list ( u0020 through u00FF). It can also include the tab ( u0009), linefeed ( u000A), and carriage return ( u000D) characters. An AWS conversion compresses the passed session policies and session tags into a packed binary format that has a separate limit. Your request can fail for this limit even if your plain text meets the other requirements. The PackedPolicySize response element indicates by percentage how close the policies and tags for your request are to the upper size limit. ", + "DurationSeconds": "The duration, in seconds, of the role session. The value can range from 900 seconds (15 minutes) up to the maximum session duration setting for the role. This setting can have a value from 1 hour to 12 hours. If you specify a value higher than this setting, the operation fails. For example, if you specify a session duration of 12 hours, but your administrator set the maximum session duration to 6 hours, your operation fails. To learn how to view the maximum value for your role, see View the Maximum Session Duration Setting for a Role in the IAM User Guide. By default, the value is set to 3600 seconds. The DurationSeconds parameter is separate from the duration of a console session that you might request using the returned credentials. The request to the federation endpoint for a console sign-in token takes a SessionDuration parameter that specifies the maximum length of the console session. For more information, see Creating a URL that Enables Federated Users to Access the AWS Management Console in the IAM User Guide. " +} +""" +AssumeRoleWithWebIdentity(args) = sts("AssumeRoleWithWebIdentity", args) + +""" + AssumeRoleWithSAML() + +Returns a set of temporary security credentials for users who have been authenticated via a SAML authentication response. This operation provides a mechanism for tying an enterprise identity store or directory to role-based AWS access without user-specific credentials or configuration. For a comparison of AssumeRoleWithSAML with the other API operations that produce temporary credentials, see Requesting Temporary Security Credentials and Comparing the AWS STS API operations in the IAM User Guide. The temporary security credentials returned by this operation consist of an access key ID, a secret access key, and a security token. Applications can use these temporary security credentials to sign calls to AWS services. Session Duration By default, the temporary security credentials created by AssumeRoleWithSAML last for one hour. However, you can use the optional DurationSeconds parameter to specify the duration of your session. Your role session lasts for the duration that you specify, or until the time specified in the SAML authentication response's SessionNotOnOrAfter value, whichever is shorter. You can provide a DurationSeconds value from 900 seconds (15 minutes) up to the maximum session duration setting for the role. This setting can have a value from 1 hour to 12 hours. To learn how to view the maximum value for your role, see View the Maximum Session Duration Setting for a Role in the IAM User Guide. The maximum session duration limit applies when you use the AssumeRole* API operations or the assume-role* CLI commands. However the limit does not apply when you use those operations to create a console URL. For more information, see Using IAM Roles in the IAM User Guide. Permissions The temporary security credentials created by AssumeRoleWithSAML can be used to make API calls to any AWS service with the following exception: you cannot call the STS GetFederationToken or GetSessionToken API operations. (Optional) You can pass inline or managed session policies to this operation. You can pass a single JSON policy document to use as an inline session policy. You can also specify up to 10 managed policies to use as managed session policies. The plain text that you use for both inline and managed session policies can't exceed 2,048 characters. Passing policies to this operation returns new temporary credentials. The resulting session's permissions are the intersection of the role's identity-based policy and the session policies. You can use the role's temporary credentials in subsequent AWS API calls to access resources in the account that owns the role. You cannot use session policies to grant more permissions than those allowed by the identity-based policy of the role that is being assumed. For more information, see Session Policies in the IAM User Guide. Calling AssumeRoleWithSAML does not require the use of AWS security credentials. The identity of the caller is validated by using keys in the metadata document that is uploaded for the SAML provider entity for your identity provider. Calling AssumeRoleWithSAML can result in an entry in your AWS CloudTrail logs. The entry includes the value in the NameID element of the SAML assertion. We recommend that you use a NameIDType that is not associated with any personally identifiable information (PII). For example, you could instead use the persistent identifier (urn:oasis:names:tc:SAML:2.0:nameid-format:persistent). Tags (Optional) You can configure your IdP to pass attributes into your SAML assertion as session tags. Each session tag consists of a key name and an associated value. For more information about session tags, see Passing Session Tags in STS in the IAM User Guide. You can pass up to 50 session tags. The plain text session tag keys can’t exceed 128 characters and the values can’t exceed 256 characters. For these and additional limits, see IAM and STS Character Limits in the IAM User Guide. An AWS conversion compresses the passed session policies and session tags into a packed binary format that has a separate limit. Your request can fail for this limit even if your plain text meets the other requirements. The PackedPolicySize response element indicates by percentage how close the policies and tags for your request are to the upper size limit. You can pass a session tag with the same key as a tag that is attached to the role. When you do, session tags override the role's tags with the same key. An administrator must grant you the permissions necessary to pass session tags. The administrator can also create granular permissions to allow you to pass only specific session tags. For more information, see Tutorial: Using Tags for Attribute-Based Access Control in the IAM User Guide. You can set the session tags as transitive. Transitive tags persist during role chaining. For more information, see Chaining Roles with Session Tags in the IAM User Guide. SAML Configuration Before your application can call AssumeRoleWithSAML, you must configure your SAML identity provider (IdP) to issue the claims required by AWS. Additionally, you must use AWS Identity and Access Management (IAM) to create a SAML provider entity in your AWS account that represents your identity provider. You must also create an IAM role that specifies this SAML provider in its trust policy. For more information, see the following resources: About SAML 2.0-based Federation in the IAM User Guide. Creating SAML Identity Providers in the IAM User Guide. Configuring a Relying Party and Claims in the IAM User Guide. Creating a Role for SAML 2.0 Federation in the IAM User Guide. + +Required Parameters +{ + "SAMLAssertion": "The base-64 encoded SAML authentication response provided by the IdP. For more information, see Configuring a Relying Party and Adding Claims in the IAM User Guide. ", + "RoleArn": "The Amazon Resource Name (ARN) of the role that the caller is assuming.", + "PrincipalArn": "The Amazon Resource Name (ARN) of the SAML provider in IAM that describes the IdP." +} + +Optional Parameters +{ + "PolicyArns": "The Amazon Resource Names (ARNs) of the IAM managed policies that you want to use as managed session policies. The policies must exist in the same account as the role. This parameter is optional. You can provide up to 10 managed policy ARNs. However, the plain text that you use for both inline and managed session policies can't exceed 2,048 characters. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference. An AWS conversion compresses the passed session policies and session tags into a packed binary format that has a separate limit. Your request can fail for this limit even if your plain text meets the other requirements. The PackedPolicySize response element indicates by percentage how close the policies and tags for your request are to the upper size limit. Passing policies to this operation returns new temporary credentials. The resulting session's permissions are the intersection of the role's identity-based policy and the session policies. You can use the role's temporary credentials in subsequent AWS API calls to access resources in the account that owns the role. You cannot use session policies to grant more permissions than those allowed by the identity-based policy of the role that is being assumed. For more information, see Session Policies in the IAM User Guide.", + "Policy": "An IAM policy in JSON format that you want to use as an inline session policy. This parameter is optional. Passing policies to this operation returns new temporary credentials. The resulting session's permissions are the intersection of the role's identity-based policy and the session policies. You can use the role's temporary credentials in subsequent AWS API calls to access resources in the account that owns the role. You cannot use session policies to grant more permissions than those allowed by the identity-based policy of the role that is being assumed. For more information, see Session Policies in the IAM User Guide. The plain text that you use for both inline and managed session policies can't exceed 2,048 characters. The JSON policy characters can be any ASCII character from the space character to the end of the valid character list ( u0020 through u00FF). It can also include the tab ( u0009), linefeed ( u000A), and carriage return ( u000D) characters. An AWS conversion compresses the passed session policies and session tags into a packed binary format that has a separate limit. Your request can fail for this limit even if your plain text meets the other requirements. The PackedPolicySize response element indicates by percentage how close the policies and tags for your request are to the upper size limit. ", + "DurationSeconds": "The duration, in seconds, of the role session. Your role session lasts for the duration that you specify for the DurationSeconds parameter, or until the time specified in the SAML authentication response's SessionNotOnOrAfter value, whichever is shorter. You can provide a DurationSeconds value from 900 seconds (15 minutes) up to the maximum session duration setting for the role. This setting can have a value from 1 hour to 12 hours. If you specify a value higher than this setting, the operation fails. For example, if you specify a session duration of 12 hours, but your administrator set the maximum session duration to 6 hours, your operation fails. To learn how to view the maximum value for your role, see View the Maximum Session Duration Setting for a Role in the IAM User Guide. By default, the value is set to 3600 seconds. The DurationSeconds parameter is separate from the duration of a console session that you might request using the returned credentials. The request to the federation endpoint for a console sign-in token takes a SessionDuration parameter that specifies the maximum length of the console session. For more information, see Creating a URL that Enables Federated Users to Access the AWS Management Console in the IAM User Guide. " +} +""" +AssumeRoleWithSAML(args) = sts("AssumeRoleWithSAML", args) + +""" + DecodeAuthorizationMessage() + +Decodes additional information about the authorization status of a request from an encoded message returned in response to an AWS request. For example, if a user is not authorized to perform an operation that he or she has requested, the request returns a Client.UnauthorizedOperation response (an HTTP 403 response). Some AWS operations additionally return an encoded message that can provide details about this authorization failure. Only certain AWS operations return an encoded authorization message. The documentation for an individual operation indicates whether that operation returns an encoded message in addition to returning an HTTP code. The message is encoded because the details of the authorization status can constitute privileged information that the user who requested the operation should not see. To decode an authorization status message, a user must be granted permissions via an IAM policy to request the DecodeAuthorizationMessage (sts:DecodeAuthorizationMessage) action. The decoded message includes the following type of information: Whether the request was denied due to an explicit deny or due to the absence of an explicit allow. For more information, see Determining Whether a Request is Allowed or Denied in the IAM User Guide. The principal who made the request. The requested action. The requested resource. The values of condition keys in the context of the user's request. + +Required Parameters +{ + "EncodedMessage": "The encoded message that was returned with the response." +} +""" +DecodeAuthorizationMessage(args) = sts("DecodeAuthorizationMessage", args) + +""" + GetAccessKeyInfo() + +Returns the account identifier for the specified access key ID. Access keys consist of two parts: an access key ID (for example, AKIAIOSFODNN7EXAMPLE) and a secret access key (for example, wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY). For more information about access keys, see Managing Access Keys for IAM Users in the IAM User Guide. When you pass an access key ID to this operation, it returns the ID of the AWS account to which the keys belong. Access key IDs beginning with AKIA are long-term credentials for an IAM user or the AWS account root user. Access key IDs beginning with ASIA are temporary credentials that are created using STS operations. If the account in the response belongs to you, you can sign in as the root user and review your root user access keys. Then, you can pull a credentials report to learn which IAM user owns the keys. To learn who requested the temporary credentials for an ASIA access key, view the STS events in your CloudTrail logs in the IAM User Guide. This operation does not indicate the state of the access key. The key might be active, inactive, or deleted. Active keys might not have permissions to perform an operation. Providing a deleted access key might return an error that the key doesn't exist. + +Required Parameters +{ + "AccessKeyId": "The identifier of an access key. This parameter allows (through its regex pattern) a string of characters that can consist of any upper- or lowercase letter or digit." +} +""" +GetAccessKeyInfo(args) = sts("GetAccessKeyInfo", args) + +""" + GetCallerIdentity() + +Returns details about the IAM user or role whose credentials are used to call the operation. No permissions are required to perform this operation. If an administrator adds a policy to your IAM user or role that explicitly denies access to the sts:GetCallerIdentity action, you can still perform this operation. Permissions are not required because the same information is returned when an IAM user or role is denied access. To view an example response, see I Am Not Authorized to Perform: iam:DeleteVirtualMFADevice in the IAM User Guide. +""" +GetCallerIdentity() = sts("GetCallerIdentity") +GetCallerIdentity(args) = sts("GetCallerIdentity", args) + +""" + GetSessionToken() + +Returns a set of temporary credentials for an AWS account or IAM user. The credentials consist of an access key ID, a secret access key, and a security token. Typically, you use GetSessionToken if you want to use MFA to protect programmatic calls to specific AWS API operations like Amazon EC2 StopInstances. MFA-enabled IAM users would need to call GetSessionToken and submit an MFA code that is associated with their MFA device. Using the temporary security credentials that are returned from the call, IAM users can then make programmatic calls to API operations that require MFA authentication. If you do not supply a correct MFA code, then the API returns an access denied error. For a comparison of GetSessionToken with the other API operations that produce temporary credentials, see Requesting Temporary Security Credentials and Comparing the AWS STS API operations in the IAM User Guide. Session Duration The GetSessionToken operation must be called by using the long-term AWS security credentials of the AWS account root user or an IAM user. Credentials that are created by IAM users are valid for the duration that you specify. This duration can range from 900 seconds (15 minutes) up to a maximum of 129,600 seconds (36 hours), with a default of 43,200 seconds (12 hours). Credentials based on account credentials can range from 900 seconds (15 minutes) up to 3,600 seconds (1 hour), with a default of 1 hour. Permissions The temporary security credentials created by GetSessionToken can be used to make API calls to any AWS service with the following exceptions: You cannot call any IAM API operations unless MFA authentication information is included in the request. You cannot call any STS API except AssumeRole or GetCallerIdentity. We recommend that you do not call GetSessionToken with AWS account root user credentials. Instead, follow our best practices by creating one or more IAM users, giving them the necessary permissions, and using IAM users for everyday interaction with AWS. The credentials that are returned by GetSessionToken are based on permissions associated with the user whose credentials were used to call the operation. If GetSessionToken is called using AWS account root user credentials, the temporary credentials have root user permissions. Similarly, if GetSessionToken is called using the credentials of an IAM user, the temporary credentials have the same permissions as the IAM user. For more information about using GetSessionToken to create temporary credentials, go to Temporary Credentials for Users in Untrusted Environments in the IAM User Guide. + +Optional Parameters +{ + "TokenCode": "The value provided by the MFA device, if MFA is required. If any policy requires the IAM user to submit an MFA code, specify this value. If MFA authentication is required, the user must provide a code when requesting a set of temporary security credentials. A user who fails to provide the code receives an \"access denied\" response when requesting resources that require MFA authentication. The format for this parameter, as described by its regex pattern, is a sequence of six numeric digits.", + "DurationSeconds": "The duration, in seconds, that the credentials should remain valid. Acceptable durations for IAM user sessions range from 900 seconds (15 minutes) to 129,600 seconds (36 hours), with 43,200 seconds (12 hours) as the default. Sessions for AWS account owners are restricted to a maximum of 3,600 seconds (one hour). If the duration is longer than one hour, the session for AWS account owners defaults to one hour.", + "SerialNumber": "The identification number of the MFA device that is associated with the IAM user who is making the GetSessionToken call. Specify this value if the IAM user has a policy that requires MFA authentication. The value is either the serial number for a hardware device (such as GAHT12345678) or an Amazon Resource Name (ARN) for a virtual device (such as arn:aws:iam::123456789012:mfa/user). You can find the device for an IAM user by going to the AWS Management Console and viewing the user's security credentials. The regex used to validate this parameter is a string of characters consisting of upper- and lower-case alphanumeric characters with no spaces. You can also include underscores or any of the following characters: =,.@:/-" +} +""" +GetSessionToken() = sts("GetSessionToken") +GetSessionToken(args) = sts("GetSessionToken", args) diff --git a/src/services/support.jl b/src/services/support.jl new file mode 100644 index 0000000000..b2572c4955 --- /dev/null +++ b/src/services/support.jl @@ -0,0 +1,220 @@ +include("../AWSServices.jl") +using .AWSServices: support + +""" + ResolveCase() + +Takes a caseId and returns the initial state of the case along with the state of the case after the call to ResolveCase completed. + +Optional Parameters +{ + "caseId": "The AWS Support case ID requested or returned in the call. The case ID is an alphanumeric string formatted as shown in this example: case-12345678910-2013-c4c1d2bf33c5cf47 " +} +""" +ResolveCase() = support("ResolveCase") +ResolveCase(args) = support("ResolveCase", args) + +""" + CreateCase() + +Creates a new case in the AWS Support Center. This operation is modeled on the behavior of the AWS Support Center Create Case page. Its parameters require you to specify the following information: issueType. The type of issue for the case. You can specify either "customer-service" or "technical." If you do not indicate a value, the default is "technical." Service limit increases are not supported by the Support API; you must submit service limit increase requests in Support Center. The caseId is not the displayId that appears in Support Center. You can use the DescribeCases API to get the displayId. serviceCode. The code for an AWS service. You can get the possible serviceCode values by calling DescribeServices. categoryCode. The category for the service defined for the serviceCode value. You also get the category code for a service by calling DescribeServices. Each AWS service defines its own set of category codes. severityCode. A value that indicates the urgency of the case, which in turn determines the response time according to your service level agreement with AWS Support. You can get the possible severityCode values by calling DescribeSeverityLevels. For more information about the meaning of the codes, see SeverityLevel and Choosing a Severity. subject. The Subject field on the AWS Support Center Create Case page. communicationBody. The Description field on the AWS Support Center Create Case page. attachmentSetId. The ID of a set of attachments that has been created by using AddAttachmentsToSet. language. The human language in which AWS Support handles the case. English and Japanese are currently supported. ccEmailAddresses. The AWS Support Center CC field on the Create Case page. You can list email addresses to be copied on any correspondence about the case. The account that opens the case is already identified by passing the AWS Credentials in the HTTP POST method or in a method or function call from one of the programming languages supported by an AWS SDK. To add additional communication or attachments to an existing case, use AddCommunicationToCase. A successful CreateCase request returns an AWS Support case number. Case numbers are used by the DescribeCases operation to retrieve existing AWS Support cases. + +Required Parameters +{ + "communicationBody": "The communication body text when you create an AWS Support case by calling CreateCase.", + "subject": "The title of the AWS Support case." +} + +Optional Parameters +{ + "serviceCode": "The code for the AWS service returned by the call to DescribeServices.", + "categoryCode": "The category of problem for the AWS Support case.", + "ccEmailAddresses": "A list of email addresses that AWS Support copies on case correspondence.", + "attachmentSetId": "The ID of a set of one or more attachments for the case. Create the set by using AddAttachmentsToSet.", + "severityCode": "The code for the severity level returned by the call to DescribeSeverityLevels. The availability of severity levels depends on the support plan for the account. ", + "language": "The ISO 639-1 code for the language in which AWS provides support. AWS Support currently supports English (\"en\") and Japanese (\"ja\"). Language parameters must be passed explicitly for operations that take them.", + "issueType": "The type of issue for the case. You can specify either \"customer-service\" or \"technical.\" If you do not indicate a value, the default is \"technical.\" Service limit increases are not supported by the Support API; you must submit service limit increase requests in Support Center. " +} +""" +CreateCase(args) = support("CreateCase", args) + +""" + DescribeSeverityLevels() + +Returns the list of severity levels that you can assign to an AWS Support case. The severity level for a case is also a field in the CaseDetails data type included in any CreateCase request. + +Optional Parameters +{ + "language": "The ISO 639-1 code for the language in which AWS provides support. AWS Support currently supports English (\"en\") and Japanese (\"ja\"). Language parameters must be passed explicitly for operations that take them." +} +""" +DescribeSeverityLevels() = support("DescribeSeverityLevels") +DescribeSeverityLevels(args) = support("DescribeSeverityLevels", args) + +""" + DescribeTrustedAdvisorCheckResult() + +Returns the results of the Trusted Advisor check that has the specified check ID. Check IDs can be obtained by calling DescribeTrustedAdvisorChecks. The response contains a TrustedAdvisorCheckResult object, which contains these three objects: TrustedAdvisorCategorySpecificSummary TrustedAdvisorResourceDetail TrustedAdvisorResourcesSummary In addition, the response contains these fields: status. The alert status of the check: "ok" (green), "warning" (yellow), "error" (red), or "not_available". timestamp. The time of the last refresh of the check. checkId. The unique identifier for the check. + +Required Parameters +{ + "checkId": "The unique identifier for the Trusted Advisor check." +} + +Optional Parameters +{ + "language": "The ISO 639-1 code for the language in which AWS provides support. AWS Support currently supports English (\"en\") and Japanese (\"ja\"). Language parameters must be passed explicitly for operations that take them." +} +""" +DescribeTrustedAdvisorCheckResult(args) = support("DescribeTrustedAdvisorCheckResult", args) + +""" + AddAttachmentsToSet() + +Adds one or more attachments to an attachment set. If an attachmentSetId is not specified, a new attachment set is created, and the ID of the set is returned in the response. If an attachmentSetId is specified, the attachments are added to the specified set, if it exists. An attachment set is a temporary container for attachments that are to be added to a case or case communication. The set is available for one hour after it is created; the expiryTime returned in the response indicates when the set expires. The maximum number of attachments in a set is 3, and the maximum size of any attachment in the set is 5 MB. + +Required Parameters +{ + "attachments": "One or more attachments to add to the set. The limit is 3 attachments per set, and the size limit is 5 MB per attachment." +} + +Optional Parameters +{ + "attachmentSetId": "The ID of the attachment set. If an attachmentSetId is not specified, a new attachment set is created, and the ID of the set is returned in the response. If an attachmentSetId is specified, the attachments are added to the specified set, if it exists." +} +""" +AddAttachmentsToSet(args) = support("AddAttachmentsToSet", args) + +""" + DescribeCases() + +Returns a list of cases that you specify by passing one or more case IDs. In addition, you can filter the cases by date by setting values for the afterTime and beforeTime request parameters. You can set values for the includeResolvedCases and includeCommunications request parameters to control how much information is returned. Case data is available for 12 months after creation. If a case was created more than 12 months ago, a request for data might cause an error. The response returns the following in JSON format: One or more CaseDetails data types. One or more nextToken values, which specify where to paginate the returned records represented by the CaseDetails objects. + +Optional Parameters +{ + "caseIdList": "A list of ID numbers of the support cases you want returned. The maximum number of cases is 100.", + "beforeTime": "The end date for a filtered date search on support case communications. Case communications are available for 12 months after creation.", + "afterTime": "The start date for a filtered date search on support case communications. Case communications are available for 12 months after creation.", + "includeCommunications": "Specifies whether communications should be included in the DescribeCases results. The default is true.", + "maxResults": "The maximum number of results to return before paginating.", + "includeResolvedCases": "Specifies whether resolved support cases should be included in the DescribeCases results. The default is false.", + "displayId": "The ID displayed for a case in the AWS Support Center user interface.", + "nextToken": "A resumption point for pagination.", + "language": "The ISO 639-1 code for the language in which AWS provides support. AWS Support currently supports English (\"en\") and Japanese (\"ja\"). Language parameters must be passed explicitly for operations that take them." +} +""" +DescribeCases() = support("DescribeCases") +DescribeCases(args) = support("DescribeCases", args) + +""" + DescribeTrustedAdvisorCheckSummaries() + +Returns the summaries of the results of the Trusted Advisor checks that have the specified check IDs. Check IDs can be obtained by calling DescribeTrustedAdvisorChecks. The response contains an array of TrustedAdvisorCheckSummary objects. + +Required Parameters +{ + "checkIds": "The IDs of the Trusted Advisor checks." +} +""" +DescribeTrustedAdvisorCheckSummaries(args) = support("DescribeTrustedAdvisorCheckSummaries", args) + +""" + DescribeCommunications() + +Returns communications (and attachments) for one or more support cases. You can use the afterTime and beforeTime parameters to filter by date. You can use the caseId parameter to restrict the results to a particular case. Case data is available for 12 months after creation. If a case was created more than 12 months ago, a request for data might cause an error. You can use the maxResults and nextToken parameters to control the pagination of the result set. Set maxResults to the number of cases you want displayed on each page, and use nextToken to specify the resumption of pagination. + +Required Parameters +{ + "caseId": "The AWS Support case ID requested or returned in the call. The case ID is an alphanumeric string formatted as shown in this example: case-12345678910-2013-c4c1d2bf33c5cf47 " +} + +Optional Parameters +{ + "beforeTime": "The end date for a filtered date search on support case communications. Case communications are available for 12 months after creation.", + "afterTime": "The start date for a filtered date search on support case communications. Case communications are available for 12 months after creation.", + "maxResults": "The maximum number of results to return before paginating.", + "nextToken": "A resumption point for pagination." +} +""" +DescribeCommunications(args) = support("DescribeCommunications", args) + +""" + DescribeTrustedAdvisorChecks() + +Returns information about all available Trusted Advisor checks, including name, ID, category, description, and metadata. You must specify a language code; English ("en") and Japanese ("ja") are currently supported. The response contains a TrustedAdvisorCheckDescription for each check. The region must be set to us-east-1. + +Required Parameters +{ + "language": "The ISO 639-1 code for the language in which AWS provides support. AWS Support currently supports English (\"en\") and Japanese (\"ja\"). Language parameters must be passed explicitly for operations that take them." +} +""" +DescribeTrustedAdvisorChecks(args) = support("DescribeTrustedAdvisorChecks", args) + +""" + RefreshTrustedAdvisorCheck() + +Requests a refresh of the Trusted Advisor check that has the specified check ID. Check IDs can be obtained by calling DescribeTrustedAdvisorChecks. Some checks are refreshed automatically, and they cannot be refreshed by using this operation. Use of the RefreshTrustedAdvisorCheck operation for these checks causes an InvalidParameterValue error. The response contains a TrustedAdvisorCheckRefreshStatus object, which contains these fields: status. The refresh status of the check: none: The check is not refreshed or the non-success status exceeds the timeout enqueued: The check refresh requests has entered the refresh queue processing: The check refresh request is picked up by the rule processing engine success: The check is successfully refreshed abandoned: The check refresh has failed millisUntilNextRefreshable. The amount of time, in milliseconds, until the check is eligible for refresh. checkId. The unique identifier for the check. + +Required Parameters +{ + "checkId": "The unique identifier for the Trusted Advisor check to refresh. Note: Specifying the check ID of a check that is automatically refreshed causes an InvalidParameterValue error." +} +""" +RefreshTrustedAdvisorCheck(args) = support("RefreshTrustedAdvisorCheck", args) + +""" + DescribeServices() + +Returns the current list of AWS services and a list of service categories that applies to each one. You then use service names and categories in your CreateCase requests. Each AWS service has its own set of categories. The service codes and category codes correspond to the values that are displayed in the Service and Category drop-down lists on the AWS Support Center Create Case page. The values in those fields, however, do not necessarily match the service codes and categories returned by the DescribeServices request. Always use the service codes and categories obtained programmatically. This practice ensures that you always have the most recent set of service and category codes. + +Optional Parameters +{ + "serviceCodeList": "A JSON-formatted list of service codes available for AWS services.", + "language": "The ISO 639-1 code for the language in which AWS provides support. AWS Support currently supports English (\"en\") and Japanese (\"ja\"). Language parameters must be passed explicitly for operations that take them." +} +""" +DescribeServices() = support("DescribeServices") +DescribeServices(args) = support("DescribeServices", args) + +""" + AddCommunicationToCase() + +Adds additional customer communication to an AWS Support case. You use the caseId value to identify the case to add communication to. You can list a set of email addresses to copy on the communication using the ccEmailAddresses value. The communicationBody value contains the text of the communication. The response indicates the success or failure of the request. This operation implements a subset of the features of the AWS Support Center. + +Required Parameters +{ + "communicationBody": "The body of an email communication to add to the support case." +} + +Optional Parameters +{ + "caseId": "The AWS Support case ID requested or returned in the call. The case ID is an alphanumeric string formatted as shown in this example: case-12345678910-2013-c4c1d2bf33c5cf47 ", + "ccEmailAddresses": "The email addresses in the CC line of an email to be added to the support case.", + "attachmentSetId": "The ID of a set of one or more attachments for the communication to add to the case. Create the set by calling AddAttachmentsToSet " +} +""" +AddCommunicationToCase(args) = support("AddCommunicationToCase", args) + +""" + DescribeAttachment() + +Returns the attachment that has the specified ID. Attachment IDs are generated by the case management system when you add an attachment to a case or case communication. Attachment IDs are returned in the AttachmentDetails objects that are returned by the DescribeCommunications operation. + +Required Parameters +{ + "attachmentId": "The ID of the attachment to return. Attachment IDs are returned by the DescribeCommunications operation." +} +""" +DescribeAttachment(args) = support("DescribeAttachment", args) + +""" + DescribeTrustedAdvisorCheckRefreshStatuses() + +Returns the refresh status of the Trusted Advisor checks that have the specified check IDs. Check IDs can be obtained by calling DescribeTrustedAdvisorChecks. Some checks are refreshed automatically, and their refresh statuses cannot be retrieved by using this operation. Use of the DescribeTrustedAdvisorCheckRefreshStatuses operation for these checks causes an InvalidParameterValue error. + +Required Parameters +{ + "checkIds": "The IDs of the Trusted Advisor checks to get the status of. Note: Specifying the check ID of a check that is automatically refreshed causes an InvalidParameterValue error." +} +""" +DescribeTrustedAdvisorCheckRefreshStatuses(args) = support("DescribeTrustedAdvisorCheckRefreshStatuses", args) diff --git a/src/services/swf.jl b/src/services/swf.jl new file mode 100644 index 0000000000..020d8adf39 --- /dev/null +++ b/src/services/swf.jl @@ -0,0 +1,644 @@ +include("../AWSServices.jl") +using .AWSServices: swf + +""" + ListTagsForResource() + +List tags for a given domain. + +Required Parameters +{ + "resourceArn": "The Amazon Resource Name (ARN) for the Amazon SWF domain." +} +""" +ListTagsForResource(args) = swf("ListTagsForResource", args) + +""" + RespondActivityTaskCompleted() + +Used by workers to tell the service that the ActivityTask identified by the taskToken completed successfully with a result (if provided). The result appears in the ActivityTaskCompleted event in the workflow history. If the requested task doesn't complete successfully, use RespondActivityTaskFailed instead. If the worker finds that the task is canceled through the canceled flag returned by RecordActivityTaskHeartbeat, it should cancel the task, clean up and then call RespondActivityTaskCanceled. A task is considered open from the time that it is scheduled until it is closed. Therefore a task is reported as open while a worker is processing it. A task is closed after it has been specified in a call to RespondActivityTaskCompleted, RespondActivityTaskCanceled, RespondActivityTaskFailed, or the task has timed out. Access Control You can use IAM policies to control this action's access to Amazon SWF resources as follows: Use a Resource element with the domain name to limit the action to only specified domains. Use an Action element to allow or deny permission to call this action. You cannot use an IAM policy to constrain this action's parameters. If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide. + +Required Parameters +{ + "taskToken": "The taskToken of the ActivityTask. taskToken is generated by the service and should be treated as an opaque value. If the task is passed to another process, its taskToken must also be passed. This enables it to provide its progress and respond with results. " +} + +Optional Parameters +{ + "result": "The result of the activity task. It is a free form string that is implementation specific." +} +""" +RespondActivityTaskCompleted(args) = swf("RespondActivityTaskCompleted", args) + +""" + SignalWorkflowExecution() + +Records a WorkflowExecutionSignaled event in the workflow execution history and creates a decision task for the workflow execution identified by the given domain, workflowId and runId. The event is recorded with the specified user defined signalName and input (if provided). If a runId isn't specified, then the WorkflowExecutionSignaled event is recorded in the history of the current open workflow with the matching workflowId in the domain. If the specified workflow execution isn't open, this method fails with UnknownResource. Access Control You can use IAM policies to control this action's access to Amazon SWF resources as follows: Use a Resource element with the domain name to limit the action to only specified domains. Use an Action element to allow or deny permission to call this action. You cannot use an IAM policy to constrain this action's parameters. If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide. + +Required Parameters +{ + "workflowId": "The workflowId of the workflow execution to signal.", + "signalName": "The name of the signal. This name must be meaningful to the target workflow.", + "domain": "The name of the domain containing the workflow execution to signal." +} + +Optional Parameters +{ + "input": "Data to attach to the WorkflowExecutionSignaled event in the target workflow execution's history.", + "runId": "The runId of the workflow execution to signal." +} +""" +SignalWorkflowExecution(args) = swf("SignalWorkflowExecution", args) + +""" + UndeprecateWorkflowType() + +Undeprecates a previously deprecated workflow type. After a workflow type has been undeprecated, you can create new executions of that type. This operation is eventually consistent. The results are best effort and may not exactly reflect recent updates and changes. Access Control You can use IAM policies to control this action's access to Amazon SWF resources as follows: Use a Resource element with the domain name to limit the action to only specified domains. Use an Action element to allow or deny permission to call this action. Constrain the following parameters by using a Condition element with the appropriate keys. workflowType.name: String constraint. The key is swf:workflowType.name. workflowType.version: String constraint. The key is swf:workflowType.version. If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide. + +Required Parameters +{ + "domain": "The name of the domain of the deprecated workflow type.", + "workflowType": "The name of the domain of the deprecated workflow type." +} +""" +UndeprecateWorkflowType(args) = swf("UndeprecateWorkflowType", args) + +""" + ListClosedWorkflowExecutions() + +Returns a list of closed workflow executions in the specified domain that meet the filtering criteria. The results may be split into multiple pages. To retrieve subsequent pages, make the call again using the nextPageToken returned by the initial call. This operation is eventually consistent. The results are best effort and may not exactly reflect recent updates and changes. Access Control You can use IAM policies to control this action's access to Amazon SWF resources as follows: Use a Resource element with the domain name to limit the action to only specified domains. Use an Action element to allow or deny permission to call this action. Constrain the following parameters by using a Condition element with the appropriate keys. tagFilter.tag: String constraint. The key is swf:tagFilter.tag. typeFilter.name: String constraint. The key is swf:typeFilter.name. typeFilter.version: String constraint. The key is swf:typeFilter.version. If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide. + +Required Parameters +{ + "domain": "The name of the domain that contains the workflow executions to list." +} + +Optional Parameters +{ + "nextPageToken": "If NextPageToken is returned there are more results available. The value of NextPageToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 60 seconds. Using an expired pagination token will return a 400 error: \"Specified token has exceeded its maximum lifetime\". The configured maximumPageSize determines how many results can be returned in a single call. ", + "startTimeFilter": "If specified, the workflow executions are included in the returned results based on whether their start times are within the range specified by this filter. Also, if this parameter is specified, the returned results are ordered by their start times. startTimeFilter and closeTimeFilter are mutually exclusive. You must specify one of these in a request but not both. ", + "executionFilter": "If specified, only workflow executions matching the workflow ID specified in the filter are returned. closeStatusFilter, executionFilter, typeFilter and tagFilter are mutually exclusive. You can specify at most one of these in a request. ", + "closeStatusFilter": "If specified, only workflow executions that match this close status are listed. For example, if TERMINATED is specified, then only TERMINATED workflow executions are listed. closeStatusFilter, executionFilter, typeFilter and tagFilter are mutually exclusive. You can specify at most one of these in a request. ", + "typeFilter": "If specified, only executions of the type specified in the filter are returned. closeStatusFilter, executionFilter, typeFilter and tagFilter are mutually exclusive. You can specify at most one of these in a request. ", + "tagFilter": "If specified, only executions that have the matching tag are listed. closeStatusFilter, executionFilter, typeFilter and tagFilter are mutually exclusive. You can specify at most one of these in a request. ", + "reverseOrder": "When set to true, returns the results in reverse order. By default the results are returned in descending order of the start or the close time of the executions.", + "maximumPageSize": "The maximum number of results that are returned per call. Use nextPageToken to obtain further pages of results. ", + "closeTimeFilter": "If specified, the workflow executions are included in the returned results based on whether their close times are within the range specified by this filter. Also, if this parameter is specified, the returned results are ordered by their close times. startTimeFilter and closeTimeFilter are mutually exclusive. You must specify one of these in a request but not both. " +} +""" +ListClosedWorkflowExecutions(args) = swf("ListClosedWorkflowExecutions", args) + +""" + ListOpenWorkflowExecutions() + +Returns a list of open workflow executions in the specified domain that meet the filtering criteria. The results may be split into multiple pages. To retrieve subsequent pages, make the call again using the nextPageToken returned by the initial call. This operation is eventually consistent. The results are best effort and may not exactly reflect recent updates and changes. Access Control You can use IAM policies to control this action's access to Amazon SWF resources as follows: Use a Resource element with the domain name to limit the action to only specified domains. Use an Action element to allow or deny permission to call this action. Constrain the following parameters by using a Condition element with the appropriate keys. tagFilter.tag: String constraint. The key is swf:tagFilter.tag. typeFilter.name: String constraint. The key is swf:typeFilter.name. typeFilter.version: String constraint. The key is swf:typeFilter.version. If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide. + +Required Parameters +{ + "startTimeFilter": "Workflow executions are included in the returned results based on whether their start times are within the range specified by this filter.", + "domain": "The name of the domain that contains the workflow executions to list." +} + +Optional Parameters +{ + "nextPageToken": "If NextPageToken is returned there are more results available. The value of NextPageToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 60 seconds. Using an expired pagination token will return a 400 error: \"Specified token has exceeded its maximum lifetime\". The configured maximumPageSize determines how many results can be returned in a single call. ", + "typeFilter": "If specified, only executions of the type specified in the filter are returned. executionFilter, typeFilter and tagFilter are mutually exclusive. You can specify at most one of these in a request. ", + "reverseOrder": "When set to true, returns the results in reverse order. By default the results are returned in descending order of the start time of the executions.", + "tagFilter": "If specified, only executions that have the matching tag are listed. executionFilter, typeFilter and tagFilter are mutually exclusive. You can specify at most one of these in a request. ", + "executionFilter": "If specified, only workflow executions matching the workflow ID specified in the filter are returned. executionFilter, typeFilter and tagFilter are mutually exclusive. You can specify at most one of these in a request. ", + "maximumPageSize": "The maximum number of results that are returned per call. Use nextPageToken to obtain further pages of results. " +} +""" +ListOpenWorkflowExecutions(args) = swf("ListOpenWorkflowExecutions", args) + +""" + RespondDecisionTaskCompleted() + +Used by deciders to tell the service that the DecisionTask identified by the taskToken has successfully completed. The decisions argument specifies the list of decisions made while processing the task. A DecisionTaskCompleted event is added to the workflow history. The executionContext specified is attached to the event in the workflow execution history. Access Control If an IAM policy grants permission to use RespondDecisionTaskCompleted, it can express permissions for the list of decisions in the decisions parameter. Each of the decisions has one or more parameters, much like a regular API call. To allow for policies to be as readable as possible, you can express permissions on decisions as if they were actual API calls, including applying conditions to some parameters. For more information, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide. + +Required Parameters +{ + "taskToken": "The taskToken from the DecisionTask. taskToken is generated by the service and should be treated as an opaque value. If the task is passed to another process, its taskToken must also be passed. This enables it to provide its progress and respond with results. " +} + +Optional Parameters +{ + "decisions": "The list of decisions (possibly empty) made by the decider while processing this decision task. See the docs for the Decision structure for details.", + "executionContext": "User defined context to add to workflow execution." +} +""" +RespondDecisionTaskCompleted(args) = swf("RespondDecisionTaskCompleted", args) + +""" + RegisterDomain() + +Registers a new domain. Access Control You can use IAM policies to control this action's access to Amazon SWF resources as follows: You cannot use an IAM policy to control domain access for this action. The name of the domain being registered is available as the resource of this action. Use an Action element to allow or deny permission to call this action. You cannot use an IAM policy to constrain this action's parameters. If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide. + +Required Parameters +{ + "name": "Name of the domain to register. The name must be unique in the region that the domain is registered in. The specified string must not start or end with whitespace. It must not contain a : (colon), / (slash), | (vertical bar), or any control characters ( u0000- u001f | u007f- u009f). Also, it must not be the literal string arn.", + "workflowExecutionRetentionPeriodInDays": "The duration (in days) that records and histories of workflow executions on the domain should be kept by the service. After the retention period, the workflow execution isn't available in the results of visibility calls. If you pass the value NONE or 0 (zero), then the workflow execution history isn't retained. As soon as the workflow execution completes, the execution record and its history are deleted. The maximum workflow execution retention period is 90 days. For more information about Amazon SWF service limits, see: Amazon SWF Service Limits in the Amazon SWF Developer Guide." +} + +Optional Parameters +{ + "tags": "Tags to be added when registering a domain. Tags may only contain unicode letters, digits, whitespace, or these symbols: _ . : / = + - @.", + "description": "A text description of the domain." +} +""" +RegisterDomain(args) = swf("RegisterDomain", args) + +""" + CountOpenWorkflowExecutions() + +Returns the number of open workflow executions within the given domain that meet the specified filtering criteria. This operation is eventually consistent. The results are best effort and may not exactly reflect recent updates and changes. Access Control You can use IAM policies to control this action's access to Amazon SWF resources as follows: Use a Resource element with the domain name to limit the action to only specified domains. Use an Action element to allow or deny permission to call this action. Constrain the following parameters by using a Condition element with the appropriate keys. tagFilter.tag: String constraint. The key is swf:tagFilter.tag. typeFilter.name: String constraint. The key is swf:typeFilter.name. typeFilter.version: String constraint. The key is swf:typeFilter.version. If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide. + +Required Parameters +{ + "startTimeFilter": "Specifies the start time criteria that workflow executions must meet in order to be counted.", + "domain": "The name of the domain containing the workflow executions to count." +} + +Optional Parameters +{ + "typeFilter": "Specifies the type of the workflow executions to be counted. executionFilter, typeFilter and tagFilter are mutually exclusive. You can specify at most one of these in a request. ", + "executionFilter": "If specified, only workflow executions matching the WorkflowId in the filter are counted. executionFilter, typeFilter and tagFilter are mutually exclusive. You can specify at most one of these in a request. ", + "tagFilter": "If specified, only executions that have a tag that matches the filter are counted. executionFilter, typeFilter and tagFilter are mutually exclusive. You can specify at most one of these in a request. " +} +""" +CountOpenWorkflowExecutions(args) = swf("CountOpenWorkflowExecutions", args) + +""" + ListWorkflowTypes() + +Returns information about workflow types in the specified domain. The results may be split into multiple pages that can be retrieved by making the call repeatedly. Access Control You can use IAM policies to control this action's access to Amazon SWF resources as follows: Use a Resource element with the domain name to limit the action to only specified domains. Use an Action element to allow or deny permission to call this action. You cannot use an IAM policy to constrain this action's parameters. If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide. + +Required Parameters +{ + "domain": "The name of the domain in which the workflow types have been registered.", + "registrationStatus": "Specifies the registration status of the workflow types to list." +} + +Optional Parameters +{ + "name": "If specified, lists the workflow type with this name.", + "nextPageToken": "If NextPageToken is returned there are more results available. The value of NextPageToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 60 seconds. Using an expired pagination token will return a 400 error: \"Specified token has exceeded its maximum lifetime\". The configured maximumPageSize determines how many results can be returned in a single call. ", + "reverseOrder": "When set to true, returns the results in reverse order. By default the results are returned in ascending alphabetical order of the name of the workflow types.", + "maximumPageSize": "The maximum number of results that are returned per call. Use nextPageToken to obtain further pages of results. " +} +""" +ListWorkflowTypes(args) = swf("ListWorkflowTypes", args) + +""" + DescribeDomain() + +Returns information about the specified domain, including description and status. Access Control You can use IAM policies to control this action's access to Amazon SWF resources as follows: Use a Resource element with the domain name to limit the action to only specified domains. Use an Action element to allow or deny permission to call this action. You cannot use an IAM policy to constrain this action's parameters. If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide. + +Required Parameters +{ + "name": "The name of the domain to describe." +} +""" +DescribeDomain(args) = swf("DescribeDomain", args) + +""" + PollForActivityTask() + +Used by workers to get an ActivityTask from the specified activity taskList. This initiates a long poll, where the service holds the HTTP connection open and responds as soon as a task becomes available. The maximum time the service holds on to the request before responding is 60 seconds. If no task is available within 60 seconds, the poll returns an empty result. An empty result, in this context, means that an ActivityTask is returned, but that the value of taskToken is an empty string. If a task is returned, the worker should use its type to identify and process it correctly. Workers should set their client side socket timeout to at least 70 seconds (10 seconds higher than the maximum time service may hold the poll request). Access Control You can use IAM policies to control this action's access to Amazon SWF resources as follows: Use a Resource element with the domain name to limit the action to only specified domains. Use an Action element to allow or deny permission to call this action. Constrain the taskList.name parameter by using a Condition element with the swf:taskList.name key to allow the action to access only certain task lists. If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide. + +Required Parameters +{ + "domain": "The name of the domain that contains the task lists being polled.", + "taskList": "Specifies the task list to poll for activity tasks. The specified string must not start or end with whitespace. It must not contain a : (colon), / (slash), | (vertical bar), or any control characters ( u0000- u001f | u007f- u009f). Also, it must not be the literal string arn." +} + +Optional Parameters +{ + "identity": "Identity of the worker making the request, recorded in the ActivityTaskStarted event in the workflow history. This enables diagnostic tracing when problems arise. The form of this identity is user defined." +} +""" +PollForActivityTask(args) = swf("PollForActivityTask", args) + +""" + PollForDecisionTask() + +Used by deciders to get a DecisionTask from the specified decision taskList. A decision task may be returned for any open workflow execution that is using the specified task list. The task includes a paginated view of the history of the workflow execution. The decider should use the workflow type and the history to determine how to properly handle the task. This action initiates a long poll, where the service holds the HTTP connection open and responds as soon a task becomes available. If no decision task is available in the specified task list before the timeout of 60 seconds expires, an empty result is returned. An empty result, in this context, means that a DecisionTask is returned, but that the value of taskToken is an empty string. Deciders should set their client side socket timeout to at least 70 seconds (10 seconds higher than the timeout). Because the number of workflow history events for a single workflow execution might be very large, the result returned might be split up across a number of pages. To retrieve subsequent pages, make additional calls to PollForDecisionTask using the nextPageToken returned by the initial call. Note that you do not call GetWorkflowExecutionHistory with this nextPageToken. Instead, call PollForDecisionTask again. Access Control You can use IAM policies to control this action's access to Amazon SWF resources as follows: Use a Resource element with the domain name to limit the action to only specified domains. Use an Action element to allow or deny permission to call this action. Constrain the taskList.name parameter by using a Condition element with the swf:taskList.name key to allow the action to access only certain task lists. If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide. + +Required Parameters +{ + "domain": "The name of the domain containing the task lists to poll.", + "taskList": "Specifies the task list to poll for decision tasks. The specified string must not start or end with whitespace. It must not contain a : (colon), / (slash), | (vertical bar), or any control characters ( u0000- u001f | u007f- u009f). Also, it must not be the literal string arn." +} + +Optional Parameters +{ + "nextPageToken": "If NextPageToken is returned there are more results available. The value of NextPageToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 60 seconds. Using an expired pagination token will return a 400 error: \"Specified token has exceeded its maximum lifetime\". The configured maximumPageSize determines how many results can be returned in a single call. The nextPageToken returned by this action cannot be used with GetWorkflowExecutionHistory to get the next page. You must call PollForDecisionTask again (with the nextPageToken) to retrieve the next page of history records. Calling PollForDecisionTask with a nextPageToken doesn't return a new decision task. ", + "reverseOrder": "When set to true, returns the events in reverse order. By default the results are returned in ascending order of the eventTimestamp of the events.", + "maximumPageSize": "The maximum number of results that are returned per call. Use nextPageToken to obtain further pages of results. This is an upper limit only; the actual number of results returned per call may be fewer than the specified maximum.", + "identity": "Identity of the decider making the request, which is recorded in the DecisionTaskStarted event in the workflow history. This enables diagnostic tracing when problems arise. The form of this identity is user defined." +} +""" +PollForDecisionTask(args) = swf("PollForDecisionTask", args) + +""" + RespondActivityTaskFailed() + +Used by workers to tell the service that the ActivityTask identified by the taskToken has failed with reason (if specified). The reason and details appear in the ActivityTaskFailed event added to the workflow history. A task is considered open from the time that it is scheduled until it is closed. Therefore a task is reported as open while a worker is processing it. A task is closed after it has been specified in a call to RespondActivityTaskCompleted, RespondActivityTaskCanceled, RespondActivityTaskFailed, or the task has timed out. Access Control You can use IAM policies to control this action's access to Amazon SWF resources as follows: Use a Resource element with the domain name to limit the action to only specified domains. Use an Action element to allow or deny permission to call this action. You cannot use an IAM policy to constrain this action's parameters. If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide. + +Required Parameters +{ + "taskToken": "The taskToken of the ActivityTask. taskToken is generated by the service and should be treated as an opaque value. If the task is passed to another process, its taskToken must also be passed. This enables it to provide its progress and respond with results. " +} + +Optional Parameters +{ + "details": " Detailed information about the failure.", + "reason": "Description of the error that may assist in diagnostics." +} +""" +RespondActivityTaskFailed(args) = swf("RespondActivityTaskFailed", args) + +""" + DeprecateDomain() + +Deprecates the specified domain. After a domain has been deprecated it cannot be used to create new workflow executions or register new types. However, you can still use visibility actions on this domain. Deprecating a domain also deprecates all activity and workflow types registered in the domain. Executions that were started before the domain was deprecated continues to run. This operation is eventually consistent. The results are best effort and may not exactly reflect recent updates and changes. Access Control You can use IAM policies to control this action's access to Amazon SWF resources as follows: Use a Resource element with the domain name to limit the action to only specified domains. Use an Action element to allow or deny permission to call this action. You cannot use an IAM policy to constrain this action's parameters. If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide. + +Required Parameters +{ + "name": "The name of the domain to deprecate." +} +""" +DeprecateDomain(args) = swf("DeprecateDomain", args) + +""" + DescribeActivityType() + +Returns information about the specified activity type. This includes configuration settings provided when the type was registered and other general information about the type. Access Control You can use IAM policies to control this action's access to Amazon SWF resources as follows: Use a Resource element with the domain name to limit the action to only specified domains. Use an Action element to allow or deny permission to call this action. Constrain the following parameters by using a Condition element with the appropriate keys. activityType.name: String constraint. The key is swf:activityType.name. activityType.version: String constraint. The key is swf:activityType.version. If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide. + +Required Parameters +{ + "domain": "The name of the domain in which the activity type is registered.", + "activityType": "The activity type to get information about. Activity types are identified by the name and version that were supplied when the activity was registered." +} +""" +DescribeActivityType(args) = swf("DescribeActivityType", args) + +""" + ListDomains() + +Returns the list of domains registered in the account. The results may be split into multiple pages. To retrieve subsequent pages, make the call again using the nextPageToken returned by the initial call. This operation is eventually consistent. The results are best effort and may not exactly reflect recent updates and changes. Access Control You can use IAM policies to control this action's access to Amazon SWF resources as follows: Use a Resource element with the domain name to limit the action to only specified domains. The element must be set to arn:aws:swf::AccountID:domain/*, where AccountID is the account ID, with no dashes. Use an Action element to allow or deny permission to call this action. You cannot use an IAM policy to constrain this action's parameters. If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide. + +Required Parameters +{ + "registrationStatus": "Specifies the registration status of the domains to list." +} + +Optional Parameters +{ + "nextPageToken": "If NextPageToken is returned there are more results available. The value of NextPageToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 60 seconds. Using an expired pagination token will return a 400 error: \"Specified token has exceeded its maximum lifetime\". The configured maximumPageSize determines how many results can be returned in a single call. ", + "reverseOrder": "When set to true, returns the results in reverse order. By default, the results are returned in ascending alphabetical order by name of the domains.", + "maximumPageSize": "The maximum number of results that are returned per call. Use nextPageToken to obtain further pages of results. " +} +""" +ListDomains(args) = swf("ListDomains", args) + +""" + RegisterWorkflowType() + +Registers a new workflow type and its configuration settings in the specified domain. The retention period for the workflow history is set by the RegisterDomain action. If the type already exists, then a TypeAlreadyExists fault is returned. You cannot change the configuration settings of a workflow type once it is registered and it must be registered as a new version. Access Control You can use IAM policies to control this action's access to Amazon SWF resources as follows: Use a Resource element with the domain name to limit the action to only specified domains. Use an Action element to allow or deny permission to call this action. Constrain the following parameters by using a Condition element with the appropriate keys. defaultTaskList.name: String constraint. The key is swf:defaultTaskList.name. name: String constraint. The key is swf:name. version: String constraint. The key is swf:version. If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide. + +Required Parameters +{ + "name": "The name of the workflow type. The specified string must not start or end with whitespace. It must not contain a : (colon), / (slash), | (vertical bar), or any control characters ( u0000- u001f | u007f- u009f). Also, it must not be the literal string arn.", + "domain": "The name of the domain in which to register the workflow type.", + "version": "The version of the workflow type. The workflow type consists of the name and version, the combination of which must be unique within the domain. To get a list of all currently registered workflow types, use the ListWorkflowTypes action. The specified string must not start or end with whitespace. It must not contain a : (colon), / (slash), | (vertical bar), or any control characters ( u0000- u001f | u007f- u009f). Also, it must not be the literal string arn." +} + +Optional Parameters +{ + "defaultTaskStartToCloseTimeout": "If set, specifies the default maximum duration of decision tasks for this workflow type. This default can be overridden when starting a workflow execution using the StartWorkflowExecution action or the StartChildWorkflowExecution Decision. The duration is specified in seconds, an integer greater than or equal to 0. You can use NONE to specify unlimited duration.", + "defaultTaskList": "If set, specifies the default task list to use for scheduling decision tasks for executions of this workflow type. This default is used only if a task list isn't provided when starting the execution through the StartWorkflowExecution Action or StartChildWorkflowExecution Decision.", + "defaultExecutionStartToCloseTimeout": "If set, specifies the default maximum duration for executions of this workflow type. You can override this default when starting an execution through the StartWorkflowExecution Action or StartChildWorkflowExecution Decision. The duration is specified in seconds; an integer greater than or equal to 0. Unlike some of the other timeout parameters in Amazon SWF, you cannot specify a value of \"NONE\" for defaultExecutionStartToCloseTimeout; there is a one-year max limit on the time that a workflow execution can run. Exceeding this limit always causes the workflow execution to time out.", + "defaultLambdaRole": "The default IAM role attached to this workflow type. Executions of this workflow type need IAM roles to invoke Lambda functions. If you don't specify an IAM role when you start this workflow type, the default Lambda role is attached to the execution. For more information, see https://docs.aws.amazon.com/amazonswf/latest/developerguide/lambda-task.html in the Amazon SWF Developer Guide. ", + "defaultTaskPriority": "The default task priority to assign to the workflow type. If not assigned, then 0 is used. Valid values are integers that range from Java's Integer.MIN_VALUE (-2147483648) to Integer.MAX_VALUE (2147483647). Higher numbers indicate higher priority. For more information about setting task priority, see Setting Task Priority in the Amazon SWF Developer Guide.", + "description": "Textual description of the workflow type.", + "defaultChildPolicy": "If set, specifies the default policy to use for the child workflow executions when a workflow execution of this type is terminated, by calling the TerminateWorkflowExecution action explicitly or due to an expired timeout. This default can be overridden when starting a workflow execution using the StartWorkflowExecution action or the StartChildWorkflowExecution Decision. The supported child policies are: TERMINATE – The child executions are terminated. REQUEST_CANCEL – A request to cancel is attempted for each child execution by recording a WorkflowExecutionCancelRequested event in its history. It is up to the decider to take appropriate actions when it receives an execution history with this event. ABANDON – No action is taken. The child executions continue to run. " +} +""" +RegisterWorkflowType(args) = swf("RegisterWorkflowType", args) + +""" + RespondActivityTaskCanceled() + +Used by workers to tell the service that the ActivityTask identified by the taskToken was successfully canceled. Additional details can be provided using the details argument. These details (if provided) appear in the ActivityTaskCanceled event added to the workflow history. Only use this operation if the canceled flag of a RecordActivityTaskHeartbeat request returns true and if the activity can be safely undone or abandoned. A task is considered open from the time that it is scheduled until it is closed. Therefore a task is reported as open while a worker is processing it. A task is closed after it has been specified in a call to RespondActivityTaskCompleted, RespondActivityTaskCanceled, RespondActivityTaskFailed, or the task has timed out. Access Control You can use IAM policies to control this action's access to Amazon SWF resources as follows: Use a Resource element with the domain name to limit the action to only specified domains. Use an Action element to allow or deny permission to call this action. You cannot use an IAM policy to constrain this action's parameters. If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide. + +Required Parameters +{ + "taskToken": "The taskToken of the ActivityTask. taskToken is generated by the service and should be treated as an opaque value. If the task is passed to another process, its taskToken must also be passed. This enables it to provide its progress and respond with results. " +} + +Optional Parameters +{ + "details": " Information about the cancellation." +} +""" +RespondActivityTaskCanceled(args) = swf("RespondActivityTaskCanceled", args) + +""" + GetWorkflowExecutionHistory() + +Returns the history of the specified workflow execution. The results may be split into multiple pages. To retrieve subsequent pages, make the call again using the nextPageToken returned by the initial call. This operation is eventually consistent. The results are best effort and may not exactly reflect recent updates and changes. Access Control You can use IAM policies to control this action's access to Amazon SWF resources as follows: Use a Resource element with the domain name to limit the action to only specified domains. Use an Action element to allow or deny permission to call this action. You cannot use an IAM policy to constrain this action's parameters. If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide. + +Required Parameters +{ + "domain": "The name of the domain containing the workflow execution.", + "execution": "Specifies the workflow execution for which to return the history." +} + +Optional Parameters +{ + "nextPageToken": "If NextPageToken is returned there are more results available. The value of NextPageToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 60 seconds. Using an expired pagination token will return a 400 error: \"Specified token has exceeded its maximum lifetime\". The configured maximumPageSize determines how many results can be returned in a single call. ", + "reverseOrder": "When set to true, returns the events in reverse order. By default the results are returned in ascending order of the eventTimeStamp of the events.", + "maximumPageSize": "The maximum number of results that are returned per call. Use nextPageToken to obtain further pages of results. " +} +""" +GetWorkflowExecutionHistory(args) = swf("GetWorkflowExecutionHistory", args) + +""" + CountClosedWorkflowExecutions() + +Returns the number of closed workflow executions within the given domain that meet the specified filtering criteria. This operation is eventually consistent. The results are best effort and may not exactly reflect recent updates and changes. Access Control You can use IAM policies to control this action's access to Amazon SWF resources as follows: Use a Resource element with the domain name to limit the action to only specified domains. Use an Action element to allow or deny permission to call this action. Constrain the following parameters by using a Condition element with the appropriate keys. tagFilter.tag: String constraint. The key is swf:tagFilter.tag. typeFilter.name: String constraint. The key is swf:typeFilter.name. typeFilter.version: String constraint. The key is swf:typeFilter.version. If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide. + +Required Parameters +{ + "domain": "The name of the domain containing the workflow executions to count." +} + +Optional Parameters +{ + "startTimeFilter": "If specified, only workflow executions that meet the start time criteria of the filter are counted. startTimeFilter and closeTimeFilter are mutually exclusive. You must specify one of these in a request but not both. ", + "executionFilter": "If specified, only workflow executions matching the WorkflowId in the filter are counted. closeStatusFilter, executionFilter, typeFilter and tagFilter are mutually exclusive. You can specify at most one of these in a request. ", + "typeFilter": "If specified, indicates the type of the workflow executions to be counted. closeStatusFilter, executionFilter, typeFilter and tagFilter are mutually exclusive. You can specify at most one of these in a request. ", + "tagFilter": "If specified, only executions that have a tag that matches the filter are counted. closeStatusFilter, executionFilter, typeFilter and tagFilter are mutually exclusive. You can specify at most one of these in a request. ", + "closeStatusFilter": "If specified, only workflow executions that match this close status are counted. This filter has an affect only if executionStatus is specified as CLOSED. closeStatusFilter, executionFilter, typeFilter and tagFilter are mutually exclusive. You can specify at most one of these in a request. ", + "closeTimeFilter": "If specified, only workflow executions that meet the close time criteria of the filter are counted. startTimeFilter and closeTimeFilter are mutually exclusive. You must specify one of these in a request but not both. " +} +""" +CountClosedWorkflowExecutions(args) = swf("CountClosedWorkflowExecutions", args) + +""" + CountPendingDecisionTasks() + +Returns the estimated number of decision tasks in the specified task list. The count returned is an approximation and isn't guaranteed to be exact. If you specify a task list that no decision task was ever scheduled in then 0 is returned. Access Control You can use IAM policies to control this action's access to Amazon SWF resources as follows: Use a Resource element with the domain name to limit the action to only specified domains. Use an Action element to allow or deny permission to call this action. Constrain the taskList.name parameter by using a Condition element with the swf:taskList.name key to allow the action to access only certain task lists. If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide. + +Required Parameters +{ + "domain": "The name of the domain that contains the task list.", + "taskList": "The name of the task list." +} +""" +CountPendingDecisionTasks(args) = swf("CountPendingDecisionTasks", args) + +""" + RecordActivityTaskHeartbeat() + +Used by activity workers to report to the service that the ActivityTask represented by the specified taskToken is still making progress. The worker can also specify details of the progress, for example percent complete, using the details parameter. This action can also be used by the worker as a mechanism to check if cancellation is being requested for the activity task. If a cancellation is being attempted for the specified task, then the boolean cancelRequested flag returned by the service is set to true. This action resets the taskHeartbeatTimeout clock. The taskHeartbeatTimeout is specified in RegisterActivityType. This action doesn't in itself create an event in the workflow execution history. However, if the task times out, the workflow execution history contains a ActivityTaskTimedOut event that contains the information from the last heartbeat generated by the activity worker. The taskStartToCloseTimeout of an activity type is the maximum duration of an activity task, regardless of the number of RecordActivityTaskHeartbeat requests received. The taskStartToCloseTimeout is also specified in RegisterActivityType. This operation is only useful for long-lived activities to report liveliness of the task and to determine if a cancellation is being attempted. If the cancelRequested flag returns true, a cancellation is being attempted. If the worker can cancel the activity, it should respond with RespondActivityTaskCanceled. Otherwise, it should ignore the cancellation request. Access Control You can use IAM policies to control this action's access to Amazon SWF resources as follows: Use a Resource element with the domain name to limit the action to only specified domains. Use an Action element to allow or deny permission to call this action. You cannot use an IAM policy to constrain this action's parameters. If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide. + +Required Parameters +{ + "taskToken": "The taskToken of the ActivityTask. taskToken is generated by the service and should be treated as an opaque value. If the task is passed to another process, its taskToken must also be passed. This enables it to provide its progress and respond with results. " +} + +Optional Parameters +{ + "details": "If specified, contains details about the progress of the task." +} +""" +RecordActivityTaskHeartbeat(args) = swf("RecordActivityTaskHeartbeat", args) + +""" + RegisterActivityType() + +Registers a new activity type along with its configuration settings in the specified domain. A TypeAlreadyExists fault is returned if the type already exists in the domain. You cannot change any configuration settings of the type after its registration, and it must be registered as a new version. Access Control You can use IAM policies to control this action's access to Amazon SWF resources as follows: Use a Resource element with the domain name to limit the action to only specified domains. Use an Action element to allow or deny permission to call this action. Constrain the following parameters by using a Condition element with the appropriate keys. defaultTaskList.name: String constraint. The key is swf:defaultTaskList.name. name: String constraint. The key is swf:name. version: String constraint. The key is swf:version. If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide. + +Required Parameters +{ + "name": "The name of the activity type within the domain. The specified string must not start or end with whitespace. It must not contain a : (colon), / (slash), | (vertical bar), or any control characters ( u0000- u001f | u007f- u009f). Also, it must not be the literal string arn.", + "domain": "The name of the domain in which this activity is to be registered.", + "version": "The version of the activity type. The activity type consists of the name and version, the combination of which must be unique within the domain. The specified string must not start or end with whitespace. It must not contain a : (colon), / (slash), | (vertical bar), or any control characters ( u0000- u001f | u007f- u009f). Also, it must not be the literal string arn." +} + +Optional Parameters +{ + "defaultTaskHeartbeatTimeout": "If set, specifies the default maximum time before which a worker processing a task of this type must report progress by calling RecordActivityTaskHeartbeat. If the timeout is exceeded, the activity task is automatically timed out. This default can be overridden when scheduling an activity task using the ScheduleActivityTask Decision. If the activity worker subsequently attempts to record a heartbeat or returns a result, the activity worker receives an UnknownResource fault. In this case, Amazon SWF no longer considers the activity task to be valid; the activity worker should clean up the activity task. The duration is specified in seconds, an integer greater than or equal to 0. You can use NONE to specify unlimited duration.", + "defaultTaskStartToCloseTimeout": "If set, specifies the default maximum duration that a worker can take to process tasks of this activity type. This default can be overridden when scheduling an activity task using the ScheduleActivityTask Decision. The duration is specified in seconds, an integer greater than or equal to 0. You can use NONE to specify unlimited duration.", + "defaultTaskList": "If set, specifies the default task list to use for scheduling tasks of this activity type. This default task list is used if a task list isn't provided when a task is scheduled through the ScheduleActivityTask Decision.", + "defaultTaskScheduleToStartTimeout": "If set, specifies the default maximum duration that a task of this activity type can wait before being assigned to a worker. This default can be overridden when scheduling an activity task using the ScheduleActivityTask Decision. The duration is specified in seconds, an integer greater than or equal to 0. You can use NONE to specify unlimited duration.", + "defaultTaskPriority": "The default task priority to assign to the activity type. If not assigned, then 0 is used. Valid values are integers that range from Java's Integer.MIN_VALUE (-2147483648) to Integer.MAX_VALUE (2147483647). Higher numbers indicate higher priority. For more information about setting task priority, see Setting Task Priority in the in the Amazon SWF Developer Guide..", + "description": "A textual description of the activity type.", + "defaultTaskScheduleToCloseTimeout": "If set, specifies the default maximum duration for a task of this activity type. This default can be overridden when scheduling an activity task using the ScheduleActivityTask Decision. The duration is specified in seconds, an integer greater than or equal to 0. You can use NONE to specify unlimited duration." +} +""" +RegisterActivityType(args) = swf("RegisterActivityType", args) + +""" + TagResource() + +Add a tag to a Amazon SWF domain. Amazon SWF supports a maximum of 50 tags per resource. + +Required Parameters +{ + "resourceArn": "The Amazon Resource Name (ARN) for the Amazon SWF domain.", + "tags": "The list of tags to add to a domain. Tags may only contain unicode letters, digits, whitespace, or these symbols: _ . : / = + - @." +} +""" +TagResource(args) = swf("TagResource", args) + +""" + DescribeWorkflowExecution() + +Returns information about the specified workflow execution including its type and some statistics. This operation is eventually consistent. The results are best effort and may not exactly reflect recent updates and changes. Access Control You can use IAM policies to control this action's access to Amazon SWF resources as follows: Use a Resource element with the domain name to limit the action to only specified domains. Use an Action element to allow or deny permission to call this action. You cannot use an IAM policy to constrain this action's parameters. If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide. + +Required Parameters +{ + "domain": "The name of the domain containing the workflow execution.", + "execution": "The workflow execution to describe." +} +""" +DescribeWorkflowExecution(args) = swf("DescribeWorkflowExecution", args) + +""" + UntagResource() + +Remove a tag from a Amazon SWF domain. + +Required Parameters +{ + "resourceArn": "The Amazon Resource Name (ARN) for the Amazon SWF domain.", + "tagKeys": "The list of tags to remove from the Amazon SWF domain." +} +""" +UntagResource(args) = swf("UntagResource", args) + +""" + CountPendingActivityTasks() + +Returns the estimated number of activity tasks in the specified task list. The count returned is an approximation and isn't guaranteed to be exact. If you specify a task list that no activity task was ever scheduled in then 0 is returned. Access Control You can use IAM policies to control this action's access to Amazon SWF resources as follows: Use a Resource element with the domain name to limit the action to only specified domains. Use an Action element to allow or deny permission to call this action. Constrain the taskList.name parameter by using a Condition element with the swf:taskList.name key to allow the action to access only certain task lists. If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide. + +Required Parameters +{ + "domain": "The name of the domain that contains the task list.", + "taskList": "The name of the task list." +} +""" +CountPendingActivityTasks(args) = swf("CountPendingActivityTasks", args) + +""" + TerminateWorkflowExecution() + +Records a WorkflowExecutionTerminated event and forces closure of the workflow execution identified by the given domain, runId, and workflowId. The child policy, registered with the workflow type or specified when starting this execution, is applied to any open child workflow executions of this workflow execution. If the identified workflow execution was in progress, it is terminated immediately. If a runId isn't specified, then the WorkflowExecutionTerminated event is recorded in the history of the current open workflow with the matching workflowId in the domain. You should consider using RequestCancelWorkflowExecution action instead because it allows the workflow to gracefully close while TerminateWorkflowExecution doesn't. Access Control You can use IAM policies to control this action's access to Amazon SWF resources as follows: Use a Resource element with the domain name to limit the action to only specified domains. Use an Action element to allow or deny permission to call this action. You cannot use an IAM policy to constrain this action's parameters. If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide. + +Required Parameters +{ + "workflowId": "The workflowId of the workflow execution to terminate.", + "domain": "The domain of the workflow execution to terminate." +} + +Optional Parameters +{ + "details": " Details for terminating the workflow execution.", + "childPolicy": "If set, specifies the policy to use for the child workflow executions of the workflow execution being terminated. This policy overrides the child policy specified for the workflow execution at registration time or when starting the execution. The supported child policies are: TERMINATE – The child executions are terminated. REQUEST_CANCEL – A request to cancel is attempted for each child execution by recording a WorkflowExecutionCancelRequested event in its history. It is up to the decider to take appropriate actions when it receives an execution history with this event. ABANDON – No action is taken. The child executions continue to run. A child policy for this workflow execution must be specified either as a default for the workflow type or through this parameter. If neither this parameter is set nor a default child policy was specified at registration time then a fault is returned. ", + "reason": " A descriptive reason for terminating the workflow execution.", + "runId": "The runId of the workflow execution to terminate." +} +""" +TerminateWorkflowExecution(args) = swf("TerminateWorkflowExecution", args) + +""" + RequestCancelWorkflowExecution() + +Records a WorkflowExecutionCancelRequested event in the currently running workflow execution identified by the given domain, workflowId, and runId. This logically requests the cancellation of the workflow execution as a whole. It is up to the decider to take appropriate actions when it receives an execution history with this event. If the runId isn't specified, the WorkflowExecutionCancelRequested event is recorded in the history of the current open workflow execution with the specified workflowId in the domain. Because this action allows the workflow to properly clean up and gracefully close, it should be used instead of TerminateWorkflowExecution when possible. Access Control You can use IAM policies to control this action's access to Amazon SWF resources as follows: Use a Resource element with the domain name to limit the action to only specified domains. Use an Action element to allow or deny permission to call this action. You cannot use an IAM policy to constrain this action's parameters. If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide. + +Required Parameters +{ + "workflowId": "The workflowId of the workflow execution to cancel.", + "domain": "The name of the domain containing the workflow execution to cancel." +} + +Optional Parameters +{ + "runId": "The runId of the workflow execution to cancel." +} +""" +RequestCancelWorkflowExecution(args) = swf("RequestCancelWorkflowExecution", args) + +""" + ListActivityTypes() + +Returns information about all activities registered in the specified domain that match the specified name and registration status. The result includes information like creation date, current status of the activity, etc. The results may be split into multiple pages. To retrieve subsequent pages, make the call again using the nextPageToken returned by the initial call. Access Control You can use IAM policies to control this action's access to Amazon SWF resources as follows: Use a Resource element with the domain name to limit the action to only specified domains. Use an Action element to allow or deny permission to call this action. You cannot use an IAM policy to constrain this action's parameters. If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide. + +Required Parameters +{ + "domain": "The name of the domain in which the activity types have been registered.", + "registrationStatus": "Specifies the registration status of the activity types to list." +} + +Optional Parameters +{ + "name": "If specified, only lists the activity types that have this name.", + "nextPageToken": "If NextPageToken is returned there are more results available. The value of NextPageToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 60 seconds. Using an expired pagination token will return a 400 error: \"Specified token has exceeded its maximum lifetime\". The configured maximumPageSize determines how many results can be returned in a single call. ", + "reverseOrder": "When set to true, returns the results in reverse order. By default, the results are returned in ascending alphabetical order by name of the activity types.", + "maximumPageSize": "The maximum number of results that are returned per call. Use nextPageToken to obtain further pages of results. " +} +""" +ListActivityTypes(args) = swf("ListActivityTypes", args) + +""" + StartWorkflowExecution() + +Starts an execution of the workflow type in the specified domain using the provided workflowId and input data. This action returns the newly started workflow execution. Access Control You can use IAM policies to control this action's access to Amazon SWF resources as follows: Use a Resource element with the domain name to limit the action to only specified domains. Use an Action element to allow or deny permission to call this action. Constrain the following parameters by using a Condition element with the appropriate keys. tagList.member.0: The key is swf:tagList.member.0. tagList.member.1: The key is swf:tagList.member.1. tagList.member.2: The key is swf:tagList.member.2. tagList.member.3: The key is swf:tagList.member.3. tagList.member.4: The key is swf:tagList.member.4. taskList: String constraint. The key is swf:taskList.name. workflowType.name: String constraint. The key is swf:workflowType.name. workflowType.version: String constraint. The key is swf:workflowType.version. If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide. + +Required Parameters +{ + "workflowId": "The user defined identifier associated with the workflow execution. You can use this to associate a custom identifier with the workflow execution. You may specify the same identifier if a workflow execution is logically a restart of a previous execution. You cannot have two open workflow executions with the same workflowId at the same time within the same domain. The specified string must not start or end with whitespace. It must not contain a : (colon), / (slash), | (vertical bar), or any control characters ( u0000- u001f | u007f- u009f). Also, it must not be the literal string arn.", + "domain": "The name of the domain in which the workflow execution is created.", + "workflowType": "The type of the workflow to start." +} + +Optional Parameters +{ + "tagList": "The list of tags to associate with the workflow execution. You can specify a maximum of 5 tags. You can list workflow executions with a specific tag by calling ListOpenWorkflowExecutions or ListClosedWorkflowExecutions and specifying a TagFilter.", + "lambdaRole": "The IAM role to attach to this workflow execution. Executions of this workflow type need IAM roles to invoke Lambda functions. If you don't attach an IAM role, any attempt to schedule a Lambda task fails. This results in a ScheduleLambdaFunctionFailed history event. For more information, see https://docs.aws.amazon.com/amazonswf/latest/developerguide/lambda-task.html in the Amazon SWF Developer Guide. ", + "childPolicy": "If set, specifies the policy to use for the child workflow executions of this workflow execution if it is terminated, by calling the TerminateWorkflowExecution action explicitly or due to an expired timeout. This policy overrides the default child policy specified when registering the workflow type using RegisterWorkflowType. The supported child policies are: TERMINATE – The child executions are terminated. REQUEST_CANCEL – A request to cancel is attempted for each child execution by recording a WorkflowExecutionCancelRequested event in its history. It is up to the decider to take appropriate actions when it receives an execution history with this event. ABANDON – No action is taken. The child executions continue to run. A child policy for this workflow execution must be specified either as a default for the workflow type or through this parameter. If neither this parameter is set nor a default child policy was specified at registration time then a fault is returned. ", + "taskPriority": "The task priority to use for this workflow execution. This overrides any default priority that was assigned when the workflow type was registered. If not set, then the default task priority for the workflow type is used. Valid values are integers that range from Java's Integer.MIN_VALUE (-2147483648) to Integer.MAX_VALUE (2147483647). Higher numbers indicate higher priority. For more information about setting task priority, see Setting Task Priority in the Amazon SWF Developer Guide.", + "executionStartToCloseTimeout": "The total duration for this workflow execution. This overrides the defaultExecutionStartToCloseTimeout specified when registering the workflow type. The duration is specified in seconds; an integer greater than or equal to 0. Exceeding this limit causes the workflow execution to time out. Unlike some of the other timeout parameters in Amazon SWF, you cannot specify a value of \"NONE\" for this timeout; there is a one-year max limit on the time that a workflow execution can run. An execution start-to-close timeout must be specified either through this parameter or as a default when the workflow type is registered. If neither this parameter nor a default execution start-to-close timeout is specified, a fault is returned. ", + "taskList": "The task list to use for the decision tasks generated for this workflow execution. This overrides the defaultTaskList specified when registering the workflow type. A task list for this workflow execution must be specified either as a default for the workflow type or through this parameter. If neither this parameter is set nor a default task list was specified at registration time then a fault is returned. The specified string must not start or end with whitespace. It must not contain a : (colon), / (slash), | (vertical bar), or any control characters ( u0000- u001f | u007f- u009f). Also, it must not be the literal string arn.", + "input": "The input for the workflow execution. This is a free form string which should be meaningful to the workflow you are starting. This input is made available to the new workflow execution in the WorkflowExecutionStarted history event.", + "taskStartToCloseTimeout": "Specifies the maximum duration of decision tasks for this workflow execution. This parameter overrides the defaultTaskStartToCloseTimout specified when registering the workflow type using RegisterWorkflowType. The duration is specified in seconds, an integer greater than or equal to 0. You can use NONE to specify unlimited duration. A task start-to-close timeout for this workflow execution must be specified either as a default for the workflow type or through this parameter. If neither this parameter is set nor a default task start-to-close timeout was specified at registration time then a fault is returned. " +} +""" +StartWorkflowExecution(args) = swf("StartWorkflowExecution", args) + +""" + UndeprecateActivityType() + +Undeprecates a previously deprecated activity type. After an activity type has been undeprecated, you can create new tasks of that activity type. This operation is eventually consistent. The results are best effort and may not exactly reflect recent updates and changes. Access Control You can use IAM policies to control this action's access to Amazon SWF resources as follows: Use a Resource element with the domain name to limit the action to only specified domains. Use an Action element to allow or deny permission to call this action. Constrain the following parameters by using a Condition element with the appropriate keys. activityType.name: String constraint. The key is swf:activityType.name. activityType.version: String constraint. The key is swf:activityType.version. If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide. + +Required Parameters +{ + "domain": "The name of the domain of the deprecated activity type.", + "activityType": "The activity type to undeprecate." +} +""" +UndeprecateActivityType(args) = swf("UndeprecateActivityType", args) + +""" + DeprecateActivityType() + +Deprecates the specified activity type. After an activity type has been deprecated, you cannot create new tasks of that activity type. Tasks of this type that were scheduled before the type was deprecated continue to run. This operation is eventually consistent. The results are best effort and may not exactly reflect recent updates and changes. Access Control You can use IAM policies to control this action's access to Amazon SWF resources as follows: Use a Resource element with the domain name to limit the action to only specified domains. Use an Action element to allow or deny permission to call this action. Constrain the following parameters by using a Condition element with the appropriate keys. activityType.name: String constraint. The key is swf:activityType.name. activityType.version: String constraint. The key is swf:activityType.version. If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide. + +Required Parameters +{ + "domain": "The name of the domain in which the activity type is registered.", + "activityType": "The activity type to deprecate." +} +""" +DeprecateActivityType(args) = swf("DeprecateActivityType", args) + +""" + UndeprecateDomain() + +Undeprecates a previously deprecated domain. After a domain has been undeprecated it can be used to create new workflow executions or register new types. This operation is eventually consistent. The results are best effort and may not exactly reflect recent updates and changes. Access Control You can use IAM policies to control this action's access to Amazon SWF resources as follows: Use a Resource element with the domain name to limit the action to only specified domains. Use an Action element to allow or deny permission to call this action. You cannot use an IAM policy to constrain this action's parameters. If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide. + +Required Parameters +{ + "name": "The name of the domain of the deprecated workflow type." +} +""" +UndeprecateDomain(args) = swf("UndeprecateDomain", args) + +""" + DescribeWorkflowType() + +Returns information about the specified workflow type. This includes configuration settings specified when the type was registered and other information such as creation date, current status, etc. Access Control You can use IAM policies to control this action's access to Amazon SWF resources as follows: Use a Resource element with the domain name to limit the action to only specified domains. Use an Action element to allow or deny permission to call this action. Constrain the following parameters by using a Condition element with the appropriate keys. workflowType.name: String constraint. The key is swf:workflowType.name. workflowType.version: String constraint. The key is swf:workflowType.version. If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide. + +Required Parameters +{ + "domain": "The name of the domain in which this workflow type is registered.", + "workflowType": "The workflow type to describe." +} +""" +DescribeWorkflowType(args) = swf("DescribeWorkflowType", args) + +""" + DeprecateWorkflowType() + +Deprecates the specified workflow type. After a workflow type has been deprecated, you cannot create new executions of that type. Executions that were started before the type was deprecated continues to run. A deprecated workflow type may still be used when calling visibility actions. This operation is eventually consistent. The results are best effort and may not exactly reflect recent updates and changes. Access Control You can use IAM policies to control this action's access to Amazon SWF resources as follows: Use a Resource element with the domain name to limit the action to only specified domains. Use an Action element to allow or deny permission to call this action. Constrain the following parameters by using a Condition element with the appropriate keys. workflowType.name: String constraint. The key is swf:workflowType.name. workflowType.version: String constraint. The key is swf:workflowType.version. If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide. + +Required Parameters +{ + "domain": "The name of the domain in which the workflow type is registered.", + "workflowType": "The workflow type to deprecate." +} +""" +DeprecateWorkflowType(args) = swf("DeprecateWorkflowType", args) diff --git a/src/services/textract.jl b/src/services/textract.jl new file mode 100644 index 0000000000..fa65dd3ca1 --- /dev/null +++ b/src/services/textract.jl @@ -0,0 +1,107 @@ +include("../AWSServices.jl") +using .AWSServices: textract + +""" + AnalyzeDocument() + +Analyzes an input document for relationships between detected items. The types of information returned are as follows: Form data (key-value pairs). The related information is returned in two Block objects, each of type KEY_VALUE_SET: a KEY Block object and a VALUE Block object. For example, Name: Ana Silva Carolina contains a key and value. Name: is the key. Ana Silva Carolina is the value. Table and table cell data. A TABLE Block object contains information about a detected table. A CELL Block object is returned for each cell in a table. Lines and words of text. A LINE Block object contains one or more WORD Block objects. All lines and words that are detected in the document are returned (including text that doesn't have a relationship with the value of FeatureTypes). Selection elements such as check boxes and option buttons (radio buttons) can be detected in form data and in tables. A SELECTION_ELEMENT Block object contains information about a selection element, including the selection status. You can choose which type of analysis to perform by specifying the FeatureTypes list. The output is returned in a list of Block objects. AnalyzeDocument is a synchronous operation. To analyze documents asynchronously, use StartDocumentAnalysis. For more information, see Document Text Analysis. + +Required Parameters +{ + "FeatureTypes": "A list of the types of analysis to perform. Add TABLES to the list to return information about the tables that are detected in the input document. Add FORMS to return detected form data. To perform both types of analysis, add TABLES and FORMS to FeatureTypes. All lines and words detected in the document are included in the response (including text that isn't related to the value of FeatureTypes). ", + "Document": "The input document as base64-encoded bytes or an Amazon S3 object. If you use the AWS CLI to call Amazon Textract operations, you can't pass image bytes. The document must be an image in JPEG or PNG format. If you're using an AWS SDK to call Amazon Textract, you might not need to base64-encode image bytes that are passed using the Bytes field. " +} + +Optional Parameters +{ + "HumanLoopConfig": "Sets the configuration for the human in the loop workflow for analyzing documents." +} +""" +AnalyzeDocument(args) = textract("AnalyzeDocument", args) + +""" + GetDocumentAnalysis() + +Gets the results for an Amazon Textract asynchronous operation that analyzes text in a document. You start asynchronous text analysis by calling StartDocumentAnalysis, which returns a job identifier (JobId). When the text analysis operation finishes, Amazon Textract publishes a completion status to the Amazon Simple Notification Service (Amazon SNS) topic that's registered in the initial call to StartDocumentAnalysis. To get the results of the text-detection operation, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call GetDocumentAnalysis, and pass the job identifier (JobId) from the initial call to StartDocumentAnalysis. GetDocumentAnalysis returns an array of Block objects. The following types of information are returned: Form data (key-value pairs). The related information is returned in two Block objects, each of type KEY_VALUE_SET: a KEY Block object and a VALUE Block object. For example, Name: Ana Silva Carolina contains a key and value. Name: is the key. Ana Silva Carolina is the value. Table and table cell data. A TABLE Block object contains information about a detected table. A CELL Block object is returned for each cell in a table. Lines and words of text. A LINE Block object contains one or more WORD Block objects. All lines and words that are detected in the document are returned (including text that doesn't have a relationship with the value of the StartDocumentAnalysis FeatureTypes input parameter). Selection elements such as check boxes and option buttons (radio buttons) can be detected in form data and in tables. A SELECTION_ELEMENT Block object contains information about a selection element, including the selection status. Use the MaxResults parameter to limit the number of blocks that are returned. If there are more results than specified in MaxResults, the value of NextToken in the operation response contains a pagination token for getting the next set of results. To get the next page of results, call GetDocumentAnalysis, and populate the NextToken request parameter with the token value that's returned from the previous call to GetDocumentAnalysis. For more information, see Document Text Analysis. + +Required Parameters +{ + "JobId": "A unique identifier for the text-detection job. The JobId is returned from StartDocumentAnalysis. A JobId value is only valid for 7 days." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return per paginated call. The largest value that you can specify is 1,000. If you specify a value greater than 1,000, a maximum of 1,000 results is returned. The default value is 1,000.", + "NextToken": "If the previous response was incomplete (because there are more blocks to retrieve), Amazon Textract returns a pagination token in the response. You can use this pagination token to retrieve the next set of blocks." +} +""" +GetDocumentAnalysis(args) = textract("GetDocumentAnalysis", args) + +""" + StartDocumentAnalysis() + +Starts the asynchronous analysis of an input document for relationships between detected items such as key-value pairs, tables, and selection elements. StartDocumentAnalysis can analyze text in documents that are in JPEG, PNG, and PDF format. The documents are stored in an Amazon S3 bucket. Use DocumentLocation to specify the bucket name and file name of the document. StartDocumentAnalysis returns a job identifier (JobId) that you use to get the results of the operation. When text analysis is finished, Amazon Textract publishes a completion status to the Amazon Simple Notification Service (Amazon SNS) topic that you specify in NotificationChannel. To get the results of the text analysis operation, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call GetDocumentAnalysis, and pass the job identifier (JobId) from the initial call to StartDocumentAnalysis. For more information, see Document Text Analysis. + +Required Parameters +{ + "DocumentLocation": "The location of the document to be processed.", + "FeatureTypes": "A list of the types of analysis to perform. Add TABLES to the list to return information about the tables that are detected in the input document. Add FORMS to return detected form data. To perform both types of analysis, add TABLES and FORMS to FeatureTypes. All lines and words detected in the document are included in the response (including text that isn't related to the value of FeatureTypes). " +} + +Optional Parameters +{ + "JobTag": "An identifier that you specify that's included in the completion notification published to the Amazon SNS topic. For example, you can use JobTag to identify the type of document that the completion notification corresponds to (such as a tax form or a receipt).", + "ClientRequestToken": "The idempotent token that you use to identify the start request. If you use the same token with multiple StartDocumentAnalysis requests, the same JobId is returned. Use ClientRequestToken to prevent the same job from being accidentally started more than once. For more information, see Calling Amazon Textract Asynchronous Operations.", + "NotificationChannel": "The Amazon SNS topic ARN that you want Amazon Textract to publish the completion status of the operation to. " +} +""" +StartDocumentAnalysis(args) = textract("StartDocumentAnalysis", args) + +""" + DetectDocumentText() + +Detects text in the input document. Amazon Textract can detect lines of text and the words that make up a line of text. The input document must be an image in JPEG or PNG format. DetectDocumentText returns the detected text in an array of Block objects. Each document page has as an associated Block of type PAGE. Each PAGE Block object is the parent of LINE Block objects that represent the lines of detected text on a page. A LINE Block object is a parent for each word that makes up the line. Words are represented by Block objects of type WORD. DetectDocumentText is a synchronous operation. To analyze documents asynchronously, use StartDocumentTextDetection. For more information, see Document Text Detection. + +Required Parameters +{ + "Document": "The input document as base64-encoded bytes or an Amazon S3 object. If you use the AWS CLI to call Amazon Textract operations, you can't pass image bytes. The document must be an image in JPEG or PNG format. If you're using an AWS SDK to call Amazon Textract, you might not need to base64-encode image bytes that are passed using the Bytes field. " +} +""" +DetectDocumentText(args) = textract("DetectDocumentText", args) + +""" + StartDocumentTextDetection() + +Starts the asynchronous detection of text in a document. Amazon Textract can detect lines of text and the words that make up a line of text. StartDocumentTextDetection can analyze text in documents that are in JPEG, PNG, and PDF format. The documents are stored in an Amazon S3 bucket. Use DocumentLocation to specify the bucket name and file name of the document. StartTextDetection returns a job identifier (JobId) that you use to get the results of the operation. When text detection is finished, Amazon Textract publishes a completion status to the Amazon Simple Notification Service (Amazon SNS) topic that you specify in NotificationChannel. To get the results of the text detection operation, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call GetDocumentTextDetection, and pass the job identifier (JobId) from the initial call to StartDocumentTextDetection. For more information, see Document Text Detection. + +Required Parameters +{ + "DocumentLocation": "The location of the document to be processed." +} + +Optional Parameters +{ + "JobTag": "An identifier that you specify that's included in the completion notification published to the Amazon SNS topic. For example, you can use JobTag to identify the type of document that the completion notification corresponds to (such as a tax form or a receipt).", + "ClientRequestToken": "The idempotent token that's used to identify the start request. If you use the same token with multiple StartDocumentTextDetection requests, the same JobId is returned. Use ClientRequestToken to prevent the same job from being accidentally started more than once. For more information, see Calling Amazon Textract Asynchronous Operations.", + "NotificationChannel": "The Amazon SNS topic ARN that you want Amazon Textract to publish the completion status of the operation to. " +} +""" +StartDocumentTextDetection(args) = textract("StartDocumentTextDetection", args) + +""" + GetDocumentTextDetection() + +Gets the results for an Amazon Textract asynchronous operation that detects text in a document. Amazon Textract can detect lines of text and the words that make up a line of text. You start asynchronous text detection by calling StartDocumentTextDetection, which returns a job identifier (JobId). When the text detection operation finishes, Amazon Textract publishes a completion status to the Amazon Simple Notification Service (Amazon SNS) topic that's registered in the initial call to StartDocumentTextDetection. To get the results of the text-detection operation, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call GetDocumentTextDetection, and pass the job identifier (JobId) from the initial call to StartDocumentTextDetection. GetDocumentTextDetection returns an array of Block objects. Each document page has as an associated Block of type PAGE. Each PAGE Block object is the parent of LINE Block objects that represent the lines of detected text on a page. A LINE Block object is a parent for each word that makes up the line. Words are represented by Block objects of type WORD. Use the MaxResults parameter to limit the number of blocks that are returned. If there are more results than specified in MaxResults, the value of NextToken in the operation response contains a pagination token for getting the next set of results. To get the next page of results, call GetDocumentTextDetection, and populate the NextToken request parameter with the token value that's returned from the previous call to GetDocumentTextDetection. For more information, see Document Text Detection. + +Required Parameters +{ + "JobId": "A unique identifier for the text detection job. The JobId is returned from StartDocumentTextDetection. A JobId value is only valid for 7 days." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return per paginated call. The largest value you can specify is 1,000. If you specify a value greater than 1,000, a maximum of 1,000 results is returned. The default value is 1,000.", + "NextToken": "If the previous response was incomplete (because there are more blocks to retrieve), Amazon Textract returns a pagination token in the response. You can use this pagination token to retrieve the next set of blocks." +} +""" +GetDocumentTextDetection(args) = textract("GetDocumentTextDetection", args) diff --git a/src/services/transcribe.jl b/src/services/transcribe.jl new file mode 100644 index 0000000000..80b69e4ca2 --- /dev/null +++ b/src/services/transcribe.jl @@ -0,0 +1,221 @@ +include("../AWSServices.jl") +using .AWSServices: transcribe + +""" + GetTranscriptionJob() + +Returns information about a transcription job. To see the status of the job, check the TranscriptionJobStatus field. If the status is COMPLETED, the job is finished and you can find the results at the location specified in the TranscriptFileUri field. If you enable content redaction, the redacted transcript appears in RedactedTranscriptFileUri. + +Required Parameters +{ + "TranscriptionJobName": "The name of the job." +} +""" +GetTranscriptionJob(args) = transcribe("GetTranscriptionJob", args) + +""" + GetVocabularyFilter() + +Returns information about a vocabulary filter. + +Required Parameters +{ + "VocabularyFilterName": "The name of the vocabulary filter for which to return information." +} +""" +GetVocabularyFilter(args) = transcribe("GetVocabularyFilter", args) + +""" + UpdateVocabularyFilter() + +Updates a vocabulary filter with a new list of filtered words. + +Required Parameters +{ + "VocabularyFilterName": "The name of the vocabulary filter to update." +} + +Optional Parameters +{ + "Words": "The words to use in the vocabulary filter. Only use characters from the character set defined for custom vocabularies. For a list of character sets, see Character Sets for Custom Vocabularies. If you provide a list of words in the Words parameter, you can't use the VocabularyFilterFileUri parameter.", + "VocabularyFilterFileUri": "The Amazon S3 location of a text file used as input to create the vocabulary filter. Only use characters from the character set defined for custom vocabularies. For a list of character sets, see Character Sets for Custom Vocabularies. The specified file must be less than 50 KB of UTF-8 characters. If you provide the location of a list of words in the VocabularyFilterFileUri parameter, you can't use the Words parameter." +} +""" +UpdateVocabularyFilter(args) = transcribe("UpdateVocabularyFilter", args) + +""" + DeleteVocabularyFilter() + +Removes a vocabulary filter. + +Required Parameters +{ + "VocabularyFilterName": "The name of the vocabulary filter to remove." +} +""" +DeleteVocabularyFilter(args) = transcribe("DeleteVocabularyFilter", args) + +""" + CreateVocabulary() + +Creates a new custom vocabulary that you can use to change the way Amazon Transcribe handles transcription of an audio file. + +Required Parameters +{ + "LanguageCode": "The language code of the vocabulary entries.", + "VocabularyName": "The name of the vocabulary. The name must be unique within an AWS account. The name is case-sensitive." +} + +Optional Parameters +{ + "Phrases": "An array of strings that contains the vocabulary entries. ", + "VocabularyFileUri": "The S3 location of the text file that contains the definition of the custom vocabulary. The URI must be in the same region as the API endpoint that you are calling. The general form is https://s3.<aws-region>.amazonaws.com/<bucket-name>/<keyprefix>/<objectkey> For example: https://s3.us-east-1.amazonaws.com/examplebucket/vocab.txt For more information about S3 object names, see Object Keys in the Amazon S3 Developer Guide. For more information about custom vocabularies, see Custom Vocabularies." +} +""" +CreateVocabulary(args) = transcribe("CreateVocabulary", args) + +""" + ListTranscriptionJobs() + +Lists transcription jobs with the specified status. + +Optional Parameters +{ + "MaxResults": "The maximum number of jobs to return in the response. If there are fewer results in the list, this response contains only the actual results.", + "NextToken": "If the result of the previous request to ListTranscriptionJobs was truncated, include the NextToken to fetch the next set of jobs.", + "Status": "When specified, returns only transcription jobs with the specified status. Jobs are ordered by creation date, with the newest jobs returned first. If you don’t specify a status, Amazon Transcribe returns all transcription jobs ordered by creation date. ", + "JobNameContains": "When specified, the jobs returned in the list are limited to jobs whose name contains the specified string." +} +""" +ListTranscriptionJobs() = transcribe("ListTranscriptionJobs") +ListTranscriptionJobs(args) = transcribe("ListTranscriptionJobs", args) + +""" + UpdateVocabulary() + +Updates an existing vocabulary with new values. The UpdateVocabulary operation overwrites all of the existing information with the values that you provide in the request. + +Required Parameters +{ + "LanguageCode": "The language code of the vocabulary entries.", + "VocabularyName": "The name of the vocabulary to update. The name is case-sensitive." +} + +Optional Parameters +{ + "Phrases": "An array of strings containing the vocabulary entries.", + "VocabularyFileUri": "The S3 location of the text file that contains the definition of the custom vocabulary. The URI must be in the same region as the API endpoint that you are calling. The general form is https://s3.<aws-region>.amazonaws.com/<bucket-name>/<keyprefix>/<objectkey> For example: https://s3.us-east-1.amazonaws.com/examplebucket/vocab.txt For more information about S3 object names, see Object Keys in the Amazon S3 Developer Guide. For more information about custom vocabularies, see Custom Vocabularies." +} +""" +UpdateVocabulary(args) = transcribe("UpdateVocabulary", args) + +""" + ListVocabularyFilters() + +Gets information about vocabulary filters. + +Optional Parameters +{ + "MaxResults": "The maximum number of filters to return in the response. If there are fewer results in the list, this response contains only the actual results.", + "NameContains": "Filters the response so that it only contains vocabulary filters whose name contains the specified string.", + "NextToken": "If the result of the previous request to ListVocabularyFilters was truncated, include the NextToken to fetch the next set of collections." +} +""" +ListVocabularyFilters() = transcribe("ListVocabularyFilters") +ListVocabularyFilters(args) = transcribe("ListVocabularyFilters", args) + +""" + StartTranscriptionJob() + +Starts an asynchronous job to transcribe speech to text. + +Required Parameters +{ + "Media": "An object that describes the input media for a transcription job.", + "LanguageCode": "The language code for the language used in the input media file.", + "TranscriptionJobName": "The name of the job. Note that you can't use the strings \".\" or \"..\" by themselves as the job name. The name must also be unique within an AWS account." +} + +Optional Parameters +{ + "MediaSampleRateHertz": "The sample rate, in Hertz, of the audio track in the input media file. If you do not specify the media sample rate, Amazon Transcribe determines the sample rate. If you specify the sample rate, it must match the sample rate detected by Amazon Transcribe. In most cases, you should leave the MediaSampleRateHertz field blank and let Amazon Transcribe determine the sample rate.", + "OutputBucketName": "The location where the transcription is stored. If you set the OutputBucketName, Amazon Transcribe puts the transcript in the specified S3 bucket. When you call the GetTranscriptionJob operation, the operation returns this location in the TranscriptFileUri field. If you enable content redaction, the redacted transcript appears in RedactedTranscriptFileUri. If you enable content redaction and choose to output an unredacted transcript, that transcript's location still appears in the TranscriptFileUri. The S3 bucket must have permissions that allow Amazon Transcribe to put files in the bucket. For more information, see Permissions Required for IAM User Roles. You can specify an AWS Key Management Service (KMS) key to encrypt the output of your transcription using the OutputEncryptionKMSKeyId parameter. If you don't specify a KMS key, Amazon Transcribe uses the default Amazon S3 key for server-side encryption of transcripts that are placed in your S3 bucket. If you don't set the OutputBucketName, Amazon Transcribe generates a pre-signed URL, a shareable URL that provides secure access to your transcription, and returns it in the TranscriptFileUri field. Use this URL to download the transcription.", + "OutputEncryptionKMSKeyId": "The Amazon Resource Name (ARN) of the AWS Key Management Service (KMS) key used to encrypt the output of the transcription job. The user calling the StartTranscriptionJob operation must have permission to use the specified KMS key. You can use either of the following to identify a KMS key in the current account: KMS Key ID: \"1234abcd-12ab-34cd-56ef-1234567890ab\" KMS Key Alias: \"alias/ExampleAlias\" You can use either of the following to identify a KMS key in the current account or another account: Amazon Resource Name (ARN) of a KMS Key: \"arn:aws:kms:region:account ID:key/1234abcd-12ab-34cd-56ef-1234567890ab\" ARN of a KMS Key Alias: \"arn:aws:kms:region:account ID:alias/ExampleAlias\" If you don't specify an encryption key, the output of the transcription job is encrypted with the default Amazon S3 key (SSE-S3). If you specify a KMS key to encrypt your output, you must also specify an output location in the OutputBucketName parameter.", + "ContentRedaction": "An object that contains the request parameters for content redaction.", + "JobExecutionSettings": "Provides information about how a transcription job is executed. Use this field to indicate that the job can be queued for deferred execution if the concurrency limit is reached and there are no slots available to immediately run the job.", + "MediaFormat": "The format of the input media file.", + "Settings": "A Settings object that provides optional settings for a transcription job." +} +""" +StartTranscriptionJob(args) = transcribe("StartTranscriptionJob", args) + +""" + DeleteVocabulary() + +Deletes a vocabulary from Amazon Transcribe. + +Required Parameters +{ + "VocabularyName": "The name of the vocabulary to delete. " +} +""" +DeleteVocabulary(args) = transcribe("DeleteVocabulary", args) + +""" + DeleteTranscriptionJob() + +Deletes a previously submitted transcription job along with any other generated results such as the transcription, models, and so on. + +Required Parameters +{ + "TranscriptionJobName": "The name of the transcription job to be deleted." +} +""" +DeleteTranscriptionJob(args) = transcribe("DeleteTranscriptionJob", args) + +""" + ListVocabularies() + +Returns a list of vocabularies that match the specified criteria. If no criteria are specified, returns the entire list of vocabularies. + +Optional Parameters +{ + "MaxResults": "The maximum number of vocabularies to return in the response. If there are fewer results in the list, this response contains only the actual results.", + "NameContains": "When specified, the vocabularies returned in the list are limited to vocabularies whose name contains the specified string. The search is case-insensitive, ListVocabularies will return both \"vocabularyname\" and \"VocabularyName\" in the response list.", + "NextToken": "If the result of the previous request to ListVocabularies was truncated, include the NextToken to fetch the next set of jobs.", + "StateEquals": "When specified, only returns vocabularies with the VocabularyState field equal to the specified state." +} +""" +ListVocabularies() = transcribe("ListVocabularies") +ListVocabularies(args) = transcribe("ListVocabularies", args) + +""" + CreateVocabularyFilter() + +Creates a new vocabulary filter that you can use to filter words, such as profane words, from the output of a transcription job. + +Required Parameters +{ + "VocabularyFilterName": "The vocabulary filter name. The name must be unique within the account that contains it.", + "LanguageCode": "The language code of the words in the vocabulary filter. All words in the filter must be in the same language. The vocabulary filter can only be used with transcription jobs in the specified language." +} + +Optional Parameters +{ + "Words": "The words to use in the vocabulary filter. Only use characters from the character set defined for custom vocabularies. For a list of character sets, see Character Sets for Custom Vocabularies. If you provide a list of words in the Words parameter, you can't use the VocabularyFilterFileUri parameter.", + "VocabularyFilterFileUri": "The Amazon S3 location of a text file used as input to create the vocabulary filter. Only use characters from the character set defined for custom vocabularies. For a list of character sets, see Character Sets for Custom Vocabularies. The specified file must be less than 50 KB of UTF-8 characters. If you provide the location of a list of words in the VocabularyFilterFileUri parameter, you can't use the Words parameter." +} +""" +CreateVocabularyFilter(args) = transcribe("CreateVocabularyFilter", args) + +""" + GetVocabulary() + +Gets information about a vocabulary. + +Required Parameters +{ + "VocabularyName": "The name of the vocabulary to return information about. The name is case-sensitive." +} +""" +GetVocabulary(args) = transcribe("GetVocabulary", args) diff --git a/src/services/transfer.jl b/src/services/transfer.jl new file mode 100644 index 0000000000..359fc46430 --- /dev/null +++ b/src/services/transfer.jl @@ -0,0 +1,284 @@ +include("../AWSServices.jl") +using .AWSServices: transfer + +""" + ListTagsForResource() + +Lists all of the tags associated with the Amazon Resource Number (ARN) you specify. The resource can be a user, server, or role. + +Required Parameters +{ + "Arn": "Requests the tags associated with a particular Amazon Resource Name (ARN). An ARN is an identifier for a specific AWS resource, such as a server, user, or role." +} + +Optional Parameters +{ + "MaxResults": "Specifies the number of tags to return as a response to the ListTagsForResource request.", + "NextToken": "When you request additional results from the ListTagsForResource operation, a NextToken parameter is returned in the input. You can then pass in a subsequent command to the NextToken parameter to continue listing additional tags." +} +""" +ListTagsForResource(args) = transfer("ListTagsForResource", args) + +""" + CreateServer() + +Instantiates an autoscaling virtual server based on Secure File Transfer Protocol (SFTP) in AWS. When you make updates to your server or when you work with users, use the service-generated ServerId property that is assigned to the newly created server. + +Optional Parameters +{ + "HostKey": "The RSA private key as generated by the ssh-keygen -N \"\" -f my-new-server-key command. If you aren't planning to migrate existing users from an existing SFTP server to a new AWS SFTP server, don't update the host key. Accidentally changing a server's host key can be disruptive. For more information, see \"https://alpha-docs-aws.amazon.com/transfer/latest/userguide/configuring-servers.html#change-host-key\" in the AWS SFTP User Guide. ", + "IdentityProviderType": "Specifies the mode of authentication for the SFTP server. The default value is SERVICE_MANAGED, which allows you to store and access SFTP user credentials within the AWS Transfer for SFTP service. Use the API_GATEWAY value to integrate with an identity provider of your choosing. The API_GATEWAY setting requires you to provide an API Gateway endpoint URL to call for authentication using the IdentityProviderDetails parameter.", + "LoggingRole": "A value that allows the service to write your SFTP users' activity to your Amazon CloudWatch logs for monitoring and auditing purposes.", + "Tags": "Key-value pairs that can be used to group and search for servers.", + "IdentityProviderDetails": "This parameter is required when the IdentityProviderType is set to API_GATEWAY. Accepts an array containing all of the information required to call a customer-supplied authentication API, including the API Gateway URL. This property is not required when the IdentityProviderType is set to SERVICE_MANAGED.", + "EndpointType": "The type of VPC endpoint that you want your SFTP server to connect to. You can choose to connect to the public internet or a virtual private cloud (VPC) endpoint. With a VPC endpoint, you can restrict access to your SFTP server and resources only within your VPC.", + "EndpointDetails": "The virtual private cloud (VPC) endpoint settings that are configured for your SFTP server. With a VPC endpoint, you can restrict access to your SFTP server to resources only within your VPC. To control incoming internet traffic, you will need to invoke the UpdateServer API and attach an Elastic IP to your server's endpoint. " +} +""" +CreateServer() = transfer("CreateServer") +CreateServer(args) = transfer("CreateServer", args) + +""" + CreateUser() + +Creates a user and associates them with an existing Secure File Transfer Protocol (SFTP) server. You can only create and associate users with SFTP servers that have the IdentityProviderType set to SERVICE_MANAGED. Using parameters for CreateUser, you can specify the user name, set the home directory, store the user's public key, and assign the user's AWS Identity and Access Management (IAM) role. You can also optionally add a scope-down policy, and assign metadata with tags that can be used to group and search for users. + +Required Parameters +{ + "UserName": "A unique string that identifies a user and is associated with a server as specified by the ServerId. This user name must be a minimum of 3 and a maximum of 32 characters long. The following are valid characters: a-z, A-Z, 0-9, underscore, and hyphen. The user name can't start with a hyphen.", + "ServerId": "A system-assigned unique identifier for an SFTP server instance. This is the specific SFTP server that you added your user to.", + "Role": "The IAM role that controls your user's access to your Amazon S3 bucket. The policies attached to this role will determine the level of access you want to provide your users when transferring files into and out of your Amazon S3 bucket or buckets. The IAM role should also contain a trust relationship that allows the SFTP server to access your resources when servicing your SFTP user's transfer requests." +} + +Optional Parameters +{ + "Tags": "Key-value pairs that can be used to group and search for users. Tags are metadata attached to users for any purpose.", + "HomeDirectoryMappings": "Logical directory mappings that specify what S3 paths and keys should be visible to your user and how you want to make them visible. You will need to specify the \"Entry\" and \"Target\" pair, where Entry shows how the path is made visible and Target is the actual S3 path. If you only specify a target, it will be displayed as is. You will need to also make sure that your AWS IAM Role provides access to paths in Target. The following is an example. '[ \"/bucket2/documentation\", { \"Entry\": \"your-personal-report.pdf\", \"Target\": \"/bucket3/customized-reports/ {transfer:UserName}.pdf\" } ]' In most cases, you can use this value instead of the scope down policy to lock your user down to the designated home directory (\"chroot\"). To do this, you can set Entry to '/' and set Target to the HomeDirectory parameter value. If the target of a logical directory entry does not exist in S3, the entry will be ignored. As a workaround, you can use the S3 api to create 0 byte objects as place holders for your directory. If using the CLI, use the s3api call instead of s3 so you can use the put-object operation. For example, you use the following: aws s3api put-object --bucket bucketname --key path/to/folder/. Make sure that the end of the key name ends in a / for it to be considered a folder. ", + "HomeDirectoryType": "The type of landing directory (folder) you want your users' home directory to be when they log into the SFTP server. If you set it to PATH, the user will see the absolute Amazon S3 bucket paths as is in their SFTP clients. If you set it LOGICAL, you will need to provide mappings in the HomeDirectoryMappings for how you want to make S3 paths visible to your user.", + "Policy": "A scope-down policy for your user so you can use the same IAM role across multiple users. This policy scopes down user access to portions of their Amazon S3 bucket. Variables that you can use inside this policy include {Transfer:UserName}, {Transfer:HomeDirectory}, and {Transfer:HomeBucket}. For scope-down policies, AWS Transfer for SFTP stores the policy as a JSON blob, instead of the Amazon Resource Name (ARN) of the policy. You save the policy as a JSON blob and pass it in the Policy argument. For an example of a scope-down policy, see \"https://docs.aws.amazon.com/transfer/latest/userguide/users.html#users-policies-scope-down\">Creating a Scope-Down Policy. For more information, see \"https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html\" in the AWS Security Token Service API Reference. ", + "HomeDirectory": "The landing directory (folder) for a user when they log in to the server using their SFTP client. An example is <your-Amazon-S3-bucket-name>/home/username.", + "SshPublicKeyBody": "The public portion of the Secure Shell (SSH) key used to authenticate the user to the SFTP server." +} +""" +CreateUser(args) = transfer("CreateUser", args) + +""" + DeleteSshPublicKey() + +Deletes a user's Secure Shell (SSH) public key. No response is returned from this operation. + +Required Parameters +{ + "UserName": "A unique string that identifies a user whose public key is being deleted.", + "SshPublicKeyId": "A unique identifier used to reference your user's specific SSH key.", + "ServerId": "A system-assigned unique identifier for a Secure File Transfer Protocol (SFTP) server instance that has the user assigned to it." +} +""" +DeleteSshPublicKey(args) = transfer("DeleteSshPublicKey", args) + +""" + UpdateServer() + +Updates the server properties after that server has been created. The UpdateServer call returns the ServerId of the Secure File Transfer Protocol (SFTP) server you updated. + +Required Parameters +{ + "ServerId": "A system-assigned unique identifier for an SFTP server instance that the user account is assigned to." +} + +Optional Parameters +{ + "HostKey": "The RSA private key as generated by ssh-keygen -N \"\" -f my-new-server-key. If you aren't planning to migrate existing users from an existing SFTP server to a new AWS SFTP server, don't update the host key. Accidentally changing a server's host key can be disruptive. For more information, see \"https://docs.aws.amazon.com/transfer/latest/userguide/configuring-servers.html#change-host-key\" in the AWS SFTP User Guide. ", + "LoggingRole": "A value that changes the AWS Identity and Access Management (IAM) role that allows Amazon S3 events to be logged in Amazon CloudWatch, turning logging on or off.", + "IdentityProviderDetails": "This response parameter is an array containing all of the information required to call a customer's authentication API method.", + "EndpointType": "The type of endpoint that you want your SFTP server to connect to. You can choose to connect to the public internet or a virtual private cloud (VPC) endpoint. With a VPC endpoint, your SFTP server isn't accessible over the public internet. ", + "EndpointDetails": "The virtual private cloud (VPC) endpoint settings that are configured for your SFTP server. With a VPC endpoint, you can restrict access to your SFTP server to resources only within your VPC. To control incoming internet traffic, you will need to associate one or more Elastic IP addresses with your server's endpoint. " +} +""" +UpdateServer(args) = transfer("UpdateServer", args) + +""" + UpdateUser() + +Assigns new properties to a user. Parameters you pass modify any or all of the following: the home directory, role, and policy for the UserName and ServerId you specify. The response returns the ServerId and the UserName for the updated user. + +Required Parameters +{ + "UserName": "A unique string that identifies a user and is associated with a server as specified by the ServerId. This is the string that will be used by your user when they log in to your SFTP server. This user name is a minimum of 3 and a maximum of 32 characters long. The following are valid characters: a-z, A-Z, 0-9, underscore, and hyphen. The user name can't start with a hyphen.", + "ServerId": "A system-assigned unique identifier for an SFTP server instance that the user account is assigned to." +} + +Optional Parameters +{ + "HomeDirectoryMappings": "Logical directory mappings that specify what S3 paths and keys should be visible to your user and how you want to make them visible. You will need to specify the \"Entry\" and \"Target\" pair, where Entry shows how the path is made visible and Target is the actual S3 path. If you only specify a target, it will be displayed as is. You will need to also make sure that your AWS IAM Role provides access to paths in Target. The following is an example. '[ \"/bucket2/documentation\", { \"Entry\": \"your-personal-report.pdf\", \"Target\": \"/bucket3/customized-reports/ {transfer:UserName}.pdf\" } ]' In most cases, you can use this value instead of the scope down policy to lock your user down to the designated home directory (\"chroot\"). To do this, you can set Entry to '/' and set Target to the HomeDirectory parameter value. If the target of a logical directory entry does not exist in S3, the entry will be ignored. As a workaround, you can use the S3 api to create 0 byte objects as place holders for your directory. If using the CLI, use the s3api call instead of s3 so you can use the put-object operation. For example, you use the following: aws s3api put-object --bucket bucketname --key path/to/folder/. Make sure that the end of the key name ends in a / for it to be considered a folder. ", + "HomeDirectoryType": "The type of landing directory (folder) you want your users' home directory to be when they log into the SFTP serve. If you set it to PATH, the user will see the absolute Amazon S3 bucket paths as is in their SFTP clients. If you set it LOGICAL, you will need to provide mappings in the HomeDirectoryMappings for how you want to make S3 paths visible to your user.", + "Policy": "Allows you to supply a scope-down policy for your user so you can use the same AWS Identity and Access Management (IAM) role across multiple users. The policy scopes down user access to portions of your Amazon S3 bucket. Variables you can use inside this policy include {Transfer:UserName}, {Transfer:HomeDirectory}, and {Transfer:HomeBucket}. For scope-down policies, AWS Transfer for SFTP stores the policy as a JSON blob, instead of the Amazon Resource Name (ARN) of the policy. You save the policy as a JSON blob and pass it in the Policy argument. For an example of a scope-down policy, see \"https://docs.aws.amazon.com/transfer/latest/userguide/users.html#users-policies-scope-down\">Creating a Scope-Down Policy. For more information, see \"https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html\" in the AWS Security Token Service API Reference. ", + "HomeDirectory": "A parameter that specifies the landing directory (folder) for a user when they log in to the server using their client. An example is <your-Amazon-S3-bucket-name>/home/username.", + "Role": "The IAM role that controls your user's access to your Amazon S3 bucket. The policies attached to this role will determine the level of access you want to provide your users when transferring files into and out of your Amazon S3 bucket or buckets. The IAM role should also contain a trust relationship that allows the Secure File Transfer Protocol (SFTP) server to access your resources when servicing your SFTP user's transfer requests." +} +""" +UpdateUser(args) = transfer("UpdateUser", args) + +""" + TestIdentityProvider() + +If the IdentityProviderType of the server is API_Gateway, tests whether your API Gateway is set up successfully. We highly recommend that you call this operation to test your authentication method as soon as you create your server. By doing so, you can troubleshoot issues with the API Gateway integration to ensure that your users can successfully use the service. + +Required Parameters +{ + "UserName": "This request parameter is the name of the user account to be tested.", + "ServerId": "A system-assigned identifier for a specific server. That server's user authentication method is tested with a user name and password." +} + +Optional Parameters +{ + "UserPassword": "The password of the user account to be tested." +} +""" +TestIdentityProvider(args) = transfer("TestIdentityProvider", args) + +""" + DeleteUser() + +Deletes the user belonging to the server you specify. No response returns from this operation. When you delete a user from a server, the user's information is lost. + +Required Parameters +{ + "UserName": "A unique string that identifies a user that is being deleted from the server.", + "ServerId": "A system-assigned unique identifier for an SFTP server instance that has the user assigned to it." +} +""" +DeleteUser(args) = transfer("DeleteUser", args) + +""" + TagResource() + +Attaches a key-value pair to a resource, as identified by its Amazon Resource Name (ARN). Resources are users, servers, roles, and other entities. There is no response returned from this call. + +Required Parameters +{ + "Arn": "An Amazon Resource Name (ARN) for a specific AWS resource, such as a server, user, or role.", + "Tags": "Key-value pairs assigned to ARNs that you can use to group and search for resources by type. You can attach this metadata to user accounts for any purpose." +} +""" +TagResource(args) = transfer("TagResource", args) + +""" + ImportSshPublicKey() + +Adds a Secure Shell (SSH) public key to a user account identified by a UserName value assigned to a specific server, identified by ServerId. The response returns the UserName value, the ServerId value, and the name of the SshPublicKeyId. + +Required Parameters +{ + "UserName": "The name of the user account that is assigned to one or more servers.", + "ServerId": "A system-assigned unique identifier for an SFTP server.", + "SshPublicKeyBody": "The public key portion of an SSH key pair." +} +""" +ImportSshPublicKey(args) = transfer("ImportSshPublicKey", args) + +""" + UntagResource() + +Detaches a key-value pair from a resource, as identified by its Amazon Resource Name (ARN). Resources are users, servers, roles, and other entities. No response is returned from this call. + +Required Parameters +{ + "Arn": "This is the value of the resource that will have the tag removed. An Amazon Resource Name (ARN) is an identifier for a specific AWS resource, such as a server, user, or role.", + "TagKeys": "TagKeys are key-value pairs assigned to ARNs that can be used to group and search for resources by type. This metadata can be attached to resources for any purpose." +} +""" +UntagResource(args) = transfer("UntagResource", args) + +""" + DescribeServer() + +Describes the server that you specify by passing the ServerId parameter. The response contains a description of the server's properties. When you set EndpointType to VPC, the response will contain the EndpointDetails. + +Required Parameters +{ + "ServerId": "A system-assigned unique identifier for an SFTP server." +} +""" +DescribeServer(args) = transfer("DescribeServer", args) + +""" + ListServers() + +Lists the Secure File Transfer Protocol (SFTP) servers that are associated with your AWS account. + +Optional Parameters +{ + "MaxResults": "Specifies the number of servers to return as a response to the ListServers query.", + "NextToken": "When additional results are obtained from the ListServers command, a NextToken parameter is returned in the output. You can then pass the NextToken parameter in a subsequent command to continue listing additional servers." +} +""" +ListServers() = transfer("ListServers") +ListServers(args) = transfer("ListServers", args) + +""" + ListUsers() + +Lists the users for the server that you specify by passing the ServerId parameter. + +Required Parameters +{ + "ServerId": "A system-assigned unique identifier for a Secure File Transfer Protocol (SFTP) server that has users assigned to it." +} + +Optional Parameters +{ + "MaxResults": "Specifies the number of users to return as a response to the ListUsers request.", + "NextToken": "When you can get additional results from the ListUsers call, a NextToken parameter is returned in the output. You can then pass in a subsequent command to the NextToken parameter to continue listing additional users." +} +""" +ListUsers(args) = transfer("ListUsers", args) + +""" + DeleteServer() + +Deletes the Secure File Transfer Protocol (SFTP) server that you specify. No response returns from this operation. + +Required Parameters +{ + "ServerId": "A unique system-assigned identifier for an SFTP server instance." +} +""" +DeleteServer(args) = transfer("DeleteServer", args) + +""" + StartServer() + +Changes the state of a Secure File Transfer Protocol (SFTP) server from OFFLINE to ONLINE. It has no impact on an SFTP server that is already ONLINE. An ONLINE server can accept and process file transfer jobs. The state of STARTING indicates that the server is in an intermediate state, either not fully able to respond, or not fully online. The values of START_FAILED can indicate an error condition. No response is returned from this call. + +Required Parameters +{ + "ServerId": "A system-assigned unique identifier for an SFTP server that you start." +} +""" +StartServer(args) = transfer("StartServer", args) + +""" + StopServer() + +Changes the state of an SFTP server from ONLINE to OFFLINE. An OFFLINE server cannot accept and process file transfer jobs. Information tied to your server such as server and user properties are not affected by stopping your server. Stopping a server will not reduce or impact your Secure File Transfer Protocol (SFTP) endpoint billing. The state of STOPPING indicates that the server is in an intermediate state, either not fully able to respond, or not fully offline. The values of STOP_FAILED can indicate an error condition. No response is returned from this call. + +Required Parameters +{ + "ServerId": "A system-assigned unique identifier for an SFTP server that you stopped." +} +""" +StopServer(args) = transfer("StopServer", args) + +""" + DescribeUser() + +Describes the user assigned to a specific server, as identified by its ServerId property. The response from this call returns the properties of the user associated with the ServerId value that was specified. + +Required Parameters +{ + "UserName": "The name of the user assigned to one or more servers. User names are part of the sign-in credentials to use the AWS Transfer for SFTP service and perform file transfer tasks.", + "ServerId": "A system-assigned unique identifier for an SFTP server that has this user assigned." +} +""" +DescribeUser(args) = transfer("DescribeUser", args) diff --git a/src/services/translate.jl b/src/services/translate.jl new file mode 100644 index 0000000000..ef565844e2 --- /dev/null +++ b/src/services/translate.jl @@ -0,0 +1,142 @@ +include("../AWSServices.jl") +using .AWSServices: translate + +""" + ListTextTranslationJobs() + +Gets a list of the batch translation jobs that you have submitted. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return in each page. The default value is 100.", + "NextToken": "The token to request the next page of results.", + "Filter": "The parameters that specify which batch translation jobs to retrieve. Filters include job name, job status, and submission time. You can only set one filter at a time." +} +""" +ListTextTranslationJobs() = translate("ListTextTranslationJobs") +ListTextTranslationJobs(args) = translate("ListTextTranslationJobs", args) + +""" + StartTextTranslationJob() + +Starts an asynchronous batch translation job. Batch translation jobs can be used to translate large volumes of text across multiple documents at once. For more information, see async. Batch translation jobs can be described with the DescribeTextTranslationJob operation, listed with the ListTextTranslationJobs operation, and stopped with the StopTextTranslationJob operation. Amazon Translate does not support batch translation of multiple source languages at once. + +Required Parameters +{ + "InputDataConfig": "Specifies the format and S3 location of the input documents for the translation job.", + "OutputDataConfig": "Specifies the S3 folder to which your job output will be saved. ", + "DataAccessRoleArn": "The Amazon Resource Name (ARN) of an AWS Identity Access and Management (IAM) role that grants Amazon Translate read access to your input data. For more nformation, see identity-and-access-management.", + "ClientToken": "The client token of the EC2 instance calling the request. This token is auto-generated when using the Amazon Translate SDK. Otherwise, use the DescribeInstances EC2 operation to retreive an instance's client token. For more information, see Client Tokens in the EC2 User Guide.", + "SourceLanguageCode": "The language code of the input language. For a list of language codes, see what-is-languages. Amazon Translate does not automatically detect a source language during batch translation jobs.", + "TargetLanguageCodes": "The language code of the output language." +} + +Optional Parameters +{ + "TerminologyNames": "The name of the terminology to use in the batch translation job. For a list of available terminologies, use the ListTerminologies operation.", + "JobName": "The name of the batch translation job to be performed." +} +""" +StartTextTranslationJob(args) = translate("StartTextTranslationJob", args) + +""" + ListTerminologies() + +Provides a list of custom terminologies associated with your account. + +Optional Parameters +{ + "MaxResults": "The maximum number of custom terminologies returned per list request.", + "NextToken": "If the result of the request to ListTerminologies was truncated, include the NextToken to fetch the next group of custom terminologies. " +} +""" +ListTerminologies() = translate("ListTerminologies") +ListTerminologies(args) = translate("ListTerminologies", args) + +""" + DescribeTextTranslationJob() + +Gets the properties associated with an asycnhronous batch translation job including name, ID, status, source and target languages, input/output S3 buckets, and so on. + +Required Parameters +{ + "JobId": "The identifier that Amazon Translate generated for the job. The StartTextTranslationJob operation returns this identifier in its response." +} +""" +DescribeTextTranslationJob(args) = translate("DescribeTextTranslationJob", args) + +""" + GetTerminology() + +Retrieves a custom terminology. + +Required Parameters +{ + "TerminologyDataFormat": "The data format of the custom terminology being retrieved, either CSV or TMX.", + "Name": "The name of the custom terminology being retrieved." +} +""" +GetTerminology(args) = translate("GetTerminology", args) + +""" + StopTextTranslationJob() + +Stops an asynchronous batch translation job that is in progress. If the job's state is IN_PROGRESS, the job will be marked for termination and put into the STOP_REQUESTED state. If the job completes before it can be stopped, it is put into the COMPLETED state. Otherwise, the job is put into the STOPPED state. Asynchronous batch translation jobs are started with the StartTextTranslationJob operation. You can use the DescribeTextTranslationJob or ListTextTranslationJobs operations to get a batch translation job's JobId. + +Required Parameters +{ + "JobId": "The job ID of the job to be stopped." +} +""" +StopTextTranslationJob(args) = translate("StopTextTranslationJob", args) + +""" + TranslateText() + +Translates input text from the source language to the target language. For a list of available languages and language codes, see what-is-languages. + +Required Parameters +{ + "TargetLanguageCode": "The language code requested for the language of the target text. The language must be a language supported by Amazon Translate.", + "SourceLanguageCode": "The language code for the language of the source text. The language must be a language supported by Amazon Translate. For a list of language codes, see what-is-languages. To have Amazon Translate determine the source language of your text, you can specify auto in the SourceLanguageCode field. If you specify auto, Amazon Translate will call Amazon Comprehend to determine the source language.", + "Text": "The text to translate. The text string can be a maximum of 5,000 bytes long. Depending on your character set, this may be fewer than 5,000 characters." +} + +Optional Parameters +{ + "TerminologyNames": "The name of the terminology list file to be used in the TranslateText request. You can use 1 terminology list at most in a TranslateText request. Terminology lists can contain a maximum of 256 terms." +} +""" +TranslateText(args) = translate("TranslateText", args) + +""" + ImportTerminology() + +Creates or updates a custom terminology, depending on whether or not one already exists for the given terminology name. Importing a terminology with the same name as an existing one will merge the terminologies based on the chosen merge strategy. Currently, the only supported merge strategy is OVERWRITE, and so the imported terminology will overwrite an existing terminology of the same name. If you import a terminology that overwrites an existing one, the new terminology take up to 10 minutes to fully propagate and be available for use in a translation due to cache policies with the DataPlane service that performs the translations. + +Required Parameters +{ + "MergeStrategy": "The merge strategy of the custom terminology being imported. Currently, only the OVERWRITE merge strategy is supported. In this case, the imported terminology will overwrite an existing terminology of the same name.", + "TerminologyData": "The terminology data for the custom terminology being imported.", + "Name": "The name of the custom terminology being imported." +} + +Optional Parameters +{ + "Description": "The description of the custom terminology being imported.", + "EncryptionKey": "The encryption key for the custom terminology being imported." +} +""" +ImportTerminology(args) = translate("ImportTerminology", args) + +""" + DeleteTerminology() + +A synchronous action that deletes a custom terminology. + +Required Parameters +{ + "Name": "The name of the custom terminology being deleted. " +} +""" +DeleteTerminology(args) = translate("DeleteTerminology", args) diff --git a/src/services/waf.jl b/src/services/waf.jl new file mode 100644 index 0000000000..6d443931bd --- /dev/null +++ b/src/services/waf.jl @@ -0,0 +1,1039 @@ +include("../AWSServices.jl") +using .AWSServices: waf + +""" + GetRuleGroup() + +Returns the RuleGroup that is specified by the RuleGroupId that you included in the GetRuleGroup request. To view the rules in a rule group, use ListActivatedRulesInRuleGroup. + +Required Parameters +{ + "RuleGroupId": "The RuleGroupId of the RuleGroup that you want to get. RuleGroupId is returned by CreateRuleGroup and by ListRuleGroups." +} +""" +GetRuleGroup(args) = waf("GetRuleGroup", args) + +""" + CreateIPSet() + +Creates an IPSet, which you use to specify which web requests that you want to allow or block based on the IP addresses that the requests originate from. For example, if you're receiving a lot of requests from one or more individual IP addresses or one or more ranges of IP addresses and you want to block the requests, you can create an IPSet that contains those IP addresses and then configure AWS WAF to block the requests. To create and configure an IPSet, perform the following steps: Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateIPSet request. Submit a CreateIPSet request. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateIPSet request. Submit an UpdateIPSet request to specify the IP addresses that you want AWS WAF to watch for. For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide. + +Required Parameters +{ + "ChangeToken": "The value returned by the most recent call to GetChangeToken.", + "Name": "A friendly name or description of the IPSet. You can't change Name after you create the IPSet." +} +""" +CreateIPSet(args) = waf("CreateIPSet", args) + +""" + GetChangeToken() + +When you want to create, update, or delete AWS WAF objects, get a change token and include the change token in the create, update, or delete request. Change tokens ensure that your application doesn't submit conflicting requests to AWS WAF. Each create, update, or delete request must use a unique change token. If your application submits a GetChangeToken request and then submits a second GetChangeToken request before submitting a create, update, or delete request, the second GetChangeToken request returns the same value as the first GetChangeToken request. When you use a change token in a create, update, or delete request, the status of the change token changes to PENDING, which indicates that AWS WAF is propagating the change to all AWS WAF servers. Use GetChangeTokenStatus to determine the status of your change token. +""" +GetChangeToken() = waf("GetChangeToken") +GetChangeToken(args) = waf("GetChangeToken", args) + +""" + GetSizeConstraintSet() + +Returns the SizeConstraintSet specified by SizeConstraintSetId. + +Required Parameters +{ + "SizeConstraintSetId": "The SizeConstraintSetId of the SizeConstraintSet that you want to get. SizeConstraintSetId is returned by CreateSizeConstraintSet and by ListSizeConstraintSets." +} +""" +GetSizeConstraintSet(args) = waf("GetSizeConstraintSet", args) + +""" + ListGeoMatchSets() + +Returns an array of GeoMatchSetSummary objects in the response. + +Optional Parameters +{ + "NextMarker": "If you specify a value for Limit and you have more GeoMatchSets than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of GeoMatchSet objects. For the second and subsequent ListGeoMatchSets requests, specify the value of NextMarker from the previous response to get information about another batch of GeoMatchSet objects.", + "Limit": "Specifies the number of GeoMatchSet objects that you want AWS WAF to return for this request. If you have more GeoMatchSet objects than the number you specify for Limit, the response includes a NextMarker value that you can use to get another batch of GeoMatchSet objects." +} +""" +ListGeoMatchSets() = waf("ListGeoMatchSets") +ListGeoMatchSets(args) = waf("ListGeoMatchSets", args) + +""" + DeleteByteMatchSet() + +Permanently deletes a ByteMatchSet. You can't delete a ByteMatchSet if it's still used in any Rules or if it still includes any ByteMatchTuple objects (any filters). If you just want to remove a ByteMatchSet from a Rule, use UpdateRule. To permanently delete a ByteMatchSet, perform the following steps: Update the ByteMatchSet to remove filters, if any. For more information, see UpdateByteMatchSet. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a DeleteByteMatchSet request. Submit a DeleteByteMatchSet request. + +Required Parameters +{ + "ByteMatchSetId": "The ByteMatchSetId of the ByteMatchSet that you want to delete. ByteMatchSetId is returned by CreateByteMatchSet and by ListByteMatchSets.", + "ChangeToken": "The value returned by the most recent call to GetChangeToken." +} +""" +DeleteByteMatchSet(args) = waf("DeleteByteMatchSet", args) + +""" + GetChangeTokenStatus() + +Returns the status of a ChangeToken that you got by calling GetChangeToken. ChangeTokenStatus is one of the following values: PROVISIONED: You requested the change token by calling GetChangeToken, but you haven't used it yet in a call to create, update, or delete an AWS WAF object. PENDING: AWS WAF is propagating the create, update, or delete request to all AWS WAF servers. INSYNC: Propagation is complete. + +Required Parameters +{ + "ChangeToken": "The change token for which you want to get the status. This change token was previously returned in the GetChangeToken response." +} +""" +GetChangeTokenStatus(args) = waf("GetChangeTokenStatus", args) + +""" + UpdateSqlInjectionMatchSet() + +Inserts or deletes SqlInjectionMatchTuple objects (filters) in a SqlInjectionMatchSet. For each SqlInjectionMatchTuple object, you specify the following values: Action: Whether to insert the object into or delete the object from the array. To change a SqlInjectionMatchTuple, you delete the existing object and add a new one. FieldToMatch: The part of web requests that you want AWS WAF to inspect and, if you want AWS WAF to inspect a header or custom query parameter, the name of the header or parameter. TextTransformation: Which text transformation, if any, to perform on the web request before inspecting the request for snippets of malicious SQL code. You can only specify a single type of TextTransformation. You use SqlInjectionMatchSet objects to specify which CloudFront requests that you want to allow, block, or count. For example, if you're receiving requests that contain snippets of SQL code in the query string and you want to block the requests, you can create a SqlInjectionMatchSet with the applicable settings, and then configure AWS WAF to block the requests. To create and configure a SqlInjectionMatchSet, perform the following steps: Submit a CreateSqlInjectionMatchSet request. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateIPSet request. Submit an UpdateSqlInjectionMatchSet request to specify the parts of web requests that you want AWS WAF to inspect for snippets of SQL code. For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide. + +Required Parameters +{ + "Updates": "An array of SqlInjectionMatchSetUpdate objects that you want to insert into or delete from a SqlInjectionMatchSet. For more information, see the applicable data types: SqlInjectionMatchSetUpdate: Contains Action and SqlInjectionMatchTuple SqlInjectionMatchTuple: Contains FieldToMatch and TextTransformation FieldToMatch: Contains Data and Type ", + "SqlInjectionMatchSetId": "The SqlInjectionMatchSetId of the SqlInjectionMatchSet that you want to update. SqlInjectionMatchSetId is returned by CreateSqlInjectionMatchSet and by ListSqlInjectionMatchSets.", + "ChangeToken": "The value returned by the most recent call to GetChangeToken." +} +""" +UpdateSqlInjectionMatchSet(args) = waf("UpdateSqlInjectionMatchSet", args) + +""" + CreateRegexMatchSet() + +Creates a RegexMatchSet. You then use UpdateRegexMatchSet to identify the part of a web request that you want AWS WAF to inspect, such as the values of the User-Agent header or the query string. For example, you can create a RegexMatchSet that contains a RegexMatchTuple that looks for any requests with User-Agent headers that match a RegexPatternSet with pattern B[a@]dB[o0]t. You can then configure AWS WAF to reject those requests. To create and configure a RegexMatchSet, perform the following steps: Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateRegexMatchSet request. Submit a CreateRegexMatchSet request. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateRegexMatchSet request. Submit an UpdateRegexMatchSet request to specify the part of the request that you want AWS WAF to inspect (for example, the header or the URI) and the value, using a RegexPatternSet, that you want AWS WAF to watch for. For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide. + +Required Parameters +{ + "ChangeToken": "The value returned by the most recent call to GetChangeToken.", + "Name": "A friendly name or description of the RegexMatchSet. You can't change Name after you create a RegexMatchSet." +} +""" +CreateRegexMatchSet(args) = waf("CreateRegexMatchSet", args) + +""" + CreateByteMatchSet() + +Creates a ByteMatchSet. You then use UpdateByteMatchSet to identify the part of a web request that you want AWS WAF to inspect, such as the values of the User-Agent header or the query string. For example, you can create a ByteMatchSet that matches any requests with User-Agent headers that contain the string BadBot. You can then configure AWS WAF to reject those requests. To create and configure a ByteMatchSet, perform the following steps: Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateByteMatchSet request. Submit a CreateByteMatchSet request. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateByteMatchSet request. Submit an UpdateByteMatchSet request to specify the part of the request that you want AWS WAF to inspect (for example, the header or the URI) and the value that you want AWS WAF to watch for. For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide. + +Required Parameters +{ + "ChangeToken": "The value returned by the most recent call to GetChangeToken.", + "Name": "A friendly name or description of the ByteMatchSet. You can't change Name after you create a ByteMatchSet." +} +""" +CreateByteMatchSet(args) = waf("CreateByteMatchSet", args) + +""" + TagResource() + + + +Required Parameters +{ + "ResourceARN": "", + "Tags": "" +} +""" +TagResource(args) = waf("TagResource", args) + +""" + ListRuleGroups() + +Returns an array of RuleGroup objects. + +Optional Parameters +{ + "NextMarker": "If you specify a value for Limit and you have more RuleGroups than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of RuleGroups. For the second and subsequent ListRuleGroups requests, specify the value of NextMarker from the previous response to get information about another batch of RuleGroups.", + "Limit": "Specifies the number of RuleGroups that you want AWS WAF to return for this request. If you have more RuleGroups than the number that you specify for Limit, the response includes a NextMarker value that you can use to get another batch of RuleGroups." +} +""" +ListRuleGroups() = waf("ListRuleGroups") +ListRuleGroups(args) = waf("ListRuleGroups", args) + +""" + GetPermissionPolicy() + +Returns the IAM policy attached to the RuleGroup. + +Required Parameters +{ + "ResourceArn": "The Amazon Resource Name (ARN) of the RuleGroup for which you want to get the policy." +} +""" +GetPermissionPolicy(args) = waf("GetPermissionPolicy", args) + +""" + CreateRateBasedRule() + +Creates a RateBasedRule. The RateBasedRule contains a RateLimit, which specifies the maximum number of requests that AWS WAF allows from a specified IP address in a five-minute period. The RateBasedRule also contains the IPSet objects, ByteMatchSet objects, and other predicates that identify the requests that you want to count or block if these requests exceed the RateLimit. If you add more than one predicate to a RateBasedRule, a request not only must exceed the RateLimit, but it also must match all the specifications to be counted or blocked. For example, suppose you add the following to a RateBasedRule: An IPSet that matches the IP address 192.0.2.44/32 A ByteMatchSet that matches BadBot in the User-Agent header Further, you specify a RateLimit of 15,000. You then add the RateBasedRule to a WebACL and specify that you want to block requests that meet the conditions in the rule. For a request to be blocked, it must come from the IP address 192.0.2.44 and the User-Agent header in the request must contain the value BadBot. Further, requests that match these two conditions must be received at a rate of more than 15,000 requests every five minutes. If both conditions are met and the rate is exceeded, AWS WAF blocks the requests. If the rate drops below 15,000 for a five-minute period, AWS WAF no longer blocks the requests. As a second example, suppose you want to limit requests to a particular page on your site. To do this, you could add the following to a RateBasedRule: A ByteMatchSet with FieldToMatch of URI A PositionalConstraint of STARTS_WITH A TargetString of login Further, you specify a RateLimit of 15,000. By adding this RateBasedRule to a WebACL, you could limit requests to your login page without affecting the rest of your site. To create and configure a RateBasedRule, perform the following steps: Create and update the predicates that you want to include in the rule. For more information, see CreateByteMatchSet, CreateIPSet, and CreateSqlInjectionMatchSet. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateRule request. Submit a CreateRateBasedRule request. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateRule request. Submit an UpdateRateBasedRule request to specify the predicates that you want to include in the rule. Create and update a WebACL that contains the RateBasedRule. For more information, see CreateWebACL. For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide. + +Required Parameters +{ + "ChangeToken": "The ChangeToken that you used to submit the CreateRateBasedRule request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.", + "RateLimit": "The maximum number of requests, which have an identical value in the field that is specified by RateKey, allowed in a five-minute period. If the number of requests exceeds the RateLimit and the other predicates specified in the rule are also met, AWS WAF triggers the action that is specified for this rule.", + "RateKey": "The field that AWS WAF uses to determine if requests are likely arriving from a single source and thus subject to rate monitoring. The only valid value for RateKey is IP. IP indicates that requests that arrive from the same IP address are subject to the RateLimit that is specified in the RateBasedRule.", + "MetricName": "A friendly name or description for the metrics for this RateBasedRule. The name can contain only alphanumeric characters (A-Z, a-z, 0-9), with maximum length 128 and minimum length one. It can't contain whitespace or metric names reserved for AWS WAF, including \"All\" and \"Default_Action.\" You can't change the name of the metric after you create the RateBasedRule.", + "Name": "A friendly name or description of the RateBasedRule. You can't change the name of a RateBasedRule after you create it." +} + +Optional Parameters +{ + "Tags": "" +} +""" +CreateRateBasedRule(args) = waf("CreateRateBasedRule", args) + +""" + CreateRuleGroup() + +Creates a RuleGroup. A rule group is a collection of predefined rules that you add to a web ACL. You use UpdateRuleGroup to add rules to the rule group. Rule groups are subject to the following limits: Three rule groups per account. You can request an increase to this limit by contacting customer support. One rule group per web ACL. Ten rules per rule group. For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide. + +Required Parameters +{ + "ChangeToken": "The value returned by the most recent call to GetChangeToken.", + "MetricName": "A friendly name or description for the metrics for this RuleGroup. The name can contain only alphanumeric characters (A-Z, a-z, 0-9), with maximum length 128 and minimum length one. It can't contain whitespace or metric names reserved for AWS WAF, including \"All\" and \"Default_Action.\" You can't change the name of the metric after you create the RuleGroup.", + "Name": "A friendly name or description of the RuleGroup. You can't change Name after you create a RuleGroup." +} + +Optional Parameters +{ + "Tags": "" +} +""" +CreateRuleGroup(args) = waf("CreateRuleGroup", args) + +""" + DeletePermissionPolicy() + +Permanently deletes an IAM policy from the specified RuleGroup. The user making the request must be the owner of the RuleGroup. + +Required Parameters +{ + "ResourceArn": "The Amazon Resource Name (ARN) of the RuleGroup from which you want to delete the policy. The user making the request must be the owner of the RuleGroup." +} +""" +DeletePermissionPolicy(args) = waf("DeletePermissionPolicy", args) + +""" + DeleteSizeConstraintSet() + +Permanently deletes a SizeConstraintSet. You can't delete a SizeConstraintSet if it's still used in any Rules or if it still includes any SizeConstraint objects (any filters). If you just want to remove a SizeConstraintSet from a Rule, use UpdateRule. To permanently delete a SizeConstraintSet, perform the following steps: Update the SizeConstraintSet to remove filters, if any. For more information, see UpdateSizeConstraintSet. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a DeleteSizeConstraintSet request. Submit a DeleteSizeConstraintSet request. + +Required Parameters +{ + "SizeConstraintSetId": "The SizeConstraintSetId of the SizeConstraintSet that you want to delete. SizeConstraintSetId is returned by CreateSizeConstraintSet and by ListSizeConstraintSets.", + "ChangeToken": "The value returned by the most recent call to GetChangeToken." +} +""" +DeleteSizeConstraintSet(args) = waf("DeleteSizeConstraintSet", args) + +""" + GetWebACL() + +Returns the WebACL that is specified by WebACLId. + +Required Parameters +{ + "WebACLId": "The WebACLId of the WebACL that you want to get. WebACLId is returned by CreateWebACL and by ListWebACLs." +} +""" +GetWebACL(args) = waf("GetWebACL", args) + +""" + CreateWebACL() + +Creates a WebACL, which contains the Rules that identify the CloudFront web requests that you want to allow, block, or count. AWS WAF evaluates Rules in order based on the value of Priority for each Rule. You also specify a default action, either ALLOW or BLOCK. If a web request doesn't match any of the Rules in a WebACL, AWS WAF responds to the request with the default action. To create and configure a WebACL, perform the following steps: Create and update the ByteMatchSet objects and other predicates that you want to include in Rules. For more information, see CreateByteMatchSet, UpdateByteMatchSet, CreateIPSet, UpdateIPSet, CreateSqlInjectionMatchSet, and UpdateSqlInjectionMatchSet. Create and update the Rules that you want to include in the WebACL. For more information, see CreateRule and UpdateRule. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateWebACL request. Submit a CreateWebACL request. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateWebACL request. Submit an UpdateWebACL request to specify the Rules that you want to include in the WebACL, to specify the default action, and to associate the WebACL with a CloudFront distribution. For more information about how to use the AWS WAF API, see the AWS WAF Developer Guide. + +Required Parameters +{ + "DefaultAction": "The action that you want AWS WAF to take when a request doesn't match the criteria specified in any of the Rule objects that are associated with the WebACL.", + "ChangeToken": "The value returned by the most recent call to GetChangeToken.", + "MetricName": "A friendly name or description for the metrics for this WebACL.The name can contain only alphanumeric characters (A-Z, a-z, 0-9), with maximum length 128 and minimum length one. It can't contain whitespace or metric names reserved for AWS WAF, including \"All\" and \"Default_Action.\" You can't change MetricName after you create the WebACL.", + "Name": "A friendly name or description of the WebACL. You can't change Name after you create the WebACL." +} + +Optional Parameters +{ + "Tags": "" +} +""" +CreateWebACL(args) = waf("CreateWebACL", args) + +""" + CreateRegexPatternSet() + +Creates a RegexPatternSet. You then use UpdateRegexPatternSet to specify the regular expression (regex) pattern that you want AWS WAF to search for, such as B[a@]dB[o0]t. You can then configure AWS WAF to reject those requests. To create and configure a RegexPatternSet, perform the following steps: Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateRegexPatternSet request. Submit a CreateRegexPatternSet request. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateRegexPatternSet request. Submit an UpdateRegexPatternSet request to specify the string that you want AWS WAF to watch for. For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide. + +Required Parameters +{ + "ChangeToken": "The value returned by the most recent call to GetChangeToken.", + "Name": "A friendly name or description of the RegexPatternSet. You can't change Name after you create a RegexPatternSet." +} +""" +CreateRegexPatternSet(args) = waf("CreateRegexPatternSet", args) + +""" + CreateSizeConstraintSet() + +Creates a SizeConstraintSet. You then use UpdateSizeConstraintSet to identify the part of a web request that you want AWS WAF to check for length, such as the length of the User-Agent header or the length of the query string. For example, you can create a SizeConstraintSet that matches any requests that have a query string that is longer than 100 bytes. You can then configure AWS WAF to reject those requests. To create and configure a SizeConstraintSet, perform the following steps: Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateSizeConstraintSet request. Submit a CreateSizeConstraintSet request. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateSizeConstraintSet request. Submit an UpdateSizeConstraintSet request to specify the part of the request that you want AWS WAF to inspect (for example, the header or the URI) and the value that you want AWS WAF to watch for. For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide. + +Required Parameters +{ + "ChangeToken": "The value returned by the most recent call to GetChangeToken.", + "Name": "A friendly name or description of the SizeConstraintSet. You can't change Name after you create a SizeConstraintSet." +} +""" +CreateSizeConstraintSet(args) = waf("CreateSizeConstraintSet", args) + +""" + UpdateSizeConstraintSet() + +Inserts or deletes SizeConstraint objects (filters) in a SizeConstraintSet. For each SizeConstraint object, you specify the following values: Whether to insert or delete the object from the array. If you want to change a SizeConstraintSetUpdate object, you delete the existing object and add a new one. The part of a web request that you want AWS WAF to evaluate, such as the length of a query string or the length of the User-Agent header. Whether to perform any transformations on the request, such as converting it to lowercase, before checking its length. Note that transformations of the request body are not supported because the AWS resource forwards only the first 8192 bytes of your request to AWS WAF. You can only specify a single type of TextTransformation. A ComparisonOperator used for evaluating the selected part of the request against the specified Size, such as equals, greater than, less than, and so on. The length, in bytes, that you want AWS WAF to watch for in selected part of the request. The length is computed after applying the transformation. For example, you can add a SizeConstraintSetUpdate object that matches web requests in which the length of the User-Agent header is greater than 100 bytes. You can then configure AWS WAF to block those requests. To create and configure a SizeConstraintSet, perform the following steps: Create a SizeConstraintSet. For more information, see CreateSizeConstraintSet. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateSizeConstraintSet request. Submit an UpdateSizeConstraintSet request to specify the part of the request that you want AWS WAF to inspect (for example, the header or the URI) and the value that you want AWS WAF to watch for. For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide. + +Required Parameters +{ + "Updates": "An array of SizeConstraintSetUpdate objects that you want to insert into or delete from a SizeConstraintSet. For more information, see the applicable data types: SizeConstraintSetUpdate: Contains Action and SizeConstraint SizeConstraint: Contains FieldToMatch, TextTransformation, ComparisonOperator, and Size FieldToMatch: Contains Data and Type ", + "SizeConstraintSetId": "The SizeConstraintSetId of the SizeConstraintSet that you want to update. SizeConstraintSetId is returned by CreateSizeConstraintSet and by ListSizeConstraintSets.", + "ChangeToken": "The value returned by the most recent call to GetChangeToken." +} +""" +UpdateSizeConstraintSet(args) = waf("UpdateSizeConstraintSet", args) + +""" + ListIPSets() + +Returns an array of IPSetSummary objects in the response. + +Optional Parameters +{ + "NextMarker": "AWS WAF returns a NextMarker value in the response that allows you to list another group of IPSets. For the second and subsequent ListIPSets requests, specify the value of NextMarker from the previous response to get information about another batch of IPSets.", + "Limit": "Specifies the number of IPSet objects that you want AWS WAF to return for this request. If you have more IPSet objects than the number you specify for Limit, the response includes a NextMarker value that you can use to get another batch of IPSet objects." +} +""" +ListIPSets() = waf("ListIPSets") +ListIPSets(args) = waf("ListIPSets", args) + +""" + UpdateRegexMatchSet() + +Inserts or deletes RegexMatchTuple objects (filters) in a RegexMatchSet. For each RegexMatchSetUpdate object, you specify the following values: Whether to insert or delete the object from the array. If you want to change a RegexMatchSetUpdate object, you delete the existing object and add a new one. The part of a web request that you want AWS WAF to inspectupdate, such as a query string or the value of the User-Agent header. The identifier of the pattern (a regular expression) that you want AWS WAF to look for. For more information, see RegexPatternSet. Whether to perform any conversions on the request, such as converting it to lowercase, before inspecting it for the specified string. For example, you can create a RegexPatternSet that matches any requests with User-Agent headers that contain the string B[a@]dB[o0]t. You can then configure AWS WAF to reject those requests. To create and configure a RegexMatchSet, perform the following steps: Create a RegexMatchSet. For more information, see CreateRegexMatchSet. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateRegexMatchSet request. Submit an UpdateRegexMatchSet request to specify the part of the request that you want AWS WAF to inspect (for example, the header or the URI) and the identifier of the RegexPatternSet that contain the regular expression patters you want AWS WAF to watch for. For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide. + +Required Parameters +{ + "Updates": "An array of RegexMatchSetUpdate objects that you want to insert into or delete from a RegexMatchSet. For more information, see RegexMatchTuple.", + "RegexMatchSetId": "The RegexMatchSetId of the RegexMatchSet that you want to update. RegexMatchSetId is returned by CreateRegexMatchSet and by ListRegexMatchSets.", + "ChangeToken": "The value returned by the most recent call to GetChangeToken." +} +""" +UpdateRegexMatchSet(args) = waf("UpdateRegexMatchSet", args) + +""" + DeleteXssMatchSet() + +Permanently deletes an XssMatchSet. You can't delete an XssMatchSet if it's still used in any Rules or if it still contains any XssMatchTuple objects. If you just want to remove an XssMatchSet from a Rule, use UpdateRule. To permanently delete an XssMatchSet from AWS WAF, perform the following steps: Update the XssMatchSet to remove filters, if any. For more information, see UpdateXssMatchSet. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a DeleteXssMatchSet request. Submit a DeleteXssMatchSet request. + +Required Parameters +{ + "ChangeToken": "The value returned by the most recent call to GetChangeToken.", + "XssMatchSetId": "The XssMatchSetId of the XssMatchSet that you want to delete. XssMatchSetId is returned by CreateXssMatchSet and by ListXssMatchSets." +} +""" +DeleteXssMatchSet(args) = waf("DeleteXssMatchSet", args) + +""" + CreateSqlInjectionMatchSet() + +Creates a SqlInjectionMatchSet, which you use to allow, block, or count requests that contain snippets of SQL code in a specified part of web requests. AWS WAF searches for character sequences that are likely to be malicious strings. To create and configure a SqlInjectionMatchSet, perform the following steps: Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateSqlInjectionMatchSet request. Submit a CreateSqlInjectionMatchSet request. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateSqlInjectionMatchSet request. Submit an UpdateSqlInjectionMatchSet request to specify the parts of web requests in which you want to allow, block, or count malicious SQL code. For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide. + +Required Parameters +{ + "ChangeToken": "The value returned by the most recent call to GetChangeToken.", + "Name": "A friendly name or description for the SqlInjectionMatchSet that you're creating. You can't change Name after you create the SqlInjectionMatchSet." +} +""" +CreateSqlInjectionMatchSet(args) = waf("CreateSqlInjectionMatchSet", args) + +""" + ListSubscribedRuleGroups() + +Returns an array of RuleGroup objects that you are subscribed to. + +Optional Parameters +{ + "NextMarker": "If you specify a value for Limit and you have more ByteMatchSetssubscribed rule groups than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of subscribed rule groups. For the second and subsequent ListSubscribedRuleGroupsRequest requests, specify the value of NextMarker from the previous response to get information about another batch of subscribed rule groups.", + "Limit": "Specifies the number of subscribed rule groups that you want AWS WAF to return for this request. If you have more objects than the number you specify for Limit, the response includes a NextMarker value that you can use to get another batch of objects." +} +""" +ListSubscribedRuleGroups() = waf("ListSubscribedRuleGroups") +ListSubscribedRuleGroups(args) = waf("ListSubscribedRuleGroups", args) + +""" + CreateRule() + +Creates a Rule, which contains the IPSet objects, ByteMatchSet objects, and other predicates that identify the requests that you want to block. If you add more than one predicate to a Rule, a request must match all of the specifications to be allowed or blocked. For example, suppose that you add the following to a Rule: An IPSet that matches the IP address 192.0.2.44/32 A ByteMatchSet that matches BadBot in the User-Agent header You then add the Rule to a WebACL and specify that you want to blocks requests that satisfy the Rule. For a request to be blocked, it must come from the IP address 192.0.2.44 and the User-Agent header in the request must contain the value BadBot. To create and configure a Rule, perform the following steps: Create and update the predicates that you want to include in the Rule. For more information, see CreateByteMatchSet, CreateIPSet, and CreateSqlInjectionMatchSet. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateRule request. Submit a CreateRule request. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateRule request. Submit an UpdateRule request to specify the predicates that you want to include in the Rule. Create and update a WebACL that contains the Rule. For more information, see CreateWebACL. For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide. + +Required Parameters +{ + "ChangeToken": "The value returned by the most recent call to GetChangeToken.", + "MetricName": "A friendly name or description for the metrics for this Rule. The name can contain only alphanumeric characters (A-Z, a-z, 0-9), with maximum length 128 and minimum length one. It can't contain whitespace or metric names reserved for AWS WAF, including \"All\" and \"Default_Action.\" You can't change the name of the metric after you create the Rule.", + "Name": "A friendly name or description of the Rule. You can't change the name of a Rule after you create it." +} + +Optional Parameters +{ + "Tags": "" +} +""" +CreateRule(args) = waf("CreateRule", args) + +""" + GetRateBasedRule() + +Returns the RateBasedRule that is specified by the RuleId that you included in the GetRateBasedRule request. + +Required Parameters +{ + "RuleId": "The RuleId of the RateBasedRule that you want to get. RuleId is returned by CreateRateBasedRule and by ListRateBasedRules." +} +""" +GetRateBasedRule(args) = waf("GetRateBasedRule", args) + +""" + UpdateRegexPatternSet() + +Inserts or deletes RegexPatternString objects in a RegexPatternSet. For each RegexPatternString object, you specify the following values: Whether to insert or delete the RegexPatternString. The regular expression pattern that you want to insert or delete. For more information, see RegexPatternSet. For example, you can create a RegexPatternString such as B[a@]dB[o0]t. AWS WAF will match this RegexPatternString to: BadBot BadB0t B@dBot B@dB0t To create and configure a RegexPatternSet, perform the following steps: Create a RegexPatternSet. For more information, see CreateRegexPatternSet. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateRegexPatternSet request. Submit an UpdateRegexPatternSet request to specify the regular expression pattern that you want AWS WAF to watch for. For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide. + +Required Parameters +{ + "RegexPatternSetId": "The RegexPatternSetId of the RegexPatternSet that you want to update. RegexPatternSetId is returned by CreateRegexPatternSet and by ListRegexPatternSets.", + "Updates": "An array of RegexPatternSetUpdate objects that you want to insert into or delete from a RegexPatternSet.", + "ChangeToken": "The value returned by the most recent call to GetChangeToken." +} +""" +UpdateRegexPatternSet(args) = waf("UpdateRegexPatternSet", args) + +""" + CreateGeoMatchSet() + +Creates an GeoMatchSet, which you use to specify which web requests you want to allow or block based on the country that the requests originate from. For example, if you're receiving a lot of requests from one or more countries and you want to block the requests, you can create an GeoMatchSet that contains those countries and then configure AWS WAF to block the requests. To create and configure a GeoMatchSet, perform the following steps: Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateGeoMatchSet request. Submit a CreateGeoMatchSet request. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateGeoMatchSet request. Submit an UpdateGeoMatchSetSet request to specify the countries that you want AWS WAF to watch for. For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide. + +Required Parameters +{ + "ChangeToken": "The value returned by the most recent call to GetChangeToken.", + "Name": "A friendly name or description of the GeoMatchSet. You can't change Name after you create the GeoMatchSet." +} +""" +CreateGeoMatchSet(args) = waf("CreateGeoMatchSet", args) + +""" + ListRules() + +Returns an array of RuleSummary objects. + +Optional Parameters +{ + "NextMarker": "If you specify a value for Limit and you have more Rules than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of Rules. For the second and subsequent ListRules requests, specify the value of NextMarker from the previous response to get information about another batch of Rules.", + "Limit": "Specifies the number of Rules that you want AWS WAF to return for this request. If you have more Rules than the number that you specify for Limit, the response includes a NextMarker value that you can use to get another batch of Rules." +} +""" +ListRules() = waf("ListRules") +ListRules(args) = waf("ListRules", args) + +""" + UntagResource() + + + +Required Parameters +{ + "ResourceARN": "", + "TagKeys": "" +} +""" +UntagResource(args) = waf("UntagResource", args) + +""" + DeleteRegexPatternSet() + +Permanently deletes a RegexPatternSet. You can't delete a RegexPatternSet if it's still used in any RegexMatchSet or if the RegexPatternSet is not empty. + +Required Parameters +{ + "RegexPatternSetId": "The RegexPatternSetId of the RegexPatternSet that you want to delete. RegexPatternSetId is returned by CreateRegexPatternSet and by ListRegexPatternSets.", + "ChangeToken": "The value returned by the most recent call to GetChangeToken." +} +""" +DeleteRegexPatternSet(args) = waf("DeleteRegexPatternSet", args) + +""" + UpdateRateBasedRule() + +Inserts or deletes Predicate objects in a rule and updates the RateLimit in the rule. Each Predicate object identifies a predicate, such as a ByteMatchSet or an IPSet, that specifies the web requests that you want to block or count. The RateLimit specifies the number of requests every five minutes that triggers the rule. If you add more than one predicate to a RateBasedRule, a request must match all the predicates and exceed the RateLimit to be counted or blocked. For example, suppose you add the following to a RateBasedRule: An IPSet that matches the IP address 192.0.2.44/32 A ByteMatchSet that matches BadBot in the User-Agent header Further, you specify a RateLimit of 15,000. You then add the RateBasedRule to a WebACL and specify that you want to block requests that satisfy the rule. For a request to be blocked, it must come from the IP address 192.0.2.44 and the User-Agent header in the request must contain the value BadBot. Further, requests that match these two conditions much be received at a rate of more than 15,000 every five minutes. If the rate drops below this limit, AWS WAF no longer blocks the requests. As a second example, suppose you want to limit requests to a particular page on your site. To do this, you could add the following to a RateBasedRule: A ByteMatchSet with FieldToMatch of URI A PositionalConstraint of STARTS_WITH A TargetString of login Further, you specify a RateLimit of 15,000. By adding this RateBasedRule to a WebACL, you could limit requests to your login page without affecting the rest of your site. + +Required Parameters +{ + "Updates": "An array of RuleUpdate objects that you want to insert into or delete from a RateBasedRule. ", + "ChangeToken": "The value returned by the most recent call to GetChangeToken.", + "RateLimit": "The maximum number of requests, which have an identical value in the field specified by the RateKey, allowed in a five-minute period. If the number of requests exceeds the RateLimit and the other predicates specified in the rule are also met, AWS WAF triggers the action that is specified for this rule.", + "RuleId": "The RuleId of the RateBasedRule that you want to update. RuleId is returned by CreateRateBasedRule and by ListRateBasedRules." +} +""" +UpdateRateBasedRule(args) = waf("UpdateRateBasedRule", args) + +""" + DeleteRegexMatchSet() + +Permanently deletes a RegexMatchSet. You can't delete a RegexMatchSet if it's still used in any Rules or if it still includes any RegexMatchTuples objects (any filters). If you just want to remove a RegexMatchSet from a Rule, use UpdateRule. To permanently delete a RegexMatchSet, perform the following steps: Update the RegexMatchSet to remove filters, if any. For more information, see UpdateRegexMatchSet. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a DeleteRegexMatchSet request. Submit a DeleteRegexMatchSet request. + +Required Parameters +{ + "RegexMatchSetId": "The RegexMatchSetId of the RegexMatchSet that you want to delete. RegexMatchSetId is returned by CreateRegexMatchSet and by ListRegexMatchSets.", + "ChangeToken": "The value returned by the most recent call to GetChangeToken." +} +""" +DeleteRegexMatchSet(args) = waf("DeleteRegexMatchSet", args) + +""" + GetByteMatchSet() + +Returns the ByteMatchSet specified by ByteMatchSetId. + +Required Parameters +{ + "ByteMatchSetId": "The ByteMatchSetId of the ByteMatchSet that you want to get. ByteMatchSetId is returned by CreateByteMatchSet and by ListByteMatchSets." +} +""" +GetByteMatchSet(args) = waf("GetByteMatchSet", args) + +""" + DeleteRule() + +Permanently deletes a Rule. You can't delete a Rule if it's still used in any WebACL objects or if it still includes any predicates, such as ByteMatchSet objects. If you just want to remove a Rule from a WebACL, use UpdateWebACL. To permanently delete a Rule from AWS WAF, perform the following steps: Update the Rule to remove predicates, if any. For more information, see UpdateRule. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a DeleteRule request. Submit a DeleteRule request. + +Required Parameters +{ + "ChangeToken": "The value returned by the most recent call to GetChangeToken.", + "RuleId": "The RuleId of the Rule that you want to delete. RuleId is returned by CreateRule and by ListRules." +} +""" +DeleteRule(args) = waf("DeleteRule", args) + +""" + GetIPSet() + +Returns the IPSet that is specified by IPSetId. + +Required Parameters +{ + "IPSetId": "The IPSetId of the IPSet that you want to get. IPSetId is returned by CreateIPSet and by ListIPSets." +} +""" +GetIPSet(args) = waf("GetIPSet", args) + +""" + ListRegexPatternSets() + +Returns an array of RegexPatternSetSummary objects. + +Optional Parameters +{ + "NextMarker": "If you specify a value for Limit and you have more RegexPatternSet objects than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of RegexPatternSet objects. For the second and subsequent ListRegexPatternSets requests, specify the value of NextMarker from the previous response to get information about another batch of RegexPatternSet objects.", + "Limit": "Specifies the number of RegexPatternSet objects that you want AWS WAF to return for this request. If you have more RegexPatternSet objects than the number you specify for Limit, the response includes a NextMarker value that you can use to get another batch of RegexPatternSet objects." +} +""" +ListRegexPatternSets() = waf("ListRegexPatternSets") +ListRegexPatternSets(args) = waf("ListRegexPatternSets", args) + +""" + DeleteRuleGroup() + +Permanently deletes a RuleGroup. You can't delete a RuleGroup if it's still used in any WebACL objects or if it still includes any rules. If you just want to remove a RuleGroup from a WebACL, use UpdateWebACL. To permanently delete a RuleGroup from AWS WAF, perform the following steps: Update the RuleGroup to remove rules, if any. For more information, see UpdateRuleGroup. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a DeleteRuleGroup request. Submit a DeleteRuleGroup request. + +Required Parameters +{ + "RuleGroupId": "The RuleGroupId of the RuleGroup that you want to delete. RuleGroupId is returned by CreateRuleGroup and by ListRuleGroups.", + "ChangeToken": "The value returned by the most recent call to GetChangeToken." +} +""" +DeleteRuleGroup(args) = waf("DeleteRuleGroup", args) + +""" + ListTagsForResource() + + + +Required Parameters +{ + "ResourceARN": "" +} + +Optional Parameters +{ + "NextMarker": "", + "Limit": "" +} +""" +ListTagsForResource(args) = waf("ListTagsForResource", args) + +""" + UpdateWebACL() + +Inserts or deletes ActivatedRule objects in a WebACL. Each Rule identifies web requests that you want to allow, block, or count. When you update a WebACL, you specify the following values: A default action for the WebACL, either ALLOW or BLOCK. AWS WAF performs the default action if a request doesn't match the criteria in any of the Rules in a WebACL. The Rules that you want to add or delete. If you want to replace one Rule with another, you delete the existing Rule and add the new one. For each Rule, whether you want AWS WAF to allow requests, block requests, or count requests that match the conditions in the Rule. The order in which you want AWS WAF to evaluate the Rules in a WebACL. If you add more than one Rule to a WebACL, AWS WAF evaluates each request against the Rules in order based on the value of Priority. (The Rule that has the lowest value for Priority is evaluated first.) When a web request matches all the predicates (such as ByteMatchSets and IPSets) in a Rule, AWS WAF immediately takes the corresponding action, allow or block, and doesn't evaluate the request against the remaining Rules in the WebACL, if any. To create and configure a WebACL, perform the following steps: Create and update the predicates that you want to include in Rules. For more information, see CreateByteMatchSet, UpdateByteMatchSet, CreateIPSet, UpdateIPSet, CreateSqlInjectionMatchSet, and UpdateSqlInjectionMatchSet. Create and update the Rules that you want to include in the WebACL. For more information, see CreateRule and UpdateRule. Create a WebACL. See CreateWebACL. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateWebACL request. Submit an UpdateWebACL request to specify the Rules that you want to include in the WebACL, to specify the default action, and to associate the WebACL with a CloudFront distribution. The ActivatedRule can be a rule group. If you specify a rule group as your ActivatedRule, you can exclude specific rules from that rule group. If you already have a rule group associated with a web ACL and want to submit an UpdateWebACL request to exclude certain rules from that rule group, you must first remove the rule group from the web ACL, the re-insert it again, specifying the excluded rules. For details, see ActivatedRule ExcludedRules. Be aware that if you try to add a RATE_BASED rule to a web ACL without setting the rule type when first creating the rule, the UpdateWebACL request will fail because the request tries to add a REGULAR rule (the default rule type) with the specified ID, which does not exist. For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide. + +Required Parameters +{ + "ChangeToken": "The value returned by the most recent call to GetChangeToken.", + "WebACLId": "The WebACLId of the WebACL that you want to update. WebACLId is returned by CreateWebACL and by ListWebACLs." +} + +Optional Parameters +{ + "Updates": "An array of updates to make to the WebACL. An array of WebACLUpdate objects that you want to insert into or delete from a WebACL. For more information, see the applicable data types: WebACLUpdate: Contains Action and ActivatedRule ActivatedRule: Contains Action, OverrideAction, Priority, RuleId, and Type. ActivatedRule|OverrideAction applies only when updating or adding a RuleGroup to a WebACL. In this case, you do not use ActivatedRule|Action. For all other update requests, ActivatedRule|Action is used instead of ActivatedRule|OverrideAction. WafAction: Contains Type ", + "DefaultAction": "A default action for the web ACL, either ALLOW or BLOCK. AWS WAF performs the default action if a request doesn't match the criteria in any of the rules in a web ACL." +} +""" +UpdateWebACL(args) = waf("UpdateWebACL", args) + +""" + GetGeoMatchSet() + +Returns the GeoMatchSet that is specified by GeoMatchSetId. + +Required Parameters +{ + "GeoMatchSetId": "The GeoMatchSetId of the GeoMatchSet that you want to get. GeoMatchSetId is returned by CreateGeoMatchSet and by ListGeoMatchSets." +} +""" +GetGeoMatchSet(args) = waf("GetGeoMatchSet", args) + +""" + CreateXssMatchSet() + +Creates an XssMatchSet, which you use to allow, block, or count requests that contain cross-site scripting attacks in the specified part of web requests. AWS WAF searches for character sequences that are likely to be malicious strings. To create and configure an XssMatchSet, perform the following steps: Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateXssMatchSet request. Submit a CreateXssMatchSet request. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateXssMatchSet request. Submit an UpdateXssMatchSet request to specify the parts of web requests in which you want to allow, block, or count cross-site scripting attacks. For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide. + +Required Parameters +{ + "ChangeToken": "The value returned by the most recent call to GetChangeToken.", + "Name": "A friendly name or description for the XssMatchSet that you're creating. You can't change Name after you create the XssMatchSet." +} +""" +CreateXssMatchSet(args) = waf("CreateXssMatchSet", args) + +""" + GetLoggingConfiguration() + +Returns the LoggingConfiguration for the specified web ACL. + +Required Parameters +{ + "ResourceArn": "The Amazon Resource Name (ARN) of the web ACL for which you want to get the LoggingConfiguration." +} +""" +GetLoggingConfiguration(args) = waf("GetLoggingConfiguration", args) + +""" + DeleteLoggingConfiguration() + +Permanently deletes the LoggingConfiguration from the specified web ACL. + +Required Parameters +{ + "ResourceArn": "The Amazon Resource Name (ARN) of the web ACL from which you want to delete the LoggingConfiguration." +} +""" +DeleteLoggingConfiguration(args) = waf("DeleteLoggingConfiguration", args) + +""" + UpdateIPSet() + +Inserts or deletes IPSetDescriptor objects in an IPSet. For each IPSetDescriptor object, you specify the following values: Whether to insert or delete the object from the array. If you want to change an IPSetDescriptor object, you delete the existing object and add a new one. The IP address version, IPv4 or IPv6. The IP address in CIDR notation, for example, 192.0.2.0/24 (for the range of IP addresses from 192.0.2.0 to 192.0.2.255) or 192.0.2.44/32 (for the individual IP address 192.0.2.44). AWS WAF supports IPv4 address ranges: /8 and any range between /16 through /32. AWS WAF supports IPv6 address ranges: /24, /32, /48, /56, /64, and /128. For more information about CIDR notation, see the Wikipedia entry Classless Inter-Domain Routing. IPv6 addresses can be represented using any of the following formats: 1111:0000:0000:0000:0000:0000:0000:0111/128 1111:0:0:0:0:0:0:0111/128 1111::0111/128 1111::111/128 You use an IPSet to specify which web requests you want to allow or block based on the IP addresses that the requests originated from. For example, if you're receiving a lot of requests from one or a small number of IP addresses and you want to block the requests, you can create an IPSet that specifies those IP addresses, and then configure AWS WAF to block the requests. To create and configure an IPSet, perform the following steps: Submit a CreateIPSet request. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateIPSet request. Submit an UpdateIPSet request to specify the IP addresses that you want AWS WAF to watch for. When you update an IPSet, you specify the IP addresses that you want to add and/or the IP addresses that you want to delete. If you want to change an IP address, you delete the existing IP address and add the new one. You can insert a maximum of 1000 addresses in a single request. For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide. + +Required Parameters +{ + "Updates": "An array of IPSetUpdate objects that you want to insert into or delete from an IPSet. For more information, see the applicable data types: IPSetUpdate: Contains Action and IPSetDescriptor IPSetDescriptor: Contains Type and Value You can insert a maximum of 1000 addresses in a single request.", + "ChangeToken": "The value returned by the most recent call to GetChangeToken.", + "IPSetId": "The IPSetId of the IPSet that you want to update. IPSetId is returned by CreateIPSet and by ListIPSets." +} +""" +UpdateIPSet(args) = waf("UpdateIPSet", args) + +""" + ListRateBasedRules() + +Returns an array of RuleSummary objects. + +Optional Parameters +{ + "NextMarker": "If you specify a value for Limit and you have more Rules than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of Rules. For the second and subsequent ListRateBasedRules requests, specify the value of NextMarker from the previous response to get information about another batch of Rules.", + "Limit": "Specifies the number of Rules that you want AWS WAF to return for this request. If you have more Rules than the number that you specify for Limit, the response includes a NextMarker value that you can use to get another batch of Rules." +} +""" +ListRateBasedRules() = waf("ListRateBasedRules") +ListRateBasedRules(args) = waf("ListRateBasedRules", args) + +""" + DeleteRateBasedRule() + +Permanently deletes a RateBasedRule. You can't delete a rule if it's still used in any WebACL objects or if it still includes any predicates, such as ByteMatchSet objects. If you just want to remove a rule from a WebACL, use UpdateWebACL. To permanently delete a RateBasedRule from AWS WAF, perform the following steps: Update the RateBasedRule to remove predicates, if any. For more information, see UpdateRateBasedRule. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a DeleteRateBasedRule request. Submit a DeleteRateBasedRule request. + +Required Parameters +{ + "ChangeToken": "The value returned by the most recent call to GetChangeToken.", + "RuleId": "The RuleId of the RateBasedRule that you want to delete. RuleId is returned by CreateRateBasedRule and by ListRateBasedRules." +} +""" +DeleteRateBasedRule(args) = waf("DeleteRateBasedRule", args) + +""" + PutPermissionPolicy() + +Attaches a IAM policy to the specified resource. The only supported use for this action is to share a RuleGroup across accounts. The PutPermissionPolicy is subject to the following restrictions: You can attach only one policy with each PutPermissionPolicy request. The policy must include an Effect, Action and Principal. Effect must specify Allow. The Action in the policy must be waf:UpdateWebACL, waf-regional:UpdateWebACL, waf:GetRuleGroup and waf-regional:GetRuleGroup . Any extra or wildcard actions in the policy will be rejected. The policy cannot include a Resource parameter. The ARN in the request must be a valid WAF RuleGroup ARN and the RuleGroup must exist in the same region. The user making the request must be the owner of the RuleGroup. Your policy must be composed using IAM Policy version 2012-10-17. For more information, see IAM Policies. An example of a valid policy parameter is shown in the Examples section below. + +Required Parameters +{ + "ResourceArn": "The Amazon Resource Name (ARN) of the RuleGroup to which you want to attach the policy.", + "Policy": "The policy to attach to the specified RuleGroup." +} +""" +PutPermissionPolicy(args) = waf("PutPermissionPolicy", args) + +""" + PutLoggingConfiguration() + +Associates a LoggingConfiguration with a specified web ACL. You can access information about all traffic that AWS WAF inspects using the following steps: Create an Amazon Kinesis Data Firehose. Create the data firehose with a PUT source and in the region that you are operating. However, if you are capturing logs for Amazon CloudFront, always create the firehose in US East (N. Virginia). Do not create the data firehose using a Kinesis stream as your source. Associate that firehose to your web ACL using a PutLoggingConfiguration request. When you successfully enable logging using a PutLoggingConfiguration request, AWS WAF will create a service linked role with the necessary permissions to write logs to the Amazon Kinesis Data Firehose. For more information, see Logging Web ACL Traffic Information in the AWS WAF Developer Guide. + +Required Parameters +{ + "LoggingConfiguration": "The Amazon Kinesis Data Firehose that contains the inspected traffic information, the redacted fields details, and the Amazon Resource Name (ARN) of the web ACL to monitor. When specifying Type in RedactedFields, you must use one of the following values: URI, QUERY_STRING, HEADER, or METHOD. " +} +""" +PutLoggingConfiguration(args) = waf("PutLoggingConfiguration", args) + +""" + UpdateGeoMatchSet() + +Inserts or deletes GeoMatchConstraint objects in an GeoMatchSet. For each GeoMatchConstraint object, you specify the following values: Whether to insert or delete the object from the array. If you want to change an GeoMatchConstraint object, you delete the existing object and add a new one. The Type. The only valid value for Type is Country. The Value, which is a two character code for the country to add to the GeoMatchConstraint object. Valid codes are listed in GeoMatchConstraint Value. To create and configure an GeoMatchSet, perform the following steps: Submit a CreateGeoMatchSet request. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateGeoMatchSet request. Submit an UpdateGeoMatchSet request to specify the country that you want AWS WAF to watch for. When you update an GeoMatchSet, you specify the country that you want to add and/or the country that you want to delete. If you want to change a country, you delete the existing country and add the new one. For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide. + +Required Parameters +{ + "Updates": "An array of GeoMatchSetUpdate objects that you want to insert into or delete from an GeoMatchSet. For more information, see the applicable data types: GeoMatchSetUpdate: Contains Action and GeoMatchConstraint GeoMatchConstraint: Contains Type and Value You can have only one Type and Value per GeoMatchConstraint. To add multiple countries, include multiple GeoMatchSetUpdate objects in your request. ", + "ChangeToken": "The value returned by the most recent call to GetChangeToken.", + "GeoMatchSetId": "The GeoMatchSetId of the GeoMatchSet that you want to update. GeoMatchSetId is returned by CreateGeoMatchSet and by ListGeoMatchSets." +} +""" +UpdateGeoMatchSet(args) = waf("UpdateGeoMatchSet", args) + +""" + ListRegexMatchSets() + +Returns an array of RegexMatchSetSummary objects. + +Optional Parameters +{ + "NextMarker": "If you specify a value for Limit and you have more RegexMatchSet objects than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of ByteMatchSets. For the second and subsequent ListRegexMatchSets requests, specify the value of NextMarker from the previous response to get information about another batch of RegexMatchSet objects.", + "Limit": "Specifies the number of RegexMatchSet objects that you want AWS WAF to return for this request. If you have more RegexMatchSet objects than the number you specify for Limit, the response includes a NextMarker value that you can use to get another batch of RegexMatchSet objects." +} +""" +ListRegexMatchSets() = waf("ListRegexMatchSets") +ListRegexMatchSets(args) = waf("ListRegexMatchSets", args) + +""" + DeleteGeoMatchSet() + +Permanently deletes a GeoMatchSet. You can't delete a GeoMatchSet if it's still used in any Rules or if it still includes any countries. If you just want to remove a GeoMatchSet from a Rule, use UpdateRule. To permanently delete a GeoMatchSet from AWS WAF, perform the following steps: Update the GeoMatchSet to remove any countries. For more information, see UpdateGeoMatchSet. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a DeleteGeoMatchSet request. Submit a DeleteGeoMatchSet request. + +Required Parameters +{ + "ChangeToken": "The value returned by the most recent call to GetChangeToken.", + "GeoMatchSetId": "The GeoMatchSetID of the GeoMatchSet that you want to delete. GeoMatchSetId is returned by CreateGeoMatchSet and by ListGeoMatchSets." +} +""" +DeleteGeoMatchSet(args) = waf("DeleteGeoMatchSet", args) + +""" + ListSizeConstraintSets() + +Returns an array of SizeConstraintSetSummary objects. + +Optional Parameters +{ + "NextMarker": "If you specify a value for Limit and you have more SizeConstraintSets than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of SizeConstraintSets. For the second and subsequent ListSizeConstraintSets requests, specify the value of NextMarker from the previous response to get information about another batch of SizeConstraintSets.", + "Limit": "Specifies the number of SizeConstraintSet objects that you want AWS WAF to return for this request. If you have more SizeConstraintSets objects than the number you specify for Limit, the response includes a NextMarker value that you can use to get another batch of SizeConstraintSet objects." +} +""" +ListSizeConstraintSets() = waf("ListSizeConstraintSets") +ListSizeConstraintSets(args) = waf("ListSizeConstraintSets", args) + +""" + ListWebACLs() + +Returns an array of WebACLSummary objects in the response. + +Optional Parameters +{ + "NextMarker": "If you specify a value for Limit and you have more WebACL objects than the number that you specify for Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of WebACL objects. For the second and subsequent ListWebACLs requests, specify the value of NextMarker from the previous response to get information about another batch of WebACL objects.", + "Limit": "Specifies the number of WebACL objects that you want AWS WAF to return for this request. If you have more WebACL objects than the number that you specify for Limit, the response includes a NextMarker value that you can use to get another batch of WebACL objects." +} +""" +ListWebACLs() = waf("ListWebACLs") +ListWebACLs(args) = waf("ListWebACLs", args) + +""" + ListLoggingConfigurations() + +Returns an array of LoggingConfiguration objects. + +Optional Parameters +{ + "NextMarker": "If you specify a value for Limit and you have more LoggingConfigurations than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of LoggingConfigurations. For the second and subsequent ListLoggingConfigurations requests, specify the value of NextMarker from the previous response to get information about another batch of ListLoggingConfigurations.", + "Limit": "Specifies the number of LoggingConfigurations that you want AWS WAF to return for this request. If you have more LoggingConfigurations than the number that you specify for Limit, the response includes a NextMarker value that you can use to get another batch of LoggingConfigurations." +} +""" +ListLoggingConfigurations() = waf("ListLoggingConfigurations") +ListLoggingConfigurations(args) = waf("ListLoggingConfigurations", args) + +""" + DeleteWebACL() + +Permanently deletes a WebACL. You can't delete a WebACL if it still contains any Rules. To delete a WebACL, perform the following steps: Update the WebACL to remove Rules, if any. For more information, see UpdateWebACL. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a DeleteWebACL request. Submit a DeleteWebACL request. + +Required Parameters +{ + "ChangeToken": "The value returned by the most recent call to GetChangeToken.", + "WebACLId": "The WebACLId of the WebACL that you want to delete. WebACLId is returned by CreateWebACL and by ListWebACLs." +} +""" +DeleteWebACL(args) = waf("DeleteWebACL", args) + +""" + GetSqlInjectionMatchSet() + +Returns the SqlInjectionMatchSet that is specified by SqlInjectionMatchSetId. + +Required Parameters +{ + "SqlInjectionMatchSetId": "The SqlInjectionMatchSetId of the SqlInjectionMatchSet that you want to get. SqlInjectionMatchSetId is returned by CreateSqlInjectionMatchSet and by ListSqlInjectionMatchSets." +} +""" +GetSqlInjectionMatchSet(args) = waf("GetSqlInjectionMatchSet", args) + +""" + GetRateBasedRuleManagedKeys() + +Returns an array of IP addresses currently being blocked by the RateBasedRule that is specified by the RuleId. The maximum number of managed keys that will be blocked is 10,000. If more than 10,000 addresses exceed the rate limit, the 10,000 addresses with the highest rates will be blocked. + +Required Parameters +{ + "RuleId": "The RuleId of the RateBasedRule for which you want to get a list of ManagedKeys. RuleId is returned by CreateRateBasedRule and by ListRateBasedRules." +} + +Optional Parameters +{ + "NextMarker": "A null value and not currently used. Do not include this in your request." +} +""" +GetRateBasedRuleManagedKeys(args) = waf("GetRateBasedRuleManagedKeys", args) + +""" + GetSampledRequests() + +Gets detailed information about a specified number of requests--a sample--that AWS WAF randomly selects from among the first 5,000 requests that your AWS resource received during a time range that you choose. You can specify a sample size of up to 500 requests, and you can specify any time range in the previous three hours. GetSampledRequests returns a time range, which is usually the time range that you specified. However, if your resource (such as a CloudFront distribution) received 5,000 requests before the specified time range elapsed, GetSampledRequests returns an updated time range. This new time range indicates the actual period during which AWS WAF selected the requests in the sample. + +Required Parameters +{ + "MaxItems": "The number of requests that you want AWS WAF to return from among the first 5,000 requests that your AWS resource received during the time range. If your resource received fewer requests than the value of MaxItems, GetSampledRequests returns information about all of them. ", + "WebAclId": "The WebACLId of the WebACL for which you want GetSampledRequests to return a sample of requests.", + "TimeWindow": "The start date and time and the end date and time of the range for which you want GetSampledRequests to return a sample of requests. Specify the date and time in the following format: \"2016-09-27T14:50Z\". You can specify any time range in the previous three hours.", + "RuleId": " RuleId is one of three values: The RuleId of the Rule or the RuleGroupId of the RuleGroup for which you want GetSampledRequests to return a sample of requests. Default_Action, which causes GetSampledRequests to return a sample of the requests that didn't match any of the rules in the specified WebACL. " +} +""" +GetSampledRequests(args) = waf("GetSampledRequests", args) + +""" + GetRegexPatternSet() + +Returns the RegexPatternSet specified by RegexPatternSetId. + +Required Parameters +{ + "RegexPatternSetId": "The RegexPatternSetId of the RegexPatternSet that you want to get. RegexPatternSetId is returned by CreateRegexPatternSet and by ListRegexPatternSets." +} +""" +GetRegexPatternSet(args) = waf("GetRegexPatternSet", args) + +""" + ListActivatedRulesInRuleGroup() + +Returns an array of ActivatedRule objects. + +Optional Parameters +{ + "RuleGroupId": "The RuleGroupId of the RuleGroup for which you want to get a list of ActivatedRule objects.", + "NextMarker": "If you specify a value for Limit and you have more ActivatedRules than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of ActivatedRules. For the second and subsequent ListActivatedRulesInRuleGroup requests, specify the value of NextMarker from the previous response to get information about another batch of ActivatedRules.", + "Limit": "Specifies the number of ActivatedRules that you want AWS WAF to return for this request. If you have more ActivatedRules than the number that you specify for Limit, the response includes a NextMarker value that you can use to get another batch of ActivatedRules." +} +""" +ListActivatedRulesInRuleGroup() = waf("ListActivatedRulesInRuleGroup") +ListActivatedRulesInRuleGroup(args) = waf("ListActivatedRulesInRuleGroup", args) + +""" + GetRule() + +Returns the Rule that is specified by the RuleId that you included in the GetRule request. + +Required Parameters +{ + "RuleId": "The RuleId of the Rule that you want to get. RuleId is returned by CreateRule and by ListRules." +} +""" +GetRule(args) = waf("GetRule", args) + +""" + ListXssMatchSets() + +Returns an array of XssMatchSet objects. + +Optional Parameters +{ + "NextMarker": "If you specify a value for Limit and you have more XssMatchSet objects than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of XssMatchSets. For the second and subsequent ListXssMatchSets requests, specify the value of NextMarker from the previous response to get information about another batch of XssMatchSets.", + "Limit": "Specifies the number of XssMatchSet objects that you want AWS WAF to return for this request. If you have more XssMatchSet objects than the number you specify for Limit, the response includes a NextMarker value that you can use to get another batch of Rules." +} +""" +ListXssMatchSets() = waf("ListXssMatchSets") +ListXssMatchSets(args) = waf("ListXssMatchSets", args) + +""" + UpdateXssMatchSet() + +Inserts or deletes XssMatchTuple objects (filters) in an XssMatchSet. For each XssMatchTuple object, you specify the following values: Action: Whether to insert the object into or delete the object from the array. To change an XssMatchTuple, you delete the existing object and add a new one. FieldToMatch: The part of web requests that you want AWS WAF to inspect and, if you want AWS WAF to inspect a header or custom query parameter, the name of the header or parameter. TextTransformation: Which text transformation, if any, to perform on the web request before inspecting the request for cross-site scripting attacks. You can only specify a single type of TextTransformation. You use XssMatchSet objects to specify which CloudFront requests that you want to allow, block, or count. For example, if you're receiving requests that contain cross-site scripting attacks in the request body and you want to block the requests, you can create an XssMatchSet with the applicable settings, and then configure AWS WAF to block the requests. To create and configure an XssMatchSet, perform the following steps: Submit a CreateXssMatchSet request. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateIPSet request. Submit an UpdateXssMatchSet request to specify the parts of web requests that you want AWS WAF to inspect for cross-site scripting attacks. For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide. + +Required Parameters +{ + "Updates": "An array of XssMatchSetUpdate objects that you want to insert into or delete from an XssMatchSet. For more information, see the applicable data types: XssMatchSetUpdate: Contains Action and XssMatchTuple XssMatchTuple: Contains FieldToMatch and TextTransformation FieldToMatch: Contains Data and Type ", + "ChangeToken": "The value returned by the most recent call to GetChangeToken.", + "XssMatchSetId": "The XssMatchSetId of the XssMatchSet that you want to update. XssMatchSetId is returned by CreateXssMatchSet and by ListXssMatchSets." +} +""" +UpdateXssMatchSet(args) = waf("UpdateXssMatchSet", args) + +""" + ListSqlInjectionMatchSets() + +Returns an array of SqlInjectionMatchSet objects. + +Optional Parameters +{ + "NextMarker": "If you specify a value for Limit and you have more SqlInjectionMatchSet objects than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of SqlInjectionMatchSets. For the second and subsequent ListSqlInjectionMatchSets requests, specify the value of NextMarker from the previous response to get information about another batch of SqlInjectionMatchSets.", + "Limit": "Specifies the number of SqlInjectionMatchSet objects that you want AWS WAF to return for this request. If you have more SqlInjectionMatchSet objects than the number you specify for Limit, the response includes a NextMarker value that you can use to get another batch of Rules." +} +""" +ListSqlInjectionMatchSets() = waf("ListSqlInjectionMatchSets") +ListSqlInjectionMatchSets(args) = waf("ListSqlInjectionMatchSets", args) + +""" + GetRegexMatchSet() + +Returns the RegexMatchSet specified by RegexMatchSetId. + +Required Parameters +{ + "RegexMatchSetId": "The RegexMatchSetId of the RegexMatchSet that you want to get. RegexMatchSetId is returned by CreateRegexMatchSet and by ListRegexMatchSets." +} +""" +GetRegexMatchSet(args) = waf("GetRegexMatchSet", args) + +""" + UpdateByteMatchSet() + +Inserts or deletes ByteMatchTuple objects (filters) in a ByteMatchSet. For each ByteMatchTuple object, you specify the following values: Whether to insert or delete the object from the array. If you want to change a ByteMatchSetUpdate object, you delete the existing object and add a new one. The part of a web request that you want AWS WAF to inspect, such as a query string or the value of the User-Agent header. The bytes (typically a string that corresponds with ASCII characters) that you want AWS WAF to look for. For more information, including how you specify the values for the AWS WAF API and the AWS CLI or SDKs, see TargetString in the ByteMatchTuple data type. Where to look, such as at the beginning or the end of a query string. Whether to perform any conversions on the request, such as converting it to lowercase, before inspecting it for the specified string. For example, you can add a ByteMatchSetUpdate object that matches web requests in which User-Agent headers contain the string BadBot. You can then configure AWS WAF to block those requests. To create and configure a ByteMatchSet, perform the following steps: Create a ByteMatchSet. For more information, see CreateByteMatchSet. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateByteMatchSet request. Submit an UpdateByteMatchSet request to specify the part of the request that you want AWS WAF to inspect (for example, the header or the URI) and the value that you want AWS WAF to watch for. For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide. + +Required Parameters +{ + "ByteMatchSetId": "The ByteMatchSetId of the ByteMatchSet that you want to update. ByteMatchSetId is returned by CreateByteMatchSet and by ListByteMatchSets.", + "Updates": "An array of ByteMatchSetUpdate objects that you want to insert into or delete from a ByteMatchSet. For more information, see the applicable data types: ByteMatchSetUpdate: Contains Action and ByteMatchTuple ByteMatchTuple: Contains FieldToMatch, PositionalConstraint, TargetString, and TextTransformation FieldToMatch: Contains Data and Type ", + "ChangeToken": "The value returned by the most recent call to GetChangeToken." +} +""" +UpdateByteMatchSet(args) = waf("UpdateByteMatchSet", args) + +""" + UpdateRuleGroup() + +Inserts or deletes ActivatedRule objects in a RuleGroup. You can only insert REGULAR rules into a rule group. You can have a maximum of ten rules per rule group. To create and configure a RuleGroup, perform the following steps: Create and update the Rules that you want to include in the RuleGroup. See CreateRule. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateRuleGroup request. Submit an UpdateRuleGroup request to add Rules to the RuleGroup. Create and update a WebACL that contains the RuleGroup. See CreateWebACL. If you want to replace one Rule with another, you delete the existing one and add the new one. For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide. + +Required Parameters +{ + "RuleGroupId": "The RuleGroupId of the RuleGroup that you want to update. RuleGroupId is returned by CreateRuleGroup and by ListRuleGroups.", + "Updates": "An array of RuleGroupUpdate objects that you want to insert into or delete from a RuleGroup. You can only insert REGULAR rules into a rule group. ActivatedRule|OverrideAction applies only when updating or adding a RuleGroup to a WebACL. In this case you do not use ActivatedRule|Action. For all other update requests, ActivatedRule|Action is used instead of ActivatedRule|OverrideAction.", + "ChangeToken": "The value returned by the most recent call to GetChangeToken." +} +""" +UpdateRuleGroup(args) = waf("UpdateRuleGroup", args) + +""" + DeleteIPSet() + +Permanently deletes an IPSet. You can't delete an IPSet if it's still used in any Rules or if it still includes any IP addresses. If you just want to remove an IPSet from a Rule, use UpdateRule. To permanently delete an IPSet from AWS WAF, perform the following steps: Update the IPSet to remove IP address ranges, if any. For more information, see UpdateIPSet. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a DeleteIPSet request. Submit a DeleteIPSet request. + +Required Parameters +{ + "ChangeToken": "The value returned by the most recent call to GetChangeToken.", + "IPSetId": "The IPSetId of the IPSet that you want to delete. IPSetId is returned by CreateIPSet and by ListIPSets." +} +""" +DeleteIPSet(args) = waf("DeleteIPSet", args) + +""" + DeleteSqlInjectionMatchSet() + +Permanently deletes a SqlInjectionMatchSet. You can't delete a SqlInjectionMatchSet if it's still used in any Rules or if it still contains any SqlInjectionMatchTuple objects. If you just want to remove a SqlInjectionMatchSet from a Rule, use UpdateRule. To permanently delete a SqlInjectionMatchSet from AWS WAF, perform the following steps: Update the SqlInjectionMatchSet to remove filters, if any. For more information, see UpdateSqlInjectionMatchSet. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a DeleteSqlInjectionMatchSet request. Submit a DeleteSqlInjectionMatchSet request. + +Required Parameters +{ + "SqlInjectionMatchSetId": "The SqlInjectionMatchSetId of the SqlInjectionMatchSet that you want to delete. SqlInjectionMatchSetId is returned by CreateSqlInjectionMatchSet and by ListSqlInjectionMatchSets.", + "ChangeToken": "The value returned by the most recent call to GetChangeToken." +} +""" +DeleteSqlInjectionMatchSet(args) = waf("DeleteSqlInjectionMatchSet", args) + +""" + ListByteMatchSets() + +Returns an array of ByteMatchSetSummary objects. + +Optional Parameters +{ + "NextMarker": "If you specify a value for Limit and you have more ByteMatchSets than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of ByteMatchSets. For the second and subsequent ListByteMatchSets requests, specify the value of NextMarker from the previous response to get information about another batch of ByteMatchSets.", + "Limit": "Specifies the number of ByteMatchSet objects that you want AWS WAF to return for this request. If you have more ByteMatchSets objects than the number you specify for Limit, the response includes a NextMarker value that you can use to get another batch of ByteMatchSet objects." +} +""" +ListByteMatchSets() = waf("ListByteMatchSets") +ListByteMatchSets(args) = waf("ListByteMatchSets", args) + +""" + GetXssMatchSet() + +Returns the XssMatchSet that is specified by XssMatchSetId. + +Required Parameters +{ + "XssMatchSetId": "The XssMatchSetId of the XssMatchSet that you want to get. XssMatchSetId is returned by CreateXssMatchSet and by ListXssMatchSets." +} +""" +GetXssMatchSet(args) = waf("GetXssMatchSet", args) + +""" + UpdateRule() + +Inserts or deletes Predicate objects in a Rule. Each Predicate object identifies a predicate, such as a ByteMatchSet or an IPSet, that specifies the web requests that you want to allow, block, or count. If you add more than one predicate to a Rule, a request must match all of the specifications to be allowed, blocked, or counted. For example, suppose that you add the following to a Rule: A ByteMatchSet that matches the value BadBot in the User-Agent header An IPSet that matches the IP address 192.0.2.44 You then add the Rule to a WebACL and specify that you want to block requests that satisfy the Rule. For a request to be blocked, the User-Agent header in the request must contain the value BadBot and the request must originate from the IP address 192.0.2.44. To create and configure a Rule, perform the following steps: Create and update the predicates that you want to include in the Rule. Create the Rule. See CreateRule. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateRule request. Submit an UpdateRule request to add predicates to the Rule. Create and update a WebACL that contains the Rule. See CreateWebACL. If you want to replace one ByteMatchSet or IPSet with another, you delete the existing one and add the new one. For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide. + +Required Parameters +{ + "Updates": "An array of RuleUpdate objects that you want to insert into or delete from a Rule. For more information, see the applicable data types: RuleUpdate: Contains Action and Predicate Predicate: Contains DataId, Negated, and Type FieldToMatch: Contains Data and Type ", + "ChangeToken": "The value returned by the most recent call to GetChangeToken.", + "RuleId": "The RuleId of the Rule that you want to update. RuleId is returned by CreateRule and by ListRules." +} +""" +UpdateRule(args) = waf("UpdateRule", args) diff --git a/src/services/waf_regional.jl b/src/services/waf_regional.jl new file mode 100644 index 0000000000..44eb6404d1 --- /dev/null +++ b/src/services/waf_regional.jl @@ -0,0 +1,1093 @@ +include("../AWSServices.jl") +using .AWSServices: waf_regional + +""" + GetRuleGroup() + +Returns the RuleGroup that is specified by the RuleGroupId that you included in the GetRuleGroup request. To view the rules in a rule group, use ListActivatedRulesInRuleGroup. + +Required Parameters +{ + "RuleGroupId": "The RuleGroupId of the RuleGroup that you want to get. RuleGroupId is returned by CreateRuleGroup and by ListRuleGroups." +} +""" +GetRuleGroup(args) = waf_regional("GetRuleGroup", args) + +""" + CreateIPSet() + +Creates an IPSet, which you use to specify which web requests that you want to allow or block based on the IP addresses that the requests originate from. For example, if you're receiving a lot of requests from one or more individual IP addresses or one or more ranges of IP addresses and you want to block the requests, you can create an IPSet that contains those IP addresses and then configure AWS WAF to block the requests. To create and configure an IPSet, perform the following steps: Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateIPSet request. Submit a CreateIPSet request. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateIPSet request. Submit an UpdateIPSet request to specify the IP addresses that you want AWS WAF to watch for. For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide. + +Required Parameters +{ + "ChangeToken": "The value returned by the most recent call to GetChangeToken.", + "Name": "A friendly name or description of the IPSet. You can't change Name after you create the IPSet." +} +""" +CreateIPSet(args) = waf_regional("CreateIPSet", args) + +""" + GetChangeToken() + +When you want to create, update, or delete AWS WAF objects, get a change token and include the change token in the create, update, or delete request. Change tokens ensure that your application doesn't submit conflicting requests to AWS WAF. Each create, update, or delete request must use a unique change token. If your application submits a GetChangeToken request and then submits a second GetChangeToken request before submitting a create, update, or delete request, the second GetChangeToken request returns the same value as the first GetChangeToken request. When you use a change token in a create, update, or delete request, the status of the change token changes to PENDING, which indicates that AWS WAF is propagating the change to all AWS WAF servers. Use GetChangeTokenStatus to determine the status of your change token. +""" +GetChangeToken() = waf_regional("GetChangeToken") +GetChangeToken(args) = waf_regional("GetChangeToken", args) + +""" + GetSizeConstraintSet() + +Returns the SizeConstraintSet specified by SizeConstraintSetId. + +Required Parameters +{ + "SizeConstraintSetId": "The SizeConstraintSetId of the SizeConstraintSet that you want to get. SizeConstraintSetId is returned by CreateSizeConstraintSet and by ListSizeConstraintSets." +} +""" +GetSizeConstraintSet(args) = waf_regional("GetSizeConstraintSet", args) + +""" + ListGeoMatchSets() + +Returns an array of GeoMatchSetSummary objects in the response. + +Optional Parameters +{ + "NextMarker": "If you specify a value for Limit and you have more GeoMatchSets than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of GeoMatchSet objects. For the second and subsequent ListGeoMatchSets requests, specify the value of NextMarker from the previous response to get information about another batch of GeoMatchSet objects.", + "Limit": "Specifies the number of GeoMatchSet objects that you want AWS WAF to return for this request. If you have more GeoMatchSet objects than the number you specify for Limit, the response includes a NextMarker value that you can use to get another batch of GeoMatchSet objects." +} +""" +ListGeoMatchSets() = waf_regional("ListGeoMatchSets") +ListGeoMatchSets(args) = waf_regional("ListGeoMatchSets", args) + +""" + DeleteByteMatchSet() + +Permanently deletes a ByteMatchSet. You can't delete a ByteMatchSet if it's still used in any Rules or if it still includes any ByteMatchTuple objects (any filters). If you just want to remove a ByteMatchSet from a Rule, use UpdateRule. To permanently delete a ByteMatchSet, perform the following steps: Update the ByteMatchSet to remove filters, if any. For more information, see UpdateByteMatchSet. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a DeleteByteMatchSet request. Submit a DeleteByteMatchSet request. + +Required Parameters +{ + "ByteMatchSetId": "The ByteMatchSetId of the ByteMatchSet that you want to delete. ByteMatchSetId is returned by CreateByteMatchSet and by ListByteMatchSets.", + "ChangeToken": "The value returned by the most recent call to GetChangeToken." +} +""" +DeleteByteMatchSet(args) = waf_regional("DeleteByteMatchSet", args) + +""" + GetChangeTokenStatus() + +Returns the status of a ChangeToken that you got by calling GetChangeToken. ChangeTokenStatus is one of the following values: PROVISIONED: You requested the change token by calling GetChangeToken, but you haven't used it yet in a call to create, update, or delete an AWS WAF object. PENDING: AWS WAF is propagating the create, update, or delete request to all AWS WAF servers. INSYNC: Propagation is complete. + +Required Parameters +{ + "ChangeToken": "The change token for which you want to get the status. This change token was previously returned in the GetChangeToken response." +} +""" +GetChangeTokenStatus(args) = waf_regional("GetChangeTokenStatus", args) + +""" + UpdateSqlInjectionMatchSet() + +Inserts or deletes SqlInjectionMatchTuple objects (filters) in a SqlInjectionMatchSet. For each SqlInjectionMatchTuple object, you specify the following values: Action: Whether to insert the object into or delete the object from the array. To change a SqlInjectionMatchTuple, you delete the existing object and add a new one. FieldToMatch: The part of web requests that you want AWS WAF to inspect and, if you want AWS WAF to inspect a header or custom query parameter, the name of the header or parameter. TextTransformation: Which text transformation, if any, to perform on the web request before inspecting the request for snippets of malicious SQL code. You can only specify a single type of TextTransformation. You use SqlInjectionMatchSet objects to specify which CloudFront requests that you want to allow, block, or count. For example, if you're receiving requests that contain snippets of SQL code in the query string and you want to block the requests, you can create a SqlInjectionMatchSet with the applicable settings, and then configure AWS WAF to block the requests. To create and configure a SqlInjectionMatchSet, perform the following steps: Submit a CreateSqlInjectionMatchSet request. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateIPSet request. Submit an UpdateSqlInjectionMatchSet request to specify the parts of web requests that you want AWS WAF to inspect for snippets of SQL code. For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide. + +Required Parameters +{ + "Updates": "An array of SqlInjectionMatchSetUpdate objects that you want to insert into or delete from a SqlInjectionMatchSet. For more information, see the applicable data types: SqlInjectionMatchSetUpdate: Contains Action and SqlInjectionMatchTuple SqlInjectionMatchTuple: Contains FieldToMatch and TextTransformation FieldToMatch: Contains Data and Type ", + "SqlInjectionMatchSetId": "The SqlInjectionMatchSetId of the SqlInjectionMatchSet that you want to update. SqlInjectionMatchSetId is returned by CreateSqlInjectionMatchSet and by ListSqlInjectionMatchSets.", + "ChangeToken": "The value returned by the most recent call to GetChangeToken." +} +""" +UpdateSqlInjectionMatchSet(args) = waf_regional("UpdateSqlInjectionMatchSet", args) + +""" + CreateRegexMatchSet() + +Creates a RegexMatchSet. You then use UpdateRegexMatchSet to identify the part of a web request that you want AWS WAF to inspect, such as the values of the User-Agent header or the query string. For example, you can create a RegexMatchSet that contains a RegexMatchTuple that looks for any requests with User-Agent headers that match a RegexPatternSet with pattern B[a@]dB[o0]t. You can then configure AWS WAF to reject those requests. To create and configure a RegexMatchSet, perform the following steps: Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateRegexMatchSet request. Submit a CreateRegexMatchSet request. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateRegexMatchSet request. Submit an UpdateRegexMatchSet request to specify the part of the request that you want AWS WAF to inspect (for example, the header or the URI) and the value, using a RegexPatternSet, that you want AWS WAF to watch for. For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide. + +Required Parameters +{ + "ChangeToken": "The value returned by the most recent call to GetChangeToken.", + "Name": "A friendly name or description of the RegexMatchSet. You can't change Name after you create a RegexMatchSet." +} +""" +CreateRegexMatchSet(args) = waf_regional("CreateRegexMatchSet", args) + +""" + CreateByteMatchSet() + +Creates a ByteMatchSet. You then use UpdateByteMatchSet to identify the part of a web request that you want AWS WAF to inspect, such as the values of the User-Agent header or the query string. For example, you can create a ByteMatchSet that matches any requests with User-Agent headers that contain the string BadBot. You can then configure AWS WAF to reject those requests. To create and configure a ByteMatchSet, perform the following steps: Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateByteMatchSet request. Submit a CreateByteMatchSet request. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateByteMatchSet request. Submit an UpdateByteMatchSet request to specify the part of the request that you want AWS WAF to inspect (for example, the header or the URI) and the value that you want AWS WAF to watch for. For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide. + +Required Parameters +{ + "ChangeToken": "The value returned by the most recent call to GetChangeToken.", + "Name": "A friendly name or description of the ByteMatchSet. You can't change Name after you create a ByteMatchSet." +} +""" +CreateByteMatchSet(args) = waf_regional("CreateByteMatchSet", args) + +""" + TagResource() + + + +Required Parameters +{ + "ResourceARN": "", + "Tags": "" +} +""" +TagResource(args) = waf_regional("TagResource", args) + +""" + ListRuleGroups() + +Returns an array of RuleGroup objects. + +Optional Parameters +{ + "NextMarker": "If you specify a value for Limit and you have more RuleGroups than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of RuleGroups. For the second and subsequent ListRuleGroups requests, specify the value of NextMarker from the previous response to get information about another batch of RuleGroups.", + "Limit": "Specifies the number of RuleGroups that you want AWS WAF to return for this request. If you have more RuleGroups than the number that you specify for Limit, the response includes a NextMarker value that you can use to get another batch of RuleGroups." +} +""" +ListRuleGroups() = waf_regional("ListRuleGroups") +ListRuleGroups(args) = waf_regional("ListRuleGroups", args) + +""" + GetPermissionPolicy() + +Returns the IAM policy attached to the RuleGroup. + +Required Parameters +{ + "ResourceArn": "The Amazon Resource Name (ARN) of the RuleGroup for which you want to get the policy." +} +""" +GetPermissionPolicy(args) = waf_regional("GetPermissionPolicy", args) + +""" + CreateRateBasedRule() + +Creates a RateBasedRule. The RateBasedRule contains a RateLimit, which specifies the maximum number of requests that AWS WAF allows from a specified IP address in a five-minute period. The RateBasedRule also contains the IPSet objects, ByteMatchSet objects, and other predicates that identify the requests that you want to count or block if these requests exceed the RateLimit. If you add more than one predicate to a RateBasedRule, a request not only must exceed the RateLimit, but it also must match all the specifications to be counted or blocked. For example, suppose you add the following to a RateBasedRule: An IPSet that matches the IP address 192.0.2.44/32 A ByteMatchSet that matches BadBot in the User-Agent header Further, you specify a RateLimit of 15,000. You then add the RateBasedRule to a WebACL and specify that you want to block requests that meet the conditions in the rule. For a request to be blocked, it must come from the IP address 192.0.2.44 and the User-Agent header in the request must contain the value BadBot. Further, requests that match these two conditions must be received at a rate of more than 15,000 requests every five minutes. If both conditions are met and the rate is exceeded, AWS WAF blocks the requests. If the rate drops below 15,000 for a five-minute period, AWS WAF no longer blocks the requests. As a second example, suppose you want to limit requests to a particular page on your site. To do this, you could add the following to a RateBasedRule: A ByteMatchSet with FieldToMatch of URI A PositionalConstraint of STARTS_WITH A TargetString of login Further, you specify a RateLimit of 15,000. By adding this RateBasedRule to a WebACL, you could limit requests to your login page without affecting the rest of your site. To create and configure a RateBasedRule, perform the following steps: Create and update the predicates that you want to include in the rule. For more information, see CreateByteMatchSet, CreateIPSet, and CreateSqlInjectionMatchSet. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateRule request. Submit a CreateRateBasedRule request. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateRule request. Submit an UpdateRateBasedRule request to specify the predicates that you want to include in the rule. Create and update a WebACL that contains the RateBasedRule. For more information, see CreateWebACL. For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide. + +Required Parameters +{ + "ChangeToken": "The ChangeToken that you used to submit the CreateRateBasedRule request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.", + "RateLimit": "The maximum number of requests, which have an identical value in the field that is specified by RateKey, allowed in a five-minute period. If the number of requests exceeds the RateLimit and the other predicates specified in the rule are also met, AWS WAF triggers the action that is specified for this rule.", + "RateKey": "The field that AWS WAF uses to determine if requests are likely arriving from a single source and thus subject to rate monitoring. The only valid value for RateKey is IP. IP indicates that requests that arrive from the same IP address are subject to the RateLimit that is specified in the RateBasedRule.", + "MetricName": "A friendly name or description for the metrics for this RateBasedRule. The name can contain only alphanumeric characters (A-Z, a-z, 0-9), with maximum length 128 and minimum length one. It can't contain whitespace or metric names reserved for AWS WAF, including \"All\" and \"Default_Action.\" You can't change the name of the metric after you create the RateBasedRule.", + "Name": "A friendly name or description of the RateBasedRule. You can't change the name of a RateBasedRule after you create it." +} + +Optional Parameters +{ + "Tags": "" +} +""" +CreateRateBasedRule(args) = waf_regional("CreateRateBasedRule", args) + +""" + GetWebACLForResource() + +Returns the web ACL for the specified resource, either an application load balancer or Amazon API Gateway stage. + +Required Parameters +{ + "ResourceArn": "The ARN (Amazon Resource Name) of the resource for which to get the web ACL, either an application load balancer or Amazon API Gateway stage. The ARN should be in one of the following formats: For an Application Load Balancer: arn:aws:elasticloadbalancing:region:account-id:loadbalancer/app/load-balancer-name/load-balancer-id For an Amazon API Gateway stage: arn:aws:apigateway:region::/restapis/api-id/stages/stage-name " +} +""" +GetWebACLForResource(args) = waf_regional("GetWebACLForResource", args) + +""" + CreateRuleGroup() + +Creates a RuleGroup. A rule group is a collection of predefined rules that you add to a web ACL. You use UpdateRuleGroup to add rules to the rule group. Rule groups are subject to the following limits: Three rule groups per account. You can request an increase to this limit by contacting customer support. One rule group per web ACL. Ten rules per rule group. For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide. + +Required Parameters +{ + "ChangeToken": "The value returned by the most recent call to GetChangeToken.", + "MetricName": "A friendly name or description for the metrics for this RuleGroup. The name can contain only alphanumeric characters (A-Z, a-z, 0-9), with maximum length 128 and minimum length one. It can't contain whitespace or metric names reserved for AWS WAF, including \"All\" and \"Default_Action.\" You can't change the name of the metric after you create the RuleGroup.", + "Name": "A friendly name or description of the RuleGroup. You can't change Name after you create a RuleGroup." +} + +Optional Parameters +{ + "Tags": "" +} +""" +CreateRuleGroup(args) = waf_regional("CreateRuleGroup", args) + +""" + DeletePermissionPolicy() + +Permanently deletes an IAM policy from the specified RuleGroup. The user making the request must be the owner of the RuleGroup. + +Required Parameters +{ + "ResourceArn": "The Amazon Resource Name (ARN) of the RuleGroup from which you want to delete the policy. The user making the request must be the owner of the RuleGroup." +} +""" +DeletePermissionPolicy(args) = waf_regional("DeletePermissionPolicy", args) + +""" + DeleteSizeConstraintSet() + +Permanently deletes a SizeConstraintSet. You can't delete a SizeConstraintSet if it's still used in any Rules or if it still includes any SizeConstraint objects (any filters). If you just want to remove a SizeConstraintSet from a Rule, use UpdateRule. To permanently delete a SizeConstraintSet, perform the following steps: Update the SizeConstraintSet to remove filters, if any. For more information, see UpdateSizeConstraintSet. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a DeleteSizeConstraintSet request. Submit a DeleteSizeConstraintSet request. + +Required Parameters +{ + "SizeConstraintSetId": "The SizeConstraintSetId of the SizeConstraintSet that you want to delete. SizeConstraintSetId is returned by CreateSizeConstraintSet and by ListSizeConstraintSets.", + "ChangeToken": "The value returned by the most recent call to GetChangeToken." +} +""" +DeleteSizeConstraintSet(args) = waf_regional("DeleteSizeConstraintSet", args) + +""" + GetWebACL() + +Returns the WebACL that is specified by WebACLId. + +Required Parameters +{ + "WebACLId": "The WebACLId of the WebACL that you want to get. WebACLId is returned by CreateWebACL and by ListWebACLs." +} +""" +GetWebACL(args) = waf_regional("GetWebACL", args) + +""" + CreateWebACL() + +Creates a WebACL, which contains the Rules that identify the CloudFront web requests that you want to allow, block, or count. AWS WAF evaluates Rules in order based on the value of Priority for each Rule. You also specify a default action, either ALLOW or BLOCK. If a web request doesn't match any of the Rules in a WebACL, AWS WAF responds to the request with the default action. To create and configure a WebACL, perform the following steps: Create and update the ByteMatchSet objects and other predicates that you want to include in Rules. For more information, see CreateByteMatchSet, UpdateByteMatchSet, CreateIPSet, UpdateIPSet, CreateSqlInjectionMatchSet, and UpdateSqlInjectionMatchSet. Create and update the Rules that you want to include in the WebACL. For more information, see CreateRule and UpdateRule. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateWebACL request. Submit a CreateWebACL request. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateWebACL request. Submit an UpdateWebACL request to specify the Rules that you want to include in the WebACL, to specify the default action, and to associate the WebACL with a CloudFront distribution. For more information about how to use the AWS WAF API, see the AWS WAF Developer Guide. + +Required Parameters +{ + "DefaultAction": "The action that you want AWS WAF to take when a request doesn't match the criteria specified in any of the Rule objects that are associated with the WebACL.", + "ChangeToken": "The value returned by the most recent call to GetChangeToken.", + "MetricName": "A friendly name or description for the metrics for this WebACL.The name can contain only alphanumeric characters (A-Z, a-z, 0-9), with maximum length 128 and minimum length one. It can't contain whitespace or metric names reserved for AWS WAF, including \"All\" and \"Default_Action.\" You can't change MetricName after you create the WebACL.", + "Name": "A friendly name or description of the WebACL. You can't change Name after you create the WebACL." +} + +Optional Parameters +{ + "Tags": "" +} +""" +CreateWebACL(args) = waf_regional("CreateWebACL", args) + +""" + CreateRegexPatternSet() + +Creates a RegexPatternSet. You then use UpdateRegexPatternSet to specify the regular expression (regex) pattern that you want AWS WAF to search for, such as B[a@]dB[o0]t. You can then configure AWS WAF to reject those requests. To create and configure a RegexPatternSet, perform the following steps: Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateRegexPatternSet request. Submit a CreateRegexPatternSet request. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateRegexPatternSet request. Submit an UpdateRegexPatternSet request to specify the string that you want AWS WAF to watch for. For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide. + +Required Parameters +{ + "ChangeToken": "The value returned by the most recent call to GetChangeToken.", + "Name": "A friendly name or description of the RegexPatternSet. You can't change Name after you create a RegexPatternSet." +} +""" +CreateRegexPatternSet(args) = waf_regional("CreateRegexPatternSet", args) + +""" + CreateSizeConstraintSet() + +Creates a SizeConstraintSet. You then use UpdateSizeConstraintSet to identify the part of a web request that you want AWS WAF to check for length, such as the length of the User-Agent header or the length of the query string. For example, you can create a SizeConstraintSet that matches any requests that have a query string that is longer than 100 bytes. You can then configure AWS WAF to reject those requests. To create and configure a SizeConstraintSet, perform the following steps: Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateSizeConstraintSet request. Submit a CreateSizeConstraintSet request. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateSizeConstraintSet request. Submit an UpdateSizeConstraintSet request to specify the part of the request that you want AWS WAF to inspect (for example, the header or the URI) and the value that you want AWS WAF to watch for. For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide. + +Required Parameters +{ + "ChangeToken": "The value returned by the most recent call to GetChangeToken.", + "Name": "A friendly name or description of the SizeConstraintSet. You can't change Name after you create a SizeConstraintSet." +} +""" +CreateSizeConstraintSet(args) = waf_regional("CreateSizeConstraintSet", args) + +""" + UpdateSizeConstraintSet() + +Inserts or deletes SizeConstraint objects (filters) in a SizeConstraintSet. For each SizeConstraint object, you specify the following values: Whether to insert or delete the object from the array. If you want to change a SizeConstraintSetUpdate object, you delete the existing object and add a new one. The part of a web request that you want AWS WAF to evaluate, such as the length of a query string or the length of the User-Agent header. Whether to perform any transformations on the request, such as converting it to lowercase, before checking its length. Note that transformations of the request body are not supported because the AWS resource forwards only the first 8192 bytes of your request to AWS WAF. You can only specify a single type of TextTransformation. A ComparisonOperator used for evaluating the selected part of the request against the specified Size, such as equals, greater than, less than, and so on. The length, in bytes, that you want AWS WAF to watch for in selected part of the request. The length is computed after applying the transformation. For example, you can add a SizeConstraintSetUpdate object that matches web requests in which the length of the User-Agent header is greater than 100 bytes. You can then configure AWS WAF to block those requests. To create and configure a SizeConstraintSet, perform the following steps: Create a SizeConstraintSet. For more information, see CreateSizeConstraintSet. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateSizeConstraintSet request. Submit an UpdateSizeConstraintSet request to specify the part of the request that you want AWS WAF to inspect (for example, the header or the URI) and the value that you want AWS WAF to watch for. For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide. + +Required Parameters +{ + "Updates": "An array of SizeConstraintSetUpdate objects that you want to insert into or delete from a SizeConstraintSet. For more information, see the applicable data types: SizeConstraintSetUpdate: Contains Action and SizeConstraint SizeConstraint: Contains FieldToMatch, TextTransformation, ComparisonOperator, and Size FieldToMatch: Contains Data and Type ", + "SizeConstraintSetId": "The SizeConstraintSetId of the SizeConstraintSet that you want to update. SizeConstraintSetId is returned by CreateSizeConstraintSet and by ListSizeConstraintSets.", + "ChangeToken": "The value returned by the most recent call to GetChangeToken." +} +""" +UpdateSizeConstraintSet(args) = waf_regional("UpdateSizeConstraintSet", args) + +""" + ListIPSets() + +Returns an array of IPSetSummary objects in the response. + +Optional Parameters +{ + "NextMarker": "AWS WAF returns a NextMarker value in the response that allows you to list another group of IPSets. For the second and subsequent ListIPSets requests, specify the value of NextMarker from the previous response to get information about another batch of IPSets.", + "Limit": "Specifies the number of IPSet objects that you want AWS WAF to return for this request. If you have more IPSet objects than the number you specify for Limit, the response includes a NextMarker value that you can use to get another batch of IPSet objects." +} +""" +ListIPSets() = waf_regional("ListIPSets") +ListIPSets(args) = waf_regional("ListIPSets", args) + +""" + UpdateRegexMatchSet() + +Inserts or deletes RegexMatchTuple objects (filters) in a RegexMatchSet. For each RegexMatchSetUpdate object, you specify the following values: Whether to insert or delete the object from the array. If you want to change a RegexMatchSetUpdate object, you delete the existing object and add a new one. The part of a web request that you want AWS WAF to inspectupdate, such as a query string or the value of the User-Agent header. The identifier of the pattern (a regular expression) that you want AWS WAF to look for. For more information, see RegexPatternSet. Whether to perform any conversions on the request, such as converting it to lowercase, before inspecting it for the specified string. For example, you can create a RegexPatternSet that matches any requests with User-Agent headers that contain the string B[a@]dB[o0]t. You can then configure AWS WAF to reject those requests. To create and configure a RegexMatchSet, perform the following steps: Create a RegexMatchSet. For more information, see CreateRegexMatchSet. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateRegexMatchSet request. Submit an UpdateRegexMatchSet request to specify the part of the request that you want AWS WAF to inspect (for example, the header or the URI) and the identifier of the RegexPatternSet that contain the regular expression patters you want AWS WAF to watch for. For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide. + +Required Parameters +{ + "Updates": "An array of RegexMatchSetUpdate objects that you want to insert into or delete from a RegexMatchSet. For more information, see RegexMatchTuple.", + "RegexMatchSetId": "The RegexMatchSetId of the RegexMatchSet that you want to update. RegexMatchSetId is returned by CreateRegexMatchSet and by ListRegexMatchSets.", + "ChangeToken": "The value returned by the most recent call to GetChangeToken." +} +""" +UpdateRegexMatchSet(args) = waf_regional("UpdateRegexMatchSet", args) + +""" + DeleteXssMatchSet() + +Permanently deletes an XssMatchSet. You can't delete an XssMatchSet if it's still used in any Rules or if it still contains any XssMatchTuple objects. If you just want to remove an XssMatchSet from a Rule, use UpdateRule. To permanently delete an XssMatchSet from AWS WAF, perform the following steps: Update the XssMatchSet to remove filters, if any. For more information, see UpdateXssMatchSet. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a DeleteXssMatchSet request. Submit a DeleteXssMatchSet request. + +Required Parameters +{ + "ChangeToken": "The value returned by the most recent call to GetChangeToken.", + "XssMatchSetId": "The XssMatchSetId of the XssMatchSet that you want to delete. XssMatchSetId is returned by CreateXssMatchSet and by ListXssMatchSets." +} +""" +DeleteXssMatchSet(args) = waf_regional("DeleteXssMatchSet", args) + +""" + CreateSqlInjectionMatchSet() + +Creates a SqlInjectionMatchSet, which you use to allow, block, or count requests that contain snippets of SQL code in a specified part of web requests. AWS WAF searches for character sequences that are likely to be malicious strings. To create and configure a SqlInjectionMatchSet, perform the following steps: Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateSqlInjectionMatchSet request. Submit a CreateSqlInjectionMatchSet request. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateSqlInjectionMatchSet request. Submit an UpdateSqlInjectionMatchSet request to specify the parts of web requests in which you want to allow, block, or count malicious SQL code. For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide. + +Required Parameters +{ + "ChangeToken": "The value returned by the most recent call to GetChangeToken.", + "Name": "A friendly name or description for the SqlInjectionMatchSet that you're creating. You can't change Name after you create the SqlInjectionMatchSet." +} +""" +CreateSqlInjectionMatchSet(args) = waf_regional("CreateSqlInjectionMatchSet", args) + +""" + ListSubscribedRuleGroups() + +Returns an array of RuleGroup objects that you are subscribed to. + +Optional Parameters +{ + "NextMarker": "If you specify a value for Limit and you have more ByteMatchSetssubscribed rule groups than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of subscribed rule groups. For the second and subsequent ListSubscribedRuleGroupsRequest requests, specify the value of NextMarker from the previous response to get information about another batch of subscribed rule groups.", + "Limit": "Specifies the number of subscribed rule groups that you want AWS WAF to return for this request. If you have more objects than the number you specify for Limit, the response includes a NextMarker value that you can use to get another batch of objects." +} +""" +ListSubscribedRuleGroups() = waf_regional("ListSubscribedRuleGroups") +ListSubscribedRuleGroups(args) = waf_regional("ListSubscribedRuleGroups", args) + +""" + CreateRule() + +Creates a Rule, which contains the IPSet objects, ByteMatchSet objects, and other predicates that identify the requests that you want to block. If you add more than one predicate to a Rule, a request must match all of the specifications to be allowed or blocked. For example, suppose that you add the following to a Rule: An IPSet that matches the IP address 192.0.2.44/32 A ByteMatchSet that matches BadBot in the User-Agent header You then add the Rule to a WebACL and specify that you want to blocks requests that satisfy the Rule. For a request to be blocked, it must come from the IP address 192.0.2.44 and the User-Agent header in the request must contain the value BadBot. To create and configure a Rule, perform the following steps: Create and update the predicates that you want to include in the Rule. For more information, see CreateByteMatchSet, CreateIPSet, and CreateSqlInjectionMatchSet. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateRule request. Submit a CreateRule request. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateRule request. Submit an UpdateRule request to specify the predicates that you want to include in the Rule. Create and update a WebACL that contains the Rule. For more information, see CreateWebACL. For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide. + +Required Parameters +{ + "ChangeToken": "The value returned by the most recent call to GetChangeToken.", + "MetricName": "A friendly name or description for the metrics for this Rule. The name can contain only alphanumeric characters (A-Z, a-z, 0-9), with maximum length 128 and minimum length one. It can't contain whitespace or metric names reserved for AWS WAF, including \"All\" and \"Default_Action.\" You can't change the name of the metric after you create the Rule.", + "Name": "A friendly name or description of the Rule. You can't change the name of a Rule after you create it." +} + +Optional Parameters +{ + "Tags": "" +} +""" +CreateRule(args) = waf_regional("CreateRule", args) + +""" + GetRateBasedRule() + +Returns the RateBasedRule that is specified by the RuleId that you included in the GetRateBasedRule request. + +Required Parameters +{ + "RuleId": "The RuleId of the RateBasedRule that you want to get. RuleId is returned by CreateRateBasedRule and by ListRateBasedRules." +} +""" +GetRateBasedRule(args) = waf_regional("GetRateBasedRule", args) + +""" + UpdateRegexPatternSet() + +Inserts or deletes RegexPatternString objects in a RegexPatternSet. For each RegexPatternString object, you specify the following values: Whether to insert or delete the RegexPatternString. The regular expression pattern that you want to insert or delete. For more information, see RegexPatternSet. For example, you can create a RegexPatternString such as B[a@]dB[o0]t. AWS WAF will match this RegexPatternString to: BadBot BadB0t B@dBot B@dB0t To create and configure a RegexPatternSet, perform the following steps: Create a RegexPatternSet. For more information, see CreateRegexPatternSet. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateRegexPatternSet request. Submit an UpdateRegexPatternSet request to specify the regular expression pattern that you want AWS WAF to watch for. For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide. + +Required Parameters +{ + "RegexPatternSetId": "The RegexPatternSetId of the RegexPatternSet that you want to update. RegexPatternSetId is returned by CreateRegexPatternSet and by ListRegexPatternSets.", + "Updates": "An array of RegexPatternSetUpdate objects that you want to insert into or delete from a RegexPatternSet.", + "ChangeToken": "The value returned by the most recent call to GetChangeToken." +} +""" +UpdateRegexPatternSet(args) = waf_regional("UpdateRegexPatternSet", args) + +""" + CreateGeoMatchSet() + +Creates an GeoMatchSet, which you use to specify which web requests you want to allow or block based on the country that the requests originate from. For example, if you're receiving a lot of requests from one or more countries and you want to block the requests, you can create an GeoMatchSet that contains those countries and then configure AWS WAF to block the requests. To create and configure a GeoMatchSet, perform the following steps: Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateGeoMatchSet request. Submit a CreateGeoMatchSet request. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateGeoMatchSet request. Submit an UpdateGeoMatchSetSet request to specify the countries that you want AWS WAF to watch for. For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide. + +Required Parameters +{ + "ChangeToken": "The value returned by the most recent call to GetChangeToken.", + "Name": "A friendly name or description of the GeoMatchSet. You can't change Name after you create the GeoMatchSet." +} +""" +CreateGeoMatchSet(args) = waf_regional("CreateGeoMatchSet", args) + +""" + ListRules() + +Returns an array of RuleSummary objects. + +Optional Parameters +{ + "NextMarker": "If you specify a value for Limit and you have more Rules than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of Rules. For the second and subsequent ListRules requests, specify the value of NextMarker from the previous response to get information about another batch of Rules.", + "Limit": "Specifies the number of Rules that you want AWS WAF to return for this request. If you have more Rules than the number that you specify for Limit, the response includes a NextMarker value that you can use to get another batch of Rules." +} +""" +ListRules() = waf_regional("ListRules") +ListRules(args) = waf_regional("ListRules", args) + +""" + UntagResource() + + + +Required Parameters +{ + "ResourceARN": "", + "TagKeys": "" +} +""" +UntagResource(args) = waf_regional("UntagResource", args) + +""" + DeleteRegexPatternSet() + +Permanently deletes a RegexPatternSet. You can't delete a RegexPatternSet if it's still used in any RegexMatchSet or if the RegexPatternSet is not empty. + +Required Parameters +{ + "RegexPatternSetId": "The RegexPatternSetId of the RegexPatternSet that you want to delete. RegexPatternSetId is returned by CreateRegexPatternSet and by ListRegexPatternSets.", + "ChangeToken": "The value returned by the most recent call to GetChangeToken." +} +""" +DeleteRegexPatternSet(args) = waf_regional("DeleteRegexPatternSet", args) + +""" + UpdateRateBasedRule() + +Inserts or deletes Predicate objects in a rule and updates the RateLimit in the rule. Each Predicate object identifies a predicate, such as a ByteMatchSet or an IPSet, that specifies the web requests that you want to block or count. The RateLimit specifies the number of requests every five minutes that triggers the rule. If you add more than one predicate to a RateBasedRule, a request must match all the predicates and exceed the RateLimit to be counted or blocked. For example, suppose you add the following to a RateBasedRule: An IPSet that matches the IP address 192.0.2.44/32 A ByteMatchSet that matches BadBot in the User-Agent header Further, you specify a RateLimit of 15,000. You then add the RateBasedRule to a WebACL and specify that you want to block requests that satisfy the rule. For a request to be blocked, it must come from the IP address 192.0.2.44 and the User-Agent header in the request must contain the value BadBot. Further, requests that match these two conditions much be received at a rate of more than 15,000 every five minutes. If the rate drops below this limit, AWS WAF no longer blocks the requests. As a second example, suppose you want to limit requests to a particular page on your site. To do this, you could add the following to a RateBasedRule: A ByteMatchSet with FieldToMatch of URI A PositionalConstraint of STARTS_WITH A TargetString of login Further, you specify a RateLimit of 15,000. By adding this RateBasedRule to a WebACL, you could limit requests to your login page without affecting the rest of your site. + +Required Parameters +{ + "Updates": "An array of RuleUpdate objects that you want to insert into or delete from a RateBasedRule. ", + "ChangeToken": "The value returned by the most recent call to GetChangeToken.", + "RateLimit": "The maximum number of requests, which have an identical value in the field specified by the RateKey, allowed in a five-minute period. If the number of requests exceeds the RateLimit and the other predicates specified in the rule are also met, AWS WAF triggers the action that is specified for this rule.", + "RuleId": "The RuleId of the RateBasedRule that you want to update. RuleId is returned by CreateRateBasedRule and by ListRateBasedRules." +} +""" +UpdateRateBasedRule(args) = waf_regional("UpdateRateBasedRule", args) + +""" + DeleteRegexMatchSet() + +Permanently deletes a RegexMatchSet. You can't delete a RegexMatchSet if it's still used in any Rules or if it still includes any RegexMatchTuples objects (any filters). If you just want to remove a RegexMatchSet from a Rule, use UpdateRule. To permanently delete a RegexMatchSet, perform the following steps: Update the RegexMatchSet to remove filters, if any. For more information, see UpdateRegexMatchSet. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a DeleteRegexMatchSet request. Submit a DeleteRegexMatchSet request. + +Required Parameters +{ + "RegexMatchSetId": "The RegexMatchSetId of the RegexMatchSet that you want to delete. RegexMatchSetId is returned by CreateRegexMatchSet and by ListRegexMatchSets.", + "ChangeToken": "The value returned by the most recent call to GetChangeToken." +} +""" +DeleteRegexMatchSet(args) = waf_regional("DeleteRegexMatchSet", args) + +""" + GetByteMatchSet() + +Returns the ByteMatchSet specified by ByteMatchSetId. + +Required Parameters +{ + "ByteMatchSetId": "The ByteMatchSetId of the ByteMatchSet that you want to get. ByteMatchSetId is returned by CreateByteMatchSet and by ListByteMatchSets." +} +""" +GetByteMatchSet(args) = waf_regional("GetByteMatchSet", args) + +""" + DeleteRule() + +Permanently deletes a Rule. You can't delete a Rule if it's still used in any WebACL objects or if it still includes any predicates, such as ByteMatchSet objects. If you just want to remove a Rule from a WebACL, use UpdateWebACL. To permanently delete a Rule from AWS WAF, perform the following steps: Update the Rule to remove predicates, if any. For more information, see UpdateRule. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a DeleteRule request. Submit a DeleteRule request. + +Required Parameters +{ + "ChangeToken": "The value returned by the most recent call to GetChangeToken.", + "RuleId": "The RuleId of the Rule that you want to delete. RuleId is returned by CreateRule and by ListRules." +} +""" +DeleteRule(args) = waf_regional("DeleteRule", args) + +""" + GetIPSet() + +Returns the IPSet that is specified by IPSetId. + +Required Parameters +{ + "IPSetId": "The IPSetId of the IPSet that you want to get. IPSetId is returned by CreateIPSet and by ListIPSets." +} +""" +GetIPSet(args) = waf_regional("GetIPSet", args) + +""" + ListRegexPatternSets() + +Returns an array of RegexPatternSetSummary objects. + +Optional Parameters +{ + "NextMarker": "If you specify a value for Limit and you have more RegexPatternSet objects than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of RegexPatternSet objects. For the second and subsequent ListRegexPatternSets requests, specify the value of NextMarker from the previous response to get information about another batch of RegexPatternSet objects.", + "Limit": "Specifies the number of RegexPatternSet objects that you want AWS WAF to return for this request. If you have more RegexPatternSet objects than the number you specify for Limit, the response includes a NextMarker value that you can use to get another batch of RegexPatternSet objects." +} +""" +ListRegexPatternSets() = waf_regional("ListRegexPatternSets") +ListRegexPatternSets(args) = waf_regional("ListRegexPatternSets", args) + +""" + ListResourcesForWebACL() + +Returns an array of resources associated with the specified web ACL. + +Required Parameters +{ + "WebACLId": "The unique identifier (ID) of the web ACL for which to list the associated resources." +} + +Optional Parameters +{ + "ResourceType": "The type of resource to list, either an application load balancer or Amazon API Gateway." +} +""" +ListResourcesForWebACL(args) = waf_regional("ListResourcesForWebACL", args) + +""" + DeleteRuleGroup() + +Permanently deletes a RuleGroup. You can't delete a RuleGroup if it's still used in any WebACL objects or if it still includes any rules. If you just want to remove a RuleGroup from a WebACL, use UpdateWebACL. To permanently delete a RuleGroup from AWS WAF, perform the following steps: Update the RuleGroup to remove rules, if any. For more information, see UpdateRuleGroup. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a DeleteRuleGroup request. Submit a DeleteRuleGroup request. + +Required Parameters +{ + "RuleGroupId": "The RuleGroupId of the RuleGroup that you want to delete. RuleGroupId is returned by CreateRuleGroup and by ListRuleGroups.", + "ChangeToken": "The value returned by the most recent call to GetChangeToken." +} +""" +DeleteRuleGroup(args) = waf_regional("DeleteRuleGroup", args) + +""" + ListTagsForResource() + + + +Required Parameters +{ + "ResourceARN": "" +} + +Optional Parameters +{ + "NextMarker": "", + "Limit": "" +} +""" +ListTagsForResource(args) = waf_regional("ListTagsForResource", args) + +""" + UpdateWebACL() + +Inserts or deletes ActivatedRule objects in a WebACL. Each Rule identifies web requests that you want to allow, block, or count. When you update a WebACL, you specify the following values: A default action for the WebACL, either ALLOW or BLOCK. AWS WAF performs the default action if a request doesn't match the criteria in any of the Rules in a WebACL. The Rules that you want to add or delete. If you want to replace one Rule with another, you delete the existing Rule and add the new one. For each Rule, whether you want AWS WAF to allow requests, block requests, or count requests that match the conditions in the Rule. The order in which you want AWS WAF to evaluate the Rules in a WebACL. If you add more than one Rule to a WebACL, AWS WAF evaluates each request against the Rules in order based on the value of Priority. (The Rule that has the lowest value for Priority is evaluated first.) When a web request matches all the predicates (such as ByteMatchSets and IPSets) in a Rule, AWS WAF immediately takes the corresponding action, allow or block, and doesn't evaluate the request against the remaining Rules in the WebACL, if any. To create and configure a WebACL, perform the following steps: Create and update the predicates that you want to include in Rules. For more information, see CreateByteMatchSet, UpdateByteMatchSet, CreateIPSet, UpdateIPSet, CreateSqlInjectionMatchSet, and UpdateSqlInjectionMatchSet. Create and update the Rules that you want to include in the WebACL. For more information, see CreateRule and UpdateRule. Create a WebACL. See CreateWebACL. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateWebACL request. Submit an UpdateWebACL request to specify the Rules that you want to include in the WebACL, to specify the default action, and to associate the WebACL with a CloudFront distribution. The ActivatedRule can be a rule group. If you specify a rule group as your ActivatedRule, you can exclude specific rules from that rule group. If you already have a rule group associated with a web ACL and want to submit an UpdateWebACL request to exclude certain rules from that rule group, you must first remove the rule group from the web ACL, the re-insert it again, specifying the excluded rules. For details, see ActivatedRule ExcludedRules. Be aware that if you try to add a RATE_BASED rule to a web ACL without setting the rule type when first creating the rule, the UpdateWebACL request will fail because the request tries to add a REGULAR rule (the default rule type) with the specified ID, which does not exist. For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide. + +Required Parameters +{ + "ChangeToken": "The value returned by the most recent call to GetChangeToken.", + "WebACLId": "The WebACLId of the WebACL that you want to update. WebACLId is returned by CreateWebACL and by ListWebACLs." +} + +Optional Parameters +{ + "Updates": "An array of updates to make to the WebACL. An array of WebACLUpdate objects that you want to insert into or delete from a WebACL. For more information, see the applicable data types: WebACLUpdate: Contains Action and ActivatedRule ActivatedRule: Contains Action, OverrideAction, Priority, RuleId, and Type. ActivatedRule|OverrideAction applies only when updating or adding a RuleGroup to a WebACL. In this case, you do not use ActivatedRule|Action. For all other update requests, ActivatedRule|Action is used instead of ActivatedRule|OverrideAction. WafAction: Contains Type ", + "DefaultAction": "A default action for the web ACL, either ALLOW or BLOCK. AWS WAF performs the default action if a request doesn't match the criteria in any of the rules in a web ACL." +} +""" +UpdateWebACL(args) = waf_regional("UpdateWebACL", args) + +""" + GetGeoMatchSet() + +Returns the GeoMatchSet that is specified by GeoMatchSetId. + +Required Parameters +{ + "GeoMatchSetId": "The GeoMatchSetId of the GeoMatchSet that you want to get. GeoMatchSetId is returned by CreateGeoMatchSet and by ListGeoMatchSets." +} +""" +GetGeoMatchSet(args) = waf_regional("GetGeoMatchSet", args) + +""" + CreateXssMatchSet() + +Creates an XssMatchSet, which you use to allow, block, or count requests that contain cross-site scripting attacks in the specified part of web requests. AWS WAF searches for character sequences that are likely to be malicious strings. To create and configure an XssMatchSet, perform the following steps: Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateXssMatchSet request. Submit a CreateXssMatchSet request. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateXssMatchSet request. Submit an UpdateXssMatchSet request to specify the parts of web requests in which you want to allow, block, or count cross-site scripting attacks. For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide. + +Required Parameters +{ + "ChangeToken": "The value returned by the most recent call to GetChangeToken.", + "Name": "A friendly name or description for the XssMatchSet that you're creating. You can't change Name after you create the XssMatchSet." +} +""" +CreateXssMatchSet(args) = waf_regional("CreateXssMatchSet", args) + +""" + GetLoggingConfiguration() + +Returns the LoggingConfiguration for the specified web ACL. + +Required Parameters +{ + "ResourceArn": "The Amazon Resource Name (ARN) of the web ACL for which you want to get the LoggingConfiguration." +} +""" +GetLoggingConfiguration(args) = waf_regional("GetLoggingConfiguration", args) + +""" + DeleteLoggingConfiguration() + +Permanently deletes the LoggingConfiguration from the specified web ACL. + +Required Parameters +{ + "ResourceArn": "The Amazon Resource Name (ARN) of the web ACL from which you want to delete the LoggingConfiguration." +} +""" +DeleteLoggingConfiguration(args) = waf_regional("DeleteLoggingConfiguration", args) + +""" + UpdateIPSet() + +Inserts or deletes IPSetDescriptor objects in an IPSet. For each IPSetDescriptor object, you specify the following values: Whether to insert or delete the object from the array. If you want to change an IPSetDescriptor object, you delete the existing object and add a new one. The IP address version, IPv4 or IPv6. The IP address in CIDR notation, for example, 192.0.2.0/24 (for the range of IP addresses from 192.0.2.0 to 192.0.2.255) or 192.0.2.44/32 (for the individual IP address 192.0.2.44). AWS WAF supports IPv4 address ranges: /8 and any range between /16 through /32. AWS WAF supports IPv6 address ranges: /24, /32, /48, /56, /64, and /128. For more information about CIDR notation, see the Wikipedia entry Classless Inter-Domain Routing. IPv6 addresses can be represented using any of the following formats: 1111:0000:0000:0000:0000:0000:0000:0111/128 1111:0:0:0:0:0:0:0111/128 1111::0111/128 1111::111/128 You use an IPSet to specify which web requests you want to allow or block based on the IP addresses that the requests originated from. For example, if you're receiving a lot of requests from one or a small number of IP addresses and you want to block the requests, you can create an IPSet that specifies those IP addresses, and then configure AWS WAF to block the requests. To create and configure an IPSet, perform the following steps: Submit a CreateIPSet request. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateIPSet request. Submit an UpdateIPSet request to specify the IP addresses that you want AWS WAF to watch for. When you update an IPSet, you specify the IP addresses that you want to add and/or the IP addresses that you want to delete. If you want to change an IP address, you delete the existing IP address and add the new one. You can insert a maximum of 1000 addresses in a single request. For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide. + +Required Parameters +{ + "Updates": "An array of IPSetUpdate objects that you want to insert into or delete from an IPSet. For more information, see the applicable data types: IPSetUpdate: Contains Action and IPSetDescriptor IPSetDescriptor: Contains Type and Value You can insert a maximum of 1000 addresses in a single request.", + "ChangeToken": "The value returned by the most recent call to GetChangeToken.", + "IPSetId": "The IPSetId of the IPSet that you want to update. IPSetId is returned by CreateIPSet and by ListIPSets." +} +""" +UpdateIPSet(args) = waf_regional("UpdateIPSet", args) + +""" + ListRateBasedRules() + +Returns an array of RuleSummary objects. + +Optional Parameters +{ + "NextMarker": "If you specify a value for Limit and you have more Rules than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of Rules. For the second and subsequent ListRateBasedRules requests, specify the value of NextMarker from the previous response to get information about another batch of Rules.", + "Limit": "Specifies the number of Rules that you want AWS WAF to return for this request. If you have more Rules than the number that you specify for Limit, the response includes a NextMarker value that you can use to get another batch of Rules." +} +""" +ListRateBasedRules() = waf_regional("ListRateBasedRules") +ListRateBasedRules(args) = waf_regional("ListRateBasedRules", args) + +""" + DeleteRateBasedRule() + +Permanently deletes a RateBasedRule. You can't delete a rule if it's still used in any WebACL objects or if it still includes any predicates, such as ByteMatchSet objects. If you just want to remove a rule from a WebACL, use UpdateWebACL. To permanently delete a RateBasedRule from AWS WAF, perform the following steps: Update the RateBasedRule to remove predicates, if any. For more information, see UpdateRateBasedRule. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a DeleteRateBasedRule request. Submit a DeleteRateBasedRule request. + +Required Parameters +{ + "ChangeToken": "The value returned by the most recent call to GetChangeToken.", + "RuleId": "The RuleId of the RateBasedRule that you want to delete. RuleId is returned by CreateRateBasedRule and by ListRateBasedRules." +} +""" +DeleteRateBasedRule(args) = waf_regional("DeleteRateBasedRule", args) + +""" + PutPermissionPolicy() + +Attaches a IAM policy to the specified resource. The only supported use for this action is to share a RuleGroup across accounts. The PutPermissionPolicy is subject to the following restrictions: You can attach only one policy with each PutPermissionPolicy request. The policy must include an Effect, Action and Principal. Effect must specify Allow. The Action in the policy must be waf:UpdateWebACL, waf-regional:UpdateWebACL, waf:GetRuleGroup and waf-regional:GetRuleGroup . Any extra or wildcard actions in the policy will be rejected. The policy cannot include a Resource parameter. The ARN in the request must be a valid WAF RuleGroup ARN and the RuleGroup must exist in the same region. The user making the request must be the owner of the RuleGroup. Your policy must be composed using IAM Policy version 2012-10-17. For more information, see IAM Policies. An example of a valid policy parameter is shown in the Examples section below. + +Required Parameters +{ + "ResourceArn": "The Amazon Resource Name (ARN) of the RuleGroup to which you want to attach the policy.", + "Policy": "The policy to attach to the specified RuleGroup." +} +""" +PutPermissionPolicy(args) = waf_regional("PutPermissionPolicy", args) + +""" + PutLoggingConfiguration() + +Associates a LoggingConfiguration with a specified web ACL. You can access information about all traffic that AWS WAF inspects using the following steps: Create an Amazon Kinesis Data Firehose. Create the data firehose with a PUT source and in the region that you are operating. However, if you are capturing logs for Amazon CloudFront, always create the firehose in US East (N. Virginia). Do not create the data firehose using a Kinesis stream as your source. Associate that firehose to your web ACL using a PutLoggingConfiguration request. When you successfully enable logging using a PutLoggingConfiguration request, AWS WAF will create a service linked role with the necessary permissions to write logs to the Amazon Kinesis Data Firehose. For more information, see Logging Web ACL Traffic Information in the AWS WAF Developer Guide. + +Required Parameters +{ + "LoggingConfiguration": "The Amazon Kinesis Data Firehose that contains the inspected traffic information, the redacted fields details, and the Amazon Resource Name (ARN) of the web ACL to monitor. When specifying Type in RedactedFields, you must use one of the following values: URI, QUERY_STRING, HEADER, or METHOD. " +} +""" +PutLoggingConfiguration(args) = waf_regional("PutLoggingConfiguration", args) + +""" + UpdateGeoMatchSet() + +Inserts or deletes GeoMatchConstraint objects in an GeoMatchSet. For each GeoMatchConstraint object, you specify the following values: Whether to insert or delete the object from the array. If you want to change an GeoMatchConstraint object, you delete the existing object and add a new one. The Type. The only valid value for Type is Country. The Value, which is a two character code for the country to add to the GeoMatchConstraint object. Valid codes are listed in GeoMatchConstraint Value. To create and configure an GeoMatchSet, perform the following steps: Submit a CreateGeoMatchSet request. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateGeoMatchSet request. Submit an UpdateGeoMatchSet request to specify the country that you want AWS WAF to watch for. When you update an GeoMatchSet, you specify the country that you want to add and/or the country that you want to delete. If you want to change a country, you delete the existing country and add the new one. For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide. + +Required Parameters +{ + "Updates": "An array of GeoMatchSetUpdate objects that you want to insert into or delete from an GeoMatchSet. For more information, see the applicable data types: GeoMatchSetUpdate: Contains Action and GeoMatchConstraint GeoMatchConstraint: Contains Type and Value You can have only one Type and Value per GeoMatchConstraint. To add multiple countries, include multiple GeoMatchSetUpdate objects in your request. ", + "ChangeToken": "The value returned by the most recent call to GetChangeToken.", + "GeoMatchSetId": "The GeoMatchSetId of the GeoMatchSet that you want to update. GeoMatchSetId is returned by CreateGeoMatchSet and by ListGeoMatchSets." +} +""" +UpdateGeoMatchSet(args) = waf_regional("UpdateGeoMatchSet", args) + +""" + ListRegexMatchSets() + +Returns an array of RegexMatchSetSummary objects. + +Optional Parameters +{ + "NextMarker": "If you specify a value for Limit and you have more RegexMatchSet objects than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of ByteMatchSets. For the second and subsequent ListRegexMatchSets requests, specify the value of NextMarker from the previous response to get information about another batch of RegexMatchSet objects.", + "Limit": "Specifies the number of RegexMatchSet objects that you want AWS WAF to return for this request. If you have more RegexMatchSet objects than the number you specify for Limit, the response includes a NextMarker value that you can use to get another batch of RegexMatchSet objects." +} +""" +ListRegexMatchSets() = waf_regional("ListRegexMatchSets") +ListRegexMatchSets(args) = waf_regional("ListRegexMatchSets", args) + +""" + DeleteGeoMatchSet() + +Permanently deletes a GeoMatchSet. You can't delete a GeoMatchSet if it's still used in any Rules or if it still includes any countries. If you just want to remove a GeoMatchSet from a Rule, use UpdateRule. To permanently delete a GeoMatchSet from AWS WAF, perform the following steps: Update the GeoMatchSet to remove any countries. For more information, see UpdateGeoMatchSet. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a DeleteGeoMatchSet request. Submit a DeleteGeoMatchSet request. + +Required Parameters +{ + "ChangeToken": "The value returned by the most recent call to GetChangeToken.", + "GeoMatchSetId": "The GeoMatchSetID of the GeoMatchSet that you want to delete. GeoMatchSetId is returned by CreateGeoMatchSet and by ListGeoMatchSets." +} +""" +DeleteGeoMatchSet(args) = waf_regional("DeleteGeoMatchSet", args) + +""" + ListSizeConstraintSets() + +Returns an array of SizeConstraintSetSummary objects. + +Optional Parameters +{ + "NextMarker": "If you specify a value for Limit and you have more SizeConstraintSets than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of SizeConstraintSets. For the second and subsequent ListSizeConstraintSets requests, specify the value of NextMarker from the previous response to get information about another batch of SizeConstraintSets.", + "Limit": "Specifies the number of SizeConstraintSet objects that you want AWS WAF to return for this request. If you have more SizeConstraintSets objects than the number you specify for Limit, the response includes a NextMarker value that you can use to get another batch of SizeConstraintSet objects." +} +""" +ListSizeConstraintSets() = waf_regional("ListSizeConstraintSets") +ListSizeConstraintSets(args) = waf_regional("ListSizeConstraintSets", args) + +""" + ListWebACLs() + +Returns an array of WebACLSummary objects in the response. + +Optional Parameters +{ + "NextMarker": "If you specify a value for Limit and you have more WebACL objects than the number that you specify for Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of WebACL objects. For the second and subsequent ListWebACLs requests, specify the value of NextMarker from the previous response to get information about another batch of WebACL objects.", + "Limit": "Specifies the number of WebACL objects that you want AWS WAF to return for this request. If you have more WebACL objects than the number that you specify for Limit, the response includes a NextMarker value that you can use to get another batch of WebACL objects." +} +""" +ListWebACLs() = waf_regional("ListWebACLs") +ListWebACLs(args) = waf_regional("ListWebACLs", args) + +""" + ListLoggingConfigurations() + +Returns an array of LoggingConfiguration objects. + +Optional Parameters +{ + "NextMarker": "If you specify a value for Limit and you have more LoggingConfigurations than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of LoggingConfigurations. For the second and subsequent ListLoggingConfigurations requests, specify the value of NextMarker from the previous response to get information about another batch of ListLoggingConfigurations.", + "Limit": "Specifies the number of LoggingConfigurations that you want AWS WAF to return for this request. If you have more LoggingConfigurations than the number that you specify for Limit, the response includes a NextMarker value that you can use to get another batch of LoggingConfigurations." +} +""" +ListLoggingConfigurations() = waf_regional("ListLoggingConfigurations") +ListLoggingConfigurations(args) = waf_regional("ListLoggingConfigurations", args) + +""" + AssociateWebACL() + +Associates a web ACL with a resource, either an application load balancer or Amazon API Gateway stage. + +Required Parameters +{ + "ResourceArn": "The ARN (Amazon Resource Name) of the resource to be protected, either an application load balancer or Amazon API Gateway stage. The ARN should be in one of the following formats: For an Application Load Balancer: arn:aws:elasticloadbalancing:region:account-id:loadbalancer/app/load-balancer-name/load-balancer-id For an Amazon API Gateway stage: arn:aws:apigateway:region::/restapis/api-id/stages/stage-name ", + "WebACLId": "A unique identifier (ID) for the web ACL. " +} +""" +AssociateWebACL(args) = waf_regional("AssociateWebACL", args) + +""" + DeleteWebACL() + +Permanently deletes a WebACL. You can't delete a WebACL if it still contains any Rules. To delete a WebACL, perform the following steps: Update the WebACL to remove Rules, if any. For more information, see UpdateWebACL. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a DeleteWebACL request. Submit a DeleteWebACL request. + +Required Parameters +{ + "ChangeToken": "The value returned by the most recent call to GetChangeToken.", + "WebACLId": "The WebACLId of the WebACL that you want to delete. WebACLId is returned by CreateWebACL and by ListWebACLs." +} +""" +DeleteWebACL(args) = waf_regional("DeleteWebACL", args) + +""" + DisassociateWebACL() + +Removes a web ACL from the specified resource, either an application load balancer or Amazon API Gateway stage. + +Required Parameters +{ + "ResourceArn": "The ARN (Amazon Resource Name) of the resource from which the web ACL is being removed, either an application load balancer or Amazon API Gateway stage. The ARN should be in one of the following formats: For an Application Load Balancer: arn:aws:elasticloadbalancing:region:account-id:loadbalancer/app/load-balancer-name/load-balancer-id For an Amazon API Gateway stage: arn:aws:apigateway:region::/restapis/api-id/stages/stage-name " +} +""" +DisassociateWebACL(args) = waf_regional("DisassociateWebACL", args) + +""" + GetRateBasedRuleManagedKeys() + +Returns an array of IP addresses currently being blocked by the RateBasedRule that is specified by the RuleId. The maximum number of managed keys that will be blocked is 10,000. If more than 10,000 addresses exceed the rate limit, the 10,000 addresses with the highest rates will be blocked. + +Required Parameters +{ + "RuleId": "The RuleId of the RateBasedRule for which you want to get a list of ManagedKeys. RuleId is returned by CreateRateBasedRule and by ListRateBasedRules." +} + +Optional Parameters +{ + "NextMarker": "A null value and not currently used. Do not include this in your request." +} +""" +GetRateBasedRuleManagedKeys(args) = waf_regional("GetRateBasedRuleManagedKeys", args) + +""" + GetSqlInjectionMatchSet() + +Returns the SqlInjectionMatchSet that is specified by SqlInjectionMatchSetId. + +Required Parameters +{ + "SqlInjectionMatchSetId": "The SqlInjectionMatchSetId of the SqlInjectionMatchSet that you want to get. SqlInjectionMatchSetId is returned by CreateSqlInjectionMatchSet and by ListSqlInjectionMatchSets." +} +""" +GetSqlInjectionMatchSet(args) = waf_regional("GetSqlInjectionMatchSet", args) + +""" + GetSampledRequests() + +Gets detailed information about a specified number of requests--a sample--that AWS WAF randomly selects from among the first 5,000 requests that your AWS resource received during a time range that you choose. You can specify a sample size of up to 500 requests, and you can specify any time range in the previous three hours. GetSampledRequests returns a time range, which is usually the time range that you specified. However, if your resource (such as a CloudFront distribution) received 5,000 requests before the specified time range elapsed, GetSampledRequests returns an updated time range. This new time range indicates the actual period during which AWS WAF selected the requests in the sample. + +Required Parameters +{ + "MaxItems": "The number of requests that you want AWS WAF to return from among the first 5,000 requests that your AWS resource received during the time range. If your resource received fewer requests than the value of MaxItems, GetSampledRequests returns information about all of them. ", + "WebAclId": "The WebACLId of the WebACL for which you want GetSampledRequests to return a sample of requests.", + "TimeWindow": "The start date and time and the end date and time of the range for which you want GetSampledRequests to return a sample of requests. Specify the date and time in the following format: \"2016-09-27T14:50Z\". You can specify any time range in the previous three hours.", + "RuleId": " RuleId is one of three values: The RuleId of the Rule or the RuleGroupId of the RuleGroup for which you want GetSampledRequests to return a sample of requests. Default_Action, which causes GetSampledRequests to return a sample of the requests that didn't match any of the rules in the specified WebACL. " +} +""" +GetSampledRequests(args) = waf_regional("GetSampledRequests", args) + +""" + GetRegexPatternSet() + +Returns the RegexPatternSet specified by RegexPatternSetId. + +Required Parameters +{ + "RegexPatternSetId": "The RegexPatternSetId of the RegexPatternSet that you want to get. RegexPatternSetId is returned by CreateRegexPatternSet and by ListRegexPatternSets." +} +""" +GetRegexPatternSet(args) = waf_regional("GetRegexPatternSet", args) + +""" + ListActivatedRulesInRuleGroup() + +Returns an array of ActivatedRule objects. + +Optional Parameters +{ + "RuleGroupId": "The RuleGroupId of the RuleGroup for which you want to get a list of ActivatedRule objects.", + "NextMarker": "If you specify a value for Limit and you have more ActivatedRules than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of ActivatedRules. For the second and subsequent ListActivatedRulesInRuleGroup requests, specify the value of NextMarker from the previous response to get information about another batch of ActivatedRules.", + "Limit": "Specifies the number of ActivatedRules that you want AWS WAF to return for this request. If you have more ActivatedRules than the number that you specify for Limit, the response includes a NextMarker value that you can use to get another batch of ActivatedRules." +} +""" +ListActivatedRulesInRuleGroup() = waf_regional("ListActivatedRulesInRuleGroup") +ListActivatedRulesInRuleGroup(args) = waf_regional("ListActivatedRulesInRuleGroup", args) + +""" + GetRule() + +Returns the Rule that is specified by the RuleId that you included in the GetRule request. + +Required Parameters +{ + "RuleId": "The RuleId of the Rule that you want to get. RuleId is returned by CreateRule and by ListRules." +} +""" +GetRule(args) = waf_regional("GetRule", args) + +""" + ListXssMatchSets() + +Returns an array of XssMatchSet objects. + +Optional Parameters +{ + "NextMarker": "If you specify a value for Limit and you have more XssMatchSet objects than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of XssMatchSets. For the second and subsequent ListXssMatchSets requests, specify the value of NextMarker from the previous response to get information about another batch of XssMatchSets.", + "Limit": "Specifies the number of XssMatchSet objects that you want AWS WAF to return for this request. If you have more XssMatchSet objects than the number you specify for Limit, the response includes a NextMarker value that you can use to get another batch of Rules." +} +""" +ListXssMatchSets() = waf_regional("ListXssMatchSets") +ListXssMatchSets(args) = waf_regional("ListXssMatchSets", args) + +""" + UpdateXssMatchSet() + +Inserts or deletes XssMatchTuple objects (filters) in an XssMatchSet. For each XssMatchTuple object, you specify the following values: Action: Whether to insert the object into or delete the object from the array. To change an XssMatchTuple, you delete the existing object and add a new one. FieldToMatch: The part of web requests that you want AWS WAF to inspect and, if you want AWS WAF to inspect a header or custom query parameter, the name of the header or parameter. TextTransformation: Which text transformation, if any, to perform on the web request before inspecting the request for cross-site scripting attacks. You can only specify a single type of TextTransformation. You use XssMatchSet objects to specify which CloudFront requests that you want to allow, block, or count. For example, if you're receiving requests that contain cross-site scripting attacks in the request body and you want to block the requests, you can create an XssMatchSet with the applicable settings, and then configure AWS WAF to block the requests. To create and configure an XssMatchSet, perform the following steps: Submit a CreateXssMatchSet request. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateIPSet request. Submit an UpdateXssMatchSet request to specify the parts of web requests that you want AWS WAF to inspect for cross-site scripting attacks. For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide. + +Required Parameters +{ + "Updates": "An array of XssMatchSetUpdate objects that you want to insert into or delete from an XssMatchSet. For more information, see the applicable data types: XssMatchSetUpdate: Contains Action and XssMatchTuple XssMatchTuple: Contains FieldToMatch and TextTransformation FieldToMatch: Contains Data and Type ", + "ChangeToken": "The value returned by the most recent call to GetChangeToken.", + "XssMatchSetId": "The XssMatchSetId of the XssMatchSet that you want to update. XssMatchSetId is returned by CreateXssMatchSet and by ListXssMatchSets." +} +""" +UpdateXssMatchSet(args) = waf_regional("UpdateXssMatchSet", args) + +""" + ListSqlInjectionMatchSets() + +Returns an array of SqlInjectionMatchSet objects. + +Optional Parameters +{ + "NextMarker": "If you specify a value for Limit and you have more SqlInjectionMatchSet objects than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of SqlInjectionMatchSets. For the second and subsequent ListSqlInjectionMatchSets requests, specify the value of NextMarker from the previous response to get information about another batch of SqlInjectionMatchSets.", + "Limit": "Specifies the number of SqlInjectionMatchSet objects that you want AWS WAF to return for this request. If you have more SqlInjectionMatchSet objects than the number you specify for Limit, the response includes a NextMarker value that you can use to get another batch of Rules." +} +""" +ListSqlInjectionMatchSets() = waf_regional("ListSqlInjectionMatchSets") +ListSqlInjectionMatchSets(args) = waf_regional("ListSqlInjectionMatchSets", args) + +""" + GetRegexMatchSet() + +Returns the RegexMatchSet specified by RegexMatchSetId. + +Required Parameters +{ + "RegexMatchSetId": "The RegexMatchSetId of the RegexMatchSet that you want to get. RegexMatchSetId is returned by CreateRegexMatchSet and by ListRegexMatchSets." +} +""" +GetRegexMatchSet(args) = waf_regional("GetRegexMatchSet", args) + +""" + UpdateByteMatchSet() + +Inserts or deletes ByteMatchTuple objects (filters) in a ByteMatchSet. For each ByteMatchTuple object, you specify the following values: Whether to insert or delete the object from the array. If you want to change a ByteMatchSetUpdate object, you delete the existing object and add a new one. The part of a web request that you want AWS WAF to inspect, such as a query string or the value of the User-Agent header. The bytes (typically a string that corresponds with ASCII characters) that you want AWS WAF to look for. For more information, including how you specify the values for the AWS WAF API and the AWS CLI or SDKs, see TargetString in the ByteMatchTuple data type. Where to look, such as at the beginning or the end of a query string. Whether to perform any conversions on the request, such as converting it to lowercase, before inspecting it for the specified string. For example, you can add a ByteMatchSetUpdate object that matches web requests in which User-Agent headers contain the string BadBot. You can then configure AWS WAF to block those requests. To create and configure a ByteMatchSet, perform the following steps: Create a ByteMatchSet. For more information, see CreateByteMatchSet. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateByteMatchSet request. Submit an UpdateByteMatchSet request to specify the part of the request that you want AWS WAF to inspect (for example, the header or the URI) and the value that you want AWS WAF to watch for. For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide. + +Required Parameters +{ + "ByteMatchSetId": "The ByteMatchSetId of the ByteMatchSet that you want to update. ByteMatchSetId is returned by CreateByteMatchSet and by ListByteMatchSets.", + "Updates": "An array of ByteMatchSetUpdate objects that you want to insert into or delete from a ByteMatchSet. For more information, see the applicable data types: ByteMatchSetUpdate: Contains Action and ByteMatchTuple ByteMatchTuple: Contains FieldToMatch, PositionalConstraint, TargetString, and TextTransformation FieldToMatch: Contains Data and Type ", + "ChangeToken": "The value returned by the most recent call to GetChangeToken." +} +""" +UpdateByteMatchSet(args) = waf_regional("UpdateByteMatchSet", args) + +""" + UpdateRuleGroup() + +Inserts or deletes ActivatedRule objects in a RuleGroup. You can only insert REGULAR rules into a rule group. You can have a maximum of ten rules per rule group. To create and configure a RuleGroup, perform the following steps: Create and update the Rules that you want to include in the RuleGroup. See CreateRule. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateRuleGroup request. Submit an UpdateRuleGroup request to add Rules to the RuleGroup. Create and update a WebACL that contains the RuleGroup. See CreateWebACL. If you want to replace one Rule with another, you delete the existing one and add the new one. For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide. + +Required Parameters +{ + "RuleGroupId": "The RuleGroupId of the RuleGroup that you want to update. RuleGroupId is returned by CreateRuleGroup and by ListRuleGroups.", + "Updates": "An array of RuleGroupUpdate objects that you want to insert into or delete from a RuleGroup. You can only insert REGULAR rules into a rule group. ActivatedRule|OverrideAction applies only when updating or adding a RuleGroup to a WebACL. In this case you do not use ActivatedRule|Action. For all other update requests, ActivatedRule|Action is used instead of ActivatedRule|OverrideAction.", + "ChangeToken": "The value returned by the most recent call to GetChangeToken." +} +""" +UpdateRuleGroup(args) = waf_regional("UpdateRuleGroup", args) + +""" + DeleteIPSet() + +Permanently deletes an IPSet. You can't delete an IPSet if it's still used in any Rules or if it still includes any IP addresses. If you just want to remove an IPSet from a Rule, use UpdateRule. To permanently delete an IPSet from AWS WAF, perform the following steps: Update the IPSet to remove IP address ranges, if any. For more information, see UpdateIPSet. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a DeleteIPSet request. Submit a DeleteIPSet request. + +Required Parameters +{ + "ChangeToken": "The value returned by the most recent call to GetChangeToken.", + "IPSetId": "The IPSetId of the IPSet that you want to delete. IPSetId is returned by CreateIPSet and by ListIPSets." +} +""" +DeleteIPSet(args) = waf_regional("DeleteIPSet", args) + +""" + DeleteSqlInjectionMatchSet() + +Permanently deletes a SqlInjectionMatchSet. You can't delete a SqlInjectionMatchSet if it's still used in any Rules or if it still contains any SqlInjectionMatchTuple objects. If you just want to remove a SqlInjectionMatchSet from a Rule, use UpdateRule. To permanently delete a SqlInjectionMatchSet from AWS WAF, perform the following steps: Update the SqlInjectionMatchSet to remove filters, if any. For more information, see UpdateSqlInjectionMatchSet. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a DeleteSqlInjectionMatchSet request. Submit a DeleteSqlInjectionMatchSet request. + +Required Parameters +{ + "SqlInjectionMatchSetId": "The SqlInjectionMatchSetId of the SqlInjectionMatchSet that you want to delete. SqlInjectionMatchSetId is returned by CreateSqlInjectionMatchSet and by ListSqlInjectionMatchSets.", + "ChangeToken": "The value returned by the most recent call to GetChangeToken." +} +""" +DeleteSqlInjectionMatchSet(args) = waf_regional("DeleteSqlInjectionMatchSet", args) + +""" + ListByteMatchSets() + +Returns an array of ByteMatchSetSummary objects. + +Optional Parameters +{ + "NextMarker": "If you specify a value for Limit and you have more ByteMatchSets than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of ByteMatchSets. For the second and subsequent ListByteMatchSets requests, specify the value of NextMarker from the previous response to get information about another batch of ByteMatchSets.", + "Limit": "Specifies the number of ByteMatchSet objects that you want AWS WAF to return for this request. If you have more ByteMatchSets objects than the number you specify for Limit, the response includes a NextMarker value that you can use to get another batch of ByteMatchSet objects." +} +""" +ListByteMatchSets() = waf_regional("ListByteMatchSets") +ListByteMatchSets(args) = waf_regional("ListByteMatchSets", args) + +""" + GetXssMatchSet() + +Returns the XssMatchSet that is specified by XssMatchSetId. + +Required Parameters +{ + "XssMatchSetId": "The XssMatchSetId of the XssMatchSet that you want to get. XssMatchSetId is returned by CreateXssMatchSet and by ListXssMatchSets." +} +""" +GetXssMatchSet(args) = waf_regional("GetXssMatchSet", args) + +""" + UpdateRule() + +Inserts or deletes Predicate objects in a Rule. Each Predicate object identifies a predicate, such as a ByteMatchSet or an IPSet, that specifies the web requests that you want to allow, block, or count. If you add more than one predicate to a Rule, a request must match all of the specifications to be allowed, blocked, or counted. For example, suppose that you add the following to a Rule: A ByteMatchSet that matches the value BadBot in the User-Agent header An IPSet that matches the IP address 192.0.2.44 You then add the Rule to a WebACL and specify that you want to block requests that satisfy the Rule. For a request to be blocked, the User-Agent header in the request must contain the value BadBot and the request must originate from the IP address 192.0.2.44. To create and configure a Rule, perform the following steps: Create and update the predicates that you want to include in the Rule. Create the Rule. See CreateRule. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateRule request. Submit an UpdateRule request to add predicates to the Rule. Create and update a WebACL that contains the Rule. See CreateWebACL. If you want to replace one ByteMatchSet or IPSet with another, you delete the existing one and add the new one. For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide. + +Required Parameters +{ + "Updates": "An array of RuleUpdate objects that you want to insert into or delete from a Rule. For more information, see the applicable data types: RuleUpdate: Contains Action and Predicate Predicate: Contains DataId, Negated, and Type FieldToMatch: Contains Data and Type ", + "ChangeToken": "The value returned by the most recent call to GetChangeToken.", + "RuleId": "The RuleId of the Rule that you want to update. RuleId is returned by CreateRule and by ListRules." +} +""" +UpdateRule(args) = waf_regional("UpdateRule", args) diff --git a/src/services/wafv2.jl b/src/services/wafv2.jl new file mode 100644 index 0000000000..3b17c90755 --- /dev/null +++ b/src/services/wafv2.jl @@ -0,0 +1,587 @@ +include("../AWSServices.jl") +using .AWSServices: wafv2 + +""" + ListTagsForResource() + + This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide. Retrieves the TagInfoForResource for the specified resource. + +Required Parameters +{ + "ResourceARN": "The Amazon Resource Name (ARN) of the resource." +} + +Optional Parameters +{ + "NextMarker": "When you request a list of objects with a Limit setting, if the number of objects that are still available for retrieval exceeds the limit, AWS WAF returns a NextMarker value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.", + "Limit": "The maximum number of objects that you want AWS WAF to return for this request. If more objects are available, in the response, AWS WAF provides a NextMarker value that you can use in a subsequent call to get the next batch of objects." +} +""" +ListTagsForResource(args) = wafv2("ListTagsForResource", args) + +""" + DeleteWebACL() + + This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide. Deletes the specified WebACL. + +Required Parameters +{ + "Id": "The unique identifier for the Web ACL. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.", + "LockToken": "A token used for optimistic locking. AWS WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. AWS WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation. ", + "Scope": "Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage. To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: CLI - Specify the region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1. API and SDKs - For all calls, use the Region endpoint us-east-1. ", + "Name": "A friendly name of the Web ACL. You cannot change the name of a Web ACL after you create it." +} +""" +DeleteWebACL(args) = wafv2("DeleteWebACL", args) + +""" + GetRuleGroup() + + This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide. Retrieves the specified RuleGroup. + +Required Parameters +{ + "Id": "A unique identifier for the rule group. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.", + "Scope": "Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage. To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: CLI - Specify the region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1. API and SDKs - For all calls, use the Region endpoint us-east-1. ", + "Name": "A friendly name of the rule group. You cannot change the name of a rule group after you create it." +} +""" +GetRuleGroup(args) = wafv2("GetRuleGroup", args) + +""" + CreateIPSet() + + This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide. Creates an IPSet, which you use to identify web requests that originate from specific IP addresses or ranges of IP addresses. For example, if you're receiving a lot of requests from a ranges of IP addresses, you can configure AWS WAF to block them using an IPSet that lists those IP addresses. + +Required Parameters +{ + "Addresses": "Contains an array of strings that specify one or more IP addresses or blocks of IP addresses in Classless Inter-Domain Routing (CIDR) notation. AWS WAF supports all address ranges for IP versions IPv4 and IPv6. Examples: To configure AWS WAF to allow, block, or count requests that originated from the IP address 192.0.2.44, specify 192.0.2.44/32. To configure AWS WAF to allow, block, or count requests that originated from IP addresses from 192.0.2.0 to 192.0.2.255, specify 192.0.2.0/24. To configure AWS WAF to allow, block, or count requests that originated from the IP address 1111:0000:0000:0000:0000:0000:0000:0111, specify 1111:0000:0000:0000:0000:0000:0000:0111/128. To configure AWS WAF to allow, block, or count requests that originated from IP addresses 1111:0000:0000:0000:0000:0000:0000:0000 to 1111:0000:0000:0000:ffff:ffff:ffff:ffff, specify 1111:0000:0000:0000:0000:0000:0000:0000/64. For more information about CIDR notation, see the Wikipedia entry Classless Inter-Domain Routing.", + "Scope": "Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage. To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: CLI - Specify the region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1. API and SDKs - For all calls, use the Region endpoint us-east-1. ", + "IPAddressVersion": "Specify IPV4 or IPV6. ", + "Name": "A friendly name of the IP set. You cannot change the name of an IPSet after you create it." +} + +Optional Parameters +{ + "Description": "A friendly description of the IP set. You cannot change the description of an IP set after you create it.", + "Tags": "An array of key:value pairs to associate with the resource." +} +""" +CreateIPSet(args) = wafv2("CreateIPSet", args) + +""" + UpdateWebACL() + + This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide. Updates the specified WebACL. A Web ACL defines a collection of rules to use to inspect and control web requests. Each rule has an action defined (allow, block, or count) for requests that match the statement of the rule. In the Web ACL, you assign a default action to take (allow, block) for any request that does not match any of the rules. The rules in a Web ACL can be a combination of the types Rule, RuleGroup, and managed rule group. You can associate a Web ACL with one or more AWS resources to protect. The resources can be Amazon CloudFront, an Amazon API Gateway API, or an Application Load Balancer. + +Required Parameters +{ + "Id": "The unique identifier for the Web ACL. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.", + "DefaultAction": "The action to perform if none of the Rules contained in the WebACL match. ", + "VisibilityConfig": "Defines and enables Amazon CloudWatch metrics and web request sample collection. ", + "LockToken": "A token used for optimistic locking. AWS WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. AWS WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation. ", + "Scope": "Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage. To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: CLI - Specify the region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1. API and SDKs - For all calls, use the Region endpoint us-east-1. ", + "Name": "A friendly name of the Web ACL. You cannot change the name of a Web ACL after you create it." +} + +Optional Parameters +{ + "Description": "A friendly description of the Web ACL. You cannot change the description of a Web ACL after you create it.", + "Rules": "The Rule statements used to identify the web requests that you want to allow, block, or count. Each rule includes one top-level statement that AWS WAF uses to identify matching web requests, and parameters that govern how AWS WAF handles them. " +} +""" +UpdateWebACL(args) = wafv2("UpdateWebACL", args) + +""" + CreateWebACL() + + This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide. Creates a WebACL per the specifications provided. A Web ACL defines a collection of rules to use to inspect and control web requests. Each rule has an action defined (allow, block, or count) for requests that match the statement of the rule. In the Web ACL, you assign a default action to take (allow, block) for any request that does not match any of the rules. The rules in a Web ACL can be a combination of the types Rule, RuleGroup, and managed rule group. You can associate a Web ACL with one or more AWS resources to protect. The resources can be Amazon CloudFront, an Amazon API Gateway API, or an Application Load Balancer. + +Required Parameters +{ + "DefaultAction": "The action to perform if none of the Rules contained in the WebACL match. ", + "VisibilityConfig": "Defines and enables Amazon CloudWatch metrics and web request sample collection. ", + "Scope": "Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage. To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: CLI - Specify the region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1. API and SDKs - For all calls, use the Region endpoint us-east-1. ", + "Name": "A friendly name of the Web ACL. You cannot change the name of a Web ACL after you create it." +} + +Optional Parameters +{ + "Description": "A friendly description of the Web ACL. You cannot change the description of a Web ACL after you create it.", + "Rules": "The Rule statements used to identify the web requests that you want to allow, block, or count. Each rule includes one top-level statement that AWS WAF uses to identify matching web requests, and parameters that govern how AWS WAF handles them. ", + "Tags": "An array of key:value pairs to associate with the resource." +} +""" +CreateWebACL(args) = wafv2("CreateWebACL", args) + +""" + DisassociateWebACL() + + This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide. Disassociates a Web ACL from a regional application resource. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage. For AWS CloudFront, you can disassociate the Web ACL by providing an empty web ACL ARN in the CloudFront API call UpdateDistribution. For information, see UpdateDistribution. + +Required Parameters +{ + "ResourceArn": "The Amazon Resource Name (ARN) of the resource to disassociate from the web ACL. The ARN must be in one of the following formats: For an Application Load Balancer: arn:aws:elasticloadbalancing:region:account-id:loadbalancer/app/load-balancer-name/load-balancer-id For an Amazon API Gateway stage: arn:aws:apigateway:region::/restapis/api-id/stages/stage-name " +} +""" +DisassociateWebACL(args) = wafv2("DisassociateWebACL", args) + +""" + GetSampledRequests() + + This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide. Gets detailed information about a specified number of requests--a sample--that AWS WAF randomly selects from among the first 5,000 requests that your AWS resource received during a time range that you choose. You can specify a sample size of up to 500 requests, and you can specify any time range in the previous three hours. GetSampledRequests returns a time range, which is usually the time range that you specified. However, if your resource (such as a CloudFront distribution) received 5,000 requests before the specified time range elapsed, GetSampledRequests returns an updated time range. This new time range indicates the actual period during which AWS WAF selected the requests in the sample. + +Required Parameters +{ + "RuleMetricName": "The metric name assigned to the Rule or RuleGroup for which you want a sample of requests.", + "MaxItems": "The number of requests that you want AWS WAF to return from among the first 5,000 requests that your AWS resource received during the time range. If your resource received fewer requests than the value of MaxItems, GetSampledRequests returns information about all of them. ", + "WebAclArn": "The Amazon resource name (ARN) of the WebACL for which you want a sample of requests.", + "Scope": "Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage. To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: CLI - Specify the region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1. API and SDKs - For all calls, use the Region endpoint us-east-1. ", + "TimeWindow": "The start date and time and the end date and time of the range for which you want GetSampledRequests to return a sample of requests. Specify the date and time in the following format: \"2016-09-27T14:50Z\". You can specify any time range in the previous three hours." +} +""" +GetSampledRequests(args) = wafv2("GetSampledRequests", args) + +""" + CreateRegexPatternSet() + + This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide. Creates a RegexPatternSet, which you reference in a RegexPatternSetReferenceStatement, to have AWS WAF inspect a web request component for the specified patterns. + +Required Parameters +{ + "Scope": "Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage. To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: CLI - Specify the region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1. API and SDKs - For all calls, use the Region endpoint us-east-1. ", + "RegularExpressionList": "Array of regular expression strings. ", + "Name": "A friendly name of the set. You cannot change the name after you create the set." +} + +Optional Parameters +{ + "Description": "A friendly description of the set. You cannot change the description of a set after you create it.", + "Tags": "An array of key:value pairs to associate with the resource." +} +""" +CreateRegexPatternSet(args) = wafv2("CreateRegexPatternSet", args) + +""" + GetLoggingConfiguration() + + This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide. Returns the LoggingConfiguration for the specified web ACL. + +Required Parameters +{ + "ResourceArn": "The Amazon Resource Name (ARN) of the web ACL for which you want to get the LoggingConfiguration." +} +""" +GetLoggingConfiguration(args) = wafv2("GetLoggingConfiguration", args) + +""" + DeleteLoggingConfiguration() + + This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide. Deletes the LoggingConfiguration from the specified web ACL. + +Required Parameters +{ + "ResourceArn": "The Amazon Resource Name (ARN) of the web ACL from which you want to delete the LoggingConfiguration." +} +""" +DeleteLoggingConfiguration(args) = wafv2("DeleteLoggingConfiguration", args) + +""" + GetRegexPatternSet() + + This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide. Retrieves the specified RegexPatternSet. + +Required Parameters +{ + "Id": "A unique identifier for the set. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.", + "Scope": "Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage. To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: CLI - Specify the region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1. API and SDKs - For all calls, use the Region endpoint us-east-1. ", + "Name": "A friendly name of the set. You cannot change the name after you create the set." +} +""" +GetRegexPatternSet(args) = wafv2("GetRegexPatternSet", args) + +""" + ListIPSets() + + This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide. Retrieves an array of IPSetSummary objects for the IP sets that you manage. + +Required Parameters +{ + "Scope": "Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage. To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: CLI - Specify the region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1. API and SDKs - For all calls, use the Region endpoint us-east-1. " +} + +Optional Parameters +{ + "NextMarker": "When you request a list of objects with a Limit setting, if the number of objects that are still available for retrieval exceeds the limit, AWS WAF returns a NextMarker value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.", + "Limit": "The maximum number of objects that you want AWS WAF to return for this request. If more objects are available, in the response, AWS WAF provides a NextMarker value that you can use in a subsequent call to get the next batch of objects." +} +""" +ListIPSets(args) = wafv2("ListIPSets", args) + +""" + DescribeManagedRuleGroup() + + This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide. Provides high-level information for a managed rule group, including descriptions of the rules. + +Required Parameters +{ + "VendorName": "The name of the managed rule group vendor. You use this, along with the rule group name, to identify the rule group.", + "Scope": "Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage. To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: CLI - Specify the region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1. API and SDKs - For all calls, use the Region endpoint us-east-1. ", + "Name": "The name of the managed rule group. You use this, along with the vendor name, to identify the rule group." +} +""" +DescribeManagedRuleGroup(args) = wafv2("DescribeManagedRuleGroup", args) + +""" + UpdateIPSet() + + This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide. Updates the specified IPSet. + +Required Parameters +{ + "Id": "A unique identifier for the set. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.", + "Addresses": "Contains an array of strings that specify one or more IP addresses or blocks of IP addresses in Classless Inter-Domain Routing (CIDR) notation. AWS WAF supports all address ranges for IP versions IPv4 and IPv6. Examples: To configure AWS WAF to allow, block, or count requests that originated from the IP address 192.0.2.44, specify 192.0.2.44/32. To configure AWS WAF to allow, block, or count requests that originated from IP addresses from 192.0.2.0 to 192.0.2.255, specify 192.0.2.0/24. To configure AWS WAF to allow, block, or count requests that originated from the IP address 1111:0000:0000:0000:0000:0000:0000:0111, specify 1111:0000:0000:0000:0000:0000:0000:0111/128. To configure AWS WAF to allow, block, or count requests that originated from IP addresses 1111:0000:0000:0000:0000:0000:0000:0000 to 1111:0000:0000:0000:ffff:ffff:ffff:ffff, specify 1111:0000:0000:0000:0000:0000:0000:0000/64. For more information about CIDR notation, see the Wikipedia entry Classless Inter-Domain Routing.", + "LockToken": "A token used for optimistic locking. AWS WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. AWS WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation. ", + "Scope": "Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage. To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: CLI - Specify the region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1. API and SDKs - For all calls, use the Region endpoint us-east-1. ", + "Name": "A friendly name of the IP set. You cannot change the name of an IPSet after you create it." +} + +Optional Parameters +{ + "Description": "A friendly description of the IP set. You cannot change the description of an IP set after you create it." +} +""" +UpdateIPSet(args) = wafv2("UpdateIPSet", args) + +""" + ListAvailableManagedRuleGroups() + + This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide. Retrieves an array of managed rule groups that are available for you to use. This list includes all AWS Managed Rules rule groups and the AWS Marketplace managed rule groups that you're subscribed to. + +Required Parameters +{ + "Scope": "Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage. To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: CLI - Specify the region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1. API and SDKs - For all calls, use the Region endpoint us-east-1. " +} + +Optional Parameters +{ + "NextMarker": "When you request a list of objects with a Limit setting, if the number of objects that are still available for retrieval exceeds the limit, AWS WAF returns a NextMarker value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.", + "Limit": "The maximum number of objects that you want AWS WAF to return for this request. If more objects are available, in the response, AWS WAF provides a NextMarker value that you can use in a subsequent call to get the next batch of objects." +} +""" +ListAvailableManagedRuleGroups(args) = wafv2("ListAvailableManagedRuleGroups", args) + +""" + CheckCapacity() + + This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide. Returns the web ACL capacity unit (WCU) requirements for a specified scope and set of rules. You can use this to check the capacity requirements for the rules you want to use in a RuleGroup or WebACL. AWS WAF uses WCUs to calculate and control the operating resources that are used to run your rules, rule groups, and web ACLs. AWS WAF calculates capacity differently for each rule type, to reflect the relative cost of each rule. Simple rules that cost little to run use fewer WCUs than more complex rules that use more processing power. Rule group capacity is fixed at creation, which helps users plan their web ACL WCU usage when they use a rule group. The WCU limit for web ACLs is 1,500. + +Required Parameters +{ + "Rules": "An array of Rule that you're configuring to use in a rule group or web ACL. ", + "Scope": "Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage. To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: CLI - Specify the region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1. API and SDKs - For all calls, use the Region endpoint us-east-1. " +} +""" +CheckCapacity(args) = wafv2("CheckCapacity", args) + +""" + GetRateBasedStatementManagedKeys() + + This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide. Retrieves the keys that are currently blocked by a rate-based rule. The maximum number of managed keys that can be blocked for a single rate-based rule is 10,000. If more than 10,000 addresses exceed the rate limit, those with the highest rates are blocked. + +Required Parameters +{ + "RuleName": "The name of the rate-based rule to get the keys for.", + "Scope": "Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage. To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: CLI - Specify the region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1. API and SDKs - For all calls, use the Region endpoint us-east-1. ", + "WebACLId": "The unique identifier for the Web ACL. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.", + "WebACLName": "A friendly name of the Web ACL. You cannot change the name of a Web ACL after you create it." +} +""" +GetRateBasedStatementManagedKeys(args) = wafv2("GetRateBasedStatementManagedKeys", args) + +""" + UpdateRegexPatternSet() + + This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide. Updates the specified RegexPatternSet. + +Required Parameters +{ + "Id": "A unique identifier for the set. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.", + "LockToken": "A token used for optimistic locking. AWS WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. AWS WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation. ", + "Scope": "Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage. To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: CLI - Specify the region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1. API and SDKs - For all calls, use the Region endpoint us-east-1. ", + "RegularExpressionList": "", + "Name": "A friendly name of the set. You cannot change the name after you create the set." +} + +Optional Parameters +{ + "Description": "A friendly description of the set. You cannot change the description of a set after you create it." +} +""" +UpdateRegexPatternSet(args) = wafv2("UpdateRegexPatternSet", args) + +""" + TagResource() + + This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide. Associates tags with the specified AWS resource. Tags are key:value pairs that you can associate with AWS resources. For example, the tag key might be "customer" and the tag value might be "companyA." You can specify one or more tags to add to each container. You can add up to 50 tags to each AWS resource. + +Required Parameters +{ + "ResourceARN": "The Amazon Resource Name (ARN) of the resource.", + "Tags": "An array of key:value pairs to associate with the resource." +} +""" +TagResource(args) = wafv2("TagResource", args) + +""" + UntagResource() + + This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide. Disassociates tags from an AWS resource. Tags are key:value pairs that you can associate with AWS resources. For example, the tag key might be "customer" and the tag value might be "companyA." You can specify one or more tags to add to each container. You can add up to 50 tags to each AWS resource. + +Required Parameters +{ + "ResourceARN": "The Amazon Resource Name (ARN) of the resource.", + "TagKeys": "An array of keys identifying the tags to disassociate from the resource." +} +""" +UntagResource(args) = wafv2("UntagResource", args) + +""" + PutLoggingConfiguration() + + This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide. Enables the specified LoggingConfiguration, to start logging from a web ACL, according to the configuration provided. You can access information about all traffic that AWS WAF inspects using the following steps: Create an Amazon Kinesis Data Firehose. Create the data firehose with a PUT source and in the region that you are operating. If you are capturing logs for Amazon CloudFront, always create the firehose in US East (N. Virginia). Do not create the data firehose using a Kinesis stream as your source. Associate that firehose to your web ACL using a PutLoggingConfiguration request. When you successfully enable logging using a PutLoggingConfiguration request, AWS WAF will create a service linked role with the necessary permissions to write logs to the Amazon Kinesis Data Firehose. For more information, see Logging Web ACL Traffic Information in the AWS WAF Developer Guide. + +Required Parameters +{ + "LoggingConfiguration": "" +} +""" +PutLoggingConfiguration(args) = wafv2("PutLoggingConfiguration", args) + +""" + DeleteRegexPatternSet() + + This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide. Deletes the specified RegexPatternSet. + +Required Parameters +{ + "Id": "A unique identifier for the set. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.", + "LockToken": "A token used for optimistic locking. AWS WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. AWS WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation. ", + "Scope": "Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage. To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: CLI - Specify the region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1. API and SDKs - For all calls, use the Region endpoint us-east-1. ", + "Name": "A friendly name of the set. You cannot change the name after you create the set." +} +""" +DeleteRegexPatternSet(args) = wafv2("DeleteRegexPatternSet", args) + +""" + ListRuleGroups() + + This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide. Retrieves an array of RuleGroupSummary objects for the rule groups that you manage. + +Required Parameters +{ + "Scope": "Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage. To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: CLI - Specify the region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1. API and SDKs - For all calls, use the Region endpoint us-east-1. " +} + +Optional Parameters +{ + "NextMarker": "When you request a list of objects with a Limit setting, if the number of objects that are still available for retrieval exceeds the limit, AWS WAF returns a NextMarker value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.", + "Limit": "The maximum number of objects that you want AWS WAF to return for this request. If more objects are available, in the response, AWS WAF provides a NextMarker value that you can use in a subsequent call to get the next batch of objects." +} +""" +ListRuleGroups(args) = wafv2("ListRuleGroups", args) + +""" + GetWebACLForResource() + + This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide. Retrieves the WebACL for the specified resource. + +Required Parameters +{ + "ResourceArn": "The ARN (Amazon Resource Name) of the resource." +} +""" +GetWebACLForResource(args) = wafv2("GetWebACLForResource", args) + +""" + UpdateRuleGroup() + + This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide. Updates the specified RuleGroup. A rule group defines a collection of rules to inspect and control web requests that you can use in a WebACL. When you create a rule group, you define an immutable capacity limit. If you update a rule group, you must stay within the capacity. This allows others to reuse the rule group with confidence in its capacity requirements. + +Required Parameters +{ + "Id": "A unique identifier for the rule group. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.", + "LockToken": "A token used for optimistic locking. AWS WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. AWS WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation. ", + "VisibilityConfig": "Defines and enables Amazon CloudWatch metrics and web request sample collection. ", + "Scope": "Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage. To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: CLI - Specify the region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1. API and SDKs - For all calls, use the Region endpoint us-east-1. ", + "Name": "A friendly name of the rule group. You cannot change the name of a rule group after you create it." +} + +Optional Parameters +{ + "Description": "A friendly description of the rule group. You cannot change the description of a rule group after you create it.", + "Rules": "The Rule statements used to identify the web requests that you want to allow, block, or count. Each rule includes one top-level statement that AWS WAF uses to identify matching web requests, and parameters that govern how AWS WAF handles them. " +} +""" +UpdateRuleGroup(args) = wafv2("UpdateRuleGroup", args) + +""" + GetIPSet() + + This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide. Retrieves the specified IPSet. + +Required Parameters +{ + "Id": "A unique identifier for the set. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.", + "Scope": "Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage. To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: CLI - Specify the region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1. API and SDKs - For all calls, use the Region endpoint us-east-1. ", + "Name": "A friendly name of the IP set. You cannot change the name of an IPSet after you create it." +} +""" +GetIPSet(args) = wafv2("GetIPSet", args) + +""" + CreateRuleGroup() + + This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide. Creates a RuleGroup per the specifications provided. A rule group defines a collection of rules to inspect and control web requests that you can use in a WebACL. When you create a rule group, you define an immutable capacity limit. If you update a rule group, you must stay within the capacity. This allows others to reuse the rule group with confidence in its capacity requirements. + +Required Parameters +{ + "VisibilityConfig": "Defines and enables Amazon CloudWatch metrics and web request sample collection. ", + "Scope": "Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage. To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: CLI - Specify the region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1. API and SDKs - For all calls, use the Region endpoint us-east-1. ", + "Name": "A friendly name of the rule group. You cannot change the name of a rule group after you create it.", + "Capacity": "The web ACL capacity units (WCUs) required for this rule group. When you create your own rule group, you define this, and you cannot change it after creation. When you add or modify the rules in a rule group, AWS WAF enforces this limit. You can check the capacity for a set of rules using CheckCapacity. AWS WAF uses WCUs to calculate and control the operating resources that are used to run your rules, rule groups, and web ACLs. AWS WAF calculates capacity differently for each rule type, to reflect the relative cost of each rule. Simple rules that cost little to run use fewer WCUs than more complex rules that use more processing power. Rule group capacity is fixed at creation, which helps users plan their web ACL WCU usage when they use a rule group. The WCU limit for web ACLs is 1,500. " +} + +Optional Parameters +{ + "Description": "A friendly description of the rule group. You cannot change the description of a rule group after you create it.", + "Rules": "The Rule statements used to identify the web requests that you want to allow, block, or count. Each rule includes one top-level statement that AWS WAF uses to identify matching web requests, and parameters that govern how AWS WAF handles them. ", + "Tags": "An array of key:value pairs to associate with the resource." +} +""" +CreateRuleGroup(args) = wafv2("CreateRuleGroup", args) + +""" + DeleteIPSet() + + This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide. Deletes the specified IPSet. + +Required Parameters +{ + "Id": "A unique identifier for the set. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.", + "LockToken": "A token used for optimistic locking. AWS WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. AWS WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation. ", + "Scope": "Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage. To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: CLI - Specify the region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1. API and SDKs - For all calls, use the Region endpoint us-east-1. ", + "Name": "A friendly name of the IP set. You cannot change the name of an IPSet after you create it." +} +""" +DeleteIPSet(args) = wafv2("DeleteIPSet", args) + +""" + ListRegexPatternSets() + + This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide. Retrieves an array of RegexPatternSetSummary objects for the regex pattern sets that you manage. + +Required Parameters +{ + "Scope": "Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage. To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: CLI - Specify the region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1. API and SDKs - For all calls, use the Region endpoint us-east-1. " +} + +Optional Parameters +{ + "NextMarker": "When you request a list of objects with a Limit setting, if the number of objects that are still available for retrieval exceeds the limit, AWS WAF returns a NextMarker value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.", + "Limit": "The maximum number of objects that you want AWS WAF to return for this request. If more objects are available, in the response, AWS WAF provides a NextMarker value that you can use in a subsequent call to get the next batch of objects." +} +""" +ListRegexPatternSets(args) = wafv2("ListRegexPatternSets", args) + +""" + ListResourcesForWebACL() + + This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide. Retrieves an array of the Amazon Resource Names (ARNs) for the regional resources that are associated with the specified web ACL. If you want the list of AWS CloudFront resources, use the AWS CloudFront call ListDistributionsByWebACLId. + +Required Parameters +{ + "WebACLArn": "The Amazon Resource Name (ARN) of the Web ACL." +} + +Optional Parameters +{ + "ResourceType": "Used for web ACLs that are scoped for regional applications. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage. " +} +""" +ListResourcesForWebACL(args) = wafv2("ListResourcesForWebACL", args) + +""" + DeleteRuleGroup() + + This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide. Deletes the specified RuleGroup. + +Required Parameters +{ + "Id": "A unique identifier for the rule group. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.", + "LockToken": "A token used for optimistic locking. AWS WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. AWS WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation. ", + "Scope": "Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage. To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: CLI - Specify the region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1. API and SDKs - For all calls, use the Region endpoint us-east-1. ", + "Name": "A friendly name of the rule group. You cannot change the name of a rule group after you create it." +} +""" +DeleteRuleGroup(args) = wafv2("DeleteRuleGroup", args) + +""" + ListWebACLs() + + This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide. Retrieves an array of WebACLSummary objects for the web ACLs that you manage. + +Required Parameters +{ + "Scope": "Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage. To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: CLI - Specify the region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1. API and SDKs - For all calls, use the Region endpoint us-east-1. " +} + +Optional Parameters +{ + "NextMarker": "When you request a list of objects with a Limit setting, if the number of objects that are still available for retrieval exceeds the limit, AWS WAF returns a NextMarker value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.", + "Limit": "The maximum number of objects that you want AWS WAF to return for this request. If more objects are available, in the response, AWS WAF provides a NextMarker value that you can use in a subsequent call to get the next batch of objects." +} +""" +ListWebACLs(args) = wafv2("ListWebACLs", args) + +""" + ListLoggingConfigurations() + + This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide. Retrieves an array of your LoggingConfiguration objects. + +Optional Parameters +{ + "NextMarker": "When you request a list of objects with a Limit setting, if the number of objects that are still available for retrieval exceeds the limit, AWS WAF returns a NextMarker value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.", + "Scope": "Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage. To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: CLI - Specify the region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1. API and SDKs - For all calls, use the Region endpoint us-east-1. ", + "Limit": "The maximum number of objects that you want AWS WAF to return for this request. If more objects are available, in the response, AWS WAF provides a NextMarker value that you can use in a subsequent call to get the next batch of objects." +} +""" +ListLoggingConfigurations() = wafv2("ListLoggingConfigurations") +ListLoggingConfigurations(args) = wafv2("ListLoggingConfigurations", args) + +""" + GetWebACL() + + This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide. Retrieves the specified WebACL. + +Required Parameters +{ + "Id": "The unique identifier for the Web ACL. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.", + "Scope": "Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage. To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: CLI - Specify the region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1. API and SDKs - For all calls, use the Region endpoint us-east-1. ", + "Name": "A friendly name of the Web ACL. You cannot change the name of a Web ACL after you create it." +} +""" +GetWebACL(args) = wafv2("GetWebACL", args) + +""" + AssociateWebACL() + + This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide. Associates a Web ACL with a regional application resource, to protect the resource. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage. For AWS CloudFront, you can associate the Web ACL by providing the ARN of the WebACL to the CloudFront API call UpdateDistribution. For information, see UpdateDistribution. + +Required Parameters +{ + "ResourceArn": "The Amazon Resource Name (ARN) of the resource to associate with the web ACL. The ARN must be in one of the following formats: For an Application Load Balancer: arn:aws:elasticloadbalancing:region:account-id:loadbalancer/app/load-balancer-name/load-balancer-id For an Amazon API Gateway stage: arn:aws:apigateway:region::/restapis/api-id/stages/stage-name ", + "WebACLArn": "The Amazon Resource Name (ARN) of the Web ACL that you want to associate with the resource." +} +""" +AssociateWebACL(args) = wafv2("AssociateWebACL", args) diff --git a/src/services/workdocs.jl b/src/services/workdocs.jl new file mode 100644 index 0000000000..cd979f828b --- /dev/null +++ b/src/services/workdocs.jl @@ -0,0 +1,780 @@ +include("../AWSServices.jl") +using .AWSServices: workdocs + +""" + CreateNotificationSubscription() + +Configure Amazon WorkDocs to use Amazon SNS notifications. The endpoint receives a confirmation message, and must confirm the subscription. For more information, see Subscribe to Notifications in the Amazon WorkDocs Developer Guide. + +Required Parameters +{ + "Endpoint": "The endpoint to receive the notifications. If the protocol is HTTPS, the endpoint is a URL that begins with https.", + "SubscriptionType": "The notification type.", + "OrganizationId": "The ID of the organization.", + "Protocol": "The protocol to use. The supported value is https, which delivers JSON-encoded messages using HTTPS POST." +} +""" +CreateNotificationSubscription(args) = workdocs("POST", "/api/v1/organizations/{OrganizationId}/subscriptions", args) + +""" + DeleteCustomMetadata() + +Deletes custom metadata from the specified resource. + +Required Parameters +{ + "ResourceId": "The ID of the resource, either a document or folder." +} + +Optional Parameters +{ + "AuthenticationToken": "Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.", + "DeleteAll": "Flag to indicate removal of all custom metadata properties from the specified resource.", + "VersionId": "The ID of the version, if the custom metadata is being deleted from a document version.", + "Keys": "List of properties to remove." +} +""" +DeleteCustomMetadata(args) = workdocs("DELETE", "/api/v1/resources/{ResourceId}/customMetadata", args) + +""" + DescribeNotificationSubscriptions() + +Lists the specified notification subscriptions. + +Required Parameters +{ + "OrganizationId": "The ID of the organization." +} + +Optional Parameters +{ + "Marker": "The marker for the next set of results. (You received this marker from a previous call.)", + "Limit": "The maximum number of items to return with this call." +} +""" +DescribeNotificationSubscriptions(args) = workdocs("GET", "/api/v1/organizations/{OrganizationId}/subscriptions", args) + +""" + GetResources() + +Retrieves a collection of resources, including folders and documents. The only CollectionType supported is SHARED_WITH_ME. + +Optional Parameters +{ + "AuthenticationToken": "The Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.", + "Marker": "The marker for the next set of results. This marker was received from a previous call.", + "CollectionType": "The collection type.", + "UserId": "The user ID for the resource collection. This is a required field for accessing the API operation using IAM credentials.", + "Limit": "The maximum number of resources to return." +} +""" +GetResources() = workdocs("GET", "/api/v1/resources") +GetResources(args) = workdocs("GET", "/api/v1/resources", args) + +""" + DeleteNotificationSubscription() + +Deletes the specified subscription from the specified organization. + +Required Parameters +{ + "SubscriptionId": "The ID of the subscription.", + "OrganizationId": "The ID of the organization." +} +""" +DeleteNotificationSubscription(args) = workdocs("DELETE", "/api/v1/organizations/{OrganizationId}/subscriptions/{SubscriptionId}", args) + +""" + CreateUser() + +Creates a user in a Simple AD or Microsoft AD directory. The status of a newly created user is "ACTIVE". New users can access Amazon WorkDocs. + +Required Parameters +{ + "Password": "The password of the user.", + "GivenName": "The given name of the user.", + "Surname": "The surname of the user.", + "Username": "The login name of the user." +} + +Optional Parameters +{ + "AuthenticationToken": "Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.", + "StorageRule": "The amount of storage for the user.", + "TimeZoneId": "The time zone ID of the user.", + "OrganizationId": "The ID of the organization.", + "EmailAddress": "The email address of the user." +} +""" +CreateUser(args) = workdocs("POST", "/api/v1/users", args) + +""" + DescribeRootFolders() + +Describes the current user's special folders; the RootFolder and the RecycleBin. RootFolder is the root of user's files and folders and RecycleBin is the root of recycled items. This is not a valid action for SigV4 (administrative API) clients. This action requires an authentication token. To get an authentication token, register an application with Amazon WorkDocs. For more information, see Authentication and Access Control for User Applications in the Amazon WorkDocs Developer Guide. + +Required Parameters +{ + "AuthenticationToken": "Amazon WorkDocs authentication token." +} + +Optional Parameters +{ + "Marker": "The marker for the next set of results. (You received this marker from a previous call.)", + "Limit": "The maximum number of items to return." +} +""" +DescribeRootFolders(args) = workdocs("GET", "/api/v1/me/root", args) + +""" + InitiateDocumentVersionUpload() + +Creates a new document object and version object. The client specifies the parent folder ID and name of the document to upload. The ID is optionally specified when creating a new version of an existing document. This is the first step to upload a document. Next, upload the document to the URL returned from the call, and then call UpdateDocumentVersion. To cancel the document upload, call AbortDocumentVersionUpload. + +Required Parameters +{ + "ParentFolderId": "The ID of the parent folder." +} + +Optional Parameters +{ + "AuthenticationToken": "Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.", + "Id": "The ID of the document.", + "ContentModifiedTimestamp": "The timestamp when the content of the document was modified.", + "DocumentSizeInBytes": "The size of the document, in bytes.", + "ContentType": "The content type of the document.", + "Name": "The name of the document.", + "ContentCreatedTimestamp": "The timestamp when the content of the document was originally created." +} +""" +InitiateDocumentVersionUpload(args) = workdocs("POST", "/api/v1/documents", args) + +""" + GetDocumentPath() + +Retrieves the path information (the hierarchy from the root folder) for the requested document. By default, Amazon WorkDocs returns a maximum of 100 levels upwards from the requested document and only includes the IDs of the parent folders in the path. You can limit the maximum number of levels. You can also request the names of the parent folders. + +Required Parameters +{ + "DocumentId": "The ID of the document." +} + +Optional Parameters +{ + "AuthenticationToken": "Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.", + "Marker": "This value is not supported.", + "Fields": "A comma-separated list of values. Specify NAME to include the names of the parent folders.", + "Limit": "The maximum number of levels in the hierarchy to return." +} +""" +GetDocumentPath(args) = workdocs("GET", "/api/v1/documents/{DocumentId}/path", args) + +""" + DeleteFolderContents() + +Deletes the contents of the specified folder. + +Required Parameters +{ + "FolderId": "The ID of the folder." +} + +Optional Parameters +{ + "AuthenticationToken": "Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API." +} +""" +DeleteFolderContents(args) = workdocs("DELETE", "/api/v1/folders/{FolderId}/contents", args) + +""" + UpdateUser() + +Updates the specified attributes of the specified user, and grants or revokes administrative privileges to the Amazon WorkDocs site. + +Required Parameters +{ + "UserId": "The ID of the user." +} + +Optional Parameters +{ + "AuthenticationToken": "Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.", + "GrantPoweruserPrivileges": "Boolean value to determine whether the user is granted Poweruser privileges.", + "GivenName": "The given name of the user.", + "Surname": "The surname of the user.", + "StorageRule": "The amount of storage for the user.", + "Type": "The type of the user.", + "Locale": "The locale of the user.", + "TimeZoneId": "The time zone ID of the user." +} +""" +UpdateUser(args) = workdocs("PATCH", "/api/v1/users/{UserId}", args) + +""" + CreateFolder() + +Creates a folder with the specified name and parent folder. + +Required Parameters +{ + "ParentFolderId": "The ID of the parent folder." +} + +Optional Parameters +{ + "AuthenticationToken": "Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.", + "Name": "The name of the new folder." +} +""" +CreateFolder(args) = workdocs("POST", "/api/v1/folders", args) + +""" + DeleteLabels() + +Deletes the specified list of labels from a resource. + +Required Parameters +{ + "ResourceId": "The ID of the resource." +} + +Optional Parameters +{ + "AuthenticationToken": "Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.", + "DeleteAll": "Flag to request removal of all labels from the specified resource.", + "Labels": "List of labels to delete from the resource." +} +""" +DeleteLabels(args) = workdocs("DELETE", "/api/v1/resources/{ResourceId}/labels", args) + +""" + CreateComment() + +Adds a new comment to the specified document version. + +Required Parameters +{ + "VersionId": "The ID of the document version.", + "DocumentId": "The ID of the document.", + "Text": "The text of the comment." +} + +Optional Parameters +{ + "AuthenticationToken": "Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.", + "Visibility": "The visibility of the comment. Options are either PRIVATE, where the comment is visible only to the comment author and document owner and co-owners, or PUBLIC, where the comment is visible to document owners, co-owners, and contributors.", + "ThreadId": "The ID of the root comment in the thread.", + "NotifyCollaborators": "Set this parameter to TRUE to send an email out to the document collaborators after the comment is created.", + "ParentId": "The ID of the parent comment." +} +""" +CreateComment(args) = workdocs("POST", "/api/v1/documents/{DocumentId}/versions/{VersionId}/comment", args) + +""" + CreateLabels() + +Adds the specified list of labels to the given resource (a document or folder) + +Required Parameters +{ + "ResourceId": "The ID of the resource.", + "Labels": "List of labels to add to the resource." +} + +Optional Parameters +{ + "AuthenticationToken": "Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API." +} +""" +CreateLabels(args) = workdocs("PUT", "/api/v1/resources/{ResourceId}/labels", args) + +""" + RemoveAllResourcePermissions() + +Removes all the permissions from the specified resource. + +Required Parameters +{ + "ResourceId": "The ID of the resource." +} + +Optional Parameters +{ + "AuthenticationToken": "Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API." +} +""" +RemoveAllResourcePermissions(args) = workdocs("DELETE", "/api/v1/resources/{ResourceId}/permissions", args) + +""" + GetDocument() + +Retrieves details of a document. + +Required Parameters +{ + "DocumentId": "The ID of the document." +} + +Optional Parameters +{ + "AuthenticationToken": "Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.", + "IncludeCustomMetadata": "Set this to TRUE to include custom metadata in the response." +} +""" +GetDocument(args) = workdocs("GET", "/api/v1/documents/{DocumentId}", args) + +""" + DeleteUser() + +Deletes the specified user from a Simple AD or Microsoft AD directory. + +Required Parameters +{ + "UserId": "The ID of the user." +} + +Optional Parameters +{ + "AuthenticationToken": "Amazon WorkDocs authentication token. Do not set this field when using administrative API actions, as in accessing the API using AWS credentials." +} +""" +DeleteUser(args) = workdocs("DELETE", "/api/v1/users/{UserId}", args) + +""" + GetDocumentVersion() + +Retrieves version metadata for the specified document. + +Required Parameters +{ + "VersionId": "The version ID of the document.", + "DocumentId": "The ID of the document." +} + +Optional Parameters +{ + "AuthenticationToken": "Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.", + "Fields": "A comma-separated list of values. Specify \"SOURCE\" to include a URL for the source document.", + "IncludeCustomMetadata": "Set this to TRUE to include custom metadata in the response." +} +""" +GetDocumentVersion(args) = workdocs("GET", "/api/v1/documents/{DocumentId}/versions/{VersionId}", args) + +""" + UpdateFolder() + +Updates the specified attributes of the specified folder. The user must have access to both the folder and its parent folder, if applicable. + +Required Parameters +{ + "FolderId": "The ID of the folder." +} + +Optional Parameters +{ + "AuthenticationToken": "Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.", + "ParentFolderId": "The ID of the parent folder.", + "ResourceState": "The resource state of the folder. Only ACTIVE and RECYCLED are accepted values from the API.", + "Name": "The name of the folder." +} +""" +UpdateFolder(args) = workdocs("PATCH", "/api/v1/folders/{FolderId}", args) + +""" + GetFolder() + +Retrieves the metadata of the specified folder. + +Required Parameters +{ + "FolderId": "The ID of the folder." +} + +Optional Parameters +{ + "AuthenticationToken": "Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.", + "IncludeCustomMetadata": "Set to TRUE to include custom metadata in the response." +} +""" +GetFolder(args) = workdocs("GET", "/api/v1/folders/{FolderId}", args) + +""" + DescribeGroups() + +Describes the groups specified by the query. Groups are defined by the underlying Active Directory. + +Required Parameters +{ + "SearchQuery": "A query to describe groups by group name." +} + +Optional Parameters +{ + "AuthenticationToken": "Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.", + "Marker": "The marker for the next set of results. (You received this marker from a previous call.)", + "OrganizationId": "The ID of the organization.", + "Limit": "The maximum number of items to return with this call." +} +""" +DescribeGroups(args) = workdocs("GET", "/api/v1/groups", args) + +""" + UpdateDocumentVersion() + +Changes the status of the document version to ACTIVE. Amazon WorkDocs also sets its document container to ACTIVE. This is the last step in a document upload, after the client uploads the document to an S3-presigned URL returned by InitiateDocumentVersionUpload. + +Required Parameters +{ + "VersionId": "The version ID of the document.", + "DocumentId": "The ID of the document." +} + +Optional Parameters +{ + "AuthenticationToken": "Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.", + "VersionStatus": "The status of the version." +} +""" +UpdateDocumentVersion(args) = workdocs("PATCH", "/api/v1/documents/{DocumentId}/versions/{VersionId}", args) + +""" + GetFolderPath() + +Retrieves the path information (the hierarchy from the root folder) for the specified folder. By default, Amazon WorkDocs returns a maximum of 100 levels upwards from the requested folder and only includes the IDs of the parent folders in the path. You can limit the maximum number of levels. You can also request the parent folder names. + +Required Parameters +{ + "FolderId": "The ID of the folder." +} + +Optional Parameters +{ + "AuthenticationToken": "Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.", + "Marker": "This value is not supported.", + "Fields": "A comma-separated list of values. Specify \"NAME\" to include the names of the parent folders.", + "Limit": "The maximum number of levels in the hierarchy to return." +} +""" +GetFolderPath(args) = workdocs("GET", "/api/v1/folders/{FolderId}/path", args) + +""" + AbortDocumentVersionUpload() + +Aborts the upload of the specified document version that was previously initiated by InitiateDocumentVersionUpload. The client should make this call only when it no longer intends to upload the document version, or fails to do so. + +Required Parameters +{ + "VersionId": "The ID of the version.", + "DocumentId": "The ID of the document." +} + +Optional Parameters +{ + "AuthenticationToken": "Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API." +} +""" +AbortDocumentVersionUpload(args) = workdocs("DELETE", "/api/v1/documents/{DocumentId}/versions/{VersionId}", args) + +""" + DescribeComments() + +List all the comments for the specified document version. + +Required Parameters +{ + "VersionId": "The ID of the document version.", + "DocumentId": "The ID of the document." +} + +Optional Parameters +{ + "AuthenticationToken": "Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.", + "Marker": "The marker for the next set of results. This marker was received from a previous call.", + "Limit": "The maximum number of items to return." +} +""" +DescribeComments(args) = workdocs("GET", "/api/v1/documents/{DocumentId}/versions/{VersionId}/comments", args) + +""" + AddResourcePermissions() + +Creates a set of permissions for the specified folder or document. The resource permissions are overwritten if the principals already have different permissions. + +Required Parameters +{ + "Principals": "The users, groups, or organization being granted permission.", + "ResourceId": "The ID of the resource." +} + +Optional Parameters +{ + "AuthenticationToken": "Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.", + "NotificationOptions": "The notification options." +} +""" +AddResourcePermissions(args) = workdocs("POST", "/api/v1/resources/{ResourceId}/permissions", args) + +""" + DescribeActivities() + +Describes the user activities in a specified time period. + +Optional Parameters +{ + "AuthenticationToken": "Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.", + "StartTime": "The timestamp that determines the starting time of the activities. The response includes the activities performed after the specified timestamp.", + "Marker": "The marker for the next set of results.", + "EndTime": "The timestamp that determines the end time of the activities. The response includes the activities performed before the specified timestamp.", + "IncludeIndirectActivities": "Includes indirect activities. An indirect activity results from a direct activity performed on a parent resource. For example, sharing a parent folder (the direct activity) shares all of the subfolders and documents within the parent folder (the indirect activity).", + "UserId": "The ID of the user who performed the action. The response includes activities pertaining to this user. This is an optional parameter and is only applicable for administrative API (SigV4) requests.", + "ResourceId": "The document or folder ID for which to describe activity types.", + "OrganizationId": "The ID of the organization. This is a mandatory parameter when using administrative API (SigV4) requests.", + "ActivityTypes": "Specifies which activity types to include in the response. If this field is left empty, all activity types are returned.", + "Limit": "The maximum number of items to return." +} +""" +DescribeActivities() = workdocs("GET", "/api/v1/activities") +DescribeActivities(args) = workdocs("GET", "/api/v1/activities", args) + +""" + DeleteFolder() + +Permanently deletes the specified folder and its contents. + +Required Parameters +{ + "FolderId": "The ID of the folder." +} + +Optional Parameters +{ + "AuthenticationToken": "Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API." +} +""" +DeleteFolder(args) = workdocs("DELETE", "/api/v1/folders/{FolderId}", args) + +""" + DescribeFolderContents() + +Describes the contents of the specified folder, including its documents and subfolders. By default, Amazon WorkDocs returns the first 100 active document and folder metadata items. If there are more results, the response includes a marker that you can use to request the next set of results. You can also request initialized documents. + +Required Parameters +{ + "FolderId": "The ID of the folder." +} + +Optional Parameters +{ + "AuthenticationToken": "Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.", + "Sort": "The sorting criteria.", + "Marker": "The marker for the next set of results. This marker was received from a previous call.", + "Order": "The order for the contents of the folder.", + "Type": "The type of items.", + "Include": "The contents to include. Specify \"INITIALIZED\" to include initialized documents.", + "Limit": "The maximum number of items to return with this call." +} +""" +DescribeFolderContents(args) = workdocs("GET", "/api/v1/folders/{FolderId}/contents", args) + +""" + UpdateDocument() + +Updates the specified attributes of a document. The user must have access to both the document and its parent folder, if applicable. + +Required Parameters +{ + "DocumentId": "The ID of the document." +} + +Optional Parameters +{ + "AuthenticationToken": "Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.", + "ParentFolderId": "The ID of the parent folder.", + "ResourceState": "The resource state of the document. Only ACTIVE and RECYCLED are supported.", + "Name": "The name of the document." +} +""" +UpdateDocument(args) = workdocs("PATCH", "/api/v1/documents/{DocumentId}", args) + +""" + ActivateUser() + +Activates the specified user. Only active users can access Amazon WorkDocs. + +Required Parameters +{ + "UserId": "The ID of the user." +} + +Optional Parameters +{ + "AuthenticationToken": "Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API." +} +""" +ActivateUser(args) = workdocs("POST", "/api/v1/users/{UserId}/activation", args) + +""" + DeleteDocument() + +Permanently deletes the specified document and its associated metadata. + +Required Parameters +{ + "DocumentId": "The ID of the document." +} + +Optional Parameters +{ + "AuthenticationToken": "Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API." +} +""" +DeleteDocument(args) = workdocs("DELETE", "/api/v1/documents/{DocumentId}", args) + +""" + GetCurrentUser() + +Retrieves details of the current user for whom the authentication token was generated. This is not a valid action for SigV4 (administrative API) clients. This action requires an authentication token. To get an authentication token, register an application with Amazon WorkDocs. For more information, see Authentication and Access Control for User Applications in the Amazon WorkDocs Developer Guide. + +Required Parameters +{ + "AuthenticationToken": "Amazon WorkDocs authentication token." +} +""" +GetCurrentUser(args) = workdocs("GET", "/api/v1/me", args) + +""" + CreateCustomMetadata() + +Adds one or more custom properties to the specified resource (a folder, document, or version). + +Required Parameters +{ + "CustomMetadata": "Custom metadata in the form of name-value pairs.", + "ResourceId": "The ID of the resource." +} + +Optional Parameters +{ + "AuthenticationToken": "Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.", + "VersionId": "The ID of the version, if the custom metadata is being added to a document version." +} +""" +CreateCustomMetadata(args) = workdocs("PUT", "/api/v1/resources/{ResourceId}/customMetadata", args) + +""" + DeactivateUser() + +Deactivates the specified user, which revokes the user's access to Amazon WorkDocs. + +Required Parameters +{ + "UserId": "The ID of the user." +} + +Optional Parameters +{ + "AuthenticationToken": "Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API." +} +""" +DeactivateUser(args) = workdocs("DELETE", "/api/v1/users/{UserId}/activation", args) + +""" + DeleteComment() + +Deletes the specified comment from the document version. + +Required Parameters +{ + "CommentId": "The ID of the comment.", + "VersionId": "The ID of the document version.", + "DocumentId": "The ID of the document." +} + +Optional Parameters +{ + "AuthenticationToken": "Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API." +} +""" +DeleteComment(args) = workdocs("DELETE", "/api/v1/documents/{DocumentId}/versions/{VersionId}/comment/{CommentId}", args) + +""" + DescribeResourcePermissions() + +Describes the permissions of a specified resource. + +Required Parameters +{ + "ResourceId": "The ID of the resource." +} + +Optional Parameters +{ + "AuthenticationToken": "Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.", + "Marker": "The marker for the next set of results. (You received this marker from a previous call)", + "PrincipalId": "The ID of the principal to filter permissions by.", + "Limit": "The maximum number of items to return with this call." +} +""" +DescribeResourcePermissions(args) = workdocs("GET", "/api/v1/resources/{ResourceId}/permissions", args) + +""" + DescribeUsers() + +Describes the specified users. You can describe all users or filter the results (for example, by status or organization). By default, Amazon WorkDocs returns the first 24 active or pending users. If there are more results, the response includes a marker that you can use to request the next set of results. + +Optional Parameters +{ + "AuthenticationToken": "Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.", + "Query": "A query to filter users by user name.", + "Sort": "The sorting criteria.", + "Marker": "The marker for the next set of results. (You received this marker from a previous call.)", + "Order": "The order for the results.", + "Include": "The state of the users. Specify \"ALL\" to include inactive users.", + "Fields": "A comma-separated list of values. Specify \"STORAGE_METADATA\" to include the user storage quota and utilization information.", + "UserIds": "The IDs of the users.", + "OrganizationId": "The ID of the organization.", + "Limit": "The maximum number of items to return." +} +""" +DescribeUsers() = workdocs("GET", "/api/v1/users") +DescribeUsers(args) = workdocs("GET", "/api/v1/users", args) + +""" + RemoveResourcePermission() + +Removes the permission for the specified principal from the specified resource. + +Required Parameters +{ + "PrincipalId": "The principal ID of the resource.", + "ResourceId": "The ID of the resource." +} + +Optional Parameters +{ + "AuthenticationToken": "Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.", + "PrincipalType": "The principal type of the resource." +} +""" +RemoveResourcePermission(args) = workdocs("DELETE", "/api/v1/resources/{ResourceId}/permissions/{PrincipalId}", args) + +""" + DescribeDocumentVersions() + +Retrieves the document versions for the specified document. By default, only active versions are returned. + +Required Parameters +{ + "DocumentId": "The ID of the document." +} + +Optional Parameters +{ + "AuthenticationToken": "Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.", + "Marker": "The marker for the next set of results. (You received this marker from a previous call.)", + "Include": "A comma-separated list of values. Specify \"INITIALIZED\" to include incomplete versions.", + "Fields": "Specify \"SOURCE\" to include initialized versions and a URL for the source document.", + "Limit": "The maximum number of versions to return with this call." +} +""" +DescribeDocumentVersions(args) = workdocs("GET", "/api/v1/documents/{DocumentId}/versions", args) diff --git a/src/services/worklink.jl b/src/services/worklink.jl new file mode 100644 index 0000000000..8e82fb9b72 --- /dev/null +++ b/src/services/worklink.jl @@ -0,0 +1,453 @@ +include("../AWSServices.jl") +using .AWSServices: worklink + +""" + DisassociateDomain() + +Disassociates a domain from Amazon WorkLink. End users lose the ability to access the domain with Amazon WorkLink. + +Required Parameters +{ + "DomainName": "The name of the domain.", + "FleetArn": "The ARN of the fleet." +} +""" +DisassociateDomain(args) = worklink("POST", "/disassociateDomain", args) + +""" + AssociateWebsiteCertificateAuthority() + +Imports the root certificate of a certificate authority (CA) used to obtain TLS certificates used by associated websites within the company network. + +Required Parameters +{ + "FleetArn": "The ARN of the fleet.", + "Certificate": "The root certificate of the CA." +} + +Optional Parameters +{ + "DisplayName": "The certificate name to display." +} +""" +AssociateWebsiteCertificateAuthority(args) = worklink("POST", "/associateWebsiteCertificateAuthority", args) + +""" + UpdateCompanyNetworkConfiguration() + +Updates the company network configuration for the fleet. + +Required Parameters +{ + "SecurityGroupIds": "The security groups associated with access to the provided subnets.", + "SubnetIds": "The subnets used for X-ENI connections from Amazon WorkLink rendering containers.", + "FleetArn": "The ARN of the fleet.", + "VpcId": "The VPC with connectivity to associated websites." +} +""" +UpdateCompanyNetworkConfiguration(args) = worklink("POST", "/updateCompanyNetworkConfiguration", args) + +""" + ListDevices() + +Retrieves a list of devices registered with the specified fleet. + +Required Parameters +{ + "FleetArn": "The ARN of the fleet." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of results to be included in the next page.", + "NextToken": "The pagination token used to retrieve the next page of results for this operation. If this value is null, it retrieves the first page." +} +""" +ListDevices(args) = worklink("POST", "/listDevices", args) + +""" + DescribeDevicePolicyConfiguration() + +Describes the device policy configuration for the specified fleet. + +Required Parameters +{ + "FleetArn": "The ARN of the fleet." +} +""" +DescribeDevicePolicyConfiguration(args) = worklink("POST", "/describeDevicePolicyConfiguration", args) + +""" + UpdateDevicePolicyConfiguration() + +Updates the device policy configuration for the fleet. + +Required Parameters +{ + "FleetArn": "The ARN of the fleet." +} + +Optional Parameters +{ + "DeviceCaCertificate": "The certificate chain, including intermediate certificates and the root certificate authority certificate used to issue device certificates." +} +""" +UpdateDevicePolicyConfiguration(args) = worklink("POST", "/updateDevicePolicyConfiguration", args) + +""" + DescribeDomain() + +Provides information about the domain. + +Required Parameters +{ + "DomainName": "The name of the domain.", + "FleetArn": "The ARN of the fleet." +} +""" +DescribeDomain(args) = worklink("POST", "/describeDomain", args) + +""" + RestoreDomainAccess() + +Moves a domain to ACTIVE status if it was in the INACTIVE status. + +Required Parameters +{ + "DomainName": "The name of the domain.", + "FleetArn": "The ARN of the fleet." +} +""" +RestoreDomainAccess(args) = worklink("POST", "/restoreDomainAccess", args) + +""" + DisassociateWebsiteCertificateAuthority() + +Removes a certificate authority (CA). + +Required Parameters +{ + "FleetArn": "The ARN of the fleet.", + "WebsiteCaId": "A unique identifier for the CA." +} +""" +DisassociateWebsiteCertificateAuthority(args) = worklink("POST", "/disassociateWebsiteCertificateAuthority", args) + +""" + RevokeDomainAccess() + +Moves a domain to INACTIVE status if it was in the ACTIVE status. + +Required Parameters +{ + "DomainName": "The name of the domain.", + "FleetArn": "The ARN of the fleet." +} +""" +RevokeDomainAccess(args) = worklink("POST", "/revokeDomainAccess", args) + +""" + ListDomains() + +Retrieves a list of domains associated to a specified fleet. + +Required Parameters +{ + "FleetArn": "The ARN of the fleet." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of results to be included in the next page.", + "NextToken": "The pagination token used to retrieve the next page of results for this operation. If this value is null, it retrieves the first page." +} +""" +ListDomains(args) = worklink("POST", "/listDomains", args) + +""" + UpdateDomainMetadata() + +Updates domain metadata, such as DisplayName. + +Required Parameters +{ + "DomainName": "The name of the domain.", + "FleetArn": "The ARN of the fleet." +} + +Optional Parameters +{ + "DisplayName": "The name to display." +} +""" +UpdateDomainMetadata(args) = worklink("POST", "/updateDomainMetadata", args) + +""" + DescribeFleetMetadata() + +Provides basic information for the specified fleet, excluding identity provider, networking, and device configuration details. + +Required Parameters +{ + "FleetArn": "The ARN of the fleet." +} +""" +DescribeFleetMetadata(args) = worklink("POST", "/describeFleetMetadata", args) + +""" + ListFleets() + +Retrieves a list of fleets for the current account and Region. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to be included in the next page.", + "NextToken": "The pagination token used to retrieve the next page of results for this operation. If this value is null, it retrieves the first page." +} +""" +ListFleets() = worklink("POST", "/listFleets") +ListFleets(args) = worklink("POST", "/listFleets", args) + +""" + DescribeWebsiteCertificateAuthority() + +Provides information about the certificate authority. + +Required Parameters +{ + "FleetArn": "The ARN of the fleet.", + "WebsiteCaId": "A unique identifier for the certificate authority." +} +""" +DescribeWebsiteCertificateAuthority(args) = worklink("POST", "/describeWebsiteCertificateAuthority", args) + +""" + AssociateDomain() + +Specifies a domain to be associated to Amazon WorkLink. + +Required Parameters +{ + "DomainName": "The fully qualified domain name (FQDN).", + "AcmCertificateArn": "The ARN of an issued ACM certificate that is valid for the domain being associated.", + "FleetArn": "The Amazon Resource Name (ARN) of the fleet." +} + +Optional Parameters +{ + "DisplayName": "The name to display." +} +""" +AssociateDomain(args) = worklink("POST", "/associateDomain", args) + +""" + DisassociateWebsiteAuthorizationProvider() + +Disassociates a website authorization provider from a specified fleet. After the disassociation, users can't load any associated websites that require this authorization provider. + +Required Parameters +{ + "FleetArn": "The ARN of the fleet.", + "AuthorizationProviderId": "A unique identifier for the authorization provider." +} +""" +DisassociateWebsiteAuthorizationProvider(args) = worklink("POST", "/disassociateWebsiteAuthorizationProvider", args) + +""" + UpdateAuditStreamConfiguration() + +Updates the audit stream configuration for the fleet. + +Required Parameters +{ + "FleetArn": "The ARN of the fleet." +} + +Optional Parameters +{ + "AuditStreamArn": "The ARN of the Amazon Kinesis data stream that receives the audit events." +} +""" +UpdateAuditStreamConfiguration(args) = worklink("POST", "/updateAuditStreamConfiguration", args) + +""" + UpdateFleetMetadata() + +Updates fleet metadata, such as DisplayName. + +Required Parameters +{ + "FleetArn": "The ARN of the fleet." +} + +Optional Parameters +{ + "DisplayName": "The fleet name to display. The existing DisplayName is unset if null is passed.", + "OptimizeForEndUserLocation": "The option to optimize for better performance by routing traffic through the closest AWS Region to users, which may be outside of your home Region." +} +""" +UpdateFleetMetadata(args) = worklink("POST", "/UpdateFleetMetadata", args) + +""" + ListWebsiteCertificateAuthorities() + +Retrieves a list of certificate authorities added for the current account and Region. + +Required Parameters +{ + "FleetArn": "The ARN of the fleet." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of results to be included in the next page.", + "NextToken": "The pagination token used to retrieve the next page of results for this operation. If this value is null, it retrieves the first page." +} +""" +ListWebsiteCertificateAuthorities(args) = worklink("POST", "/listWebsiteCertificateAuthorities", args) + +""" + ListWebsiteAuthorizationProviders() + +Retrieves a list of website authorization providers associated with a specified fleet. + +Required Parameters +{ + "FleetArn": "The ARN of the fleet." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of results to be included in the next page.", + "NextToken": "The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page." +} +""" +ListWebsiteAuthorizationProviders(args) = worklink("POST", "/listWebsiteAuthorizationProviders", args) + +""" + DeleteFleet() + +Deletes a fleet. Prevents users from accessing previously associated websites. + +Required Parameters +{ + "FleetArn": "The ARN of the fleet." +} +""" +DeleteFleet(args) = worklink("POST", "/deleteFleet", args) + +""" + DescribeDevice() + +Provides information about a user's device. + +Required Parameters +{ + "FleetArn": "The ARN of the fleet.", + "DeviceId": "A unique identifier for a registered user's device." +} +""" +DescribeDevice(args) = worklink("POST", "/describeDevice", args) + +""" + AssociateWebsiteAuthorizationProvider() + +Associates a website authorization provider with a specified fleet. This is used to authorize users against associated websites in the company network. + +Required Parameters +{ + "FleetArn": "The ARN of the fleet.", + "AuthorizationProviderType": "The authorization provider type." +} + +Optional Parameters +{ + "DomainName": "The domain name of the authorization provider. This applies only to SAML-based authorization providers." +} +""" +AssociateWebsiteAuthorizationProvider(args) = worklink("POST", "/associateWebsiteAuthorizationProvider", args) + +""" + SignOutUser() + +Signs the user out from all of their devices. The user can sign in again if they have valid credentials. + +Required Parameters +{ + "FleetArn": "The ARN of the fleet.", + "Username": "The name of the user." +} +""" +SignOutUser(args) = worklink("POST", "/signOutUser", args) + +""" + UpdateIdentityProviderConfiguration() + +Updates the identity provider configuration for the fleet. + +Required Parameters +{ + "IdentityProviderType": "The type of identity provider.", + "FleetArn": "The ARN of the fleet." +} + +Optional Parameters +{ + "IdentityProviderSamlMetadata": "The SAML metadata document provided by the customer’s identity provider. The existing IdentityProviderSamlMetadata is unset if null is passed." +} +""" +UpdateIdentityProviderConfiguration(args) = worklink("POST", "/updateIdentityProviderConfiguration", args) + +""" + DescribeAuditStreamConfiguration() + +Describes the configuration for delivering audit streams to the customer account. + +Required Parameters +{ + "FleetArn": "The ARN of the fleet." +} +""" +DescribeAuditStreamConfiguration(args) = worklink("POST", "/describeAuditStreamConfiguration", args) + +""" + CreateFleet() + +Creates a fleet. A fleet consists of resources and the configuration that delivers associated websites to authorized users who download and set up the Amazon WorkLink app. + +Required Parameters +{ + "FleetName": "A unique name for the fleet." +} + +Optional Parameters +{ + "DisplayName": "The fleet name to display.", + "OptimizeForEndUserLocation": "The option to optimize for better performance by routing traffic through the closest AWS Region to users, which may be outside of your home Region." +} +""" +CreateFleet(args) = worklink("POST", "/createFleet", args) + +""" + DescribeCompanyNetworkConfiguration() + +Describes the networking configuration to access the internal websites associated with the specified fleet. + +Required Parameters +{ + "FleetArn": "The ARN of the fleet." +} +""" +DescribeCompanyNetworkConfiguration(args) = worklink("POST", "/describeCompanyNetworkConfiguration", args) + +""" + DescribeIdentityProviderConfiguration() + +Describes the identity provider configuration of the specified fleet. + +Required Parameters +{ + "FleetArn": "The ARN of the fleet." +} +""" +DescribeIdentityProviderConfiguration(args) = worklink("POST", "/describeIdentityProviderConfiguration", args) diff --git a/src/services/workmail.jl b/src/services/workmail.jl new file mode 100644 index 0000000000..c3543f829f --- /dev/null +++ b/src/services/workmail.jl @@ -0,0 +1,599 @@ +include("../AWSServices.jl") +using .AWSServices: workmail + +""" + ListResourceDelegates() + +Lists the delegates associated with a resource. Users and groups can be resource delegates and answer requests on behalf of the resource. + +Required Parameters +{ + "ResourceId": "The identifier for the resource whose delegates are listed.", + "OrganizationId": "The identifier for the organization that contains the resource for which delegates are listed." +} + +Optional Parameters +{ + "MaxResults": "The number of maximum results in a page.", + "NextToken": "The token used to paginate through the delegates associated with a resource." +} +""" +ListResourceDelegates(args) = workmail("ListResourceDelegates", args) + +""" + ListTagsForResource() + +Lists the tags applied to an Amazon WorkMail organization resource. + +Required Parameters +{ + "ResourceARN": "The resource ARN." +} +""" +ListTagsForResource(args) = workmail("ListTagsForResource", args) + +""" + CreateAlias() + +Adds an alias to the set of a given member (user or group) of Amazon WorkMail. + +Required Parameters +{ + "EntityId": "The member (user or group) to which this alias is added.", + "Alias": "The alias to add to the member set.", + "OrganizationId": "The organization under which the member (user or group) exists." +} +""" +CreateAlias(args) = workmail("CreateAlias", args) + +""" + ListMailboxPermissions() + +Lists the mailbox permissions associated with a user, group, or resource mailbox. + +Required Parameters +{ + "EntityId": "The identifier of the user, group, or resource for which to list mailbox permissions.", + "OrganizationId": "The identifier of the organization under which the user, group, or resource exists." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return in a single call.", + "NextToken": "The token to use to retrieve the next page of results. The first call does not contain any tokens." +} +""" +ListMailboxPermissions(args) = workmail("ListMailboxPermissions", args) + +""" + DeleteGroup() + +Deletes a group from Amazon WorkMail. + +Required Parameters +{ + "OrganizationId": "The organization that contains the group.", + "GroupId": "The identifier of the group to be deleted." +} +""" +DeleteGroup(args) = workmail("DeleteGroup", args) + +""" + DescribeResource() + +Returns the data available for the resource. + +Required Parameters +{ + "ResourceId": "The identifier of the resource to be described.", + "OrganizationId": "The identifier associated with the organization for which the resource is described." +} +""" +DescribeResource(args) = workmail("DescribeResource", args) + +""" + CreateUser() + +Creates a user who can be used in Amazon WorkMail by calling the RegisterToWorkMail operation. + +Required Parameters +{ + "Password": "The password for the new user.", + "DisplayName": "The display name for the new user.", + "OrganizationId": "The identifier of the organization for which the user is created.", + "Name": "The name for the new user. Simple AD or AD Connector user names have a maximum length of 20. All others have a maximum length of 64." +} +""" +CreateUser(args) = workmail("CreateUser", args) + +""" + UpdateMailboxQuota() + +Updates a user's current mailbox quota for a specified organization and user. + +Required Parameters +{ + "MailboxQuota": "The updated mailbox quota, in MB, for the specified user.", + "UserId": "The identifer for the user for whom to update the mailbox quota.", + "OrganizationId": "The identifier for the organization that contains the user for whom to update the mailbox quota." +} +""" +UpdateMailboxQuota(args) = workmail("UpdateMailboxQuota", args) + +""" + AssociateDelegateToResource() + +Adds a member (user or group) to the resource's set of delegates. + +Required Parameters +{ + "EntityId": "The member (user or group) to associate to the resource.", + "ResourceId": "The resource for which members (users or groups) are associated.", + "OrganizationId": "The organization under which the resource exists." +} +""" +AssociateDelegateToResource(args) = workmail("AssociateDelegateToResource", args) + +""" + PutAccessControlRule() + +Adds a new access control rule for the specified organization. The rule allows or denies access to the organization for the specified IPv4 addresses, access protocol actions, and user IDs. Adding a new rule with the same name as an existing rule replaces the older rule. + +Required Parameters +{ + "Description": "The rule description.", + "Effect": "The rule effect.", + "OrganizationId": "The identifier of the organization.", + "Name": "The rule name." +} + +Optional Parameters +{ + "NotIpRanges": "IPv4 CIDR ranges to exclude from the rule.", + "Actions": "Access protocol actions to include in the rule. Valid values include ActiveSync, AutoDiscover, EWS, IMAP, SMTP, WindowsOutlook, and WebMail.", + "IpRanges": "IPv4 CIDR ranges to include in the rule.", + "NotUserIds": "User IDs to exclude from the rule.", + "UserIds": "User IDs to include in the rule.", + "NotActions": "Access protocol actions to exclude from the rule. Valid values include ActiveSync, AutoDiscover, EWS, IMAP, SMTP, WindowsOutlook, and WebMail." +} +""" +PutAccessControlRule(args) = workmail("PutAccessControlRule", args) + +""" + DeleteResource() + +Deletes the specified resource. + +Required Parameters +{ + "ResourceId": "The identifier of the resource to be deleted.", + "OrganizationId": "The identifier associated with the organization from which the resource is deleted." +} +""" +DeleteResource(args) = workmail("DeleteResource", args) + +""" + DeleteUser() + +Deletes a user from Amazon WorkMail and all subsequent systems. Before you can delete a user, the user state must be DISABLED. Use the DescribeUser action to confirm the user state. Deleting a user is permanent and cannot be undone. WorkMail archives user mailboxes for 30 days before they are permanently removed. + +Required Parameters +{ + "UserId": "The identifier of the user to be deleted.", + "OrganizationId": "The organization that contains the user to be deleted." +} +""" +DeleteUser(args) = workmail("DeleteUser", args) + +""" + UpdatePrimaryEmailAddress() + +Updates the primary email for a user, group, or resource. The current email is moved into the list of aliases (or swapped between an existing alias and the current primary email), and the email provided in the input is promoted as the primary. + +Required Parameters +{ + "EntityId": "The user, group, or resource to update.", + "Email": "The value of the email to be updated as primary.", + "OrganizationId": "The organization that contains the user, group, or resource to update." +} +""" +UpdatePrimaryEmailAddress(args) = workmail("UpdatePrimaryEmailAddress", args) + +""" + ListOrganizations() + +Returns summaries of the customer's non-deleted organizations. + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return in a single call.", + "NextToken": "The token to use to retrieve the next page of results. The first call does not contain any tokens." +} +""" +ListOrganizations() = workmail("ListOrganizations") +ListOrganizations(args) = workmail("ListOrganizations", args) + +""" + TagResource() + +Applies the specified tags to the specified Amazon WorkMail organization resource. + +Required Parameters +{ + "ResourceARN": "The resource ARN.", + "Tags": "The tag key-value pairs." +} +""" +TagResource(args) = workmail("TagResource", args) + +""" + UntagResource() + +Untags the specified tags from the specified Amazon WorkMail organization resource. + +Required Parameters +{ + "ResourceARN": "The resource ARN.", + "TagKeys": "The tag keys." +} +""" +UntagResource(args) = workmail("UntagResource", args) + +""" + ListAliases() + +Creates a paginated call to list the aliases associated with a given entity. + +Required Parameters +{ + "EntityId": "The identifier for the entity for which to list the aliases.", + "OrganizationId": "The identifier for the organization under which the entity exists." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return in a single call.", + "NextToken": "The token to use to retrieve the next page of results. The first call does not contain any tokens." +} +""" +ListAliases(args) = workmail("ListAliases", args) + +""" + GetAccessControlEffect() + +Gets the effects of an organization's access control rules as they apply to a specified IPv4 address, access protocol action, or user ID. + +Required Parameters +{ + "IpAddress": "The IPv4 address.", + "UserId": "The user ID.", + "OrganizationId": "The identifier for the organization.", + "Action": "The access protocol action. Valid values include ActiveSync, AutoDiscover, EWS, IMAP, SMTP, WindowsOutlook, and WebMail." +} +""" +GetAccessControlEffect(args) = workmail("GetAccessControlEffect", args) + +""" + DescribeOrganization() + +Provides more information regarding a given organization based on its identifier. + +Required Parameters +{ + "OrganizationId": "The identifier for the organization to be described." +} +""" +DescribeOrganization(args) = workmail("DescribeOrganization", args) + +""" + DisassociateMemberFromGroup() + +Removes a member from a group. + +Required Parameters +{ + "MemberId": "The identifier for the member to be removed to the group.", + "OrganizationId": "The identifier for the organization under which the group exists.", + "GroupId": "The identifier for the group from which members are removed." +} +""" +DisassociateMemberFromGroup(args) = workmail("DisassociateMemberFromGroup", args) + +""" + ListAccessControlRules() + +Lists the access control rules for the specified organization. + +Required Parameters +{ + "OrganizationId": "The identifier for the organization." +} +""" +ListAccessControlRules(args) = workmail("ListAccessControlRules", args) + +""" + CreateResource() + +Creates a new Amazon WorkMail resource. + +Required Parameters +{ + "Type": "The type of the new resource. The available types are equipment and room.", + "OrganizationId": "The identifier associated with the organization for which the resource is created.", + "Name": "The name of the new resource." +} +""" +CreateResource(args) = workmail("CreateResource", args) + +""" + DeregisterFromWorkMail() + +Mark a user, group, or resource as no longer used in Amazon WorkMail. This action disassociates the mailbox and schedules it for clean-up. WorkMail keeps mailboxes for 30 days before they are permanently removed. The functionality in the console is Disable. + +Required Parameters +{ + "EntityId": "The identifier for the member (user or group) to be updated.", + "OrganizationId": "The identifier for the organization under which the Amazon WorkMail entity exists." +} +""" +DeregisterFromWorkMail(args) = workmail("DeregisterFromWorkMail", args) + +""" + DisassociateDelegateFromResource() + +Removes a member from the resource's set of delegates. + +Required Parameters +{ + "EntityId": "The identifier for the member (user, group) to be removed from the resource's delegates.", + "ResourceId": "The identifier of the resource from which delegates' set members are removed. ", + "OrganizationId": "The identifier for the organization under which the resource exists." +} +""" +DisassociateDelegateFromResource(args) = workmail("DisassociateDelegateFromResource", args) + +""" + ListUsers() + +Returns summaries of the organization's users. + +Required Parameters +{ + "OrganizationId": "The identifier for the organization under which the users exist." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return in a single call.", + "NextToken": "The token to use to retrieve the next page of results. The first call does not contain any tokens." +} +""" +ListUsers(args) = workmail("ListUsers", args) + +""" + DeleteMailboxPermissions() + +Deletes permissions granted to a member (user or group). + +Required Parameters +{ + "EntityId": "The identifier of the member (user or group)that owns the mailbox.", + "GranteeId": "The identifier of the member (user or group) for which to delete granted permissions.", + "OrganizationId": "The identifier of the organization under which the member (user or group) exists." +} +""" +DeleteMailboxPermissions(args) = workmail("DeleteMailboxPermissions", args) + +""" + CreateGroup() + +Creates a group that can be used in Amazon WorkMail by calling the RegisterToWorkMail operation. + +Required Parameters +{ + "OrganizationId": "The organization under which the group is to be created.", + "Name": "The name of the group." +} +""" +CreateGroup(args) = workmail("CreateGroup", args) + +""" + DescribeGroup() + +Returns the data available for the group. + +Required Parameters +{ + "OrganizationId": "The identifier for the organization under which the group exists.", + "GroupId": "The identifier for the group to be described." +} +""" +DescribeGroup(args) = workmail("DescribeGroup", args) + +""" + DeleteAlias() + +Remove one or more specified aliases from a set of aliases for a given user. + +Required Parameters +{ + "EntityId": "The identifier for the member (user or group) from which to have the aliases removed.", + "Alias": "The aliases to be removed from the user's set of aliases. Duplicate entries in the list are collapsed into single entries (the list is transformed into a set).", + "OrganizationId": "The identifier for the organization under which the user exists." +} +""" +DeleteAlias(args) = workmail("DeleteAlias", args) + +""" + RegisterToWorkMail() + +Registers an existing and disabled user, group, or resource for Amazon WorkMail use by associating a mailbox and calendaring capabilities. It performs no change if the user, group, or resource is enabled and fails if the user, group, or resource is deleted. This operation results in the accumulation of costs. For more information, see Pricing. The equivalent console functionality for this operation is Enable. Users can either be created by calling the CreateUser API operation or they can be synchronized from your directory. For more information, see DeregisterFromWorkMail. + +Required Parameters +{ + "EntityId": "The identifier for the user, group, or resource to be updated.", + "Email": "The email for the user, group, or resource to be updated.", + "OrganizationId": "The identifier for the organization under which the user, group, or resource exists." +} +""" +RegisterToWorkMail(args) = workmail("RegisterToWorkMail", args) + +""" + PutMailboxPermissions() + +Sets permissions for a user, group, or resource. This replaces any pre-existing permissions. + +Required Parameters +{ + "EntityId": "The identifier of the user, group, or resource for which to update mailbox permissions.", + "GranteeId": "The identifier of the user, group, or resource to which to grant the permissions.", + "OrganizationId": "The identifier of the organization under which the user, group, or resource exists.", + "PermissionValues": "The permissions granted to the grantee. SEND_AS allows the grantee to send email as the owner of the mailbox (the grantee is not mentioned on these emails). SEND_ON_BEHALF allows the grantee to send email on behalf of the owner of the mailbox (the grantee is not mentioned as the physical sender of these emails). FULL_ACCESS allows the grantee full access to the mailbox, irrespective of other folder-level permissions set on the mailbox." +} +""" +PutMailboxPermissions(args) = workmail("PutMailboxPermissions", args) + +""" + UpdateResource() + +Updates data for the resource. To have the latest information, it must be preceded by a DescribeResource call. The dataset in the request should be the one expected when performing another DescribeResource call. + +Required Parameters +{ + "ResourceId": "The identifier of the resource to be updated.", + "OrganizationId": "The identifier associated with the organization for which the resource is updated." +} + +Optional Parameters +{ + "Name": "The name of the resource to be updated.", + "BookingOptions": "The resource's booking options to be updated." +} +""" +UpdateResource(args) = workmail("UpdateResource", args) + +""" + AssociateMemberToGroup() + +Adds a member (user or group) to the group's set. + +Required Parameters +{ + "MemberId": "The member (user or group) to associate to the group.", + "OrganizationId": "The organization under which the group exists.", + "GroupId": "The group to which the member (user or group) is associated." +} +""" +AssociateMemberToGroup(args) = workmail("AssociateMemberToGroup", args) + +""" + ListGroups() + +Returns summaries of the organization's groups. + +Required Parameters +{ + "OrganizationId": "The identifier for the organization under which the groups exist." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return in a single call.", + "NextToken": "The token to use to retrieve the next page of results. The first call does not contain any tokens." +} +""" +ListGroups(args) = workmail("ListGroups", args) + +""" + DescribeUser() + +Provides information regarding the user. + +Required Parameters +{ + "UserId": "The identifier for the user to be described.", + "OrganizationId": "The identifier for the organization under which the user exists." +} +""" +DescribeUser(args) = workmail("DescribeUser", args) + +""" + ListResources() + +Returns summaries of the organization's resources. + +Required Parameters +{ + "OrganizationId": "The identifier for the organization under which the resources exist." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return in a single call.", + "NextToken": "The token to use to retrieve the next page of results. The first call does not contain any tokens." +} +""" +ListResources(args) = workmail("ListResources", args) + +""" + ResetPassword() + +Allows the administrator to reset the password for a user. + +Required Parameters +{ + "Password": "The new password for the user.", + "UserId": "The identifier of the user for whom the password is reset.", + "OrganizationId": "The identifier of the organization that contains the user for which the password is reset." +} +""" +ResetPassword(args) = workmail("ResetPassword", args) + +""" + ListGroupMembers() + +Returns an overview of the members of a group. Users and groups can be members of a group. + +Required Parameters +{ + "OrganizationId": "The identifier for the organization under which the group exists.", + "GroupId": "The identifier for the group to which the members (users or groups) are associated." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of results to return in a single call.", + "NextToken": " The token to use to retrieve the next page of results. The first call does not contain any tokens." +} +""" +ListGroupMembers(args) = workmail("ListGroupMembers", args) + +""" + DeleteAccessControlRule() + +Deletes an access control rule for the specified WorkMail organization. + +Required Parameters +{ + "Name": "The name of the access control rule." +} + +Optional Parameters +{ + "OrganizationId": "The identifier for the organization." +} +""" +DeleteAccessControlRule(args) = workmail("DeleteAccessControlRule", args) + +""" + GetMailboxDetails() + +Requests a user's mailbox details for a specified organization and user. + +Required Parameters +{ + "UserId": "The identifier for the user whose mailbox details are being requested.", + "OrganizationId": "The identifier for the organization that contains the user whose mailbox details are being requested." +} +""" +GetMailboxDetails(args) = workmail("GetMailboxDetails", args) diff --git a/src/services/workmailmessageflow.jl b/src/services/workmailmessageflow.jl new file mode 100644 index 0000000000..53fd43659d --- /dev/null +++ b/src/services/workmailmessageflow.jl @@ -0,0 +1,14 @@ +include("../AWSServices.jl") +using .AWSServices: workmailmessageflow + +""" + GetRawMessageContent() + +Retrieves the raw content of an in-transit email message, in MIME format. + +Required Parameters +{ + "messageId": "The identifier of the email message to retrieve." +} +""" +GetRawMessageContent(args) = workmailmessageflow("GET", "/messages/{messageId}", args) diff --git a/src/services/workspaces.jl b/src/services/workspaces.jl new file mode 100644 index 0000000000..3906922325 --- /dev/null +++ b/src/services/workspaces.jl @@ -0,0 +1,565 @@ +include("../AWSServices.jl") +using .AWSServices: workspaces + +""" + DescribeWorkspaces() + +Describes the specified WorkSpaces. You can filter the results by using the bundle identifier, directory identifier, or owner, but you can specify only one filter at a time. + +Optional Parameters +{ + "UserName": "The name of the directory user. You must specify this parameter with DirectoryId.", + "NextToken": "If you received a NextToken from a previous call that was paginated, provide this token to receive the next set of results.", + "DirectoryId": "The identifier of the directory. In addition, you can optionally specify a specific directory user (see UserName). You cannot combine this parameter with any other filter.", + "BundleId": "The identifier of the bundle. All WorkSpaces that are created from this bundle are retrieved. You cannot combine this parameter with any other filter.", + "WorkspaceIds": "The identifiers of the WorkSpaces. You cannot combine this parameter with any other filter. Because the CreateWorkspaces operation is asynchronous, the identifier it returns is not immediately available. If you immediately call DescribeWorkspaces with this identifier, no information is returned.", + "Limit": "The maximum number of items to return." +} +""" +DescribeWorkspaces() = workspaces("DescribeWorkspaces") +DescribeWorkspaces(args) = workspaces("DescribeWorkspaces", args) + +""" + ModifyWorkspaceProperties() + +Modifies the specified WorkSpace properties. + +Required Parameters +{ + "WorkspaceId": "The identifier of the WorkSpace.", + "WorkspaceProperties": "The properties of the WorkSpace." +} +""" +ModifyWorkspaceProperties(args) = workspaces("ModifyWorkspaceProperties", args) + +""" + MigrateWorkspace() + +Migrates a WorkSpace from one operating system or bundle type to another, while retaining the data on the user volume. The migration process recreates the WorkSpace by using a new root volume from the target bundle image and the user volume from the last available snapshot of the original WorkSpace. During migration, the original D: Users %USERNAME% user profile folder is renamed to D: Users %USERNAME%MMddyyTHHmmss%.NotMigrated. A new D: Users %USERNAME% folder is generated by the new OS. Certain files in the old user profile are moved to the new user profile. For available migration scenarios, details about what happens during migration, and best practices, see Migrate a WorkSpace. + +Required Parameters +{ + "BundleId": "The identifier of the target bundle type to migrate the WorkSpace to.", + "SourceWorkspaceId": "The identifier of the WorkSpace to migrate from." +} +""" +MigrateWorkspace(args) = workspaces("MigrateWorkspace", args) + +""" + ModifyWorkspaceState() + +Sets the state of the specified WorkSpace. To maintain a WorkSpace without being interrupted, set the WorkSpace state to ADMIN_MAINTENANCE. WorkSpaces in this state do not respond to requests to reboot, stop, start, rebuild, or restore. An AutoStop WorkSpace in this state is not stopped. Users cannot log into a WorkSpace in the ADMIN_MAINTENANCE state. + +Required Parameters +{ + "WorkspaceState": "The WorkSpace state.", + "WorkspaceId": "The identifier of the WorkSpace." +} +""" +ModifyWorkspaceState(args) = workspaces("ModifyWorkspaceState", args) + +""" + DescribeWorkspaceImages() + +Retrieves a list that describes one or more specified images, if the image identifiers are provided. Otherwise, all images in the account are described. + +Optional Parameters +{ + "MaxResults": "The maximum number of items to return.", + "ImageIds": "The identifier of the image.", + "NextToken": "If you received a NextToken from a previous call that was paginated, provide this token to receive the next set of results." +} +""" +DescribeWorkspaceImages() = workspaces("DescribeWorkspaceImages") +DescribeWorkspaceImages(args) = workspaces("DescribeWorkspaceImages", args) + +""" + RestoreWorkspace() + +Restores the specified WorkSpace to its last known healthy state. You cannot restore a WorkSpace unless its state is AVAILABLE, ERROR, UNHEALTHY, or STOPPED. Restoring a WorkSpace is a potentially destructive action that can result in the loss of data. For more information, see Restore a WorkSpace. This operation is asynchronous and returns before the WorkSpace is completely restored. + +Required Parameters +{ + "WorkspaceId": "The identifier of the WorkSpace." +} +""" +RestoreWorkspace(args) = workspaces("RestoreWorkspace", args) + +""" + CreateWorkspaces() + +Creates one or more WorkSpaces. This operation is asynchronous and returns before the WorkSpaces are created. + +Required Parameters +{ + "Workspaces": "The WorkSpaces to create. You can specify up to 25 WorkSpaces." +} +""" +CreateWorkspaces(args) = workspaces("CreateWorkspaces", args) + +""" + RebuildWorkspaces() + +Rebuilds the specified WorkSpace. You cannot rebuild a WorkSpace unless its state is AVAILABLE, ERROR, UNHEALTHY, or STOPPED. Rebuilding a WorkSpace is a potentially destructive action that can result in the loss of data. For more information, see Rebuild a WorkSpace. This operation is asynchronous and returns before the WorkSpaces have been completely rebuilt. + +Required Parameters +{ + "RebuildWorkspaceRequests": "The WorkSpace to rebuild. You can specify a single WorkSpace." +} +""" +RebuildWorkspaces(args) = workspaces("RebuildWorkspaces", args) + +""" + ListAvailableManagementCidrRanges() + +Retrieves a list of IP address ranges, specified as IPv4 CIDR blocks, that you can use for the network management interface when you enable Bring Your Own License (BYOL). The management network interface is connected to a secure Amazon WorkSpaces management network. It is used for interactive streaming of the WorkSpace desktop to Amazon WorkSpaces clients, and to allow Amazon WorkSpaces to manage the WorkSpace. + +Required Parameters +{ + "ManagementCidrRangeConstraint": "The IP address range to search. Specify an IP address range that is compatible with your network and in CIDR notation (that is, specify the range as an IPv4 CIDR block)." +} + +Optional Parameters +{ + "MaxResults": "The maximum number of items to return.", + "NextToken": "If you received a NextToken from a previous call that was paginated, provide this token to receive the next set of results." +} +""" +ListAvailableManagementCidrRanges(args) = workspaces("ListAvailableManagementCidrRanges", args) + +""" + RebootWorkspaces() + +Reboots the specified WorkSpaces. You cannot reboot a WorkSpace unless its state is AVAILABLE or UNHEALTHY. This operation is asynchronous and returns before the WorkSpaces have rebooted. + +Required Parameters +{ + "RebootWorkspaceRequests": "The WorkSpaces to reboot. You can specify up to 25 WorkSpaces." +} +""" +RebootWorkspaces(args) = workspaces("RebootWorkspaces", args) + +""" + AuthorizeIpRules() + +Adds one or more rules to the specified IP access control group. This action gives users permission to access their WorkSpaces from the CIDR address ranges specified in the rules. + +Required Parameters +{ + "UserRules": "The rules to add to the group.", + "GroupId": "The identifier of the group." +} +""" +AuthorizeIpRules(args) = workspaces("AuthorizeIpRules", args) + +""" + DisassociateIpGroups() + +Disassociates the specified IP access control group from the specified directory. + +Required Parameters +{ + "DirectoryId": "The identifier of the directory.", + "GroupIds": "The identifiers of one or more IP access control groups." +} +""" +DisassociateIpGroups(args) = workspaces("DisassociateIpGroups", args) + +""" + DescribeWorkspaceBundles() + +Retrieves a list that describes the available WorkSpace bundles. You can filter the results using either bundle ID or owner, but not both. + +Optional Parameters +{ + "NextToken": "The token for the next set of results. (You received this token from a previous call.)", + "BundleIds": "The identifiers of the bundles. You cannot combine this parameter with any other filter.", + "Owner": "The owner of the bundles. You cannot combine this parameter with any other filter. Specify AMAZON to describe the bundles provided by AWS or null to describe the bundles that belong to your account." +} +""" +DescribeWorkspaceBundles() = workspaces("DescribeWorkspaceBundles") +DescribeWorkspaceBundles(args) = workspaces("DescribeWorkspaceBundles", args) + +""" + DescribeAccountModifications() + +Retrieves a list that describes modifications to the configuration of Bring Your Own License (BYOL) for the specified account. + +Optional Parameters +{ + "NextToken": "If you received a NextToken from a previous call that was paginated, provide this token to receive the next set of results." +} +""" +DescribeAccountModifications() = workspaces("DescribeAccountModifications") +DescribeAccountModifications(args) = workspaces("DescribeAccountModifications", args) + +""" + DescribeClientProperties() + +Retrieves a list that describes one or more specified Amazon WorkSpaces clients. + +Required Parameters +{ + "ResourceIds": "The resource identifier, in the form of directory IDs." +} +""" +DescribeClientProperties(args) = workspaces("DescribeClientProperties", args) + +""" + DeregisterWorkspaceDirectory() + +Deregisters the specified directory. This operation is asynchronous and returns before the WorkSpace directory is deregistered. If any WorkSpaces are registered to this directory, you must remove them before you can deregister the directory. + +Required Parameters +{ + "DirectoryId": "The identifier of the directory. If any WorkSpaces are registered to this directory, you must remove them before you deregister the directory, or you will receive an OperationNotSupportedException error." +} +""" +DeregisterWorkspaceDirectory(args) = workspaces("DeregisterWorkspaceDirectory", args) + +""" + ModifyWorkspaceCreationProperties() + +Modify the default properties used to create WorkSpaces. + +Required Parameters +{ + "WorkspaceCreationProperties": "The default properties for creating WorkSpaces.", + "ResourceId": "The identifier of the directory." +} +""" +ModifyWorkspaceCreationProperties(args) = workspaces("ModifyWorkspaceCreationProperties", args) + +""" + StartWorkspaces() + +Starts the specified WorkSpaces. You cannot start a WorkSpace unless it has a running mode of AutoStop and a state of STOPPED. + +Required Parameters +{ + "StartWorkspaceRequests": "The WorkSpaces to start. You can specify up to 25 WorkSpaces." +} +""" +StartWorkspaces(args) = workspaces("StartWorkspaces", args) + +""" + DescribeTags() + +Describes the specified tags for the specified WorkSpaces resource. + +Required Parameters +{ + "ResourceId": "The identifier of the WorkSpaces resource. The supported resource types are WorkSpaces, registered directories, images, custom bundles, and IP access control groups." +} +""" +DescribeTags(args) = workspaces("DescribeTags", args) + +""" + StopWorkspaces() + + Stops the specified WorkSpaces. You cannot stop a WorkSpace unless it has a running mode of AutoStop and a state of AVAILABLE, IMPAIRED, UNHEALTHY, or ERROR. + +Required Parameters +{ + "StopWorkspaceRequests": "The WorkSpaces to stop. You can specify up to 25 WorkSpaces." +} +""" +StopWorkspaces(args) = workspaces("StopWorkspaces", args) + +""" + DescribeAccount() + +Retrieves a list that describes the configuration of Bring Your Own License (BYOL) for the specified account. +""" +DescribeAccount() = workspaces("DescribeAccount") +DescribeAccount(args) = workspaces("DescribeAccount", args) + +""" + RevokeIpRules() + +Removes one or more rules from the specified IP access control group. + +Required Parameters +{ + "UserRules": "The rules to remove from the group.", + "GroupId": "The identifier of the group." +} +""" +RevokeIpRules(args) = workspaces("RevokeIpRules", args) + +""" + CopyWorkspaceImage() + +Copies the specified image from the specified Region to the current Region. + +Required Parameters +{ + "SourceRegion": "The identifier of the source Region.", + "SourceImageId": "The identifier of the source image.", + "Name": "The name of the image." +} + +Optional Parameters +{ + "Description": "A description of the image.", + "Tags": "The tags for the image." +} +""" +CopyWorkspaceImage(args) = workspaces("CopyWorkspaceImage", args) + +""" + ModifyAccount() + +Modifies the configuration of Bring Your Own License (BYOL) for the specified account. + +Optional Parameters +{ + "DedicatedTenancyManagementCidrRange": "The IP address range, specified as an IPv4 CIDR block, for the management network interface. Specify an IP address range that is compatible with your network and in CIDR notation (that is, specify the range as an IPv4 CIDR block). The CIDR block size must be /16 (for example, 203.0.113.25/16). It must also be specified as available by the ListAvailableManagementCidrRanges operation.", + "DedicatedTenancySupport": "The status of BYOL." +} +""" +ModifyAccount() = workspaces("ModifyAccount") +ModifyAccount(args) = workspaces("ModifyAccount", args) + +""" + DeleteIpGroup() + +Deletes the specified IP access control group. You cannot delete an IP access control group that is associated with a directory. + +Required Parameters +{ + "GroupId": "The identifier of the IP access control group." +} +""" +DeleteIpGroup(args) = workspaces("DeleteIpGroup", args) + +""" + ModifySelfservicePermissions() + +Modifies the self-service WorkSpace management capabilities for your users. For more information, see Enable Self-Service WorkSpace Management Capabilities for Your Users. + +Required Parameters +{ + "ResourceId": "The identifier of the directory.", + "SelfservicePermissions": "The permissions to enable or disable self-service capabilities." +} +""" +ModifySelfservicePermissions(args) = workspaces("ModifySelfservicePermissions", args) + +""" + ModifyClientProperties() + +Modifies the properties of the specified Amazon WorkSpaces clients. + +Required Parameters +{ + "ClientProperties": "Information about the Amazon WorkSpaces client.", + "ResourceId": "The resource identifiers, in the form of directory IDs." +} +""" +ModifyClientProperties(args) = workspaces("ModifyClientProperties", args) + +""" + UpdateRulesOfIpGroup() + +Replaces the current rules of the specified IP access control group with the specified rules. + +Required Parameters +{ + "UserRules": "One or more rules.", + "GroupId": "The identifier of the group." +} +""" +UpdateRulesOfIpGroup(args) = workspaces("UpdateRulesOfIpGroup", args) + +""" + DescribeWorkspaceSnapshots() + +Describes the snapshots for the specified WorkSpace. + +Required Parameters +{ + "WorkspaceId": "The identifier of the WorkSpace." +} +""" +DescribeWorkspaceSnapshots(args) = workspaces("DescribeWorkspaceSnapshots", args) + +""" + RegisterWorkspaceDirectory() + +Registers the specified directory. This operation is asynchronous and returns before the WorkSpace directory is registered. If this is the first time you are registering a directory, you will need to create the workspaces_DefaultRole role before you can register a directory. For more information, see Creating the workspaces_DefaultRole Role. + +Required Parameters +{ + "EnableWorkDocs": "Indicates whether Amazon WorkDocs is enabled or disabled. If you have enabled this parameter and WorkDocs is not available in the Region, you will receive an OperationNotSupportedException error. Set EnableWorkDocs to disabled, and try again.", + "DirectoryId": "The identifier of the directory. You cannot register a directory if it does not have a status of Active. If the directory does not have a status of Active, you will receive an InvalidResourceStateException error. If you have already registered the maximum number of directories that you can register with Amazon WorkSpaces, you will receive a ResourceLimitExceededException error. Deregister directories that you are not using for WorkSpaces, and try again." +} + +Optional Parameters +{ + "Tenancy": "Indicates whether your WorkSpace directory is dedicated or shared. To use Bring Your Own License (BYOL) images, this value must be set to DEDICATED and your AWS account must be enabled for BYOL. If your account has not been enabled for BYOL, you will receive an InvalidParameterValuesException error. For more information about BYOL images, see Bring Your Own Windows Desktop Images.", + "EnableSelfService": "Indicates whether self-service capabilities are enabled or disabled.", + "Tags": "The tags associated with the directory.", + "SubnetIds": "The identifiers of the subnets for your virtual private cloud (VPC). Make sure that the subnets are in supported Availability Zones. The subnets must also be in separate Availability Zones. If these conditions are not met, you will receive an OperationNotSupportedException error." +} +""" +RegisterWorkspaceDirectory(args) = workspaces("RegisterWorkspaceDirectory", args) + +""" + DeleteTags() + +Deletes the specified tags from the specified WorkSpaces resource. + +Required Parameters +{ + "ResourceId": "The identifier of the WorkSpaces resource. The supported resource types are WorkSpaces, registered directories, images, custom bundles, and IP access control groups.", + "TagKeys": "The tag keys." +} +""" +DeleteTags(args) = workspaces("DeleteTags", args) + +""" + DescribeIpGroups() + +Describes one or more of your IP access control groups. + +Optional Parameters +{ + "MaxResults": "The maximum number of items to return.", + "NextToken": "If you received a NextToken from a previous call that was paginated, provide this token to receive the next set of results.", + "GroupIds": "The identifiers of one or more IP access control groups." +} +""" +DescribeIpGroups() = workspaces("DescribeIpGroups") +DescribeIpGroups(args) = workspaces("DescribeIpGroups", args) + +""" + AssociateIpGroups() + +Associates the specified IP access control group with the specified directory. + +Required Parameters +{ + "DirectoryId": "The identifier of the directory.", + "GroupIds": "The identifiers of one or more IP access control groups." +} +""" +AssociateIpGroups(args) = workspaces("AssociateIpGroups", args) + +""" + DescribeWorkspacesConnectionStatus() + +Describes the connection status of the specified WorkSpaces. + +Optional Parameters +{ + "NextToken": "If you received a NextToken from a previous call that was paginated, provide this token to receive the next set of results.", + "WorkspaceIds": "The identifiers of the WorkSpaces. You can specify up to 25 WorkSpaces." +} +""" +DescribeWorkspacesConnectionStatus() = workspaces("DescribeWorkspacesConnectionStatus") +DescribeWorkspacesConnectionStatus(args) = workspaces("DescribeWorkspacesConnectionStatus", args) + +""" + TerminateWorkspaces() + +Terminates the specified WorkSpaces. Terminating a WorkSpace is a permanent action and cannot be undone. The user's data is destroyed. If you need to archive any user data, contact Amazon Web Services before terminating the WorkSpace. You can terminate a WorkSpace that is in any state except SUSPENDED. This operation is asynchronous and returns before the WorkSpaces have been completely terminated. + +Required Parameters +{ + "TerminateWorkspaceRequests": "The WorkSpaces to terminate. You can specify up to 25 WorkSpaces." +} +""" +TerminateWorkspaces(args) = workspaces("TerminateWorkspaces", args) + +""" + CreateTags() + +Creates the specified tags for the specified WorkSpaces resource. + +Required Parameters +{ + "Tags": "The tags. Each WorkSpaces resource can have a maximum of 50 tags. If you want to add new tags to a set of existing tags, you must submit all of the existing tags along with the new ones.", + "ResourceId": "The identifier of the WorkSpaces resource. The supported resource types are WorkSpaces, registered directories, images, custom bundles, and IP access control groups." +} +""" +CreateTags(args) = workspaces("CreateTags", args) + +""" + ModifyWorkspaceAccessProperties() + +Specifies which devices and operating systems users can use to access their WorkSpaces. For more information, see Control Device Access. + +Required Parameters +{ + "ResourceId": "The identifier of the directory.", + "WorkspaceAccessProperties": "The device types and operating systems to enable or disable for access." +} +""" +ModifyWorkspaceAccessProperties(args) = workspaces("ModifyWorkspaceAccessProperties", args) + +""" + CreateIpGroup() + +Creates an IP access control group. An IP access control group provides you with the ability to control the IP addresses from which users are allowed to access their WorkSpaces. To specify the CIDR address ranges, add rules to your IP access control group and then associate the group with your directory. You can add rules when you create the group or at any time using AuthorizeIpRules. There is a default IP access control group associated with your directory. If you don't associate an IP access control group with your directory, the default group is used. The default group includes a default rule that allows users to access their WorkSpaces from anywhere. You cannot modify the default IP access control group for your directory. + +Required Parameters +{ + "GroupName": "The name of the group." +} + +Optional Parameters +{ + "Tags": "The tags. Each WorkSpaces resource can have a maximum of 50 tags.", + "GroupDesc": "The description of the group.", + "UserRules": "The rules to add to the group." +} +""" +CreateIpGroup(args) = workspaces("CreateIpGroup", args) + +""" + DescribeWorkspaceDirectories() + +Describes the available directories that are registered with Amazon WorkSpaces. + +Optional Parameters +{ + "DirectoryIds": "The identifiers of the directories. If the value is null, all directories are retrieved.", + "NextToken": "If you received a NextToken from a previous call that was paginated, provide this token to receive the next set of results.", + "Limit": "The maximum number of directories to return." +} +""" +DescribeWorkspaceDirectories() = workspaces("DescribeWorkspaceDirectories") +DescribeWorkspaceDirectories(args) = workspaces("DescribeWorkspaceDirectories", args) + +""" + DeleteWorkspaceImage() + +Deletes the specified image from your account. To delete an image, you must first delete any bundles that are associated with the image and un-share the image if it is shared with other accounts. + +Required Parameters +{ + "ImageId": "The identifier of the image." +} +""" +DeleteWorkspaceImage(args) = workspaces("DeleteWorkspaceImage", args) + +""" + ImportWorkspaceImage() + +Imports the specified Windows 7 or Windows 10 Bring Your Own License (BYOL) image into Amazon WorkSpaces. The image must be an already licensed EC2 image that is in your AWS account, and you must own the image. + +Required Parameters +{ + "IngestionProcess": "The ingestion process to be used when importing the image.", + "ImageDescription": "The description of the WorkSpace image.", + "Ec2ImageId": "The identifier of the EC2 image.", + "ImageName": "The name of the WorkSpace image." +} + +Optional Parameters +{ + "Tags": "The tags. Each WorkSpaces resource can have a maximum of 50 tags." +} +""" +ImportWorkspaceImage(args) = workspaces("ImportWorkspaceImage", args) diff --git a/src/services/xray.jl b/src/services/xray.jl new file mode 100644 index 0000000000..2ee78a7c91 --- /dev/null +++ b/src/services/xray.jl @@ -0,0 +1,305 @@ +include("../AWSServices.jl") +using .AWSServices: xray + +""" + DeleteGroup() + +Deletes a group resource. + +Optional Parameters +{ + "GroupARN": "The ARN of the group that was generated on creation.", + "GroupName": "The case-sensitive name of the group." +} +""" +DeleteGroup() = xray("POST", "/DeleteGroup") +DeleteGroup(args) = xray("POST", "/DeleteGroup", args) + +""" + PutTraceSegments() + +Uploads segment documents to AWS X-Ray. The X-Ray SDK generates segment documents and sends them to the X-Ray daemon, which uploads them in batches. A segment document can be a completed segment, an in-progress segment, or an array of subsegments. Segments must include the following fields. For the full segment document schema, see AWS X-Ray Segment Documents in the AWS X-Ray Developer Guide. Required Segment Document Fields name - The name of the service that handled the request. id - A 64-bit identifier for the segment, unique among segments in the same trace, in 16 hexadecimal digits. trace_id - A unique identifier that connects all segments and subsegments originating from a single client request. start_time - Time the segment or subsegment was created, in floating point seconds in epoch time, accurate to milliseconds. For example, 1480615200.010 or 1.480615200010E9. end_time - Time the segment or subsegment was closed. For example, 1480615200.090 or 1.480615200090E9. Specify either an end_time or in_progress. in_progress - Set to true instead of specifying an end_time to record that a segment has been started, but is not complete. Send an in progress segment when your application receives a request that will take a long time to serve, to trace the fact that the request was received. When the response is sent, send the complete segment to overwrite the in-progress segment. A trace_id consists of three numbers separated by hyphens. For example, 1-58406520-a006649127e371903a2de979. This includes: Trace ID Format The version number, i.e. 1. The time of the original request, in Unix epoch time, in 8 hexadecimal digits. For example, 10:00AM December 2nd, 2016 PST in epoch time is 1480615200 seconds, or 58406520 in hexadecimal. A 96-bit identifier for the trace, globally unique, in 24 hexadecimal digits. + +Required Parameters +{ + "TraceSegmentDocuments": "A string containing a JSON document defining one or more segments or subsegments." +} +""" +PutTraceSegments(args) = xray("POST", "/TraceSegments", args) + +""" + GetGroup() + +Retrieves group resource details. + +Optional Parameters +{ + "GroupARN": "The ARN of the group that was generated on creation.", + "GroupName": "The case-sensitive name of the group." +} +""" +GetGroup() = xray("POST", "/GetGroup") +GetGroup(args) = xray("POST", "/GetGroup", args) + +""" + GetEncryptionConfig() + +Retrieves the current encryption configuration for X-Ray data. +""" +GetEncryptionConfig() = xray("POST", "/EncryptionConfig") +GetEncryptionConfig(args) = xray("POST", "/EncryptionConfig", args) + +""" + GetTraceGraph() + +Retrieves a service graph for one or more specific trace IDs. + +Required Parameters +{ + "TraceIds": "Trace IDs of requests for which to generate a service graph." +} + +Optional Parameters +{ + "NextToken": "Pagination token." +} +""" +GetTraceGraph(args) = xray("POST", "/TraceGraph", args) + +""" + CreateSamplingRule() + +Creates a rule to control sampling behavior for instrumented applications. Services retrieve rules with GetSamplingRules, and evaluate each rule in ascending order of priority for each request. If a rule matches, the service records a trace, borrowing it from the reservoir size. After 10 seconds, the service reports back to X-Ray with GetSamplingTargets to get updated versions of each in-use rule. The updated rule contains a trace quota that the service can use instead of borrowing from the reservoir. + +Required Parameters +{ + "SamplingRule": "The rule definition." +} +""" +CreateSamplingRule(args) = xray("POST", "/CreateSamplingRule", args) + +""" + PutEncryptionConfig() + +Updates the encryption configuration for X-Ray data. + +Required Parameters +{ + "Type": "The type of encryption. Set to KMS to use your own key for encryption. Set to NONE for default encryption." +} + +Optional Parameters +{ + "KeyId": "An AWS KMS customer master key (CMK) in one of the following formats: Alias - The name of the key. For example, alias/MyKey. Key ID - The KMS key ID of the key. For example, ae4aa6d49-a4d8-9df9-a475-4ff6d7898456. AWS X-Ray does not support asymmetric CMKs. ARN - The full Amazon Resource Name of the key ID or alias. For example, arn:aws:kms:us-east-2:123456789012:key/ae4aa6d49-a4d8-9df9-a475-4ff6d7898456. Use this format to specify a key in a different account. Omit this key if you set Type to NONE." +} +""" +PutEncryptionConfig(args) = xray("POST", "/PutEncryptionConfig", args) + +""" + PutTelemetryRecords() + +Used by the AWS X-Ray daemon to upload telemetry. + +Required Parameters +{ + "TelemetryRecords": "" +} + +Optional Parameters +{ + "Hostname": "", + "ResourceARN": "", + "EC2InstanceId": "" +} +""" +PutTelemetryRecords(args) = xray("POST", "/TelemetryRecords", args) + +""" + GetTimeSeriesServiceStatistics() + +Get an aggregation of service statistics defined by a specific time range. + +Required Parameters +{ + "StartTime": "The start of the time frame for which to aggregate statistics.", + "EndTime": "The end of the time frame for which to aggregate statistics." +} + +Optional Parameters +{ + "Period": "Aggregation period in seconds.", + "GroupARN": "The ARN of the group for which to pull statistics from.", + "NextToken": "Pagination token.", + "EntitySelectorExpression": "A filter expression defining entities that will be aggregated for statistics. Supports ID, service, and edge functions. If no selector expression is specified, edge statistics are returned. ", + "GroupName": "The case-sensitive name of the group for which to pull statistics from." +} +""" +GetTimeSeriesServiceStatistics(args) = xray("POST", "/TimeSeriesServiceStatistics", args) + +""" + GetSamplingTargets() + +Requests a sampling quota for rules that the service is using to sample requests. + +Required Parameters +{ + "SamplingStatisticsDocuments": "Information about rules that the service is using to sample requests." +} +""" +GetSamplingTargets(args) = xray("POST", "/SamplingTargets", args) + +""" + UpdateSamplingRule() + +Modifies a sampling rule's configuration. + +Required Parameters +{ + "SamplingRuleUpdate": "The rule and fields to change." +} +""" +UpdateSamplingRule(args) = xray("POST", "/UpdateSamplingRule", args) + +""" + BatchGetTraces() + +Retrieves a list of traces specified by ID. Each trace is a collection of segment documents that originates from a single request. Use GetTraceSummaries to get a list of trace IDs. + +Required Parameters +{ + "TraceIds": "Specify the trace IDs of requests for which to retrieve segments." +} + +Optional Parameters +{ + "NextToken": "Pagination token." +} +""" +BatchGetTraces(args) = xray("POST", "/Traces", args) + +""" + CreateGroup() + +Creates a group resource with a name and a filter expression. + +Required Parameters +{ + "GroupName": "The case-sensitive name of the new group. Default is a reserved name and names must be unique." +} + +Optional Parameters +{ + "FilterExpression": "The filter expression defining criteria by which to group traces." +} +""" +CreateGroup(args) = xray("POST", "/CreateGroup", args) + +""" + GetSamplingRules() + +Retrieves all sampling rules. + +Optional Parameters +{ + "NextToken": "Pagination token." +} +""" +GetSamplingRules() = xray("POST", "/GetSamplingRules") +GetSamplingRules(args) = xray("POST", "/GetSamplingRules", args) + +""" + DeleteSamplingRule() + +Deletes a sampling rule. + +Optional Parameters +{ + "RuleARN": "The ARN of the sampling rule. Specify a rule by either name or ARN, but not both.", + "RuleName": "The name of the sampling rule. Specify a rule by either name or ARN, but not both." +} +""" +DeleteSamplingRule() = xray("POST", "/DeleteSamplingRule") +DeleteSamplingRule(args) = xray("POST", "/DeleteSamplingRule", args) + +""" + GetGroups() + +Retrieves all active group details. + +Optional Parameters +{ + "NextToken": "Pagination token." +} +""" +GetGroups() = xray("POST", "/Groups") +GetGroups(args) = xray("POST", "/Groups", args) + +""" + GetSamplingStatisticSummaries() + +Retrieves information about recent sampling results for all sampling rules. + +Optional Parameters +{ + "NextToken": "Pagination token." +} +""" +GetSamplingStatisticSummaries() = xray("POST", "/SamplingStatisticSummaries") +GetSamplingStatisticSummaries(args) = xray("POST", "/SamplingStatisticSummaries", args) + +""" + GetServiceGraph() + +Retrieves a document that describes services that process incoming requests, and downstream services that they call as a result. Root services process incoming requests and make calls to downstream services. Root services are applications that use the AWS X-Ray SDK. Downstream services can be other applications, AWS resources, HTTP web APIs, or SQL databases. + +Required Parameters +{ + "StartTime": "The start of the time frame for which to generate a graph.", + "EndTime": "The end of the timeframe for which to generate a graph." +} + +Optional Parameters +{ + "GroupARN": "The ARN of a group to generate a graph based on.", + "NextToken": "Pagination token.", + "GroupName": "The name of a group to generate a graph based on." +} +""" +GetServiceGraph(args) = xray("POST", "/ServiceGraph", args) + +""" + GetTraceSummaries() + +Retrieves IDs and annotations for traces available for a specified time frame using an optional filter. To get the full traces, pass the trace IDs to BatchGetTraces. A filter expression can target traced requests that hit specific service nodes or edges, have errors, or come from a known user. For example, the following filter expression targets traces that pass through api.example.com: service("api.example.com") This filter expression finds traces that have an annotation named account with the value 12345: annotation.account = "12345" For a full list of indexed fields and keywords that you can use in filter expressions, see Using Filter Expressions in the AWS X-Ray Developer Guide. + +Required Parameters +{ + "StartTime": "The start of the time frame for which to retrieve traces.", + "EndTime": "The end of the time frame for which to retrieve traces." +} + +Optional Parameters +{ + "SamplingStrategy": "A paramater to indicate whether to enable sampling on trace summaries. Input parameters are Name and Value.", + "NextToken": "Specify the pagination token returned by a previous request to retrieve the next page of results.", + "TimeRangeType": "A parameter to indicate whether to query trace summaries by TraceId or Event time.", + "FilterExpression": "Specify a filter expression to retrieve trace summaries for services or requests that meet certain requirements.", + "Sampling": "Set to true to get summaries for only a subset of available traces." +} +""" +GetTraceSummaries(args) = xray("POST", "/TraceSummaries", args) + +""" + UpdateGroup() + +Updates a group resource. + +Optional Parameters +{ + "GroupARN": "The ARN that was generated upon creation.", + "FilterExpression": "The updated filter expression defining criteria by which to group traces.", + "GroupName": "The case-sensitive name of the group." +} +""" +UpdateGroup() = xray("POST", "/UpdateGroup") +UpdateGroup(args) = xray("POST", "/UpdateGroup", args) From 5b77167a5f549a2f871a42d50febdff6ae5ec7c0 Mon Sep 17 00:00:00 2001 From: Matt Brzezinski Date: Mon, 30 Mar 2020 10:54:49 -0500 Subject: [PATCH 05/13] Added unit testing --- test/AWS.jl | 4 + test/AWSMetadata.jl | 5 + test/AWSMetadataUtilities.jl | 399 +++++++++++++++++++++++++++++++++ test/resources/operations.json | 13 ++ test/resources/shapes.json | 37 +++ test/runtests.jl | 8 + 6 files changed, 466 insertions(+) create mode 100644 test/AWS.jl create mode 100644 test/AWSMetadata.jl create mode 100644 test/AWSMetadataUtilities.jl create mode 100644 test/resources/operations.json create mode 100644 test/resources/shapes.json create mode 100644 test/runtests.jl diff --git a/test/AWS.jl b/test/AWS.jl new file mode 100644 index 0000000000..6626bfa61a --- /dev/null +++ b/test/AWS.jl @@ -0,0 +1,4 @@ +@testset "service module" begin + @service S3 + @test :S3 in names(Main) +end \ No newline at end of file diff --git a/test/AWSMetadata.jl b/test/AWSMetadata.jl new file mode 100644 index 0000000000..e0fdf8a62a --- /dev/null +++ b/test/AWSMetadata.jl @@ -0,0 +1,5 @@ +using AWS.AWSMetadata + +@testset "generate low level wrappers" begin + +end \ No newline at end of file diff --git a/test/AWSMetadataUtilities.jl b/test/AWSMetadataUtilities.jl new file mode 100644 index 0000000000..c8e54337fa --- /dev/null +++ b/test/AWSMetadataUtilities.jl @@ -0,0 +1,399 @@ +@testset "_get_aws_sdk_js_files" begin + files = AWSMetadataUtilities._get_aws_sdk_js_files() + @test files != nothing +end + +@testset "_filter_latest_service_version" begin + migration_hub_v1 = Dict("name"=>"AWSMigrationHub-2017-05-31.normal.json") + migration_hub_v2 = Dict("name"=>"AWSMigrationHub-2020-01-01.normal.json") + + access_analyzer_v1 = Dict("name"=>"accessanalyzer-2019-11-01.normal.json") + access_analyzer_v2 = Dict("name"=>"accessanalyzer-2020-01-01.normal.json") + + @testset "empty" begin + @test isempty(_filter_latest_service_version([])) + end + + @testset "single service - single version" begin + result = _filter_latest_service_version([migration_hub_v1]) + @test result == [migration_hub_v1] + end + + @testset "single service - multiple versions" begin + result = _filter_latest_service_version([migration_hub_v1, migration_hub_v2]) + @test result == [migration_hub_v2] + end + + @testset "multiple service - single version" begin + result = _filter_latest_service_version([migration_hub_v1, access_analyzer_v1]) + @test result == [access_analyzer_v1, migration_hub_v1] + end + + @testset "multiple services - multiple versions" begin + result = _filter_latest_service_version([migration_hub_v1, migration_hub_v2, access_analyzer_v1, access_analyzer_v2]) + @test result == [access_analyzer_v2, migration_hub_v2] + end +end + +@testset "_get_service_and_version" begin + @testset "empty string" begin + filename = "" + @test_throws InvalidFileName _get_service_and_version(filename) + end + + @testset "invalid filename" begin + filename = "This is an invalid file name." + @test_throws InvalidFileName _get_service_and_version(filename) + end + + @testset "valid filename" begin + filename = "AWSMigrationHub-2017-05-31.normal.json" + service, version = _get_service_and_version(filename) + + @test service == "AWSMigrationHub" + @test version == "2017-05-31" + end +end + +@testset "_generate_low_level_definitions" begin + # one full example, e.g. s3 +end + +@testset "_generate_low_level_definition" begin + service = Dict( + "serviceId"=>"sample_service", + "protocol"=>"invalid-protocol", + "endpointPrefix"=>"endpoint", + "apiVersion"=>"api_version", + "jsonVersion"=>"json_version", + "targetPrefix"=>"target" + ) + + @testset "Invalid Protocol" begin + @test_throws ProtocolNotDefined _generate_low_level_definition(service) + end + + @testset "rest-xml" begin + service["protocol"] = "rest-xml" + expected_result = "const sample_service = AWS.RestXMLService(\"endpoint\", \"api_version\")" + result = _generate_low_level_definition(service) + + @test result == expected_result + end + + @testset "rest-json" begin + service["protocol"] = "rest-json" + expected_result = "const sample_service = AWS.RestJSONService(\"endpoint\", \"api_version\")" + result = _generate_low_level_definition(service) + + @test result == expected_result + end + + @testset "json" begin + service["protocol"] = "json" + expected_result = "const sample_service = AWS.JSONService(\"endpoint\", \"api_version\", \"json_version\", \"target\")" + result = _generate_low_level_definition(service) + + @test result == expected_result + end + + @testset "query" begin + service["protocol"] = "query" + expected_result = "const sample_service = AWS.QueryService(\"endpoint\", \"api_version\")" + result = _generate_low_level_definition(service) + + @test result == expected_result + end + + @testset "ec2" begin + service["protocol"] = "ec2" + expected_result = "const sample_service = AWS.QueryService(\"endpoint\", \"api_version\")" + result = _generate_low_level_definition(service) + + @test result == expected_result + end +end + +@testset "_documentation_cleaning" begin + documentation = "

To remove one or more tags, use the RemoveTagsFromCertificate action. \$ \\ To view all of the tags that have been applied to the certificate, use the ListTagsForCertificate action." + expected_result = "To remove one or more tags, use the RemoveTagsFromCertificate action. To view all of the tags that have been applied to the certificate, use the ListTagsForCertificate action." + result = _documentation_cleaning(documentation) + + @test result == expected_result +end + +@testset "_get_function_parameters" begin + shapes = JSON.parsefile(joinpath(@__DIR__, "resources/shapes.json")) + + @testset "required params" begin + input = "RequiredParams" + + required_params, optional_params = _get_function_parameters(input, shapes) + + @test required_params == Dict("RequiredParam"=>"Required param") + @test isempty(optional_params) + end + + @testset "optional params" begin + input = "OptionalParams" + + required_params, optional_params = _get_function_parameters(input, shapes) + + @test isempty(required_params) + @test optional_params == Dict( + "OptionalParam1"=>"Optional param 1", + "OptionalParam2"=>"Optional param 2" + ) + end + + @testset "required and optional params" begin + input = "RequiredAndOptionalParams" + + required_params, optional_params = _get_function_parameters(input, shapes) + + @test required_params == Dict( + "RequiredParam2"=>"Required param 2", + "RequiredParam1"=>"Required param 1" + ) + + @test optional_params == Dict( + "OptionalParam"=>"Optional param", + ) + end + + @testset "no params" begin + input = "NoParams" + + required_params, optional_params = _get_function_parameters(input, shapes) + + @test isempty(required_params) + @test isempty(optional_params) + end +end + +@testset "_generate_high_level_definitions" begin + service_name = "sample_service" + protocol = "rest-xml" + operations = JSON.parsefile(joinpath(@__DIR__, "resources/operations.json")) + shapes = shapes = JSON.parsefile(joinpath(@__DIR__, "resources/shapes.json")) + + expected_result = """ + \"\"\" + SampleOperation() + + The documentation for this operation. + + Required Parameters + { + "RequiredParam2": "Required param 2", + "RequiredParam1": "Required param 1" + } + + Optional Parameters + { + "OptionalParam": "Optional param" + } + \"\"\" + SampleOperation(RequiredParam2, RequiredParam1) = sample_service("POST", "/") + SampleOperation(RequiredParam2, RequiredParam1, args) = sample_service("POST", "/", args) + SampleOperation(a...; b...) = SampleOperation(a..., b) + """ + + result = _generate_high_level_definitions( + service_name, + protocol, + operations, + shapes + ) + + @test expected_result == result[1] + @test size(result)[1] == 1 +end + +@testset "_generate_high_level_definition" begin + service_name = "service_name" + name = "service_name" + method = "GET" + request_uri = "request_uri" + required_params = Dict("RequiredParam"=>"This parameter is required.") + optional_params = Dict("OptionalParam"=>"This parameter is optional.") + documentation = "Documentation for $service_name." + + @testset "rest-xml" begin + protocol = "rest-xml" + expected_result = """ + \"\"\" + service_name() + + Documentation for service_name. + + Required Parameters + { + "RequiredParam": "This parameter is required." + } + + Optional Parameters + { + "OptionalParam": "This parameter is optional." + } + \"\"\" + service_name(RequiredParam) = service_name("GET", "request_uri") + service_name(RequiredParam, args) = service_name("GET", "request_uri", args) + service_name(a...; b...) = service_name(a..., b) + """ + + result = _generate_high_level_definition( + service_name, + protocol, + name, + method, + request_uri, + required_params, + optional_params, + documentation + ) + + @test expected_result == result + end + + @testset "rest-json" begin + protocol = "rest-json" + expected_result = """ + \"\"\" + service_name() + + Documentation for service_name. + + Required Parameters + { + "RequiredParam": "This parameter is required." + } + + Optional Parameters + { + "OptionalParam": "This parameter is optional." + } + \"\"\" + service_name(args) = service_name("GET", "request_uri", args) + """ + + result = _generate_high_level_definition( + service_name, + protocol, + name, + method, + request_uri, + required_params, + optional_params, + documentation + ) + + @test expected_result == result + end + + @testset "json" begin + protocol = "json" + + expected_result = """ + \"\"\" + service_name() + + Documentation for service_name. + + Required Parameters + { + "RequiredParam": "This parameter is required." + } + + Optional Parameters + { + "OptionalParam": "This parameter is optional." + } + \"\"\" + service_name(args) = service_name("service_name", args) + """ + + result = _generate_high_level_definition( + service_name, + protocol, + name, + method, + request_uri, + required_params, + optional_params, + documentation + ) + + @test expected_result == result + end + + @testset "query" begin + protocol = "query" + expected_result = """ + \"\"\" + service_name() + + Documentation for service_name. + + Required Parameters + { + "RequiredParam": "This parameter is required." + } + + Optional Parameters + { + "OptionalParam": "This parameter is optional." + } + \"\"\" + service_name(args) = service_name("service_name", args) + """ + + result = _generate_high_level_definition( + service_name, + protocol, + name, + method, + request_uri, + required_params, + optional_params, + documentation + ) + + @test expected_result == result + end + + @testset "ec2" begin + protocol = "ec2" + expected_result = """ + \"\"\" + service_name() + + Documentation for service_name. + + Required Parameters + { + "RequiredParam": "This parameter is required." + } + + Optional Parameters + { + "OptionalParam": "This parameter is optional." + } + \"\"\" + service_name(args) = service_name("service_name", args) + """ + + result = _generate_high_level_definition( + service_name, + protocol, + name, + method, + request_uri, + required_params, + optional_params, + documentation + ) + + @test expected_result == result + end +end \ No newline at end of file diff --git a/test/resources/operations.json b/test/resources/operations.json new file mode 100644 index 0000000000..327612232b --- /dev/null +++ b/test/resources/operations.json @@ -0,0 +1,13 @@ +{ + "SampleOperation": { + "name": "SampleOperation", + "http": { + "method": "POST", + "requestUri": "/" + }, + "input": { + "shape": "RequiredAndOptionalParams" + }, + "documentation": "The documentation for this operation." + } +} \ No newline at end of file diff --git a/test/resources/shapes.json b/test/resources/shapes.json new file mode 100644 index 0000000000..abe3dcac75 --- /dev/null +++ b/test/resources/shapes.json @@ -0,0 +1,37 @@ +{ + "RequiredParams": { + "required": ["RequiredParam"], + "members": { + "RequiredParam": { + "documentation": "Required param" + } + } + }, + "OptionalParams": { + "members": { + "OptionalParam1": { + "documentation": "Optional param 1" + }, + "OptionalParam2": { + "documentation": "Optional param 2" + } + } + }, + "RequiredAndOptionalParams": { + "required": ["RequiredParam1", "RequiredParam2"], + "members": { + "RequiredParam1": { + "documentation": "Required param 1" + }, + "RequiredParam2": { + "documentation": "Required param 2" + }, + "OptionalParam": { + "documentation": "Optional param" + } + } + }, + "NoParams": { + "members": {} + } +} \ No newline at end of file diff --git a/test/runtests.jl b/test/runtests.jl new file mode 100644 index 0000000000..1ccca7fd3d --- /dev/null +++ b/test/runtests.jl @@ -0,0 +1,8 @@ +using AWS +using AWS.AWSMetadataUtilities +using JSON +using DataStructures: OrderedDict +using Test + +include("AWS.jl") +include("AWSMetadataUtilities.jl") \ No newline at end of file From 46d6434dee11e1b0042b82cb3f4e1529b0584d64 Mon Sep 17 00:00:00 2001 From: Matt Brzezinski Date: Wed, 1 Apr 2020 13:17:16 -0500 Subject: [PATCH 06/13] Added compat, extras, and targets section to Project.toml --- Project.toml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/Project.toml b/Project.toml index 7907d6fffb..1a536921f6 100644 --- a/Project.toml +++ b/Project.toml @@ -9,4 +9,17 @@ DataStructures = "864edb3b-99cc-5e75-8d2d-829cb0a9cfe8" HTTP = "cd3eb016-35fb-5094-929b-558a96fad6f3" JSON = "682c06a0-de6a-54ab-a142-c8b1cf79cde6" SymDict = "2da68c74-98d7-5633-99d6-8493888d7b1e" + +[compat] +AWSCore = "0.6" +DataStructures = "0.15, 0.16, 0.17" +HTTP = "0.8" +JSON = "0.18, 0.19, 0.20, 0.21" +SymDict = "0.3" +julia = "1" + +[extras] Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" + +[targets] +test = ["Test"] \ No newline at end of file From d1e2b96154545be0463cac23386a82fcb3204ac8 Mon Sep 17 00:00:00 2001 From: Matt Brzezinski Date: Wed, 1 Apr 2020 15:00:35 -0500 Subject: [PATCH 07/13] Don't export internal functions in AWSMetadataUtilities.jl --- src/AWSMetadata.jl | 19 +++++++++++++++---- src/AWSMetadataUtilities.jl | 23 ++++++++++------------- test/AWS.jl | 2 +- test/AWSMetadata.jl | 5 ----- test/AWSMetadataUtilities.jl | 4 ++-- test/runtests.jl | 7 +++++-- 6 files changed, 33 insertions(+), 27 deletions(-) delete mode 100644 test/AWSMetadata.jl diff --git a/src/AWSMetadata.jl b/src/AWSMetadata.jl index 6def0fdc4b..3571391783 100644 --- a/src/AWSMetadata.jl +++ b/src/AWSMetadata.jl @@ -1,11 +1,22 @@ module AWSMetadata +using AWSMetadataUtilities: _get_aws_sdk_js_files, _get_service_and_version, + _generate_low_level_wrappers, _generate_high_level_wrapper using DataStructures: OrderedDict using HTTP using JSON include("AWSMetadataUtilities.jl") +""" + parse_aws_metadata() + +Generate low and high level wrappers for each AWS Service based on their definitions in the +[aws-sdk-js GitHub Repository](https://github.com/aws/aws-sdk-js/tree/master/apis). + +Low level wrappers are written into `src/AWSServices.jl`, while high level wrappers API +wrappers are written into their respective files in `src/services/{service}.jl`. +""" function parse_aws_metadata() function _process_service(file::OrderedDict{String, Any}, version::String) data_changed = true @@ -16,13 +27,13 @@ function parse_aws_metadata() metadata_path = joinpath(@__DIR__, "metadata.json") metadata = JSON.parsefile(metadata_path, dicttype=OrderedDict) - files = AWSMetadataUtilities._get_aws_sdk_js_files() + files = _get_aws_sdk_js_files() data_changed = false services_modified = OrderedDict[] for file in files - service_name, version = AWSMetadataUtilities._get_service_and_version(file["name"]) + service_name, version = _get_service_and_version(file["name"]) filename = file["name"] # AWS has released a new service API @@ -51,7 +62,7 @@ function _generate_low_level_wrappers(services::Array{OrderedDict}) service_definitions = AWSMetadataUtilities._generate_low_level_definitions(services) template = """ - # This is file is auto-generated by AWSMetadata.jl + # This file is auto-generated by AWSMetadata.jl module AWSServices @@ -93,4 +104,4 @@ function _generate_high_level_wrapper(services::Array{OrderedDict}) end end -end \ No newline at end of file +end diff --git a/src/AWSMetadataUtilities.jl b/src/AWSMetadataUtilities.jl index 6750e957f1..d5eecffa53 100644 --- a/src/AWSMetadataUtilities.jl +++ b/src/AWSMetadataUtilities.jl @@ -7,18 +7,13 @@ using DataStructures: OrderedDict using HTTP using JSON -export _get_aws_sdk_js_files, _get_service_and_version, _filter_latest_service_version, - _generate_low_level_definition, _documentation_cleaning, _get_function_parameters, - _generate_high_level_definition, _generate_high_level_definitions, - InvalidFileName, ProtocolNotDefined - """ - _get_aws_api_definitions() + _get_aws_sdk_js_files() Get a list of all AWS service API definition files from the `awsk-sdk-js` GitHub repository. # Returns -- ``: List of AWS service API definition files +- `Array{OrderedDict}`: Array of Dictionaries which contains information about each AWS Service """ function _get_aws_sdk_js_files() headers = ["User-Agent" => "JuliaCloud/AWS.jl"] @@ -38,10 +33,10 @@ end Return a list of all AWS Services and their latest version. # Arguments -- `services::Array)`: List of all AWS APIs and their versions +- `services::Array`: Array of all AWS APIs and their versions # Returns -- `latest_versions::Dict[]`: List of the latest AWS Service definitions +- `Array{Dict}`: Array of the latest AWS Service definitions """ function _filter_latest_service_version(services::Array) seen_services = String[] @@ -70,7 +65,7 @@ Get the `service` and `version` from a filename. - `filename`: Name of the file, ex. `{Service}-{Version}.normal.json` # Returns -- `Tuple`: (`service`, `version`) +- `Tuple{String, String}`: `service` and `version` for an AWS service """ function _get_service_and_version(filename::String) try @@ -91,10 +86,10 @@ end Get the low-level definitions for all AWS Services. # Arguments -- `services::Array{OrderedDict{String, Any}}`: List of AWS Services to generate low-level definitions +- `services::Array{OrderedDict}`: List of AWS Services to generate low-level definitions # Returns -- `String[]`: List of low-level service code to be written into `AWSServices.jl` +- `String[]`: Array of low-level service code to be written into `AWSServices.jl` """ function _generate_low_level_definitions(services::Array{OrderedDict}) service_definitions = String[] @@ -226,7 +221,7 @@ Generate high-level definitions for the `service`. - `shapes::Dict{String, Any}`: All input shapes for this service # Return -- `List`: List of all high-level definitions and documentation to be written into `services/{Service}.jl` +- `Array`: Array of all high-level definitions and documentation to be written into `services/{Service}.jl` """ function _generate_high_level_definitions( service_name::String, @@ -269,6 +264,8 @@ function _generate_high_level_definitions( push!(operation_definitions, operation_definition) end + println(typeof(operation_definitions)) + return operation_definitions end diff --git a/test/AWS.jl b/test/AWS.jl index 6626bfa61a..cf01b186d4 100644 --- a/test/AWS.jl +++ b/test/AWS.jl @@ -1,4 +1,4 @@ @testset "service module" begin @service S3 @test :S3 in names(Main) -end \ No newline at end of file +end diff --git a/test/AWSMetadata.jl b/test/AWSMetadata.jl deleted file mode 100644 index e0fdf8a62a..0000000000 --- a/test/AWSMetadata.jl +++ /dev/null @@ -1,5 +0,0 @@ -using AWS.AWSMetadata - -@testset "generate low level wrappers" begin - -end \ No newline at end of file diff --git a/test/AWSMetadataUtilities.jl b/test/AWSMetadataUtilities.jl index c8e54337fa..385c152f3c 100644 --- a/test/AWSMetadataUtilities.jl +++ b/test/AWSMetadataUtilities.jl @@ -1,5 +1,5 @@ @testset "_get_aws_sdk_js_files" begin - files = AWSMetadataUtilities._get_aws_sdk_js_files() + files = _get_aws_sdk_js_files() @test files != nothing end @@ -396,4 +396,4 @@ end @test expected_result == result end -end \ No newline at end of file +end diff --git a/test/runtests.jl b/test/runtests.jl index 1ccca7fd3d..6385b8ec17 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -1,8 +1,11 @@ using AWS -using AWS.AWSMetadataUtilities +using AWS.AWSMetadataUtilities: _documentation_cleaning, _filter_latest_service_version, + _generate_low_level_definition, _generate_high_level_definition, _generate_high_level_definitions, + _get_aws_sdk_js_files, _get_service_and_version, _get_function_parameters, + InvalidFileName, ProtocolNotDefined using JSON using DataStructures: OrderedDict using Test include("AWS.jl") -include("AWSMetadataUtilities.jl") \ No newline at end of file +include("AWSMetadataUtilities.jl") From 24cd716e47e7d2102f63ba3bc219c46848bb7a85 Mon Sep 17 00:00:00 2001 From: Matt Brzezinski Date: Wed, 1 Apr 2020 15:02:28 -0500 Subject: [PATCH 08/13] Added trailing white space, fixed typo, removed mutable from request structs --- src/AWS.jl | 12 ++++++------ src/AWSExceptions.jl | 2 +- src/AWSServices.jl | 2 +- test/runtests.jl | 2 +- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/AWS.jl b/src/AWS.jl index 0984dbfcef..d9e80a4852 100644 --- a/src/AWS.jl +++ b/src/AWS.jl @@ -12,22 +12,22 @@ macro service(module_name::Symbol) service_name = joinpath(@__DIR__, service_name) return Expr(:toplevel, - :(module ($(esc(module_name))) + :(module($(esc(module_name))) Base.include($(esc(module_name)), $(esc(service_name))) end)) end -mutable struct RestXMLService +struct RestXMLService name::String api_version::String end -mutable struct QueryService +struct QueryService name::String api_version::String end -mutable struct JSONService +struct JSONService name::String api_version::String @@ -35,7 +35,7 @@ mutable struct JSONService target::String end -mutable struct RestJSONService +struct RestJSONService name::String api_version::String end @@ -92,4 +92,4 @@ end (service::RestJSONService)(request_method::String, request_uri::String, args=[]) = service(default_aws_config(), request_method, request_uri, args) (service::RestJSONService)(a...; b...) = service(a..., b) -end # module AWS \ No newline at end of file +end # module AWS diff --git a/src/AWSExceptions.jl b/src/AWSExceptions.jl index 73f97b84c5..c923e0e887 100644 --- a/src/AWSExceptions.jl +++ b/src/AWSExceptions.jl @@ -12,4 +12,4 @@ struct InvalidFileName <: Exception end show(io::IO, e::InvalidFileName) = println(io, e.message) -end \ No newline at end of file +end diff --git a/src/AWSServices.jl b/src/AWSServices.jl index a5739ac53b..982da88878 100644 --- a/src/AWSServices.jl +++ b/src/AWSServices.jl @@ -1,4 +1,4 @@ -# This is file is auto-generated by AWSMetadata.jl +# This file is auto-generated by AWSMetadata.jl module AWSServices diff --git a/test/runtests.jl b/test/runtests.jl index 6385b8ec17..a7bce4de80 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -4,7 +4,7 @@ using AWS.AWSMetadataUtilities: _documentation_cleaning, _filter_latest_service_ _get_aws_sdk_js_files, _get_service_and_version, _get_function_parameters, InvalidFileName, ProtocolNotDefined using JSON -using DataStructures: OrderedDict +using OrderedCollections: OrderedDict using Test include("AWS.jl") From 1fa65dcc74b772ab5f11b0f804b987c950437248 Mon Sep 17 00:00:00 2001 From: Matt Brzezinski Date: Thu, 2 Apr 2020 12:21:47 -0500 Subject: [PATCH 09/13] Addressed CR comments from @omus - Removed dependency on DataStructures in favour of OrderedCollections - Moved `src/metadata.json` to `deps/metadata.json` - Added comment stating that files in `src/services/*` are auto-generated --- Project.toml | 6 +++--- {src => deps}/metadata.json | 32 ++++++++++++++++---------------- src/AWSMetadata.jl | 18 ++++++++++-------- src/AWSMetadataUtilities.jl | 32 +++++++++++++++----------------- 4 files changed, 44 insertions(+), 44 deletions(-) rename {src => deps}/metadata.json (96%) diff --git a/Project.toml b/Project.toml index 1a536921f6..942497b0b8 100644 --- a/Project.toml +++ b/Project.toml @@ -5,16 +5,16 @@ version = "1.0.0" [deps] AWSCore = "4f1ea46c-232b-54a6-9b17-cc2d0f3e6598" -DataStructures = "864edb3b-99cc-5e75-8d2d-829cb0a9cfe8" HTTP = "cd3eb016-35fb-5094-929b-558a96fad6f3" JSON = "682c06a0-de6a-54ab-a142-c8b1cf79cde6" +OrderedCollections = "bac558e1-5e72-5ebc-8fee-abe8a469f55d" SymDict = "2da68c74-98d7-5633-99d6-8493888d7b1e" [compat] AWSCore = "0.6" -DataStructures = "0.15, 0.16, 0.17" HTTP = "0.8" JSON = "0.18, 0.19, 0.20, 0.21" +OrderedCollections = "1.0, 1.1" SymDict = "0.3" julia = "1" @@ -22,4 +22,4 @@ julia = "1" Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" [targets] -test = ["Test"] \ No newline at end of file +test = ["Test"] diff --git a/src/metadata.json b/deps/metadata.json similarity index 96% rename from src/metadata.json rename to deps/metadata.json index 55ec56eda5..8d66c014fa 100644 --- a/src/metadata.json +++ b/deps/metadata.json @@ -24,7 +24,7 @@ "version": "2016-05-01" }, "wafv2-2019-07-29.normal.json": { - "sha": "45b7dc1aa731fe842f25b7c54c1b658d27b46c06", + "sha": "17a57531db37857f7ef4c6884bbf864be830808a", "version": "2019-07-29" }, "waf-regional-2016-11-28.normal.json": { @@ -68,7 +68,7 @@ "version": "2012-08-10" }, "storagegateway-2013-06-30.normal.json": { - "sha": "c0a9d68f721967f024051e29dd62f00060d3c17b", + "sha": "533eaa2a18b165781719deaa3592d7183da6ef3b", "version": "2013-06-30" }, "states-2016-11-23.normal.json": { @@ -204,7 +204,7 @@ "version": "2017-11-27" }, "rekognition-2016-06-27.normal.json": { - "sha": "728bba13c27316f23e10409e63771bef6749d094", + "sha": "a14e4f3e29f1e3e642eb0676392195cd1f4bd5b0", "version": "2016-06-27" }, "redshift-2012-12-01.normal.json": { @@ -248,7 +248,7 @@ "version": "2018-07-26" }, "pinpoint-2016-12-01.normal.json": { - "sha": "b0c5571e43c923f1258cabd8cd512839ce1a690e", + "sha": "5e459fc11f59b97b727e3274c2ac815ed173df14", "version": "2016-12-01" }, "pi-2018-02-27.normal.json": { @@ -272,11 +272,11 @@ "version": "2019-12-03" }, "organizations-2016-11-28.normal.json": { - "sha": "5f4a5d2ef910e7a4fa7181ab00838a2b0bab5726", + "sha": "603a900448db4407ee2d88989057f6143e4f506d", "version": "2016-11-28" }, "opsworkscm-2016-11-01.normal.json": { - "sha": "8e65c1759e83b684911404ca26cb799156a935e2", + "sha": "2e50e9499c5327093f63b80319d6c49828256777", "version": "2016-11-01" }, "opsworks-2013-02-18.normal.json": { @@ -328,7 +328,7 @@ "version": "2017-09-01" }, "mediastore-2017-09-01.normal.json": { - "sha": "c65cd9558ef1f2fe0a161ae5e7fd972368db4d1e", + "sha": "b74cc203b9054464fa06322ee27c5e79e4d624fb", "version": "2017-09-01" }, "mediapackage-vod-2018-11-07.normal.json": { @@ -348,7 +348,7 @@ "version": "2017-08-29" }, "mediaconnect-2018-11-14.normal.json": { - "sha": "d5730aa653843384c80d93c3882d5f9f8f7b0e75", + "sha": "b96b62920dba78763d0f76aae2f940fcbf2d93d6", "version": "2018-11-14" }, "marketplacecommerceanalytics-2015-07-01.normal.json": { @@ -388,7 +388,7 @@ "version": "2017-04-19" }, "lambda-2015-03-31.normal.json": { - "sha": "9a922f4eb8f38dd796b347c1e85bcf3d37875c0d", + "sha": "5ce1db761972b59ab391a9979737f584d1e8eb55", "version": "2015-03-31" }, "lakeformation-2017-03-31.normal.json": { @@ -472,7 +472,7 @@ "version": "2015-05-28" }, "iot-2015-05-28.normal.json": { - "sha": "47205564738169f736648004a9c53c26e91042fe", + "sha": "5f6f6b6f0bdbd3397b43065433203ed9044ad22c", "version": "2015-05-28" }, "inspector-2016-02-16.normal.json": { @@ -508,7 +508,7 @@ "version": "2017-06-07" }, "glue-2017-03-31.normal.json": { - "sha": "f8439e869b645c79655e7d23440d5ef06c4256af", + "sha": "337ecd5fc74e8e9498c2095425d15b29a54c56d0", "version": "2017-03-31" }, "globalaccelerator-2018-08-08.normal.json": { @@ -540,7 +540,7 @@ "version": "2018-06-26" }, "fms-2018-01-01.normal.json": { - "sha": "cf41158a08253f5f3a9b6804c3545bc52dc258f3", + "sha": "8304af571cebb43f4a37fcca570e1affdc5ec2cd", "version": "2018-01-01" }, "firehose-2015-08-04.normal.json": { @@ -596,7 +596,7 @@ "version": "2015-02-02" }, "elastic-inference-2017-07-25.normal.json": { - "sha": "a42819e0136a61bb4a31b4323274c2aeb0f200a6", + "sha": "8faf3a217e3da0dbb83948e247510a45d3b7618a", "version": "2017-07-25" }, "eks-2017-11-01.normal.json": { @@ -656,7 +656,7 @@ "version": "2015-06-23" }, "detective-2018-10-26.normal.json": { - "sha": "f46832f40965afd0d75e6af81c830f6475610ca7", + "sha": "bf7b8d79d0c43b5cb6b2b29a8c3ef730bd94d65a", "version": "2018-10-26" }, "dax-2017-04-19.normal.json": { @@ -840,7 +840,7 @@ "version": "2016-02-06" }, "appconfig-2019-10-09.normal.json": { - "sha": "e8411f839b3f78ad5cdaa2cad91f4c127b1f8b22", + "sha": "01a7017e60cf996482215165076eaab0cda704fc", "version": "2019-10-09" }, "apigatewayv2-2018-11-29.normal.json": { @@ -872,7 +872,7 @@ "version": "2015-12-08" }, "accessanalyzer-2019-11-01.normal.json": { - "sha": "b6ebd1d99059bf23f094439dde54648f495f589f", + "sha": "a5631402cd3e12e9531ed3e67521a149949083cc", "version": "2019-11-01" }, "AWSMigrationHub-2017-05-31.normal.json": { diff --git a/src/AWSMetadata.jl b/src/AWSMetadata.jl index 3571391783..c304d7747c 100644 --- a/src/AWSMetadata.jl +++ b/src/AWSMetadata.jl @@ -1,12 +1,13 @@ module AWSMetadata -using AWSMetadataUtilities: _get_aws_sdk_js_files, _get_service_and_version, - _generate_low_level_wrappers, _generate_high_level_wrapper -using DataStructures: OrderedDict +include("AWSMetadataUtilities.jl") + +using .AWSMetadataUtilities: _get_aws_sdk_js_files, _get_service_and_version, + _generate_low_level_definitions, _generate_high_level_definitions +using OrderedCollections: OrderedDict using HTTP using JSON -include("AWSMetadataUtilities.jl") """ parse_aws_metadata() @@ -24,7 +25,7 @@ function parse_aws_metadata() push!(services_modified, file) end - metadata_path = joinpath(@__DIR__, "metadata.json") + metadata_path = joinpath(@__DIR__, "../deps/metadata.json") metadata = JSON.parsefile(metadata_path, dicttype=OrderedDict) files = _get_aws_sdk_js_files() @@ -59,7 +60,7 @@ function parse_aws_metadata() end function _generate_low_level_wrappers(services::Array{OrderedDict}) - service_definitions = AWSMetadataUtilities._generate_low_level_definitions(services) + service_definitions = _generate_low_level_definitions(services) template = """ # This file is auto-generated by AWSMetadata.jl @@ -93,15 +94,16 @@ function _generate_high_level_wrapper(services::Array{OrderedDict}) protocol = service["metadata"]["protocol"] - operations = AWSMetadataUtilities._generate_high_level_definitions(service_name, protocol, operations, shapes) + operations = _generate_high_level_definitions(service_name, protocol, operations, shapes) service_path = joinpath(@__DIR__, "services/$service_name.jl") open(service_path, "w") do f + println(f, "# This file is auto-generated by AWSMetadata.jl") println(f, "include(\"../AWSServices.jl\")") println(f, "using .AWSServices: $service_name\n") print(f, join(operations, "\n")) end end end - +parse_aws_metadata() end diff --git a/src/AWSMetadataUtilities.jl b/src/AWSMetadataUtilities.jl index d5eecffa53..191fcbf798 100644 --- a/src/AWSMetadataUtilities.jl +++ b/src/AWSMetadataUtilities.jl @@ -3,7 +3,7 @@ module AWSMetadataUtilities include("AWSExceptions.jl") using .AWSExceptions -using DataStructures: OrderedDict +using OrderedCollections: OrderedDict using HTTP using JSON @@ -162,7 +162,7 @@ Clean up the documentation to make it Julia compiler and human-readable. function _documentation_cleaning(documentation::String) documentation = replace(documentation, r"\<.*?\>" => "") documentation = replace(documentation, '$' => ' ') - documentation = replace(documentation, "\\" => ' ') + documentation = replace(documentation, '\\' => ' ') return documentation end @@ -180,8 +180,8 @@ Get the required and optional parameters for a given operation. - `Tuple(Dict, Dict)`: (required_parameters, optional_parameters) """ function _get_function_parameters(input::String, shapes::Dict) - required_parameters = Dict() - optional_parameters = Dict() + required_parameters = Dict{String, Any}() + optional_parameters = Dict{String, Any}() input_shape = shapes[input] @@ -243,8 +243,8 @@ function _generate_high_level_definitions( documentation = _documentation_cleaning(operation["documentation"]) end - required_parameters = Dict() - optional_parameters = Dict() + required_parameters = Dict{String, Any}() + optional_parameters = Dict{String, Any}() if haskey(operation, "input") required_parameters, optional_parameters = _get_function_parameters(operation["input"]["shape"], shapes) @@ -264,8 +264,6 @@ function _generate_high_level_definitions( push!(operation_definitions, operation_definition) end - println(typeof(operation_definitions)) - return operation_definitions end @@ -317,7 +315,7 @@ function _generate_high_level_definition( # Add in the required parameters if applicable if !isempty(required_parameters) - operation_definition = operation_definition * """ + operation_definition *= """ Required Parameters $(json(required_parameters, 2))""" @@ -325,42 +323,42 @@ function _generate_high_level_definition( # Add in the optional parameters if applicable if !isempty(optional_parameters) - operation_definition = operation_definition * """ + operation_definition *= """ Optional Parameters $(json(optional_parameters, 2))""" end - operation_definition = operation_definition * "\"\"\"" + operation_definition *= repeat('"', 3) # Depending on the protocol type of the operation we need to generate a different definition if protocol in ["json", "query", "ec2"] if !isempty(required_parameters) - operation_definition = operation_definition * "\n$name(args) = $service_name(\"$name\", args)\n" + operation_definition *= "\n$name(args) = $service_name(\"$name\", args)\n" else - operation_definition = operation_definition * """\n + operation_definition *= """\n $name() = $service_name(\"$name\") $name(args) = $service_name(\"$name\", args) """ end elseif protocol == "rest-json" if !isempty(required_parameters) - operation_definition = operation_definition * "\n$name(args) = $service_name(\"$method\", \"$request_uri\", args)\n" + operation_definition *= "\n$name(args) = $service_name(\"$method\", \"$request_uri\", args)\n" else - operation_definition = operation_definition * """\n + operation_definition *= """\n $name() = $service_name(\"$method\", \"$request_uri\") $name(args) = $service_name(\"$method\", \"$request_uri\", args) """ end elseif protocol == "rest-xml" if !isempty(required_parameters) - operation_definition = operation_definition * """\n + operation_definition *= """\n $name($(join(required_param_keys, ", "))) = $service_name(\"$method\", \"$request_uri\") $name($(join(required_param_keys, ", ")), args) = $service_name(\"$method\", \"$request_uri\", args) $name(a...; b...) = $name(a..., b) """ else - operation_definition = operation_definition * """\n + operation_definition *= """\n $name() = $service_name(\"$method\", \"$request_uri\") $name(args) = $service_name(\"$method\", \"$request_uri\", args) $name(a...; b...) = $name(a..., b) From d6166d12ed9f3830f7bb9ecdaa49348340163b5f Mon Sep 17 00:00:00 2001 From: Matt Brzezinski Date: Thu, 2 Apr 2020 12:23:21 -0500 Subject: [PATCH 10/13] Re-generated API wrappers --- src/AWSServices.jl | 2 +- src/services/accessanalyzer.jl | 1 + src/services/acm.jl | 1 + src/services/acm_pca.jl | 1 + src/services/alexa_for_business.jl | 1 + src/services/amplify.jl | 1 + src/services/api_gateway.jl | 1 + src/services/apigatewaymanagementapi.jl | 1 + src/services/apigatewayv2.jl | 1 + src/services/app_mesh.jl | 1 + src/services/appconfig.jl | 1 + src/services/application_auto_scaling.jl | 1 + src/services/application_discovery_service.jl | 1 + src/services/application_insights.jl | 1 + src/services/appstream.jl | 1 + src/services/appsync.jl | 1 + src/services/athena.jl | 1 + src/services/auto_scaling.jl | 1 + src/services/auto_scaling_plans.jl | 1 + src/services/backup.jl | 1 + src/services/batch.jl | 1 + src/services/budgets.jl | 1 + src/services/chime.jl | 1 + src/services/cloud9.jl | 1 + src/services/clouddirectory.jl | 1 + src/services/cloudformation.jl | 1 + src/services/cloudfront.jl | 1 + src/services/cloudhsm.jl | 1 + src/services/cloudhsm_v2.jl | 1 + src/services/cloudsearch.jl | 1 + src/services/cloudsearch_domain.jl | 1 + src/services/cloudtrail.jl | 1 + src/services/cloudwatch.jl | 1 + src/services/cloudwatch_events.jl | 1 + src/services/cloudwatch_logs.jl | 1 + src/services/codebuild.jl | 1 + src/services/codecommit.jl | 1 + src/services/codedeploy.jl | 1 + src/services/codeguru_reviewer.jl | 1 + src/services/codeguruprofiler.jl | 1 + src/services/codepipeline.jl | 1 + src/services/codestar.jl | 1 + src/services/codestar_connections.jl | 1 + src/services/codestar_notifications.jl | 1 + src/services/cognito_identity.jl | 1 + src/services/cognito_identity_provider.jl | 1 + src/services/cognito_sync.jl | 1 + src/services/comprehend.jl | 1 + src/services/comprehendmedical.jl | 1 + src/services/compute_optimizer.jl | 1 + src/services/config_service.jl | 1 + src/services/connect.jl | 1 + src/services/connectparticipant.jl | 1 + src/services/cost_and_usage_report_service.jl | 1 + src/services/cost_explorer.jl | 1 + src/services/data_pipeline.jl | 1 + src/services/database_migration_service.jl | 1 + src/services/dataexchange.jl | 1 + src/services/datasync.jl | 1 + src/services/dax.jl | 1 + src/services/detective.jl | 23 +-- src/services/device_farm.jl | 1 + src/services/direct_connect.jl | 1 + src/services/directory_service.jl | 1 + src/services/dlm.jl | 1 + src/services/docdb.jl | 1 + src/services/dynamodb.jl | 1 + src/services/dynamodb_streams.jl | 1 + src/services/ebs.jl | 1 + src/services/ec2.jl | 1 + src/services/ec2_instance_connect.jl | 1 + src/services/ecr.jl | 1 + src/services/ecs.jl | 1 + src/services/efs.jl | 1 + src/services/eks.jl | 1 + src/services/elastic_beanstalk.jl | 1 + src/services/elastic_inference.jl | 1 + src/services/elastic_load_balancing.jl | 1 + src/services/elastic_load_balancing_v2.jl | 1 + src/services/elastic_transcoder.jl | 1 + src/services/elasticache.jl | 1 + src/services/elasticsearch_service.jl | 1 + src/services/emr.jl | 1 + src/services/eventbridge.jl | 1 + src/services/firehose.jl | 1 + src/services/fms.jl | 3 +- src/services/forecast.jl | 1 + src/services/forecastquery.jl | 1 + src/services/frauddetector.jl | 1 + src/services/fsx.jl | 1 + src/services/gamelift.jl | 1 + src/services/glacier.jl | 1 + src/services/global_accelerator.jl | 1 + src/services/glue.jl | 1 + src/services/greengrass.jl | 1 + src/services/groundstation.jl | 1 + src/services/guardduty.jl | 1 + src/services/health.jl | 1 + src/services/iam.jl | 1 + src/services/imagebuilder.jl | 1 + src/services/importexport.jl | 1 + src/services/inspector.jl | 1 + src/services/iot.jl | 79 ++++++++- src/services/iot_1click_devices_service.jl | 1 + src/services/iot_1click_projects.jl | 1 + src/services/iot_data_plane.jl | 1 + src/services/iot_events.jl | 1 + src/services/iot_events_data.jl | 1 + src/services/iot_jobs_data_plane.jl | 1 + src/services/iotanalytics.jl | 1 + src/services/iotsecuretunneling.jl | 1 + src/services/iotthingsgraph.jl | 1 + src/services/kafka.jl | 1 + src/services/kendra.jl | 1 + src/services/kinesis.jl | 1 + src/services/kinesis_analytics.jl | 1 + src/services/kinesis_analytics_v2.jl | 1 + src/services/kinesis_video.jl | 1 + src/services/kinesis_video_archived_media.jl | 1 + src/services/kinesis_video_media.jl | 1 + src/services/kinesis_video_signaling.jl | 1 + src/services/kms.jl | 1 + src/services/lakeformation.jl | 1 + src/services/lambda.jl | 9 +- src/services/lex_model_building_service.jl | 1 + src/services/lex_runtime_service.jl | 1 + src/services/license_manager.jl | 1 + src/services/lightsail.jl | 1 + src/services/machine_learning.jl | 1 + src/services/macie.jl | 1 + src/services/managedblockchain.jl | 1 + src/services/marketplace_catalog.jl | 1 + .../marketplace_commerce_analytics.jl | 1 + .../marketplace_entitlement_service.jl | 1 + src/services/marketplace_metering.jl | 1 + src/services/mediaconnect.jl | 33 +++- src/services/mediaconvert.jl | 1 + src/services/medialive.jl | 1 + src/services/mediapackage.jl | 1 + src/services/mediapackage_vod.jl | 1 + src/services/mediastore.jl | 38 +++++ src/services/mediastore_data.jl | 1 + src/services/mediatailor.jl | 1 + src/services/migration_hub.jl | 1 + src/services/migrationhub_config.jl | 1 + src/services/mobile.jl | 1 + src/services/mobile_analytics.jl | 1 + src/services/mq.jl | 1 + src/services/mturk.jl | 1 + src/services/neptune.jl | 1 + src/services/networkmanager.jl | 1 + src/services/opsworks.jl | 1 + src/services/opsworkscm.jl | 15 +- src/services/organizations.jl | 5 +- src/services/outposts.jl | 1 + src/services/personalize.jl | 1 + src/services/personalize_events.jl | 1 + src/services/personalize_runtime.jl | 1 + src/services/pi.jl | 1 + src/services/pinpoint.jl | 1 + src/services/pinpoint_email.jl | 1 + src/services/pinpoint_sms_voice.jl | 1 + src/services/polly.jl | 1 + src/services/pricing.jl | 1 + src/services/qldb.jl | 1 + src/services/qldb_session.jl | 1 + src/services/quicksight.jl | 1 + src/services/ram.jl | 1 + src/services/rds.jl | 1 + src/services/rds_data.jl | 1 + src/services/redshift.jl | 1 + src/services/rekognition.jl | 25 +++ src/services/resource_groups.jl | 1 + src/services/resource_groups_tagging_api.jl | 1 + src/services/robomaker.jl | 1 + src/services/route53resolver.jl | 1 + src/services/route_53.jl | 1 + src/services/route_53_domains.jl | 1 + src/services/s3.jl | 1 + src/services/s3_control.jl | 1 + src/services/sagemaker.jl | 1 + src/services/sagemaker_a2i_runtime.jl | 1 + src/services/sagemaker_runtime.jl | 1 + src/services/savingsplans.jl | 1 + src/services/schemas.jl | 1 + src/services/secrets_manager.jl | 1 + src/services/securityhub.jl | 1 + .../serverlessapplicationrepository.jl | 1 + src/services/service_catalog.jl | 1 + src/services/service_quotas.jl | 1 + src/services/servicediscovery.jl | 1 + src/services/ses.jl | 1 + src/services/sesv2.jl | 1 + src/services/sfn.jl | 1 + src/services/shield.jl | 1 + src/services/signer.jl | 1 + src/services/simpledb.jl | 1 + src/services/sms.jl | 1 + src/services/snowball.jl | 1 + src/services/sns.jl | 1 + src/services/sqs.jl | 1 + src/services/ssm.jl | 1 + src/services/sso.jl | 1 + src/services/sso_oidc.jl | 1 + src/services/storage_gateway.jl | 5 +- src/services/sts.jl | 1 + src/services/support.jl | 1 + src/services/swf.jl | 1 + src/services/textract.jl | 1 + src/services/transcribe.jl | 1 + src/services/transfer.jl | 1 + src/services/translate.jl | 1 + src/services/waf.jl | 1 + src/services/waf_regional.jl | 1 + src/services/wafv2.jl | 161 ++++++++++++------ src/services/workdocs.jl | 1 + src/services/worklink.jl | 1 + src/services/workmail.jl | 1 + src/services/workmailmessageflow.jl | 1 + src/services/workspaces.jl | 1 + src/services/xray.jl | 1 + 221 files changed, 521 insertions(+), 86 deletions(-) diff --git a/src/AWSServices.jl b/src/AWSServices.jl index 982da88878..39521baa16 100644 --- a/src/AWSServices.jl +++ b/src/AWSServices.jl @@ -153,7 +153,7 @@ const elastic_load_balancing = AWS.QueryService("elasticloadbalancing", "2012-06 const efs = AWS.RestJSONService("elasticfilesystem", "2015-02-01") const elastic_beanstalk = AWS.QueryService("elasticbeanstalk", "2010-12-01") const elasticache = AWS.QueryService("elasticache", "2015-02-02") -const elastic_inference = AWS.RestJSONService("api.elastic-inference", "2017-07-25") +const elastic_inference = AWS.RestJSONService("elastic-inference", "2017-07-25") const eks = AWS.RestJSONService("eks", "2017-11-01") const ecs = AWS.JSONService("ecs", "2014-11-13", "1.1", "AmazonEC2ContainerServiceV20141113") const ecr = AWS.JSONService("api.ecr", "2015-09-21", "1.1", "AmazonEC2ContainerRegistry_V20150921") diff --git a/src/services/accessanalyzer.jl b/src/services/accessanalyzer.jl index 18839eb1e4..488731a942 100644 --- a/src/services/accessanalyzer.jl +++ b/src/services/accessanalyzer.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: accessanalyzer diff --git a/src/services/acm.jl b/src/services/acm.jl index ae44a20503..dd99b05fde 100644 --- a/src/services/acm.jl +++ b/src/services/acm.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: acm diff --git a/src/services/acm_pca.jl b/src/services/acm_pca.jl index 4b75f5d81e..85a74a785b 100644 --- a/src/services/acm_pca.jl +++ b/src/services/acm_pca.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: acm_pca diff --git a/src/services/alexa_for_business.jl b/src/services/alexa_for_business.jl index 2a5a46fee4..415dd3dcc3 100644 --- a/src/services/alexa_for_business.jl +++ b/src/services/alexa_for_business.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: alexa_for_business diff --git a/src/services/amplify.jl b/src/services/amplify.jl index 587467089f..8822ce4695 100644 --- a/src/services/amplify.jl +++ b/src/services/amplify.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: amplify diff --git a/src/services/api_gateway.jl b/src/services/api_gateway.jl index 182d782411..3f5df50b4a 100644 --- a/src/services/api_gateway.jl +++ b/src/services/api_gateway.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: api_gateway diff --git a/src/services/apigatewaymanagementapi.jl b/src/services/apigatewaymanagementapi.jl index a56cd2b887..7facd7fd72 100644 --- a/src/services/apigatewaymanagementapi.jl +++ b/src/services/apigatewaymanagementapi.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: apigatewaymanagementapi diff --git a/src/services/apigatewayv2.jl b/src/services/apigatewayv2.jl index 8fd12daba8..063a5a4f1d 100644 --- a/src/services/apigatewayv2.jl +++ b/src/services/apigatewayv2.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: apigatewayv2 diff --git a/src/services/app_mesh.jl b/src/services/app_mesh.jl index cfe755b84c..d4c870230f 100644 --- a/src/services/app_mesh.jl +++ b/src/services/app_mesh.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: app_mesh diff --git a/src/services/appconfig.jl b/src/services/appconfig.jl index fd80ff9fbc..b010d4ede6 100644 --- a/src/services/appconfig.jl +++ b/src/services/appconfig.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: appconfig diff --git a/src/services/application_auto_scaling.jl b/src/services/application_auto_scaling.jl index c4d6a01e85..3cba0c8c9d 100644 --- a/src/services/application_auto_scaling.jl +++ b/src/services/application_auto_scaling.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: application_auto_scaling diff --git a/src/services/application_discovery_service.jl b/src/services/application_discovery_service.jl index 0cf1afa6ec..8dcc3eeb94 100644 --- a/src/services/application_discovery_service.jl +++ b/src/services/application_discovery_service.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: application_discovery_service diff --git a/src/services/application_insights.jl b/src/services/application_insights.jl index 0502f5e1b4..31740892e3 100644 --- a/src/services/application_insights.jl +++ b/src/services/application_insights.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: application_insights diff --git a/src/services/appstream.jl b/src/services/appstream.jl index 82faefb4f9..bfb42cb9a6 100644 --- a/src/services/appstream.jl +++ b/src/services/appstream.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: appstream diff --git a/src/services/appsync.jl b/src/services/appsync.jl index 3aa188bef4..5ddbb37b15 100644 --- a/src/services/appsync.jl +++ b/src/services/appsync.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: appsync diff --git a/src/services/athena.jl b/src/services/athena.jl index 0b0cc0745e..0b3c72ee06 100644 --- a/src/services/athena.jl +++ b/src/services/athena.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: athena diff --git a/src/services/auto_scaling.jl b/src/services/auto_scaling.jl index 688da1fe56..edb26f1b7a 100644 --- a/src/services/auto_scaling.jl +++ b/src/services/auto_scaling.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: auto_scaling diff --git a/src/services/auto_scaling_plans.jl b/src/services/auto_scaling_plans.jl index 0e5af2013f..8403642a3a 100644 --- a/src/services/auto_scaling_plans.jl +++ b/src/services/auto_scaling_plans.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: auto_scaling_plans diff --git a/src/services/backup.jl b/src/services/backup.jl index fdf93b6358..289266f36b 100644 --- a/src/services/backup.jl +++ b/src/services/backup.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: backup diff --git a/src/services/batch.jl b/src/services/batch.jl index 3a85d654df..9cf686c23b 100644 --- a/src/services/batch.jl +++ b/src/services/batch.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: batch diff --git a/src/services/budgets.jl b/src/services/budgets.jl index 9b6e5e2db9..4d3e4cc689 100644 --- a/src/services/budgets.jl +++ b/src/services/budgets.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: budgets diff --git a/src/services/chime.jl b/src/services/chime.jl index b6d5b6b7be..9d852556dd 100644 --- a/src/services/chime.jl +++ b/src/services/chime.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: chime diff --git a/src/services/cloud9.jl b/src/services/cloud9.jl index d0be212ab1..56be6511bb 100644 --- a/src/services/cloud9.jl +++ b/src/services/cloud9.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: cloud9 diff --git a/src/services/clouddirectory.jl b/src/services/clouddirectory.jl index 1e6b95ae77..403fe3d778 100644 --- a/src/services/clouddirectory.jl +++ b/src/services/clouddirectory.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: clouddirectory diff --git a/src/services/cloudformation.jl b/src/services/cloudformation.jl index 8f917751bd..a480936ff4 100644 --- a/src/services/cloudformation.jl +++ b/src/services/cloudformation.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: cloudformation diff --git a/src/services/cloudfront.jl b/src/services/cloudfront.jl index 6b7255d5b3..d4767588ab 100644 --- a/src/services/cloudfront.jl +++ b/src/services/cloudfront.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: cloudfront diff --git a/src/services/cloudhsm.jl b/src/services/cloudhsm.jl index 50aa171377..2613c787b9 100644 --- a/src/services/cloudhsm.jl +++ b/src/services/cloudhsm.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: cloudhsm diff --git a/src/services/cloudhsm_v2.jl b/src/services/cloudhsm_v2.jl index 32f035db24..3f84c6f127 100644 --- a/src/services/cloudhsm_v2.jl +++ b/src/services/cloudhsm_v2.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: cloudhsm_v2 diff --git a/src/services/cloudsearch.jl b/src/services/cloudsearch.jl index b5990f25b8..dc52402a4c 100644 --- a/src/services/cloudsearch.jl +++ b/src/services/cloudsearch.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: cloudsearch diff --git a/src/services/cloudsearch_domain.jl b/src/services/cloudsearch_domain.jl index 69e637ce81..bd6e9f8e27 100644 --- a/src/services/cloudsearch_domain.jl +++ b/src/services/cloudsearch_domain.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: cloudsearch_domain diff --git a/src/services/cloudtrail.jl b/src/services/cloudtrail.jl index ddca212dc0..b4f2141d11 100644 --- a/src/services/cloudtrail.jl +++ b/src/services/cloudtrail.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: cloudtrail diff --git a/src/services/cloudwatch.jl b/src/services/cloudwatch.jl index 398ec03a52..c6dc138308 100644 --- a/src/services/cloudwatch.jl +++ b/src/services/cloudwatch.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: cloudwatch diff --git a/src/services/cloudwatch_events.jl b/src/services/cloudwatch_events.jl index f545eabff5..f20196c392 100644 --- a/src/services/cloudwatch_events.jl +++ b/src/services/cloudwatch_events.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: cloudwatch_events diff --git a/src/services/cloudwatch_logs.jl b/src/services/cloudwatch_logs.jl index 8e4bdce1f9..a160ee4aa9 100644 --- a/src/services/cloudwatch_logs.jl +++ b/src/services/cloudwatch_logs.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: cloudwatch_logs diff --git a/src/services/codebuild.jl b/src/services/codebuild.jl index 464f479e5e..8ee89fd102 100644 --- a/src/services/codebuild.jl +++ b/src/services/codebuild.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: codebuild diff --git a/src/services/codecommit.jl b/src/services/codecommit.jl index 785d3ff1f9..26fa3996f7 100644 --- a/src/services/codecommit.jl +++ b/src/services/codecommit.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: codecommit diff --git a/src/services/codedeploy.jl b/src/services/codedeploy.jl index 6346edeefe..04fe01622f 100644 --- a/src/services/codedeploy.jl +++ b/src/services/codedeploy.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: codedeploy diff --git a/src/services/codeguru_reviewer.jl b/src/services/codeguru_reviewer.jl index 8321266a46..765a87bd8c 100644 --- a/src/services/codeguru_reviewer.jl +++ b/src/services/codeguru_reviewer.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: codeguru_reviewer diff --git a/src/services/codeguruprofiler.jl b/src/services/codeguruprofiler.jl index 37bad20272..5b05d72752 100644 --- a/src/services/codeguruprofiler.jl +++ b/src/services/codeguruprofiler.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: codeguruprofiler diff --git a/src/services/codepipeline.jl b/src/services/codepipeline.jl index 7f15656e2e..26458b4dd8 100644 --- a/src/services/codepipeline.jl +++ b/src/services/codepipeline.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: codepipeline diff --git a/src/services/codestar.jl b/src/services/codestar.jl index 7e3f15cc45..06862e0337 100644 --- a/src/services/codestar.jl +++ b/src/services/codestar.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: codestar diff --git a/src/services/codestar_connections.jl b/src/services/codestar_connections.jl index 1cf4bb78c1..4cc91eb4c0 100644 --- a/src/services/codestar_connections.jl +++ b/src/services/codestar_connections.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: codestar_connections diff --git a/src/services/codestar_notifications.jl b/src/services/codestar_notifications.jl index 0d9ac05756..b672e87f4c 100644 --- a/src/services/codestar_notifications.jl +++ b/src/services/codestar_notifications.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: codestar_notifications diff --git a/src/services/cognito_identity.jl b/src/services/cognito_identity.jl index 8b627681de..2cc528cfb1 100644 --- a/src/services/cognito_identity.jl +++ b/src/services/cognito_identity.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: cognito_identity diff --git a/src/services/cognito_identity_provider.jl b/src/services/cognito_identity_provider.jl index 650064a507..a58f6dc9f0 100644 --- a/src/services/cognito_identity_provider.jl +++ b/src/services/cognito_identity_provider.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: cognito_identity_provider diff --git a/src/services/cognito_sync.jl b/src/services/cognito_sync.jl index 2c20ec7768..447101a983 100644 --- a/src/services/cognito_sync.jl +++ b/src/services/cognito_sync.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: cognito_sync diff --git a/src/services/comprehend.jl b/src/services/comprehend.jl index 8febc7f0f2..69700b8c58 100644 --- a/src/services/comprehend.jl +++ b/src/services/comprehend.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: comprehend diff --git a/src/services/comprehendmedical.jl b/src/services/comprehendmedical.jl index c199102b39..d2a434ada8 100644 --- a/src/services/comprehendmedical.jl +++ b/src/services/comprehendmedical.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: comprehendmedical diff --git a/src/services/compute_optimizer.jl b/src/services/compute_optimizer.jl index 8117da1d7a..4802068162 100644 --- a/src/services/compute_optimizer.jl +++ b/src/services/compute_optimizer.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: compute_optimizer diff --git a/src/services/config_service.jl b/src/services/config_service.jl index c1b1d945d2..a6d4d06208 100644 --- a/src/services/config_service.jl +++ b/src/services/config_service.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: config_service diff --git a/src/services/connect.jl b/src/services/connect.jl index 7b21d1db55..05d159e33a 100644 --- a/src/services/connect.jl +++ b/src/services/connect.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: connect diff --git a/src/services/connectparticipant.jl b/src/services/connectparticipant.jl index 0641569ef5..830836c4fc 100644 --- a/src/services/connectparticipant.jl +++ b/src/services/connectparticipant.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: connectparticipant diff --git a/src/services/cost_and_usage_report_service.jl b/src/services/cost_and_usage_report_service.jl index 47ff70f522..e99d352cfb 100644 --- a/src/services/cost_and_usage_report_service.jl +++ b/src/services/cost_and_usage_report_service.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: cost_and_usage_report_service diff --git a/src/services/cost_explorer.jl b/src/services/cost_explorer.jl index a1798598d2..e652b10c36 100644 --- a/src/services/cost_explorer.jl +++ b/src/services/cost_explorer.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: cost_explorer diff --git a/src/services/data_pipeline.jl b/src/services/data_pipeline.jl index d522e90d11..c8de262d09 100644 --- a/src/services/data_pipeline.jl +++ b/src/services/data_pipeline.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: data_pipeline diff --git a/src/services/database_migration_service.jl b/src/services/database_migration_service.jl index 1bb5f27d7c..5e0f1f7c75 100644 --- a/src/services/database_migration_service.jl +++ b/src/services/database_migration_service.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: database_migration_service diff --git a/src/services/dataexchange.jl b/src/services/dataexchange.jl index c8ac429f5b..135be3c83e 100644 --- a/src/services/dataexchange.jl +++ b/src/services/dataexchange.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: dataexchange diff --git a/src/services/datasync.jl b/src/services/datasync.jl index d579592bbb..afe0358a93 100644 --- a/src/services/datasync.jl +++ b/src/services/datasync.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: datasync diff --git a/src/services/dax.jl b/src/services/dax.jl index 4ce94a013a..fea27a476e 100644 --- a/src/services/dax.jl +++ b/src/services/dax.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: dax diff --git a/src/services/detective.jl b/src/services/detective.jl index 1185967fb9..99340d67d8 100644 --- a/src/services/detective.jl +++ b/src/services/detective.jl @@ -1,10 +1,11 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: detective """ RejectInvitation() -Amazon Detective is currently in preview. Rejects an invitation to contribute the account data to a behavior graph. This operation must be called by a member account that has the INVITED status. +Rejects an invitation to contribute the account data to a behavior graph. This operation must be called by a member account that has the INVITED status. Required Parameters { @@ -16,7 +17,7 @@ RejectInvitation(args) = detective("POST", "/invitation/removal", args) """ ListInvitations() -Amazon Detective is currently in preview. Retrieves the list of open and accepted behavior graph invitations for the member account. This operation can only be called by a member account. Open invitations are invitations that the member account has not responded to. The results do not include behavior graphs for which the member account declined the invitation. The results also do not include behavior graphs that the member account resigned from or was removed from. +Retrieves the list of open and accepted behavior graph invitations for the member account. This operation can only be called by a member account. Open invitations are invitations that the member account has not responded to. The results do not include behavior graphs for which the member account declined the invitation. The results also do not include behavior graphs that the member account resigned from or was removed from. Optional Parameters { @@ -30,7 +31,7 @@ ListInvitations(args) = detective("POST", "/invitations/list", args) """ CreateMembers() -Amazon Detective is currently in preview. Sends a request to invite the specified AWS accounts to be member accounts in the behavior graph. This operation can only be called by the master account for a behavior graph. CreateMembers verifies the accounts and then sends invitations to the verified accounts. The request provides the behavior graph ARN and the list of accounts to invite. The response separates the requested accounts into two lists: The accounts that CreateMembers was able to start the verification for. This list includes member accounts that are being verified, that have passed verification and are being sent an invitation, and that have failed verification. The accounts that CreateMembers was unable to process. This list includes accounts that were already invited to be member accounts in the behavior graph. +Sends a request to invite the specified AWS accounts to be member accounts in the behavior graph. This operation can only be called by the master account for a behavior graph. CreateMembers verifies the accounts and then sends invitations to the verified accounts. The request provides the behavior graph ARN and the list of accounts to invite. The response separates the requested accounts into two lists: The accounts that CreateMembers was able to start the verification for. This list includes member accounts that are being verified, that have passed verification and are being sent an invitation, and that have failed verification. The accounts that CreateMembers was unable to process. This list includes accounts that were already invited to be member accounts in the behavior graph. Required Parameters { @@ -48,7 +49,7 @@ CreateMembers(args) = detective("POST", "/graph/members", args) """ DeleteGraph() -Amazon Detective is currently in preview. Disables the specified behavior graph and queues it to be deleted. This operation removes the graph from each member account's list of behavior graphs. DeleteGraph can only be called by the master account for a behavior graph. +Disables the specified behavior graph and queues it to be deleted. This operation removes the graph from each member account's list of behavior graphs. DeleteGraph can only be called by the master account for a behavior graph. Required Parameters { @@ -60,7 +61,7 @@ DeleteGraph(args) = detective("POST", "/graph/removal", args) """ DisassociateMembership() -Amazon Detective is currently in preview. Removes the member account from the specified behavior graph. This operation can only be called by a member account that has the ENABLED status. +Removes the member account from the specified behavior graph. This operation can only be called by a member account that has the ENABLED status. Required Parameters { @@ -72,7 +73,7 @@ DisassociateMembership(args) = detective("POST", "/membership/removal", args) """ ListMembers() -Amazon Detective is currently in preview. Retrieves the list of member accounts for a behavior graph. Does not return member accounts that were removed from the behavior graph. +Retrieves the list of member accounts for a behavior graph. Does not return member accounts that were removed from the behavior graph. Required Parameters { @@ -90,7 +91,7 @@ ListMembers(args) = detective("POST", "/graph/members/list", args) """ CreateGraph() -Amazon Detective is currently in preview. Creates a new behavior graph for the calling account, and sets that account as the master account. This operation is called by the account that is enabling Detective. Before you try to enable Detective, make sure that your account has been enrolled in Amazon GuardDuty for at least 48 hours. If you do not meet this requirement, you cannot enable Detective. If you do meet the GuardDuty prerequisite, then when you make the request to enable Detective, it checks whether your data volume is within the Detective quota. If it exceeds the quota, then you cannot enable Detective. The operation also enables Detective for the calling account in the currently selected Region. It returns the ARN of the new behavior graph. CreateGraph triggers a process to create the corresponding data tables for the new behavior graph. An account can only be the master account for one behavior graph within a Region. If the same account calls CreateGraph with the same master account, it always returns the same behavior graph ARN. It does not create a new behavior graph. +Creates a new behavior graph for the calling account, and sets that account as the master account. This operation is called by the account that is enabling Detective. Before you try to enable Detective, make sure that your account has been enrolled in Amazon GuardDuty for at least 48 hours. If you do not meet this requirement, you cannot enable Detective. If you do meet the GuardDuty prerequisite, then when you make the request to enable Detective, it checks whether your data volume is within the Detective quota. If it exceeds the quota, then you cannot enable Detective. The operation also enables Detective for the calling account in the currently selected Region. It returns the ARN of the new behavior graph. CreateGraph triggers a process to create the corresponding data tables for the new behavior graph. An account can only be the master account for one behavior graph within a Region. If the same account calls CreateGraph with the same master account, it always returns the same behavior graph ARN. It does not create a new behavior graph. """ CreateGraph() = detective("POST", "/graph") CreateGraph(args) = detective("POST", "/graph", args) @@ -98,7 +99,7 @@ CreateGraph(args) = detective("POST", "/graph", args) """ DeleteMembers() -Amazon Detective is currently in preview. Deletes one or more member accounts from the master account behavior graph. This operation can only be called by a Detective master account. That account cannot use DeleteMembers to delete their own account from the behavior graph. To disable a behavior graph, the master account uses the DeleteGraph API method. +Deletes one or more member accounts from the master account behavior graph. This operation can only be called by a Detective master account. That account cannot use DeleteMembers to delete their own account from the behavior graph. To disable a behavior graph, the master account uses the DeleteGraph API method. Required Parameters { @@ -111,7 +112,7 @@ DeleteMembers(args) = detective("POST", "/graph/members/removal", args) """ AcceptInvitation() -Amazon Detective is currently in preview. Accepts an invitation for the member account to contribute data to a behavior graph. This operation can only be called by an invited member account. The request provides the ARN of behavior graph. The member account status in the graph must be INVITED. +Accepts an invitation for the member account to contribute data to a behavior graph. This operation can only be called by an invited member account. The request provides the ARN of behavior graph. The member account status in the graph must be INVITED. Required Parameters { @@ -136,7 +137,7 @@ StartMonitoringMember(args) = detective("POST", "/graph/member/monitoringstate", """ ListGraphs() -Amazon Detective is currently in preview. Returns the list of behavior graphs that the calling account is a master of. This operation can only be called by a master account. Because an account can currently only be the master of one behavior graph within a Region, the results always contain a single graph. +Returns the list of behavior graphs that the calling account is a master of. This operation can only be called by a master account. Because an account can currently only be the master of one behavior graph within a Region, the results always contain a single graph. Optional Parameters { @@ -150,7 +151,7 @@ ListGraphs(args) = detective("POST", "/graphs/list", args) """ GetMembers() -Amazon Detective is currently in preview. Returns the membership details for specified member accounts for a behavior graph. +Returns the membership details for specified member accounts for a behavior graph. Required Parameters { diff --git a/src/services/device_farm.jl b/src/services/device_farm.jl index 1b9931f346..9961a1da27 100644 --- a/src/services/device_farm.jl +++ b/src/services/device_farm.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: device_farm diff --git a/src/services/direct_connect.jl b/src/services/direct_connect.jl index 9ee6380409..98ddd5499f 100644 --- a/src/services/direct_connect.jl +++ b/src/services/direct_connect.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: direct_connect diff --git a/src/services/directory_service.jl b/src/services/directory_service.jl index 1303a08efc..e8eeb03762 100644 --- a/src/services/directory_service.jl +++ b/src/services/directory_service.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: directory_service diff --git a/src/services/dlm.jl b/src/services/dlm.jl index d51a0c7e01..4a1956e1d8 100644 --- a/src/services/dlm.jl +++ b/src/services/dlm.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: dlm diff --git a/src/services/docdb.jl b/src/services/docdb.jl index 8fea93c820..eeaefe094d 100644 --- a/src/services/docdb.jl +++ b/src/services/docdb.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: docdb diff --git a/src/services/dynamodb.jl b/src/services/dynamodb.jl index a153250a6c..19ee32cf70 100644 --- a/src/services/dynamodb.jl +++ b/src/services/dynamodb.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: dynamodb diff --git a/src/services/dynamodb_streams.jl b/src/services/dynamodb_streams.jl index 73cc07fa5d..d069ecce99 100644 --- a/src/services/dynamodb_streams.jl +++ b/src/services/dynamodb_streams.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: dynamodb_streams diff --git a/src/services/ebs.jl b/src/services/ebs.jl index 6bb914b635..01bb2ba477 100644 --- a/src/services/ebs.jl +++ b/src/services/ebs.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: ebs diff --git a/src/services/ec2.jl b/src/services/ec2.jl index 44659898fd..a075eb0bc1 100644 --- a/src/services/ec2.jl +++ b/src/services/ec2.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: ec2 diff --git a/src/services/ec2_instance_connect.jl b/src/services/ec2_instance_connect.jl index 8910eacf5c..f27d750449 100644 --- a/src/services/ec2_instance_connect.jl +++ b/src/services/ec2_instance_connect.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: ec2_instance_connect diff --git a/src/services/ecr.jl b/src/services/ecr.jl index 824410fb6f..5ab24db213 100644 --- a/src/services/ecr.jl +++ b/src/services/ecr.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: ecr diff --git a/src/services/ecs.jl b/src/services/ecs.jl index 34161e63bc..55fa5aaf7d 100644 --- a/src/services/ecs.jl +++ b/src/services/ecs.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: ecs diff --git a/src/services/efs.jl b/src/services/efs.jl index 797fb62886..20e19b2282 100644 --- a/src/services/efs.jl +++ b/src/services/efs.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: efs diff --git a/src/services/eks.jl b/src/services/eks.jl index 20b7025720..3a3852003b 100644 --- a/src/services/eks.jl +++ b/src/services/eks.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: eks diff --git a/src/services/elastic_beanstalk.jl b/src/services/elastic_beanstalk.jl index 1c44c51ea3..b0f9d1a06b 100644 --- a/src/services/elastic_beanstalk.jl +++ b/src/services/elastic_beanstalk.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: elastic_beanstalk diff --git a/src/services/elastic_inference.jl b/src/services/elastic_inference.jl index 0903c8795d..2a7c64a7cf 100644 --- a/src/services/elastic_inference.jl +++ b/src/services/elastic_inference.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: elastic_inference diff --git a/src/services/elastic_load_balancing.jl b/src/services/elastic_load_balancing.jl index 8c66a38273..08608d8d52 100644 --- a/src/services/elastic_load_balancing.jl +++ b/src/services/elastic_load_balancing.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: elastic_load_balancing diff --git a/src/services/elastic_load_balancing_v2.jl b/src/services/elastic_load_balancing_v2.jl index 4176e11d4f..ff959324dc 100644 --- a/src/services/elastic_load_balancing_v2.jl +++ b/src/services/elastic_load_balancing_v2.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: elastic_load_balancing_v2 diff --git a/src/services/elastic_transcoder.jl b/src/services/elastic_transcoder.jl index dba91a7603..daec81839b 100644 --- a/src/services/elastic_transcoder.jl +++ b/src/services/elastic_transcoder.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: elastic_transcoder diff --git a/src/services/elasticache.jl b/src/services/elasticache.jl index 63a93966af..d0742f9f60 100644 --- a/src/services/elasticache.jl +++ b/src/services/elasticache.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: elasticache diff --git a/src/services/elasticsearch_service.jl b/src/services/elasticsearch_service.jl index ca1afc3c4c..8178febba0 100644 --- a/src/services/elasticsearch_service.jl +++ b/src/services/elasticsearch_service.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: elasticsearch_service diff --git a/src/services/emr.jl b/src/services/emr.jl index 59e3ea0902..a914d58a16 100644 --- a/src/services/emr.jl +++ b/src/services/emr.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: emr diff --git a/src/services/eventbridge.jl b/src/services/eventbridge.jl index 408cf9b5e9..962c8ee0f3 100644 --- a/src/services/eventbridge.jl +++ b/src/services/eventbridge.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: eventbridge diff --git a/src/services/firehose.jl b/src/services/firehose.jl index 05e2e1c3f1..d4233b6dcf 100644 --- a/src/services/firehose.jl +++ b/src/services/firehose.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: firehose diff --git a/src/services/fms.jl b/src/services/fms.jl index b84fd2967a..a8f8449925 100644 --- a/src/services/fms.jl +++ b/src/services/fms.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: fms @@ -20,7 +21,7 @@ Sets the AWS Firewall Manager administrator account. AWS Firewall Manager must b Required Parameters { - "AdminAccount": "The AWS account ID to associate with AWS Firewall Manager as the AWS Firewall Manager administrator account. This can be an AWS Organizations master account or a member account. For more information about AWS Organizations and master accounts, see Managing the AWS Accounts in Your Organization." + "AdminAccount": "The AWS account ID to associate with AWS Firewall Manager as the AWS Firewall Manager administrator account. This can be an AWS Organizations master account or a member account. For more information about AWS Organizations and master accounts, see Managing the AWS Accounts in Your Organization. " } """ AssociateAdminAccount(args) = fms("AssociateAdminAccount", args) diff --git a/src/services/forecast.jl b/src/services/forecast.jl index 2b654bb3cc..83f2b53e75 100644 --- a/src/services/forecast.jl +++ b/src/services/forecast.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: forecast diff --git a/src/services/forecastquery.jl b/src/services/forecastquery.jl index ed3c2ef30f..297f76e6d7 100644 --- a/src/services/forecastquery.jl +++ b/src/services/forecastquery.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: forecastquery diff --git a/src/services/frauddetector.jl b/src/services/frauddetector.jl index 949f309a04..ce4a295777 100644 --- a/src/services/frauddetector.jl +++ b/src/services/frauddetector.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: frauddetector diff --git a/src/services/fsx.jl b/src/services/fsx.jl index bb2a5aeccd..bf882373ad 100644 --- a/src/services/fsx.jl +++ b/src/services/fsx.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: fsx diff --git a/src/services/gamelift.jl b/src/services/gamelift.jl index 39b5414e45..54f6eea084 100644 --- a/src/services/gamelift.jl +++ b/src/services/gamelift.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: gamelift diff --git a/src/services/glacier.jl b/src/services/glacier.jl index ec25a4ddc6..9e2995fe2d 100644 --- a/src/services/glacier.jl +++ b/src/services/glacier.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: glacier diff --git a/src/services/global_accelerator.jl b/src/services/global_accelerator.jl index cb2444b2b2..1429688269 100644 --- a/src/services/global_accelerator.jl +++ b/src/services/global_accelerator.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: global_accelerator diff --git a/src/services/glue.jl b/src/services/glue.jl index 80765dc2ae..8260a38906 100644 --- a/src/services/glue.jl +++ b/src/services/glue.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: glue diff --git a/src/services/greengrass.jl b/src/services/greengrass.jl index c0d51c1c06..09abe3ddfc 100644 --- a/src/services/greengrass.jl +++ b/src/services/greengrass.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: greengrass diff --git a/src/services/groundstation.jl b/src/services/groundstation.jl index 40364c9752..cb800b9624 100644 --- a/src/services/groundstation.jl +++ b/src/services/groundstation.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: groundstation diff --git a/src/services/guardduty.jl b/src/services/guardduty.jl index 90029f0931..aea37e1c16 100644 --- a/src/services/guardduty.jl +++ b/src/services/guardduty.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: guardduty diff --git a/src/services/health.jl b/src/services/health.jl index 142fa8e29d..f3ece9a5cc 100644 --- a/src/services/health.jl +++ b/src/services/health.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: health diff --git a/src/services/iam.jl b/src/services/iam.jl index e39e9a0402..40358b9a46 100644 --- a/src/services/iam.jl +++ b/src/services/iam.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: iam diff --git a/src/services/imagebuilder.jl b/src/services/imagebuilder.jl index c60dc918cb..ca6cc2796d 100644 --- a/src/services/imagebuilder.jl +++ b/src/services/imagebuilder.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: imagebuilder diff --git a/src/services/importexport.jl b/src/services/importexport.jl index 725e78c6d0..13f9838f1b 100644 --- a/src/services/importexport.jl +++ b/src/services/importexport.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: importexport diff --git a/src/services/inspector.jl b/src/services/inspector.jl index ac389fc693..b9bc9466e9 100644 --- a/src/services/inspector.jl +++ b/src/services/inspector.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: inspector diff --git a/src/services/iot.jl b/src/services/iot.jl index 8f6034efe7..93e74ba80c 100644 --- a/src/services/iot.jl +++ b/src/services/iot.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: iot @@ -945,6 +946,20 @@ Optional Parameters """ GetCardinality(args) = iot("POST", "/indices/cardinality", args) +""" + ListDimensions() + +List the set of dimensions that are defined for your AWS account. + +Optional Parameters +{ + "maxResults": "The maximum number of results to retrieve at one time.", + "nextToken": "The token for the next set of results." +} +""" +ListDimensions() = iot("GET", "/dimensions") +ListDimensions(args) = iot("GET", "/dimensions", args) + """ UpdateAccountAuditConfiguration() @@ -1003,7 +1018,8 @@ Optional Parameters "deleteBehaviors": "If true, delete all behaviors defined for this security profile. If any behaviors are defined in the current invocation, an exception occurs.", "expectedVersion": "The expected version of the security profile. A new version is generated whenever the security profile is updated. If you specify a value that is different from the actual version, a VersionConflictException is thrown.", "deleteAdditionalMetricsToRetain": "If true, delete all additionalMetricsToRetain defined for this security profile. If any additionalMetricsToRetain are defined in the current invocation, an exception occurs.", - "additionalMetricsToRetain": "A list of metrics whose data is retained (stored). By default, data is retained for any metric used in the profile's behaviors, but it is also retained for any metric specified here.", + "additionalMetricsToRetain": "A list of metrics whose data is retained (stored). By default, data is retained for any metric used in the profile's behaviors, but it is also retained for any metric specified here. Note: This API field is deprecated. Please use UpdateSecurityProfileRequest additionalMetricsToRetainV2 instead.", + "additionalMetricsToRetainV2": "A list of metrics whose data is retained (stored). By default, data is retained for any metric used in the profile's behaviors, but it is also retained for any metric specified here.", "securityProfileDescription": "A description of the security profile." } """ @@ -1208,6 +1224,26 @@ Required Parameters """ DescribeScheduledAudit(args) = iot("GET", "/audit/scheduledaudits/{scheduledAuditName}", args) +""" + CreateDimension() + +Create a dimension that you can use to limit the scope of a metric used in a security profile for AWS IoT Device Defender. For example, using a TOPIC_FILTER dimension, you can narrow down the scope of the metric only to MQTT topics whose name match the pattern specified in the dimension. + +Required Parameters +{ + "name": "A unique identifier for the dimension. Choose something that describes the type and value to make it easy to remember what it does.", + "clientRequestToken": "Each dimension must have a unique client request token. If you try to create a new dimension with the same token as a dimension that already exists, an exception occurs. If you omit this value, AWS SDKs will automatically generate a unique client request.", + "stringValues": "Specifies the value or list of values for the dimension. For TOPIC_FILTER dimensions, this is a pattern used to match the MQTT topic (for example, \"admin/#\").", + "type": "Specifies the type of dimension. Supported types: TOPIC_FILTER. " +} + +Optional Parameters +{ + "tags": "Metadata that can be used to manage the dimension." +} +""" +CreateDimension(args) = iot("POST", "/dimensions/{name}", args) + """ GetEffectivePolicies() @@ -1598,6 +1634,18 @@ Optional Parameters """ CreateDomainConfiguration(args) = iot("POST", "/domainConfigurations/{domainConfigurationName}", args) +""" + DescribeDimension() + +Provides details about a dimension that is defined in your AWS account. + +Required Parameters +{ + "name": "The unique identifier for the dimension." +} +""" +DescribeDimension(args) = iot("GET", "/dimensions/{name}", args) + """ ListOTAUpdates() @@ -2676,6 +2724,18 @@ Optional Parameters """ UpdateDynamicThingGroup(args) = iot("PATCH", "/dynamic-thing-groups/{thingGroupName}", args) +""" + DeleteDimension() + +Removes the specified dimension from your AWS account. + +Required Parameters +{ + "name": "The unique identifier for the dimension that you want to delete." +} +""" +DeleteDimension(args) = iot("DELETE", "/dimensions/{name}", args) + """ ListTagsForResource() @@ -2700,6 +2760,7 @@ Lists the Device Defender security profiles you have created. You can use filter Optional Parameters { + "dimensionName": "A filter to limit results to the security profiles that use the defined dimension.", "maxResults": "The maximum number of results to return at one time.", "nextToken": "The token for the next set of results." } @@ -2905,7 +2966,8 @@ Optional Parameters "behaviors": "Specifies the behaviors that, when violated by a device (thing), cause an alert.", "alertTargets": "Specifies the destinations to which alerts are sent. (Alerts are always sent to the console.) Alerts are generated when a device (thing) violates a behavior.", "tags": "Metadata that can be used to manage the security profile.", - "additionalMetricsToRetain": "A list of metrics whose data is retained (stored). By default, data is retained for any metric used in the profile's behaviors, but it is also retained for any metric specified here.", + "additionalMetricsToRetain": "A list of metrics whose data is retained (stored). By default, data is retained for any metric used in the profile's behaviors, but it is also retained for any metric specified here. Note: This API field is deprecated. Please use CreateSecurityProfileRequest additionalMetricsToRetainV2 instead.", + "additionalMetricsToRetainV2": "A list of metrics whose data is retained (stored). By default, data is retained for any metric used in the profile's behaviors, but it is also retained for any metric specified here.", "securityProfileDescription": "A description of the security profile." } """ @@ -3040,6 +3102,19 @@ Optional Parameters """ SearchIndex(args) = iot("POST", "/indices/search", args) +""" + UpdateDimension() + +Updates the definition for a dimension. You cannot change the type of a dimension after it is created (you can delete it and re-create it). + +Required Parameters +{ + "name": "A unique identifier for the dimension. Choose something that describes the type and value to make it easy to remember what it does.", + "stringValues": "Specifies the value or list of values for the dimension. For TOPIC_FILTER dimensions, this is a pattern used to match the MQTT topic (for example, \"admin/#\")." +} +""" +UpdateDimension(args) = iot("PATCH", "/dimensions/{name}", args) + """ CancelCertificateTransfer() diff --git a/src/services/iot_1click_devices_service.jl b/src/services/iot_1click_devices_service.jl index 33b1a58e53..110331d46a 100644 --- a/src/services/iot_1click_devices_service.jl +++ b/src/services/iot_1click_devices_service.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: iot_1click_devices_service diff --git a/src/services/iot_1click_projects.jl b/src/services/iot_1click_projects.jl index f5a6f1448a..fb08938b5f 100644 --- a/src/services/iot_1click_projects.jl +++ b/src/services/iot_1click_projects.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: iot_1click_projects diff --git a/src/services/iot_data_plane.jl b/src/services/iot_data_plane.jl index eb0155487a..bfc5a72808 100644 --- a/src/services/iot_data_plane.jl +++ b/src/services/iot_data_plane.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: iot_data_plane diff --git a/src/services/iot_events.jl b/src/services/iot_events.jl index 94de2edbf6..0444e7100d 100644 --- a/src/services/iot_events.jl +++ b/src/services/iot_events.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: iot_events diff --git a/src/services/iot_events_data.jl b/src/services/iot_events_data.jl index 8e047c7845..df05bdb390 100644 --- a/src/services/iot_events_data.jl +++ b/src/services/iot_events_data.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: iot_events_data diff --git a/src/services/iot_jobs_data_plane.jl b/src/services/iot_jobs_data_plane.jl index 8815b4f6fc..809a59a245 100644 --- a/src/services/iot_jobs_data_plane.jl +++ b/src/services/iot_jobs_data_plane.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: iot_jobs_data_plane diff --git a/src/services/iotanalytics.jl b/src/services/iotanalytics.jl index bd9be7ff42..a95a67d381 100644 --- a/src/services/iotanalytics.jl +++ b/src/services/iotanalytics.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: iotanalytics diff --git a/src/services/iotsecuretunneling.jl b/src/services/iotsecuretunneling.jl index e21dd03349..7ddc2ab3af 100644 --- a/src/services/iotsecuretunneling.jl +++ b/src/services/iotsecuretunneling.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: iotsecuretunneling diff --git a/src/services/iotthingsgraph.jl b/src/services/iotthingsgraph.jl index be5ddf60f5..504597a873 100644 --- a/src/services/iotthingsgraph.jl +++ b/src/services/iotthingsgraph.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: iotthingsgraph diff --git a/src/services/kafka.jl b/src/services/kafka.jl index 483b7bb391..84ef21cfdc 100644 --- a/src/services/kafka.jl +++ b/src/services/kafka.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: kafka diff --git a/src/services/kendra.jl b/src/services/kendra.jl index 3c0bae4132..855b1829f1 100644 --- a/src/services/kendra.jl +++ b/src/services/kendra.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: kendra diff --git a/src/services/kinesis.jl b/src/services/kinesis.jl index c8df74ee64..c5f3d38a66 100644 --- a/src/services/kinesis.jl +++ b/src/services/kinesis.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: kinesis diff --git a/src/services/kinesis_analytics.jl b/src/services/kinesis_analytics.jl index fa07d672db..8dc3efaf88 100644 --- a/src/services/kinesis_analytics.jl +++ b/src/services/kinesis_analytics.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: kinesis_analytics diff --git a/src/services/kinesis_analytics_v2.jl b/src/services/kinesis_analytics_v2.jl index 1304cfdd9a..2a720a662b 100644 --- a/src/services/kinesis_analytics_v2.jl +++ b/src/services/kinesis_analytics_v2.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: kinesis_analytics_v2 diff --git a/src/services/kinesis_video.jl b/src/services/kinesis_video.jl index cc715687ad..67addf86c1 100644 --- a/src/services/kinesis_video.jl +++ b/src/services/kinesis_video.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: kinesis_video diff --git a/src/services/kinesis_video_archived_media.jl b/src/services/kinesis_video_archived_media.jl index 9ffba6e867..5f4143e3cf 100644 --- a/src/services/kinesis_video_archived_media.jl +++ b/src/services/kinesis_video_archived_media.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: kinesis_video_archived_media diff --git a/src/services/kinesis_video_media.jl b/src/services/kinesis_video_media.jl index b548a1511d..0743fb7b9e 100644 --- a/src/services/kinesis_video_media.jl +++ b/src/services/kinesis_video_media.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: kinesis_video_media diff --git a/src/services/kinesis_video_signaling.jl b/src/services/kinesis_video_signaling.jl index 51aa84af27..86a600bada 100644 --- a/src/services/kinesis_video_signaling.jl +++ b/src/services/kinesis_video_signaling.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: kinesis_video_signaling diff --git a/src/services/kms.jl b/src/services/kms.jl index 5bbbf9eed1..b0fc3517bf 100644 --- a/src/services/kms.jl +++ b/src/services/kms.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: kms diff --git a/src/services/lakeformation.jl b/src/services/lakeformation.jl index 63046f091a..927fa3f201 100644 --- a/src/services/lakeformation.jl +++ b/src/services/lakeformation.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: lakeformation diff --git a/src/services/lambda.jl b/src/services/lambda.jl index 82ac74fff0..49755a1622 100644 --- a/src/services/lambda.jl +++ b/src/services/lambda.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: lambda @@ -150,7 +151,7 @@ Optional Parameters "MaximumRetryAttempts": "(Streams) The maximum number of times to retry when the function returns an error.", "BatchSize": "The maximum number of items to retrieve in a single batch. Amazon Kinesis - Default 100. Max 10,000. Amazon DynamoDB Streams - Default 100. Max 1,000. Amazon Simple Queue Service - Default 10. Max 10. ", "StartingPosition": "The position in a stream from which to start reading. Required for Amazon Kinesis and Amazon DynamoDB Streams sources. AT_TIMESTAMP is only supported for Amazon Kinesis streams.", - "MaximumBatchingWindowInSeconds": "The maximum amount of time to gather records before invoking the function, in seconds.", + "MaximumBatchingWindowInSeconds": "(Streams) The maximum amount of time to gather records before invoking the function, in seconds.", "StartingPositionTimestamp": "With StartingPosition set to AT_TIMESTAMP, the time from which to start reading.", "MaximumRecordAgeInSeconds": "(Streams) The maximum age of a record that Lambda sends to a function for processing.", "ParallelizationFactor": "(Streams) The number of batches to process from each shard concurrently.", @@ -274,7 +275,7 @@ Optional Parameters "MaximumRetryAttempts": "(Streams) The maximum number of times to retry when the function returns an error.", "FunctionName": "The name of the Lambda function. Name formats Function name - MyFunction. Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction. Version or Alias ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction:PROD. Partial ARN - 123456789012:function:MyFunction. The length constraint applies only to the full ARN. If you specify only the function name, it's limited to 64 characters in length.", "BatchSize": "The maximum number of items to retrieve in a single batch. Amazon Kinesis - Default 100. Max 10,000. Amazon DynamoDB Streams - Default 100. Max 1,000. Amazon Simple Queue Service - Default 10. Max 10. ", - "MaximumBatchingWindowInSeconds": "The maximum amount of time to gather records before invoking the function, in seconds.", + "MaximumBatchingWindowInSeconds": "(Streams) The maximum amount of time to gather records before invoking the function, in seconds.", "MaximumRecordAgeInSeconds": "(Streams) The maximum age of a record that Lambda sends to a function for processing.", "ParallelizationFactor": "(Streams) The number of batches to process from each shard concurrently.", "Enabled": "Disables the event source mapping to pause polling and invocation.", @@ -806,7 +807,7 @@ ListFunctions(args) = lambda("GET", "/2015-03-31/functions/", args) """ AddPermission() -Grants an AWS service or another account permission to use a function. You can apply the policy at the function level, or specify a qualifier to restrict access to a single version or alias. If you use a qualifier, the invoker must use the full Amazon Resource Name (ARN) of that version or alias to invoke the function. To grant permission to another account, specify the account ID as the Principal. For AWS services, the principal is a domain-style identifier defined by the service, like s3.amazonaws.com or sns.amazonaws.com. For AWS services, you can also specify the ARN or owning account of the associated resource as the SourceArn or SourceAccount. If you grant permission to a service principal without specifying the source, other accounts could potentially configure resources in their account to invoke your Lambda function. This action adds a statement to a resource-based permissions policy for the function. For more information about function policies, see Lambda Function Policies. +Grants an AWS service or another account permission to use a function. You can apply the policy at the function level, or specify a qualifier to restrict access to a single version or alias. If you use a qualifier, the invoker must use the full Amazon Resource Name (ARN) of that version or alias to invoke the function. To grant permission to another account, specify the account ID as the Principal. For AWS services, the principal is a domain-style identifier defined by the service, like s3.amazonaws.com or sns.amazonaws.com. For AWS services, you can also specify the ARN of the associated resource as the SourceArn. If you grant permission to a service principal without specifying the source, other accounts could potentially configure resources in their account to invoke your Lambda function. This action adds a statement to a resource-based permissions policy for the function. For more information about function policies, see Lambda Function Policies. Required Parameters { @@ -819,7 +820,7 @@ Required Parameters Optional Parameters { "SourceArn": "For AWS services, the ARN of the AWS resource that invokes the function. For example, an Amazon S3 bucket or Amazon SNS topic.", - "SourceAccount": "For AWS services, the ID of the account that owns the resource. Use this instead of SourceArn to grant permission to resources that are owned by another account (for example, all of an account's Amazon S3 buckets). Or use it together with SourceArn to ensure that the resource is owned by the specified account. For example, an Amazon S3 bucket could be deleted by its owner and recreated by another account.", + "SourceAccount": "For Amazon S3, the ID of the account that owns the resource. Use this together with SourceArn to ensure that the resource is owned by the specified account. It is possible for an Amazon S3 bucket to be deleted by its owner and recreated by another account.", "Qualifier": "Specify a version or alias to add permissions to a published version of the function.", "RevisionId": "Only update the policy if the revision ID matches the ID that's specified. Use this option to avoid modifying a policy that has changed since you last read it.", "EventSourceToken": "For Alexa Smart Home functions, a token that must be supplied by the invoker." diff --git a/src/services/lex_model_building_service.jl b/src/services/lex_model_building_service.jl index dcd6ccc04c..fb3d12dc08 100644 --- a/src/services/lex_model_building_service.jl +++ b/src/services/lex_model_building_service.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: lex_model_building_service diff --git a/src/services/lex_runtime_service.jl b/src/services/lex_runtime_service.jl index 3bd1b726f5..8ecad19c7a 100644 --- a/src/services/lex_runtime_service.jl +++ b/src/services/lex_runtime_service.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: lex_runtime_service diff --git a/src/services/license_manager.jl b/src/services/license_manager.jl index 8f485e5ef0..ad538c26a6 100644 --- a/src/services/license_manager.jl +++ b/src/services/license_manager.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: license_manager diff --git a/src/services/lightsail.jl b/src/services/lightsail.jl index c3bb0afe25..b17db95cf8 100644 --- a/src/services/lightsail.jl +++ b/src/services/lightsail.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: lightsail diff --git a/src/services/machine_learning.jl b/src/services/machine_learning.jl index b4be313554..e62049fd9c 100644 --- a/src/services/machine_learning.jl +++ b/src/services/machine_learning.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: machine_learning diff --git a/src/services/macie.jl b/src/services/macie.jl index 39a2638010..ebd8198666 100644 --- a/src/services/macie.jl +++ b/src/services/macie.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: macie diff --git a/src/services/managedblockchain.jl b/src/services/managedblockchain.jl index 4e6bb47022..786ea1b5b7 100644 --- a/src/services/managedblockchain.jl +++ b/src/services/managedblockchain.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: managedblockchain diff --git a/src/services/marketplace_catalog.jl b/src/services/marketplace_catalog.jl index 5f75464333..a1ccd87d42 100644 --- a/src/services/marketplace_catalog.jl +++ b/src/services/marketplace_catalog.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: marketplace_catalog diff --git a/src/services/marketplace_commerce_analytics.jl b/src/services/marketplace_commerce_analytics.jl index a0e6288c52..2324ae5bca 100644 --- a/src/services/marketplace_commerce_analytics.jl +++ b/src/services/marketplace_commerce_analytics.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: marketplace_commerce_analytics diff --git a/src/services/marketplace_entitlement_service.jl b/src/services/marketplace_entitlement_service.jl index 3b53a335e1..9c6264a12b 100644 --- a/src/services/marketplace_entitlement_service.jl +++ b/src/services/marketplace_entitlement_service.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: marketplace_entitlement_service diff --git a/src/services/marketplace_metering.jl b/src/services/marketplace_metering.jl index a163cbe912..6a4a905f31 100644 --- a/src/services/marketplace_metering.jl +++ b/src/services/marketplace_metering.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: marketplace_metering diff --git a/src/services/mediaconnect.jl b/src/services/mediaconnect.jl index 275bba04d0..9469c8ff66 100644 --- a/src/services/mediaconnect.jl +++ b/src/services/mediaconnect.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: mediaconnect @@ -181,14 +182,15 @@ Required Parameters Optional Parameters { "EntitlementArn": "The ARN of the entitlement that allows you to subscribe to this flow. The entitlement is set by the flow originator, and the ARN is generated as part of the originator's flow.", + "VpcInterfaceName": "The name of the VPC Interface to configure this Source with.", "Description": "A description for the source. This value is not used or seen outside of the current AWS Elemental MediaConnect account.", "MaxLatency": "The maximum latency in milliseconds. This parameter applies only to RIST-based and Zixi-based streams.", "MaxBitrate": "The smoothing max bitrate for RIST, RTP, and RTP-FEC streams.", - "WhitelistCidr": "The range of IP addresses that should be allowed to contribute content to your source. These IP addresses should be in the form of a Classless Inter-Domain Routing (CIDR) block; for example, 10.0.0.0/16.", "Decryption": "The type of encryption used on the content ingested from this source.", + "StreamId": "The stream ID that you want to use for this transport. This parameter applies only to Zixi-based streams.", "IngestPort": "The port that the flow will be listening on for incoming content.", "Protocol": "The protocol that is used by the source.", - "StreamId": "The stream ID that you want to use for this transport. This parameter applies only to Zixi-based streams." + "WhitelistCidr": "The range of IP addresses that should be allowed to contribute content to your source. These IP addresses should be in the form of a Classless Inter-Domain Routing (CIDR) block; for example, 10.0.0.0/16." } """ UpdateFlowSource(args) = mediaconnect("PUT", "/v1/flows/{flowArn}/source/{sourceArn}", args) @@ -217,6 +219,19 @@ Required Parameters """ StartFlow(args) = mediaconnect("POST", "/v1/flows/start/{flowArn}", args) +""" + AddFlowVpcInterfaces() + +Adds VPC interfaces to flow + +Required Parameters +{ + "VpcInterfaces": "A list of VPC interfaces that you want to add.", + "FlowArn": "The flow that you want to mutate." +} +""" +AddFlowVpcInterfaces(args) = mediaconnect("POST", "/v1/flows/{flowArn}/vpcInterfaces", args) + """ RevokeFlowEntitlement() @@ -269,6 +284,7 @@ Required Parameters Optional Parameters { + "VpcInterfaces": "The VPC interfaces you want on the flow.", "Source": "", "SourceFailoverConfig": "", "AvailabilityZone": "The Availability Zone that you want to create the flow in. These options are limited to the Availability Zones within the current AWS Region.", @@ -292,6 +308,19 @@ Required Parameters """ RemoveFlowOutput(args) = mediaconnect("DELETE", "/v1/flows/{flowArn}/outputs/{outputArn}", args) +""" + RemoveFlowVpcInterface() + +Removes a VPC Interface from an existing flow. This request can be made only on a VPC interface that does not have a Source or Output associated with it. If the VPC interface is referenced by a Source or Output, you must first delete or update the Source or Output to no longer reference the VPC interface. + +Required Parameters +{ + "VpcInterfaceName": "The name of the VPC interface that you want to remove.", + "FlowArn": "The flow that you want to remove a VPC interface from." +} +""" +RemoveFlowVpcInterface(args) = mediaconnect("DELETE", "/v1/flows/{flowArn}/vpcInterfaces/{vpcInterfaceName}", args) + """ GrantFlowEntitlements() diff --git a/src/services/mediaconvert.jl b/src/services/mediaconvert.jl index 957aef79f8..da2690c700 100644 --- a/src/services/mediaconvert.jl +++ b/src/services/mediaconvert.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: mediaconvert diff --git a/src/services/medialive.jl b/src/services/medialive.jl index d13e7aa42f..f483e9f68d 100644 --- a/src/services/medialive.jl +++ b/src/services/medialive.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: medialive diff --git a/src/services/mediapackage.jl b/src/services/mediapackage.jl index 98a461b13a..97576d101e 100644 --- a/src/services/mediapackage.jl +++ b/src/services/mediapackage.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: mediapackage diff --git a/src/services/mediapackage_vod.jl b/src/services/mediapackage_vod.jl index 0885a13ae7..822ac96ac8 100644 --- a/src/services/mediapackage_vod.jl +++ b/src/services/mediapackage_vod.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: mediapackage_vod diff --git a/src/services/mediastore.jl b/src/services/mediastore.jl index afa872291c..bb9cb5cb3f 100644 --- a/src/services/mediastore.jl +++ b/src/services/mediastore.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: mediastore @@ -13,6 +14,18 @@ Required Parameters """ ListTagsForResource(args) = mediastore("ListTagsForResource", args) +""" + DeleteMetricPolicy() + +Deletes the metric policy that is associated with the specified container. If there is no metric policy associated with the container, MediaStore doesn't send metrics to CloudWatch. + +Required Parameters +{ + "ContainerName": "The name of the container that is associated with the metric policy that you want to delete." +} +""" +DeleteMetricPolicy(args) = mediastore("DeleteMetricPolicy", args) + """ ListContainers() @@ -39,6 +52,19 @@ Required Parameters """ DeleteCorsPolicy(args) = mediastore("DeleteCorsPolicy", args) +""" + PutMetricPolicy() + +The metric policy that you want to add to the container. A metric policy allows AWS Elemental MediaStore to send metrics to Amazon CloudWatch. It takes up to 20 minutes for the new policy to take effect. + +Required Parameters +{ + "MetricPolicy": "The metric policy that you want to associate with the container. In the policy, you must indicate whether you want MediaStore to send container-level metrics. You can also include up to five rules to define groups of objects that you want MediaStore to send object-level metrics for. If you include rules in the policy, construct each rule with both of the following: An object group that defines which objects to include in the group. The definition can be a path or a file name, but it can't have more than 900 characters. Valid characters are: a-z, A-Z, 0-9, _ (underscore), = (equal), : (colon), . (period), - (hyphen), ~ (tilde), / (forward slash), and * (asterisk). Wildcards (*) are acceptable. An object group name that allows you to refer to the object group. The name can't have more than 30 characters. Valid characters are: a-z, A-Z, 0-9, and _ (underscore). ", + "ContainerName": "The name of the container that you want to add the metric policy to." +} +""" +PutMetricPolicy(args) = mediastore("PutMetricPolicy", args) + """ StartAccessLogging() @@ -229,3 +255,15 @@ Required Parameters } """ DeleteContainerPolicy(args) = mediastore("DeleteContainerPolicy", args) + +""" + GetMetricPolicy() + +Returns the metric policy for the specified container. + +Required Parameters +{ + "ContainerName": "The name of the container that is associated with the metric policy." +} +""" +GetMetricPolicy(args) = mediastore("GetMetricPolicy", args) diff --git a/src/services/mediastore_data.jl b/src/services/mediastore_data.jl index 22935cf56e..bcb7c48c22 100644 --- a/src/services/mediastore_data.jl +++ b/src/services/mediastore_data.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: mediastore_data diff --git a/src/services/mediatailor.jl b/src/services/mediatailor.jl index 863f86728a..98fa7c5f83 100644 --- a/src/services/mediatailor.jl +++ b/src/services/mediatailor.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: mediatailor diff --git a/src/services/migration_hub.jl b/src/services/migration_hub.jl index 1482660bbf..40339c4d20 100644 --- a/src/services/migration_hub.jl +++ b/src/services/migration_hub.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: migration_hub diff --git a/src/services/migrationhub_config.jl b/src/services/migrationhub_config.jl index adb3eb7b72..aaf9d8a6f7 100644 --- a/src/services/migrationhub_config.jl +++ b/src/services/migrationhub_config.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: migrationhub_config diff --git a/src/services/mobile.jl b/src/services/mobile.jl index bc0d0c910c..380f10aef8 100644 --- a/src/services/mobile.jl +++ b/src/services/mobile.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: mobile diff --git a/src/services/mobile_analytics.jl b/src/services/mobile_analytics.jl index 0341ed20ea..a817edabdd 100644 --- a/src/services/mobile_analytics.jl +++ b/src/services/mobile_analytics.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: mobile_analytics diff --git a/src/services/mq.jl b/src/services/mq.jl index c47aaa1cc5..cfb05200ae 100644 --- a/src/services/mq.jl +++ b/src/services/mq.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: mq diff --git a/src/services/mturk.jl b/src/services/mturk.jl index 81539f5394..6fe331e3ad 100644 --- a/src/services/mturk.jl +++ b/src/services/mturk.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: mturk diff --git a/src/services/neptune.jl b/src/services/neptune.jl index f7ad93afb0..d17d2ef058 100644 --- a/src/services/neptune.jl +++ b/src/services/neptune.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: neptune diff --git a/src/services/networkmanager.jl b/src/services/networkmanager.jl index 45ed0248be..b5a22add22 100644 --- a/src/services/networkmanager.jl +++ b/src/services/networkmanager.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: networkmanager diff --git a/src/services/opsworks.jl b/src/services/opsworks.jl index 918b7df00d..2f64152820 100644 --- a/src/services/opsworks.jl +++ b/src/services/opsworks.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: opsworks diff --git a/src/services/opsworkscm.jl b/src/services/opsworkscm.jl index a9cabc2dd3..70f7bfaf72 100644 --- a/src/services/opsworkscm.jl +++ b/src/services/opsworkscm.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: opsworkscm @@ -49,20 +50,20 @@ Required Parameters Optional Parameters { - "CustomPrivateKey": "Supported on servers running Chef Automate 2. A private key in PEM format for connecting to the server by using HTTPS. The private key must not be encrypted; it cannot be protected by a password or passphrase. If you specify a custom private key, you must also specify values for CustomDomain and CustomCertificate.", - "PreferredMaintenanceWindow": " The start time for a one-hour period each week during which AWS OpsWorks CM performs maintenance on the instance. Valid values must be specified in the following format: DDD:HH:MM. The specified time is in coordinated universal time (UTC). The default value is a random one-hour period on Tuesday, Wednesday, or Friday. See TimeWindowDefinition for more information. Example: Mon:08:00, which represents a start time of every Monday at 08:00 UTC. (8:00 a.m.) ", + "CustomPrivateKey": "A private key in PEM format for connecting to the server by using HTTPS. The private key must not be encrypted; it cannot be protected by a password or passphrase. If you specify a custom private key, you must also specify values for CustomDomain and CustomCertificate.", + "PreferredMaintenanceWindow": " The start time for a one-hour period each week during which AWS OpsWorks CM performs maintenance on the instance. Valid values must be specified in the following format: DDD:HH:MM. MM must be specified as 00. The specified time is in coordinated universal time (UTC). The default value is a random one-hour period on Tuesday, Wednesday, or Friday. See TimeWindowDefinition for more information. Example: Mon:08:00, which represents a start time of every Monday at 08:00 UTC. (8:00 a.m.) ", "KeyPair": " The Amazon EC2 key pair to set for the instance. This parameter is optional; if desired, you may specify this parameter to connect to your instances by using SSH. ", - "Tags": "A map that contains tag keys and tag values to attach to an AWS OpsWorks for Chef Automate or AWS OpsWorks for Puppet Enterprise server. The key cannot be empty. The key can be a maximum of 127 characters, and can contain only Unicode letters, numbers, or separators, or the following special characters: + - = . _ : / The value can be a maximum 255 characters, and contain only Unicode letters, numbers, or separators, or the following special characters: + - = . _ : / Leading and trailing white spaces are trimmed from both the key and value. A maximum of 50 user-applied tags is allowed for any AWS OpsWorks-CM server. ", + "Tags": "A map that contains tag keys and tag values to attach to an AWS OpsWorks for Chef Automate or AWS OpsWorks for Puppet Enterprise server. The key cannot be empty. The key can be a maximum of 127 characters, and can contain only Unicode letters, numbers, or separators, or the following special characters: + - = . _ : / @ The value can be a maximum 255 characters, and contain only Unicode letters, numbers, or separators, or the following special characters: + - = . _ : / @ Leading and trailing white spaces are trimmed from both the key and value. A maximum of 50 user-applied tags is allowed for any AWS OpsWorks-CM server. ", "AssociatePublicIpAddress": " Associate a public IP address with a server that you are launching. Valid values are true or false. The default value is true. ", "Engine": " The configuration management engine to use. Valid values include ChefAutomate and Puppet. ", "DisableAutomatedBackup": " Enable or disable scheduled backups. Valid values are true or false. The default value is true. ", - "PreferredBackupWindow": " The start time for a one-hour period during which AWS OpsWorks CM backs up application-level data on your server if automated backups are enabled. Valid values must be specified in one of the following formats: HH:MM for daily backups DDD:HH:MM for weekly backups The specified time is in coordinated universal time (UTC). The default value is a random, daily start time. Example: 08:00, which represents a daily start time of 08:00 UTC. Example: Mon:08:00, which represents a start time of every Monday at 08:00 UTC. (8:00 a.m.)", + "PreferredBackupWindow": " The start time for a one-hour period during which AWS OpsWorks CM backs up application-level data on your server if automated backups are enabled. Valid values must be specified in one of the following formats: HH:MM for daily backups DDD:HH:MM for weekly backups MM must be specified as 00. The specified time is in coordinated universal time (UTC). The default value is a random, daily start time. Example: 08:00, which represents a daily start time of 08:00 UTC. Example: Mon:08:00, which represents a start time of every Monday at 08:00 UTC. (8:00 a.m.)", "SecurityGroupIds": " A list of security group IDs to attach to the Amazon EC2 instance. If you add this parameter, the specified security groups must be within the VPC that is specified by SubnetIds. If you do not specify this parameter, AWS OpsWorks CM creates one new security group that uses TCP ports 22 and 443, open to 0.0.0.0/0 (everyone). ", "SubnetIds": " The IDs of subnets in which to launch the server EC2 instance. Amazon EC2-Classic customers: This field is required. All servers must run within a VPC. The VPC must have \"Auto Assign Public IP\" enabled. EC2-VPC customers: This field is optional. If you do not specify subnet IDs, your EC2 instances are created in a default subnet that is selected by Amazon EC2. If you specify subnet IDs, the VPC must have \"Auto Assign Public IP\" enabled. For more information about supported Amazon EC2 platforms, see Supported Platforms.", - "EngineVersion": " The major release version of the engine that you want to use. For a Chef server, the valid value for EngineVersion is currently 12. For a Puppet server, the valid value is 2017. ", + "EngineVersion": " The major release version of the engine that you want to use. For a Chef server, the valid value for EngineVersion is currently 2. For a Puppet server, the valid value is 2017. ", "BackupId": " If you specify this field, AWS OpsWorks CM creates the server by using the backup represented by BackupId. ", - "CustomCertificate": "Supported on servers running Chef Automate 2. A PEM-formatted HTTPS certificate. The value can be be a single, self-signed certificate, or a certificate chain. If you specify a custom certificate, you must also specify values for CustomDomain and CustomPrivateKey. The following are requirements for the CustomCertificate value: You can provide either a self-signed, custom certificate, or the full certificate chain. The certificate must be a valid X509 certificate, or a certificate chain in PEM format. The certificate must be valid at the time of upload. A certificate can't be used before its validity period begins (the certificate's NotBefore date), or after it expires (the certificate's NotAfter date). The certificate’s common name or subject alternative names (SANs), if present, must match the value of CustomDomain. The certificate must match the value of CustomPrivateKey. ", - "CustomDomain": "Supported on servers running Chef Automate 2. An optional public endpoint of a server, such as https://aws.my-company.com. To access the server, create a CNAME DNS record in your preferred DNS service that points the custom domain to the endpoint that is generated when the server is created (the value of the CreateServer Endpoint attribute). You cannot access the server by using the generated Endpoint value if the server is using a custom domain. If you specify a custom domain, you must also specify values for CustomCertificate and CustomPrivateKey.", + "CustomCertificate": "A PEM-formatted HTTPS certificate. The value can be be a single, self-signed certificate, or a certificate chain. If you specify a custom certificate, you must also specify values for CustomDomain and CustomPrivateKey. The following are requirements for the CustomCertificate value: You can provide either a self-signed, custom certificate, or the full certificate chain. The certificate must be a valid X509 certificate, or a certificate chain in PEM format. The certificate must be valid at the time of upload. A certificate can't be used before its validity period begins (the certificate's NotBefore date), or after it expires (the certificate's NotAfter date). The certificate’s common name or subject alternative names (SANs), if present, must match the value of CustomDomain. The certificate must match the value of CustomPrivateKey. ", + "CustomDomain": "An optional public endpoint of a server, such as https://aws.my-company.com. To access the server, create a CNAME DNS record in your preferred DNS service that points the custom domain to the endpoint that is generated when the server is created (the value of the CreateServer Endpoint attribute). You cannot access the server by using the generated Endpoint value if the server is using a custom domain. If you specify a custom domain, you must also specify values for CustomCertificate and CustomPrivateKey.", "BackupRetentionCount": " The number of automated backups that you want to keep. Whenever a new backup is created, AWS OpsWorks CM deletes the oldest backups if this number is exceeded. The default value is 1. ", "EngineAttributes": "Optional engine attributes on a specified server. Attributes accepted in a Chef createServer request: CHEF_AUTOMATE_PIVOTAL_KEY: A base64-encoded RSA public key. The corresponding private key is required to access the Chef API. When no CHEF_AUTOMATE_PIVOTAL_KEY is set, a private key is generated and returned in the response. CHEF_AUTOMATE_ADMIN_PASSWORD: The password for the administrative user in the Chef Automate web-based dashboard. The password length is a minimum of eight characters, and a maximum of 32. The password can contain letters, numbers, and special characters (!/@# %^&+=_). The password must contain at least one lower case letter, one upper case letter, one number, and one special character. When no CHEF_AUTOMATE_ADMIN_PASSWORD is set, one is generated and returned in the response. Attributes accepted in a Puppet createServer request: PUPPET_ADMIN_PASSWORD: To work with the Puppet Enterprise console, a password must use ASCII characters. PUPPET_R10K_REMOTE: The r10k remote is the URL of your control repository (for example, ssh://git@your.git-repo.com:user/control-repo.git). Specifying an r10k remote opens TCP port 8170. PUPPET_R10K_PRIVATE_KEY: If you are using a private Git repository, add PUPPET_R10K_PRIVATE_KEY to specify a PEM-encoded private SSH key. ", "EngineModel": " The engine model of the server. Valid values in this release include Monolithic for Puppet and Single for Chef. " diff --git a/src/services/organizations.jl b/src/services/organizations.jl index 58f7aae131..4e16e32f00 100644 --- a/src/services/organizations.jl +++ b/src/services/organizations.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: organizations @@ -330,7 +331,7 @@ ListDelegatedAdministrators(args) = organizations("ListDelegatedAdministrators", """ DeregisterDelegatedAdministrator() -Removes the specified member AWS account as a delegated administrator for the specified AWS service. You can run this action only for AWS services that support this feature. For a current list of services that support it, see AWS Services That Support Using Delegated Administrators in the AWS Organizations User Guide. This operation can be called only from the organization's master account. +Removes the specified member AWS account as a delegated administrator for the specified AWS service. You can run this action only for AWS services that support this feature. For a current list of services that support it, see the column Supports Delegated Administrator in the table at AWS Services that you can use with AWS Organizations in the AWS Organizations User Guide. This operation can be called only from the organization's master account. Required Parameters { @@ -650,7 +651,7 @@ DescribeAccount(args) = organizations("DescribeAccount", args) """ RegisterDelegatedAdministrator() -Enables the specified member account to administer the Organizations features of the specified AWS service. It grants read-only access to AWS Organizations service data. The account still requires IAM permissions to access and administer the AWS service. You can run this action only for AWS services that support this feature. For a current list of services that support it, see AWS Services That Support Using Delegated Administrators in the AWS Organizations User Guide. This operation can be called only from the organization's master account. +Enables the specified member account to administer the Organizations features of the specified AWS service. It grants read-only access to AWS Organizations service data. The account still requires IAM permissions to access and administer the AWS service. You can run this action only for AWS services that support this feature. For a current list of services that support it, see the column Supports Delegated Administrator in the table at AWS Services that you can use with AWS Organizations in the AWS Organizations User Guide. This operation can be called only from the organization's master account. Required Parameters { diff --git a/src/services/outposts.jl b/src/services/outposts.jl index 6611bd3e0b..f9ae5862fc 100644 --- a/src/services/outposts.jl +++ b/src/services/outposts.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: outposts diff --git a/src/services/personalize.jl b/src/services/personalize.jl index d708e81a22..24e6d53c68 100644 --- a/src/services/personalize.jl +++ b/src/services/personalize.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: personalize diff --git a/src/services/personalize_events.jl b/src/services/personalize_events.jl index 135e9c7e7e..05997d1c6a 100644 --- a/src/services/personalize_events.jl +++ b/src/services/personalize_events.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: personalize_events diff --git a/src/services/personalize_runtime.jl b/src/services/personalize_runtime.jl index df1f31c07c..176954f076 100644 --- a/src/services/personalize_runtime.jl +++ b/src/services/personalize_runtime.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: personalize_runtime diff --git a/src/services/pi.jl b/src/services/pi.jl index 7ab822d20c..74dbc01603 100644 --- a/src/services/pi.jl +++ b/src/services/pi.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: pi diff --git a/src/services/pinpoint.jl b/src/services/pinpoint.jl index 8a4e2cd2ea..1d7cb87798 100644 --- a/src/services/pinpoint.jl +++ b/src/services/pinpoint.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: pinpoint diff --git a/src/services/pinpoint_email.jl b/src/services/pinpoint_email.jl index ef5763772b..81a0d735ea 100644 --- a/src/services/pinpoint_email.jl +++ b/src/services/pinpoint_email.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: pinpoint_email diff --git a/src/services/pinpoint_sms_voice.jl b/src/services/pinpoint_sms_voice.jl index 56eccbf4e8..c28aa50fb1 100644 --- a/src/services/pinpoint_sms_voice.jl +++ b/src/services/pinpoint_sms_voice.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: pinpoint_sms_voice diff --git a/src/services/polly.jl b/src/services/polly.jl index eb6e15a1b8..955ea1c758 100644 --- a/src/services/polly.jl +++ b/src/services/polly.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: polly diff --git a/src/services/pricing.jl b/src/services/pricing.jl index c568704c44..7f4584b9ae 100644 --- a/src/services/pricing.jl +++ b/src/services/pricing.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: pricing diff --git a/src/services/qldb.jl b/src/services/qldb.jl index 97887de4d6..06237de3bb 100644 --- a/src/services/qldb.jl +++ b/src/services/qldb.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: qldb diff --git a/src/services/qldb_session.jl b/src/services/qldb_session.jl index 1f9ad3cf8f..da86a359ab 100644 --- a/src/services/qldb_session.jl +++ b/src/services/qldb_session.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: qldb_session diff --git a/src/services/quicksight.jl b/src/services/quicksight.jl index dff9f31414..3b1716097b 100644 --- a/src/services/quicksight.jl +++ b/src/services/quicksight.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: quicksight diff --git a/src/services/ram.jl b/src/services/ram.jl index 3b4d02579d..dd23ffbd3c 100644 --- a/src/services/ram.jl +++ b/src/services/ram.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: ram diff --git a/src/services/rds.jl b/src/services/rds.jl index 37e72d20fc..479dbef8fc 100644 --- a/src/services/rds.jl +++ b/src/services/rds.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: rds diff --git a/src/services/rds_data.jl b/src/services/rds_data.jl index e77b0dfe57..17f0bff323 100644 --- a/src/services/rds_data.jl +++ b/src/services/rds_data.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: rds_data diff --git a/src/services/redshift.jl b/src/services/redshift.jl index 88a911a191..b31e00d339 100644 --- a/src/services/redshift.jl +++ b/src/services/redshift.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: redshift diff --git a/src/services/rekognition.jl b/src/services/rekognition.jl index a464b4dbcb..169ad9d6fc 100644 --- a/src/services/rekognition.jl +++ b/src/services/rekognition.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: rekognition @@ -57,6 +58,18 @@ Optional Parameters """ GetFaceSearch(args) = rekognition("GetFaceSearch", args) +""" + DeleteProject() + +Deletes an Amazon Rekognition Custom Labels project. To delete a project you must first delete all versions of the model associated with the project. To delete a version of a model, see DeleteProjectVersion. This operation requires permissions to perform the rekognition:DeleteProject action. + +Required Parameters +{ + "ProjectArn": "The Amazon Resource Name (ARN) of the project that you want to delete." +} +""" +DeleteProject(args) = rekognition("DeleteProject", args) + """ SearchFacesByImage() @@ -385,6 +398,18 @@ Required Parameters """ StartProjectVersion(args) = rekognition("StartProjectVersion", args) +""" + DeleteProjectVersion() + +Deletes a version of a model. You must first stop the model before you can delete it. To check if a model is running, use the Status field returned from DescribeProjectVersions. To stop a running model call StopProjectVersion. This operation requires permissions to perform the rekognition:DeleteProjectVersion action. + +Required Parameters +{ + "ProjectVersionArn": "The Amazon Resource Name (ARN) of the model version that you want to delete." +} +""" +DeleteProjectVersion(args) = rekognition("DeleteProjectVersion", args) + """ DescribeProjects() diff --git a/src/services/resource_groups.jl b/src/services/resource_groups.jl index 9c3ca9f1e6..cd31291a30 100644 --- a/src/services/resource_groups.jl +++ b/src/services/resource_groups.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: resource_groups diff --git a/src/services/resource_groups_tagging_api.jl b/src/services/resource_groups_tagging_api.jl index 303741513f..331b64726a 100644 --- a/src/services/resource_groups_tagging_api.jl +++ b/src/services/resource_groups_tagging_api.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: resource_groups_tagging_api diff --git a/src/services/robomaker.jl b/src/services/robomaker.jl index 2fdf5a3fc3..9fc7a5c46b 100644 --- a/src/services/robomaker.jl +++ b/src/services/robomaker.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: robomaker diff --git a/src/services/route53resolver.jl b/src/services/route53resolver.jl index 1a7e9a3c05..cb38cae813 100644 --- a/src/services/route53resolver.jl +++ b/src/services/route53resolver.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: route53resolver diff --git a/src/services/route_53.jl b/src/services/route_53.jl index 179ec00433..b430f3fa0b 100644 --- a/src/services/route_53.jl +++ b/src/services/route_53.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: route_53 diff --git a/src/services/route_53_domains.jl b/src/services/route_53_domains.jl index 1270230a54..73c8b15a89 100644 --- a/src/services/route_53_domains.jl +++ b/src/services/route_53_domains.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: route_53_domains diff --git a/src/services/s3.jl b/src/services/s3.jl index 086c8e38c8..e4b8f62bda 100644 --- a/src/services/s3.jl +++ b/src/services/s3.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: s3 diff --git a/src/services/s3_control.jl b/src/services/s3_control.jl index 22baad9aec..26e92dcdea 100644 --- a/src/services/s3_control.jl +++ b/src/services/s3_control.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: s3_control diff --git a/src/services/sagemaker.jl b/src/services/sagemaker.jl index 0d10d9094a..759853eef8 100644 --- a/src/services/sagemaker.jl +++ b/src/services/sagemaker.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: sagemaker diff --git a/src/services/sagemaker_a2i_runtime.jl b/src/services/sagemaker_a2i_runtime.jl index de65fef1cf..092f3afb3c 100644 --- a/src/services/sagemaker_a2i_runtime.jl +++ b/src/services/sagemaker_a2i_runtime.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: sagemaker_a2i_runtime diff --git a/src/services/sagemaker_runtime.jl b/src/services/sagemaker_runtime.jl index d456991c1c..6004fd5957 100644 --- a/src/services/sagemaker_runtime.jl +++ b/src/services/sagemaker_runtime.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: sagemaker_runtime diff --git a/src/services/savingsplans.jl b/src/services/savingsplans.jl index 35829f32de..5e9d9016bf 100644 --- a/src/services/savingsplans.jl +++ b/src/services/savingsplans.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: savingsplans diff --git a/src/services/schemas.jl b/src/services/schemas.jl index dfadb80260..5ff4a6c024 100644 --- a/src/services/schemas.jl +++ b/src/services/schemas.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: schemas diff --git a/src/services/secrets_manager.jl b/src/services/secrets_manager.jl index f323387084..633a6e84b1 100644 --- a/src/services/secrets_manager.jl +++ b/src/services/secrets_manager.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: secrets_manager diff --git a/src/services/securityhub.jl b/src/services/securityhub.jl index 6a1bd5e75d..5c1724c1bb 100644 --- a/src/services/securityhub.jl +++ b/src/services/securityhub.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: securityhub diff --git a/src/services/serverlessapplicationrepository.jl b/src/services/serverlessapplicationrepository.jl index fa90e3e248..1f2fc50561 100644 --- a/src/services/serverlessapplicationrepository.jl +++ b/src/services/serverlessapplicationrepository.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: serverlessapplicationrepository diff --git a/src/services/service_catalog.jl b/src/services/service_catalog.jl index 32bd89ed03..0e4d26c96c 100644 --- a/src/services/service_catalog.jl +++ b/src/services/service_catalog.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: service_catalog diff --git a/src/services/service_quotas.jl b/src/services/service_quotas.jl index b0bb42998e..a9c02d96d2 100644 --- a/src/services/service_quotas.jl +++ b/src/services/service_quotas.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: service_quotas diff --git a/src/services/servicediscovery.jl b/src/services/servicediscovery.jl index fd611ec14f..6146e88136 100644 --- a/src/services/servicediscovery.jl +++ b/src/services/servicediscovery.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: servicediscovery diff --git a/src/services/ses.jl b/src/services/ses.jl index c301bdb1ee..bec797e5ff 100644 --- a/src/services/ses.jl +++ b/src/services/ses.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: ses diff --git a/src/services/sesv2.jl b/src/services/sesv2.jl index d680767f32..ad4d473740 100644 --- a/src/services/sesv2.jl +++ b/src/services/sesv2.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: sesv2 diff --git a/src/services/sfn.jl b/src/services/sfn.jl index 20338b296e..b05ed3ec6b 100644 --- a/src/services/sfn.jl +++ b/src/services/sfn.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: sfn diff --git a/src/services/shield.jl b/src/services/shield.jl index 209374b3d7..a2c79ec9fe 100644 --- a/src/services/shield.jl +++ b/src/services/shield.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: shield diff --git a/src/services/signer.jl b/src/services/signer.jl index 283aef9d65..19994664ee 100644 --- a/src/services/signer.jl +++ b/src/services/signer.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: signer diff --git a/src/services/simpledb.jl b/src/services/simpledb.jl index 8fe5819cb8..4a5705cd6a 100644 --- a/src/services/simpledb.jl +++ b/src/services/simpledb.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: simpledb diff --git a/src/services/sms.jl b/src/services/sms.jl index f5b9833570..7da21ee39b 100644 --- a/src/services/sms.jl +++ b/src/services/sms.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: sms diff --git a/src/services/snowball.jl b/src/services/snowball.jl index a4a5059ba9..a727d73323 100644 --- a/src/services/snowball.jl +++ b/src/services/snowball.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: snowball diff --git a/src/services/sns.jl b/src/services/sns.jl index c81167f031..8fc5cd0b4e 100644 --- a/src/services/sns.jl +++ b/src/services/sns.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: sns diff --git a/src/services/sqs.jl b/src/services/sqs.jl index 31ff334fb6..c8ca830126 100644 --- a/src/services/sqs.jl +++ b/src/services/sqs.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: sqs diff --git a/src/services/ssm.jl b/src/services/ssm.jl index 4ae8f49f5b..0f451684bd 100644 --- a/src/services/ssm.jl +++ b/src/services/ssm.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: ssm diff --git a/src/services/sso.jl b/src/services/sso.jl index 96b72acafc..bbd092862b 100644 --- a/src/services/sso.jl +++ b/src/services/sso.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: sso diff --git a/src/services/sso_oidc.jl b/src/services/sso_oidc.jl index df4635f2fb..8a0985152b 100644 --- a/src/services/sso_oidc.jl +++ b/src/services/sso_oidc.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: sso_oidc diff --git a/src/services/storage_gateway.jl b/src/services/storage_gateway.jl index 6ce3f26d44..a2ae5ec188 100644 --- a/src/services/storage_gateway.jl +++ b/src/services/storage_gateway.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: storage_gateway @@ -504,6 +505,7 @@ Optional Parameters "AdminUserList": "A list of users in the Active Directory that have administrator rights to the file share. A group must be prefixed with the @ character. For example @group1. Can only be set if Authentication is set to ActiveDirectory.", "GuessMIMETypeEnabled": "A value that enables guessing of the MIME type for uploaded objects based on file extensions. Set this value to true to enable MIME type guessing, and otherwise to false. The default value is true.", "KMSEncrypted": "True to use Amazon S3 server side encryption with your own AWS KMS key, or false to use a key managed by Amazon S3. Optional.", + "AuditDestinationARN": "The Amazon Resource Name (ARN) of the storage used for the audit logs.", "ObjectACL": "A value that sets the access control list permission for objects in the S3 bucket that a file gateway puts objects into. The default value is \"private\".", "SMBACLEnabled": "Set this value to \"true to enable ACL (access control list) on the SMB file share. Set it to \"false\" to map file and directory permissions to the POSIX permissions. For more information, see https://docs.aws.amazon.com/storagegateway/latest/userguide/smb-acl.htmlin the Storage Gateway User Guide.", "RequesterPays": "A value that sets who pays the cost of the request and the cost associated with data download from the S3 bucket. If this value is set to true, the requester pays the costs. Otherwise the S3 bucket owner pays. However, the S3 bucket owner always pays the cost of storing data. RequesterPays is a configuration for the S3 bucket that backs the file share, so make sure that the configuration on the file share is the same as the S3 bucket configuration. ", @@ -666,7 +668,7 @@ Creates a Server Message Block (SMB) file share on an existing file gateway. In Required Parameters { "LocationARN": "The ARN of the backed storage used for storing file data. ", - "GatewayARN": "The Amazon Resource Name (ARN) of the file gateway on which you want to create a file share.", + "GatewayARN": "The ARN of the file gateway on which you want to create a file share.", "ClientToken": "A unique string value that you supply that is used by file gateway to ensure idempotent file share creation.", "Role": "The ARN of the AWS Identity and Access Management (IAM) role that a file gateway assumes when it accesses the underlying storage. " } @@ -681,6 +683,7 @@ Optional Parameters "AdminUserList": "A list of users in the Active Directory that will be granted administrator privileges on the file share. These users can do all file operations as the super-user. Use this option very carefully, because any user in this list can do anything they like on the file share, regardless of file permissions. ", "GuessMIMETypeEnabled": "A value that enables guessing of the MIME type for uploaded objects based on file extensions. Set this value to true to enable MIME type guessing, and otherwise to false. The default value is true.", "KMSEncrypted": "True to use Amazon S3 server side encryption with your own AWS KMS key, or false to use a key managed by Amazon S3. Optional.", + "AuditDestinationARN": "The Amazon Resource Name (ARN) of the storage used for the audit logs.", "ObjectACL": "A value that sets the access control list permission for objects in the S3 bucket that a file gateway puts objects into. The default value is \"private\".", "SMBACLEnabled": "Set this value to \"true to enable ACL (access control list) on the SMB file share. Set it to \"false\" to map file and directory permissions to the POSIX permissions. For more information, see https://docs.aws.amazon.com/storagegateway/latest/userguide/smb-acl.html in the Storage Gateway User Guide.", "RequesterPays": "A value that sets who pays the cost of the request and the cost associated with data download from the S3 bucket. If this value is set to true, the requester pays the costs. Otherwise the S3 bucket owner pays. However, the S3 bucket owner always pays the cost of storing data. RequesterPays is a configuration for the S3 bucket that backs the file share, so make sure that the configuration on the file share is the same as the S3 bucket configuration. ", diff --git a/src/services/sts.jl b/src/services/sts.jl index c057593a99..7fbbea17ac 100644 --- a/src/services/sts.jl +++ b/src/services/sts.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: sts diff --git a/src/services/support.jl b/src/services/support.jl index b2572c4955..142f01b793 100644 --- a/src/services/support.jl +++ b/src/services/support.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: support diff --git a/src/services/swf.jl b/src/services/swf.jl index 020d8adf39..70185a8a95 100644 --- a/src/services/swf.jl +++ b/src/services/swf.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: swf diff --git a/src/services/textract.jl b/src/services/textract.jl index fa65dd3ca1..b90336a38e 100644 --- a/src/services/textract.jl +++ b/src/services/textract.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: textract diff --git a/src/services/transcribe.jl b/src/services/transcribe.jl index 80b69e4ca2..a25c7c7734 100644 --- a/src/services/transcribe.jl +++ b/src/services/transcribe.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: transcribe diff --git a/src/services/transfer.jl b/src/services/transfer.jl index 359fc46430..09fb60d140 100644 --- a/src/services/transfer.jl +++ b/src/services/transfer.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: transfer diff --git a/src/services/translate.jl b/src/services/translate.jl index ef565844e2..33a1b20933 100644 --- a/src/services/translate.jl +++ b/src/services/translate.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: translate diff --git a/src/services/waf.jl b/src/services/waf.jl index 6d443931bd..f42b5d5977 100644 --- a/src/services/waf.jl +++ b/src/services/waf.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: waf diff --git a/src/services/waf_regional.jl b/src/services/waf_regional.jl index 44eb6404d1..c5933218cb 100644 --- a/src/services/waf_regional.jl +++ b/src/services/waf_regional.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: waf_regional diff --git a/src/services/wafv2.jl b/src/services/wafv2.jl index 3b17c90755..9fa8de0426 100644 --- a/src/services/wafv2.jl +++ b/src/services/wafv2.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: wafv2 @@ -22,14 +23,14 @@ ListTagsForResource(args) = wafv2("ListTagsForResource", args) """ DeleteWebACL() - This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide. Deletes the specified WebACL. + This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide. Deletes the specified WebACL. You can only use this if ManagedByFirewallManager is false in the specified WebACL. Required Parameters { "Id": "The unique identifier for the Web ACL. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.", "LockToken": "A token used for optimistic locking. AWS WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. AWS WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation. ", - "Scope": "Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage. To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: CLI - Specify the region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1. API and SDKs - For all calls, use the Region endpoint us-east-1. ", - "Name": "A friendly name of the Web ACL. You cannot change the name of a Web ACL after you create it." + "Scope": "Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage. To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1. API and SDKs - For all calls, use the Region endpoint us-east-1. ", + "Name": "The name of the Web ACL. You cannot change the name of a Web ACL after you create it." } """ DeleteWebACL(args) = wafv2("DeleteWebACL", args) @@ -42,8 +43,8 @@ DeleteWebACL(args) = wafv2("DeleteWebACL", args) Required Parameters { "Id": "A unique identifier for the rule group. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.", - "Scope": "Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage. To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: CLI - Specify the region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1. API and SDKs - For all calls, use the Region endpoint us-east-1. ", - "Name": "A friendly name of the rule group. You cannot change the name of a rule group after you create it." + "Scope": "Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage. To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1. API and SDKs - For all calls, use the Region endpoint us-east-1. ", + "Name": "The name of the rule group. You cannot change the name of a rule group after you create it." } """ GetRuleGroup(args) = wafv2("GetRuleGroup", args) @@ -56,14 +57,14 @@ GetRuleGroup(args) = wafv2("GetRuleGroup", args) Required Parameters { "Addresses": "Contains an array of strings that specify one or more IP addresses or blocks of IP addresses in Classless Inter-Domain Routing (CIDR) notation. AWS WAF supports all address ranges for IP versions IPv4 and IPv6. Examples: To configure AWS WAF to allow, block, or count requests that originated from the IP address 192.0.2.44, specify 192.0.2.44/32. To configure AWS WAF to allow, block, or count requests that originated from IP addresses from 192.0.2.0 to 192.0.2.255, specify 192.0.2.0/24. To configure AWS WAF to allow, block, or count requests that originated from the IP address 1111:0000:0000:0000:0000:0000:0000:0111, specify 1111:0000:0000:0000:0000:0000:0000:0111/128. To configure AWS WAF to allow, block, or count requests that originated from IP addresses 1111:0000:0000:0000:0000:0000:0000:0000 to 1111:0000:0000:0000:ffff:ffff:ffff:ffff, specify 1111:0000:0000:0000:0000:0000:0000:0000/64. For more information about CIDR notation, see the Wikipedia entry Classless Inter-Domain Routing.", - "Scope": "Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage. To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: CLI - Specify the region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1. API and SDKs - For all calls, use the Region endpoint us-east-1. ", + "Scope": "Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage. To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1. API and SDKs - For all calls, use the Region endpoint us-east-1. ", "IPAddressVersion": "Specify IPV4 or IPV6. ", - "Name": "A friendly name of the IP set. You cannot change the name of an IPSet after you create it." + "Name": "The name of the IP set. You cannot change the name of an IPSet after you create it." } Optional Parameters { - "Description": "A friendly description of the IP set. You cannot change the description of an IP set after you create it.", + "Description": "A description of the IP set that helps with identification. You cannot change the description of an IP set after you create it.", "Tags": "An array of key:value pairs to associate with the resource." } """ @@ -80,13 +81,13 @@ Required Parameters "DefaultAction": "The action to perform if none of the Rules contained in the WebACL match. ", "VisibilityConfig": "Defines and enables Amazon CloudWatch metrics and web request sample collection. ", "LockToken": "A token used for optimistic locking. AWS WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. AWS WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation. ", - "Scope": "Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage. To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: CLI - Specify the region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1. API and SDKs - For all calls, use the Region endpoint us-east-1. ", - "Name": "A friendly name of the Web ACL. You cannot change the name of a Web ACL after you create it." + "Scope": "Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage. To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1. API and SDKs - For all calls, use the Region endpoint us-east-1. ", + "Name": "The name of the Web ACL. You cannot change the name of a Web ACL after you create it." } Optional Parameters { - "Description": "A friendly description of the Web ACL. You cannot change the description of a Web ACL after you create it.", + "Description": "A description of the Web ACL that helps with identification. You cannot change the description of a Web ACL after you create it.", "Rules": "The Rule statements used to identify the web requests that you want to allow, block, or count. Each rule includes one top-level statement that AWS WAF uses to identify matching web requests, and parameters that govern how AWS WAF handles them. " } """ @@ -101,13 +102,13 @@ Required Parameters { "DefaultAction": "The action to perform if none of the Rules contained in the WebACL match. ", "VisibilityConfig": "Defines and enables Amazon CloudWatch metrics and web request sample collection. ", - "Scope": "Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage. To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: CLI - Specify the region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1. API and SDKs - For all calls, use the Region endpoint us-east-1. ", - "Name": "A friendly name of the Web ACL. You cannot change the name of a Web ACL after you create it." + "Scope": "Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage. To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1. API and SDKs - For all calls, use the Region endpoint us-east-1. ", + "Name": "The name of the Web ACL. You cannot change the name of a Web ACL after you create it." } Optional Parameters { - "Description": "A friendly description of the Web ACL. You cannot change the description of a Web ACL after you create it.", + "Description": "A description of the Web ACL that helps with identification. You cannot change the description of a Web ACL after you create it.", "Rules": "The Rule statements used to identify the web requests that you want to allow, block, or count. Each rule includes one top-level statement that AWS WAF uses to identify matching web requests, and parameters that govern how AWS WAF handles them. ", "Tags": "An array of key:value pairs to associate with the resource." } @@ -117,7 +118,7 @@ CreateWebACL(args) = wafv2("CreateWebACL", args) """ DisassociateWebACL() - This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide. Disassociates a Web ACL from a regional application resource. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage. For AWS CloudFront, you can disassociate the Web ACL by providing an empty web ACL ARN in the CloudFront API call UpdateDistribution. For information, see UpdateDistribution. + This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide. Disassociates a Web ACL from a regional application resource. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage. For AWS CloudFront, don't use this call. Instead, use your CloudFront distribution configuration. To disassociate a Web ACL, provide an empty web ACL ID in the CloudFront call UpdateDistribution. For information, see UpdateDistribution. Required Parameters { @@ -136,7 +137,7 @@ Required Parameters "RuleMetricName": "The metric name assigned to the Rule or RuleGroup for which you want a sample of requests.", "MaxItems": "The number of requests that you want AWS WAF to return from among the first 5,000 requests that your AWS resource received during the time range. If your resource received fewer requests than the value of MaxItems, GetSampledRequests returns information about all of them. ", "WebAclArn": "The Amazon resource name (ARN) of the WebACL for which you want a sample of requests.", - "Scope": "Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage. To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: CLI - Specify the region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1. API and SDKs - For all calls, use the Region endpoint us-east-1. ", + "Scope": "Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage. To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1. API and SDKs - For all calls, use the Region endpoint us-east-1. ", "TimeWindow": "The start date and time and the end date and time of the range for which you want GetSampledRequests to return a sample of requests. Specify the date and time in the following format: \"2016-09-27T14:50Z\". You can specify any time range in the previous three hours." } """ @@ -149,14 +150,14 @@ GetSampledRequests(args) = wafv2("GetSampledRequests", args) Required Parameters { - "Scope": "Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage. To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: CLI - Specify the region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1. API and SDKs - For all calls, use the Region endpoint us-east-1. ", + "Scope": "Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage. To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1. API and SDKs - For all calls, use the Region endpoint us-east-1. ", "RegularExpressionList": "Array of regular expression strings. ", - "Name": "A friendly name of the set. You cannot change the name after you create the set." + "Name": "The name of the set. You cannot change the name after you create the set." } Optional Parameters { - "Description": "A friendly description of the set. You cannot change the description of a set after you create it.", + "Description": "A description of the set that helps with identification. You cannot change the description of a set after you create it.", "Tags": "An array of key:value pairs to associate with the resource." } """ @@ -194,8 +195,8 @@ DeleteLoggingConfiguration(args) = wafv2("DeleteLoggingConfiguration", args) Required Parameters { "Id": "A unique identifier for the set. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.", - "Scope": "Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage. To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: CLI - Specify the region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1. API and SDKs - For all calls, use the Region endpoint us-east-1. ", - "Name": "A friendly name of the set. You cannot change the name after you create the set." + "Scope": "Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage. To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1. API and SDKs - For all calls, use the Region endpoint us-east-1. ", + "Name": "The name of the set. You cannot change the name after you create the set." } """ GetRegexPatternSet(args) = wafv2("GetRegexPatternSet", args) @@ -207,7 +208,7 @@ GetRegexPatternSet(args) = wafv2("GetRegexPatternSet", args) Required Parameters { - "Scope": "Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage. To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: CLI - Specify the region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1. API and SDKs - For all calls, use the Region endpoint us-east-1. " + "Scope": "Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage. To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1. API and SDKs - For all calls, use the Region endpoint us-east-1. " } Optional Parameters @@ -226,7 +227,7 @@ ListIPSets(args) = wafv2("ListIPSets", args) Required Parameters { "VendorName": "The name of the managed rule group vendor. You use this, along with the rule group name, to identify the rule group.", - "Scope": "Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage. To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: CLI - Specify the region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1. API and SDKs - For all calls, use the Region endpoint us-east-1. ", + "Scope": "Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage. To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1. API and SDKs - For all calls, use the Region endpoint us-east-1. ", "Name": "The name of the managed rule group. You use this, along with the vendor name, to identify the rule group." } """ @@ -242,13 +243,13 @@ Required Parameters "Id": "A unique identifier for the set. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.", "Addresses": "Contains an array of strings that specify one or more IP addresses or blocks of IP addresses in Classless Inter-Domain Routing (CIDR) notation. AWS WAF supports all address ranges for IP versions IPv4 and IPv6. Examples: To configure AWS WAF to allow, block, or count requests that originated from the IP address 192.0.2.44, specify 192.0.2.44/32. To configure AWS WAF to allow, block, or count requests that originated from IP addresses from 192.0.2.0 to 192.0.2.255, specify 192.0.2.0/24. To configure AWS WAF to allow, block, or count requests that originated from the IP address 1111:0000:0000:0000:0000:0000:0000:0111, specify 1111:0000:0000:0000:0000:0000:0000:0111/128. To configure AWS WAF to allow, block, or count requests that originated from IP addresses 1111:0000:0000:0000:0000:0000:0000:0000 to 1111:0000:0000:0000:ffff:ffff:ffff:ffff, specify 1111:0000:0000:0000:0000:0000:0000:0000/64. For more information about CIDR notation, see the Wikipedia entry Classless Inter-Domain Routing.", "LockToken": "A token used for optimistic locking. AWS WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. AWS WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation. ", - "Scope": "Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage. To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: CLI - Specify the region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1. API and SDKs - For all calls, use the Region endpoint us-east-1. ", - "Name": "A friendly name of the IP set. You cannot change the name of an IPSet after you create it." + "Scope": "Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage. To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1. API and SDKs - For all calls, use the Region endpoint us-east-1. ", + "Name": "The name of the IP set. You cannot change the name of an IPSet after you create it." } Optional Parameters { - "Description": "A friendly description of the IP set. You cannot change the description of an IP set after you create it." + "Description": "A description of the IP set that helps with identification. You cannot change the description of an IP set after you create it." } """ UpdateIPSet(args) = wafv2("UpdateIPSet", args) @@ -260,7 +261,7 @@ UpdateIPSet(args) = wafv2("UpdateIPSet", args) Required Parameters { - "Scope": "Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage. To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: CLI - Specify the region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1. API and SDKs - For all calls, use the Region endpoint us-east-1. " + "Scope": "Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage. To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1. API and SDKs - For all calls, use the Region endpoint us-east-1. " } Optional Parameters @@ -279,11 +280,24 @@ ListAvailableManagedRuleGroups(args) = wafv2("ListAvailableManagedRuleGroups", a Required Parameters { "Rules": "An array of Rule that you're configuring to use in a rule group or web ACL. ", - "Scope": "Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage. To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: CLI - Specify the region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1. API and SDKs - For all calls, use the Region endpoint us-east-1. " + "Scope": "Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage. To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1. API and SDKs - For all calls, use the Region endpoint us-east-1. " } """ CheckCapacity(args) = wafv2("CheckCapacity", args) +""" + PutPermissionPolicy() + +Attaches an IAM policy to the specified resource. Use this to share a rule group across accounts. You must be the owner of the rule group to perform this operation. This action is subject to the following restrictions: You can attach only one policy with each PutPermissionPolicy request. The ARN in the request must be a valid WAF RuleGroup ARN and the rule group must exist in the same region. The user making the request must be the owner of the rule group. + +Required Parameters +{ + "ResourceArn": "The Amazon Resource Name (ARN) of the RuleGroup to which you want to attach the policy.", + "Policy": "The policy to attach to the specified rule group. The policy specifications must conform to the following: The policy must be composed using IAM Policy version 2012-10-17 or version 2015-01-01. The policy must include specifications for Effect, Action, and Principal. Effect must specify Allow. Action must specify wafv2:CreateWebACL, wafv2:UpdateWebACL, and wafv2:PutFirewallManagerRuleGroups. AWS WAF rejects any extra actions or wildcard actions in the policy. The policy must not include a Resource parameter. For more information, see IAM Policies. " +} +""" +PutPermissionPolicy(args) = wafv2("PutPermissionPolicy", args) + """ GetRateBasedStatementManagedKeys() @@ -292,9 +306,9 @@ CheckCapacity(args) = wafv2("CheckCapacity", args) Required Parameters { "RuleName": "The name of the rate-based rule to get the keys for.", - "Scope": "Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage. To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: CLI - Specify the region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1. API and SDKs - For all calls, use the Region endpoint us-east-1. ", + "Scope": "Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage. To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1. API and SDKs - For all calls, use the Region endpoint us-east-1. ", "WebACLId": "The unique identifier for the Web ACL. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.", - "WebACLName": "A friendly name of the Web ACL. You cannot change the name of a Web ACL after you create it." + "WebACLName": "The name of the Web ACL. You cannot change the name of a Web ACL after you create it." } """ GetRateBasedStatementManagedKeys(args) = wafv2("GetRateBasedStatementManagedKeys", args) @@ -308,14 +322,14 @@ Required Parameters { "Id": "A unique identifier for the set. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.", "LockToken": "A token used for optimistic locking. AWS WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. AWS WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation. ", - "Scope": "Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage. To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: CLI - Specify the region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1. API and SDKs - For all calls, use the Region endpoint us-east-1. ", + "Scope": "Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage. To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1. API and SDKs - For all calls, use the Region endpoint us-east-1. ", "RegularExpressionList": "", - "Name": "A friendly name of the set. You cannot change the name after you create the set." + "Name": "The name of the set. You cannot change the name after you create the set." } Optional Parameters { - "Description": "A friendly description of the set. You cannot change the description of a set after you create it." + "Description": "A description of the set that helps with identification. You cannot change the description of a set after you create it." } """ UpdateRegexPatternSet(args) = wafv2("UpdateRegexPatternSet", args) @@ -349,7 +363,7 @@ UntagResource(args) = wafv2("UntagResource", args) """ PutLoggingConfiguration() - This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide. Enables the specified LoggingConfiguration, to start logging from a web ACL, according to the configuration provided. You can access information about all traffic that AWS WAF inspects using the following steps: Create an Amazon Kinesis Data Firehose. Create the data firehose with a PUT source and in the region that you are operating. If you are capturing logs for Amazon CloudFront, always create the firehose in US East (N. Virginia). Do not create the data firehose using a Kinesis stream as your source. Associate that firehose to your web ACL using a PutLoggingConfiguration request. When you successfully enable logging using a PutLoggingConfiguration request, AWS WAF will create a service linked role with the necessary permissions to write logs to the Amazon Kinesis Data Firehose. For more information, see Logging Web ACL Traffic Information in the AWS WAF Developer Guide. + This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide. Enables the specified LoggingConfiguration, to start logging from a web ACL, according to the configuration provided. You can access information about all traffic that AWS WAF inspects using the following steps: Create an Amazon Kinesis Data Firehose. Create the data firehose with a PUT source and in the Region that you are operating. If you are capturing logs for Amazon CloudFront, always create the firehose in US East (N. Virginia). Do not create the data firehose using a Kinesis stream as your source. Associate that firehose to your web ACL using a PutLoggingConfiguration request. When you successfully enable logging using a PutLoggingConfiguration request, AWS WAF will create a service linked role with the necessary permissions to write logs to the Amazon Kinesis Data Firehose. For more information, see Logging Web ACL Traffic Information in the AWS WAF Developer Guide. Required Parameters { @@ -367,12 +381,24 @@ Required Parameters { "Id": "A unique identifier for the set. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.", "LockToken": "A token used for optimistic locking. AWS WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. AWS WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation. ", - "Scope": "Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage. To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: CLI - Specify the region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1. API and SDKs - For all calls, use the Region endpoint us-east-1. ", - "Name": "A friendly name of the set. You cannot change the name after you create the set." + "Scope": "Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage. To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1. API and SDKs - For all calls, use the Region endpoint us-east-1. ", + "Name": "The name of the set. You cannot change the name after you create the set." } """ DeleteRegexPatternSet(args) = wafv2("DeleteRegexPatternSet", args) +""" + GetPermissionPolicy() + +Returns the IAM policy that is attached to the specified rule group. You must be the owner of the rule group to perform this operation. + +Required Parameters +{ + "ResourceArn": "The Amazon Resource Name (ARN) of the rule group for which you want to get the policy." +} +""" +GetPermissionPolicy(args) = wafv2("GetPermissionPolicy", args) + """ ListRuleGroups() @@ -380,7 +406,7 @@ DeleteRegexPatternSet(args) = wafv2("DeleteRegexPatternSet", args) Required Parameters { - "Scope": "Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage. To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: CLI - Specify the region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1. API and SDKs - For all calls, use the Region endpoint us-east-1. " + "Scope": "Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage. To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1. API and SDKs - For all calls, use the Region endpoint us-east-1. " } Optional Parameters @@ -413,13 +439,13 @@ Required Parameters "Id": "A unique identifier for the rule group. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.", "LockToken": "A token used for optimistic locking. AWS WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. AWS WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation. ", "VisibilityConfig": "Defines and enables Amazon CloudWatch metrics and web request sample collection. ", - "Scope": "Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage. To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: CLI - Specify the region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1. API and SDKs - For all calls, use the Region endpoint us-east-1. ", - "Name": "A friendly name of the rule group. You cannot change the name of a rule group after you create it." + "Scope": "Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage. To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1. API and SDKs - For all calls, use the Region endpoint us-east-1. ", + "Name": "The name of the rule group. You cannot change the name of a rule group after you create it." } Optional Parameters { - "Description": "A friendly description of the rule group. You cannot change the description of a rule group after you create it.", + "Description": "A description of the rule group that helps with identification. You cannot change the description of a rule group after you create it.", "Rules": "The Rule statements used to identify the web requests that you want to allow, block, or count. Each rule includes one top-level statement that AWS WAF uses to identify matching web requests, and parameters that govern how AWS WAF handles them. " } """ @@ -433,8 +459,8 @@ UpdateRuleGroup(args) = wafv2("UpdateRuleGroup", args) Required Parameters { "Id": "A unique identifier for the set. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.", - "Scope": "Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage. To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: CLI - Specify the region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1. API and SDKs - For all calls, use the Region endpoint us-east-1. ", - "Name": "A friendly name of the IP set. You cannot change the name of an IPSet after you create it." + "Scope": "Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage. To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1. API and SDKs - For all calls, use the Region endpoint us-east-1. ", + "Name": "The name of the IP set. You cannot change the name of an IPSet after you create it." } """ GetIPSet(args) = wafv2("GetIPSet", args) @@ -447,14 +473,14 @@ GetIPSet(args) = wafv2("GetIPSet", args) Required Parameters { "VisibilityConfig": "Defines and enables Amazon CloudWatch metrics and web request sample collection. ", - "Scope": "Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage. To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: CLI - Specify the region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1. API and SDKs - For all calls, use the Region endpoint us-east-1. ", - "Name": "A friendly name of the rule group. You cannot change the name of a rule group after you create it.", + "Scope": "Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage. To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1. API and SDKs - For all calls, use the Region endpoint us-east-1. ", + "Name": "The name of the rule group. You cannot change the name of a rule group after you create it.", "Capacity": "The web ACL capacity units (WCUs) required for this rule group. When you create your own rule group, you define this, and you cannot change it after creation. When you add or modify the rules in a rule group, AWS WAF enforces this limit. You can check the capacity for a set of rules using CheckCapacity. AWS WAF uses WCUs to calculate and control the operating resources that are used to run your rules, rule groups, and web ACLs. AWS WAF calculates capacity differently for each rule type, to reflect the relative cost of each rule. Simple rules that cost little to run use fewer WCUs than more complex rules that use more processing power. Rule group capacity is fixed at creation, which helps users plan their web ACL WCU usage when they use a rule group. The WCU limit for web ACLs is 1,500. " } Optional Parameters { - "Description": "A friendly description of the rule group. You cannot change the description of a rule group after you create it.", + "Description": "A description of the rule group that helps with identification. You cannot change the description of a rule group after you create it.", "Rules": "The Rule statements used to identify the web requests that you want to allow, block, or count. Each rule includes one top-level statement that AWS WAF uses to identify matching web requests, and parameters that govern how AWS WAF handles them. ", "Tags": "An array of key:value pairs to associate with the resource." } @@ -470,8 +496,8 @@ Required Parameters { "Id": "A unique identifier for the set. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.", "LockToken": "A token used for optimistic locking. AWS WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. AWS WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation. ", - "Scope": "Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage. To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: CLI - Specify the region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1. API and SDKs - For all calls, use the Region endpoint us-east-1. ", - "Name": "A friendly name of the IP set. You cannot change the name of an IPSet after you create it." + "Scope": "Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage. To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1. API and SDKs - For all calls, use the Region endpoint us-east-1. ", + "Name": "The name of the IP set. You cannot change the name of an IPSet after you create it." } """ DeleteIPSet(args) = wafv2("DeleteIPSet", args) @@ -483,7 +509,7 @@ DeleteIPSet(args) = wafv2("DeleteIPSet", args) Required Parameters { - "Scope": "Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage. To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: CLI - Specify the region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1. API and SDKs - For all calls, use the Region endpoint us-east-1. " + "Scope": "Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage. To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1. API and SDKs - For all calls, use the Region endpoint us-east-1. " } Optional Parameters @@ -494,6 +520,18 @@ Optional Parameters """ ListRegexPatternSets(args) = wafv2("ListRegexPatternSets", args) +""" + DeletePermissionPolicy() + +Permanently deletes an IAM policy from the specified rule group. You must be the owner of the rule group to perform this operation. + +Required Parameters +{ + "ResourceArn": "The Amazon Resource Name (ARN) of the rule group from which you want to delete the policy. You must be the owner of the rule group to perform this operation." +} +""" +DeletePermissionPolicy(args) = wafv2("DeletePermissionPolicy", args) + """ ListResourcesForWebACL() @@ -520,8 +558,8 @@ Required Parameters { "Id": "A unique identifier for the rule group. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.", "LockToken": "A token used for optimistic locking. AWS WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. AWS WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation. ", - "Scope": "Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage. To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: CLI - Specify the region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1. API and SDKs - For all calls, use the Region endpoint us-east-1. ", - "Name": "A friendly name of the rule group. You cannot change the name of a rule group after you create it." + "Scope": "Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage. To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1. API and SDKs - For all calls, use the Region endpoint us-east-1. ", + "Name": "The name of the rule group. You cannot change the name of a rule group after you create it." } """ DeleteRuleGroup(args) = wafv2("DeleteRuleGroup", args) @@ -533,7 +571,7 @@ DeleteRuleGroup(args) = wafv2("DeleteRuleGroup", args) Required Parameters { - "Scope": "Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage. To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: CLI - Specify the region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1. API and SDKs - For all calls, use the Region endpoint us-east-1. " + "Scope": "Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage. To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1. API and SDKs - For all calls, use the Region endpoint us-east-1. " } Optional Parameters @@ -552,7 +590,7 @@ ListWebACLs(args) = wafv2("ListWebACLs", args) Optional Parameters { "NextMarker": "When you request a list of objects with a Limit setting, if the number of objects that are still available for retrieval exceeds the limit, AWS WAF returns a NextMarker value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.", - "Scope": "Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage. To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: CLI - Specify the region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1. API and SDKs - For all calls, use the Region endpoint us-east-1. ", + "Scope": "Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage. To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1. API and SDKs - For all calls, use the Region endpoint us-east-1. ", "Limit": "The maximum number of objects that you want AWS WAF to return for this request. If more objects are available, in the response, AWS WAF provides a NextMarker value that you can use in a subsequent call to get the next batch of objects." } """ @@ -567,16 +605,29 @@ ListLoggingConfigurations(args) = wafv2("ListLoggingConfigurations", args) Required Parameters { "Id": "The unique identifier for the Web ACL. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.", - "Scope": "Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage. To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: CLI - Specify the region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1. API and SDKs - For all calls, use the Region endpoint us-east-1. ", - "Name": "A friendly name of the Web ACL. You cannot change the name of a Web ACL after you create it." + "Scope": "Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage. To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1. API and SDKs - For all calls, use the Region endpoint us-east-1. ", + "Name": "The name of the Web ACL. You cannot change the name of a Web ACL after you create it." } """ GetWebACL(args) = wafv2("GetWebACL", args) +""" + DeleteFirewallManagerRuleGroups() + +Deletes all rule groups that are managed by AWS Firewall Manager for the specified web ACL. You can only use this if ManagedByFirewallManager is false in the specified WebACL. + +Required Parameters +{ + "WebACLArn": "The Amazon Resource Name (ARN) of the web ACL.", + "WebACLLockToken": "A token used for optimistic locking. AWS WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. AWS WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation. " +} +""" +DeleteFirewallManagerRuleGroups(args) = wafv2("DeleteFirewallManagerRuleGroups", args) + """ AssociateWebACL() - This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide. Associates a Web ACL with a regional application resource, to protect the resource. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage. For AWS CloudFront, you can associate the Web ACL by providing the ARN of the WebACL to the CloudFront API call UpdateDistribution. For information, see UpdateDistribution. + This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide. Associates a Web ACL with a regional application resource, to protect the resource. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage. For AWS CloudFront, don't use this call. Instead, use your CloudFront distribution configuration. To associate a Web ACL, in the CloudFront call UpdateDistribution, set the web ACL ID to the Amazon Resource Name (ARN) of the Web ACL. For information, see UpdateDistribution. Required Parameters { diff --git a/src/services/workdocs.jl b/src/services/workdocs.jl index cd979f828b..ae5be5ff09 100644 --- a/src/services/workdocs.jl +++ b/src/services/workdocs.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: workdocs diff --git a/src/services/worklink.jl b/src/services/worklink.jl index 8e82fb9b72..b9b074dbca 100644 --- a/src/services/worklink.jl +++ b/src/services/worklink.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: worklink diff --git a/src/services/workmail.jl b/src/services/workmail.jl index c3543f829f..37071cb3ac 100644 --- a/src/services/workmail.jl +++ b/src/services/workmail.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: workmail diff --git a/src/services/workmailmessageflow.jl b/src/services/workmailmessageflow.jl index 53fd43659d..3f3b209803 100644 --- a/src/services/workmailmessageflow.jl +++ b/src/services/workmailmessageflow.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: workmailmessageflow diff --git a/src/services/workspaces.jl b/src/services/workspaces.jl index 3906922325..a57e2990c6 100644 --- a/src/services/workspaces.jl +++ b/src/services/workspaces.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: workspaces diff --git a/src/services/xray.jl b/src/services/xray.jl index 2ee78a7c91..6d0746f9df 100644 --- a/src/services/xray.jl +++ b/src/services/xray.jl @@ -1,3 +1,4 @@ +# This file is auto-generated by AWSMetadata.jl include("../AWSServices.jl") using .AWSServices: xray From f1292ae5e6165b60f9790eb2ab38a475dcf74c8c Mon Sep 17 00:00:00 2001 From: Matt Brzezinski Date: Thu, 2 Apr 2020 16:29:27 -0500 Subject: [PATCH 11/13] Re-arranged include, using, export --- src/AWS.jl | 6 +++--- src/AWSMetadata.jl | 5 ++--- src/AWSMetadataUtilities.jl | 4 ++-- 3 files changed, 7 insertions(+), 8 deletions(-) diff --git a/src/AWS.jl b/src/AWS.jl index d9e80a4852..8bfcb8f0a0 100644 --- a/src/AWS.jl +++ b/src/AWS.jl @@ -1,11 +1,11 @@ module AWS -include("AWSMetadataUtilities.jl") +using AWSCore +using SymDict export @service, AWSServices, RestJSONService, JSONService, RestXMLService, QueryService -using AWSCore -using SymDict +include("AWSMetadataUtilities.jl") macro service(module_name::Symbol) service_name = "services/" * lowercase(string(module_name)) * ".jl" diff --git a/src/AWSMetadata.jl b/src/AWSMetadata.jl index c304d7747c..1a4143323e 100644 --- a/src/AWSMetadata.jl +++ b/src/AWSMetadata.jl @@ -1,13 +1,12 @@ module AWSMetadata -include("AWSMetadataUtilities.jl") - using .AWSMetadataUtilities: _get_aws_sdk_js_files, _get_service_and_version, _generate_low_level_definitions, _generate_high_level_definitions -using OrderedCollections: OrderedDict using HTTP using JSON +using OrderedCollections: OrderedDict +include("AWSMetadataUtilities.jl") """ parse_aws_metadata() diff --git a/src/AWSMetadataUtilities.jl b/src/AWSMetadataUtilities.jl index 191fcbf798..0d96276085 100644 --- a/src/AWSMetadataUtilities.jl +++ b/src/AWSMetadataUtilities.jl @@ -1,12 +1,12 @@ module AWSMetadataUtilities -include("AWSExceptions.jl") - using .AWSExceptions using OrderedCollections: OrderedDict using HTTP using JSON +include("AWSExceptions.jl") + """ _get_aws_sdk_js_files() From 6004613900e9ee1d9ac8023ff7426258cfdb6d5f Mon Sep 17 00:00:00 2001 From: Matt Brzezinski Date: Fri, 3 Apr 2020 11:16:25 -0500 Subject: [PATCH 12/13] Addressed more CR feedback from @omus --- src/AWS.jl | 3 +-- src/AWSExceptions.jl | 4 ++-- src/AWSMetadata.jl | 10 +++++----- src/AWSMetadataUtilities.jl | 17 +++++++++++------ 4 files changed, 19 insertions(+), 15 deletions(-) diff --git a/src/AWS.jl b/src/AWS.jl index 8bfcb8f0a0..0ae1d098c4 100644 --- a/src/AWS.jl +++ b/src/AWS.jl @@ -8,8 +8,7 @@ export @service, AWSServices, RestJSONService, JSONService, RestXMLService, Quer include("AWSMetadataUtilities.jl") macro service(module_name::Symbol) - service_name = "services/" * lowercase(string(module_name)) * ".jl" - service_name = joinpath(@__DIR__, service_name) + service_name = joinpath(@__DIR__, "services", lowercase(string(module_name)) * ".jl") return Expr(:toplevel, :(module($(esc(module_name))) diff --git a/src/AWSExceptions.jl b/src/AWSExceptions.jl index c923e0e887..42b0a16987 100644 --- a/src/AWSExceptions.jl +++ b/src/AWSExceptions.jl @@ -3,12 +3,12 @@ module AWSExceptions export ProtocolNotDefined, InvalidFileName struct ProtocolNotDefined <: Exception - message::String + message::String end show(io::IO, e::ProtocolNotDefined) = println(io, e.message) struct InvalidFileName <: Exception - message::String + message::String end show(io::IO, e::InvalidFileName) = println(io, e.message) diff --git a/src/AWSMetadata.jl b/src/AWSMetadata.jl index 1a4143323e..4f76b2b9e0 100644 --- a/src/AWSMetadata.jl +++ b/src/AWSMetadata.jl @@ -24,7 +24,7 @@ function parse_aws_metadata() push!(services_modified, file) end - metadata_path = joinpath(@__DIR__, "../deps/metadata.json") + metadata_path = joinpath(@__DIR__, "..", "deps", "metadata.json") metadata = JSON.parsefile(metadata_path, dicttype=OrderedDict) files = _get_aws_sdk_js_files() @@ -38,12 +38,12 @@ function parse_aws_metadata() # AWS has released a new service API if !haskey(metadata, filename) - println(service_name, " does not exist in metadata.") + @info "service_name does not exist in metadata." _process_service(file, version) else # Check if the service API has changed since the last run if metadata[filename]["sha"] != file["sha"] - println(service_name, " sha hashes do not match, updating.") + @info "service_name sha hashes do not match, updating defintions." _process_service(file, version) end end @@ -95,7 +95,7 @@ function _generate_high_level_wrapper(services::Array{OrderedDict}) operations = _generate_high_level_definitions(service_name, protocol, operations, shapes) - service_path = joinpath(@__DIR__, "services/$service_name.jl") + service_path = joinpath(@__DIR__, "services", "$service_name.jl") open(service_path, "w") do f println(f, "# This file is auto-generated by AWSMetadata.jl") println(f, "include(\"../AWSServices.jl\")") @@ -104,5 +104,5 @@ function _generate_high_level_wrapper(services::Array{OrderedDict}) end end end -parse_aws_metadata() + end diff --git a/src/AWSMetadataUtilities.jl b/src/AWSMetadataUtilities.jl index 0d96276085..fbe06714e6 100644 --- a/src/AWSMetadataUtilities.jl +++ b/src/AWSMetadataUtilities.jl @@ -1,11 +1,12 @@ module AWSMetadataUtilities +include("AWSExceptions.jl") + using .AWSExceptions using OrderedCollections: OrderedDict using HTTP using JSON -include("AWSExceptions.jl") """ _get_aws_sdk_js_files() @@ -21,7 +22,7 @@ function _get_aws_sdk_js_files() req = HTTP.get(url, headers) files = JSON.parse(String(req.body), dicttype=OrderedDict) - filter!(f -> occursin(r".normal.json$", f["name"]), files) # Only get ${Service}.normal.json files + filter!(f -> endswith(f["name"], ".normal.json"), files) # Only get ${Service}.normal.json files files = _filter_latest_service_version(files) return files @@ -75,8 +76,12 @@ function _get_service_and_version(filename::String) version = join(service_and_version[end-2:end], '-') return (service, version) - catch BoundsError - throw(InvalidFileName("$filename is an invalid AWS JSON filename.")) + catch e + if e isa BoundsError + throw(InvalidFileName("$filename is an invalid AWS JSON filename.")) + else + rethrow() + end end end @@ -96,7 +101,7 @@ function _generate_low_level_definitions(services::Array{OrderedDict}) for service in services service_name = service["name"] - println("Generating low level wrapper for $service_name") + @info "Generating low level wrapper for $service_name" # Get the contents of the ${Service}.normal.json file request = HTTP.get(service["download_url"]) @@ -229,7 +234,7 @@ function _generate_high_level_definitions( operations::Dict, shapes::Dict ) - operation_definitions = [] + operation_definitions = String[] for operation in operations operation = operation[2] From 35eb499d9847e58ddefccf9dd2ff802b0411c7b5 Mon Sep 17 00:00:00 2001 From: Matt Brzezinski Date: Fri, 3 Apr 2020 14:34:44 -0500 Subject: [PATCH 13/13] Set OrderedCollections to 1 --- Project.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Project.toml b/Project.toml index 942497b0b8..1875e52459 100644 --- a/Project.toml +++ b/Project.toml @@ -14,7 +14,7 @@ SymDict = "2da68c74-98d7-5633-99d6-8493888d7b1e" AWSCore = "0.6" HTTP = "0.8" JSON = "0.18, 0.19, 0.20, 0.21" -OrderedCollections = "1.0, 1.1" +OrderedCollections = "1" SymDict = "0.3" julia = "1"