diff --git a/.latest-tag-aws-sdk-go b/.latest-tag-aws-sdk-go index beff3008..5f911c6e 100644 --- a/.latest-tag-aws-sdk-go +++ b/.latest-tag-aws-sdk-go @@ -1 +1 @@ -v1.47.11 +v1.48.0 diff --git a/lib/aws/generated/athena.ex b/lib/aws/generated/athena.ex index 648ce362..ba908ca6 100644 --- a/lib/aws/generated/athena.ex +++ b/lib/aws/generated/athena.ex @@ -17,9 +17,6 @@ defmodule AWS.Athena do or later with the Amazon Athena API. Earlier version drivers do not support the API. For more information and to download the driver, see [Accessing Amazon Athena with JDBC](https://docs.aws.amazon.com/athena/latest/ug/connect-with-jdbc.html). - - For code samples using the Amazon Web Services SDK for Java, see [Examples and Code Samples](https://docs.aws.amazon.com/athena/latest/ug/code-samples.html) in - the *Amazon Athena User Guide*. """ alias AWS.Client @@ -128,9 +125,6 @@ defmodule AWS.Athena do Creates a named query in the specified workgroup. Requires that you have access to the workgroup. - - For code samples using the Amazon Web Services SDK for Java, see [Examples and Code Samples](http://docs.aws.amazon.com/athena/latest/ug/code-samples.html) in - the *Amazon Athena User Guide*. """ def create_named_query(%Client{} = client, input, options \\ []) do meta = metadata() @@ -209,9 +203,6 @@ defmodule AWS.Athena do @doc """ Deletes the named query if you have access to the workgroup in which the query was saved. - - For code samples using the Amazon Web Services SDK for Java, see [Examples and Code Samples](http://docs.aws.amazon.com/athena/latest/ug/code-samples.html) in - the *Amazon Athena User Guide*. """ def delete_named_query(%Client{} = client, input, options \\ []) do meta = metadata() @@ -533,9 +524,6 @@ defmodule AWS.Athena do Requires that you have access to the specified workgroup. If a workgroup is not specified, lists the saved queries for the primary workgroup. - - For code samples using the Amazon Web Services SDK for Java, see [Examples and Code Samples](http://docs.aws.amazon.com/athena/latest/ug/code-samples.html) in - the *Amazon Athena User Guide*. """ def list_named_queries(%Client{} = client, input, options \\ []) do meta = metadata() @@ -577,12 +565,9 @@ defmodule AWS.Athena do 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 Amazon Web Services SDK for Java, see [Examples and Code Samples](http://docs.aws.amazon.com/athena/latest/ug/code-samples.html) in - the *Amazon Athena User Guide*. + Athena keeps a query history for 45 days. 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. """ def list_query_executions(%Client{} = client, input, options \\ []) do meta = metadata() @@ -646,6 +631,11 @@ defmodule AWS.Athena do Submits calculations for execution within a session. You can supply the code to run as an inline code block within the request. + + The request syntax requires the `StartCalculationExecutionRequest$CodeBlock` + parameter or the `CalculationConfiguration$CodeBlock` parameter, but not both. + Because `CalculationConfiguration$CodeBlock` is deprecated, use the + `StartCalculationExecutionRequest$CodeBlock` parameter instead. """ def start_calculation_execution(%Client{} = client, input, options \\ []) do meta = metadata() @@ -701,9 +691,6 @@ defmodule AWS.Athena do Stops a query execution. Requires you to have access to the workgroup in which the query ran. - - For code samples using the Amazon Web Services SDK for Java, see [Examples and Code Samples](http://docs.aws.amazon.com/athena/latest/ug/code-samples.html) in - the *Amazon Athena User Guide*. """ def stop_query_execution(%Client{} = client, input, options \\ []) do meta = metadata() diff --git a/lib/aws/generated/auto_scaling.ex b/lib/aws/generated/auto_scaling.ex index dc74c128..f3280b31 100644 --- a/lib/aws/generated/auto_scaling.ex +++ b/lib/aws/generated/auto_scaling.ex @@ -1205,11 +1205,6 @@ defmodule AWS.AutoScaling do @doc """ Starts an instance refresh. - During an instance refresh, Amazon EC2 Auto Scaling performs a rolling update of - instances in an Auto Scaling group. Instances are terminated first and then - replaced, which temporarily reduces the capacity available within your Auto - Scaling group. - This operation is part of the [instance refresh feature](https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-instance-refresh.html) in Amazon EC2 Auto Scaling, which helps you update instances in your Auto Scaling group. This feature is helpful, for example, when you have a new AMI or diff --git a/lib/aws/generated/cloud_formation.ex b/lib/aws/generated/cloud_formation.ex index d744adc6..de591e75 100644 --- a/lib/aws/generated/cloud_formation.ex +++ b/lib/aws/generated/cloud_formation.ex @@ -325,7 +325,7 @@ defmodule AWS.CloudFormation do will make if you execute the change set. For more information, see [Updating Stacks Using Change Sets](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-changesets.html) - in the CloudFormation User Guide. + in the *CloudFormation User Guide*. """ def describe_change_set(%Client{} = client, input, options \\ []) do meta = metadata() @@ -404,7 +404,7 @@ defmodule AWS.CloudFormation do For more information about a stack's event history, go to [Stacks](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/concept-stack.html) - in the CloudFormation User Guide. + in the *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). diff --git a/lib/aws/generated/cloud_trail.ex b/lib/aws/generated/cloud_trail.ex index 2c9b5c54..6aae5dc0 100644 --- a/lib/aws/generated/cloud_trail.ex +++ b/lib/aws/generated/cloud_trail.ex @@ -730,8 +730,9 @@ defmodule AWS.CloudTrail do The required `EventDataStore` value is an ARN or the ID portion of the ARN. Other parameters are optional, but at least one optional parameter must be specified, or CloudTrail throws an error. `RetentionPeriod` is in days, and - valid values are integers between 90 and 2557. By default, - `TerminationProtection` is enabled. + valid values are integers between 7 and 3653 if the `BillingMode` is set to + `EXTENDABLE_RETENTION_PRICING`, or between 7 and 2557 if `BillingMode` is set to + `FIXED_RETENTION_PRICING`. By default, `TerminationProtection` is enabled. For event data stores for CloudTrail events, `AdvancedEventSelectors` includes or excludes management, data, or Insights events in your event data store. For diff --git a/lib/aws/generated/code_star_connections.ex b/lib/aws/generated/code_star_connections.ex index 280613c9..d3a4c750 100644 --- a/lib/aws/generated/code_star_connections.ex +++ b/lib/aws/generated/code_star_connections.ex @@ -119,6 +119,30 @@ defmodule AWS.CodeStarConnections do Request.request_post(client, meta, "CreateHost", input, options) end + @doc """ + Creates a link to a specified external Git repository. + + A repository link allows Git sync to monitor and sync changes to files in a + specified Git repository. + """ + def create_repository_link(%Client{} = client, input, options \\ []) do + meta = metadata() + + Request.request_post(client, meta, "CreateRepositoryLink", input, options) + end + + @doc """ + Creates a sync configuration which allows Amazon Web Services to sync content + from a Git repository to update a specified Amazon Web Services resource. + + Parameters for the sync configuration are determined by the sync type. + """ + def create_sync_configuration(%Client{} = client, input, options \\ []) do + meta = metadata() + + Request.request_post(client, meta, "CreateSyncConfiguration", input, options) + end + @doc """ The connection to be deleted. """ @@ -143,6 +167,25 @@ defmodule AWS.CodeStarConnections do Request.request_post(client, meta, "DeleteHost", input, options) end + @doc """ + Deletes the association between your connection and a specified external Git + repository. + """ + def delete_repository_link(%Client{} = client, input, options \\ []) do + meta = metadata() + + Request.request_post(client, meta, "DeleteRepositoryLink", input, options) + end + + @doc """ + Deletes the sync configuration for a specified repository and connection. + """ + def delete_sync_configuration(%Client{} = client, input, options \\ []) do + meta = metadata() + + Request.request_post(client, meta, "DeleteSyncConfiguration", input, options) + end + @doc """ Returns the connection ARN and details such as status, owner, and provider type. """ @@ -162,6 +205,62 @@ defmodule AWS.CodeStarConnections do Request.request_post(client, meta, "GetHost", input, options) end + @doc """ + Returns details about a repository link. + + A repository link allows Git sync to monitor and sync changes from files in a + specified Git repository. + """ + def get_repository_link(%Client{} = client, input, options \\ []) do + meta = metadata() + + Request.request_post(client, meta, "GetRepositoryLink", input, options) + end + + @doc """ + Returns details about the sync status for a repository. + + A repository sync uses Git sync to push and pull changes from your remote + repository. + """ + def get_repository_sync_status(%Client{} = client, input, options \\ []) do + meta = metadata() + + Request.request_post(client, meta, "GetRepositorySyncStatus", input, options) + end + + @doc """ + Returns the status of the sync with the Git repository for a specific Amazon Web + Services resource. + """ + def get_resource_sync_status(%Client{} = client, input, options \\ []) do + meta = metadata() + + Request.request_post(client, meta, "GetResourceSyncStatus", input, options) + end + + @doc """ + Returns a list of the most recent sync blockers. + """ + def get_sync_blocker_summary(%Client{} = client, input, options \\ []) do + meta = metadata() + + Request.request_post(client, meta, "GetSyncBlockerSummary", input, options) + end + + @doc """ + Returns details about a sync configuration, including the sync type and resource + name. + + A sync configuration allows the configuration to sync (push and pull) changes + from the remote repository for a specified branch in a Git repository. + """ + def get_sync_configuration(%Client{} = client, input, options \\ []) do + meta = metadata() + + Request.request_post(client, meta, "GetSyncConfiguration", input, options) + end + @doc """ Lists the connections associated with your account. """ @@ -180,6 +279,33 @@ defmodule AWS.CodeStarConnections do Request.request_post(client, meta, "ListHosts", input, options) end + @doc """ + Lists the repository links created for connections in your account. + """ + def list_repository_links(%Client{} = client, input, options \\ []) do + meta = metadata() + + Request.request_post(client, meta, "ListRepositoryLinks", input, options) + end + + @doc """ + Lists the repository sync definitions for repository links in your account. + """ + def list_repository_sync_definitions(%Client{} = client, input, options \\ []) do + meta = metadata() + + Request.request_post(client, meta, "ListRepositorySyncDefinitions", input, options) + end + + @doc """ + Returns a list of sync configurations for a specified repository. + """ + def list_sync_configurations(%Client{} = client, input, options \\ []) do + meta = metadata() + + Request.request_post(client, meta, "ListSyncConfigurations", input, options) + end + @doc """ Gets the set of key-value pairs (metadata) that are used to manage the resource. """ @@ -217,4 +343,37 @@ defmodule AWS.CodeStarConnections do Request.request_post(client, meta, "UpdateHost", input, options) end + + @doc """ + Updates the association between your connection and a specified external Git + repository. + + A repository link allows Git sync to monitor and sync changes to files in a + specified Git repository. + """ + def update_repository_link(%Client{} = client, input, options \\ []) do + meta = metadata() + + Request.request_post(client, meta, "UpdateRepositoryLink", input, options) + end + + @doc """ + Allows you to update the status of a sync blocker, resolving the blocker and + allowing syncing to continue. + """ + def update_sync_blocker(%Client{} = client, input, options \\ []) do + meta = metadata() + + Request.request_post(client, meta, "UpdateSyncBlocker", input, options) + end + + @doc """ + Updates the sync configuration for your connection and a specified external Git + repository. + """ + def update_sync_configuration(%Client{} = client, input, options \\ []) do + meta = metadata() + + Request.request_post(client, meta, "UpdateSyncConfiguration", input, options) + end end diff --git a/lib/aws/generated/dlm.ex b/lib/aws/generated/dlm.ex index 23861453..e70b8a39 100644 --- a/lib/aws/generated/dlm.ex +++ b/lib/aws/generated/dlm.ex @@ -38,10 +38,24 @@ defmodule AWS.DLM do end @doc """ - Creates a policy to manage the lifecycle of the specified Amazon Web Services - resources. + Creates an Amazon Data Lifecycle Manager lifecycle policy. - You can create up to 100 lifecycle policies. + Amazon Data Lifecycle Manager supports the following policy types: + + * Custom EBS snapshot policy + + * Custom EBS-backed AMI policy + + * Cross-account copy event policy + + * Default policy for EBS snapshots + + * Default policy for EBS-backed AMIs + + For more information, see [ Default policies vs custom policies](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/policy-differences.html). + + If you create a default policy, you can specify the request parameters either in + the request body, or in the PolicyDetails request structure, but not both. """ def create_lifecycle_policy(%Client{} = client, input, options \\ []) do url_path = "/policies" @@ -70,7 +84,7 @@ defmodule AWS.DLM do For more information about deleting a policy, see [Delete lifecycle policies](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/view-modify-delete.html#delete). """ def delete_lifecycle_policy(%Client{} = client, policy_id, input, options \\ []) do - url_path = "/policies/#{AWS.Util.encode_uri(policy_id)}/" + url_path = "/policies/#{AWS.Util.encode_uri(policy_id)}" headers = [] query_params = [] @@ -97,6 +111,7 @@ defmodule AWS.DLM do """ def get_lifecycle_policies( %Client{} = client, + default_policy_type \\ nil, policy_ids \\ nil, resource_types \\ nil, state \\ nil, @@ -143,6 +158,13 @@ defmodule AWS.DLM do query_params end + query_params = + if !is_nil(default_policy_type) do + [{"defaultPolicyType", default_policy_type} | query_params] + else + query_params + end + meta = metadata() Request.request_rest(client, meta, :get, url_path, query_params, headers, nil, options, nil) @@ -152,7 +174,7 @@ defmodule AWS.DLM do Gets detailed information about the specified lifecycle policy. """ def get_lifecycle_policy(%Client{} = client, policy_id, options \\ []) do - url_path = "/policies/#{AWS.Util.encode_uri(policy_id)}/" + url_path = "/policies/#{AWS.Util.encode_uri(policy_id)}" headers = [] query_params = [] diff --git a/lib/aws/generated/ecr.ex b/lib/aws/generated/ecr.ex index ba17d537..5893454c 100644 --- a/lib/aws/generated/ecr.ex +++ b/lib/aws/generated/ecr.ex @@ -119,8 +119,10 @@ defmodule AWS.ECR do @doc """ Creates a pull through cache rule. - A pull through cache rule provides a way to cache images from an external public - registry in your Amazon ECR private registry. + A pull through cache rule provides a way to cache images from an upstream + registry source in your Amazon ECR private registry. For more information, see + [Using pull through cache rules](https://docs.aws.amazon.com/AmazonECR/latest/userguide/pull-through-cache.html) + in the *Amazon Elastic Container Registry User Guide*. """ def create_pull_through_cache_rule(%Client{} = client, input, options \\ []) do meta = metadata() @@ -170,8 +172,9 @@ defmodule AWS.ECR do @doc """ 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. + If the repository isn't empty, you must either delete the contents of the + repository or use the `force` option to delete the repository and have Amazon + ECR delete all of its contents on your behalf. """ def delete_repository(%Client{} = client, input, options \\ []) do meta = metadata() @@ -532,6 +535,15 @@ defmodule AWS.ECR do Request.request_post(client, meta, "UntagResource", input, options) end + @doc """ + Updates an existing pull through cache rule. + """ + def update_pull_through_cache_rule(%Client{} = client, input, options \\ []) do + meta = metadata() + + Request.request_post(client, meta, "UpdatePullThroughCacheRule", input, options) + end + @doc """ Uploads an image layer part to Amazon ECR. @@ -548,4 +560,18 @@ defmodule AWS.ECR do Request.request_post(client, meta, "UploadLayerPart", input, options) end + + @doc """ + Validates an existing pull through cache rule for an upstream registry that + requires authentication. + + This will retrieve the contents of the Amazon Web Services Secrets Manager + secret, verify the syntax, and then validate that authentication to the upstream + registry is successful. + """ + def validate_pull_through_cache_rule(%Client{} = client, input, options \\ []) do + meta = metadata() + + Request.request_post(client, meta, "ValidatePullThroughCacheRule", input, options) + end end diff --git a/lib/aws/generated/emr.ex b/lib/aws/generated/emr.ex index 874fa493..8b16193b 100644 --- a/lib/aws/generated/emr.ex +++ b/lib/aws/generated/emr.ex @@ -34,7 +34,7 @@ defmodule AWS.EMR do Adds an instance fleet to a running cluster. The instance fleet configuration is available only in Amazon EMR releases 4.8.0 - and higher, excluding 5.0.x. + and later, excluding 5.0.x. """ def add_instance_fleet(%Client{} = client, input, options \\ []) do meta = metadata() @@ -99,11 +99,11 @@ defmodule AWS.EMR do @doc """ Cancels a pending step or steps in a running cluster. - Available only in Amazon EMR versions 4.8.0 and higher, excluding version 5.0.0. + 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 that a step will be canceled, even if the request is successfully submitted. When you use Amazon EMR releases - 5.28.0 and higher, you can cancel steps that are in a `PENDING` or `RUNNING` + 5.28.0 and later, you can cancel steps that are in a `PENDING` or `RUNNING` state. In earlier versions of Amazon EMR, you can only cancel steps that are in a `PENDING` state. """ @@ -346,7 +346,7 @@ defmodule AWS.EMR do Lists all available details about the instance fleets in a cluster. The instance fleet configuration is available only in Amazon EMR releases 4.8.0 - and higher, excluding 5.0.x versions. + and later, excluding 5.0.x versions. """ def list_instance_fleets(%Client{} = client, input, options \\ []) do meta = metadata() @@ -480,7 +480,7 @@ defmodule AWS.EMR do The call either succeeds or fails atomically. The instance fleet configuration is available only in Amazon EMR releases 4.8.0 - and higher, excluding 5.0.x versions. + and later, excluding 5.0.x versions. """ def modify_instance_fleet(%Client{} = client, input, options \\ []) do meta = metadata() @@ -515,8 +515,7 @@ defmodule AWS.EMR do end @doc """ - Auto-termination is supported in Amazon EMR releases 5.30.0 and 6.1.0 and - higher. + Auto-termination is supported in Amazon EMR releases 5.30.0 and 6.1.0 and later. For more information, see [Using an auto-termination policy](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-auto-termination-policy.html). @@ -629,7 +628,7 @@ defmodule AWS.EMR do results. The instance fleets configuration is available only in Amazon EMR releases 4.8.0 - and higher, excluding 5.0.x versions. The RunJobFlow request can contain + and later, excluding 5.0.x versions. The RunJobFlow request can contain InstanceFleets parameters or InstanceGroups parameters, but not both. """ def run_job_flow(%Client{} = client, input, options \\ []) do diff --git a/lib/aws/generated/event_bridge.ex b/lib/aws/generated/event_bridge.ex index e88e5348..6120b796 100644 --- a/lib/aws/generated/event_bridge.ex +++ b/lib/aws/generated/event_bridge.ex @@ -67,6 +67,12 @@ defmodule AWS.EventBridge do @doc """ Creates an API destination, which is an HTTP invocation endpoint configured as a target for events. + + API destinations do not support private destinations, such as interface VPC + endpoints. + + For more information, see [API destinations](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-api-destinations.html) + in the *EventBridge User Guide*. """ def create_api_destination(%Client{} = client, input, options \\ []) do meta = metadata() @@ -151,13 +157,22 @@ defmodule AWS.EventBridge do ` *partner_name*/*event_namespace*/*event_name* ` - *partner_name* is determined during partner registration and identifies the - partner to Amazon Web Services 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 Amazon Web Services customers decide whether to create - an event bus to receive these events. + * *partner_name* is determined during partner registration, and + identifies the partner to Amazon Web Services 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 *event_name* must be unique across all Amazon Web Services customers. This + is because the event source is a shared resource between the partner and + customer accounts, and each partner event source unique in the partner account. + + The combination of *event_namespace* and *event_name* should help Amazon Web + Services customers decide whether to create an event bus to receive these + events. """ def create_partner_event_source(%Client{} = client, input, options \\ []) do meta = metadata() @@ -227,7 +242,7 @@ defmodule AWS.EventBridge do For more information about global endpoints, see [Making applications Regional-fault tolerant with global endpoints and event replication](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-global-endpoints.html) - in the Amazon EventBridge User Guide. + in the *Amazon EventBridge User Guide*. """ def delete_endpoint(%Client{} = client, input, options \\ []) do meta = metadata() @@ -318,7 +333,7 @@ defmodule AWS.EventBridge do For more information about global endpoints, see [Making applications Regional-fault tolerant with global endpoints and event replication](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-global-endpoints.html) - in the Amazon EventBridge User Guide.. + in the *Amazon EventBridge User Guide*. """ def describe_endpoint(%Client{} = client, input, options \\ []) do meta = metadata() @@ -466,7 +481,7 @@ defmodule AWS.EventBridge do For more information about global endpoints, see [Making applications Regional-fault tolerant with global endpoints and event replication](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-global-endpoints.html) - in the Amazon EventBridge User Guide.. + in the *Amazon EventBridge User Guide*. """ def list_endpoints(%Client{} = client, input, options \\ []) do meta = metadata() @@ -538,6 +553,8 @@ defmodule AWS.EventBridge do You can see which of the rules in Amazon EventBridge can invoke a specific target in your account. + + The maximum number of results per page for requests is 100. """ def list_rule_names_by_target(%Client{} = client, input, options \\ []) do meta = metadata() @@ -551,6 +568,8 @@ defmodule AWS.EventBridge do You can either list all the rules or you can provide a prefix to match to the rule names. + The maximum number of results per page for requests is 100. + ListRules does not list the targets of a rule. To see the targets associated with a rule, use [ListTargetsByRule](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_ListTargetsByRule.html). @@ -574,6 +593,8 @@ defmodule AWS.EventBridge do @doc """ Lists the targets assigned to the specified rule. + + The maximum number of results per page for requests is 100. """ def list_targets_by_rule(%Client{} = client, input, options \\ []) do meta = metadata() @@ -584,6 +605,16 @@ defmodule AWS.EventBridge do @doc """ Sends custom events to Amazon EventBridge so that they can be matched to rules. + The maximum size for a PutEvents event entry is 256 KB. Entry size is calculated + including the event and any necessary characters and keys of the JSON + representation of the event. To learn more, see [Calculating PutEvents event entry + size](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-putevent-size.html) + in the *Amazon EventBridge User Guide* + + PutEvents accepts the data in JSON format. For the JSON number (integer) data + type, the constraints are: a minimum value of -9,223,372,036,854,775,808 and a + maximum value of 9,223,372,036,854,775,807. + PutEvents will only process nested JSON up to 1100 levels deep. """ def put_events(%Client{} = client, input, options \\ []) do @@ -596,6 +627,10 @@ defmodule AWS.EventBridge do This is used by SaaS partners to write events to a customer's partner event bus. Amazon Web Services customers do not use this operation. + + For information on calculating event batch size, see [Calculating EventBridge PutEvents event entry + size](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-putevent-size.html) + in the *EventBridge User Guide*. """ def put_partner_events(%Client{} = client, input, options \\ []) do meta = metadata() @@ -704,72 +739,23 @@ defmodule AWS.EventBridge do Targets are the resources that are invoked when a rule is triggered. - Each rule can have up to five (5) targets associated with it at one time. - - You can configure the following as targets for Events: - - * [API destination](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-api-destinations.html) - - * [API Gateway](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-api-gateway-target.html) - - * Batch job queue - - * CloudWatch group - - * CodeBuild project - - * CodePipeline - - * EC2 `CreateSnapshot` API call - - * EC2 Image Builder + The maximum number of entries per request is 10. - * EC2 `RebootInstances` API call - - * EC2 `StopInstances` API call - - * EC2 `TerminateInstances` API call - - * ECS task - - * [Event bus in a different account or Region](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-cross-account.html) - - * [Event bus in the same account and Region](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-bus-to-bus.html) - - * Firehose delivery stream - - * Glue workflow - - * [Incident Manager response plan](https://docs.aws.amazon.com/incident-manager/latest/userguide/incident-creation.html#incident-tracking-auto-eventbridge) - - * Inspector assessment template - - * Kinesis stream - - * Lambda function - - * Redshift cluster - - * Redshift Serverless workgroup - - * SageMaker Pipeline - - * SNS topic + Each rule can have up to five (5) targets associated with it at one time. - * SQS queue + For a list of services you can configure as targets for events, see [EventBridge targets](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-targets.html) + in the *Amazon EventBridge User Guide*. - * Step Functions state machine + Creating rules with built-in targets is supported only in the Amazon Web + Services Management Console. The built-in targets are: - * Systems Manager Automation + * `Amazon EBS CreateSnapshot API call` - * Systems Manager OpsItem + * `Amazon EC2 RebootInstances API call` - * Systems Manager Run Command + * `Amazon EC2 StopInstances API call` - Creating rules with built-in targets is supported only in the Amazon Web - Services Management Console. The built-in targets are `EC2 CreateSnapshot API - call`, `EC2 RebootInstances API call`, `EC2 StopInstances API call`, and `EC2 - TerminateInstances API call`. + * `Amazon 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 @@ -778,11 +764,16 @@ defmodule AWS.EventBridge do field. To be able to make API calls against the resources that you own, Amazon - EventBridge needs the appropriate permissions. For Lambda and Amazon SNS - resources, EventBridge relies on resource-based policies. For EC2 instances, - Kinesis Data Streams, Step Functions state machines and API Gateway APIs, - EventBridge relies on IAM roles that you specify in the `RoleARN` argument in - `PutTargets`. For more information, see [Authentication and Access Control](https://docs.aws.amazon.com/eventbridge/latest/userguide/auth-and-access-control-eventbridge.html) + EventBridge needs the appropriate permissions: + + * For Lambda and Amazon SNS resources, EventBridge relies on + resource-based policies. + + * For EC2 instances, Kinesis Data Streams, Step Functions state + machines and API Gateway APIs, EventBridge relies on IAM roles that you specify + in the `RoleARN` argument in `PutTargets`. + + For more information, see [Authentication and Access Control](https://docs.aws.amazon.com/eventbridge/latest/userguide/auth-and-access-control-eventbridge.html) in the *Amazon EventBridge User Guide*. If another Amazon Web Services account is in the same region and has granted you @@ -804,6 +795,10 @@ defmodule AWS.EventBridge do Accounts](https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-cross-account-event-delivery.html) in the *Amazon EventBridge User Guide*. + If you have an IAM role on a cross-account event bus target, a `PutTargets` call + without a role on the same target (same `Id` and `Arn`) will not remove the + role. + For more information about enabling cross-account events, see [PutPermission](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutPermission.html). @@ -875,6 +870,8 @@ defmodule AWS.EventBridge do 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. + + The maximum number of entries per request is 10. """ def remove_targets(%Client{} = client, input, options \\ []) do meta = metadata() @@ -984,7 +981,7 @@ defmodule AWS.EventBridge do For more information about global endpoints, see [Making applications Regional-fault tolerant with global endpoints and event replication](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-global-endpoints.html) - in the Amazon EventBridge User Guide.. + in the *Amazon EventBridge User Guide*. """ def update_endpoint(%Client{} = client, input, options \\ []) do meta = metadata() diff --git a/lib/aws/generated/fsx.ex b/lib/aws/generated/fsx.ex index 3c6cbfc7..bf7aa836 100644 --- a/lib/aws/generated/fsx.ex +++ b/lib/aws/generated/fsx.ex @@ -915,6 +915,8 @@ defmodule AWS.FSx do * `LustreRootSquashConfiguration` + * `PerUnitStorageThroughput` + * `StorageCapacity` * `WeeklyMaintenanceStartTime` diff --git a/lib/aws/generated/glue.ex b/lib/aws/generated/glue.ex index 84a4d66d..07fb191f 100644 --- a/lib/aws/generated/glue.ex +++ b/lib/aws/generated/glue.ex @@ -893,6 +893,24 @@ defmodule AWS.Glue do Request.request_post(client, meta, "GetColumnStatisticsForTable", input, options) end + @doc """ + Get the associated metadata/information for a task run, given a task run ID. + """ + def get_column_statistics_task_run(%Client{} = client, input, options \\ []) do + meta = metadata() + + Request.request_post(client, meta, "GetColumnStatisticsTaskRun", input, options) + end + + @doc """ + Retrieves information about all runs associated with the specified table. + """ + def get_column_statistics_task_runs(%Client{} = client, input, options \\ []) do + meta = metadata() + + Request.request_post(client, meta, "GetColumnStatisticsTaskRuns", input, options) + end + @doc """ Retrieves a connection definition from the Data Catalog. """ @@ -1508,6 +1526,15 @@ defmodule AWS.Glue do Request.request_post(client, meta, "ListBlueprints", input, options) end + @doc """ + List all task runs for a particular account. + """ + def list_column_statistics_task_runs(%Client{} = client, input, options \\ []) do + meta = metadata() + + Request.request_post(client, meta, "ListColumnStatisticsTaskRuns", input, options) + end + @doc """ Retrieves the names of all crawler resources in this Amazon Web Services account, or the resources with the specified tag. @@ -1895,6 +1922,15 @@ defmodule AWS.Glue do Request.request_post(client, meta, "StartBlueprintRun", input, options) end + @doc """ + Starts a column statistics task run, for a specified table and columns. + """ + def start_column_statistics_task_run(%Client{} = client, input, options \\ []) do + meta = metadata() + + Request.request_post(client, meta, "StartColumnStatisticsTaskRun", input, options) + end + @doc """ Starts a crawl using the specified crawler, regardless of what is scheduled. @@ -2069,6 +2105,15 @@ defmodule AWS.Glue do Request.request_post(client, meta, "StartWorkflowRun", input, options) end + @doc """ + Stops a task run for the specified table. + """ + def stop_column_statistics_task_run(%Client{} = client, input, options \\ []) do + meta = metadata() + + Request.request_post(client, meta, "StopColumnStatisticsTaskRun", input, options) + end + @doc """ If the specified crawler is running, stops the crawl. """ diff --git a/lib/aws/generated/imagebuilder.ex b/lib/aws/generated/imagebuilder.ex index 13926bee..222edacc 100644 --- a/lib/aws/generated/imagebuilder.ex +++ b/lib/aws/generated/imagebuilder.ex @@ -43,6 +43,19 @@ defmodule AWS.Imagebuilder do Request.request_rest(client, meta, :put, url_path, query_params, headers, input, options, nil) end + @doc """ + Cancel a specific image lifecycle policy runtime instance. + """ + def cancel_lifecycle_execution(%Client{} = client, input, options \\ []) do + url_path = "/CancelLifecycleExecution" + headers = [] + query_params = [] + + meta = metadata() + + Request.request_rest(client, meta, :put, url_path, query_params, headers, input, options, nil) + end + @doc """ Creates a new component that can be used to build, validate, test, and assess your image. @@ -159,6 +172,19 @@ defmodule AWS.Imagebuilder do Request.request_rest(client, meta, :put, url_path, query_params, headers, input, options, nil) end + @doc """ + Create a lifecycle policy resource. + """ + def create_lifecycle_policy(%Client{} = client, input, options \\ []) do + url_path = "/CreateLifecyclePolicy" + headers = [] + query_params = [] + + meta = metadata() + + Request.request_rest(client, meta, :put, url_path, query_params, headers, input, options, nil) + end + @doc """ Deletes a component build version. """ @@ -368,6 +394,34 @@ defmodule AWS.Imagebuilder do ) end + @doc """ + Delete the specified lifecycle policy resource. + """ + def delete_lifecycle_policy(%Client{} = client, input, options \\ []) do + url_path = "/DeleteLifecyclePolicy" + headers = [] + + {query_params, input} = + [ + {"lifecyclePolicyArn", "lifecyclePolicyArn"} + ] + |> Request.build_params(input) + + meta = metadata() + + Request.request_rest( + client, + meta, + :delete, + url_path, + query_params, + headers, + input, + options, + nil + ) + end + @doc """ Gets a component object. """ @@ -596,6 +650,47 @@ defmodule AWS.Imagebuilder do Request.request_rest(client, meta, :get, url_path, query_params, headers, nil, options, nil) end + @doc """ + Get the runtime information that was logged for a specific runtime instance of + the lifecycle policy. + """ + def get_lifecycle_execution(%Client{} = client, lifecycle_execution_id, options \\ []) do + url_path = "/GetLifecycleExecution" + headers = [] + query_params = [] + + query_params = + if !is_nil(lifecycle_execution_id) do + [{"lifecycleExecutionId", lifecycle_execution_id} | query_params] + else + query_params + end + + meta = metadata() + + Request.request_rest(client, meta, :get, url_path, query_params, headers, nil, options, nil) + end + + @doc """ + Get details for the specified image lifecycle policy. + """ + def get_lifecycle_policy(%Client{} = client, lifecycle_policy_arn, options \\ []) do + url_path = "/GetLifecyclePolicy" + headers = [] + query_params = [] + + query_params = + if !is_nil(lifecycle_policy_arn) do + [{"lifecyclePolicyArn", lifecycle_policy_arn} | query_params] + else + query_params + end + + meta = metadata() + + Request.request_rest(client, meta, :get, url_path, query_params, headers, nil, options, nil) + end + @doc """ Get the runtime information that was logged for a specific runtime instance of the workflow. @@ -1013,6 +1108,76 @@ defmodule AWS.Imagebuilder do ) end + @doc """ + List resources that the runtime instance of the image lifecycle identified for + lifecycle actions. + """ + def list_lifecycle_execution_resources(%Client{} = client, input, options \\ []) do + url_path = "/ListLifecycleExecutionResources" + headers = [] + query_params = [] + + meta = metadata() + + Request.request_rest( + client, + meta, + :post, + url_path, + query_params, + headers, + input, + options, + nil + ) + end + + @doc """ + Get the lifecycle runtime history for the specified resource. + """ + def list_lifecycle_executions(%Client{} = client, input, options \\ []) do + url_path = "/ListLifecycleExecutions" + headers = [] + query_params = [] + + meta = metadata() + + Request.request_rest( + client, + meta, + :post, + url_path, + query_params, + headers, + input, + options, + nil + ) + end + + @doc """ + Get a list of lifecycle policies in your Amazon Web Services account. + """ + def list_lifecycle_policies(%Client{} = client, input, options \\ []) do + url_path = "/ListLifecyclePolicies" + headers = [] + query_params = [] + + meta = metadata() + + Request.request_rest( + client, + meta, + :post, + url_path, + query_params, + headers, + input, + options, + nil + ) + end + @doc """ Returns the list of tags for the specified resource. """ @@ -1168,6 +1333,20 @@ defmodule AWS.Imagebuilder do Request.request_rest(client, meta, :put, url_path, query_params, headers, input, options, nil) end + @doc """ + Begin asynchronous resource state update for lifecycle changes to the specified + image resources. + """ + def start_resource_state_update(%Client{} = client, input, options \\ []) do + url_path = "/StartResourceStateUpdate" + headers = [] + query_params = [] + + meta = metadata() + + Request.request_rest(client, meta, :put, url_path, query_params, headers, input, options, nil) + end + @doc """ Adds a tag to a resource. """ @@ -1268,4 +1447,17 @@ defmodule AWS.Imagebuilder do Request.request_rest(client, meta, :put, url_path, query_params, headers, input, options, nil) end + + @doc """ + Update the specified lifecycle policy. + """ + def update_lifecycle_policy(%Client{} = client, input, options \\ []) do + url_path = "/UpdateLifecyclePolicy" + headers = [] + query_params = [] + + meta = metadata() + + Request.request_rest(client, meta, :put, url_path, query_params, headers, input, options, nil) + end end diff --git a/lib/aws/generated/internet_monitor.ex b/lib/aws/generated/internet_monitor.ex index 9faf8e55..07e24901 100644 --- a/lib/aws/generated/internet_monitor.ex +++ b/lib/aws/generated/internet_monitor.ex @@ -162,6 +162,79 @@ defmodule AWS.InternetMonitor do Request.request_rest(client, meta, :get, url_path, query_params, headers, nil, options, 200) end + @doc """ + Return the data for a query with the Amazon CloudWatch Internet Monitor query + interface. + + Specify the query that you want to return results for by providing a `QueryId` + and a monitor name. + + For more information about using the query interface, including examples, see + [Using the Amazon CloudWatch Internet Monitor query interface](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-IM-view-cw-tools-cwim-query.html) + in the Amazon CloudWatch Internet Monitor User Guide. + """ + def get_query_results( + %Client{} = client, + monitor_name, + query_id, + max_results \\ nil, + next_token \\ nil, + options \\ [] + ) do + url_path = + "/v20210603/Monitors/#{AWS.Util.encode_uri(monitor_name)}/Queries/#{AWS.Util.encode_uri(query_id)}/Results" + + headers = [] + query_params = [] + + query_params = + if !is_nil(next_token) do + [{"NextToken", next_token} | query_params] + else + query_params + end + + query_params = + if !is_nil(max_results) do + [{"MaxResults", max_results} | query_params] + else + query_params + end + + meta = metadata() + + Request.request_rest(client, meta, :get, url_path, query_params, headers, nil, options, 200) + end + + @doc """ + Returns the current status of a query for the Amazon CloudWatch Internet Monitor + query interface, for a specified query ID and monitor. + + When you run a query, check the status to make sure that the query has + `SUCCEEDED` before you review the results. + + * `QUEUED`: The query is scheduled to run. + + * `RUNNING`: The query is in progress but not complete. + + * `SUCCEEDED`: The query completed sucessfully. + + * `FAILED`: The query failed due to an error. + + * `CANCELED`: The query was canceled. + """ + def get_query_status(%Client{} = client, monitor_name, query_id, options \\ []) do + url_path = + "/v20210603/Monitors/#{AWS.Util.encode_uri(monitor_name)}/Queries/#{AWS.Util.encode_uri(query_id)}/Status" + + headers = [] + query_params = [] + + meta = metadata() + + Request.request_rest(client, meta, :get, url_path, query_params, headers, nil, options, 200) + end + @doc """ Lists all health events for a monitor in Amazon CloudWatch Internet Monitor. @@ -281,6 +354,63 @@ defmodule AWS.InternetMonitor do Request.request_rest(client, meta, :get, url_path, query_params, headers, nil, options, 200) end + @doc """ + Start a query to return data for a specific query type for the Amazon CloudWatch + Internet Monitor query interface. + + Specify a time period for the data that you want returned by using `StartTime` + and `EndTime`. You filter the query results to return by providing parameters + that you specify with `FilterParameters`. + + For more information about using the query interface, including examples, see + [Using the Amazon CloudWatch Internet Monitor query interface](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-IM-view-cw-tools-cwim-query.html) + in the Amazon CloudWatch Internet Monitor User Guide. + """ + def start_query(%Client{} = client, monitor_name, input, options \\ []) do + url_path = "/v20210603/Monitors/#{AWS.Util.encode_uri(monitor_name)}/Queries" + headers = [] + query_params = [] + + meta = metadata() + + Request.request_rest( + client, + meta, + :post, + url_path, + query_params, + headers, + input, + options, + 200 + ) + end + + @doc """ + Stop a query that is progress for a specific monitor. + """ + def stop_query(%Client{} = client, monitor_name, query_id, input, options \\ []) do + url_path = + "/v20210603/Monitors/#{AWS.Util.encode_uri(monitor_name)}/Queries/#{AWS.Util.encode_uri(query_id)}" + + headers = [] + query_params = [] + + meta = metadata() + + Request.request_rest( + client, + meta, + :delete, + url_path, + query_params, + headers, + input, + options, + 200 + ) + end + @doc """ Adds a tag to a resource. diff --git a/lib/aws/generated/ivs_real_time.ex b/lib/aws/generated/ivs_real_time.ex index a490dec9..452bc864 100644 --- a/lib/aws/generated/ivs_real_time.ex +++ b/lib/aws/generated/ivs_real_time.ex @@ -21,9 +21,16 @@ defmodule AWS.IVSRealTime do * A *participant object* represents participants (people) in the stage and contains information about them. When a token is created, it includes a participant ID; when a participant uses that token to join a stage, the - participant is associated with that participant ID There is a 1:1 mapping + participant is associated with that participant ID. There is a 1:1 mapping between participant tokens and participants. + * Server-side composition: The *composition* process composites + participants of a stage into a single video and forwards it to a set of outputs + (e.g., IVS channels). Composition endpoints support this process. + + * Server-side composition: A *composition* controls the look of the + outputs, including how participants are positioned in the video. + ## Resources The following resources contain information about your IVS live stream (see @@ -86,6 +93,52 @@ defmodule AWS.IVSRealTime do * `UpdateStage` — Updates a stage’s configuration. + ## Composition Endpoints + + * `GetComposition` — Gets information about the specified + Composition resource. + + * `ListCompositions` — Gets summary information about all + Compositions in your account, in the AWS region where the API request is + processed. + + * `StartComposition` — Starts a Composition from a stage based on + the configuration provided in the request. + + * `StopComposition` — Stops and deletes a Composition resource. Any + broadcast from the Composition resource is stopped. + + ## EncoderConfiguration Endpoints + + * `CreateEncoderConfiguration` — Creates an EncoderConfiguration + object. + + * `DeleteEncoderConfiguration` — Deletes an EncoderConfiguration + resource. Ensures that no Compositions are using this template; otherwise, + returns an error. + + * `GetEncoderConfiguration` — Gets information about the specified + EncoderConfiguration resource. + + * `ListEncoderConfigurations` — Gets summary information about all + EncoderConfigurations in your account, in the AWS region where the API request + is processed. + + ## StorageConfiguration Endpoints + + * `CreateStorageConfiguration` — Creates a new storage + configuration, used to enable recording to Amazon S3. + + * `DeleteStorageConfiguration` — Deletes the storage configuration + for the specified ARN. + + * `GetStorageConfiguration` — Gets the storage configuration for the + specified ARN. + + * `ListStorageConfigurations` — Gets summary information about all + storage configurations in your account, in the AWS region where the API request + is processed. + ## Tags Endpoints * `ListTagsForResource` — Gets information about AWS tags for the @@ -117,6 +170,29 @@ defmodule AWS.IVSRealTime do } end + @doc """ + Creates an EncoderConfiguration object. + """ + def create_encoder_configuration(%Client{} = client, input, options \\ []) do + url_path = "/CreateEncoderConfiguration" + headers = [] + query_params = [] + + meta = metadata() + + Request.request_rest( + client, + meta, + :post, + url_path, + query_params, + headers, + input, + options, + 200 + ) + end + @doc """ Creates an additional token for a specified stage. @@ -169,6 +245,59 @@ defmodule AWS.IVSRealTime do ) end + @doc """ + Creates a new storage configuration, used to enable recording to Amazon S3. + + When a StorageConfiguration is created, IVS will modify the S3 bucketPolicy of + the provided bucket. This will ensure that IVS has sufficient permissions to + write content to the provided bucket. + """ + def create_storage_configuration(%Client{} = client, input, options \\ []) do + url_path = "/CreateStorageConfiguration" + headers = [] + query_params = [] + + meta = metadata() + + Request.request_rest( + client, + meta, + :post, + url_path, + query_params, + headers, + input, + options, + 200 + ) + end + + @doc """ + Deletes an EncoderConfiguration resource. + + Ensures that no Compositions are using this template; otherwise, returns an + error. + """ + def delete_encoder_configuration(%Client{} = client, input, options \\ []) do + url_path = "/DeleteEncoderConfiguration" + headers = [] + query_params = [] + + meta = metadata() + + Request.request_rest( + client, + meta, + :post, + url_path, + query_params, + headers, + input, + options, + 200 + ) + end + @doc """ Shuts down and deletes the specified stage (disconnecting all participants). """ @@ -192,6 +321,34 @@ defmodule AWS.IVSRealTime do ) end + @doc """ + Deletes the storage configuration for the specified ARN. + + If you try to delete a storage configuration that is used by a Composition, you + will get an error (409 ConflictException). To avoid this, for all Compositions + that reference the storage configuration, first use `StopComposition` and wait + for it to complete, then use DeleteStorageConfiguration. + """ + def delete_storage_configuration(%Client{} = client, input, options \\ []) do + url_path = "/DeleteStorageConfiguration" + headers = [] + query_params = [] + + meta = metadata() + + Request.request_rest( + client, + meta, + :post, + url_path, + query_params, + headers, + input, + options, + 200 + ) + end + @doc """ Disconnects a specified participant and revokes the participant permanently from a specified stage. @@ -216,6 +373,52 @@ defmodule AWS.IVSRealTime do ) end + @doc """ + Get information about the specified Composition resource. + """ + def get_composition(%Client{} = client, input, options \\ []) do + url_path = "/GetComposition" + headers = [] + query_params = [] + + meta = metadata() + + Request.request_rest( + client, + meta, + :post, + url_path, + query_params, + headers, + input, + options, + 200 + ) + end + + @doc """ + Gets information about the specified EncoderConfiguration resource. + """ + def get_encoder_configuration(%Client{} = client, input, options \\ []) do + url_path = "/GetEncoderConfiguration" + headers = [] + query_params = [] + + meta = metadata() + + Request.request_rest( + client, + meta, + :post, + url_path, + query_params, + headers, + input, + options, + 200 + ) + end + @doc """ Gets information about the specified participant token. """ @@ -285,6 +488,77 @@ defmodule AWS.IVSRealTime do ) end + @doc """ + Gets the storage configuration for the specified ARN. + """ + def get_storage_configuration(%Client{} = client, input, options \\ []) do + url_path = "/GetStorageConfiguration" + headers = [] + query_params = [] + + meta = metadata() + + Request.request_rest( + client, + meta, + :post, + url_path, + query_params, + headers, + input, + options, + 200 + ) + end + + @doc """ + Gets summary information about all Compositions in your account, in the AWS + region where the API request is processed. + """ + def list_compositions(%Client{} = client, input, options \\ []) do + url_path = "/ListCompositions" + headers = [] + query_params = [] + + meta = metadata() + + Request.request_rest( + client, + meta, + :post, + url_path, + query_params, + headers, + input, + options, + 200 + ) + end + + @doc """ + Gets summary information about all EncoderConfigurations in your account, in the + AWS region where the API request is processed. + """ + def list_encoder_configurations(%Client{} = client, input, options \\ []) do + url_path = "/ListEncoderConfigurations" + headers = [] + query_params = [] + + meta = metadata() + + Request.request_rest( + client, + meta, + :post, + url_path, + query_params, + headers, + input, + options, + 200 + ) + end + @doc """ Lists events for a specified participant that occurred during a specified stage session. @@ -379,6 +653,30 @@ defmodule AWS.IVSRealTime do ) end + @doc """ + Gets summary information about all storage configurations in your account, in + the AWS region where the API request is processed. + """ + def list_storage_configurations(%Client{} = client, input, options \\ []) do + url_path = "/ListStorageConfigurations" + headers = [] + query_params = [] + + meta = metadata() + + Request.request_rest( + client, + meta, + :post, + url_path, + query_params, + headers, + input, + options, + 200 + ) + end + @doc """ Gets information about AWS tags for the specified ARN. """ @@ -392,6 +690,72 @@ defmodule AWS.IVSRealTime do Request.request_rest(client, meta, :get, url_path, query_params, headers, nil, options, 200) end + @doc """ + Starts a Composition from a stage based on the configuration provided in the + request. + + A Composition is an ephemeral resource that exists after this endpoint returns + successfully. Composition stops and the resource is deleted: + + * When `StopComposition` is called. + + * After a 1-minute timeout, when all participants are disconnected + from the stage. + + * After a 1-minute timeout, if there are no participants in the + stage when StartComposition is called. + + * When broadcasting to the IVS channel fails and all retries are + exhausted. + + * When broadcasting is disconnected and all attempts to reconnect + are exhausted. + """ + def start_composition(%Client{} = client, input, options \\ []) do + url_path = "/StartComposition" + headers = [] + query_params = [] + + meta = metadata() + + Request.request_rest( + client, + meta, + :post, + url_path, + query_params, + headers, + input, + options, + 200 + ) + end + + @doc """ + Stops and deletes a Composition resource. + + Any broadcast from the Composition resource is stopped. + """ + def stop_composition(%Client{} = client, input, options \\ []) do + url_path = "/StopComposition" + headers = [] + query_params = [] + + meta = metadata() + + Request.request_rest( + client, + meta, + :post, + url_path, + query_params, + headers, + input, + options, + 200 + ) + end + @doc """ Adds or updates tags for the AWS resource with the specified ARN. """ diff --git a/lib/aws/generated/kinesis_video.ex b/lib/aws/generated/kinesis_video.ex index 89886020..2da535fb 100644 --- a/lib/aws/generated/kinesis_video.ex +++ b/lib/aws/generated/kinesis_video.ex @@ -249,11 +249,9 @@ defmodule AWS.KinesisVideo do end @doc """ - This API is related to [WebRTC Ingestion](https://docs.aws.amazon.com/kinesisvideostreams-webrtc-dg/latest/devguide/webrtc-ingestion.html) - and is only available in the `us-west-2` region. + Returns the most current information about the channel. - Returns the most current information about the channel. Specify the - `ChannelName` or `ChannelARN` in the input. + Specify the `ChannelName` or `ChannelARN` in the input. """ def describe_media_storage_configuration(%Client{} = client, input, options \\ []) do url_path = "/describeMediaStorageConfiguration" @@ -712,8 +710,6 @@ defmodule AWS.KinesisVideo do 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. @@ -773,17 +769,16 @@ defmodule AWS.KinesisVideo do end @doc """ - This API is related to [WebRTC Ingestion](https://docs.aws.amazon.com/kinesisvideostreams-webrtc-dg/latest/devguide/webrtc-ingestion.html) - and is only available in the `us-west-2` region. + Associates a `SignalingChannel` to a stream to store the media. - Associates a `SignalingChannel` to a stream to store the media. There are two - signaling modes that can specified : + There are two signaling modes that you can specify : - * If the `StorageStatus` is disabled, no data will be stored, and - the `StreamARN` parameter will not be needed. + * If `StorageStatus` is enabled, the data will be stored in the + `StreamARN` provided. In order for WebRTC Ingestion to work, the stream must + have data retention enabled. - * If the `StorageStatus` is enabled, the data will be stored in the - `StreamARN` provided. + * If `StorageStatus` is disabled, no data will be stored, and the + `StreamARN` parameter will not be needed. If `StorageStatus` is enabled, direct peer-to-peer (master-viewer) connections no longer occur. Peers connect directly to the storage session. You must call diff --git a/lib/aws/generated/lambda.ex b/lib/aws/generated/lambda.ex index 52203554..aef89077 100644 --- a/lib/aws/generated/lambda.ex +++ b/lib/aws/generated/lambda.ex @@ -1149,10 +1149,6 @@ defmodule AWS.Lambda do For asynchronous function invocation, use `Invoke`. Invokes a function asynchronously. - - If you do use the InvokeAsync action, note that it doesn't support the use of - X-Ray active tracing. Trace ID is not propagated to the function, even if X-Ray - active tracing is turned on. """ def invoke_async(%Client{} = client, function_name, input, options \\ []) do url_path = "/2014-11-13/functions/#{AWS.Util.encode_uri(function_name)}/invoke-async/" diff --git a/lib/aws/generated/macie.ex b/lib/aws/generated/macie.ex deleted file mode 100644 index 249b3955..00000000 --- a/lib/aws/generated/macie.ex +++ /dev/null @@ -1,124 +0,0 @@ -# WARNING: DO NOT EDIT, AUTO-GENERATED CODE! -# See https://github.com/aws-beam/aws-codegen for more details. - -defmodule AWS.Macie do - @moduledoc """ - Amazon Macie Classic - - Amazon Macie Classic has been discontinued and is no longer available. - - A new Amazon Macie is now available with significant design improvements and - additional features, at a lower price and in most Amazon Web Services Regions. - We encourage you to take advantage of the new and improved features, and benefit - from the reduced cost. To learn about features and pricing for the new Macie, - see [Amazon Macie](http://aws.amazon.com/macie/). To learn how to use the new Macie, see the [Amazon Macie User - Guide](https://docs.aws.amazon.com/macie/latest/user/what-is-macie.html). - """ - - alias AWS.Client - alias AWS.Request - - def metadata do - %{ - abbreviation: nil, - api_version: "2017-12-19", - content_type: "application/x-amz-json-1.1", - credential_scope: nil, - endpoint_prefix: "macie", - global?: false, - protocol: "json", - service_id: "Macie", - signature_version: "v4", - signing_name: "macie", - target_prefix: "MacieService" - } - end - - @doc """ - (Discontinued) Associates a specified Amazon Web Services account with Amazon - Macie Classic as a member account. - """ - def associate_member_account(%Client{} = client, input, options \\ []) do - meta = metadata() - - Request.request_post(client, meta, "AssociateMemberAccount", input, options) - end - - @doc """ - (Discontinued) Associates specified S3 resources with Amazon Macie Classic for - monitoring and data classification. - - If `memberAccountId` isn't specified, the action associates specified S3 - resources with Macie Classic for the current Macie Classic administrator - account. If `memberAccountId` is specified, the action associates specified S3 - resources with Macie Classic for the specified member account. - """ - def associate_s3_resources(%Client{} = client, input, options \\ []) do - meta = metadata() - - Request.request_post(client, meta, "AssociateS3Resources", input, options) - end - - @doc """ - (Discontinued) Removes the specified member account from Amazon Macie Classic. - """ - def disassociate_member_account(%Client{} = client, input, options \\ []) do - meta = metadata() - - Request.request_post(client, meta, "DisassociateMemberAccount", input, options) - end - - @doc """ - (Discontinued) Removes specified S3 resources from being monitored by Amazon - Macie Classic. - - If `memberAccountId` isn't specified, the action removes specified S3 resources - from Macie Classic for the current Macie Classic administrator account. If - `memberAccountId` is specified, the action removes specified S3 resources from - Macie Classic for the specified member account. - """ - def disassociate_s3_resources(%Client{} = client, input, options \\ []) do - meta = metadata() - - Request.request_post(client, meta, "DisassociateS3Resources", input, options) - end - - @doc """ - (Discontinued) Lists all Amazon Macie Classic member accounts for the current - Macie Classic administrator account. - """ - def list_member_accounts(%Client{} = client, input, options \\ []) do - meta = metadata() - - Request.request_post(client, meta, "ListMemberAccounts", input, options) - end - - @doc """ - (Discontinued) Lists all the S3 resources associated with Amazon Macie Classic. - - If `memberAccountId` isn't specified, the action lists the S3 resources - associated with Macie Classic for the current Macie Classic administrator - account. If `memberAccountId` is specified, the action lists the S3 resources - associated with Macie Classic for the specified member account. - """ - def list_s3_resources(%Client{} = client, input, options \\ []) do - meta = metadata() - - Request.request_post(client, meta, "ListS3Resources", input, options) - end - - @doc """ - (Discontinued) 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 Classic for the current - Macie Classic administrator account. If `memberAccountId` is specified, the - action updates the classification types of the S3 resources associated with - Macie Classic for the specified member account. - """ - def update_s3_resources(%Client{} = client, input, options \\ []) do - meta = metadata() - - Request.request_post(client, meta, "UpdateS3Resources", input, options) - end -end diff --git a/lib/aws/generated/media_live.ex b/lib/aws/generated/media_live.ex index e6af148b..acb2511f 100644 --- a/lib/aws/generated/media_live.ex +++ b/lib/aws/generated/media_live.ex @@ -549,7 +549,7 @@ defmodule AWS.MediaLive do end @doc """ - Get account configuration + Describe account configuration """ def describe_account_configuration(%Client{} = client, options \\ []) do url_path = "/prod/accountConfiguration" diff --git a/lib/aws/generated/pinpoint_sms_voice_v2.ex b/lib/aws/generated/pinpoint_sms_voice_v2.ex index 9c4ad997..589f54e1 100644 --- a/lib/aws/generated/pinpoint_sms_voice_v2.ex +++ b/lib/aws/generated/pinpoint_sms_voice_v2.ex @@ -22,6 +22,24 @@ defmodule AWS.PinpointSMSVoiceV2 do types of applications. The guide also provides key information, such as Amazon Pinpoint integration with other Amazon Web Services services, and the quotas that apply to use of the service. + + ## Regional availability + + The *Amazon Pinpoint SMS and Voice, version 2 API Reference* is available in + several Amazon Web Services Regions and it provides an endpoint for each of + these Regions. For a list of all the Regions and endpoints where the API is + currently available, see [Amazon Web Services Service Endpoints](https://docs.aws.amazon.com/general/latest/gr/rande.html#pinpoint_region) + and [Amazon Pinpoint endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/pinpoint.html) in the + Amazon Web Services General Reference. To learn more about Amazon Web Services + Regions, see [Managing Amazon Web Services Regions](https://docs.aws.amazon.com/general/latest/gr/rande-manage.html) in the + Amazon Web Services General Reference. + + In each Region, Amazon Web Services maintains multiple Availability Zones. These + Availability Zones are physically isolated from each other, but are united by + private, low-latency, high-throughput, and highly redundant network connections. + These Availability Zones enable us to provide very high levels of availability + and redundancy, while also minimizing latency. To learn more about the number of + Availability Zones that are available in each Region, see [Amazon Web Services Global Infrastructure.](https://aws.amazon.com/about-aws/global-infrastructure/) """ alias AWS.Client @@ -47,11 +65,11 @@ defmodule AWS.PinpointSMSVoiceV2 do Associates the specified origination identity with a pool. If the origination identity is a phone number and is already associated with - another pool, an Error is returned. A sender ID can be associated with multiple + another pool, an error is returned. A sender ID can be associated with multiple pools. If the origination identity configuration doesn't match the pool's - configuration, an Error is returned. + configuration, an error is returned. """ def associate_origination_identity(%Client{} = client, input, options \\ []) do meta = metadata() @@ -98,7 +116,7 @@ defmodule AWS.PinpointSMSVoiceV2 do @doc """ Creates a new opt-out list. - If the opt-out list name already exists, an Error is returned. + If the opt-out list name already exists, an error is returned. An opt-out list is a list of phone numbers that are opted out, meaning you can't send SMS or voice messages to them. If end user replies with the keyword "STOP," @@ -127,7 +145,7 @@ defmodule AWS.PinpointSMSVoiceV2 do origination identity and defaults to false. If the origination identity is a phone number and is already associated with - another pool, an Error is returned. A sender ID can be associated with multiple + another pool, an error is returned. A sender ID can be associated with multiple pools. """ def create_pool(%Client{} = client, input, options \\ []) do @@ -136,6 +154,62 @@ defmodule AWS.PinpointSMSVoiceV2 do Request.request_post(client, meta, "CreatePool", input, options) end + @doc """ + Creates a new registration based on the **RegistrationType** field. + """ + def create_registration(%Client{} = client, input, options \\ []) do + meta = metadata() + + Request.request_post(client, meta, "CreateRegistration", input, options) + end + + @doc """ + Associate the registration with an origination identity such as a phone number + or sender ID. + """ + def create_registration_association(%Client{} = client, input, options \\ []) do + meta = metadata() + + Request.request_post(client, meta, "CreateRegistrationAssociation", input, options) + end + + @doc """ + Create a new registration attachment to use for uploading a file or a URL to a + file. + + The maximum file size is 1MiB and valid file extensions are PDF, JPEG and PNG. + For example, many sender ID registrations require a signed “letter of + authorization” (LOA) to be submitted. + """ + def create_registration_attachment(%Client{} = client, input, options \\ []) do + meta = metadata() + + Request.request_post(client, meta, "CreateRegistrationAttachment", input, options) + end + + @doc """ + Create a new version of the registration and increase the **VersionNumber**. + + The previous version of the registration becomes read-only. + """ + def create_registration_version(%Client{} = client, input, options \\ []) do + meta = metadata() + + Request.request_post(client, meta, "CreateRegistrationVersion", input, options) + end + + @doc """ + You can only send messages to verified destination numbers when your account is + in the sandbox. + + You can add up to 10 verified destination numbers. + """ + def create_verified_destination_number(%Client{} = client, input, options \\ []) do + meta = metadata() + + Request.request_post(client, meta, "CreateVerifiedDestinationNumber", input, options) + end + @doc """ Deletes an existing configuration set. @@ -214,7 +288,7 @@ defmodule AWS.PinpointSMSVoiceV2 do All opted out phone numbers in the opt-out list are deleted. If the specified opt-out list name doesn't exist or is in-use by an origination - phone number or pool, an Error is returned. + phone number or pool, an error is returned. """ def delete_opt_out_list(%Client{} = client, input, options \\ []) do meta = metadata() @@ -229,7 +303,7 @@ defmodule AWS.PinpointSMSVoiceV2 do Each destination phone number can only be deleted once every 30 days. If the specified destination phone number doesn't exist or if the opt-out list - doesn't exist, an Error is returned. + doesn't exist, an error is returned. """ def delete_opted_out_number(%Client{} = client, input, options \\ []) do meta = metadata() @@ -242,7 +316,7 @@ defmodule AWS.PinpointSMSVoiceV2 do Deleting a pool disassociates all origination identities from that pool. - If the pool status isn't active or if deletion protection is enabled, an Error + If the pool status isn't active or if deletion protection is enabled, an error is returned. A pool is a collection of phone numbers and SenderIds. A pool can include one or @@ -255,6 +329,33 @@ defmodule AWS.PinpointSMSVoiceV2 do Request.request_post(client, meta, "DeletePool", input, options) end + @doc """ + Permanently delete an existing registration from your account. + """ + def delete_registration(%Client{} = client, input, options \\ []) do + meta = metadata() + + Request.request_post(client, meta, "DeleteRegistration", input, options) + end + + @doc """ + Permanently delete the specified registration attachment. + """ + def delete_registration_attachment(%Client{} = client, input, options \\ []) do + meta = metadata() + + Request.request_post(client, meta, "DeleteRegistrationAttachment", input, options) + end + + @doc """ + Delete the value in a registration form field. + """ + def delete_registration_field_value(%Client{} = client, input, options \\ []) do + meta = metadata() + + Request.request_post(client, meta, "DeleteRegistrationFieldValue", input, options) + end + @doc """ Deletes an account-level monthly spending limit override for sending text messages. @@ -271,6 +372,15 @@ defmodule AWS.PinpointSMSVoiceV2 do Request.request_post(client, meta, "DeleteTextMessageSpendLimitOverride", input, options) end + @doc """ + Delete a verified destination phone number. + """ + def delete_verified_destination_number(%Client{} = client, input, options \\ []) do + meta = metadata() + + Request.request_post(client, meta, "DeleteVerifiedDestinationNumber", input, options) + end + @doc """ Deletes an account level monthly spend limit override for sending voice messages. @@ -351,7 +461,7 @@ defmodule AWS.PinpointSMSVoiceV2 do offer. When your number receives a message that begins with a keyword, Amazon Pinpoint responds with a customizable message. - If you specify a keyword that isn't valid, an Error is returned. + If you specify a keyword that isn't valid, an error is returned. """ def describe_keywords(%Client{} = client, input, options \\ []) do meta = metadata() @@ -367,7 +477,7 @@ defmodule AWS.PinpointSMSVoiceV2 do criteria. If you don't specify opt-out list names or filters, the output includes information for all opt-out lists. - If you specify an opt-out list name that isn't valid, an Error is returned. + If you specify an opt-out list name that isn't valid, an error is returned. """ def describe_opt_out_lists(%Client{} = client, input, options \\ []) do meta = metadata() @@ -385,7 +495,7 @@ defmodule AWS.PinpointSMSVoiceV2 do you don't specify opted out numbers or filters, the output includes information for all opted out destination numbers in your opt-out list. - If you specify an opted out number that isn't valid, an Error is returned. + If you specify an opted out number that isn't valid, an error is returned. """ def describe_opted_out_numbers(%Client{} = client, input, options \\ []) do meta = metadata() @@ -403,7 +513,7 @@ defmodule AWS.PinpointSMSVoiceV2 do phone number IDs or filters, the output includes information for all phone numbers. - If you specify a phone number ID that isn't valid, an Error is returned. + If you specify a phone number ID that isn't valid, an error is returned. """ def describe_phone_numbers(%Client{} = client, input, options \\ []) do meta = metadata() @@ -420,7 +530,7 @@ defmodule AWS.PinpointSMSVoiceV2 do pools that meet the filter criteria. If you don't specify pool IDs or filters, the output includes information for all pools. - If you specify a pool ID that isn't valid, an Error is returned. + If you specify a pool ID that isn't valid, an error is returned. A pool is a collection of phone numbers and SenderIds. A pool can include one or more phone numbers and SenderIds that are associated with your Amazon Web @@ -432,6 +542,79 @@ defmodule AWS.PinpointSMSVoiceV2 do Request.request_post(client, meta, "DescribePools", input, options) end + @doc """ + Retrieves the specified registration attachments or all registration attachments + associated with your Amazon Web Services account. + """ + def describe_registration_attachments(%Client{} = client, input, options \\ []) do + meta = metadata() + + Request.request_post(client, meta, "DescribeRegistrationAttachments", input, options) + end + + @doc """ + Retrieves the specified registration type field definitions. + + You can use DescribeRegistrationFieldDefinitions to view the requirements for + creating, filling out, and submitting each registration type. + """ + def describe_registration_field_definitions(%Client{} = client, input, options \\ []) do + meta = metadata() + + Request.request_post(client, meta, "DescribeRegistrationFieldDefinitions", input, options) + end + + @doc """ + Retrieves the specified registration field values. + """ + def describe_registration_field_values(%Client{} = client, input, options \\ []) do + meta = metadata() + + Request.request_post(client, meta, "DescribeRegistrationFieldValues", input, options) + end + + @doc """ + Retrieves the specified registration section definitions. + + You can use DescribeRegistrationSectionDefinitions to view the requirements for + creating, filling out, and submitting each registration type. + """ + def describe_registration_section_definitions(%Client{} = client, input, options \\ []) do + meta = metadata() + + Request.request_post(client, meta, "DescribeRegistrationSectionDefinitions", input, options) + end + + @doc """ + Retrieves the specified registration type definitions. + + You can use DescribeRegistrationTypeDefinitions to view the requirements for + creating, filling out, and submitting each registration type. + """ + def describe_registration_type_definitions(%Client{} = client, input, options \\ []) do + meta = metadata() + + Request.request_post(client, meta, "DescribeRegistrationTypeDefinitions", input, options) + end + + @doc """ + Retrieves the specified registration version. + """ + def describe_registration_versions(%Client{} = client, input, options \\ []) do + meta = metadata() + + Request.request_post(client, meta, "DescribeRegistrationVersions", input, options) + end + + @doc """ + Retrieves the specified registrations. + """ + def describe_registrations(%Client{} = client, input, options \\ []) do + meta = metadata() + + Request.request_post(client, meta, "DescribeRegistrations", input, options) + end + @doc """ Describes the specified SenderIds or all SenderIds associated with your Amazon Web Services account. @@ -441,7 +624,7 @@ defmodule AWS.PinpointSMSVoiceV2 do those SenderIds that meet the filter criteria. If you don't specify SenderIds or filters, the output includes information for all SenderIds. - f you specify a sender ID that isn't valid, an Error is returned. + f you specify a sender ID that isn't valid, an error is returned. """ def describe_sender_ids(%Client{} = client, input, options \\ []) do meta = metadata() @@ -465,10 +648,19 @@ defmodule AWS.PinpointSMSVoiceV2 do Request.request_post(client, meta, "DescribeSpendLimits", input, options) end + @doc """ + Retrieves the specified verified destiona numbers. + """ + def describe_verified_destination_numbers(%Client{} = client, input, options \\ []) do + meta = metadata() + + Request.request_post(client, meta, "DescribeVerifiedDestinationNumbers", input, options) + end + @doc """ Removes the specified origination identity from an existing pool. - If the origination identity isn't associated with the specified pool, an Error + If the origination identity isn't associated with the specified pool, an error is returned. """ def disassociate_origination_identity(%Client{} = client, input, options \\ []) do @@ -477,6 +669,15 @@ defmodule AWS.PinpointSMSVoiceV2 do Request.request_post(client, meta, "DisassociateOriginationIdentity", input, options) end + @doc """ + Discard the current version of the registration. + """ + def discard_registration_version(%Client{} = client, input, options \\ []) do + meta = metadata() + + Request.request_post(client, meta, "DiscardRegistrationVersion", input, options) + end + @doc """ Lists all associated origination identities in your pool. @@ -489,6 +690,16 @@ defmodule AWS.PinpointSMSVoiceV2 do Request.request_post(client, meta, "ListPoolOriginationIdentities", input, options) end + @doc """ + Retreive all of the origination identies that are associated with a + registration. + """ + def list_registration_associations(%Client{} = client, input, options \\ []) do + meta = metadata() + + Request.request_post(client, meta, "ListRegistrationAssociations", input, options) + end + @doc """ List all tags associated with a resource. """ @@ -508,7 +719,7 @@ defmodule AWS.PinpointSMSVoiceV2 do offer. When your number receives a message that begins with a keyword, Amazon Pinpoint responds with a customizable message. - If you specify a keyword that isn't valid, an Error is returned. + If you specify a keyword that isn't valid, an error is returned. """ def put_keyword(%Client{} = client, input, options \\ []) do meta = metadata() @@ -520,7 +731,7 @@ defmodule AWS.PinpointSMSVoiceV2 do Creates an opted out destination phone number in the opt-out list. If the destination phone number isn't valid or if the specified opt-out list - doesn't exist, an Error is returned. + doesn't exist, an error is returned. """ def put_opted_out_number(%Client{} = client, input, options \\ []) do meta = metadata() @@ -528,13 +739,22 @@ defmodule AWS.PinpointSMSVoiceV2 do Request.request_post(client, meta, "PutOptedOutNumber", input, options) end + @doc """ + Creates or updates a field value for a registration. + """ + def put_registration_field_value(%Client{} = client, input, options \\ []) do + meta = metadata() + + Request.request_post(client, meta, "PutRegistrationFieldValue", input, options) + end + @doc """ Releases an existing origination phone number in your account. Once released, a phone number is no longer available for sending messages. If the origination phone number has deletion protection enabled or is associated - with a pool, an Error is returned. + with a pool, an error is returned. """ def release_phone_number(%Client{} = client, input, options \\ []) do meta = metadata() @@ -542,6 +762,15 @@ defmodule AWS.PinpointSMSVoiceV2 do Request.request_post(client, meta, "ReleasePhoneNumber", input, options) end + @doc """ + Releases an existing sender ID in your account. + """ + def release_sender_id(%Client{} = client, input, options \\ []) do + meta = metadata() + + Request.request_post(client, meta, "ReleaseSenderId", input, options) + end + @doc """ Request an origination phone number for use in your account. @@ -555,6 +784,30 @@ defmodule AWS.PinpointSMSVoiceV2 do Request.request_post(client, meta, "RequestPhoneNumber", input, options) end + @doc """ + Request a new sender ID that doesn't require registration. + """ + def request_sender_id(%Client{} = client, input, options \\ []) do + meta = metadata() + + Request.request_post(client, meta, "RequestSenderId", input, options) + end + + @doc """ + Before you can send test messages to a verified destination phone number you + need to opt-in the verified destination phone number. + + Creates a new text message with a verification code and send it to a verified + destination phone number. Once you have the verification code use + `VerifyDestinationNumber` to opt-in the verified destination phone number to + receive messages. + """ + def send_destination_number_verification_code(%Client{} = client, input, options \\ []) do + meta = metadata() + + Request.request_post(client, meta, "SendDestinationNumberVerificationCode", input, options) + end + @doc """ Creates a new text message and sends it to a recipient's phone number. @@ -571,7 +824,7 @@ defmodule AWS.PinpointSMSVoiceV2 do end @doc """ - Allows you to send a request that sends a text message through Amazon Pinpoint. + Allows you to send a request that sends a voice message through Amazon Pinpoint. This operation uses [Amazon Polly](http://aws.amazon.com/polly/) to convert a text script into a voice message. @@ -635,6 +888,15 @@ defmodule AWS.PinpointSMSVoiceV2 do Request.request_post(client, meta, "SetVoiceMessageSpendLimitOverride", input, options) end + @doc """ + Submit the specified registration for review and approval. + """ + def submit_registration_version(%Client{} = client, input, options \\ []) do + meta = metadata() + + Request.request_post(client, meta, "SubmitRegistrationVersion", input, options) + end + @doc """ Adds or overwrites only the specified tags for the specified Amazon Pinpoint SMS Voice, version 2 resource. @@ -688,7 +950,7 @@ defmodule AWS.PinpointSMSVoiceV2 do TwoWayChannelArn, enable or disable self-managed opt-outs, and enable or disable deletion protection. - If the origination phone number is associated with a pool, an Error is returned. + If the origination phone number is associated with a pool, an error is returned. """ def update_phone_number(%Client{} = client, input, options \\ []) do meta = metadata() @@ -708,4 +970,23 @@ defmodule AWS.PinpointSMSVoiceV2 do Request.request_post(client, meta, "UpdatePool", input, options) end + + @doc """ + Updates the configuration of an existing sender ID. + """ + def update_sender_id(%Client{} = client, input, options \\ []) do + meta = metadata() + + Request.request_post(client, meta, "UpdateSenderId", input, options) + end + + @doc """ + Use the verification code that was received by the verified destination phone + number to opt-in the verified destination phone number to receive more messages. + """ + def verify_destination_number(%Client{} = client, input, options \\ []) do + meta = metadata() + + Request.request_post(client, meta, "VerifyDestinationNumber", input, options) + end end diff --git a/lib/aws/generated/quick_sight.ex b/lib/aws/generated/quick_sight.ex index 486bd827..a5c454ba 100644 --- a/lib/aws/generated/quick_sight.ex +++ b/lib/aws/generated/quick_sight.ex @@ -518,6 +518,40 @@ defmodule AWS.QuickSight do ) end + @doc """ + Use `CreateRoleMembership` to add an existing Amazon QuickSight group to an + existing role. + """ + def create_role_membership( + %Client{} = client, + aws_account_id, + member_name, + namespace, + role, + input, + options \\ [] + ) do + url_path = + "/accounts/#{AWS.Util.encode_uri(aws_account_id)}/namespaces/#{AWS.Util.encode_uri(namespace)}/roles/#{AWS.Util.encode_uri(role)}/members/#{AWS.Util.encode_uri(member_name)}" + + headers = [] + query_params = [] + + meta = metadata() + + Request.request_rest( + client, + meta, + :post, + url_path, + query_params, + headers, + input, + options, + nil + ) + end + @doc """ Creates a template either from a `TemplateDefinition` or from an existing Amazon QuickSight analysis or template. @@ -1159,6 +1193,71 @@ defmodule AWS.QuickSight do ) end + @doc """ + Removes custom permissions from the role. + """ + def delete_role_custom_permission( + %Client{} = client, + aws_account_id, + namespace, + role, + input, + options \\ [] + ) do + url_path = + "/accounts/#{AWS.Util.encode_uri(aws_account_id)}/namespaces/#{AWS.Util.encode_uri(namespace)}/roles/#{AWS.Util.encode_uri(role)}/custom-permission" + + headers = [] + query_params = [] + + meta = metadata() + + Request.request_rest( + client, + meta, + :delete, + url_path, + query_params, + headers, + input, + options, + nil + ) + end + + @doc """ + Removes a group from a role. + """ + def delete_role_membership( + %Client{} = client, + aws_account_id, + member_name, + namespace, + role, + input, + options \\ [] + ) do + url_path = + "/accounts/#{AWS.Util.encode_uri(aws_account_id)}/namespaces/#{AWS.Util.encode_uri(namespace)}/roles/#{AWS.Util.encode_uri(role)}/members/#{AWS.Util.encode_uri(member_name)}" + + headers = [] + query_params = [] + + meta = metadata() + + Request.request_rest( + client, + meta, + :delete, + url_path, + query_params, + headers, + input, + options, + nil + ) + end + @doc """ Deletes a template. """ @@ -2140,6 +2239,27 @@ defmodule AWS.QuickSight do Request.request_rest(client, meta, :get, url_path, query_params, headers, nil, options, nil) end + @doc """ + Describes all custom permissions that are mapped to a role. + """ + def describe_role_custom_permission( + %Client{} = client, + aws_account_id, + namespace, + role, + options \\ [] + ) do + url_path = + "/accounts/#{AWS.Util.encode_uri(aws_account_id)}/namespaces/#{AWS.Util.encode_uri(namespace)}/roles/#{AWS.Util.encode_uri(role)}/custom-permission" + + headers = [] + query_params = [] + + meta = metadata() + + Request.request_rest(client, meta, :get, url_path, query_params, headers, nil, options, nil) + end + @doc """ Describes a template's metadata. """ @@ -3280,6 +3400,43 @@ defmodule AWS.QuickSight do Request.request_rest(client, meta, :get, url_path, query_params, headers, nil, options, nil) end + @doc """ + Lists all groups that are associated with a role. + """ + def list_role_memberships( + %Client{} = client, + aws_account_id, + namespace, + role, + max_results \\ nil, + next_token \\ nil, + options \\ [] + ) do + url_path = + "/accounts/#{AWS.Util.encode_uri(aws_account_id)}/namespaces/#{AWS.Util.encode_uri(namespace)}/roles/#{AWS.Util.encode_uri(role)}/members" + + headers = [] + query_params = [] + + query_params = + if !is_nil(next_token) do + [{"next-token", next_token} | query_params] + else + query_params + end + + query_params = + if !is_nil(max_results) do + [{"max-results", max_results} | query_params] + else + query_params + end + + meta = metadata() + + Request.request_rest(client, meta, :get, url_path, query_params, headers, nil, options, nil) + end + @doc """ Lists the tags assigned to a resource. """ @@ -4479,6 +4636,28 @@ defmodule AWS.QuickSight do Request.request_rest(client, meta, :put, url_path, query_params, headers, input, options, nil) end + @doc """ + Updates the custom permissions that are associated with a role. + """ + def update_role_custom_permission( + %Client{} = client, + aws_account_id, + namespace, + role, + input, + options \\ [] + ) do + url_path = + "/accounts/#{AWS.Util.encode_uri(aws_account_id)}/namespaces/#{AWS.Util.encode_uri(namespace)}/roles/#{AWS.Util.encode_uri(role)}/custom-permission" + + headers = [] + query_params = [] + + meta = metadata() + + Request.request_rest(client, meta, :put, url_path, query_params, headers, input, options, nil) + end + @doc """ Updates a template from an existing Amazon QuickSight analysis or another template. diff --git a/lib/aws/generated/rds.ex b/lib/aws/generated/rds.ex index 73a7ef68..0cb72220 100644 --- a/lib/aws/generated/rds.ex +++ b/lib/aws/generated/rds.ex @@ -185,6 +185,10 @@ defmodule AWS.RDS do @doc """ Copies the specified DB cluster parameter group. + + You can't copy a default DB cluster parameter group. Instead, create a new + custom DB cluster parameter group, which copies the default parameters and + values for the specified DB cluster parameter group family. """ def copy_db_cluster_parameter_group(%Client{} = client, input, options \\ []) do meta = metadata() @@ -240,6 +244,10 @@ defmodule AWS.RDS do @doc """ Copies the specified DB parameter group. + + You can't copy a default DB parameter group. Instead, create a new custom DB + parameter group, which copies the default parameters and values for the + specified DB parameter group family. """ def copy_db_parameter_group(%Client{} = client, input, options \\ []) do meta = metadata() diff --git a/lib/aws/generated/redshift.ex b/lib/aws/generated/redshift.ex index 1b490be4..5455033d 100644 --- a/lib/aws/generated/redshift.ex +++ b/lib/aws/generated/redshift.ex @@ -371,6 +371,15 @@ defmodule AWS.Redshift do Request.request_post(client, meta, "CreateHsmConfiguration", input, options) end + @doc """ + Creates an Amazon Redshift application for use with IAM Identity Center. + """ + def create_redshift_idc_application(%Client{} = client, input, options \\ []) do + meta = metadata() + + Request.request_post(client, meta, "CreateRedshiftIdcApplication", input, options) + end + @doc """ Creates a scheduled action. @@ -591,6 +600,15 @@ defmodule AWS.Redshift do Request.request_post(client, meta, "DeletePartner", input, options) end + @doc """ + Deletes an Amazon Redshift IAM Identity Center application. + """ + def delete_redshift_idc_application(%Client{} = client, input, options \\ []) do + meta = metadata() + + Request.request_post(client, meta, "DeleteRedshiftIdcApplication", input, options) + end + @doc """ Deletes the resource policy for a specified resource. """ @@ -1065,6 +1083,15 @@ defmodule AWS.Redshift do Request.request_post(client, meta, "DescribePartners", input, options) end + @doc """ + Lists the Amazon Redshift IAM Identity Center applications. + """ + def describe_redshift_idc_applications(%Client{} = client, input, options \\ []) do + meta = metadata() + + Request.request_post(client, meta, "DescribeRedshiftIdcApplications", input, options) + end + @doc """ Returns exchange status details and associated metadata for a reserved-node exchange. @@ -1542,6 +1569,15 @@ defmodule AWS.Redshift do Request.request_post(client, meta, "ModifyEventSubscription", input, options) end + @doc """ + Changes an existing Amazon Redshift IAM Identity Center application. + """ + def modify_redshift_idc_application(%Client{} = client, input, options \\ []) do + meta = metadata() + + Request.request_post(client, meta, "ModifyRedshiftIdcApplication", input, options) + end + @doc """ Modifies a scheduled action. """ diff --git a/lib/aws/generated/s3.ex b/lib/aws/generated/s3.ex index 8e258518..f4783f80 100644 --- a/lib/aws/generated/s3.ex +++ b/lib/aws/generated/s3.ex @@ -6878,7 +6878,7 @@ defmodule AWS.S3 do 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, S3 uses the most restrictive combination of the bucket-level and + 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 diff --git a/lib/aws/generated/s3_control.ex b/lib/aws/generated/s3_control.ex index bee5520d..9f0071ca 100644 --- a/lib/aws/generated/s3_control.ex +++ b/lib/aws/generated/s3_control.ex @@ -276,6 +276,52 @@ defmodule AWS.S3Control do ) end + @doc """ + Creates a new S3 Storage Lens group and associates it with the specified Amazon + Web Services account ID. + + An S3 Storage Lens group is a custom grouping of objects based on prefix, + suffix, object tags, object size, object age, or a combination of these filters. + For each Storage Lens group that you’ve created, you can also optionally add + Amazon Web Services resource tags. For more information about S3 Storage Lens + groups, see [Working with S3 Storage Lens groups](https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage-lens-groups-overview.html). + + To use this operation, you must have the permission to perform the + `s3:CreateStorageLensGroup` action. If you’re trying to create a Storage Lens + group with Amazon Web Services resource tags, you must also have permission to + perform the `s3:TagResource` action. For more information about the required + Storage Lens Groups permissions, see [Setting account permissions to use S3 Storage Lens + groups](https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens_iam_permissions.html#storage_lens_groups_permissions). + + For information about Storage Lens groups errors, see [List of Amazon S3 Storage Lens error + codes](https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#S3LensErrorCodeList). + """ + def create_storage_lens_group(%Client{} = client, input, options \\ []) do + url_path = "/v20180820/storagelensgroup" + + {headers, input} = + [ + {"AccountId", "x-amz-account-id"} + ] + |> Request.build_params(input) + + query_params = [] + + meta = metadata() |> Map.put_new(:host_prefix, "{AccountId}.") + + Request.request_rest( + client, + meta, + :post, + url_path, + query_params, + headers, + input, + options, + 204 + ) + end + @doc """ Deletes the specified access point. @@ -510,9 +556,9 @@ defmodule AWS.S3Control do Outposts](https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html) in *Amazon S3 User Guide*. - To use this action, you must have permission to perform the - `s3-outposts:DeleteLifecycleConfiguration` action. By default, the bucket owner - has this permission and the Outposts bucket owner can grant this permission to + To use this operation, you must have permission to perform the + `s3-outposts:PutLifecycleConfiguration` action. By default, the bucket owner has + this permission and the Outposts bucket owner can grant this permission to others. All Amazon S3 on Outposts REST API requests for this action require an @@ -967,6 +1013,43 @@ defmodule AWS.S3Control do ) end + @doc """ + Deletes an existing S3 Storage Lens group. + + To use this operation, you must have the permission to perform the + `s3:DeleteStorageLensGroup` action. For more information about the required + Storage Lens Groups permissions, see [Setting account permissions to use S3 Storage Lens + groups](https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens_iam_permissions.html#storage_lens_groups_permissions). + + For information about Storage Lens groups errors, see [List of Amazon S3 Storage Lens error + codes](https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#S3LensErrorCodeList). + """ + def delete_storage_lens_group(%Client{} = client, name, input, options \\ []) do + url_path = "/v20180820/storagelensgroup/#{AWS.Util.encode_uri(name)}" + + {headers, input} = + [ + {"AccountId", "x-amz-account-id"} + ] + |> Request.build_params(input) + + query_params = [] + + meta = metadata() |> Map.put_new(:host_prefix, "{AccountId}.") + + Request.request_rest( + client, + meta, + :delete, + url_path, + query_params, + headers, + input, + options, + 204 + ) + end + @doc """ Retrieves the configuration parameters and status for a Batch Operations job. @@ -1889,6 +1972,34 @@ defmodule AWS.S3Control do Request.request_rest(client, meta, :get, url_path, query_params, headers, nil, options, nil) end + @doc """ + Retrieves the Storage Lens group configuration details. + + To use this operation, you must have the permission to perform the + `s3:GetStorageLensGroup` action. For more information about the required Storage + Lens Groups permissions, see [Setting account permissions to use S3 Storage Lens groups](https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens_iam_permissions.html#storage_lens_groups_permissions). + + For information about Storage Lens groups errors, see [List of Amazon S3 Storage Lens error + codes](https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#S3LensErrorCodeList). + """ + def get_storage_lens_group(%Client{} = client, name, account_id, options \\ []) do + url_path = "/v20180820/storagelensgroup/#{AWS.Util.encode_uri(name)}" + headers = [] + + headers = + if !is_nil(account_id) do + [{"x-amz-account-id", account_id} | headers] + else + headers + end + + query_params = [] + + meta = metadata() |> Map.put_new(:host_prefix, "{AccountId}.") + + Request.request_rest(client, meta, :get, url_path, query_params, headers, nil, options, nil) + end + @doc """ Returns a list of the access points that are owned by the current account that's associated with the specified bucket. @@ -2240,6 +2351,72 @@ defmodule AWS.S3Control do Request.request_rest(client, meta, :get, url_path, query_params, headers, nil, options, nil) end + @doc """ + Lists all the Storage Lens groups in the specified home Region. + + To use this operation, you must have the permission to perform the + `s3:ListStorageLensGroups` action. For more information about the required + Storage Lens Groups permissions, see [Setting account permissions to use S3 Storage Lens + groups](https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens_iam_permissions.html#storage_lens_groups_permissions). + + For information about Storage Lens groups errors, see [List of Amazon S3 Storage Lens error + codes](https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#S3LensErrorCodeList). + """ + def list_storage_lens_groups(%Client{} = client, next_token \\ nil, account_id, options \\ []) do + url_path = "/v20180820/storagelensgroup" + headers = [] + + headers = + if !is_nil(account_id) do + [{"x-amz-account-id", account_id} | headers] + else + headers + end + + query_params = [] + + query_params = + if !is_nil(next_token) do + [{"nextToken", next_token} | query_params] + else + query_params + end + + meta = metadata() |> Map.put_new(:host_prefix, "{AccountId}.") + + Request.request_rest(client, meta, :get, url_path, query_params, headers, nil, options, nil) + end + + @doc """ + This operation allows you to list all the Amazon Web Services resource tags for + the specified resource. + + To use this operation, you must have the permission to perform the + `s3:ListTagsForResource` action. For more information about the required Storage + Lens Groups permissions, see [Setting account permissions to use S3 Storage Lens groups](https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens_iam_permissions.html#storage_lens_groups_permissions). + + For information about S3 Tagging errors, see [List of Amazon S3 Tagging error codes](https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#S3TaggingErrorCodeList). + + This operation is only supported for [S3 Storage Lens groups](https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage-lens-groups.html). + """ + def list_tags_for_resource(%Client{} = client, resource_arn, account_id, options \\ []) do + url_path = "/v20180820/tags/#{AWS.Util.encode_multi_segment_uri(resource_arn)}" + headers = [] + + headers = + if !is_nil(account_id) do + [{"x-amz-account-id", account_id} | headers] + else + headers + end + + query_params = [] + + meta = metadata() |> Map.put_new(:host_prefix, "{AccountId}.") + + Request.request_rest(client, meta, :get, url_path, query_params, headers, nil, options, nil) + end + @doc """ Replaces configuration for an Object Lambda Access Point. @@ -2960,6 +3137,88 @@ defmodule AWS.S3Control do ) end + @doc """ + Creates a new Amazon Web Services resource tag or updates an existing resource + tag. + + You can add up to 50 Amazon Web Services resource tags for each S3 resource. + + To use this operation, you must have the permission to perform the + `s3:TagResource` action. For more information about the required Storage Lens + Groups permissions, see [Setting account permissions to use S3 Storage Lens groups](https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens_iam_permissions.html#storage_lens_groups_permissions). + + For information about S3 Tagging errors, see [List of Amazon S3 Tagging error codes](https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#S3TaggingErrorCodeList). + + This operation is only supported for [S3 Storage Lens groups](https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage-lens-groups.html). + """ + def tag_resource(%Client{} = client, resource_arn, input, options \\ []) do + url_path = "/v20180820/tags/#{AWS.Util.encode_multi_segment_uri(resource_arn)}" + + {headers, input} = + [ + {"AccountId", "x-amz-account-id"} + ] + |> Request.build_params(input) + + query_params = [] + + meta = metadata() |> Map.put_new(:host_prefix, "{AccountId}.") + + Request.request_rest( + client, + meta, + :post, + url_path, + query_params, + headers, + input, + options, + 204 + ) + end + + @doc """ + This operation removes the specified Amazon Web Services resource tags from an + S3 resource. + + To use this operation, you must have the permission to perform the + `s3:UntagResource` action. For more information about the required Storage Lens + Groups permissions, see [Setting account permissions to use S3 Storage Lens groups](https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens_iam_permissions.html#storage_lens_groups_permissions). + + For information about S3 Tagging errors, see [List of Amazon S3 Tagging error codes](https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#S3TaggingErrorCodeList). + + This operation is only supported for [S3 Storage Lens groups](https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage-lens-groups.html). + """ + def untag_resource(%Client{} = client, resource_arn, input, options \\ []) do + url_path = "/v20180820/tags/#{AWS.Util.encode_multi_segment_uri(resource_arn)}" + + {headers, input} = + [ + {"AccountId", "x-amz-account-id"} + ] + |> Request.build_params(input) + + {query_params, input} = + [ + {"TagKeys", "tagKeys"} + ] + |> Request.build_params(input) + + meta = metadata() |> Map.put_new(:host_prefix, "{AccountId}.") + + Request.request_rest( + client, + meta, + :delete, + url_path, + query_params, + headers, + input, + options, + 204 + ) + end + @doc """ Updates an existing S3 Batch Operations job's priority. @@ -3053,4 +3312,31 @@ defmodule AWS.S3Control do nil ) end + + @doc """ + Updates the existing Storage Lens group. + + To use this operation, you must have the permission to perform the + `s3:UpdateStorageLensGroup` action. For more information about the required + Storage Lens Groups permissions, see [Setting account permissions to use S3 Storage Lens + groups](https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens_iam_permissions.html#storage_lens_groups_permissions). + + For information about Storage Lens groups errors, see [List of Amazon S3 Storage Lens error + codes](https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#S3LensErrorCodeList). + """ + def update_storage_lens_group(%Client{} = client, name, input, options \\ []) do + url_path = "/v20180820/storagelensgroup/#{AWS.Util.encode_uri(name)}" + + {headers, input} = + [ + {"AccountId", "x-amz-account-id"} + ] + |> Request.build_params(input) + + query_params = [] + + meta = metadata() |> Map.put_new(:host_prefix, "{AccountId}.") + + Request.request_rest(client, meta, :put, url_path, query_params, headers, input, options, 204) + end end diff --git a/lib/aws/generated/ssm.ex b/lib/aws/generated/ssm.ex index 46e1beba..a9da1d0d 100644 --- a/lib/aws/generated/ssm.ex +++ b/lib/aws/generated/ssm.ex @@ -14,7 +14,7 @@ defmodule AWS.SSM do ## Related resources * For information about each of the capabilities that comprise - Systems Manager, see [Systems Manager capabilities](https://docs.aws.amazon.com/systems-manager-automation-runbooks/latest/userguide/systems-manager-capabilities.html) + Systems Manager, see [Systems Manager capabilities](https://docs.aws.amazon.com/systems-manager/latest/userguide/what-is-systems-manager.html#systems-manager-capabilities) in the *Amazon Web Services Systems Manager User Guide*. * For details about predefined runbooks for Automation, a capability diff --git a/lib/aws/generated/ssm_incidents.ex b/lib/aws/generated/ssm_incidents.ex index 903fe746..551c341c 100644 --- a/lib/aws/generated/ssm_incidents.ex +++ b/lib/aws/generated/ssm_incidents.ex @@ -35,6 +35,34 @@ defmodule AWS.SSMIncidents do } end + @doc """ + Retrieves details about all specified findings for an incident, including + descriptive details about each finding. + + A finding represents a recent application environment change made by an + CodeDeploy deployment or an CloudFormation stack creation or update that can be + investigated as a potential cause of the incident. + """ + def batch_get_incident_findings(%Client{} = client, input, options \\ []) do + url_path = "/batchGetIncidentFindings" + headers = [] + query_params = [] + + meta = metadata() + + Request.request_rest( + client, + meta, + :post, + url_path, + query_params, + headers, + input, + options, + 200 + ) + end + @doc """ A replication set replicates and encrypts your data to the provided Regions with the provided KMS key. @@ -354,6 +382,34 @@ defmodule AWS.SSMIncidents do Request.request_rest(client, meta, :get, url_path, query_params, headers, nil, options, 200) end + @doc """ + Retrieves a list of the IDs of findings, plus their last modified times, that + have been identified for a specified incident. + + A finding represents a recent application environment change made by an + CloudFormation stack creation or update or an CodeDeploy deployment that can be + investigated as a potential cause of the incident. + """ + def list_incident_findings(%Client{} = client, input, options \\ []) do + url_path = "/listIncidentFindings" + headers = [] + query_params = [] + + meta = metadata() + + Request.request_rest( + client, + meta, + :post, + url_path, + query_params, + headers, + input, + options, + 200 + ) + end + @doc """ Lists all incident records in your account. @@ -450,7 +506,7 @@ defmodule AWS.SSMIncidents do end @doc """ - Lists the tags that are attached to the specified response plan. + Lists the tags that are attached to the specified response plan or incident. """ def list_tags_for_resource(%Client{} = client, resource_arn, options \\ []) do url_path = "/tags/#{AWS.Util.encode_uri(resource_arn)}" diff --git a/lib/aws/generated/sso_admin.ex b/lib/aws/generated/sso_admin.ex index 62e901cd..bd20aff1 100644 --- a/lib/aws/generated/sso_admin.ex +++ b/lib/aws/generated/sso_admin.ex @@ -104,6 +104,46 @@ defmodule AWS.SSOAdmin do Request.request_post(client, meta, "CreateAccountAssignment", input, options) end + @doc """ + Creates an application in IAM Identity Center for the given application + provider. + """ + def create_application(%Client{} = client, input, options \\ []) do + meta = metadata() + + Request.request_post(client, meta, "CreateApplication", input, options) + end + + @doc """ + Grant application access to a user or group. + """ + def create_application_assignment(%Client{} = client, input, options \\ []) do + meta = metadata() + + Request.request_post(client, meta, "CreateApplicationAssignment", input, options) + end + + @doc """ + Creates an instance of IAM Identity Center for a standalone Amazon Web Services + account that is not managed by Organizations or a member Amazon Web Services + account in an organization. + + You can create only one instance per account and across all Amazon Web Services + Regions. + + The CreateInstance request is rejected if the following apply: + + * The instance is created within the organization management + account. + + * An instance already exists in the same account. + """ + def create_instance(%Client{} = client, input, options \\ []) do + meta = metadata() + + Request.request_post(client, meta, "CreateInstance", input, options) + end + @doc """ Enables the attributes-based access control (ABAC) feature for the specified IAM Identity Center instance. @@ -144,6 +184,24 @@ defmodule AWS.SSOAdmin do Request.request_post(client, meta, "CreatePermissionSet", input, options) end + @doc """ + Creates a connection to a trusted token issuer in an instance of IAM Identity + Center. + + A trusted token issuer enables trusted identity propagation to be used with + applications that authenticate outside of Amazon Web Services. + + This trusted token issuer describes an external identity provider (IdP) that can + generate claims or assertions in the form of access tokens for a user. + Applications enabled for IAM Identity Center can use these tokens for + authentication. + """ + def create_trusted_token_issuer(%Client{} = client, input, options \\ []) do + meta = metadata() + + Request.request_post(client, meta, "CreateTrustedTokenIssuer", input, options) + end + @doc """ Deletes a principal's access from a specified Amazon Web Services account using a specified permission set. @@ -157,6 +215,54 @@ defmodule AWS.SSOAdmin do Request.request_post(client, meta, "DeleteAccountAssignment", input, options) end + @doc """ + Deletes the association with the application. + + The connected service resource still exists. + """ + def delete_application(%Client{} = client, input, options \\ []) do + meta = metadata() + + Request.request_post(client, meta, "DeleteApplication", input, options) + end + + @doc """ + Deletes an IAM Identity Center access scope from an application. + """ + def delete_application_access_scope(%Client{} = client, input, options \\ []) do + meta = metadata() + + Request.request_post(client, meta, "DeleteApplicationAccessScope", input, options) + end + + @doc """ + Revoke application access to an application by deleting application assignments + for a user or group. + """ + def delete_application_assignment(%Client{} = client, input, options \\ []) do + meta = metadata() + + Request.request_post(client, meta, "DeleteApplicationAssignment", input, options) + end + + @doc """ + Deletes an authentication method from an application. + """ + def delete_application_authentication_method(%Client{} = client, input, options \\ []) do + meta = metadata() + + Request.request_post(client, meta, "DeleteApplicationAuthenticationMethod", input, options) + end + + @doc """ + Deletes a grant from an application. + """ + def delete_application_grant(%Client{} = client, input, options \\ []) do + meta = metadata() + + Request.request_post(client, meta, "DeleteApplicationGrant", input, options) + end + @doc """ Deletes the inline policy from a specified permission set. """ @@ -166,6 +272,19 @@ defmodule AWS.SSOAdmin do Request.request_post(client, meta, "DeleteInlinePolicyFromPermissionSet", input, options) end + @doc """ + Deletes the instance of IAM Identity Center. + + Only the account that owns the instance can call this API. Neither the delegated + administrator nor member account can delete the organization instance, but those + roles can delete their own instance. + """ + def delete_instance(%Client{} = client, input, options \\ []) do + meta = metadata() + + Request.request_post(client, meta, "DeleteInstance", input, options) + end + @doc """ Disables the attributes-based access control (ABAC) feature for the specified IAM Identity Center instance and deletes all of the attribute mappings that have @@ -216,6 +335,19 @@ defmodule AWS.SSOAdmin do ) end + @doc """ + Deletes a trusted token issuer configuration from an instance of IAM Identity + Center. + + Deleting this trusted token issuer configuration will cause users to lose access + to any applications that are configured to use the trusted token issuer. + """ + def delete_trusted_token_issuer(%Client{} = client, input, options \\ []) do + meta = metadata() + + Request.request_post(client, meta, "DeleteTrustedTokenIssuer", input, options) + end + @doc """ Describes the status of the assignment creation request. """ @@ -234,6 +366,62 @@ defmodule AWS.SSOAdmin do Request.request_post(client, meta, "DescribeAccountAssignmentDeletionStatus", input, options) end + @doc """ + Retrieves the details of an application associated with an instance of IAM + Identity Center. + """ + def describe_application(%Client{} = client, input, options \\ []) do + meta = metadata() + + Request.request_post(client, meta, "DescribeApplication", input, options) + end + + @doc """ + Retrieves a direct assignment of a user or group to an application. + + If the user doesn’t have a direct assignment to the application, the user may + still have access to the application through a group. Therefore, don’t use this + API to test access to an application for a user. Instead use + `ListApplicationAssignmentsForPrincipal`. + """ + def describe_application_assignment(%Client{} = client, input, options \\ []) do + meta = metadata() + + Request.request_post(client, meta, "DescribeApplicationAssignment", input, options) + end + + @doc """ + Retrieves details about a provider that can be used to connect an Amazon Web + Services managed application or customer managed application to IAM Identity + Center. + """ + def describe_application_provider(%Client{} = client, input, options \\ []) do + meta = metadata() + + Request.request_post(client, meta, "DescribeApplicationProvider", input, options) + end + + @doc """ + Returns the details of an instance of IAM Identity Center. + + The status can be one of the following: + + * `CREATE_IN_PROGRESS` - The instance is in the process of being + created. When the instance is ready for use, DescribeInstance returns the status + of `ACTIVE`. While the instance is in the `CREATE_IN_PROGRESS` state, you can + call only DescribeInstance and DeleteInstance operations. + + * `DELETE_IN_PROGRESS` - The instance is being deleted. Returns + `AccessDeniedException` after the delete operation completes. + + * `ACTIVE` - The instance is active. + """ + def describe_instance(%Client{} = client, input, options \\ []) do + meta = metadata() + + Request.request_post(client, meta, "DescribeInstance", input, options) + end + @doc """ Returns the list of IAM Identity Center identity store attributes that have been configured to work with attributes-based access control (ABAC) for the specified @@ -277,6 +465,20 @@ defmodule AWS.SSOAdmin do Request.request_post(client, meta, "DescribePermissionSetProvisioningStatus", input, options) end + @doc """ + Retrieves details about a trusted token issuer configuration stored in an + instance of IAM Identity Center. + + Details include the name of the trusted token issuer, the issuer URL, and the + path of the source attribute and the destination attribute for a trusted token + issuer configuration. + """ + def describe_trusted_token_issuer(%Client{} = client, input, options \\ []) do + meta = metadata() + + Request.request_post(client, meta, "DescribeTrustedTokenIssuer", input, options) + end + @doc """ Detaches the specified customer managed policy from the specified `PermissionSet`. @@ -307,6 +509,43 @@ defmodule AWS.SSOAdmin do Request.request_post(client, meta, "DetachManagedPolicyFromPermissionSet", input, options) end + @doc """ + Retrieves the authorized targets for an IAM Identity Center access scope for an + application. + """ + def get_application_access_scope(%Client{} = client, input, options \\ []) do + meta = metadata() + + Request.request_post(client, meta, "GetApplicationAccessScope", input, options) + end + + @doc """ + Retrieves the configuration of `PutApplicationAssignmentConfiguration`. + """ + def get_application_assignment_configuration(%Client{} = client, input, options \\ []) do + meta = metadata() + + Request.request_post(client, meta, "GetApplicationAssignmentConfiguration", input, options) + end + + @doc """ + Retrieves details about an authentication method used by an application. + """ + def get_application_authentication_method(%Client{} = client, input, options \\ []) do + meta = metadata() + + Request.request_post(client, meta, "GetApplicationAuthenticationMethod", input, options) + end + + @doc """ + Retrieves details about an application grant. + """ + def get_application_grant(%Client{} = client, input, options \\ []) do + meta = metadata() + + Request.request_post(client, meta, "GetApplicationGrant", input, options) + end + @doc """ Obtains the inline policy assigned to the permission set. """ @@ -355,6 +594,16 @@ defmodule AWS.SSOAdmin do Request.request_post(client, meta, "ListAccountAssignments", input, options) end + @doc """ + Retrieves a list of the IAM Identity Center associated Amazon Web Services + accounts that the principal has access to. + """ + def list_account_assignments_for_principal(%Client{} = client, input, options \\ []) do + meta = metadata() + + Request.request_post(client, meta, "ListAccountAssignmentsForPrincipal", input, options) + end + @doc """ Lists all the Amazon Web Services accounts where the specified permission set is provisioned. @@ -365,6 +614,74 @@ defmodule AWS.SSOAdmin do Request.request_post(client, meta, "ListAccountsForProvisionedPermissionSet", input, options) end + @doc """ + Lists the access scopes and authorized targets associated with an application. + """ + def list_application_access_scopes(%Client{} = client, input, options \\ []) do + meta = metadata() + + Request.request_post(client, meta, "ListApplicationAccessScopes", input, options) + end + + @doc """ + Lists Amazon Web Services account users that are assigned to an application. + """ + def list_application_assignments(%Client{} = client, input, options \\ []) do + meta = metadata() + + Request.request_post(client, meta, "ListApplicationAssignments", input, options) + end + + @doc """ + Lists the applications to which a specified principal is assigned. + """ + def list_application_assignments_for_principal(%Client{} = client, input, options \\ []) do + meta = metadata() + + Request.request_post(client, meta, "ListApplicationAssignmentsForPrincipal", input, options) + end + + @doc """ + Lists all of the authentication methods supported by the specified application. + """ + def list_application_authentication_methods(%Client{} = client, input, options \\ []) do + meta = metadata() + + Request.request_post(client, meta, "ListApplicationAuthenticationMethods", input, options) + end + + @doc """ + List the grants associated with an application. + """ + def list_application_grants(%Client{} = client, input, options \\ []) do + meta = metadata() + + Request.request_post(client, meta, "ListApplicationGrants", input, options) + end + + @doc """ + Lists the application providers configured in the IAM Identity Center identity + store. + """ + def list_application_providers(%Client{} = client, input, options \\ []) do + meta = metadata() + + Request.request_post(client, meta, "ListApplicationProviders", input, options) + end + + @doc """ + Lists all applications associated with the instance of IAM Identity Center. + + When listing applications for an instance in the management account, member + accounts must use the `applicationAccount` parameter to filter the list to only + applications created from that account. + """ + def list_applications(%Client{} = client, input, options \\ []) do + meta = metadata() + + Request.request_post(client, meta, "ListApplications", input, options) + end + @doc """ Lists all customer managed policies attached to a specified `PermissionSet`. """ @@ -385,7 +702,8 @@ defmodule AWS.SSOAdmin do end @doc """ - Lists the IAM Identity Center instances that the caller has access to. + Lists the details of the organization and account instances of IAM Identity + Center that were created in or visible to the account calling this API. """ def list_instances(%Client{} = client, input, options \\ []) do meta = metadata() @@ -441,6 +759,16 @@ defmodule AWS.SSOAdmin do Request.request_post(client, meta, "ListTagsForResource", input, options) end + @doc """ + Lists all the trusted token issuers configured in an instance of IAM Identity + Center. + """ + def list_trusted_token_issuers(%Client{} = client, input, options \\ []) do + meta = metadata() + + Request.request_post(client, meta, "ListTrustedTokenIssuers", input, options) + end + @doc """ The process by which a specified permission set is provisioned to the specified target. @@ -451,6 +779,51 @@ defmodule AWS.SSOAdmin do Request.request_post(client, meta, "ProvisionPermissionSet", input, options) end + @doc """ + Adds or updates the list of authorized targets for an IAM Identity Center access + scope for an application. + """ + def put_application_access_scope(%Client{} = client, input, options \\ []) do + meta = metadata() + + Request.request_post(client, meta, "PutApplicationAccessScope", input, options) + end + + @doc """ + Configure how users gain access to an application. + + If `AssignmentsRequired` is `true` (default value), users don’t have access to + the application unless an assignment is created using the + [CreateApplicationAssignment API](https://docs.aws.amazon.com/singlesignon/latest/APIReference/API_CreateApplicationAssignment.html). + If `false`, all users have access to the application. If an assignment is + created using + [CreateApplicationAssignment](https://docs.aws.amazon.com/singlesignon/latest/APIReference/API_CreateApplicationAssignment.html)., + the user retains access if `AssignmentsRequired` is set to `true`. + """ + def put_application_assignment_configuration(%Client{} = client, input, options \\ []) do + meta = metadata() + + Request.request_post(client, meta, "PutApplicationAssignmentConfiguration", input, options) + end + + @doc """ + Adds or updates an authentication method for an application. + """ + def put_application_authentication_method(%Client{} = client, input, options \\ []) do + meta = metadata() + + Request.request_post(client, meta, "PutApplicationAuthenticationMethod", input, options) + end + + @doc """ + Adds a grant to an application. + """ + def put_application_grant(%Client{} = client, input, options \\ []) do + meta = metadata() + + Request.request_post(client, meta, "PutApplicationGrant", input, options) + end + @doc """ Attaches an inline policy to a permission set. @@ -492,6 +865,25 @@ defmodule AWS.SSOAdmin do Request.request_post(client, meta, "UntagResource", input, options) end + @doc """ + Updates application properties. + """ + def update_application(%Client{} = client, input, options \\ []) do + meta = metadata() + + Request.request_post(client, meta, "UpdateApplication", input, options) + end + + @doc """ + Update the details for the instance of IAM Identity Center that is owned by the + Amazon Web Services account. + """ + def update_instance(%Client{} = client, input, options \\ []) do + meta = metadata() + + Request.request_post(client, meta, "UpdateInstance", input, options) + end + @doc """ Updates the IAM Identity Center identity store attributes that you can use with the IAM Identity Center instance for attributes-based access control (ABAC). @@ -528,4 +920,17 @@ defmodule AWS.SSOAdmin do Request.request_post(client, meta, "UpdatePermissionSet", input, options) end + + @doc """ + Updates the name of the trusted token issuer, or the path of a source attribute + or destination attribute for a trusted token issuer configuration. + + Updating this trusted token issuer configuration might cause users to lose + access to any applications that are configured to use the trusted token issuer. + """ + def update_trusted_token_issuer(%Client{} = client, input, options \\ []) do + meta = metadata() + + Request.request_post(client, meta, "UpdateTrustedTokenIssuer", input, options) + end end diff --git a/lib/aws/generated/sso_oidc.ex b/lib/aws/generated/sso_oidc.ex index ebd643dc..65353e23 100644 --- a/lib/aws/generated/sso_oidc.ex +++ b/lib/aws/generated/sso_oidc.ex @@ -3,16 +3,13 @@ defmodule AWS.SSOOIDC do @moduledoc """ - AWS IAM Identity Center (successor to AWS Single Sign-On) OpenID Connect (OIDC) - is a web service that enables a client (such as AWS CLI or a native application) - to register with IAM Identity Center. + IAM Identity Center OpenID Connect (OIDC) is a web service that enables a client + (such as CLI or a native application) to register with IAM Identity Center. The service also enables the client to fetch the user’s access token upon successful authentication and authorization with IAM Identity Center. - Although AWS Single Sign-On was renamed, the `sso` and `identitystore` API - namespaces will continue to retain their original name for backward - compatibility purposes. For more information, see [IAM Identity Center rename](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html#renamed). + IAM Identity Center uses the `sso` and `identitystore` API namespaces. ## Considerations for Using This Guide @@ -22,24 +19,29 @@ defmodule AWS.SSOOIDC do * The IAM Identity Center OIDC service currently implements only the portions of the OAuth 2.0 Device Authorization Grant standard - ([https://tools.ietf.org/html/rfc8628](https://tools.ietf.org/html/rfc8628)) that are necessary to enable single sign-on authentication with the AWS CLI. - Support for other OIDC flows frequently needed for native applications, such as - Authorization Code Flow (+ PKCE), will be addressed in future releases. + ([https://tools.ietf.org/html/rfc8628](https://tools.ietf.org/html/rfc8628)) that are necessary to enable single sign-on authentication with the CLI. - * The service emits only OIDC access tokens, such that obtaining a - new token (For example, token refresh) requires explicit user re-authentication. + * With older versions of the CLI, the service only emits OIDC access + tokens, so to obtain a new token, users must explicitly re-authenticate. To + access the OIDC flow that supports token refresh and doesn’t require + re-authentication, update to the latest CLI version (1.27.10 for CLI V1 and + 2.9.0 for CLI V2) with support for OIDC token refresh and configurable IAM + Identity Center session durations. For more information, see [Configure Amazon + Web Services access portal session duration + ](https://docs.aws.amazon.com/singlesignon/latest/userguide/configure-user-session.html). - * The access tokens provided by this service grant access to all AWS - account entitlements assigned to an IAM Identity Center user, not just a - particular application. + * The access tokens provided by this service grant access to all + Amazon Web Services account entitlements assigned to an IAM Identity Center + user, not just a particular application. * The documentation in this guide does not describe the mechanism to - convert the access token into AWS Auth (“sigv4”) credentials for use with - IAM-protected AWS service endpoints. For more information, see - [GetRoleCredentials](https://docs.aws.amazon.com/singlesignon/latest/PortalAPIReference/API_GetRoleCredentials.html) - in the *IAM Identity Center Portal API Reference Guide*. + convert the access token into Amazon Web Services Auth (“sigv4”) credentials for + use with IAM-protected Amazon Web Services service endpoints. For more + information, see + [GetRoleCredentials](https://docs.aws.amazon.com/singlesignon/latest/PortalAPIReference/API_GetRoleCredentials.html) in the *IAM Identity Center Portal API Reference Guide*. - For general information about IAM Identity Center, see [What is IAM Identity Center?](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html) + For general information about IAM Identity Center, see [What is IAM Identity + Center?](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html) in the *IAM Identity Center User Guide*. """ @@ -57,16 +59,17 @@ defmodule AWS.SSOOIDC do protocol: "rest-json", service_id: "SSO OIDC", signature_version: "v4", - signing_name: "awsssooidc", + signing_name: "sso-oauth", target_prefix: nil } end @doc """ - Creates and returns an access token for the authorized client. + Creates and returns access and refresh tokens for clients that are authenticated + using client secrets. - The access token issued will be used to fetch short-term credentials for the - assigned roles in the AWS account. + The access token can be used to fetch short-term credentials for the assigned + AWS accounts or to access application APIs using `bearer` authentication. """ def create_token(%Client{} = client, input, options \\ []) do url_path = "/token" @@ -88,6 +91,33 @@ defmodule AWS.SSOOIDC do ) end + @doc """ + Creates and returns access and refresh tokens for clients and applications that + are authenticated using IAM entities. + + The access token can be used to fetch short-term credentials for the assigned + AWS accounts or to access application APIs using `bearer` authentication. + """ + def create_token_with_iam(%Client{} = client, input, options \\ []) do + url_path = "/token?aws_iam=t" + headers = [] + query_params = [] + + meta = metadata() + + Request.request_rest( + client, + meta, + :post, + url_path, + query_params, + headers, + input, + options, + nil + ) + end + @doc """ Registers a client with IAM Identity Center. diff --git a/lib/aws/generated/trusted_advisor.ex b/lib/aws/generated/trusted_advisor.ex new file mode 100644 index 00000000..3f78a14c --- /dev/null +++ b/lib/aws/generated/trusted_advisor.ex @@ -0,0 +1,517 @@ +# WARNING: DO NOT EDIT, AUTO-GENERATED CODE! +# See https://github.com/aws-beam/aws-codegen for more details. + +defmodule AWS.TrustedAdvisor do + @moduledoc """ + TrustedAdvisor Public API + """ + + alias AWS.Client + alias AWS.Request + + def metadata do + %{ + abbreviation: nil, + api_version: "2022-09-15", + content_type: "application/x-amz-json-1.1", + credential_scope: nil, + endpoint_prefix: "trustedadvisor", + global?: false, + protocol: "rest-json", + service_id: "TrustedAdvisor", + signature_version: "v4", + signing_name: "trustedadvisor", + target_prefix: nil + } + end + + @doc """ + Get a specific recommendation within an AWS Organizations organization. + + This API supports only prioritized recommendations. + """ + def get_organization_recommendation( + %Client{} = client, + organization_recommendation_identifier, + options \\ [] + ) do + url_path = + "/v1/organization-recommendations/#{AWS.Util.encode_uri(organization_recommendation_identifier)}" + + headers = [] + query_params = [] + + meta = metadata() + + Request.request_rest(client, meta, :get, url_path, query_params, headers, nil, options, 200) + end + + @doc """ + Get a specific Recommendation + """ + def get_recommendation(%Client{} = client, recommendation_identifier, options \\ []) do + url_path = "/v1/recommendations/#{AWS.Util.encode_uri(recommendation_identifier)}" + headers = [] + query_params = [] + + meta = metadata() + + Request.request_rest(client, meta, :get, url_path, query_params, headers, nil, options, 200) + end + + @doc """ + List a filterable set of Checks + """ + def list_checks( + %Client{} = client, + aws_service \\ nil, + language \\ nil, + max_results \\ nil, + next_token \\ nil, + pillar \\ nil, + source \\ nil, + options \\ [] + ) do + url_path = "/v1/checks" + headers = [] + query_params = [] + + query_params = + if !is_nil(source) do + [{"source", source} | query_params] + else + query_params + end + + query_params = + if !is_nil(pillar) do + [{"pillar", pillar} | query_params] + else + query_params + end + + query_params = + if !is_nil(next_token) do + [{"nextToken", next_token} | query_params] + else + query_params + end + + query_params = + if !is_nil(max_results) do + [{"maxResults", max_results} | query_params] + else + query_params + end + + query_params = + if !is_nil(language) do + [{"language", language} | query_params] + else + query_params + end + + query_params = + if !is_nil(aws_service) do + [{"awsService", aws_service} | query_params] + else + query_params + end + + meta = metadata() + + Request.request_rest(client, meta, :get, url_path, query_params, headers, nil, options, 200) + end + + @doc """ + Lists the accounts that own the resources for an organization aggregate + recommendation. + + This API only supports prioritized recommendations. + """ + def list_organization_recommendation_accounts( + %Client{} = client, + organization_recommendation_identifier, + affected_account_id \\ nil, + max_results \\ nil, + next_token \\ nil, + options \\ [] + ) do + url_path = + "/v1/organization-recommendations/#{AWS.Util.encode_uri(organization_recommendation_identifier)}/accounts" + + headers = [] + query_params = [] + + query_params = + if !is_nil(next_token) do + [{"nextToken", next_token} | query_params] + else + query_params + end + + query_params = + if !is_nil(max_results) do + [{"maxResults", max_results} | query_params] + else + query_params + end + + query_params = + if !is_nil(affected_account_id) do + [{"affectedAccountId", affected_account_id} | query_params] + else + query_params + end + + meta = metadata() + + Request.request_rest(client, meta, :get, url_path, query_params, headers, nil, options, 200) + end + + @doc """ + List Resources of a Recommendation within an Organization. + + This API only supports prioritized recommendations. + """ + def list_organization_recommendation_resources( + %Client{} = client, + organization_recommendation_identifier, + affected_account_id \\ nil, + max_results \\ nil, + next_token \\ nil, + region_code \\ nil, + status \\ nil, + options \\ [] + ) do + url_path = + "/v1/organization-recommendations/#{AWS.Util.encode_uri(organization_recommendation_identifier)}/resources" + + headers = [] + query_params = [] + + query_params = + if !is_nil(status) do + [{"status", status} | query_params] + else + query_params + end + + query_params = + if !is_nil(region_code) do + [{"regionCode", region_code} | query_params] + else + query_params + end + + query_params = + if !is_nil(next_token) do + [{"nextToken", next_token} | query_params] + else + query_params + end + + query_params = + if !is_nil(max_results) do + [{"maxResults", max_results} | query_params] + else + query_params + end + + query_params = + if !is_nil(affected_account_id) do + [{"affectedAccountId", affected_account_id} | query_params] + else + query_params + end + + meta = metadata() + + Request.request_rest(client, meta, :get, url_path, query_params, headers, nil, options, 200) + end + + @doc """ + List a filterable set of Recommendations within an Organization. + + This API only supports prioritized recommendations. + """ + def list_organization_recommendations( + %Client{} = client, + after_last_updated_at \\ nil, + aws_service \\ nil, + before_last_updated_at \\ nil, + check_identifier \\ nil, + max_results \\ nil, + next_token \\ nil, + pillar \\ nil, + source \\ nil, + status \\ nil, + type \\ nil, + options \\ [] + ) do + url_path = "/v1/organization-recommendations" + headers = [] + query_params = [] + + query_params = + if !is_nil(type) do + [{"type", type} | query_params] + else + query_params + end + + query_params = + if !is_nil(status) do + [{"status", status} | query_params] + else + query_params + end + + query_params = + if !is_nil(source) do + [{"source", source} | query_params] + else + query_params + end + + query_params = + if !is_nil(pillar) do + [{"pillar", pillar} | query_params] + else + query_params + end + + query_params = + if !is_nil(next_token) do + [{"nextToken", next_token} | query_params] + else + query_params + end + + query_params = + if !is_nil(max_results) do + [{"maxResults", max_results} | query_params] + else + query_params + end + + query_params = + if !is_nil(check_identifier) do + [{"checkIdentifier", check_identifier} | query_params] + else + query_params + end + + query_params = + if !is_nil(before_last_updated_at) do + [{"beforeLastUpdatedAt", before_last_updated_at} | query_params] + else + query_params + end + + query_params = + if !is_nil(aws_service) do + [{"awsService", aws_service} | query_params] + else + query_params + end + + query_params = + if !is_nil(after_last_updated_at) do + [{"afterLastUpdatedAt", after_last_updated_at} | query_params] + else + query_params + end + + meta = metadata() + + Request.request_rest(client, meta, :get, url_path, query_params, headers, nil, options, 200) + end + + @doc """ + List Resources of a Recommendation + """ + def list_recommendation_resources( + %Client{} = client, + recommendation_identifier, + max_results \\ nil, + next_token \\ nil, + region_code \\ nil, + status \\ nil, + options \\ [] + ) do + url_path = "/v1/recommendations/#{AWS.Util.encode_uri(recommendation_identifier)}/resources" + headers = [] + query_params = [] + + query_params = + if !is_nil(status) do + [{"status", status} | query_params] + else + query_params + end + + query_params = + if !is_nil(region_code) do + [{"regionCode", region_code} | query_params] + else + query_params + end + + query_params = + if !is_nil(next_token) do + [{"nextToken", next_token} | query_params] + else + query_params + end + + query_params = + if !is_nil(max_results) do + [{"maxResults", max_results} | query_params] + else + query_params + end + + meta = metadata() + + Request.request_rest(client, meta, :get, url_path, query_params, headers, nil, options, 200) + end + + @doc """ + List a filterable set of Recommendations + """ + def list_recommendations( + %Client{} = client, + after_last_updated_at \\ nil, + aws_service \\ nil, + before_last_updated_at \\ nil, + check_identifier \\ nil, + max_results \\ nil, + next_token \\ nil, + pillar \\ nil, + source \\ nil, + status \\ nil, + type \\ nil, + options \\ [] + ) do + url_path = "/v1/recommendations" + headers = [] + query_params = [] + + query_params = + if !is_nil(type) do + [{"type", type} | query_params] + else + query_params + end + + query_params = + if !is_nil(status) do + [{"status", status} | query_params] + else + query_params + end + + query_params = + if !is_nil(source) do + [{"source", source} | query_params] + else + query_params + end + + query_params = + if !is_nil(pillar) do + [{"pillar", pillar} | query_params] + else + query_params + end + + query_params = + if !is_nil(next_token) do + [{"nextToken", next_token} | query_params] + else + query_params + end + + query_params = + if !is_nil(max_results) do + [{"maxResults", max_results} | query_params] + else + query_params + end + + query_params = + if !is_nil(check_identifier) do + [{"checkIdentifier", check_identifier} | query_params] + else + query_params + end + + query_params = + if !is_nil(before_last_updated_at) do + [{"beforeLastUpdatedAt", before_last_updated_at} | query_params] + else + query_params + end + + query_params = + if !is_nil(aws_service) do + [{"awsService", aws_service} | query_params] + else + query_params + end + + query_params = + if !is_nil(after_last_updated_at) do + [{"afterLastUpdatedAt", after_last_updated_at} | query_params] + else + query_params + end + + meta = metadata() + + Request.request_rest(client, meta, :get, url_path, query_params, headers, nil, options, 200) + end + + @doc """ + Update the lifecyle of a Recommendation within an Organization. + + This API only supports prioritized recommendations. + """ + def update_organization_recommendation_lifecycle( + %Client{} = client, + organization_recommendation_identifier, + input, + options \\ [] + ) do + url_path = + "/v1/organization-recommendations/#{AWS.Util.encode_uri(organization_recommendation_identifier)}/lifecycle" + + headers = [] + query_params = [] + + meta = metadata() + + Request.request_rest(client, meta, :put, url_path, query_params, headers, input, options, 200) + end + + @doc """ + Update the lifecyle of a Recommendation. + + This API only supports prioritized recommendations. + """ + def update_recommendation_lifecycle( + %Client{} = client, + recommendation_identifier, + input, + options \\ [] + ) do + url_path = "/v1/recommendations/#{AWS.Util.encode_uri(recommendation_identifier)}/lifecycle" + headers = [] + query_params = [] + + meta = metadata() + + Request.request_rest(client, meta, :put, url_path, query_params, headers, input, options, 200) + end +end diff --git a/lib/aws/generated/verified_permissions.ex b/lib/aws/generated/verified_permissions.ex index fb61f44a..1da9a4bf 100644 --- a/lib/aws/generated/verified_permissions.ex +++ b/lib/aws/generated/verified_permissions.ex @@ -83,6 +83,32 @@ defmodule AWS.VerifiedPermissions do } end + @doc """ + Makes a series of decisions about multiple authorization requests for one + principal or resource. + + Each request contains the equivalent content of an `IsAuthorized` request: + principal, action, resource, and context. Either the `principal` or the + `resource` parameter must be identical across all requests. For example, + Verified Permissions won't evaluate a pair of requests where `bob` views + `photo1` and `alice` views `photo2`. Authorization of `bob` to view `photo1` and + `photo2`, or `bob` and `alice` to view `photo1`, are valid batches. + + The request is evaluated against all policies in the specified policy store that + match the entities that you declare. The result of the decisions is a series of + `Allow` or `Deny` responses, along with the IDs of the policies that produced + each decision. + + The `entities` of a `BatchIsAuthorized` API request can contain up to 100 + principals and up to 100 resources. The `requests` of a `BatchIsAuthorized` API + request can contain up to 30 requests. + """ + def batch_is_authorized(%Client{} = client, input, options \\ []) do + meta = metadata() + + Request.request_post(client, meta, "BatchIsAuthorized", input, options) + end + @doc """ Creates a reference to an Amazon Cognito user pool as an external identity provider (IdP). diff --git a/lib/aws/generated/wisdom.ex b/lib/aws/generated/wisdom.ex index e1d74944..d9f9e90a 100644 --- a/lib/aws/generated/wisdom.ex +++ b/lib/aws/generated/wisdom.ex @@ -148,6 +148,29 @@ defmodule AWS.Wisdom do ) end + @doc """ + Creates a Wisdom quick response. + """ + def create_quick_response(%Client{} = client, knowledge_base_id, input, options \\ []) do + url_path = "/knowledgeBases/#{AWS.Util.encode_uri(knowledge_base_id)}/quickResponses" + headers = [] + query_params = [] + + meta = metadata() + + Request.request_rest( + client, + meta, + :post, + url_path, + query_params, + headers, + input, + options, + 200 + ) + end + @doc """ Creates a session. @@ -254,6 +277,37 @@ defmodule AWS.Wisdom do ) end + @doc """ + Deletes the quick response import job. + """ + def delete_import_job( + %Client{} = client, + import_job_id, + knowledge_base_id, + input, + options \\ [] + ) do + url_path = + "/knowledgeBases/#{AWS.Util.encode_uri(knowledge_base_id)}/importJobs/#{AWS.Util.encode_uri(import_job_id)}" + + headers = [] + query_params = [] + + meta = metadata() + + Request.request_rest( + client, + meta, + :delete, + url_path, + query_params, + headers, + input, + options, + 204 + ) + end + @doc """ Deletes the knowledge base. @@ -286,6 +340,37 @@ defmodule AWS.Wisdom do ) end + @doc """ + Deletes a quick response. + """ + def delete_quick_response( + %Client{} = client, + knowledge_base_id, + quick_response_id, + input, + options \\ [] + ) do + url_path = + "/knowledgeBases/#{AWS.Util.encode_uri(knowledge_base_id)}/quickResponses/#{AWS.Util.encode_uri(quick_response_id)}" + + headers = [] + query_params = [] + + meta = metadata() + + Request.request_rest( + client, + meta, + :delete, + url_path, + query_params, + headers, + input, + options, + 204 + ) + end + @doc """ Retrieves information about an assistant. """ @@ -349,6 +434,21 @@ defmodule AWS.Wisdom do Request.request_rest(client, meta, :get, url_path, query_params, headers, nil, options, 200) end + @doc """ + Retrieves the started import job. + """ + def get_import_job(%Client{} = client, import_job_id, knowledge_base_id, options \\ []) do + url_path = + "/knowledgeBases/#{AWS.Util.encode_uri(knowledge_base_id)}/importJobs/#{AWS.Util.encode_uri(import_job_id)}" + + headers = [] + query_params = [] + + meta = metadata() + + Request.request_rest(client, meta, :get, url_path, query_params, headers, nil, options, 200) + end + @doc """ Retrieves information about the knowledge base. """ @@ -362,6 +462,21 @@ defmodule AWS.Wisdom do Request.request_rest(client, meta, :get, url_path, query_params, headers, nil, options, 200) end + @doc """ + Retrieves the quick response. + """ + def get_quick_response(%Client{} = client, knowledge_base_id, quick_response_id, options \\ []) do + url_path = + "/knowledgeBases/#{AWS.Util.encode_uri(knowledge_base_id)}/quickResponses/#{AWS.Util.encode_uri(quick_response_id)}" + + headers = [] + query_params = [] + + meta = metadata() + + Request.request_rest(client, meta, :get, url_path, query_params, headers, nil, options, 200) + end + @doc """ Retrieves recommendations for the specified session. @@ -512,6 +627,39 @@ defmodule AWS.Wisdom do Request.request_rest(client, meta, :get, url_path, query_params, headers, nil, options, 200) end + @doc """ + Lists information about import jobs. + """ + def list_import_jobs( + %Client{} = client, + knowledge_base_id, + max_results \\ nil, + next_token \\ nil, + options \\ [] + ) do + url_path = "/knowledgeBases/#{AWS.Util.encode_uri(knowledge_base_id)}/importJobs" + headers = [] + query_params = [] + + query_params = + if !is_nil(next_token) do + [{"nextToken", next_token} | query_params] + else + query_params + end + + query_params = + if !is_nil(max_results) do + [{"maxResults", max_results} | query_params] + else + query_params + end + + meta = metadata() + + Request.request_rest(client, meta, :get, url_path, query_params, headers, nil, options, 200) + end + @doc """ Lists the knowledge bases. """ @@ -544,6 +692,39 @@ defmodule AWS.Wisdom do Request.request_rest(client, meta, :get, url_path, query_params, headers, nil, options, 200) end + @doc """ + Lists information about quick response. + """ + def list_quick_responses( + %Client{} = client, + knowledge_base_id, + max_results \\ nil, + next_token \\ nil, + options \\ [] + ) do + url_path = "/knowledgeBases/#{AWS.Util.encode_uri(knowledge_base_id)}/quickResponses" + headers = [] + query_params = [] + + query_params = + if !is_nil(next_token) do + [{"nextToken", next_token} | query_params] + else + query_params + end + + query_params = + if !is_nil(max_results) do + [{"maxResults", max_results} | query_params] + else + query_params + end + + meta = metadata() + + Request.request_rest(client, meta, :get, url_path, query_params, headers, nil, options, 200) + end + @doc """ Lists the tags for the specified resource. """ @@ -679,6 +860,35 @@ defmodule AWS.Wisdom do ) end + @doc """ + Searches existing Wisdom quick responses in a Wisdom knowledge base. + """ + def search_quick_responses(%Client{} = client, knowledge_base_id, input, options \\ []) do + url_path = "/knowledgeBases/#{AWS.Util.encode_uri(knowledge_base_id)}/search/quickResponses" + headers = [] + + {query_params, input} = + [ + {"maxResults", "maxResults"}, + {"nextToken", "nextToken"} + ] + |> Request.build_params(input) + + meta = metadata() + + Request.request_rest( + client, + meta, + :post, + url_path, + query_params, + headers, + input, + options, + 200 + ) + end + @doc """ Searches for sessions. """ @@ -738,6 +948,38 @@ defmodule AWS.Wisdom do ) end + @doc """ + Start an asynchronous job to import Wisdom resources from an uploaded source + file. + + Before calling this API, use + [StartContentUpload](https://docs.aws.amazon.com/wisdom/latest/APIReference/API_StartContentUpload.html) to upload an asset that contains the resource data. + + * For importing Wisdom quick responses, you need to upload a csv + file including the quick responses. For information about how to format the csv + file for importing quick responses, see [Import quick + responses](https://docs.aws.amazon.com/console/connect/quick-responses/add-data). + """ + def start_import_job(%Client{} = client, knowledge_base_id, input, options \\ []) do + url_path = "/knowledgeBases/#{AWS.Util.encode_uri(knowledge_base_id)}/importJobs" + headers = [] + query_params = [] + + meta = metadata() + + Request.request_rest( + client, + meta, + :post, + url_path, + query_params, + headers, + input, + options, + 200 + ) + end + @doc """ Adds the specified tags to the specified resource. """ @@ -847,4 +1089,35 @@ defmodule AWS.Wisdom do 200 ) end + + @doc """ + Updates an existing Wisdom quick response. + """ + def update_quick_response( + %Client{} = client, + knowledge_base_id, + quick_response_id, + input, + options \\ [] + ) do + url_path = + "/knowledgeBases/#{AWS.Util.encode_uri(knowledge_base_id)}/quickResponses/#{AWS.Util.encode_uri(quick_response_id)}" + + headers = [] + query_params = [] + + meta = metadata() + + Request.request_rest( + client, + meta, + :post, + url_path, + query_params, + headers, + input, + options, + 200 + ) + end end