diff --git a/.latest-tag-aws-sdk-go b/.latest-tag-aws-sdk-go index a262334c..a18ea989 100644 --- a/.latest-tag-aws-sdk-go +++ b/.latest-tag-aws-sdk-go @@ -1 +1 @@ -release-2024-11-18 +release-2024-11-19 diff --git a/src/aws_ec2.erl b/src/aws_ec2.erl index c796373d..a40b6876 100644 --- a/src/aws_ec2.erl +++ b/src/aws_ec2.erl @@ -281,6 +281,8 @@ create_volume/3, create_vpc/2, create_vpc/3, + create_vpc_block_public_access_exclusion/2, + create_vpc_block_public_access_exclusion/3, create_vpc_endpoint/2, create_vpc_endpoint/3, create_vpc_endpoint_connection_notification/2, @@ -431,6 +433,8 @@ delete_volume/3, delete_vpc/2, delete_vpc/3, + delete_vpc_block_public_access_exclusion/2, + delete_vpc_block_public_access_exclusion/3, delete_vpc_endpoint_connection_notifications/2, delete_vpc_endpoint_connection_notifications/3, delete_vpc_endpoint_service_configurations/2, @@ -747,6 +751,10 @@ describe_volumes_modifications/3, describe_vpc_attribute/2, describe_vpc_attribute/3, + describe_vpc_block_public_access_exclusions/2, + describe_vpc_block_public_access_exclusions/3, + describe_vpc_block_public_access_options/2, + describe_vpc_block_public_access_options/3, describe_vpc_classic_link/2, describe_vpc_classic_link/3, describe_vpc_classic_link_dns_support/2, @@ -1119,6 +1127,10 @@ modify_volume_attribute/3, modify_vpc_attribute/2, modify_vpc_attribute/3, + modify_vpc_block_public_access_exclusion/2, + modify_vpc_block_public_access_exclusion/3, + modify_vpc_block_public_access_options/2, + modify_vpc_block_public_access_options/3, modify_vpc_endpoint/2, modify_vpc_endpoint/3, modify_vpc_endpoint_connection_notification/2, @@ -2911,6 +2923,12 @@ %% } -type modify_vpc_peering_connection_options_result() :: #{binary() => any()}. +%% Example: +%% modify_vpc_block_public_access_options_result() :: #{ +%% <<"VpcBlockPublicAccessOptions">> => vpc_block_public_access_options() +%% } +-type modify_vpc_block_public_access_options_result() :: #{binary() => any()}. + %% Example: %% instance_network_interface_association() :: #{ %% <<"CarrierIp">> => string(), @@ -3432,6 +3450,13 @@ %% } -type disable_vpc_classic_link_request() :: #{binary() => any()}. +%% Example: +%% delete_vpc_block_public_access_exclusion_request() :: #{ +%% <<"DryRun">> => boolean(), +%% <<"ExclusionId">> := string() +%% } +-type delete_vpc_block_public_access_exclusion_request() :: #{binary() => any()}. + %% Example: %% vpc_attachment() :: #{ %% <<"State">> => list(any()), @@ -3784,6 +3809,7 @@ %% Example: %% vpc() :: #{ +%% <<"BlockPublicAccessStates">> => block_public_access_states(), %% <<"CidrBlock">> => string(), %% <<"CidrBlockAssociationSet">> => list(vpc_cidr_block_association()()), %% <<"DhcpOptionsId">> => string(), @@ -4744,6 +4770,7 @@ %% <<"AvailabilityZone">> => string(), %% <<"AvailabilityZoneId">> => string(), %% <<"AvailableIpAddressCount">> => integer(), +%% <<"BlockPublicAccessStates">> => block_public_access_states(), %% <<"CidrBlock">> => string(), %% <<"CustomerOwnedIpv4Pool">> => string(), %% <<"DefaultForAz">> => boolean(), @@ -5062,6 +5089,12 @@ %% } -type delete_local_gateway_route_result() :: #{binary() => any()}. +%% Example: +%% describe_vpc_block_public_access_options_request() :: #{ +%% <<"DryRun">> => boolean() +%% } +-type describe_vpc_block_public_access_options_request() :: #{binary() => any()}. + %% Example: %% disable_image_deregistration_protection_request() :: #{ %% <<"DryRun">> => boolean(), @@ -5794,6 +5827,12 @@ %% } -type ipam_pool() :: #{binary() => any()}. +%% Example: +%% block_public_access_states() :: #{ +%% <<"InternetGatewayBlockMode">> => list(any()) +%% } +-type block_public_access_states() :: #{binary() => any()}. + %% Example: %% modify_vpn_connection_options_result() :: #{ %% <<"VpnConnection">> => vpn_connection() @@ -5905,6 +5944,16 @@ %% } -type fast_launch_launch_template_specification_request() :: #{binary() => any()}. +%% Example: +%% describe_vpc_block_public_access_exclusions_request() :: #{ +%% <<"DryRun">> => boolean(), +%% <<"ExclusionIds">> => list(string()()), +%% <<"Filters">> => list(filter()()), +%% <<"MaxResults">> => integer(), +%% <<"NextToken">> => string() +%% } +-type describe_vpc_block_public_access_exclusions_request() :: #{binary() => any()}. + %% Example: %% modify_network_interface_attribute_request() :: #{ %% <<"AssociatePublicIpAddress">> => boolean(), @@ -7519,6 +7568,12 @@ %% } -type accept_reserved_instances_exchange_quote_result() :: #{binary() => any()}. +%% Example: +%% delete_vpc_block_public_access_exclusion_result() :: #{ +%% <<"VpcBlockPublicAccessExclusion">> => vpc_block_public_access_exclusion() +%% } +-type delete_vpc_block_public_access_exclusion_result() :: #{binary() => any()}. + %% Example: %% spot_placement_score() :: #{ %% <<"AvailabilityZoneId">> => string(), @@ -7877,6 +7932,13 @@ %% } -type delete_launch_template_versions_response_success_item() :: #{binary() => any()}. +%% Example: +%% modify_vpc_block_public_access_options_request() :: #{ +%% <<"DryRun">> => boolean(), +%% <<"InternetGatewayBlockMode">> := list(any()) +%% } +-type modify_vpc_block_public_access_options_request() :: #{binary() => any()}. + %% Example: %% describe_network_interface_attribute_result() :: #{ %% <<"AssociatePublicIpAddress">> => boolean(), @@ -10515,6 +10577,20 @@ %% } -type disable_ipam_organization_admin_account_result() :: #{binary() => any()}. +%% Example: +%% vpc_block_public_access_exclusion() :: #{ +%% <<"CreationTimestamp">> => non_neg_integer(), +%% <<"DeletionTimestamp">> => non_neg_integer(), +%% <<"ExclusionId">> => string(), +%% <<"InternetGatewayExclusionMode">> => list(any()), +%% <<"LastUpdateTimestamp">> => non_neg_integer(), +%% <<"Reason">> => string(), +%% <<"ResourceArn">> => string(), +%% <<"State">> => list(any()), +%% <<"Tags">> => list(tag()()) +%% } +-type vpc_block_public_access_exclusion() :: #{binary() => any()}. + %% Example: %% launch_template_config() :: #{ %% <<"LaunchTemplateSpecification">> => fleet_launch_template_specification(), @@ -11399,6 +11475,14 @@ %% } -type assign_ipv6_addresses_result() :: #{binary() => any()}. +%% Example: +%% modify_vpc_block_public_access_exclusion_request() :: #{ +%% <<"DryRun">> => boolean(), +%% <<"ExclusionId">> := string(), +%% <<"InternetGatewayExclusionMode">> := list(any()) +%% } +-type modify_vpc_block_public_access_exclusion_request() :: #{binary() => any()}. + %% Example: %% get_coip_pool_usage_result() :: #{ %% <<"CoipAddressUsages">> => list(coip_address_usage()()), @@ -11442,6 +11526,12 @@ %% } -type get_launch_template_data_result() :: #{binary() => any()}. +%% Example: +%% describe_vpc_block_public_access_options_result() :: #{ +%% <<"VpcBlockPublicAccessOptions">> => vpc_block_public_access_options() +%% } +-type describe_vpc_block_public_access_options_result() :: #{binary() => any()}. + %% Example: %% image_recycle_bin_info() :: #{ %% <<"Description">> => string(), @@ -11585,6 +11675,13 @@ %% } -type associate_transit_gateway_policy_table_result() :: #{binary() => any()}. +%% Example: +%% describe_vpc_block_public_access_exclusions_result() :: #{ +%% <<"NextToken">> => string(), +%% <<"VpcBlockPublicAccessExclusions">> => list(vpc_block_public_access_exclusion()()) +%% } +-type describe_vpc_block_public_access_exclusions_result() :: #{binary() => any()}. + %% Example: %% allocate_hosts_result() :: #{ %% <<"HostIds">> => list(string()()) @@ -14433,6 +14530,17 @@ %% } -type target_group() :: #{binary() => any()}. +%% Example: +%% vpc_block_public_access_options() :: #{ +%% <<"AwsAccountId">> => string(), +%% <<"AwsRegion">> => string(), +%% <<"InternetGatewayBlockMode">> => list(any()), +%% <<"LastUpdateTimestamp">> => non_neg_integer(), +%% <<"Reason">> => string(), +%% <<"State">> => list(any()) +%% } +-type vpc_block_public_access_options() :: #{binary() => any()}. + %% Example: %% launch_template_hibernation_options_request() :: #{ %% <<"Configured">> => boolean() @@ -16207,6 +16315,12 @@ %% } -type network_insights_analysis() :: #{binary() => any()}. +%% Example: +%% create_vpc_block_public_access_exclusion_result() :: #{ +%% <<"VpcBlockPublicAccessExclusion">> => vpc_block_public_access_exclusion() +%% } +-type create_vpc_block_public_access_exclusion_result() :: #{binary() => any()}. + %% Example: %% describe_import_snapshot_tasks_request() :: #{ %% <<"DryRun">> => boolean(), @@ -18434,6 +18548,16 @@ %% } -type create_launch_template_result() :: #{binary() => any()}. +%% Example: +%% create_vpc_block_public_access_exclusion_request() :: #{ +%% <<"DryRun">> => boolean(), +%% <<"InternetGatewayExclusionMode">> := list(any()), +%% <<"SubnetId">> => string(), +%% <<"TagSpecifications">> => list(tag_specification()()), +%% <<"VpcId">> => string() +%% } +-type create_vpc_block_public_access_exclusion_request() :: #{binary() => any()}. + %% Example: %% disassociate_trunk_interface_result() :: #{ %% <<"ClientToken">> => string(), @@ -18763,6 +18887,12 @@ %% } -type associate_iam_instance_profile_result() :: #{binary() => any()}. +%% Example: +%% modify_vpc_block_public_access_exclusion_result() :: #{ +%% <<"VpcBlockPublicAccessExclusion">> => vpc_block_public_access_exclusion() +%% } +-type modify_vpc_block_public_access_exclusion_result() :: #{binary() => any()}. + %% Example: %% purchase() :: #{ %% <<"CurrencyCode">> => list(any()), @@ -19962,10 +20092,12 @@ authorize_security_group_ingress(Client, Input, Options) %% @doc Bundles an Amazon instance store-backed Windows instance. %% %% During bundling, only the root device volume (C:\) is bundled. Data on -%% other instance store volumes is not preserved. +%% other instance +%% store volumes is not preserved. %% %% This action is not applicable for Linux/Unix instances or Windows -%% instances that are backed by Amazon EBS. +%% instances that are +%% backed by Amazon EBS. -spec bundle_instance(aws_client:aws_client(), bundle_instance_request()) -> {ok, bundle_instance_result(), tuple()} | {error, any()}. @@ -20095,12 +20227,10 @@ cancel_export_task(Client, Input, Options) %% @doc Removes your Amazon Web Services account from the launch permissions %% for the specified AMI. %% -%% For more -%% information, see -%% Cancel having an AMI shared with your Amazon Web Services account: +%% For more information, see Cancel having an AMI shared with +%% your Amazon Web Services account: %% https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/cancel-sharing-an-AMI.html -%% in the -%% Amazon EC2 User Guide. +%% in the Amazon EC2 User Guide. -spec cancel_image_launch_permission(aws_client:aws_client(), cancel_image_launch_permission_request()) -> {ok, cancel_image_launch_permission_result(), tuple()} | {error, any()}. @@ -20248,20 +20378,21 @@ copy_fpga_image(Client, Input, Options) %% https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateStoreImageTask.html. %% %% When you copy an AMI from one Region to another, the destination Region is -%% the -%% current Region. +%% the current +%% Region. %% %% When you copy an AMI from a Region to an Outpost, specify the ARN of the -%% Outpost as -%% the destination. Backing snapshots copied to an Outpost are encrypted by -%% default using -%% the default encryption key for the Region or the key that you specify. -%% Outposts do not -%% support unencrypted snapshots. +%% Outpost as the +%% destination. Backing snapshots copied to an Outpost are encrypted by +%% default using the default +%% encryption key for the Region or the key that you specify. Outposts do not +%% support unencrypted +%% snapshots. %% %% For information about the prerequisites when copying an AMI, see Copy an %% AMI: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/CopyingAMIs.html -%% in the Amazon EC2 User Guide. +%% in the +%% Amazon EC2 User Guide. -spec copy_image(aws_client:aws_client(), copy_image_request()) -> {ok, copy_image_result(), tuple()} | {error, any()}. @@ -20786,13 +20917,16 @@ create_fpga_image(Client, Input, Options) request(Client, <<"CreateFpgaImage">>, Input, Options). %% @doc Creates an Amazon EBS-backed AMI from an Amazon EBS-backed instance -%% that is either running or stopped. +%% that is either running or +%% stopped. %% %% If you customized your instance with instance store volumes or Amazon EBS -%% volumes in addition to the root device volume, the -%% new AMI contains block device mapping information for those volumes. When -%% you launch an instance from this new AMI, -%% the instance automatically launches with those additional volumes. +%% volumes in addition +%% to the root device volume, the new AMI contains block device mapping +%% information for those +%% volumes. When you launch an instance from this new AMI, the instance +%% automatically launches +%% with those additional volumes. %% %% For more information, see Create an Amazon EBS-backed Linux %% AMI: @@ -21571,8 +21705,8 @@ create_reserved_instances_listing(Client, Input, Options) request(Client, <<"CreateReservedInstancesListing">>, Input, Options). %% @doc Starts a task that restores an AMI from an Amazon S3 object that was -%% previously created by using -%% CreateStoreImageTask: +%% previously created by +%% using CreateStoreImageTask: %% https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateStoreImageTask.html. %% %% To use this API, you must have the required permissions. For more @@ -22471,6 +22605,31 @@ create_vpc(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateVpc">>, Input, Options). +%% @doc Create a VPC Block Public Access (BPA) exclusion. +%% +%% A VPC BPA exclusion is a mode that can be applied to a single VPC or +%% subnet that exempts it from the account’s BPA mode and will allow +%% bidirectional or egress-only access. You can create BPA exclusions for +%% VPCs and subnets even when BPA is not enabled on the account to ensure +%% that there is no traffic disruption to the exclusions when VPC BPA is +%% turned on. To learn more about VPC BPA, see Block public access to VPCs +%% and subnets: +%% https://docs.aws.amazon.com/vpc/latest/userguide/security-vpc-bpa.html in +%% the Amazon VPC User Guide. +-spec create_vpc_block_public_access_exclusion(aws_client:aws_client(), create_vpc_block_public_access_exclusion_request()) -> + {ok, create_vpc_block_public_access_exclusion_result(), tuple()} | + {error, any()}. +create_vpc_block_public_access_exclusion(Client, Input) + when is_map(Client), is_map(Input) -> + create_vpc_block_public_access_exclusion(Client, Input, []). + +-spec create_vpc_block_public_access_exclusion(aws_client:aws_client(), create_vpc_block_public_access_exclusion_request(), proplists:proplist()) -> + {ok, create_vpc_block_public_access_exclusion_result(), tuple()} | + {error, any()}. +create_vpc_block_public_access_exclusion(Client, Input, Options) + when is_map(Client), is_map(Input), is_list(Options) -> + request(Client, <<"CreateVpcBlockPublicAccessExclusion">>, Input, Options). + %% @doc Creates a VPC endpoint. %% %% A VPC endpoint provides a private connection between the @@ -23951,6 +24110,31 @@ delete_vpc(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeleteVpc">>, Input, Options). +%% @doc Delete a VPC Block Public Access (BPA) exclusion. +%% +%% A VPC BPA exclusion is a mode that can be applied to a single VPC or +%% subnet that exempts it from the account’s BPA mode and will allow +%% bidirectional or egress-only access. You can create BPA exclusions for +%% VPCs and subnets even when BPA is not enabled on the account to ensure +%% that there is no traffic disruption to the exclusions when VPC BPA is +%% turned on. To learn more about VPC BPA, see Block public access to VPCs +%% and subnets: +%% https://docs.aws.amazon.com/vpc/latest/userguide/security-vpc-bpa.html in +%% the Amazon VPC User Guide. +-spec delete_vpc_block_public_access_exclusion(aws_client:aws_client(), delete_vpc_block_public_access_exclusion_request()) -> + {ok, delete_vpc_block_public_access_exclusion_result(), tuple()} | + {error, any()}. +delete_vpc_block_public_access_exclusion(Client, Input) + when is_map(Client), is_map(Input) -> + delete_vpc_block_public_access_exclusion(Client, Input, []). + +-spec delete_vpc_block_public_access_exclusion(aws_client:aws_client(), delete_vpc_block_public_access_exclusion_request(), proplists:proplist()) -> + {ok, delete_vpc_block_public_access_exclusion_result(), tuple()} | + {error, any()}. +delete_vpc_block_public_access_exclusion(Client, Input, Options) + when is_map(Client), is_map(Input), is_list(Options) -> + request(Client, <<"DeleteVpcBlockPublicAccessExclusion">>, Input, Options). + %% @doc Deletes the specified VPC endpoint connection notifications. -spec delete_vpc_endpoint_connection_notifications(aws_client:aws_client(), delete_vpc_endpoint_connection_notifications_request()) -> {ok, delete_vpc_endpoint_connection_notifications_result(), tuple()} | @@ -24199,29 +24383,29 @@ deprovision_public_ipv4_pool_cidr(Client, Input, Options) %% @doc Deregisters the specified AMI. %% -%% After you deregister an AMI, it can't be used to -%% launch new instances. +%% After you deregister an AMI, it can't be used to launch new +%% instances. %% %% If you deregister an AMI that matches a Recycle Bin retention rule, the -%% AMI is retained -%% in the Recycle Bin for the specified retention period. For more -%% information, see Recycle Bin: +%% AMI is retained in +%% the Recycle Bin for the specified retention period. For more information, +%% see Recycle Bin: %% https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/recycle-bin.html in %% the Amazon EC2 User Guide. %% %% When you deregister an AMI, it doesn't affect any instances that -%% you've already -%% launched from the AMI. You'll continue to incur usage costs for those -%% instances until -%% you terminate them. +%% you've already launched +%% from the AMI. You'll continue to incur usage costs for those instances +%% until you terminate +%% them. %% %% When you deregister an Amazon EBS-backed AMI, it doesn't affect the -%% snapshot that was -%% created for the root volume of the instance during the AMI creation -%% process. When you -%% deregister an instance store-backed AMI, it doesn't affect the files -%% that you uploaded -%% to Amazon S3 when you created the AMI. +%% snapshot that was created +%% for the root volume of the instance during the AMI creation process. When +%% you deregister an +%% instance store-backed AMI, it doesn't affect the files that you +%% uploaded to Amazon S3 when you +%% created the AMI. -spec deregister_image(aws_client:aws_client(), deregister_image_request()) -> {ok, undefined, tuple()} | {error, any()}. @@ -24482,13 +24666,15 @@ describe_aws_network_performance_metric_subscriptions(Client, Input, Options) %% @doc Describes the specified bundle tasks or all of your bundle tasks. %% %% Completed bundle tasks are listed for only a limited time. If your bundle -%% task is no longer in the list, you can still register an AMI from it. Just -%% use `RegisterImage' with the Amazon S3 bucket name and image manifest -%% name you provided to the bundle task. +%% task is no +%% longer in the list, you can still register an AMI from it. Just use +%% `RegisterImage' with the Amazon S3 bucket name and image manifest name +%% you provided +%% to the bundle task. %% %% The order of the elements in the response, including those within nested -%% structures, might vary. Applications should not assume the elements appear -%% in a +%% structures, +%% might vary. Applications should not assume the elements appear in a %% particular order. -spec describe_bundle_tasks(aws_client:aws_client(), describe_bundle_tasks_request()) -> {ok, describe_bundle_tasks_result(), tuple()} | @@ -25201,11 +25387,12 @@ describe_identity_id_format(Client, Input, Options) %% @doc Describes the specified attribute of the specified AMI. %% -%% You can specify only one attribute at a time. +%% You can specify only one attribute +%% at a time. %% %% The order of the elements in the response, including those within nested -%% structures, might vary. Applications should not assume the elements appear -%% in a +%% structures, +%% might vary. Applications should not assume the elements appear in a %% particular order. -spec describe_image_attribute(aws_client:aws_client(), describe_image_attribute_request()) -> {ok, image_attribute(), tuple()} | @@ -25222,11 +25409,13 @@ describe_image_attribute(Client, Input, Options) request(Client, <<"DescribeImageAttribute">>, Input, Options). %% @doc Describes the specified images (AMIs, AKIs, and ARIs) available to -%% you or all of the images available to you. +%% you or all of the +%% images available to you. %% %% The images available to you include public images, private images that you -%% own, and private images owned by other -%% Amazon Web Services accounts for which you have explicit launch +%% own, and +%% private images owned by other Amazon Web Services accounts for which you +%% have explicit launch %% permissions. %% %% Recently deregistered images appear in the returned results for a short @@ -25242,8 +25431,8 @@ describe_image_attribute(Client, Input, Options) %% susceptible to throttling and timeouts. %% %% The order of the elements in the response, including those within nested -%% structures, might vary. Applications should not assume the elements appear -%% in a +%% structures, +%% might vary. Applications should not assume the elements appear in a %% particular order. -spec describe_images(aws_client:aws_client(), describe_images_request()) -> {ok, describe_images_result(), tuple()} | @@ -27527,6 +27716,53 @@ describe_vpc_attribute(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeVpcAttribute">>, Input, Options). +%% @doc Describe VPC Block Public Access (BPA) exclusions. +%% +%% A VPC BPA exclusion is a mode that can be applied to a single VPC or +%% subnet that exempts it from the account’s BPA mode and will allow +%% bidirectional or egress-only access. You can create BPA exclusions for +%% VPCs and subnets even when BPA is not enabled on the account to ensure +%% that there is no traffic disruption to the exclusions when VPC BPA is +%% turned on. To learn more about VPC BPA, see Block public access to VPCs +%% and subnets: +%% https://docs.aws.amazon.com/vpc/latest/userguide/security-vpc-bpa.html in +%% the Amazon VPC User Guide. +-spec describe_vpc_block_public_access_exclusions(aws_client:aws_client(), describe_vpc_block_public_access_exclusions_request()) -> + {ok, describe_vpc_block_public_access_exclusions_result(), tuple()} | + {error, any()}. +describe_vpc_block_public_access_exclusions(Client, Input) + when is_map(Client), is_map(Input) -> + describe_vpc_block_public_access_exclusions(Client, Input, []). + +-spec describe_vpc_block_public_access_exclusions(aws_client:aws_client(), describe_vpc_block_public_access_exclusions_request(), proplists:proplist()) -> + {ok, describe_vpc_block_public_access_exclusions_result(), tuple()} | + {error, any()}. +describe_vpc_block_public_access_exclusions(Client, Input, Options) + when is_map(Client), is_map(Input), is_list(Options) -> + request(Client, <<"DescribeVpcBlockPublicAccessExclusions">>, Input, Options). + +%% @doc Describe VPC Block Public Access (BPA) options. +%% +%% VPC Block public Access (BPA) enables you to block resources in VPCs and +%% subnets that you own in a Region from reaching or being reached from the +%% internet through internet gateways and egress-only internet gateways. To +%% learn more about VPC BPA, see Block public access to VPCs and subnets: +%% https://docs.aws.amazon.com/vpc/latest/userguide/security-vpc-bpa.html in +%% the Amazon VPC User Guide. +-spec describe_vpc_block_public_access_options(aws_client:aws_client(), describe_vpc_block_public_access_options_request()) -> + {ok, describe_vpc_block_public_access_options_result(), tuple()} | + {error, any()}. +describe_vpc_block_public_access_options(Client, Input) + when is_map(Client), is_map(Input) -> + describe_vpc_block_public_access_options(Client, Input, []). + +-spec describe_vpc_block_public_access_options(aws_client:aws_client(), describe_vpc_block_public_access_options_request(), proplists:proplist()) -> + {ok, describe_vpc_block_public_access_options_result(), tuple()} | + {error, any()}. +describe_vpc_block_public_access_options(Client, Input, Options) + when is_map(Client), is_map(Input), is_list(Options) -> + request(Client, <<"DescribeVpcBlockPublicAccessOptions">>, Input, Options). + %% @doc %% This action is deprecated. %% @@ -27972,15 +28208,18 @@ disable_ebs_encryption_by_default(Client, Input, Options) request(Client, <<"DisableEbsEncryptionByDefault">>, Input, Options). %% @doc Discontinue Windows fast launch for a Windows AMI, and clean up -%% existing pre-provisioned snapshots. +%% existing pre-provisioned +%% snapshots. %% %% After you disable Windows fast launch, the AMI uses the standard launch -%% process for each -%% new instance. Amazon EC2 must remove all pre-provisioned snapshots before -%% you can enable Windows fast launch again. +%% process for +%% each new instance. Amazon EC2 must remove all pre-provisioned snapshots +%% before you can enable +%% Windows fast launch again. %% %% You can only change these settings for Windows AMIs that you own or that -%% have been shared with you. +%% have been +%% shared with you. -spec disable_fast_launch(aws_client:aws_client(), disable_fast_launch_request()) -> {ok, disable_fast_launch_result(), tuple()} | {error, any()}. @@ -28068,10 +28307,10 @@ disable_image(Client, Input, Options) %% response %% will be `unblocked'. %% -%% For more information, see Block public access to your AMIs: +%% For more information, see Block +%% public access to your AMIs: %% https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/sharingamis-intro.html#block-public-access-to-amis -%% in -%% the Amazon EC2 User Guide. +%% in the Amazon EC2 User Guide. -spec disable_image_block_public_access(aws_client:aws_client(), disable_image_block_public_access_request()) -> {ok, disable_image_block_public_access_result(), tuple()} | {error, any()}. @@ -28729,20 +28968,21 @@ enable_ebs_encryption_by_default(Client, Input, Options) request(Client, <<"EnableEbsEncryptionByDefault">>, Input, Options). %% @doc When you enable Windows fast launch for a Windows AMI, images are -%% pre-provisioned, -%% using snapshots to launch instances up to 65% faster. -%% -%% To create the optimized Windows -%% image, Amazon EC2 launches an instance and runs through Sysprep steps, -%% rebooting as required. -%% Then it creates a set of reserved snapshots that are used for subsequent -%% launches. The -%% reserved snapshots are automatically replenished as they are used, -%% depending on your -%% settings for launch frequency. +%% pre-provisioned, using +%% snapshots to launch instances up to 65% faster. +%% +%% To create the optimized Windows image, Amazon EC2 +%% launches an instance and runs through Sysprep steps, rebooting as +%% required. Then it creates a +%% set of reserved snapshots that are used for subsequent launches. The +%% reserved snapshots are +%% automatically replenished as they are used, depending on your settings for +%% launch +%% frequency. %% %% You can only change these settings for Windows AMIs that you own or that -%% have been shared with you. +%% have been +%% shared with you. -spec enable_fast_launch(aws_client:aws_client(), enable_fast_launch_request()) -> {ok, enable_fast_launch_result(), tuple()} | {error, any()}. @@ -28852,7 +29092,8 @@ enable_image_block_public_access(Client, Input, Options) %% %% For more information, see Deprecate an AMI: %% https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ami-deprecate.html in -%% the Amazon EC2 User Guide. +%% the +%% Amazon EC2 User Guide. -spec enable_image_deprecation(aws_client:aws_client(), enable_image_deprecation_request()) -> {ok, enable_image_deprecation_result(), tuple()} | {error, any()}. @@ -30381,8 +30622,8 @@ import_volume(Client, Input, Options) %% @doc Lists one or more AMIs that are currently in the Recycle Bin. %% -%% For more information, -%% see Recycle +%% For more information, see +%% Recycle %% Bin: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/recycle-bin.html %% in the Amazon EC2 User Guide. -spec list_images_in_recycle_bin(aws_client:aws_client(), list_images_in_recycle_bin_request()) -> @@ -30838,18 +31079,20 @@ modify_identity_id_format(Client, Input, Options) %% @doc Modifies the specified attribute of the specified AMI. %% -%% You can specify only one attribute at a time. +%% You can specify only one attribute +%% at a time. %% %% To specify the attribute, you can use the `Attribute' parameter, or -%% one of the following parameters: -%% `Description', `ImdsSupport', or `LaunchPermission'. +%% one of the +%% following parameters: `Description', `ImdsSupport', or +%% `LaunchPermission'. %% %% Images with an Amazon Web Services Marketplace product code cannot be made %% public. %% %% To enable the SriovNetSupport enhanced networking attribute of an image, -%% enable SriovNetSupport on an instance -%% and create an AMI from the instance. +%% enable +%% SriovNetSupport on an instance and create an AMI from the instance. -spec modify_image_attribute(aws_client:aws_client(), modify_image_attribute_request()) -> {ok, undefined, tuple()} | {error, any()}. @@ -31839,6 +32082,50 @@ modify_vpc_attribute(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ModifyVpcAttribute">>, Input, Options). +%% @doc Modify VPC Block Public Access (BPA) exclusions. +%% +%% A VPC BPA exclusion is a mode that can be applied to a single VPC or +%% subnet that exempts it from the account’s BPA mode and will allow +%% bidirectional or egress-only access. You can create BPA exclusions for +%% VPCs and subnets even when BPA is not enabled on the account to ensure +%% that there is no traffic disruption to the exclusions when VPC BPA is +%% turned on. +-spec modify_vpc_block_public_access_exclusion(aws_client:aws_client(), modify_vpc_block_public_access_exclusion_request()) -> + {ok, modify_vpc_block_public_access_exclusion_result(), tuple()} | + {error, any()}. +modify_vpc_block_public_access_exclusion(Client, Input) + when is_map(Client), is_map(Input) -> + modify_vpc_block_public_access_exclusion(Client, Input, []). + +-spec modify_vpc_block_public_access_exclusion(aws_client:aws_client(), modify_vpc_block_public_access_exclusion_request(), proplists:proplist()) -> + {ok, modify_vpc_block_public_access_exclusion_result(), tuple()} | + {error, any()}. +modify_vpc_block_public_access_exclusion(Client, Input, Options) + when is_map(Client), is_map(Input), is_list(Options) -> + request(Client, <<"ModifyVpcBlockPublicAccessExclusion">>, Input, Options). + +%% @doc Modify VPC Block Public Access (BPA) options. +%% +%% VPC Block public Access (BPA) enables you to block resources in VPCs and +%% subnets that you own in a Region from reaching or being reached from the +%% internet through internet gateways and egress-only internet gateways. To +%% learn more about VPC BPA, see Block public access to VPCs and subnets: +%% https://docs.aws.amazon.com/vpc/latest/userguide/security-vpc-bpa.html in +%% the Amazon VPC User Guide. +-spec modify_vpc_block_public_access_options(aws_client:aws_client(), modify_vpc_block_public_access_options_request()) -> + {ok, modify_vpc_block_public_access_options_result(), tuple()} | + {error, any()}. +modify_vpc_block_public_access_options(Client, Input) + when is_map(Client), is_map(Input) -> + modify_vpc_block_public_access_options(Client, Input, []). + +-spec modify_vpc_block_public_access_options(aws_client:aws_client(), modify_vpc_block_public_access_options_request(), proplists:proplist()) -> + {ok, modify_vpc_block_public_access_options_result(), tuple()} | + {error, any()}. +modify_vpc_block_public_access_options(Client, Input, Options) + when is_map(Client), is_map(Input), is_list(Options) -> + request(Client, <<"ModifyVpcBlockPublicAccessOptions">>, Input, Options). + %% @doc Modifies attributes of a specified VPC endpoint. %% %% The attributes that you can modify @@ -32522,14 +32809,14 @@ reboot_instances(Client, Input, Options) %% Register a snapshot of a root device volume %% %% You can use `RegisterImage' to create an Amazon EBS-backed Linux AMI -%% from -%% a snapshot of a root device volume. You specify the snapshot using a block -%% device mapping. -%% You can't set the encryption state of the volume using the block -%% device mapping. If the -%% snapshot is encrypted, or encryption by default is enabled, the root -%% volume of an instance -%% launched from the AMI is encrypted. +%% from a snapshot +%% of a root device volume. You specify the snapshot using a block device +%% mapping. You can't set +%% the encryption state of the volume using the block device mapping. If the +%% snapshot is +%% encrypted, or encryption by default is enabled, the root volume of an +%% instance launched from +%% the AMI is encrypted. %% %% For more information, see Create an AMI from a snapshot: %% https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami-ebs.html#creating-launching-ami-from-snapshot @@ -32541,8 +32828,7 @@ reboot_instances(Client, Input, Options) %% Amazon Web Services Marketplace product codes %% %% If any snapshots have Amazon Web Services Marketplace product codes, they -%% are copied to the new -%% AMI. +%% are copied to the new AMI. %% %% In most cases, AMIs for Windows, RedHat, SUSE, and SQL Server require %% correct licensing diff --git a/src/aws_ecs.erl b/src/aws_ecs.erl index f29ac4f7..6ebed680 100644 --- a/src/aws_ecs.erl +++ b/src/aws_ecs.erl @@ -994,6 +994,7 @@ %% <<"restartPolicy">> => container_restart_policy(), %% <<"systemControls">> => list(system_control()()), %% <<"workingDirectory">> => string(), +%% <<"versionConsistency">> => list(any()), %% <<"startTimeout">> => integer(), %% <<"credentialSpecs">> => list(string()()), %% <<"repositoryCredentials">> => repository_credentials(), diff --git a/src/aws_efs.erl b/src/aws_efs.erl index 0dca0ae4..3416d0de 100644 --- a/src/aws_efs.erl +++ b/src/aws_efs.erl @@ -284,7 +284,8 @@ %% <<"AvailabilityZoneName">> => string(), %% <<"FileSystemId">> => string(), %% <<"KmsKeyId">> => string(), -%% <<"Region">> => string() +%% <<"Region">> => string(), +%% <<"RoleArn">> => string() %% } -type destination_to_create() :: #{binary() => any()}. @@ -316,9 +317,12 @@ %% } -type create_access_point_request() :: #{binary() => any()}. + %% Example: -%% delete_replication_configuration_request() :: #{} --type delete_replication_configuration_request() :: #{}. +%% delete_replication_configuration_request() :: #{ +%% <<"DeletionMode">> => list(any()) +%% } +-type delete_replication_configuration_request() :: #{binary() => any()}. %% Example: @@ -579,6 +583,7 @@ %% <<"OriginalSourceFileSystemArn">> => string(), %% <<"SourceFileSystemArn">> => string(), %% <<"SourceFileSystemId">> => string(), +%% <<"SourceFileSystemOwnerId">> => string(), %% <<"SourceFileSystemRegion">> => string() %% } -type replication_configuration_description() :: #{binary() => any()}. @@ -703,8 +708,11 @@ %% destination() :: #{ %% <<"FileSystemId">> => string(), %% <<"LastReplicatedTimestamp">> => non_neg_integer(), +%% <<"OwnerId">> => string(), %% <<"Region">> => string(), -%% <<"Status">> => list(any()) +%% <<"RoleArn">> => string(), +%% <<"Status">> => list(any()), +%% <<"StatusMessage">> => string() %% } -type destination() :: #{binary() => any()}. @@ -1174,26 +1182,24 @@ create_access_point(Client, Input0, Options0) -> %% %% This operation accepts an optional `PerformanceMode' parameter that %% you choose -%% for your file system. We recommend `generalPurpose' performance mode -%% for all file -%% systems. File systems using the `maxIO' mode is a previous generation -%% performance type that is designed for highly parallelized workloads that -%% can tolerate higher latencies -%% than the General Purpose mode. Max I/O mode is not supported for One Zone -%% file systems or +%% for your file system. We recommend `generalPurpose' +%% `PerformanceMode' for all file +%% systems. The `maxIO' mode is a previous generation performance type +%% that is designed for highly parallelized workloads that can tolerate +%% higher latencies +%% than the `generalPurpose' mode. `MaxIO' mode is not supported for +%% One Zone file systems or %% file systems that use Elastic throughput. %% -%% Due to the higher per-operation latencies with Max I/O, we recommend using -%% General Purpose performance mode for all file systems. -%% -%% The performance mode can't be changed after -%% the file system has been created. For more information, see Amazon EFS -%% performance +%% The `PerformanceMode' can't be changed after the file system has +%% been +%% created. For more information, see Amazon EFS performance %% modes: %% https://docs.aws.amazon.com/efs/latest/ug/performance.html#performancemodes.html. %% %% You can set the throughput mode for the file system using the -%% `ThroughputMode' parameter. +%% `ThroughputMode' +%% parameter. %% %% After the file system is fully created, Amazon EFS sets its lifecycle %% state to @@ -1429,96 +1435,38 @@ create_mount_target(Client, Input0, Options0) -> request(Client, Method, Path, Query_, CustomHeaders ++ Headers, Input, Options, SuccessStatusCode). -%% @doc Creates a replication configuration that replicates an existing EFS -%% file system -%% to a new, read-only file system. +%% @doc Creates a replication configuration to either a new or existing EFS +%% file system. %% %% For more information, see Amazon EFS replication: %% https://docs.aws.amazon.com/efs/latest/ug/efs-replication.html in the -%% Amazon EFS User Guide. The replication configuration -%% specifies the following: -%% -%% Source file system – The EFS file system that -%% you want replicated. The source file system cannot be a destination file -%% system in an -%% existing replication configuration. -%% -%% Amazon Web Services Region – The Amazon Web Services Region in which the -%% destination file system is created. Amazon EFS -%% replication is available in all Amazon Web Services Regions in which EFS -%% is available. The -%% Region must be enabled. For more information, see Managing Amazon Web -%% Services Regions: -%% https://docs.aws.amazon.com/general/latest/gr/rande-manage.html#rande-manage-enable -%% in the Amazon Web Services General Reference -%% Reference Guide. -%% -%% Destination file system configuration – The -%% configuration of the destination file system to which the source file -%% system will be -%% replicated. There can only be one destination file system in a replication -%% configuration. -%% -%% Parameters for the replication configuration include: -%% -%% File system ID – The ID of the destination -%% file system for the replication. If no ID is provided, then EFS creates a -%% new file -%% system with the default settings. For existing file systems, the file -%% system's -%% replication overwrite protection must be disabled. For more information, -%% see Replicating to -%% an existing file system: -%% https://docs.aws.amazon.com/efs/latest/ug/efs-replication#replicate-existing-destination. -%% -%% Availability Zone – If you want the destination file -%% system to use One Zone storage, you must specify the Availability Zone to -%% create the -%% file system in. For more information, see -%% EFS file system types: -%% https://docs.aws.amazon.com/efs/latest/ug/storage-classes.html in the %% Amazon EFS User -%% Guide. -%% -%% Encryption – All destination file systems are created -%% with encryption at rest enabled. You can specify the Key Management -%% Service (KMS) key that is used to encrypt the destination file system. If -%% you don't -%% specify a KMS key, your service-managed KMS key for -%% Amazon EFS is used. -%% -%% After the file system is created, you cannot change the KMS key. -%% -%% After the file system is created, you cannot change the KMS key. +%% Guide. The replication configuration specifies the following: %% -%% For new destination file systems, the following properties are set by -%% default: +%% Source file system – The EFS file +%% system that you want to replicate. %% -%% Performance mode - The destination file system's -%% performance mode matches that of the source file system, unless the -%% destination file -%% system uses EFS One Zone storage. In that case, the General Purpose -%% performance mode is -%% used. The performance mode cannot be changed. +%% Destination file system – The destination file +%% system to which the source file system is replicated. There can only be +%% one destination +%% file system in a replication configuration. %% -%% Throughput mode - The destination file system's -%% throughput mode matches that of the source file system. After the file -%% system is created, -%% you can modify the throughput mode. +%% A file system can be part of only one replication configuration. %% -%% Lifecycle management – Lifecycle management is not enabled -%% on the destination file system. After the destination file system is -%% created, you can -%% enable lifecycle management. +%% The destination parameters for the replication configuration depend on +%% whether you are replicating to a new file system or to an existing file +%% system, and if you +%% are replicating across Amazon Web Services accounts. See +%% `DestinationToCreate' for more information. %% -%% Automatic backups – Automatic daily backups are enabled on -%% the destination file system. After the file system is created, you can -%% change this -%% setting. -%% -%% For more information, see Amazon EFS replication: -%% https://docs.aws.amazon.com/efs/latest/ug/efs-replication.html in the -%% Amazon EFS User Guide. +%% This operation requires permissions for the +%% `elasticfilesystem:CreateReplicationConfiguration' +%% action. Additionally, other permissions are required depending on how you +%% are replicating file systems. +%% For more information, see Required permissions for replication: +%% https://docs.aws.amazon.com/efs/latest/ug/efs-replication.html#efs-replication-permissions +%% in the Amazon EFS User +%% Guide. -spec create_replication_configuration(aws_client:aws_client(), binary() | list(), create_replication_configuration_request()) -> {ok, replication_configuration_description(), tuple()} | {error, any()} | @@ -1658,7 +1606,7 @@ delete_access_point(Client, AccessPointId, Input0, Options0) -> %% Web Services console %% to delete a file system. %% -%% You cannot delete a file system that is part of an EFS Replication +%% You cannot delete a file system that is part of an EFS replication %% configuration. %% You need to delete the replication configuration first. %% @@ -1860,9 +1808,10 @@ delete_replication_configuration(Client, SourceFileSystemId, Input0, Options0) - CustomHeaders = [], Input2 = Input1, - Query_ = [], - Input = Input2, - + QueryMapping = [ + {<<"deletionMode">>, <<"DeletionMode">>} + ], + {Query_, Input} = aws_request:build_headers(QueryMapping, Input2), request(Client, Method, Path, Query_, CustomHeaders ++ Headers, Input, Options, SuccessStatusCode). %% @doc @@ -2174,8 +2123,8 @@ describe_file_systems(Client, QueryMap, HeadersMap, Options0) %% specified Amazon %% EFS file system. %% -%% Lifecycle management uses the `LifecycleConfiguration' object -%% to identify when to move files between storage classes. For a file system +%% Lifecycle management uses the `LifecycleConfiguration' object to +%% identify when to move files between storage classes. For a file system %% without a %% `LifecycleConfiguration' object, the call returns an empty array in %% the @@ -2637,8 +2586,8 @@ put_backup_policy(Client, FileSystemId, Input0, Options0) -> %% character %% limit. When an explicit policy is set, it overrides the default policy. %% For more information -%% about the default file system policy, see Default EFS -%% File System Policy: +%% about the default file system policy, see +%% Default EFS file system policy: %% https://docs.aws.amazon.com/efs/latest/ug/iam-access-control-nfs-efs.html#default-filesystempolicy. %% %% EFS file system policies have a 20,000 character limit. @@ -2702,8 +2651,8 @@ put_file_system_policy(Client, FileSystemId, Input0, Options0) -> %% TransitionToIA. %% %% The Archive storage class is available only for file systems that use the -%% Elastic Throughput mode -%% and the General Purpose Performance mode. +%% Elastic throughput mode +%% and the General Purpose performance mode. %% %% `TransitionToPrimaryStorageClass' %% – @@ -2728,7 +2677,7 @@ put_file_system_policy(Client, FileSystemId, Input0, Options0) -> %% %% The ID for the file system for which you are enabling, disabling, or %% modifying -%% Lifecycle management. +%% lifecycle management. %% %% A `LifecyclePolicies' array of `LifecyclePolicy' objects that %% define when to move files to IA storage, to Archive storage, diff --git a/src/aws_glue.erl b/src/aws_glue.erl index ec51e6ae..51ee6a6c 100644 --- a/src/aws_glue.erl +++ b/src/aws_glue.erl @@ -1309,7 +1309,8 @@ %% <<"enabled">> => boolean(), %% <<"orphanFileDeletionConfiguration">> => orphan_file_deletion_configuration(), %% <<"retentionConfiguration">> => retention_configuration(), -%% <<"roleArn">> => string() +%% <<"roleArn">> => string(), +%% <<"vpcConfiguration">> => list() %% } -type table_optimizer_configuration() :: #{binary() => any()}. @@ -10137,8 +10138,6 @@ create_table(Client, Input, Options) request(Client, <<"CreateTable">>, Input, Options). %% @doc Creates a new table optimizer for a specific function. -%% -%% `compaction' is the only currently supported optimizer type. -spec create_table_optimizer(aws_client:aws_client(), create_table_optimizer_request()) -> {ok, create_table_optimizer_response(), tuple()} | {error, any()} | diff --git a/src/aws_keyspaces.erl b/src/aws_keyspaces.erl index 7a218a62..3cb7ac4e 100644 --- a/src/aws_keyspaces.erl +++ b/src/aws_keyspaces.erl @@ -75,6 +75,8 @@ tag_resource/3, untag_resource/2, untag_resource/3, + update_keyspace/2, + update_keyspace/3, update_table/2, update_table/3]). @@ -131,6 +133,12 @@ %% } -type update_table_request() :: #{binary() => any()}. +%% Example: +%% update_keyspace_response() :: #{ +%% <<"resourceArn">> => string() +%% } +-type update_keyspace_response() :: #{binary() => any()}. + %% Example: %% list_types_response() :: #{ %% <<"nextToken">> => string(), @@ -514,9 +522,18 @@ %% } -type get_keyspace_request() :: #{binary() => any()}. +%% Example: +%% update_keyspace_request() :: #{ +%% <<"clientSideTimestamps">> => client_side_timestamps(), +%% <<"keyspaceName">> := string(), +%% <<"replicationSpecification">> := replication_specification() +%% } +-type update_keyspace_request() :: #{binary() => any()}. + %% Example: %% get_keyspace_response() :: #{ %% <<"keyspaceName">> := string(), +%% <<"replicationGroupStatuses">> => list(replication_group_status()()), %% <<"replicationRegions">> => list(string()()), %% <<"replicationStrategy">> := string(), %% <<"resourceArn">> := string() @@ -530,6 +547,14 @@ %% } -type replica_auto_scaling_specification() :: #{binary() => any()}. +%% Example: +%% replication_group_status() :: #{ +%% <<"keyspaceStatus">> => string(), +%% <<"region">> => string(), +%% <<"tablesReplicationProgress">> => string() +%% } +-type replication_group_status() :: #{binary() => any()}. + %% Example: %% restore_table_response() :: #{ %% <<"restoredTableARN">> := string() @@ -727,6 +752,14 @@ resource_not_found_exception() | conflict_exception(). +-type update_keyspace_errors() :: + validation_exception() | + access_denied_exception() | + internal_server_exception() | + service_quota_exceeded_exception() | + resource_not_found_exception() | + conflict_exception(). + -type update_table_errors() :: validation_exception() | access_denied_exception() | @@ -806,6 +839,10 @@ create_table(Client, Input, Options) %% The `CreateType' operation creates a new user-defined type in the %% specified keyspace. %% +%% To configure the required permissions, see Permissions to create a UDT: +%% https://docs.aws.amazon.com/keyspaces/latest/devguide/configure-udt-permissions.html#udt-permissions-create +%% in the Amazon Keyspaces Developer Guide. +%% %% For more information, see User-defined types (UDTs): %% https://docs.aws.amazon.com/keyspaces/latest/devguide/udts.html in the %% Amazon Keyspaces Developer @@ -876,6 +913,10 @@ delete_table(Client, Input, Options) %% %% You can only delete a type that is not used in a table %% or another UDT. +%% +%% To configure the required permissions, see Permissions to delete a UDT: +%% https://docs.aws.amazon.com/keyspaces/latest/devguide/configure-udt-permissions.html#udt-permissions-drop +%% in the Amazon Keyspaces Developer Guide. -spec delete_type(aws_client:aws_client(), delete_type_request()) -> {ok, delete_type_response(), tuple()} | {error, any()} | @@ -892,8 +933,10 @@ delete_type(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeleteType">>, Input, Options). -%% @doc Returns the name and the Amazon Resource Name (ARN) of the specified -%% table. +%% @doc Returns the name of the specified keyspace, the Amazon Resource Name +%% (ARN), the replication strategy, the Amazon Web Services Regions of +%% a multi-Region keyspace, and the status of newly added Regions after an +%% `UpdateKeyspace' operation. -spec get_keyspace(aws_client:aws_client(), get_keyspace_request()) -> {ok, get_keyspace_response(), tuple()} | {error, any()} | @@ -983,7 +1026,10 @@ get_table_auto_scaling_settings(Client, Input, Options) %% %% To read keyspace metadata using `GetType', the %% IAM principal needs `Select' action -%% permissions for the system keyspace. +%% permissions for the system keyspace. To configure the required +%% permissions, see Permissions to view a UDT: +%% https://docs.aws.amazon.com/keyspaces/latest/devguide/configure-udt-permissions.html#udt-permissions-view +%% in the Amazon Keyspaces Developer Guide. -spec get_type(aws_client:aws_client(), get_type_request()) -> {ok, get_type_response(), tuple()} | {error, any()} | @@ -1067,7 +1113,10 @@ list_tags_for_resource(Client, Input, Options) %% %% To read keyspace metadata using `ListTypes', the %% IAM principal needs `Select' action -%% permissions for the system keyspace. +%% permissions for the system keyspace. To configure the required +%% permissions, see Permissions to view a UDT: +%% https://docs.aws.amazon.com/keyspaces/latest/devguide/configure-udt-permissions.html#udt-permissions-view +%% in the Amazon Keyspaces Developer Guide. -spec list_types(aws_client:aws_client(), list_types_request()) -> {ok, list_types_response(), tuple()} | {error, any()} | @@ -1203,6 +1252,41 @@ untag_resource(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"UntagResource">>, Input, Options). +%% @doc +%% Adds a new Amazon Web Services Region to the keyspace. +%% +%% You can add a new Region to a keyspace that is either a single or a +%% multi-Region keyspace. +%% The new replica Region is applied to all tables in the keyspace. For more +%% information, see Add an Amazon Web Services Region to a keyspace in Amazon +%% Keyspaces: +%% https://docs.aws.amazon.com/keyspaces/latest/devguide/keyspaces-multi-region-add-replica.html +%% in the Amazon Keyspaces Developer +%% Guide. +%% +%% To change a single-Region to a multi-Region keyspace, you have to enable +%% client-side timestamps +%% for all tables in the keyspace. For more information, see +%% Client-side timestamps in Amazon Keyspaces: +%% https://docs.aws.amazon.com/keyspaces/latest/devguide/client-side-timestamps.html +%% in the Amazon Keyspaces Developer +%% Guide. +-spec update_keyspace(aws_client:aws_client(), update_keyspace_request()) -> + {ok, update_keyspace_response(), tuple()} | + {error, any()} | + {error, update_keyspace_errors(), tuple()}. +update_keyspace(Client, Input) + when is_map(Client), is_map(Input) -> + update_keyspace(Client, Input, []). + +-spec update_keyspace(aws_client:aws_client(), update_keyspace_request(), proplists:proplist()) -> + {ok, update_keyspace_response(), tuple()} | + {error, any()} | + {error, update_keyspace_errors(), tuple()}. +update_keyspace(Client, Input, Options) + when is_map(Client), is_map(Input), is_list(Options) -> + request(Client, <<"UpdateKeyspace">>, Input, Options). + %% @doc Adds new columns to the table or updates one of the table's %% settings, for example %% capacity mode, auto scaling, encryption, point-in-time recovery, or ttl diff --git a/src/aws_taxsettings.erl b/src/aws_taxsettings.erl index d644d29f..6531e59b 100644 --- a/src/aws_taxsettings.erl +++ b/src/aws_taxsettings.erl @@ -21,22 +21,34 @@ -export([batch_delete_tax_registration/2, batch_delete_tax_registration/3, + batch_get_tax_exemptions/2, + batch_get_tax_exemptions/3, batch_put_tax_registration/2, batch_put_tax_registration/3, delete_supplemental_tax_registration/2, delete_supplemental_tax_registration/3, delete_tax_registration/2, delete_tax_registration/3, + get_tax_exemption_types/2, + get_tax_exemption_types/3, + get_tax_inheritance/2, + get_tax_inheritance/3, get_tax_registration/2, get_tax_registration/3, get_tax_registration_document/2, get_tax_registration_document/3, list_supplemental_tax_registrations/2, list_supplemental_tax_registrations/3, + list_tax_exemptions/2, + list_tax_exemptions/3, list_tax_registrations/2, list_tax_registrations/3, put_supplemental_tax_registration/2, put_supplemental_tax_registration/3, + put_tax_exemption/2, + put_tax_exemption/3, + put_tax_inheritance/2, + put_tax_inheritance/3, put_tax_registration/2, put_tax_registration/3]). @@ -46,7 +58,7 @@ %% Example: %% get_tax_registration_document_request() :: #{ -%% <<"destinationS3Location">> := destination_s3_location(), +%% <<"destinationS3Location">> => destination_s3_location(), %% <<"taxDocumentMetadata">> := tax_document_metadata() %% } -type get_tax_registration_document_request() :: #{binary() => any()}. @@ -76,6 +88,14 @@ -type batch_delete_tax_registration_response() :: #{binary() => any()}. +%% Example: +%% list_tax_exemptions_request() :: #{ +%% <<"maxResults">> => integer(), +%% <<"nextToken">> => string() +%% } +-type list_tax_exemptions_request() :: #{binary() => any()}. + + %% Example: %% additional_info_response() :: #{ %% <<"brazilAdditionalInfo">> => brazil_additional_info(), @@ -115,6 +135,13 @@ -type italy_additional_info() :: #{binary() => any()}. +%% Example: +%% attachment_upload_exception() :: #{ +%% <<"message">> => string() +%% } +-type attachment_upload_exception() :: #{binary() => any()}. + + %% Example: %% tax_inheritance_details() :: #{ %% <<"inheritanceObtainedReason">> => string(), @@ -123,6 +150,18 @@ -type tax_inheritance_details() :: #{binary() => any()}. +%% Example: +%% tax_exemption() :: #{ +%% <<"authority">> => authority(), +%% <<"effectiveDate">> => [non_neg_integer()], +%% <<"expirationDate">> => [non_neg_integer()], +%% <<"status">> => list(any()), +%% <<"systemEffectiveDate">> => [non_neg_integer()], +%% <<"taxExemptionType">> => tax_exemption_type() +%% } +-type tax_exemption() :: #{binary() => any()}. + + %% Example: %% malaysia_additional_info() :: #{ %% <<"businessRegistrationNumber">> => string(), @@ -146,6 +185,14 @@ -type get_tax_registration_response() :: #{binary() => any()}. +%% Example: +%% tax_registration_doc_file() :: #{ +%% <<"fileContent">> => binary(), +%% <<"fileName">> => string() +%% } +-type tax_registration_doc_file() :: #{binary() => any()}. + + %% Example: %% india_additional_info() :: #{ %% <<"pan">> => string() @@ -161,6 +208,14 @@ -type poland_additional_info() :: #{binary() => any()}. +%% Example: +%% batch_get_tax_exemptions_response() :: #{ +%% <<"failedAccounts">> => list(string()()), +%% <<"taxExemptionDetailsMap">> => map() +%% } +-type batch_get_tax_exemptions_response() :: #{binary() => any()}. + + %% Example: %% put_supplemental_tax_registration_request() :: #{ %% <<"taxRegistrationEntry">> := supplemental_tax_registration_entry() @@ -176,12 +231,23 @@ -type batch_put_tax_registration_request() :: #{binary() => any()}. +%% Example: +%% case_creation_limit_exceeded_exception() :: #{ +%% <<"message">> => string() +%% } +-type case_creation_limit_exceeded_exception() :: #{binary() => any()}. + + %% Example: %% delete_supplemental_tax_registration_request() :: #{ %% <<"authorityId">> := string() %% } -type delete_supplemental_tax_registration_request() :: #{binary() => any()}. +%% Example: +%% get_tax_exemption_types_request() :: #{} +-type get_tax_exemption_types_request() :: #{}. + %% Example: %% get_tax_registration_request() :: #{ @@ -190,6 +256,13 @@ -type get_tax_registration_request() :: #{binary() => any()}. +%% Example: +%% get_tax_inheritance_response() :: #{ +%% <<"heritageStatus">> => list(any()) +%% } +-type get_tax_inheritance_response() :: #{binary() => any()}. + + %% Example: %% romania_additional_info() :: #{ %% <<"taxRegistrationNumberType">> => list(any()) @@ -239,6 +312,30 @@ -type delete_tax_registration_response() :: #{}. +%% Example: +%% tax_exemption_type() :: #{ +%% <<"applicableJurisdictions">> => list(authority()()), +%% <<"description">> => string(), +%% <<"displayName">> => string() +%% } +-type tax_exemption_type() :: #{binary() => any()}. + + +%% Example: +%% authority() :: #{ +%% <<"country">> => string(), +%% <<"state">> => string() +%% } +-type authority() :: #{binary() => any()}. + + +%% Example: +%% get_tax_exemption_types_response() :: #{ +%% <<"taxExemptionTypes">> => list(tax_exemption_type()()) +%% } +-type get_tax_exemption_types_response() :: #{binary() => any()}. + + %% Example: %% batch_put_tax_registration_response() :: #{ %% <<"errors">> => list(batch_put_tax_registration_error()()), @@ -315,6 +412,18 @@ %% } -type georgia_additional_info() :: #{binary() => any()}. +%% Example: +%% put_tax_inheritance_response() :: #{} +-type put_tax_inheritance_response() :: #{}. + + +%% Example: +%% list_tax_exemptions_response() :: #{ +%% <<"nextToken">> => string(), +%% <<"taxExemptionDetailsMap">> => map() +%% } +-type list_tax_exemptions_response() :: #{binary() => any()}. + %% Example: %% account_details() :: #{ @@ -326,8 +435,16 @@ -type account_details() :: #{binary() => any()}. +%% Example: +%% put_tax_exemption_response() :: #{ +%% <<"caseId">> => string() +%% } +-type put_tax_exemption_response() :: #{binary() => any()}. + + %% Example: %% tax_registration_document() :: #{ +%% <<"file">> => tax_registration_doc_file(), %% <<"s3Location">> => source_s3_location() %% } -type tax_registration_document() :: #{binary() => any()}. @@ -444,6 +561,23 @@ -type tax_registration_entry() :: #{binary() => any()}. +%% Example: +%% put_tax_exemption_request() :: #{ +%% <<"accountIds">> := list(string()()), +%% <<"authority">> := authority(), +%% <<"exemptionCertificate">> := exemption_certificate(), +%% <<"exemptionType">> := string() +%% } +-type put_tax_exemption_request() :: #{binary() => any()}. + + +%% Example: +%% access_denied_exception() :: #{ +%% <<"message">> => string() +%% } +-type access_denied_exception() :: #{binary() => any()}. + + %% Example: %% list_supplemental_tax_registrations_request() :: #{ %% <<"maxResults">> => integer(), @@ -471,6 +605,16 @@ -type delete_supplemental_tax_registration_response() :: #{}. +%% Example: +%% tax_exemption_details() :: #{ +%% <<"heritageObtainedDetails">> => boolean(), +%% <<"heritageObtainedParentEntity">> => string(), +%% <<"heritageObtainedReason">> => string(), +%% <<"taxExemptions">> => list(tax_exemption()()) +%% } +-type tax_exemption_details() :: #{binary() => any()}. + + %% Example: %% validation_exception() :: #{ %% <<"errorCode">> => list(any()), @@ -487,6 +631,10 @@ %% } -type list_supplemental_tax_registrations_response() :: #{binary() => any()}. +%% Example: +%% get_tax_inheritance_request() :: #{} +-type get_tax_inheritance_request() :: #{}. + %% Example: %% batch_put_tax_registration_error() :: #{ @@ -497,6 +645,21 @@ -type batch_put_tax_registration_error() :: #{binary() => any()}. +%% Example: +%% put_tax_inheritance_request() :: #{ +%% <<"heritageStatus">> => list(any()) +%% } +-type put_tax_inheritance_request() :: #{binary() => any()}. + + +%% Example: +%% exemption_certificate() :: #{ +%% <<"documentFile">> => binary(), +%% <<"documentName">> => string() +%% } +-type exemption_certificate() :: #{binary() => any()}. + + %% Example: %% address() :: #{ %% <<"addressLine1">> => string(), @@ -539,6 +702,13 @@ -type jurisdiction() :: #{binary() => any()}. +%% Example: +%% batch_get_tax_exemptions_request() :: #{ +%% <<"accountIds">> := list(string()()) +%% } +-type batch_get_tax_exemptions_request() :: #{binary() => any()}. + + %% Example: %% account_meta_data() :: #{ %% <<"accountName">> => string(), @@ -566,7 +736,8 @@ %% Example: %% get_tax_registration_document_response() :: #{ -%% <<"destinationFilePath">> => string() +%% <<"destinationFilePath">> => string(), +%% <<"presignedS3Url">> => string() %% } -type get_tax_registration_document_response() :: #{binary() => any()}. @@ -575,6 +746,11 @@ internal_server_exception() | conflict_exception(). +-type batch_get_tax_exemptions_errors() :: + validation_exception() | + internal_server_exception() | + resource_not_found_exception(). + -type batch_put_tax_registration_errors() :: validation_exception() | internal_server_exception() | @@ -592,6 +768,16 @@ resource_not_found_exception() | conflict_exception(). +-type get_tax_exemption_types_errors() :: + validation_exception() | + internal_server_exception() | + resource_not_found_exception(). + +-type get_tax_inheritance_errors() :: + validation_exception() | + internal_server_exception() | + resource_not_found_exception(). + -type get_tax_registration_errors() :: validation_exception() | internal_server_exception() | @@ -606,6 +792,11 @@ internal_server_exception() | resource_not_found_exception(). +-type list_tax_exemptions_errors() :: + validation_exception() | + internal_server_exception() | + resource_not_found_exception(). + -type list_tax_registrations_errors() :: validation_exception() | internal_server_exception() | @@ -616,6 +807,20 @@ internal_server_exception() | conflict_exception(). +-type put_tax_exemption_errors() :: + validation_exception() | + access_denied_exception() | + internal_server_exception() | + resource_not_found_exception() | + case_creation_limit_exceeded_exception() | + attachment_upload_exception(). + +-type put_tax_inheritance_errors() :: + validation_exception() | + internal_server_exception() | + resource_not_found_exception() | + conflict_exception(). + -type put_tax_registration_errors() :: validation_exception() | internal_server_exception() | @@ -667,6 +872,40 @@ batch_delete_tax_registration(Client, Input0, Options0) -> request(Client, Method, Path, Query_, CustomHeaders ++ Headers, Input, Options, SuccessStatusCode). +%% @doc Get the active tax exemptions for a given list of accounts. +-spec batch_get_tax_exemptions(aws_client:aws_client(), batch_get_tax_exemptions_request()) -> + {ok, batch_get_tax_exemptions_response(), tuple()} | + {error, any()} | + {error, batch_get_tax_exemptions_errors(), tuple()}. +batch_get_tax_exemptions(Client, Input) -> + batch_get_tax_exemptions(Client, Input, []). + +-spec batch_get_tax_exemptions(aws_client:aws_client(), batch_get_tax_exemptions_request(), proplists:proplist()) -> + {ok, batch_get_tax_exemptions_response(), tuple()} | + {error, any()} | + {error, batch_get_tax_exemptions_errors(), tuple()}. +batch_get_tax_exemptions(Client, Input0, Options0) -> + Method = post, + Path = ["/BatchGetTaxExemptions"], + SuccessStatusCode = 200, + {SendBodyAsBinary, Options1} = proplists_take(send_body_as_binary, Options0, false), + {ReceiveBodyAsBinary, Options2} = proplists_take(receive_body_as_binary, Options1, false), + Options = [{send_body_as_binary, SendBodyAsBinary}, + {receive_body_as_binary, ReceiveBodyAsBinary}, + {append_sha256_content_hash, false} + | Options2], + + Headers = [], + Input1 = Input0, + + CustomHeaders = [], + Input2 = Input1, + + Query_ = [], + Input = Input2, + + request(Client, Method, Path, Query_, CustomHeaders ++ Headers, Input, Options, SuccessStatusCode). + %% @doc Adds or updates tax registration for multiple accounts in batch. %% %% This can be used to add @@ -927,6 +1166,74 @@ delete_tax_registration(Client, Input0, Options0) -> request(Client, Method, Path, Query_, CustomHeaders ++ Headers, Input, Options, SuccessStatusCode). +%% @doc Get supported tax exemption types. +-spec get_tax_exemption_types(aws_client:aws_client(), get_tax_exemption_types_request()) -> + {ok, get_tax_exemption_types_response(), tuple()} | + {error, any()} | + {error, get_tax_exemption_types_errors(), tuple()}. +get_tax_exemption_types(Client, Input) -> + get_tax_exemption_types(Client, Input, []). + +-spec get_tax_exemption_types(aws_client:aws_client(), get_tax_exemption_types_request(), proplists:proplist()) -> + {ok, get_tax_exemption_types_response(), tuple()} | + {error, any()} | + {error, get_tax_exemption_types_errors(), tuple()}. +get_tax_exemption_types(Client, Input0, Options0) -> + Method = post, + Path = ["/GetTaxExemptionTypes"], + SuccessStatusCode = 200, + {SendBodyAsBinary, Options1} = proplists_take(send_body_as_binary, Options0, false), + {ReceiveBodyAsBinary, Options2} = proplists_take(receive_body_as_binary, Options1, false), + Options = [{send_body_as_binary, SendBodyAsBinary}, + {receive_body_as_binary, ReceiveBodyAsBinary}, + {append_sha256_content_hash, false} + | Options2], + + Headers = [], + Input1 = Input0, + + CustomHeaders = [], + Input2 = Input1, + + Query_ = [], + Input = Input2, + + request(Client, Method, Path, Query_, CustomHeaders ++ Headers, Input, Options, SuccessStatusCode). + +%% @doc The get account tax inheritance status. +-spec get_tax_inheritance(aws_client:aws_client(), get_tax_inheritance_request()) -> + {ok, get_tax_inheritance_response(), tuple()} | + {error, any()} | + {error, get_tax_inheritance_errors(), tuple()}. +get_tax_inheritance(Client, Input) -> + get_tax_inheritance(Client, Input, []). + +-spec get_tax_inheritance(aws_client:aws_client(), get_tax_inheritance_request(), proplists:proplist()) -> + {ok, get_tax_inheritance_response(), tuple()} | + {error, any()} | + {error, get_tax_inheritance_errors(), tuple()}. +get_tax_inheritance(Client, Input0, Options0) -> + Method = post, + Path = ["/GetTaxInheritance"], + SuccessStatusCode = 200, + {SendBodyAsBinary, Options1} = proplists_take(send_body_as_binary, Options0, false), + {ReceiveBodyAsBinary, Options2} = proplists_take(receive_body_as_binary, Options1, false), + Options = [{send_body_as_binary, SendBodyAsBinary}, + {receive_body_as_binary, ReceiveBodyAsBinary}, + {append_sha256_content_hash, false} + | Options2], + + Headers = [], + Input1 = Input0, + + CustomHeaders = [], + Input2 = Input1, + + Query_ = [], + Input = Input2, + + request(Client, Method, Path, Query_, CustomHeaders ++ Headers, Input, Options, SuccessStatusCode). + %% @doc Retrieves tax registration for a single account. -spec get_tax_registration(aws_client:aws_client(), get_tax_registration_request()) -> {ok, get_tax_registration_response(), tuple()} | @@ -1032,6 +1339,41 @@ list_supplemental_tax_registrations(Client, Input0, Options0) -> request(Client, Method, Path, Query_, CustomHeaders ++ Headers, Input, Options, SuccessStatusCode). +%% @doc Retrieves the tax exemption of accounts listed in a consolidated +%% billing family. +-spec list_tax_exemptions(aws_client:aws_client(), list_tax_exemptions_request()) -> + {ok, list_tax_exemptions_response(), tuple()} | + {error, any()} | + {error, list_tax_exemptions_errors(), tuple()}. +list_tax_exemptions(Client, Input) -> + list_tax_exemptions(Client, Input, []). + +-spec list_tax_exemptions(aws_client:aws_client(), list_tax_exemptions_request(), proplists:proplist()) -> + {ok, list_tax_exemptions_response(), tuple()} | + {error, any()} | + {error, list_tax_exemptions_errors(), tuple()}. +list_tax_exemptions(Client, Input0, Options0) -> + Method = post, + Path = ["/ListTaxExemptions"], + SuccessStatusCode = 200, + {SendBodyAsBinary, Options1} = proplists_take(send_body_as_binary, Options0, false), + {ReceiveBodyAsBinary, Options2} = proplists_take(receive_body_as_binary, Options1, false), + Options = [{send_body_as_binary, SendBodyAsBinary}, + {receive_body_as_binary, ReceiveBodyAsBinary}, + {append_sha256_content_hash, false} + | Options2], + + Headers = [], + Input1 = Input0, + + CustomHeaders = [], + Input2 = Input1, + + Query_ = [], + Input = Input2, + + request(Client, Method, Path, Query_, CustomHeaders ++ Headers, Input, Options, SuccessStatusCode). + %% @doc Retrieves the tax registration of accounts listed in a consolidated %% billing family. %% @@ -1106,6 +1448,75 @@ put_supplemental_tax_registration(Client, Input0, Options0) -> request(Client, Method, Path, Query_, CustomHeaders ++ Headers, Input, Options, SuccessStatusCode). +%% @doc Adds the tax exemption for a single account or all accounts listed in +%% a consolidated billing family. +-spec put_tax_exemption(aws_client:aws_client(), put_tax_exemption_request()) -> + {ok, put_tax_exemption_response(), tuple()} | + {error, any()} | + {error, put_tax_exemption_errors(), tuple()}. +put_tax_exemption(Client, Input) -> + put_tax_exemption(Client, Input, []). + +-spec put_tax_exemption(aws_client:aws_client(), put_tax_exemption_request(), proplists:proplist()) -> + {ok, put_tax_exemption_response(), tuple()} | + {error, any()} | + {error, put_tax_exemption_errors(), tuple()}. +put_tax_exemption(Client, Input0, Options0) -> + Method = post, + Path = ["/PutTaxExemption"], + SuccessStatusCode = 200, + {SendBodyAsBinary, Options1} = proplists_take(send_body_as_binary, Options0, false), + {ReceiveBodyAsBinary, Options2} = proplists_take(receive_body_as_binary, Options1, false), + Options = [{send_body_as_binary, SendBodyAsBinary}, + {receive_body_as_binary, ReceiveBodyAsBinary}, + {append_sha256_content_hash, false} + | Options2], + + Headers = [], + Input1 = Input0, + + CustomHeaders = [], + Input2 = Input1, + + Query_ = [], + Input = Input2, + + request(Client, Method, Path, Query_, CustomHeaders ++ Headers, Input, Options, SuccessStatusCode). + +%% @doc The updated tax inheritance status. +-spec put_tax_inheritance(aws_client:aws_client(), put_tax_inheritance_request()) -> + {ok, put_tax_inheritance_response(), tuple()} | + {error, any()} | + {error, put_tax_inheritance_errors(), tuple()}. +put_tax_inheritance(Client, Input) -> + put_tax_inheritance(Client, Input, []). + +-spec put_tax_inheritance(aws_client:aws_client(), put_tax_inheritance_request(), proplists:proplist()) -> + {ok, put_tax_inheritance_response(), tuple()} | + {error, any()} | + {error, put_tax_inheritance_errors(), tuple()}. +put_tax_inheritance(Client, Input0, Options0) -> + Method = post, + Path = ["/PutTaxInheritance"], + SuccessStatusCode = 200, + {SendBodyAsBinary, Options1} = proplists_take(send_body_as_binary, Options0, false), + {ReceiveBodyAsBinary, Options2} = proplists_take(receive_body_as_binary, Options1, false), + Options = [{send_body_as_binary, SendBodyAsBinary}, + {receive_body_as_binary, ReceiveBodyAsBinary}, + {append_sha256_content_hash, false} + | Options2], + + Headers = [], + Input1 = Input0, + + CustomHeaders = [], + Input2 = Input1, + + Query_ = [], + Input = Input2, + + request(Client, Method, Path, Query_, CustomHeaders ++ Headers, Input, Options, SuccessStatusCode). + %% @doc Adds or updates tax registration for a single account. %% %% You can't set a TRN if there's a pending TRN. You'll need to diff --git a/src/aws_workspaces.erl b/src/aws_workspaces.erl index d5262b35..6c481a6a 100644 --- a/src/aws_workspaces.erl +++ b/src/aws_workspaces.erl @@ -3190,8 +3190,7 @@ create_workspace_image(Client, Input, Options) %% Core: http://aws.amazon.com/workspaces/core/. %% %% You don't need to specify the `PCOIP' protocol for Linux bundles -%% because `DCV' (formerly WSP) is the default protocol for those -%% bundles. +%% because `WSP' is the default protocol for those bundles. %% %% User-decoupled WorkSpaces are only supported by Amazon WorkSpaces %% Core.