From fb47e8f97e3f9e379a5f6eb65761bb5e23925cf9 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Fri, 7 Jun 2024 01:44:35 +0000 Subject: [PATCH] Update services based on release-2024-06-06 of AWS Go SDK Reference: https://github.com/aws/aws-sdk-go-v2/releases/tag/release-2024-06-06 --- .latest-tag-aws-sdk-go | 2 +- lib/aws/generated/account.ex | 179 +++++++++++++++++ lib/aws/generated/firehose.ex | 51 +++-- lib/aws/generated/fsx.ex | 47 ++++- lib/aws/generated/glue.ex | 33 ++++ lib/aws/generated/location.ex | 275 +++++++++++++++++++++++++++ lib/aws/generated/sns.ex | 18 +- lib/aws/generated/sqs.ex | 34 ++-- lib/aws/generated/storage_gateway.ex | 78 ++++++-- 9 files changed, 657 insertions(+), 60 deletions(-) diff --git a/.latest-tag-aws-sdk-go b/.latest-tag-aws-sdk-go index f88de811..220677f6 100644 --- a/.latest-tag-aws-sdk-go +++ b/.latest-tag-aws-sdk-go @@ -1 +1 @@ -release-2024-06-05 +release-2024-06-06 diff --git a/lib/aws/generated/account.ex b/lib/aws/generated/account.ex index 652a521c..801c7b60 100644 --- a/lib/aws/generated/account.ex +++ b/lib/aws/generated/account.ex @@ -11,6 +11,30 @@ defmodule AWS.Account do @typedoc """ + ## Example: + + accept_primary_email_update_request() :: %{ + required("AccountId") => String.t(), + required("Otp") => String.t(), + required("PrimaryEmail") => String.t() + } + + """ + @type accept_primary_email_update_request() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + accept_primary_email_update_response() :: %{ + "Status" => String.t() + } + + """ + @type accept_primary_email_update_response() :: %{String.t() => any()} + + @typedoc """ + ## Example: access_denied_exception() :: %{ @@ -151,6 +175,28 @@ defmodule AWS.Account do @typedoc """ + ## Example: + + get_primary_email_request() :: %{ + required("AccountId") => String.t() + } + + """ + @type get_primary_email_request() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + get_primary_email_response() :: %{ + "PrimaryEmail" => String.t() + } + + """ + @type get_primary_email_response() :: %{String.t() => any()} + + @typedoc """ + ## Example: get_region_opt_status_request() :: %{ @@ -263,6 +309,29 @@ defmodule AWS.Account do @typedoc """ + ## Example: + + start_primary_email_update_request() :: %{ + required("AccountId") => String.t(), + required("PrimaryEmail") => String.t() + } + + """ + @type start_primary_email_update_request() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + start_primary_email_update_response() :: %{ + "Status" => String.t() + } + + """ + @type start_primary_email_update_response() :: %{String.t() => any()} + + @typedoc """ + ## Example: too_many_requests_exception() :: %{ @@ -297,6 +366,14 @@ defmodule AWS.Account do """ @type validation_exception_field() :: %{String.t() => any()} + @type accept_primary_email_update_errors() :: + validation_exception() + | too_many_requests_exception() + | resource_not_found_exception() + | internal_server_exception() + | conflict_exception() + | access_denied_exception() + @type delete_alternate_contact_errors() :: validation_exception() | too_many_requests_exception() @@ -332,6 +409,13 @@ defmodule AWS.Account do | internal_server_exception() | access_denied_exception() + @type get_primary_email_errors() :: + validation_exception() + | too_many_requests_exception() + | resource_not_found_exception() + | internal_server_exception() + | access_denied_exception() + @type get_region_opt_status_errors() :: validation_exception() | too_many_requests_exception() @@ -356,6 +440,14 @@ defmodule AWS.Account do | internal_server_exception() | access_denied_exception() + @type start_primary_email_update_errors() :: + validation_exception() + | too_many_requests_exception() + | resource_not_found_exception() + | internal_server_exception() + | conflict_exception() + | access_denied_exception() + def metadata do %{ api_version: "2021-02-01", @@ -372,6 +464,35 @@ defmodule AWS.Account do } end + @doc """ + Accepts the request that originated from `StartPrimaryEmailUpdate` to update the + primary email address (also known + as the root user email address) for the specified account. + """ + @spec accept_primary_email_update(map(), accept_primary_email_update_request(), list()) :: + {:ok, accept_primary_email_update_response(), any()} + | {:error, {:unexpected_response, any()}} + | {:error, accept_primary_email_update_errors()} + def accept_primary_email_update(%Client{} = client, input, options \\ []) do + url_path = "/acceptPrimaryEmailUpdate" + headers = [] + query_params = [] + + meta = metadata() + + Request.request_rest( + client, + meta, + :post, + url_path, + query_params, + headers, + input, + options, + 200 + ) + end + @doc """ Deletes the specified alternate contact from an Amazon Web Services account. @@ -411,6 +532,9 @@ defmodule AWS.Account do @doc """ Disables (opts-out) a particular Region for an account. + + The act of disabling a Region will remove all IAM access to any resources that + reside in that Region. """ @spec disable_region(map(), disable_region_request(), list()) :: {:ok, nil, any()} @@ -532,6 +656,33 @@ defmodule AWS.Account do ) end + @doc """ + Retrieves the primary email address for the specified account. + """ + @spec get_primary_email(map(), get_primary_email_request(), list()) :: + {:ok, get_primary_email_response(), any()} + | {:error, {:unexpected_response, any()}} + | {:error, get_primary_email_errors()} + def get_primary_email(%Client{} = client, input, options \\ []) do + url_path = "/getPrimaryEmail" + headers = [] + query_params = [] + + meta = metadata() + + Request.request_rest( + client, + meta, + :post, + url_path, + query_params, + headers, + input, + options, + 200 + ) + end + @doc """ Retrieves the opt-in status of a particular Region. """ @@ -657,4 +808,32 @@ defmodule AWS.Account do 200 ) end + + @doc """ + Starts the process to update the primary email address for the specified + account. + """ + @spec start_primary_email_update(map(), start_primary_email_update_request(), list()) :: + {:ok, start_primary_email_update_response(), any()} + | {:error, {:unexpected_response, any()}} + | {:error, start_primary_email_update_errors()} + def start_primary_email_update(%Client{} = client, input, options \\ []) do + url_path = "/startPrimaryEmailUpdate" + headers = [] + query_params = [] + + meta = metadata() + + Request.request_rest( + client, + meta, + :post, + url_path, + query_params, + headers, + input, + options, + 200 + ) + end end diff --git a/lib/aws/generated/firehose.ex b/lib/aws/generated/firehose.ex index ca19bffc..d48d63f7 100644 --- a/lib/aws/generated/firehose.ex +++ b/lib/aws/generated/firehose.ex @@ -8,10 +8,10 @@ defmodule AWS.Firehose do Amazon Data Firehose was previously known as Amazon Kinesis Data Firehose. Amazon Data Firehose is a fully managed service that delivers real-time - streaming data to destinations such as Amazon Simple Storage Service (Amazon - S3), Amazon - OpenSearch Service, Amazon Redshift, Splunk, and various other supportd - destinations. + streaming + data to destinations such as Amazon Simple Storage Service (Amazon S3), Amazon + OpenSearch + Service, Amazon Redshift, Splunk, and various other supported destinations. """ alias AWS.Client @@ -220,6 +220,7 @@ defmodule AWS.Firehose do "S3BackupMode" => list(any()), "S3Update" => s3_destination_update(), "Schema" => String.t(), + "SecretsManagerConfiguration" => secrets_manager_configuration(), "SnowflakeRoleConfiguration" => snowflake_role_configuration(), "Table" => String.t(), "User" => String.t() @@ -355,7 +356,8 @@ defmodule AWS.Firehose do "RetryOptions" => http_endpoint_retry_options(), "RoleARN" => String.t(), "S3BackupMode" => list(any()), - "S3DestinationDescription" => s3_destination_description() + "S3DestinationDescription" => s3_destination_description(), + "SecretsManagerConfiguration" => secrets_manager_configuration() } """ @@ -497,7 +499,8 @@ defmodule AWS.Firehose do "RetryOptions" => http_endpoint_retry_options(), "RoleARN" => String.t(), "S3BackupMode" => list(any()), - "S3Configuration" => s3_destination_configuration() + "S3Configuration" => s3_destination_configuration(), + "SecretsManagerConfiguration" => secrets_manager_configuration() } """ @@ -540,6 +543,7 @@ defmodule AWS.Firehose do "S3BackupMode" => list(any()), "S3DestinationDescription" => s3_destination_description(), "Schema" => String.t(), + "SecretsManagerConfiguration" => secrets_manager_configuration(), "SnowflakeRoleConfiguration" => snowflake_role_configuration(), "SnowflakeVpcConfiguration" => snowflake_vpc_configuration(), "Table" => String.t(), @@ -697,6 +701,7 @@ defmodule AWS.Firehose do "S3BackupMode" => list(any()), "S3Configuration" => s3_destination_configuration(), "Schema" => String.t(), + "SecretsManagerConfiguration" => secrets_manager_configuration(), "SnowflakeRoleConfiguration" => snowflake_role_configuration(), "SnowflakeVpcConfiguration" => snowflake_vpc_configuration(), "Table" => String.t(), @@ -749,7 +754,8 @@ defmodule AWS.Firehose do "ProcessingConfiguration" => processing_configuration(), "RetryOptions" => splunk_retry_options(), "S3BackupMode" => list(any()), - "S3Update" => s3_destination_update() + "S3Update" => s3_destination_update(), + "SecretsManagerConfiguration" => secrets_manager_configuration() } """ @@ -873,6 +879,7 @@ defmodule AWS.Firehose do "S3BackupMode" => list(any()), "S3BackupUpdate" => s3_destination_update(), "S3Update" => s3_destination_update(), + "SecretsManagerConfiguration" => secrets_manager_configuration(), "Username" => String.t() } @@ -975,7 +982,8 @@ defmodule AWS.Firehose do "ProcessingConfiguration" => processing_configuration(), "RetryOptions" => splunk_retry_options(), "S3BackupMode" => list(any()), - "S3Configuration" => s3_destination_configuration() + "S3Configuration" => s3_destination_configuration(), + "SecretsManagerConfiguration" => secrets_manager_configuration() } """ @@ -1225,6 +1233,19 @@ defmodule AWS.Firehose do @typedoc """ + ## Example: + + secrets_manager_configuration() :: %{ + "Enabled" => boolean(), + "RoleARN" => String.t(), + "SecretARN" => String.t() + } + + """ + @type secrets_manager_configuration() :: %{String.t() => any()} + + @typedoc """ + ## Example: stop_delivery_stream_encryption_output() :: %{} @@ -1329,6 +1350,7 @@ defmodule AWS.Firehose do "S3BackupDescription" => s3_destination_description(), "S3BackupMode" => list(any()), "S3DestinationDescription" => s3_destination_description(), + "SecretsManagerConfiguration" => secrets_manager_configuration(), "Username" => String.t() } @@ -1350,6 +1372,7 @@ defmodule AWS.Firehose do "S3BackupConfiguration" => s3_destination_configuration(), "S3BackupMode" => list(any()), "S3Configuration" => s3_destination_configuration(), + "SecretsManagerConfiguration" => secrets_manager_configuration(), "Username" => String.t() } @@ -1646,7 +1669,8 @@ defmodule AWS.Firehose do "ProcessingConfiguration" => processing_configuration(), "RetryOptions" => splunk_retry_options(), "S3BackupMode" => list(any()), - "S3DestinationDescription" => s3_destination_description() + "S3DestinationDescription" => s3_destination_description(), + "SecretsManagerConfiguration" => secrets_manager_configuration() } """ @@ -1677,7 +1701,8 @@ defmodule AWS.Firehose do "RetryOptions" => http_endpoint_retry_options(), "RoleARN" => String.t(), "S3BackupMode" => list(any()), - "S3Update" => s3_destination_update() + "S3Update" => s3_destination_update(), + "SecretsManagerConfiguration" => secrets_manager_configuration() } """ @@ -2155,9 +2180,9 @@ defmodule AWS.Firehose do that enables it to use the new CMK to encrypt and decrypt data and to manage the grant. - For the KMS grant creation to be successful, Firehose APIs - `StartDeliveryStreamEncryption` and `CreateDeliveryStream` should not be called - with session credentials that are more than 6 hours old. + For the KMS grant creation to be successful, the Firehose API operations + `StartDeliveryStreamEncryption` and `CreateDeliveryStream` should + not be called with session credentials that are more than 6 hours old. If a delivery stream already has encryption enabled and then you invoke this operation diff --git a/lib/aws/generated/fsx.ex b/lib/aws/generated/fsx.ex index 2679b2cb..898797c7 100644 --- a/lib/aws/generated/fsx.ex +++ b/lib/aws/generated/fsx.ex @@ -136,6 +136,18 @@ defmodule AWS.FSx do @typedoc """ + ## Example: + + create_file_system_lustre_metadata_configuration() :: %{ + "Iops" => integer(), + "Mode" => list(any()) + } + + """ + @type create_file_system_lustre_metadata_configuration() :: %{String.t() => any()} + + @typedoc """ + ## Example: open_z_f_s_user_or_group_quota() :: %{ @@ -1405,6 +1417,7 @@ defmodule AWS.FSx do "ImportPath" => String.t(), "ImportedFileChunkSize" => integer(), "LogConfiguration" => lustre_log_create_configuration(), + "MetadataConfiguration" => create_file_system_lustre_metadata_configuration(), "PerUnitStorageThroughput" => integer(), "RootSquashConfiguration" => lustre_root_squash_configuration(), "WeeklyMaintenanceStartTime" => String.t() @@ -1516,6 +1529,7 @@ defmodule AWS.FSx do "DailyAutomaticBackupStartTime" => String.t(), "DataCompressionType" => list(any()), "LogConfiguration" => lustre_log_create_configuration(), + "MetadataConfiguration" => update_file_system_lustre_metadata_configuration(), "PerUnitStorageThroughput" => integer(), "RootSquashConfiguration" => lustre_root_squash_configuration(), "WeeklyMaintenanceStartTime" => String.t() @@ -1738,6 +1752,7 @@ defmodule AWS.FSx do "DeploymentType" => list(any()), "DriveCacheType" => list(any()), "LogConfiguration" => lustre_log_configuration(), + "MetadataConfiguration" => file_system_lustre_metadata_configuration(), "MountName" => String.t(), "PerUnitStorageThroughput" => integer(), "RootSquashConfiguration" => lustre_root_squash_configuration(), @@ -2748,6 +2763,18 @@ defmodule AWS.FSx do @typedoc """ + ## Example: + + file_system_lustre_metadata_configuration() :: %{ + "Iops" => integer(), + "Mode" => list(any()) + } + + """ + @type file_system_lustre_metadata_configuration() :: %{String.t() => any()} + + @typedoc """ + ## Example: delete_file_system_windows_response() :: %{ @@ -2998,6 +3025,18 @@ defmodule AWS.FSx do @typedoc """ + ## Example: + + update_file_system_lustre_metadata_configuration() :: %{ + "Iops" => integer(), + "Mode" => list(any()) + } + + """ + @type update_file_system_lustre_metadata_configuration() :: %{String.t() => any()} + + @typedoc """ + ## Example: delete_file_system_request() :: %{ @@ -3996,7 +4035,7 @@ defmodule AWS.FSx do To delete an Amazon FSx for NetApp ONTAP file system, first delete all the volumes and storage virtual machines (SVMs) on the file system. Then provide a - `FileSystemId` value to the `DeleFileSystem` operation. + `FileSystemId` value to the `DeleteFileSystem` operation. By default, when you delete an Amazon FSx for Windows File Server file system, a final backup is created upon deletion. This final backup isn't subject to the @@ -4005,7 +4044,7 @@ defmodule AWS.FSx do To delete an Amazon FSx for Lustre file system, first [unmount](https://docs.aws.amazon.com/fsx/latest/LustreGuide/unmounting-fs.html) it from every connected Amazon EC2 instance, then provide a `FileSystemId` - value to the `DeleFileSystem` operation. By default, Amazon FSx will not + value to the `DeleteFileSystem` operation. By default, Amazon FSx will not take a final backup when the `DeleteFileSystem` operation is invoked. On file systems not linked to an Amazon S3 bucket, set `SkipFinalBackup` to `false` @@ -4680,6 +4719,10 @@ defmodule AWS.FSx do * + `MetadataConfiguration` + + * + `PerUnitStorageThroughput` * diff --git a/lib/aws/generated/glue.ex b/lib/aws/generated/glue.ex index 99799ed3..5e6ca578 100644 --- a/lib/aws/generated/glue.ex +++ b/lib/aws/generated/glue.ex @@ -395,6 +395,20 @@ defmodule AWS.Glue do @typedoc """ + ## Example: + + view_definition_input() :: %{ + "Definer" => String.t(), + "IsProtected" => boolean(), + "Representations" => list(view_representation_input()()), + "SubObjects" => list(String.t()()) + } + + """ + @type view_definition_input() :: %{String.t() => any()} + + @typedoc """ + ## Example: encryption_configuration() :: %{ @@ -974,9 +988,11 @@ defmodule AWS.Glue do update_table_request() :: %{ optional("CatalogId") => String.t(), + optional("Force") => boolean(), optional("SkipArchive") => boolean(), optional("TransactionId") => String.t(), optional("VersionId") => String.t(), + optional("ViewUpdateAction") => list(any()), required("DatabaseName") => String.t(), required("TableInput") => table_input() } @@ -7517,6 +7533,7 @@ defmodule AWS.Glue do "StorageDescriptor" => storage_descriptor(), "TableType" => String.t(), "TargetTable" => table_identifier(), + "ViewDefinition" => view_definition_input(), "ViewExpandedText" => String.t(), "ViewOriginalText" => String.t() } @@ -9124,6 +9141,7 @@ defmodule AWS.Glue do "Dialect" => list(any()), "DialectVersion" => String.t(), "IsStale" => boolean(), + "ValidationConnection" => String.t(), "ViewExpandedText" => String.t(), "ViewOriginalText" => String.t() } @@ -9910,6 +9928,21 @@ defmodule AWS.Glue do @typedoc """ + ## Example: + + view_representation_input() :: %{ + "Dialect" => list(any()), + "DialectVersion" => String.t(), + "ValidationConnection" => String.t(), + "ViewExpandedText" => String.t(), + "ViewOriginalText" => String.t() + } + + """ + @type view_representation_input() :: %{String.t() => any()} + + @typedoc """ + ## Example: batch_get_table_optimizer_response() :: %{ diff --git a/lib/aws/generated/location.ex b/lib/aws/generated/location.ex index d832b153..f35a1f36 100644 --- a/lib/aws/generated/location.ex +++ b/lib/aws/generated/location.ex @@ -152,6 +152,23 @@ defmodule AWS.Location do @typedoc """ + ## Example: + + forecasted_event() :: %{ + "EventId" => String.t(), + "EventType" => String.t(), + "ForecastedBreachTime" => non_neg_integer(), + "GeofenceId" => String.t(), + "GeofenceProperties" => map(), + "IsDeviceInGeofence" => [boolean()], + "NearestDistance" => float() + } + + """ + @type forecasted_event() :: %{String.t() => any()} + + @typedoc """ + ## Example: batch_update_device_position_error() :: %{ @@ -793,6 +810,18 @@ defmodule AWS.Location do @typedoc """ + ## Example: + + lte_local_id() :: %{ + "Earfcn" => integer(), + "Pci" => integer() + } + + """ + @type lte_local_id() :: %{String.t() => any()} + + @typedoc """ + ## Example: list_geofence_response_entry() :: %{ @@ -880,6 +909,35 @@ defmodule AWS.Location do @typedoc """ + ## Example: + + wi_fi_access_point() :: %{ + "MacAddress" => [String.t()], + "Rss" => [integer()] + } + + """ + @type wi_fi_access_point() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + device_state() :: %{ + "Accuracy" => positional_accuracy(), + "CellSignals" => cell_signals(), + "DeviceId" => String.t(), + "Ipv4Address" => [String.t()], + "Position" => list([float()]()), + "SampleTime" => non_neg_integer(), + "WiFiAccessPoints" => list(wi_fi_access_point()()) + } + + """ + @type device_state() :: %{String.t() => any()} + + @typedoc """ + ## Example: describe_tracker_request() :: %{} @@ -1026,6 +1084,18 @@ defmodule AWS.Location do @typedoc """ + ## Example: + + forecast_geofence_events_device_state() :: %{ + "Position" => list([float()]()), + "Speed" => [float()] + } + + """ + @type forecast_geofence_events_device_state() :: %{String.t() => any()} + + @typedoc """ + ## Example: validation_exception_field() :: %{ @@ -1038,6 +1108,18 @@ defmodule AWS.Location do @typedoc """ + ## Example: + + verify_device_position_request() :: %{ + optional("DistanceUnit") => String.t(), + required("DeviceState") => device_state() + } + + """ + @type verify_device_position_request() :: %{String.t() => any()} + + @typedoc """ + ## Example: disassociate_tracker_consumer_request() :: %{} @@ -1240,6 +1322,22 @@ defmodule AWS.Location do @typedoc """ + ## Example: + + forecast_geofence_events_request() :: %{ + optional("DistanceUnit") => String.t(), + optional("MaxResults") => [integer()], + optional("NextToken") => String.t(), + optional("SpeedUnit") => String.t(), + optional("TimeHorizonMinutes") => [float()], + required("DeviceState") => forecast_geofence_events_device_state() + } + + """ + @type forecast_geofence_events_request() :: %{String.t() => any()} + + @typedoc """ + ## Example: api_key_restrictions() :: %{ @@ -1657,6 +1755,37 @@ defmodule AWS.Location do @typedoc """ + ## Example: + + lte_cell_details() :: %{ + "CellId" => integer(), + "LocalId" => lte_local_id(), + "Mcc" => [integer()], + "Mnc" => [integer()], + "NetworkMeasurements" => list(lte_network_measurements()()), + "NrCapable" => [boolean()], + "Rsrp" => integer(), + "Rsrq" => float(), + "Tac" => [integer()], + "TimingAdvance" => [integer()] + } + + """ + @type lte_cell_details() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + cell_signals() :: %{ + "LteCellDetails" => list(lte_cell_details()()) + } + + """ + @type cell_signals() :: %{String.t() => any()} + + @typedoc """ + ## Example: calculate_route_matrix_summary() :: %{ @@ -1713,6 +1842,21 @@ defmodule AWS.Location do @typedoc """ + ## Example: + + lte_network_measurements() :: %{ + "CellId" => integer(), + "Earfcn" => integer(), + "Pci" => integer(), + "Rsrp" => integer(), + "Rsrq" => float() + } + + """ + @type lte_network_measurements() :: %{String.t() => any()} + + @typedoc """ + ## Example: map_configuration() :: %{ @@ -1844,6 +1988,21 @@ defmodule AWS.Location do @typedoc """ + ## Example: + + verify_device_position_response() :: %{ + "DeviceId" => String.t(), + "DistanceUnit" => String.t(), + "InferredState" => inferred_state(), + "ReceivedTime" => non_neg_integer(), + "SampleTime" => non_neg_integer() + } + + """ + @type verify_device_position_response() :: %{String.t() => any()} + + @typedoc """ + ## Example: delete_place_index_request() :: %{} @@ -1897,6 +2056,7 @@ defmodule AWS.Location do geofence_geometry() :: %{ "Circle" => circle(), + "Geobuf" => binary(), "Polygon" => list(list(list([float()]())())()) } @@ -1953,6 +2113,20 @@ defmodule AWS.Location do @typedoc """ + ## Example: + + inferred_state() :: %{ + "Accuracy" => positional_accuracy(), + "DeviationDistance" => [float()], + "Position" => list([float()]()), + "ProxyDetected" => [boolean()] + } + + """ + @type inferred_state() :: %{String.t() => any()} + + @typedoc """ + ## Example: get_device_position_response() :: %{ @@ -2199,6 +2373,20 @@ defmodule AWS.Location do @typedoc """ + ## Example: + + forecast_geofence_events_response() :: %{ + "DistanceUnit" => String.t(), + "ForecastedEvents" => list(forecasted_event()()), + "NextToken" => String.t(), + "SpeedUnit" => String.t() + } + + """ + @type forecast_geofence_events_response() :: %{String.t() => any()} + + @typedoc """ + ## Example: batch_delete_device_position_history_request() :: %{ @@ -2412,6 +2600,13 @@ defmodule AWS.Location do | internal_server_exception() | resource_not_found_exception() + @type forecast_geofence_events_errors() :: + throttling_exception() + | validation_exception() + | access_denied_exception() + | internal_server_exception() + | resource_not_found_exception() + @type get_device_position_errors() :: throttling_exception() | validation_exception() @@ -2616,6 +2811,13 @@ defmodule AWS.Location do | internal_server_exception() | resource_not_found_exception() + @type verify_device_position_errors() :: + throttling_exception() + | validation_exception() + | access_denied_exception() + | internal_server_exception() + | resource_not_found_exception() + def metadata do %{ api_version: "2020-11-19", @@ -3586,6 +3788,47 @@ defmodule AWS.Location do ) end + @doc """ + Evaluates device positions against + geofence geometries from a given geofence collection. + + The event forecasts three states for which + a device can be in relative to a geofence: + + `ENTER`: If a device is outside of a geofence, but would breach the fence if the + device is moving at its current speed within time horizon window. + + `EXIT`: If a device is inside of a geofence, but would breach the fence if the + device is moving at its current speed within time horizon window. + + `IDLE`: If a device is inside of a geofence, and the device is not moving. + """ + @spec forecast_geofence_events(map(), String.t(), forecast_geofence_events_request(), list()) :: + {:ok, forecast_geofence_events_response(), any()} + | {:error, {:unexpected_response, any()}} + | {:error, forecast_geofence_events_errors()} + def forecast_geofence_events(%Client{} = client, collection_name, input, options \\ []) do + url_path = + "/geofencing/v0/collections/#{AWS.Util.encode_uri(collection_name)}/forecast-geofence-events" + + headers = [] + query_params = [] + + meta = metadata() |> Map.put_new(:host_prefix, "geofencing.") + + Request.request_rest( + client, + meta, + :post, + url_path, + query_params, + headers, + input, + options, + 200 + ) + end + @doc """ Retrieves a device's most recent position according to its sample time. @@ -3654,6 +3897,9 @@ defmodule AWS.Location do @doc """ Retrieves the geofence details from a geofence collection. + + The returned geometry will always match the geometry format used when the + geofence was created. """ @spec get_geofence(map(), String.t(), String.t(), list()) :: {:ok, get_geofence_response(), any()} @@ -4557,4 +4803,33 @@ defmodule AWS.Location do 200 ) end + + @doc """ + Verifies the integrity of the device's position by determining if it was + reported behind a proxy, and by comparing it to an inferred position estimated + based on the device's state. + """ + @spec verify_device_position(map(), String.t(), verify_device_position_request(), list()) :: + {:ok, verify_device_position_response(), any()} + | {:error, {:unexpected_response, any()}} + | {:error, verify_device_position_errors()} + def verify_device_position(%Client{} = client, tracker_name, input, options \\ []) do + url_path = "/tracking/v0/trackers/#{AWS.Util.encode_uri(tracker_name)}/positions/verify" + headers = [] + query_params = [] + + meta = metadata() |> Map.put_new(:host_prefix, "tracking.") + + Request.request_rest( + client, + meta, + :post, + url_path, + query_params, + headers, + input, + options, + 200 + ) + end end diff --git a/lib/aws/generated/sns.ex b/lib/aws/generated/sns.ex index 8c7ee697..4d1959b4 100644 --- a/lib/aws/generated/sns.ex +++ b/lib/aws/generated/sns.ex @@ -1795,23 +1795,23 @@ defmodule AWS.SNS do the notification service. * - For `ADM`, `PlatformPrincipal` is `client id` + For ADM, `PlatformPrincipal` is `client id` and `PlatformCredential` is `client secret`. * - For `Baidu`, `PlatformPrincipal` is `API key` - and `PlatformCredential` is `secret key`. - - * - For `APNS` and `APNS_SANDBOX` using certificate + For APNS and `APNS_SANDBOX` using certificate credentials, `PlatformPrincipal` is `SSL certificate` and `PlatformCredential` is `private key`. * - For `APNS` and `APNS_SANDBOX` using token credentials, + For APNS and `APNS_SANDBOX` using token credentials, `PlatformPrincipal` is `signing key ID` and `PlatformCredential` is `signing key`. + * + For Baidu, `PlatformPrincipal` is `API key` + and `PlatformCredential` is `secret key`. + * For GCM (Firebase Cloud Messaging) using key credentials, there is no `PlatformPrincipal`. The `PlatformCredential` is @@ -1833,7 +1833,7 @@ defmodule AWS.SNS do . * - For `MPNS`, `PlatformPrincipal` is + For MPNS, `PlatformPrincipal` is ``` TLS @@ -1850,7 +1850,7 @@ defmodule AWS.SNS do . * - For `WNS`, `PlatformPrincipal` is + For WNS, `PlatformPrincipal` is ``` Package Security diff --git a/lib/aws/generated/sqs.ex b/lib/aws/generated/sqs.ex index 76ee92da..1265e512 100644 --- a/lib/aws/generated/sqs.ex +++ b/lib/aws/generated/sqs.ex @@ -1887,13 +1887,15 @@ defmodule AWS.SQS do Delivers a message to the specified queue. A message can include only XML, JSON, and unformatted text. The following - Unicode characters are allowed: + Unicode characters are allowed. For more information, see the [W3C specification for characters](http://www.w3.org/TR/REC-xml/#charsets). `#x9` | `#xA` | `#xD` | `#x20` to `#xD7FF` | `#xE000` to `#xFFFD` | `#x10000` to `#x10FFFF` - Any characters not included in this list will be rejected. For more information, - see the [W3C specification for characters](http://www.w3.org/TR/REC-xml/#charsets). + Amazon SQS does not throw an exception or completely reject the message if it + contains invalid characters. Instead, it replaces those invalid characters with + `U+FFFD` before storing the message in the queue, as long as the message body + contains at least one valid character. """ @spec send_message(map(), send_message_request(), list()) :: {:ok, send_message_result(), any()} @@ -1933,13 +1935,15 @@ defmodule AWS.SQS do bytes). A message can include only XML, JSON, and unformatted text. The following - Unicode characters are allowed: + Unicode characters are allowed. For more information, see the [W3C specification for characters](http://www.w3.org/TR/REC-xml/#charsets). `#x9` | `#xA` | `#xD` | `#x20` to `#xD7FF` | `#xE000` to `#xFFFD` | `#x10000` to `#x10FFFF` - Any characters not included in this list will be rejected. For more information, - see the [W3C specification for characters](http://www.w3.org/TR/REC-xml/#charsets). + Amazon SQS does not throw an exception or completely reject the message if it + contains invalid characters. Instead, it replaces those invalid characters with + `U+FFFD` before storing the message in the queue, as long as the message body + contains at least one valid character. If you don't specify the `DelaySeconds` parameter for an entry, Amazon SQS uses the default value for the queue. @@ -1957,15 +1961,15 @@ defmodule AWS.SQS do @doc """ Sets the value of one or more queue attributes, like a policy. - When you change a queue's attributes, - the change can take up to 60 seconds for most of the attributes to propagate - throughout - the Amazon SQS system. Changes made to the `MessageRetentionPeriod` attribute - can - take up to 15 minutes and will impact existing messages in the queue potentially - causing - them to be expired and deleted if the `MessageRetentionPeriod` is reduced - below the age of existing messages. + When you change a + queue's attributes, the change can take up to 60 seconds for most of the + attributes to + propagate throughout the Amazon SQS system. Changes made to the + `MessageRetentionPeriod` attribute can take up to 15 minutes and will + impact existing messages in the queue potentially causing them to be expired and + deleted + if the `MessageRetentionPeriod` is reduced below the age of existing + messages. In the future, new attributes might be added. If you write code that calls this diff --git a/lib/aws/generated/storage_gateway.ex b/lib/aws/generated/storage_gateway.ex index 2e807042..11e5b65d 100644 --- a/lib/aws/generated/storage_gateway.ex +++ b/lib/aws/generated/storage_gateway.ex @@ -362,9 +362,10 @@ defmodule AWS.StorageGateway do update_maintenance_start_time_input() :: %{ optional("DayOfMonth") => integer(), optional("DayOfWeek") => integer(), - required("GatewayARN") => String.t(), - required("HourOfDay") => integer(), - required("MinuteOfHour") => integer() + optional("HourOfDay") => integer(), + optional("MinuteOfHour") => integer(), + optional("SoftwareUpdatePreferences") => software_update_preferences(), + required("GatewayARN") => String.t() } """ @@ -395,6 +396,7 @@ defmodule AWS.StorageGateway do "GatewayARN" => String.t(), "HourOfDay" => integer(), "MinuteOfHour" => integer(), + "SoftwareUpdatePreferences" => software_update_preferences(), "Timezone" => String.t() } @@ -2044,6 +2046,17 @@ defmodule AWS.StorageGateway do @typedoc """ + ## Example: + + software_update_preferences() :: %{ + "AutomaticUpdatePolicy" => list(any()) + } + + """ + @type software_update_preferences() :: %{String.t() => any()} + + @typedoc """ + ## Example: describe_stored_iscsi_volumes_input() :: %{ @@ -4135,11 +4148,12 @@ defmodule AWS.StorageGateway do end @doc """ - Returns your gateway's weekly maintenance start time including the day and time - of - the week. + Returns your gateway's maintenance window schedule information, with values for + monthly or weekly cadence, specific day and time to begin maintenance, and which + types of + updates to apply. - Note that values are in terms of the gateway's time zone. + Time values returned are for the gateway's time zone. """ @spec describe_maintenance_start_time(map(), describe_maintenance_start_time_input(), list()) :: {:ok, describe_maintenance_start_time_output(), any()} @@ -5174,11 +5188,11 @@ defmodule AWS.StorageGateway do end @doc """ - Updates a gateway's metadata, which includes the gateway's name and time zone. + Updates a gateway's metadata, which includes the gateway's name, time zone, + and metadata cache size. - To specify which gateway to update, use the Amazon Resource Name (ARN) of the - gateway in - your request. + To specify which gateway to update, use the Amazon Resource Name + (ARN) of the gateway in your request. For gateways activated after September 2, 2015, the gateway's ARN contains the gateway ID rather than the gateway name. However, changing the name of the @@ -5227,10 +5241,30 @@ defmodule AWS.StorageGateway do end @doc """ - Updates a gateway's weekly maintenance start time information, including day and - time of the week. - - The maintenance time is the time in your gateway's time zone. + Updates a gateway's maintenance window schedule, with settings for monthly or + weekly cadence, specific day and time to begin maintenance, and which types of + updates to + apply. + + Time configuration uses the gateway's time zone. You can pass values for a + complete + maintenance schedule, or update policy, or both. Previous values will persist + for whichever + setting you choose not to modify. If an incomplete or invalid maintenance + schedule is + passed, the entire request will be rejected with an error and no changes will + occur. + + A complete maintenance schedule must include values for *both* + `MinuteOfHour` and `HourOfDay`, and *either* + `DayOfMonth` + *or* + `DayOfWeek`. + + We recommend keeping maintenance updates turned on, except in specific use cases + where the brief disruptions caused by updating the gateway could critically + impact your + deployment. """ @spec update_maintenance_start_time(map(), update_maintenance_start_time_input(), list()) :: {:ok, update_maintenance_start_time_output(), any()} @@ -5346,14 +5380,18 @@ defmodule AWS.StorageGateway do end @doc """ - Updates the SMB security strategy on a file gateway. + Updates the SMB security strategy level for an Amazon S3 file gateway. - This action is only supported in - file gateways. + This + action is only supported for Amazon S3 file gateways. - This API is called Security level in the User Guide. + For information about configuring this setting using the Amazon Web Services + console, + see [Setting a security level for your gateway](https://docs.aws.amazon.com/filegateway/latest/files3/security-strategy.html) + in the *Amazon S3 + File Gateway User Guide*. - A higher security level can affect performance of the gateway. + A higher security strategy level can affect performance of the gateway. """ @spec update_smb_security_strategy(map(), update_smb_security_strategy_input(), list()) :: {:ok, update_smb_security_strategy_output(), any()}