# This file is auto-generated by AWSMetadata.jl
using AWS
using AWS.AWSServices: apprunner
using AWS.Compat
using AWS.UUIDs

"""
    associate_custom_domain(domain_name, service_arn)
    associate_custom_domain(domain_name, service_arn, params::Dict{String,<:Any})

Associate your own domain name with the AWS App Runner subdomain URL of your App Runner
service. After you call AssociateCustomDomain and receive a successful response, use the
information in the CustomDomain record that's returned to add CNAME records to your Domain
Name System (DNS). For each mapped domain name, add a mapping to the target App Runner
subdomain and one or more certificate validation records. App Runner then performs DNS
validation to verify that you own or control the domain name that you associated. App
Runner tracks domain validity in a certificate stored in AWS Certificate Manager (ACM).

# Arguments
- `domain_name`: A custom domain endpoint to associate. Specify a root domain (for example,
  example.com), a subdomain (for example, login.example.com or admin.login.example.com), or a
  wildcard (for example, *.example.com).
- `service_arn`: The Amazon Resource Name (ARN) of the App Runner service that you want to
  associate a custom domain name with.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"EnableWWWSubdomain"`: Set to true to associate the subdomain www.DomainName  with the
  App Runner service in addition to the base domain. Default: true
"""
associate_custom_domain(DomainName, ServiceArn; aws_config::AbstractAWSConfig=global_aws_config()) = apprunner("AssociateCustomDomain", Dict{String, Any}("DomainName"=>DomainName, "ServiceArn"=>ServiceArn); aws_config=aws_config)
associate_custom_domain(DomainName, ServiceArn, params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = apprunner("AssociateCustomDomain", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("DomainName"=>DomainName, "ServiceArn"=>ServiceArn), params)); aws_config=aws_config)

"""
    create_auto_scaling_configuration(auto_scaling_configuration_name)
    create_auto_scaling_configuration(auto_scaling_configuration_name, params::Dict{String,<:Any})

Create an AWS App Runner automatic scaling configuration resource. App Runner requires this
resource when you create App Runner services that require non-default auto scaling
settings. You can share an auto scaling configuration across multiple services. Create
multiple revisions of a configuration by using the same AutoScalingConfigurationName and
different AutoScalingConfigurationRevision values. When you create a service, you can set
it to use the latest active revision of an auto scaling configuration or a specific
revision. Configure a higher MinSize to increase the spread of your App Runner service over
more Availability Zones in the AWS Region. The tradeoff is a higher minimal cost. Configure
a lower MaxSize to control your cost. The tradeoff is lower responsiveness during peak
demand.

# Arguments
- `auto_scaling_configuration_name`: A name for the auto scaling configuration. When you
  use it for the first time in an AWS Region, App Runner creates revision number 1 of this
  name. When you use the same name in subsequent calls, App Runner creates incremental
  revisions of the configuration.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"MaxConcurrency"`: The maximum number of concurrent requests that you want an instance
  to process. If the number of concurrent requests exceeds this limit, App Runner scales up
  your service. Default: 100
- `"MaxSize"`: The maximum number of instances that your service scales up to. At most
  MaxSize instances actively serve traffic for your service. Default: 25
- `"MinSize"`: The minimum number of instances that App Runner provisions for your service.
  The service always has at least MinSize provisioned instances. Some of them actively serve
  traffic. The rest of them (provisioned and inactive instances) are a cost-effective compute
  capacity reserve and are ready to be quickly activated. You pay for memory usage of all the
  provisioned instances. You pay for CPU usage of only the active subset. App Runner
  temporarily doubles the number of provisioned instances during deployments, to maintain the
  same capacity for both old and new code. Default: 1
- `"Tags"`: A list of metadata items that you can associate with your auto scaling
  configuration resource. A tag is a key-value pair.
"""
create_auto_scaling_configuration(AutoScalingConfigurationName; aws_config::AbstractAWSConfig=global_aws_config()) = apprunner("CreateAutoScalingConfiguration", Dict{String, Any}("AutoScalingConfigurationName"=>AutoScalingConfigurationName); aws_config=aws_config)
create_auto_scaling_configuration(AutoScalingConfigurationName, params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = apprunner("CreateAutoScalingConfiguration", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("AutoScalingConfigurationName"=>AutoScalingConfigurationName), params)); aws_config=aws_config)

"""
    create_connection(connection_name, provider_type)
    create_connection(connection_name, provider_type, params::Dict{String,<:Any})

Create an AWS App Runner connection resource. App Runner requires a connection resource
when you create App Runner services that access private repositories from certain
third-party providers. You can share a connection across multiple services. A connection
resource is needed to access GitHub repositories. GitHub requires a user interface approval
process through the App Runner console before you can use the connection.

# Arguments
- `connection_name`: A name for the new connection. It must be unique across all App Runner
  connections for the AWS account in the AWS Region.
- `provider_type`: The source repository provider.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"Tags"`: A list of metadata items that you can associate with your connection resource.
  A tag is a key-value pair.
"""
create_connection(ConnectionName, ProviderType; aws_config::AbstractAWSConfig=global_aws_config()) = apprunner("CreateConnection", Dict{String, Any}("ConnectionName"=>ConnectionName, "ProviderType"=>ProviderType); aws_config=aws_config)
create_connection(ConnectionName, ProviderType, params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = apprunner("CreateConnection", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("ConnectionName"=>ConnectionName, "ProviderType"=>ProviderType), params)); aws_config=aws_config)

"""
    create_service(service_name, source_configuration)
    create_service(service_name, source_configuration, params::Dict{String,<:Any})

Create an AWS App Runner service. After the service is created, the action also
automatically starts a deployment. This is an asynchronous operation. On a successful call,
you can use the returned OperationId and the ListOperations call to track the operation's
progress.

# Arguments
- `service_name`: A name for the new service. It must be unique across all the running App
  Runner services in your AWS account in the AWS Region.
- `source_configuration`: The source to deploy to the App Runner service. It can be a code
  or an image repository.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"AutoScalingConfigurationArn"`: The Amazon Resource Name (ARN) of an App Runner
  automatic scaling configuration resource that you want to associate with your service. If
  not provided, App Runner associates the latest revision of a default auto scaling
  configuration.
- `"EncryptionConfiguration"`: An optional custom encryption key that App Runner uses to
  encrypt the copy of your source repository that it maintains and your service logs. By
  default, App Runner uses an AWS managed CMK.
- `"HealthCheckConfiguration"`: The settings for the health check that AWS App Runner
  performs to monitor the health of your service.
- `"InstanceConfiguration"`: The runtime configuration of instances (scaling units) of the
  App Runner service.
- `"Tags"`: An optional list of metadata items that you can associate with your service
  resource. A tag is a key-value pair.
"""
create_service(ServiceName, SourceConfiguration; aws_config::AbstractAWSConfig=global_aws_config()) = apprunner("CreateService", Dict{String, Any}("ServiceName"=>ServiceName, "SourceConfiguration"=>SourceConfiguration); aws_config=aws_config)
create_service(ServiceName, SourceConfiguration, params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = apprunner("CreateService", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("ServiceName"=>ServiceName, "SourceConfiguration"=>SourceConfiguration), params)); aws_config=aws_config)

"""
    delete_auto_scaling_configuration(auto_scaling_configuration_arn)
    delete_auto_scaling_configuration(auto_scaling_configuration_arn, params::Dict{String,<:Any})

Delete an AWS App Runner automatic scaling configuration resource. You can delete a
specific revision or the latest active revision. You can't delete a configuration that's
used by one or more App Runner services.

# Arguments
- `auto_scaling_configuration_arn`: The Amazon Resource Name (ARN) of the App Runner auto
  scaling configuration that you want to delete. The ARN can be a full auto scaling
  configuration ARN, or a partial ARN ending with either .../name  or .../name/revision . If
  a revision isn't specified, the latest active revision is deleted.

"""
delete_auto_scaling_configuration(AutoScalingConfigurationArn; aws_config::AbstractAWSConfig=global_aws_config()) = apprunner("DeleteAutoScalingConfiguration", Dict{String, Any}("AutoScalingConfigurationArn"=>AutoScalingConfigurationArn); aws_config=aws_config)
delete_auto_scaling_configuration(AutoScalingConfigurationArn, params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = apprunner("DeleteAutoScalingConfiguration", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("AutoScalingConfigurationArn"=>AutoScalingConfigurationArn), params)); aws_config=aws_config)

"""
    delete_connection(connection_arn)
    delete_connection(connection_arn, params::Dict{String,<:Any})

Delete an AWS App Runner connection. You must first ensure that there are no running App
Runner services that use this connection. If there are any, the DeleteConnection action
fails.

# Arguments
- `connection_arn`: The Amazon Resource Name (ARN) of the App Runner connection that you
  want to delete.

"""
delete_connection(ConnectionArn; aws_config::AbstractAWSConfig=global_aws_config()) = apprunner("DeleteConnection", Dict{String, Any}("ConnectionArn"=>ConnectionArn); aws_config=aws_config)
delete_connection(ConnectionArn, params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = apprunner("DeleteConnection", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("ConnectionArn"=>ConnectionArn), params)); aws_config=aws_config)

"""
    delete_service(service_arn)
    delete_service(service_arn, params::Dict{String,<:Any})

Delete an AWS App Runner service. This is an asynchronous operation. On a successful call,
you can use the returned OperationId and the ListOperations call to track the operation's
progress.

# Arguments
- `service_arn`: The Amazon Resource Name (ARN) of the App Runner service that you want to
  delete.

"""
delete_service(ServiceArn; aws_config::AbstractAWSConfig=global_aws_config()) = apprunner("DeleteService", Dict{String, Any}("ServiceArn"=>ServiceArn); aws_config=aws_config)
delete_service(ServiceArn, params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = apprunner("DeleteService", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("ServiceArn"=>ServiceArn), params)); aws_config=aws_config)

"""
    describe_auto_scaling_configuration(auto_scaling_configuration_arn)
    describe_auto_scaling_configuration(auto_scaling_configuration_arn, params::Dict{String,<:Any})

Return a full description of an AWS App Runner automatic scaling configuration resource.

# Arguments
- `auto_scaling_configuration_arn`: The Amazon Resource Name (ARN) of the App Runner auto
  scaling configuration that you want a description for. The ARN can be a full auto scaling
  configuration ARN, or a partial ARN ending with either .../name  or .../name/revision . If
  a revision isn't specified, the latest active revision is described.

"""
describe_auto_scaling_configuration(AutoScalingConfigurationArn; aws_config::AbstractAWSConfig=global_aws_config()) = apprunner("DescribeAutoScalingConfiguration", Dict{String, Any}("AutoScalingConfigurationArn"=>AutoScalingConfigurationArn); aws_config=aws_config)
describe_auto_scaling_configuration(AutoScalingConfigurationArn, params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = apprunner("DescribeAutoScalingConfiguration", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("AutoScalingConfigurationArn"=>AutoScalingConfigurationArn), params)); aws_config=aws_config)

"""
    describe_custom_domains(service_arn)
    describe_custom_domains(service_arn, params::Dict{String,<:Any})

Return a description of custom domain names that are associated with an AWS App Runner
service.

# Arguments
- `service_arn`: The Amazon Resource Name (ARN) of the App Runner service that you want
  associated custom domain names to be described for.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"MaxResults"`: The maximum number of results that each response (result page) can
  include. It's used for a paginated request. If you don't specify MaxResults, the request
  retrieves all available results in a single response.
- `"NextToken"`: A token from a previous result page. It's used for a paginated request.
  The request retrieves the next result page. All other parameter values must be identical to
  the ones that are specified in the initial request. If you don't specify NextToken, the
  request retrieves the first result page.
"""
describe_custom_domains(ServiceArn; aws_config::AbstractAWSConfig=global_aws_config()) = apprunner("DescribeCustomDomains", Dict{String, Any}("ServiceArn"=>ServiceArn); aws_config=aws_config)
describe_custom_domains(ServiceArn, params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = apprunner("DescribeCustomDomains", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("ServiceArn"=>ServiceArn), params)); aws_config=aws_config)

"""
    describe_service(service_arn)
    describe_service(service_arn, params::Dict{String,<:Any})

Return a full description of an AWS App Runner service.

# Arguments
- `service_arn`: The Amazon Resource Name (ARN) of the App Runner service that you want a
  description for.

"""
describe_service(ServiceArn; aws_config::AbstractAWSConfig=global_aws_config()) = apprunner("DescribeService", Dict{String, Any}("ServiceArn"=>ServiceArn); aws_config=aws_config)
describe_service(ServiceArn, params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = apprunner("DescribeService", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("ServiceArn"=>ServiceArn), params)); aws_config=aws_config)

"""
    disassociate_custom_domain(domain_name, service_arn)
    disassociate_custom_domain(domain_name, service_arn, params::Dict{String,<:Any})

Disassociate a custom domain name from an AWS App Runner service. Certificates tracking
domain validity are associated with a custom domain and are stored in AWS Certificate
Manager (ACM). These certificates aren't deleted as part of this action. App Runner delays
certificate deletion for 30 days after a domain is disassociated from your service.

# Arguments
- `domain_name`: The domain name that you want to disassociate from the App Runner service.
- `service_arn`: The Amazon Resource Name (ARN) of the App Runner service that you want to
  disassociate a custom domain name from.

"""
disassociate_custom_domain(DomainName, ServiceArn; aws_config::AbstractAWSConfig=global_aws_config()) = apprunner("DisassociateCustomDomain", Dict{String, Any}("DomainName"=>DomainName, "ServiceArn"=>ServiceArn); aws_config=aws_config)
disassociate_custom_domain(DomainName, ServiceArn, params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = apprunner("DisassociateCustomDomain", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("DomainName"=>DomainName, "ServiceArn"=>ServiceArn), params)); aws_config=aws_config)

"""
    list_auto_scaling_configurations()
    list_auto_scaling_configurations(params::Dict{String,<:Any})

Returns a list of AWS App Runner automatic scaling configurations in your AWS account. You
can query the revisions for a specific configuration name or the revisions for all
configurations in your account. You can optionally query only the latest revision of each
requested name.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"AutoScalingConfigurationName"`: The name of the App Runner auto scaling configuration
  that you want to list. If specified, App Runner lists revisions that share this name. If
  not specified, App Runner returns revisions of all configurations.
- `"LatestOnly"`: Set to true to list only the latest revision for each requested
  configuration name. Keep as false to list all revisions for each requested configuration
  name. Default: false
- `"MaxResults"`: The maximum number of results to include in each response (result page).
  It's used for a paginated request. If you don't specify MaxResults, the request retrieves
  all available results in a single response.
- `"NextToken"`: A token from a previous result page. It's used for a paginated request.
  The request retrieves the next result page. All other parameter values must be identical to
  the ones that are specified in the initial request. If you don't specify NextToken, the
  request retrieves the first result page.
"""
list_auto_scaling_configurations(; aws_config::AbstractAWSConfig=global_aws_config()) = apprunner("ListAutoScalingConfigurations"; aws_config=aws_config)
list_auto_scaling_configurations(params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = apprunner("ListAutoScalingConfigurations", params; aws_config=aws_config)

"""
    list_connections()
    list_connections(params::Dict{String,<:Any})

Returns a list of AWS App Runner connections that are associated with your AWS account.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"ConnectionName"`: If specified, only this connection is returned. If not specified, the
  result isn't filtered by name.
- `"MaxResults"`: The maximum number of results to include in each response (result page).
  Used for a paginated request. If you don't specify MaxResults, the request retrieves all
  available results in a single response.
- `"NextToken"`: A token from a previous result page. Used for a paginated request. The
  request retrieves the next result page. All other parameter values must be identical to the
  ones specified in the initial request. If you don't specify NextToken, the request
  retrieves the first result page.
"""
list_connections(; aws_config::AbstractAWSConfig=global_aws_config()) = apprunner("ListConnections"; aws_config=aws_config)
list_connections(params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = apprunner("ListConnections", params; aws_config=aws_config)

"""
    list_operations(service_arn)
    list_operations(service_arn, params::Dict{String,<:Any})

Return a list of operations that occurred on an AWS App Runner service. The resulting list
of OperationSummary objects is sorted in reverse chronological order. The first object on
the list represents the last started operation.

# Arguments
- `service_arn`: The Amazon Resource Name (ARN) of the App Runner service that you want a
  list of operations for.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"MaxResults"`: The maximum number of results to include in each response (result page).
  It's used for a paginated request. If you don't specify MaxResults, the request retrieves
  all available results in a single response.
- `"NextToken"`: A token from a previous result page. It's used for a paginated request.
  The request retrieves the next result page. All other parameter values must be identical to
  the ones specified in the initial request. If you don't specify NextToken, the request
  retrieves the first result page.
"""
list_operations(ServiceArn; aws_config::AbstractAWSConfig=global_aws_config()) = apprunner("ListOperations", Dict{String, Any}("ServiceArn"=>ServiceArn); aws_config=aws_config)
list_operations(ServiceArn, params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = apprunner("ListOperations", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("ServiceArn"=>ServiceArn), params)); aws_config=aws_config)

"""
    list_services()
    list_services(params::Dict{String,<:Any})

Returns a list of running AWS App Runner services in your AWS account.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"MaxResults"`: The maximum number of results to include in each response (result page).
  It's used for a paginated request. If you don't specify MaxResults, the request retrieves
  all available results in a single response.
- `"NextToken"`: A token from a previous result page. Used for a paginated request. The
  request retrieves the next result page. All other parameter values must be identical to the
  ones specified in the initial request. If you don't specify NextToken, the request
  retrieves the first result page.
"""
list_services(; aws_config::AbstractAWSConfig=global_aws_config()) = apprunner("ListServices"; aws_config=aws_config)
list_services(params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = apprunner("ListServices", params; aws_config=aws_config)

"""
    list_tags_for_resource(resource_arn)
    list_tags_for_resource(resource_arn, params::Dict{String,<:Any})

List tags that are associated with for an AWS App Runner resource. The response contains a
list of tag key-value pairs.

# Arguments
- `resource_arn`: The Amazon Resource Name (ARN) of the resource that a tag list is
  requested for. It must be the ARN of an App Runner resource.

"""
list_tags_for_resource(ResourceArn; aws_config::AbstractAWSConfig=global_aws_config()) = apprunner("ListTagsForResource", Dict{String, Any}("ResourceArn"=>ResourceArn); aws_config=aws_config)
list_tags_for_resource(ResourceArn, params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = apprunner("ListTagsForResource", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("ResourceArn"=>ResourceArn), params)); aws_config=aws_config)

"""
    pause_service(service_arn)
    pause_service(service_arn, params::Dict{String,<:Any})

Pause an active AWS App Runner service. App Runner reduces compute capacity for the service
to zero and loses state (for example, ephemeral storage is removed). This is an
asynchronous operation. On a successful call, you can use the returned OperationId and the
ListOperations call to track the operation's progress.

# Arguments
- `service_arn`: The Amazon Resource Name (ARN) of the App Runner service that you want to
  pause.

"""
pause_service(ServiceArn; aws_config::AbstractAWSConfig=global_aws_config()) = apprunner("PauseService", Dict{String, Any}("ServiceArn"=>ServiceArn); aws_config=aws_config)
pause_service(ServiceArn, params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = apprunner("PauseService", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("ServiceArn"=>ServiceArn), params)); aws_config=aws_config)

"""
    resume_service(service_arn)
    resume_service(service_arn, params::Dict{String,<:Any})

Resume an active AWS App Runner service. App Runner provisions compute capacity for the
service. This is an asynchronous operation. On a successful call, you can use the returned
OperationId and the ListOperations call to track the operation's progress.

# Arguments
- `service_arn`: The Amazon Resource Name (ARN) of the App Runner service that you want to
  resume.

"""
resume_service(ServiceArn; aws_config::AbstractAWSConfig=global_aws_config()) = apprunner("ResumeService", Dict{String, Any}("ServiceArn"=>ServiceArn); aws_config=aws_config)
resume_service(ServiceArn, params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = apprunner("ResumeService", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("ServiceArn"=>ServiceArn), params)); aws_config=aws_config)

"""
    start_deployment(service_arn)
    start_deployment(service_arn, params::Dict{String,<:Any})

Initiate a manual deployment of the latest commit in a source code repository or the latest
image in a source image repository to an AWS App Runner service. For a source code
repository, App Runner retrieves the commit and builds a Docker image. For a source image
repository, App Runner retrieves the latest Docker image. In both cases, App Runner then
deploys the new image to your service and starts a new container instance. This is an
asynchronous operation. On a successful call, you can use the returned OperationId and the
ListOperations call to track the operation's progress.

# Arguments
- `service_arn`: The Amazon Resource Name (ARN) of the App Runner service that you want to
  manually deploy to.

"""
start_deployment(ServiceArn; aws_config::AbstractAWSConfig=global_aws_config()) = apprunner("StartDeployment", Dict{String, Any}("ServiceArn"=>ServiceArn); aws_config=aws_config)
start_deployment(ServiceArn, params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = apprunner("StartDeployment", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("ServiceArn"=>ServiceArn), params)); aws_config=aws_config)

"""
    tag_resource(resource_arn, tags)
    tag_resource(resource_arn, tags, params::Dict{String,<:Any})

Add tags to, or update the tag values of, an App Runner resource. A tag is a key-value pair.

# Arguments
- `resource_arn`: The Amazon Resource Name (ARN) of the resource that you want to update
  tags for. It must be the ARN of an App Runner resource.
- `tags`: A list of tag key-value pairs to add or update. If a key is new to the resource,
  the tag is added with the provided value. If a key is already associated with the resource,
  the value of the tag is updated.

"""
tag_resource(ResourceArn, Tags; aws_config::AbstractAWSConfig=global_aws_config()) = apprunner("TagResource", Dict{String, Any}("ResourceArn"=>ResourceArn, "Tags"=>Tags); aws_config=aws_config)
tag_resource(ResourceArn, Tags, params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = apprunner("TagResource", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("ResourceArn"=>ResourceArn, "Tags"=>Tags), params)); aws_config=aws_config)

"""
    untag_resource(resource_arn, tag_keys)
    untag_resource(resource_arn, tag_keys, params::Dict{String,<:Any})

Remove tags from an App Runner resource.

# Arguments
- `resource_arn`: The Amazon Resource Name (ARN) of the resource that you want to remove
  tags from. It must be the ARN of an App Runner resource.
- `tag_keys`: A list of tag keys that you want to remove.

"""
untag_resource(ResourceArn, TagKeys; aws_config::AbstractAWSConfig=global_aws_config()) = apprunner("UntagResource", Dict{String, Any}("ResourceArn"=>ResourceArn, "TagKeys"=>TagKeys); aws_config=aws_config)
untag_resource(ResourceArn, TagKeys, params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = apprunner("UntagResource", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("ResourceArn"=>ResourceArn, "TagKeys"=>TagKeys), params)); aws_config=aws_config)

"""
    update_service(service_arn)
    update_service(service_arn, params::Dict{String,<:Any})

Update an AWS App Runner service. You can update the source configuration and instance
configuration of the service. You can also update the ARN of the auto scaling configuration
resource that's associated with the service. However, you can't change the name or the
encryption configuration of the service. These can be set only when you create the service.
To update the tags applied to your service, use the separate actions TagResource and
UntagResource. This is an asynchronous operation. On a successful call, you can use the
returned OperationId and the ListOperations call to track the operation's progress.

# Arguments
- `service_arn`: The Amazon Resource Name (ARN) of the App Runner service that you want to
  update.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"AutoScalingConfigurationArn"`: The Amazon Resource Name (ARN) of an App Runner
  automatic scaling configuration resource that you want to associate with your service.
- `"HealthCheckConfiguration"`: The settings for the health check that AWS App Runner
  performs to monitor the health of your service.
- `"InstanceConfiguration"`: The runtime configuration to apply to instances (scaling
  units) of the App Runner service.
- `"SourceConfiguration"`: The source configuration to apply to the App Runner service. You
  can change the configuration of the code or image repository that the service uses.
  However, you can't switch from code to image or the other way around. This means that you
  must provide the same structure member of SourceConfiguration that you originally included
  when you created the service. Specifically, you can include either CodeRepository or
  ImageRepository. To update the source configuration, set the values to members of the
  structure that you include.
"""
update_service(ServiceArn; aws_config::AbstractAWSConfig=global_aws_config()) = apprunner("UpdateService", Dict{String, Any}("ServiceArn"=>ServiceArn); aws_config=aws_config)
update_service(ServiceArn, params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = apprunner("UpdateService", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("ServiceArn"=>ServiceArn), params)); aws_config=aws_config)
